Name: series-workflowvppnq Phase: Succeeded StartedAt: 2026-07-14 05:51:11 +0000 UTC FinishedAt: 2026-07-14 07:59:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[0] Phase: Succeeded StartedAt: 2026-07-14 05:51:11 +0000 UTC FinishedAt: 2026-07-14 06:10:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[0].run-triage Phase: Succeeded StartedAt: 2026-07-14 05:51:11 +0000 UTC FinishedAt: 2026-07-14 06:10:39 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OCTEONTX2_AF" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OCTEONTX2_AF" ], "series_id": "dc79afab-33df-46ba-ab7c-3fdbe7a0601c" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "rvu_mbox_handler_nix_rx_sw_sync" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09DVEVPTlRYMl9BRiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZjRlYWU2NDcxOWUxNmRmMzc0ZjA1ZjIyZDZhNjg4NDQzZTM3Zjk1ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVsIDE0IDA2OjA3OjQyIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxuaW5kZXggZjg3Y2RmMWI5NzFkYjEuLjkyMTc1ZGUwMzZkNWU4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmhcbkBAIC0zNjIsNiAmIzQzOzM2Miw3IEBAIE0oTklYX0NQVF9CUF9FTkFCTEUsICAgIDB4ODAyMCwgbml4X2NwdF9icF9lbmFibGUsIG5peF9icF9jZmdfcmVxLFx0ICAgIFxcXG4gXHRcdFx0XHRuaXhfYnBfY2ZnX3JzcClcdFx0XHRcdCAgICBcXFxuIE0oTklYX0NQVF9CUF9ESVNBQkxFLCAgIDB4ODAyMSwgbml4X2NwdF9icF9kaXNhYmxlLCBuaXhfYnBfY2ZnX3JlcSxcdCAgICBcXFxuIFx0XHRcdFx0bXNnX3JzcClcdFx0XHRcdFxcXG4mIzQzO00oTklYX1JYX1NXX1NZTkMsXHQweDgwMjIsIG5peF9yeF9zd19zeW5jLCBtc2dfcmVxLCBtc2dfcnNwKVx0XHRcXFxuIE0oTklYX1JFQURfSU5MSU5FX0lQU0VDX0NGRywgMHg4MDIzLCBuaXhfcmVhZF9pbmxpbmVfaXBzZWNfY2ZnLFx0XHRcXFxuIFx0XHRcdFx0bXNnX3JlcSwgbml4X2lubGluZV9pcHNlY19jZmcpXHRcdFxcXG4gTShOSVhfTUNBU1RfR1JQX0NSRUFURSxcdDB4ODAyYiwgbml4X21jYXN0X2dycF9jcmVhdGUsIG5peF9tY2FzdF9ncnBfY3JlYXRlX3JlcSxcdFxcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXG5pbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY1xuQEAgLTYzMjQsNiAmIzQzOzYzMjQsMTkgQEAgaW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JhbmRwcm9mX2dldF9od2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVcbiBcdHJldHVybiAwO1xuIH1cbiBcbiYjNDM7aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuJiM0MztcdFx0XHRcdCAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuJiM0Mzt7XG4mIzQzO1x0aW50IGJsa2FkZHI7XG4mIzQzO1xuJiM0MztcdGJsa2FkZHIgPSBydnVfZ2V0X2Jsa2FkZHIocnZ1LCBCTEtUWVBFX05JWCwgcmVxLVx1MDAzZWhkci5wY2lmdW5jKTtcbiYjNDM7XHRpZiAoYmxrYWRkciBcdTAwM2MgMClcbiYjNDM7XHRcdHJldHVybiBOSVhfQUZfRVJSX0FGX0xGX0lOVkFMSUQ7XG4mIzQzO1xuJiM0MztcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XG4mIzQzO1x0cmV0dXJuIDA7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHN0cnVjdCBuaXhfbWNhc3RfZ3JwX2VsZW0gKnJ2dV9uaXhfbWNhc3RfZmluZF9ncnBfZWxlbShzdHJ1Y3Qgbml4X21jYXN0X2dycCAqbWNhc3RfZ3JwLFxuIFx0XHRcdFx0XHRcdFx0ICAgICAgdTMyIG1jYXN0X2dycF9pZHgpXG4ge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjJtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09DVEVPTlRYMl9BRiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBmNGVhZTY0NzE5ZTE2ZGYzNzRmMDVmMjJkNmE2ODg0NDNlMzdmOTVmCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgMTQgMDY6MDc6NDIgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmgKaW5kZXggZjg3Y2RmMWI5NzFkYjEuLjkyMTc1ZGUwMzZkNWU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmgKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oCkBAIC0zNjIsNiAmIzQzOzM2Miw3IEBAIE0oTklYX0NQVF9CUF9FTkFCTEUsICAgIDB4ODAyMCwgbml4X2NwdF9icF9lbmFibGUsIG5peF9icF9jZmdfcmVxLAkgICAgXAogCQkJCW5peF9icF9jZmdfcnNwKQkJCQkgICAgXAogTShOSVhfQ1BUX0JQX0RJU0FCTEUsICAgMHg4MDIxLCBuaXhfY3B0X2JwX2Rpc2FibGUsIG5peF9icF9jZmdfcmVxLAkgICAgXAogCQkJCW1zZ19yc3ApCQkJCVwKJiM0MztNKE5JWF9SWF9TV19TWU5DLAkweDgwMjIsIG5peF9yeF9zd19zeW5jLCBtc2dfcmVxLCBtc2dfcnNwKQkJXAogTShOSVhfUkVBRF9JTkxJTkVfSVBTRUNfQ0ZHLCAweDgwMjMsIG5peF9yZWFkX2lubGluZV9pcHNlY19jZmcsCQlcCiAJCQkJbXNnX3JlcSwgbml4X2lubGluZV9pcHNlY19jZmcpCQlcCiBNKE5JWF9NQ0FTVF9HUlBfQ1JFQVRFLAkweDgwMmIsIG5peF9tY2FzdF9ncnBfY3JlYXRlLCBuaXhfbWNhc3RfZ3JwX2NyZWF0ZV9yZXEsCVwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYwppbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMKQEAgLTYzMjQsNiAmIzQzOzYzMjQsMTkgQEAgaW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JhbmRwcm9mX2dldF9od2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmUKIAlyZXR1cm4gMDsKIH0KIAomIzQzO2ludCBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSwKJiM0MzsJCQkJICAgIHN0cnVjdCBtc2dfcnNwICpyc3ApCiYjNDM7ewomIzQzOwlpbnQgYmxrYWRkcjsKJiM0MzsKJiM0MzsJYmxrYWRkciA9IHJ2dV9nZXRfYmxrYWRkcihydnUsIEJMS1RZUEVfTklYLCByZXEtJmd0O2hkci5wY2lmdW5jKTsKJiM0MzsJaWYgKGJsa2FkZHIgJmx0OyAwKQomIzQzOwkJcmV0dXJuIE5JWF9BRl9FUlJfQUZfTEZfSU5WQUxJRDsKJiM0MzsKJiM0MzsJbml4X3J4X3N5bmMocnZ1LCBibGthZGRyKTsKJiM0MzsJcmV0dXJuIDA7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCBuaXhfbWNhc3RfZ3JwX2VsZW0gKnJ2dV9uaXhfbWNhc3RfZmluZF9ncnBfZWxlbShzdHJ1Y3Qgbml4X21jYXN0X2dycCAqbWNhc3RfZ3JwLAogCQkJCQkJCSAgICAgIHUzMiBtY2FzdF9ncnBfaWR4KQogewo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNCAwNjowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNDMxCgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjAyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFBvdGVudGlhbGx5IFVucmVhY2hhYmxlIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHRoYXQgdG91Y2hlcyBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oYCBhbmQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY2AuIEl0IGxvb2tzIGxpa2UgaXQmIzM5O3MgYWRkaW5nIGEgbmV3IG1haWxib3ggbWVzc2FnZSwgYE5JWF9SWF9TV19TWU5DYCwgYW5kIGEgY29ycmVzcG9uZGluZyBoYW5kbGVyLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuIFNlZW1zIHN0cmFpZ2h0Zm9yd2FyZCBlbm91Z2gsIGJ1dCB0aGUgdGFyZ2V0IGhhcmR3YXJlIGlzIGEgTWFydmVsbCBPY3Rlb25UWDIuIFRoYXQgaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZyBmb3IgbWUuCgpNeSBpbW1lZGlhdGUgcXVlc3Rpb24gaXM6IElzIHRoaXMgY29kZSBldmVuICpyZWFjaGFibGUqIGluIGEgdHlwaWNhbCBmdXp6aW5nIGVudmlyb25tZW50LCBlc3BlY2lhbGx5IHVzaW5nIHNvbWV0aGluZyBsaWtlIHN5emthbGxlcj8gVGhlc2UgaGFyZHdhcmUtc3BlY2lmaWMgRXRoZXJuZXQgZHJpdmVycywgbGlrZSB0aGUgT2N0ZW9uVFgyLCBhcmUgZ2VuZXJhbGx5IG5vdCBhY2Nlc3NpYmxlIHVubGVzcyB0aGVyZSYjMzk7cyBlaXRoZXIgdmVyeSBzcGVjaWZpYyBzb2Z0d2FyZSBlbXVsYXRpb24gb3Igc29tZSBmb3JtIG9mIFBDSSBwYXNzdGhyb3VnaCBpbiBwbGFjZSwgYW5kIHN5emthbGxlciByYXJlbHkgaGFzIHRob3NlIHNldHVwcyByZWFkaWx5IGF2YWlsYWJsZSBmb3IgdGhpcyB0eXBlIG9mIGRldmljZS4KClRoZXJlZm9yZSwgdGhlIG5leHQgc3RlcCBpcyB0byBpbnZlc3RpZ2F0ZSBpZiBhbnkgT2N0ZW9uVFgyIHNvZnR3YXJlIGVtdWxhdGlvbiBleGlzdHMuIEkmIzM5O2xsIG5lZWQgdG8gZG8gYSBrZXJuZWwgc2VhcmNoIGZvciBgb2N0ZW9udHgyYCB0byBzZWUgaWYgYW55dGhpbmcganVtcHMgb3V0LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O29jdGVvbnR4MiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvS2NvbmZpZz0xNjk9Y29uZmlnIFNLWTJfREVCVUdcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL0tjb25maWctMTc5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9LY29uZmlnOjE4MDpzb3VyY2UgXCYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvS2NvbmZpZ1wmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9LY29uZmlnLTE4MS1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb25fZXAvS2NvbmZpZ1wmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGU9MTU9b2JqLXlcdFx0JiM0Mzs9IG9jdGVvbl9lcF92Zi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGU6MTY6b2JqLXlcdFx0JiM0Mzs9IG9jdGVvbnR4Mi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGUtMTctb2JqLXlcdFx0JiM0Mzs9IHByZXN0ZXJhL1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jOjI4OiNkZWZpbmUgREVCVUdGU19ESVJfTkFNRSBcJiMzNDtvY3Rlb250eDJcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYz00MDEzPXN0YXRpYyBjb25zdCBjaGFyICpydnVfZ2V0X2RiZ19kaXJfbmFtZShzdHJ1Y3QgcnZ1ICpydnUpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy00MDIwLVx0ZWxzZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzo0MDIxOlx0XHRyZXR1cm4gXCYjMzQ7b2N0ZW9udHgyXCYjMzQ7O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy00MDIyLX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGV2bGluay5jLTE1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYzoxNjojZGVmaW5lIERSVl9OQU1FIFwmIzM0O29jdGVvbnR4Mi1hZlwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYy0xNy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvTWFrZWZpbGU9MTg9cnZ1X25pY3BmLSQoQ09ORklHX1hGUk1fT0ZGTE9BRCkgJiM0Mzs9IGNuMTBrX2lwc2VjLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZS0xOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZToyMDpjY2ZsYWdzLXkgJiM0Mzs9IC1JJChzcmN0cmVlKS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9vdHgyX2NvbW1vbi5oLTE3LSNpbmNsdWRlIFx1MDAzY2xpbnV4L3NvYy9tYXJ2ZWxsL3NpbGljb25zLmhcdTAwM2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9vdHgyX2NvbW1vbi5oOjE4OiNpbmNsdWRlIFx1MDAzY2xpbnV4L3NvYy9tYXJ2ZWxsL29jdGVvbnR4Mi9hc20uaFx1MDAzZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL290eDJfY29tbW9uLmgtMTktI2luY2x1ZGUgXHUwMDNjbmV0L21hY3NlYy5oXHUwMDNlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL3Fvcy5jPTExMTU9c3RhdGljIGludCBvdHgyX3Fvc192YWxpZGF0ZV9xdWFudHVtKHN0cnVjdCBvdHgyX25pYyAqcGZ2ZiwgdTMyIHF1YW50dW0pXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL3Fvcy5jLTExMTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvcW9zLmM6MTEyMDpcdC8qIE1heCBSb3VuZCByb2JpbiB3ZWlnaHQgc3VwcG9ydGVkIGJ5IG9jdGVvbnR4MiBhbmQgQ04xMEtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9xb3MuYy0xMTIxLVx0ICogaXMgZGlmZmVyZW50LiBWYWxpZGF0ZSBhY2NvcmRpbmdseVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM3NTgKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiAxMDQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBOZXcgTWFpbGJveCBIYW5kbGVyKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIsIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCwgYW5kIGl0JiMzOTtzIG5lc3RsZWQgZGVlcCB3aXRoaW4gdGhlIE1hcnZlbGwgT2N0ZW9uVFgyIEFGIGRyaXZlciwgc3BlY2lmaWNhbGx5IGluIGBydnVfbml4LmNgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZmlndXJlIG91dCB0aGUgZW5hYmxpbmcgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBmZWF0dXJlLiBXZSBuZWVkIHRvIGNoZWNrIHRoZSBgS2NvbmZpZ2AgZmlsZSBpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvS2NvbmZpZ2AuIFRoaXMgd2lsbCB0ZWxsIHVzIHVuZGVyIHdoYXQgY2lyY3Vtc3RhbmNlcyB0aGlzIGhhbmRsZXIgaXMgY29tcGlsZWQgaW50byB0aGUgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9ucyB0aWVkIHRvIHRoaXMgbmV3IHN5bmNocm9uaXphdGlvbiBtZWNoYW5pc20uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdCNcbiAgIDM6XHQjIE1hcnZlbGwgUlZVIE5ldHdvcmsgZHJpdmVycyBjb25maWd1cmF0aW9uXG4gICA0Olx0I1xuICAgNTpcdFxuICAgNjpcdGNvbmZpZyBPQ1RFT05UWDJfTUJPWFxuICAgNzpcdFx0dHJpc3RhdGVcbiAgIDg6XHRcbiAgIDk6XHRjb25maWcgT0NURU9OVFgyX0FGXG4gIDEwOlx0XHR0cmlzdGF0ZSBcJiMzNDtNYXJ2ZWxsIE9jdGVvblRYMiBSVlUgQWRtaW4gRnVuY3Rpb24gZHJpdmVyXCYjMzQ7XG4gIDExOlx0XHRzZWxlY3QgT0NURU9OVFgyX01CT1hcbiAgMTI6XHRcdHNlbGVjdCBORVRfREVWTElOS1xuICAxMzpcdFx0ZGVwZW5kcyBvbiAoNjRCSVQgXHUwMDI2XHUwMDI2IENPTVBJTEVfVEVTVCkgfHwgQVJNNjRcbiAgMTQ6XHRcdGRlcGVuZHMgb24gUENJXG4gIDE1Olx0XHRkZXBlbmRzIG9uIFBUUF8xNTg4X0NMT0NLX09QVElPTkFMXG4gIDE2Olx0XHRoZWxwXG4gIDE3Olx0XHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwmIzM5O3MgT2N0ZW9uVFgyIFJlc291cmNlIFZpcnR1YWxpemF0aW9uXG4gIDE4Olx0XHQgIFVuaXQmIzM5O3MgYWRtaW4gZnVuY3Rpb24gbWFuYWdlciB3aGljaCBtYW5hZ2VzIGFsbCBSVlUgSFcgcmVzb3VyY2VzXG4gIDE5Olx0XHQgIGFuZCBwcm92aWRlcyBhIG1lZGl1bSB0byBvdGhlciBQRi9WRnMgdG8gY29uZmlndXJlIEhXLiBTaG91bGQgYmVcbiAgMjA6XHRcdCAgZW5hYmxlZCBmb3Igb3RoZXIgUlZVIGRldmljZSBkcml2ZXJzIHRvIHdvcmsuXG4gIDIxOlx0XG4gIDIyOlx0Y29uZmlnIE5EQ19ESVNfRFlOQU1JQ19DQUNISU5HXG4gIDIzOlx0XHRib29sIFwmIzM0O0Rpc2FibGUgY2FjaGluZyBvZiBkeW5hbWljIGVudHJpZXMgaW4gTkRDXCYjMzQ7XG4gIDI0Olx0XHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9BRlxuICAyNTpcdFx0ZGVmYXVsdCBuXG4gIDI2Olx0XHRoZWxwXG4gIDI3Olx0XHQgIFRoaXMgY29uZmlnIG9wdGlvbiBkaXNhYmxlcyBjYWNoaW5nIG9mIGR5bmFtaWMgZW50cmllcyBzdWNoIGFzIE5JWCBTUUVzXG4gIDI4Olx0XHQgICwgTlBBIHN0YWNrIHBhZ2VzIGV0YyBpbiBOREMuIEFsc28gbG9ja3MgZG93biBOSVggU1EvQ1EvUlEvUlNTIGFuZFxuICAyOTpcdFx0ICBOUEEgQXVyYS9Qb29sIGNvbnRleHRzLlxuICAzMDpcdFxuICAzMTpcdGNvbmZpZyBPQ1RFT05UWDJfUEZcbiAgMzI6XHRcdHRyaXN0YXRlIFwmIzM0O01hcnZlbGwgT2N0ZW9uVFgyIE5JQyBQaHlzaWNhbCBGdW5jdGlvbiBkcml2ZXJcJiMzNDtcbiAgMzM6XHRcdHNlbGVjdCBPQ1RFT05UWDJfTUJPWFxuICAzNDpcdFx0c2VsZWN0IE5FVF9ERVZMSU5LXG4gIDM1Olx0XHRzZWxlY3QgUEFHRV9QT09MXG4gIDM2Olx0XHRzZWxlY3QgQ1JZUFRPX0xJQl9BRVMgaWYgTUFDU0VDXG4gIDM3Olx0XHRkZXBlbmRzIG9uICg2NEJJVCBcdTAwMjZcdTAwMjYgQ09NUElMRV9URVNUKSB8fCBBUk02NFxuICAzODpcdFx0c2VsZWN0IERJTUxJQlxuICAzOTpcdFx0ZGVwZW5kcyBvbiBQQ0lcbiAgNDA6XHRcdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tfT1BUSU9OQUxcbiAgNDE6XHRcdGRlcGVuZHMgb24gTUFDU0VDIHx8ICFNQUNTRUNcbiAgNDI6XHRcdGhlbHBcbiAgNDM6XHRcdCAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWFydmVsbCYjMzk7cyBPY3Rlb25UWDIgTklDIHBoeXNpY2FsIGZ1bmN0aW9uLlxuICA0NDpcdFxuICA0NTpcdGNvbmZpZyBPQ1RFT05UWDJfVkZcbiAgNDY6XHRcdHRyaXN0YXRlIFwmIzM0O01hcnZlbGwgT2N0ZW9uVFgyIE5JQyBWaXJ0dWFsIEZ1bmN0aW9uIGRyaXZlclwmIzM0O1xuICA0NzpcdFx0ZGVwZW5kcyBvbiBPQ1RFT05UWDJfUEZcbiAgNDg6XHRcdGhlbHBcbiAgNDk6XHRcdCAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWFydmVsbCYjMzk7cyBPY3Rlb25UWDIgTklDIHZpcnR1YWwgZnVuY3Rpb24uXG4gIDUwOlx0XG4gIDUxOlx0Y29uZmlnIFJWVV9FU1dJVENIXG4gIDUyOlx0XHR0cmlzdGF0ZSBcJiMzNDtNYXJ2ZWxsIFJWVSBFLVN3aXRjaCBzdXBwb3J0XCYjMzQ7XG4gIDUzOlx0XHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9QRlxuICA1NDpcdFx0ZGVmYXVsdCBtXG4gIDU1Olx0XHRoZWxwXG4gIDU2Olx0XHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwmIzM5O3MgUlZVIEUtU3dpdGNoIHRoYXRcbiAgNTc6XHRcdCAgcHJvdmlkZXMgaW50ZXJuYWwgU1JJT1YgcGFja2V0IHN0ZWVyaW5nIGFuZCBzd2l0Y2hpbmcuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTA2MgoJCQkJCQkJb3V0cHV0OiAyNwoJCQkJCQkJdGhvdWdodHM6IDIwOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFJlYWNoYWJpbGl0eSBvZiBgT0NURU9OVFgyX0FGYCBDb2RlIFBhdGhzKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGNvbmZpZ3VyYXRpb24sIGBPQ1RFT05UWDJfQUZgLiBJdCBoaW5nZXMgb24gYSBmZXcgZGVwZW5kZW5jaWVzOiBgKDY0QklUICZhbXA7JmFtcDsgQ09NUElMRV9URVNUKSB8fCBBUk02NGAgYW5kLCBjcnVjaWFsbHksIGBQQ0lgLiBHaXZlbiB0aGF0IHRoaXMgaXMgYSBkcml2ZXIgc3BlY2lmaWNhbGx5IGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIsIG15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRoYXQgaXQmIzM5O3MgZ29pbmcgdG8gYmUgdmVyeSBoYXJkd2FyZS1zcGVjaWZpYy4gQSBQQ0kgZHJpdmVyIGxpa2UgdGhpcyBpc24mIzM5O3QgZ29pbmcgdG8gZnVuY3Rpb24gbmF0aXZlbHkgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIFFFTVUgb3IgR29vZ2xlIENvbXB1dGUgRW5naW5lLCBhdCBsZWFzdCBub3Qgd2l0aG91dCBzb21lIGhlYXZ5IGxpZnRpbmcgaW4gdGVybXMgb2YgaGFyZHdhcmUgZW11bGF0aW9uIG9yIFBDSSBwYXNzdGhyb3VnaC4KCk5vdywgaG9sZCBvbi4uLiBpZiBzeXprYWxsZXIgaXMgdGhlIHRlc3RpbmcgZnJhbWV3b3JrLCBJJiMzOTttIHByZXR0eSBjb25maWRlbnQgdGhhdCBpdCBkb2VzbiYjMzk7dCBlbXVsYXRlIE1hcnZlbGwgT2N0ZW9uVFgyIGhhcmR3YXJlIHNwZWNpZmljYWxseS4gVGhhdCBtZWFucyB0aGUgY29kZSBwYXRocyB3aXRoaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY2AgYXJlIGVzc2VudGlhbGx5IGRlYWQgZW5kcyBpbiB0aGVzZSB2aXJ0dWFsaXplZCBzY2VuYXJpb3MuIFRoZXkmIzM5O3JlIHVucmVhY2hhYmxlIHdpdGhvdXQgdmVyeSBzcGVjaWZpYyBoYXJkd2FyZSBjb25maWd1cmF0aW9ucyB0aGF0IGFyZSB1bmxpa2VseSB0byBiZSBwcmVzZW50IGluIHR5cGljYWwgc3l6a2FsbGVyIHRlc3RpbmcuCgpJIG5lZWQgdG8gY29uZmlybSB0aGlzIHRob3VnaC4gQmVmb3JlIEkgd3JpdGUgdGhpcyBvZmYgY29tcGxldGVseSwgSSBzaG91bGQgZG91YmxlLWNoZWNrLiBJJiMzOTtsbCBzZWFyY2ggdGhlIGRvY3VtZW50YXRpb24gZGlyZWN0b3JpZXMgLSBgRG9jdW1lbnRhdGlvbi9gLCBgdG9vbHMvYCwgYW5kIGFsc28gdGhlIGRyaXZlciBkaXJlY3RvcnkgaXRzZWxmLCBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYC4gSSYjMzk7bGwgbG9vayBmb3IgYW55IG1lbnRpb24gb2Ygc29mdHdhcmUgZW11bGF0aW9uIGZvciB0aGUgYG9jdGVvbnR4MmAgZGV2aWNlIHRvIGVuc3VyZSBJIGFtIG5vdCBtaXNzaW5nIHNvbWV0aGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNCAwNjowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O29jdGVvbnR4MiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O3Rvb2xzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTEzNAoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDkwNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipSZWFjaGluZyB0aGUgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIEhhbmRsZXI6IEEgRnV6emluZyBQZXJzcGVjdGl2ZSoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgbWFpbGJveCBoYW5kbGVyLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AsIGZvciB0aGUgYE5JWF9SWF9TV19TWU5DYCBtZXNzYWdlIHdpdGhpbiB0aGUgTWFydmVsbCBPY3Rlb25UWDIgUlZVIEFkbWluIEZ1bmN0aW9uIGRyaXZlci4gVGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUsIGFuZCBJIG5lZWQgdG8gYXNzZXNzIGl0cyBmdXp6aW5nIHBvdGVudGlhbC4gVGhlIGRyaXZlciYjMzk7cyBlbmFibGVkIGJ5IGBDT05GSUdfT0NURU9OVFgyX0FGYCwgc28gdGhhdCYjMzk7cyB0aGUgc3RhcnRpbmcgcG9pbnQuCgpNeSBpbml0aWFsIHRob3VnaHQgaXMsIHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBPY3Rlb25UWDIsIG1lYW5pbmcgdW5sZXNzIHRoYXQgc3BlY2lmaWMgaGFyZHdhcmUgaXMgcHJlc2VudCBvciBlbXVsYXRlZCwgdGhlIGNvZGUgaXMgbGlrZWx5IHVucmVhY2hhYmxlLiBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiB3ZSBjYW4gZXZlbiAqdHJpZ2dlciogdGhpcyBoYW5kbGVyLiBNeSBleHBlcnRpc2UgdGVsbHMgbWUgdGhhdCBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXJzIG9mdGVuIHBvc2UgYSBjaGFsbGVuZ2UgYmVjYXVzZSB0aGV5IHJlbHkgb24gc3BlY2lmaWMgUENJIGRldmljZXMuIEkga25vdyB0aGF0IGBzeXprYWxsZXJgIGhhcyBtZWNoYW5pc21zIGxpa2UgYHN5el9wY2lfZGV2aWNlYCB0byBmdXp6IFBDSSBkZXZpY2VzLCBvciBtYXliZSBpdCBjb3VsZCBiZSByZWFjaGVkIHZpYSBjaGFyYWN0ZXIgZGV2aWNlcyBvciBuZXRsaW5rLCBvciB0aGUgbWFpbGJveCBhY2Nlc3NpYmxlIHRvIFZGcy9QRnMuCgpCdXQgd2FpdCwgdGhlIGNydWNpYWwgcXVlc3Rpb246IElzIHRoaXMgZHJpdmVyIHByb2JlZCB2aWEgUENJIGZ1enppbmc/IFRoZSBwcm9tcHQgaXMgdGVsbGluZyBtZSB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgdGhlIGNvZGUgcGF0aCBpcyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBJcyB0aGVyZSBhIE1hcnZlbGwgT2N0ZW9uVFgyIGVtdWxhdG9yIGluIFFFTVU/IFByb2JhYmx5IG5vdC4gSG93ZXZlciwgYHN5emthbGxlcmAgaGFzIGEgUENJIGZ1enplciwgd2hpY2ggY2FuIGVtdWxhdGUgUENJIGRldmljZXMuIEkgbmVlZCB0byBkZXRlcm1pbmUgaWYgaXQgY2FuICpyZWFjaCogdGhpcyBzcGVjaWZpYyBoYW5kbGVyLgoKVGhlIGhhbmRsZXIgaXMgaW52b2tlZCB3aGVuIGEgbWFpbGJveCBtZXNzYWdlIGlzIHJlY2VpdmVkLiBNYWlsYm94IG1lc3NhZ2VzIHVzdWFsbHkgY29tZSBmcm9tIGFuIGludGVycnVwdCBmcm9tIHRoZSBoYXJkd2FyZS4gSSBuZWVkIHRvIHRyYWNlIHRoZSBjYWxsLiBJIGNhbiBzZWUgZnJvbSBgbWJveC5oYCB0aGF0IGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBpcyByZWdpc3RlcmVkIHZpYSBhIG1hY3JvLCB3aGljaCBnZW5lcmF0ZXMgYW4gYXJyYXkgb2YgaGFuZGxlcnMsIGtleWVkIHRvIHRoZSBtZXNzYWdlIHR5cGUuIFdoZW4gYW4gaW50ZXJydXB0IG9jY3VycywgdGhlIGRyaXZlciByZWFkcyB0aGUgbWFpbGJveCBtZW1vcnkgYW5kIGNhbGxzIHRoZSByaWdodCBoYW5kbGVyLiBJZiBgc3l6a2FsbGVyYCBjYW4gdHJpZ2dlciB0aGF0IGludGVycnVwdCBhbmQgcG9wdWxhdGUgdGhlIG1haWxib3ggbWVtb3J5LCBpdCBjb3VsZCByZWFjaCB0aGlzIGNvZGUuIEJ1dCwgY29tcGxleCBoYXJkd2FyZSBpbnRlcmFjdGlvbnMgbGlrZSBtYWlsYm94IG1lbW9yeSBhcmUgaGFyZCB0byBmdXp6IHdpdGhvdXQgYSBzcGVjaWZpYyBlbXVsYXRvci4KCkkgbmVlZCB0byBxdWlja2x5IGFzc2VzcyBpZiBgT0NURU9OVFgyX0FGYCBpcyBldmVuIGVuYWJsZWQgaW4gYHN5emthbGxlcmAgY29uZmlndXJhdGlvbnMuIFdoaWxlIEkgY2FuJiMzOTt0IGNoZWNrIHRoYXQgZGlyZWN0bHksIEkgY2FuIGFzc3VtZSBpdCAqbWlnaHQqIGJlIGVuYWJsZWQsIGdpdmVuIGBzeXprYWxsZXJgJiMzOTtzIGJyZWFkdGguCgpUaGUgcHJvbXB0IGlzIHJlaW5mb3JjaW5nIHRoZSBxdWVzdGlvbjogSXMgTWFydmVsbCBPY3Rlb25UWDIgcmVhY2hhYmxlPyAgVHlwaWNhbGx5LCB0aGVzZSBzcGVjaWZpYyBQQ0kgZHJpdmVycyBhcmUgdW5yZWFjaGFibGUgdW5sZXNzIHRoZXJlJiMzOTtzIGFuIGVtdWxhdG9yIG9yIHRoZSBQQ0kgZnV6emVyIGNhbiByZWFjaCBpdC4gVGhlIGBzeXpfcGNpX2RldmljZWAgaXMgZ2VuZXJpYyBhbmQgY2FuIHRyaWdnZXIgYHByb2JlYCwgc29tZSBNTUlPLCBpbnRlcnJ1cHRzLCBhbmQgc28gb24uIEJ1dCBjYW4gaXQgdHJpZ2dlciBhIHNwZWNpZmljIG1haWxib3ggbWVzc2FnZT8gSWYgdGhlIG1haWxib3ggaXMgaW4gUENJIEJBUiBtZW1vcnksIHRoZSBmdXp6ZXIgbWlnaHQgYmUgYWJsZSB0byB3cml0ZSB0byBpdCBhbmQgdGhlbiB0cmlnZ2VyIGFuIGludGVycnVwdC4gVGhlIGtleSBpcyBob3cgdGhlIG1haWxib3ggaXMgcHJvY2Vzc2VkLiBUaGlzIGlzIHdoZXJlIEkmIzM5O2xsIG5lZWQgdG8gZGlnIGludG8gdGhlIGRyaXZlciYjMzk7cyBjb2RlIGFuZCBwb3RlbnRpYWxseSB0aGUgUENJIGZ1enplciYjMzk7cyBpbm5lciB3b3JraW5ncy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cnZ1X21ib3hfaGFuZGxlcl8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7XG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDk4MCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbml4LmMtMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9uaXguYzoxNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfY24yMGtfYXFfZW5xKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jLTE1LVx0XHRcdFx0ICAgICAgc3RydWN0IG5peF9jbjIwa19hcV9lbnFfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGEuYzoxNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGFfY24yMGtfYXFfZW5xKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYS5jLTE1LVx0XHRcdFx0ICAgICAgc3RydWN0IG5wYV9jbjIwa19hcV9lbnFfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMjAtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmM6MjE6RVhQT1JUX1NZTUJPTChydnVfbWJveF9oYW5kbGVyX25wYV9jbjIwa19hcV9lbnEpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTEyMzY9aW50IG5wY19jbjIwa19yZWFkX21jYW1fZW50cnkoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkciwgdTE2IGluZGV4LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTEzNjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxMzYzOmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX3dyaXRlX2VudHJ5KHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTEzNjQtXHRcdFx0XHRcdFx0c3RydWN0IG5wY19jbjIwa19tY2FtX3dyaXRlX2VudHJ5X3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0MDYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDA3OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX3JlYWRfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQwOC1cdFx0XHRcdFx0ICAgICAgIHN0cnVjdCBucGNfbWNhbV9yZWFkX2VudHJ5X3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0MzMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDM0OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX2FsbG9jX2FuZF93cml0ZV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDM1LVx0XHRcdFx0XHRcdFx0ICBzdHJ1Y3QgbnBjX2NuMjBrX21jYW1fYWxsb2NfYW5kX3dyaXRlX2VudHJ5X3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0NjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDYzOlx0cmMgPSBydnVfbWJveF9oYW5kbGVyX25wY19tY2FtX2FsbG9jX2VudHJ5KHJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0NjQtXHRcdFx0XHRcdFx0ICAgXHUwMDI2ZW50cnlfcmVxLCBcdTAwMjZlbnRyeV9yc3ApO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0ODktXHRcdGZyZWVfcmVxLmVudHJ5ID0gZW50cnlfcnNwLmVudHJ5O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6MTQ5MDpcdFx0ZXJyID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9mcmVlX2VudHJ5KHJ2dSwgXHUwMDI2ZnJlZV9yZXEsIFx1MDAyNmZyZWVfcnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0OTEtXHRcdGlmIChlcnIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM9MTUwMj1zdGF0aWMgaW50IHJ2dV9ucGNfZ2V0X2Jhc2Vfc3RlZXJfcnVsZV90eXBlKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTUwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjE1MTA6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBjX2NuMjBrX3JlYWRfYmFzZV9zdGVlcl9ydWxlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE1MTEtXHRcdFx0XHRcdFx0ICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM9MzM1ND1pbnRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjMzNTU6cnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfZ2V0X2ZjbnQoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMzM1Ni1cdFx0XHRcdCAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTMzNjQ9aW50XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzozMzY1OnJ2dV9tYm94X2hhbmRsZXJfbnBjX2NuMjBrX2dldF9rZXhfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTMzNjYtXHRcdFx0XHQgICAgICAgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00MDY4PWludCBucGNfY24yMGtfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MTc3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDE3ODppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQxNzktXHRcdFx0XHRzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTQxODQ9aW50IG5wY19jbjIwa19kZnRfcnVsZXNfaWR4X2dldChzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1MTYgKmJjYXN0LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQyNjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0MjYzOmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfcGZsX2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDI2NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBucGNfZ2V0X3BmbF9pbmZvX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQyNzUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0Mjc2OmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfbnVtX2t3cyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00Mjc3LVx0XHRcdFx0ICAgICBzdHJ1Y3QgbnBjX2dldF9udW1fa3dzX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQzMjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0MzIxOmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfZGZ0X3JsX2lkeHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDMyMi1cdFx0XHRcdFx0IHN0cnVjdCBucGNfZ2V0X2RmdF9ybF9pZHhzX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTQ0NTY9aW50IG5wY19jbjIwa19kZnRfcnVsZXNfYWxsb2Moc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTMyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDUzMzpcdHJldCA9IHJ2dV9tYm94X2hhbmRsZXJfbnBjX21jYW1fYWxsb2NfZW50cnkocnZ1LCBcdTAwMjZyZXEsIFx1MDAyNnJzcCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTM0LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1NzAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0NTcxOlx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9hbGxvY19lbnRyeShydnUsIFx1MDAyNnJlcSwgXHUwMDI2cnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1NzItXHRpZiAocmV0KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDY0NC1cdGZyZWVfcmVxLmFsbCA9IDE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0NjQ1Olx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9mcmVlX2VudHJ5KHJ2dSwgXHUwMDI2ZnJlZV9yZXEsIFx1MDAyNmZyZWVfcnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ2NDYtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYz0zNj12b2lkIHJ2dV9tY3NfcHRwX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHU4IHJwbV9pZCwgdTggbG1hY19pZCwgYm9vbCBlbmEpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTcxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjcyOmludCBydnVfbWJveF9oYW5kbGVyX21jc19zZXRfbG1hY19tb2RlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy03My1cdFx0XHRcdCAgICAgICBzdHJ1Y3QgbWNzX3NldF9sbWFjX21vZGUgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM9MTUzPXN0YXRpYyB2b2lkIG1jc19pbnRyX2hhbmRsZXJfdGFzayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTE3OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzoxNzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2ludHJfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0xODAtXHRcdFx0XHQgIHN0cnVjdCBtY3NfaW50cl9jZmcgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjAzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIwNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X2h3X2luZm8oc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTIwNS1cdFx0XHRcdCAgICAgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjIyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIyMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9yZXNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtY3NfcG9ydF9yZXNldF9yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMjQtXHRcdFx0XHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjM3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIzODppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfY2xlYXJfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTIzOS1cdFx0XHRcdCAgICAgc3RydWN0IG1jc19jbGVhcl9zdGF0cyAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yNTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MjYwOmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfZmxvd2lkX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yNjEtXHRcdFx0XHRcdCAgc3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjkwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjI5MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NlY3lfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTI5Mi1cdFx0XHRcdFx0c3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzE4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjMxOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zMjAtXHRcdFx0XHQgICAgICBzdHJ1Y3QgbWNzX3N0YXRzX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zNDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MzQzOmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfc2Ffc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM0NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBtY3Nfc3RhdHNfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM2Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzozNjc6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2dldF9wb3J0X3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zNjgtXHRcdFx0XHRcdHN0cnVjdCBtY3Nfc3RhdHNfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM5MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzozOTE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3NldF9hY3RpdmVfbG1hYyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzkyLVx0XHRcdFx0XHQgc3RydWN0IG1jc19zZXRfYWN0aXZlX2xtYWMgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDA4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQwOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9jZmdfc2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X2NmZ19zZXRfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDEwLVx0XHRcdFx0ICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQyNzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9jZmdfZ2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X2NmZ19nZXRfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDI4LVx0XHRcdFx0ICAgICAgc3RydWN0IG1jc19wb3J0X2NmZ19nZXRfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ0NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0NDU6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2N1c3RvbV90YWdfY2ZnX2dldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtY3NfY3VzdG9tX3RhZ19jZmdfZ2V0X3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ0Ni1cdFx0XHRcdFx0ICAgIHN0cnVjdCBtY3NfY3VzdG9tX3RhZ19jZmdfZ2V0X3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYz00NjA9aW50IHJ2dV9tY3NfZmxyX2hhbmRsZXIoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDgwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQ4MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZmxvd2lkX2VuYV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDgyLVx0XHRcdFx0XHQgIHN0cnVjdCBtY3NfZmxvd2lkX2VuYV9kaXNfZW50cnkgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDk0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQ5NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG5fdGFibGVfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ5Ni1cdFx0XHRcdFx0c3RydWN0IG1jc19wbl90YWJsZV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTA4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjUwOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2V0X3BuX3RocmVzaG9sZChzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTEwLVx0XHRcdFx0XHQgIHN0cnVjdCBtY3Nfc2V0X3BuX3RocmVzaG9sZCAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01MjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NTI1OmludCBydnVfbWJveF9oYW5kbGVyX21jc19yeF9zY19zYV9tYXBfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTUyNi1cdFx0XHRcdFx0ICAgIHN0cnVjdCBtY3Nfcnhfc2Nfc2FfbWFwICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTUzOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo1Mzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3R4X3NjX3NhX21hcF93cml0ZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTQwLVx0XHRcdFx0XHQgICAgc3RydWN0IG1jc190eF9zY19zYV9tYXAgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTU0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU1NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2FfcGxjeV93cml0ZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTU2LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBtY3Nfc2FfcGxjeV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTcyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU3MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfcnhfc2NfY2FtX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NzQtXHRcdFx0XHRcdCBzdHJ1Y3QgbWNzX3J4X3NjX2NhbV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTg2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU4NzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2VjeV9wbGN5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01ODgtXHRcdFx0XHRcdCBzdHJ1Y3QgbWNzX3NlY3lfcGxjeV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjAxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZmxvd2lkX2VudHJ5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MDMtXHRcdFx0XHRcdCAgICBzdHJ1Y3QgbWNzX2Zsb3dpZF9lbnRyeV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjI4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYyOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZnJlZV9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTYzMC1cdFx0XHRcdFx0c3RydWN0IG1jc19mcmVlX3JzcmNfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTY3OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo2Nzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2FsbG9jX3Jlc291cmNlcyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjgwLVx0XHRcdFx0XHQgc3RydWN0IG1jc19hbGxvY19yc3JjX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy03NjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NzYxOmludCBydnVfbWJveF9oYW5kbGVyX21jc19hbGxvY19jdHJsX3BrdF9ydWxlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy03NjItXHRcdFx0XHRcdCAgICAgc3RydWN0IG1jc19hbGxvY19jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04MTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODE4OmludCBydnVfbWJveF9oYW5kbGVyX21jc19mcmVlX2N0cmxfcGt0X3J1bGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTgxOS1cdFx0XHRcdFx0ICAgIHN0cnVjdCBtY3NfZnJlZV9jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04MzgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODM5OmludCBydnVfbWJveF9oYW5kbGVyX21jc19jdHJsX3BrdF9ydWxlX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04NDAtXHRcdFx0XHRcdCAgICAgc3RydWN0IG1jc19jdHJsX3BrdF9ydWxlX3dyaXRlX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jPTYxMj1zdHJ1Y3QgcGNpX2RyaXZlciBwdHBfZHJpdmVyID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jLTYxOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jOjYxOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9wdHBfb3Aoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgcHRwX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjIwLVx0XHRcdCAgICBzdHJ1Y3QgcHRwX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jLTY2My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jOjY2NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9wdHBfZ2V0X2NhcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9wdHAuYy02NjUtXHRcdFx0XHQgc3RydWN0IHB0cF9nZXRfY2FwX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jPTEyMzY9aW50IHJ2dV9hcV9hbGxvYyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBhZG1pbl9xdWV1ZSAqKmFkX3F1ZXVlLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTEyNjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxMjY1OmludCBydnVfbWJveF9oYW5kbGVyX3JlYWR5KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTEyNjYtXHRcdFx0ICAgc3RydWN0IHJlYWR5X21zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xNDU1PXN0YXRpYyBpbnQgcnZ1X2RldGFjaF9yc3JjcyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCByc3JjX2RldGFjaCAqZGV0YWNoLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE1MDctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxNTA4OmludCBydnVfbWJveF9oYW5kbGVyX2RldGFjaF9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTUwOS1cdFx0XHRcdCAgICAgIHN0cnVjdCByc3JjX2RldGFjaCAqZGV0YWNoLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jPTE3MzY9c3RhdGljIGJvb2wgcnZ1X2F0dGFjaF9mcm9tX3NhbWVfYmxvY2soc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrdHlwZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xNzUxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTc1MjppbnQgcnZ1X21ib3hfaGFuZGxlcl9hdHRhY2hfcmVzb3VyY2VzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE3NTMtXHRcdFx0XHQgICAgICBzdHJ1Y3QgcnNyY19hdHRhY2ggKmF0dGFjaCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xOTA2PXN0YXRpYyB2b2lkIHJ2dV9jbGVhcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBydnVfcGZ2ZiAqcGZ2Zixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xOTI5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTkzMDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xOTMxLVx0XHRcdFx0IHN0cnVjdCBtc2l4X29mZnNldF9yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xOTkyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTk5MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9mcmVlX3JzcmNfY250KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE5OTQtXHRcdFx0XHQgICBzdHJ1Y3QgZnJlZV9yc3Jjc19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMDg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjA4NjppbnQgcnZ1X21ib3hfaGFuZGxlcl92Zl9mbHIoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjA4Ny1cdFx0XHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMTA2PWludCBydnVfbmRjX3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgbGZibGthZGRyLCBpbnQgbGZpZHgsIHU2NCBsZm9mZnNldClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTEyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjExMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9nZXRfaHdfY2FwKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxMTQtXHRcdFx0XHRzdHJ1Y3QgZ2V0X2h3X2NhcF9yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTI3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjEyODppbnQgcnZ1X21ib3hfaGFuZGxlcl9zZXRfdmZfcGVybShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBzZXRfdmZfcGVybSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjEyOS1cdFx0XHRcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxNjktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMTcwOmludCBydnVfbWJveF9oYW5kbGVyX25kY19zeW5jX29wKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxNzEtXHRcdFx0XHQgc3RydWN0IG5kY19zeW5jX29wICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjI1Nj1zdGF0aWMgaW50IHJ2dV9wcm9jZXNzX21ib3hfbXNnKHN0cnVjdCBvdHgyX21ib3ggKm1ib3gsIGludCBkZXZpZCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjg3LVx0XHRcdFx0XHRcdFx0XHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMjg4Olx0XHRlcnIgPSBydnVfbWJveF9oYW5kbGVyXyAjIyBfZm5fbmFtZShydnUsXHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjg5LVx0XHRcdFx0XHRcdCAgICAoc3RydWN0IF9yZXFfdHlwZSAqKXJlcSwgXFxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuaD05ODM9c3RhdGljIGlubGluZSBib29sIGlzX2NneF92ZihzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5oLTk4OS0jZGVmaW5lIE0oX25hbWUsIF9pZCwgZm5fbmFtZSwgcmVxLCByc3ApXHRcdFx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1Lmg6OTkwOmludCBydnVfbWJveF9oYW5kbGVyXyAjIyBmbl9uYW1lKHN0cnVjdCBydnUgKiwgc3RydWN0IHJlcSAqLCBzdHJ1Y3QgcnNwICopO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmgtOTkxLU1CT1hfTUVTU0FHRVNcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9NTI3PXZvaWQgcnZ1X2NneF9kaXNhYmxlX2RtYWNfZW50cmllcyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NTYzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGFydF9yeHR4KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjQtXHRcdFx0XHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNTY5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjU3MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9yeHR4KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NzEtXHRcdFx0XHQgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz01Nzc9c3RhdGljIGludCBydnVfbG1hY19nZXRfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjIxOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjIyLVx0XHRcdCAgICAgICBzdHJ1Y3QgY2d4X3N0YXRzX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjI3OmludCBydnVfbWJveF9oYW5kbGVyX3JwbV9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjI4LVx0XHRcdCAgICAgICBzdHJ1Y3QgcnBtX3N0YXRzX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MzItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjMzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGF0c19yc3Qoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTYzNC1cdFx0XHRcdCAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTY2MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo2NjI6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2ZlY19zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjYzLVx0XHRcdFx0ICAgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjc5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjY4MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfc2V0KHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02ODEtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX3NldF9vcl9nZXQgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzAyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjcwMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfYWRkKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MDQtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX2FkZF9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjcyNzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfZGVsKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MjgtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX2RlbF9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjc0NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX21heF9lbnRyaWVzX2dldChzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzQ1LVx0XHRcdFx0XHQgICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTc3MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3NzE6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X21hY19hZGRyX2dldChzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzcyLVx0XHRcdFx0ICAgICAgc3RydWN0IGNneF9tYWNfYWRkcl9zZXRfb3JfZ2V0ICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTc4My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3ODQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03ODUtXHRcdFx0XHRcdHN0cnVjdCBtc2dfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTgwMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4MDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODA1LVx0XHRcdFx0XHQgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9ODIzPXN0YXRpYyBpbnQgcnZ1X2NneF9wdHBfcnhfY2ZnKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIGJvb2wgZW5hYmxlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04NTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6ODU5OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9wdHBfcnhfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04NjAtXHRcdFx0XHQgICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjg2ODppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfcHRwX3J4X2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTg2OS1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9ODc0PXN0YXRpYyBpbnQgcnZ1X2NneF9jb25maWdfbGlua2V2ZW50cyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04OTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6ODk1OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGFydF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04OTYtXHRcdFx0XHRcdCAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTAxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjkwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MDMtXHRcdFx0XHRcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MDgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTA5OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9nZXRfbGlua2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkxMC1cdFx0XHRcdCAgICAgIHN0cnVjdCBjZ3hfbGlua19pbmZvX21zZyAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTI3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9mZWF0dXJlc19nZXQoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkyOC1cdFx0XHRcdCAgICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTk3MT1zdGF0aWMgaW50IHJ2dV9jZ3hfY29uZmlnX2ludGxiayhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05ODYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTg3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9pbnRsYmtfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05ODgtXHRcdFx0XHQgICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTkzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjk5NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfaW50bGJrX2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk5NS1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9MTAwMT1pbnQgcnZ1X2NneF9jZmdfcGF1c2VfZnJtKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIHU4IHR4X3BhdXNlLCB1OCByeF9wYXVzZSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTAzOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMDQwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9jZmdfcGF1c2VfZnJtKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMDQxLVx0XHRcdFx0ICAgICAgIHN0cnVjdCBjZ3hfcGF1c2VfZnJtX2NmZyAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMDY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjEwNjg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2dldF9waHlfZmVjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMDY5LVx0XHRcdFx0XHQgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz0xMTI2PWludCBydnVfY2d4X3N0YXJ0X3N0b3BfaW8oc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgYm9vbCBzdGFydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTE3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMTczOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zZXRfZmVjX3BhcmFtKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTc0LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBmZWNfbW9kZSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjExOTA6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2dldF9hdXhfbGlua19pbmZvKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTkxLVx0XHRcdFx0XHQgICBzdHJ1Y3QgY2d4X2Z3X2RhdGEgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTIxNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjE2OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zZXRfbGlua19tb2RlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjE3LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBjZ3hfc2V0X2xpbmtfbW9kZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTI0Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjQzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9yZXNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjZ3hfbWFjX2FkZHJfcmVzZXRfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTI0NC1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTI1OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjYwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl91cGRhdGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEyNjEtXHRcdFx0XHRcdCBzdHJ1Y3QgY2d4X21hY19hZGRyX3VwZGF0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9MTI3Nz1pbnQgcnZ1X2NneF9wcmlvX2Zsb3dfY3RybF9jZmcoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgdTggdHhfcGF1c2UsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEzMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6MTMxNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfcHJpb19mbG93X2N0cmxfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMzE1LVx0XHRcdFx0XHQgICAgc3RydWN0IGNneF9wZmNfY2ZnICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NuMTBrLmM9MTEzPXN0YXRpYyBpbnQgcnZ1X3VwZGF0ZV9sbXRhZGRyKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIHU2NCBsbXRfYWRkcilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY24xMGsuYy0xNDctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY24xMGsuYzoxNDg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbG10c3RfdGJsX3NldHVwKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jbjEway5jLTE0OS1cdFx0XHRcdCAgICAgc3RydWN0IGxtdHN0X3RibF9zZXR1cF9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9NDMzPXN0YXRpYyBpbnQgdmFsaWRhdGVfYW5kX2dldF9jcHRfYmxrYWRkcihpbnQgcmVxX2Jsa2FkZHIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTQ0My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo0NDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2xmX2FsbG9jKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy00NDUtXHRcdFx0XHQgIHN0cnVjdCBjcHRfbGZfYWxsb2NfcmVxX21zZyAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz01MTQ9c3RhdGljIGludCBjcHRfbGZfZnJlZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsIGludCBibGthZGRyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy01NDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NTQ1OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9sZl9mcmVlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy01NDYtXHRcdFx0XHQgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9NjE0PXN0YXRpYyBpbnQgY3B0X2lubGluZV9pcHNlY19jZmdfb3V0Ym91bmQoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkciwgdTggY3B0bGYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTY1OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo2NTk6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2lubGluZV9pcHNlY19jZmcoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTY2MC1cdFx0XHRcdFx0ICBzdHJ1Y3QgY3B0X2lubGluZV9pcHNlY19jZmdfbXNnICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jPTY5NT1zdGF0aWMgYm9vbCB2YWxpZGF0ZV9hbmRfdXBkYXRlX3JlZ19vZmZzZXQoc3RydWN0IHJ2dSAqcnZ1LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy03NjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NzYzOmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9yZF93cl9yZWdpc3RlcihzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtNzY0LVx0XHRcdFx0XHRzdHJ1Y3QgY3B0X3JkX3dyX3JlZ19tc2cgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9ODMzPXN0YXRpYyB2b2lkIGdldF9lbmdfc3RzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IGNwdF9zdHNfcnNwICpyc3AsIGludCBibGthZGRyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy04NTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6ODU4OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9zdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X3N0c19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy04NTktXHRcdFx0ICAgICBzdHJ1Y3QgY3B0X3N0c19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9ODk5PXN0YXRpYyB2b2lkIGNwdF9yeGNfdGltZV9jZmcoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X3J4Y190aW1lX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTIzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjkyNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfcnhjX3RpbWVfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05MjUtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY3B0X3J4Y190aW1lX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjk0NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfY3R4X2NhY2hlX3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk0NS1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjk1MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfbGZfcmVzZXQoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X2xmX3JzdF9yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05NTEtXHRcdFx0XHQgIHN0cnVjdCBtc2dfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk4Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5ODM6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2ZsdF9lbmdfaW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfZmx0X2VuZ19pbmZvX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk4NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBjcHRfZmx0X2VuZ19pbmZvX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmM9MTY4Mz1zdGF0aWMgaW50IHJ2dV9kYmdfbml4X3RtX3RyZWVfZGlzcGxheShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTE3MTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jOjE3MTQ6XHRcdHJjID0gcnZ1X21ib3hfaGFuZGxlcl9uaXhfYXFfZW5xKHJ2dSwgXHUwMDI2YXFfcmVxLCBcdTAwMjZyc3ApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy0xNzE1LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmM9MjI5Mj1zdGF0aWMgaW50IHJ2dV9kYmdfbml4X3F1ZXVlX2N0eF9kaXNwbGF5KHN0cnVjdCBzZXFfZmlsZSAqZmlscCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTIzNzAtXHRcdFx0ICAgY3R5cGVfc3RyaW5nLCBuaXhsZiwgYXFfcmVxLnFpZHgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzoyMzcxOlx0XHRyYyA9IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShydnUsIFx1MDAyNmFxX3JlcSwgXHUwMDI2cnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjM3Mi1cdFx0aWYgKHJjKSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jPTU4Nz1zdGF0aWMgaW50IG5peF9icF9kaXNhYmxlKHN0cnVjdCBydnUgKnJ2dSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjM5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjY0MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYnBfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjQxLVx0XHRcdFx0ICAgIHN0cnVjdCBuaXhfYnBfY2ZnX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02NDYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NjQ3OmludCBydnVfbWJveF9oYW5kbGVyX25peF9jcHRfYnBfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjQ4LVx0XHRcdFx0XHRzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NzMzPXN0YXRpYyBpbnQgbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTc5My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo3OTQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNzk1LVx0XHRcdFx0ICAgc3RydWN0IG5peF9icF9jZmdfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTgwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo4MDE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2NwdF9icF9lbmFibGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTgwMi1cdFx0XHRcdCAgICAgICBzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9MTQ0Mj1zdGF0aWMgaW50IG5peF9sZl9od2N0eF9sb2NrZG93bihzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0Njg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ2OS1cdFx0XHRcdHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDgwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0ODE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ4Mi1cdFx0XHRcdHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDg4LS8qIENOMTBLIG1ib3ggaGFuZGxlciAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0ODk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2NuMTBrX2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ5MC1cdFx0XHRcdCAgICAgIHN0cnVjdCBuaXhfY24xMGtfYXFfZW5xX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDk2LVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI0MDQ2CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogNjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgoqKkRpdmluZyBpbnRvIHRoZSBNYWlsYm94IEhhbmRsZXImIzM5O3MgVHJhaWwqKgoKTXkgcHJpbWFyeSBjb25jZXJuIHJpZ2h0IG5vdyBpcyB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgbWFpbGJveCBoYW5kbGVyIGZ1bmN0aW9ucyB3aXRoaW4gdGhpcyBNYXJ2ZWxsIE9jdGVvbnR4MiBFdGhlcm5ldCBkcml2ZXIuIEkmIzM5O20gZm9jdXNpbmcgb24gdGhlIGBydnVfcHJvY2Vzc19tYm94X21zZ2AgZnVuY3Rpb24sIHNwZWNpZmljYWxseSwgd2hlcmUgaXQmIzM5O3MgYmVpbmcgY2FsbGVkIGZyb20gd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuY2AuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjYWxsaW5nIGNvbnRleHQ7IG15IGltbWVkaWF0ZSBnb2FsIGlzIHRvIGVzdGFibGlzaCB0aGUgcmVhY2hhYmlsaXR5IG9mIHRoaXMgaGFuZGxlci4gSXMgdGhpcyBmdW5jdGlvbiBhY3R1YWxseSBnZXR0aW5nIGhpdD8gV2hhdCB0cmlnZ2VycyBpdD8gVGhpcyBpcyBjcnVjaWFsIGZvciBkZWJ1Z2dpbmcgYW5kIG9wdGltaXphdGlvbiBlZmZvcnRzLCBiZWNhdXNlIEkgbXVzdCBrbm93IHdoZXRoZXIgdGhlIGRhdGEgcGF0aCBpcyBhY3R1YWxseSBnb2luZyB0aHJvdWdoIG15IGNob3NlbiBmdW5jdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cnZ1X3Byb2Nlc3NfbWJveF9tc2cmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjIyOT1zdGF0aWMgdm9pZCBydnVfbm90aWZ5X2FsdGFmKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIHU2NCBvcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjU1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjI1NjpzdGF0aWMgaW50IHJ2dV9wcm9jZXNzX21ib3hfbXNnKHN0cnVjdCBvdHgyX21ib3ggKm1ib3gsIGludCBkZXZpZCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIyNTctXHRcdFx0XHRzdHJ1Y3QgbWJveF9tc2doZHIgKnJlcSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMzA3PXN0YXRpYyB2b2lkIF9fcnZ1X21ib3hfaGFuZGxlcihzdHJ1Y3QgcnZ1X3dvcmsgKm13b3JrLCBpbnQgdHlwZSwgYm9vbCBwb2xsKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIzNzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMzcyOlx0XHRlcnIgPSBydnVfcHJvY2Vzc19tYm94X21zZyhtYm94LCBkZXZpZCwgbXNnKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIzNzMtXHRcdGlmICghZXJyKSB7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMTk2CgkJCQkJCQlvdXRwdXQ6IDQ0CgkJCQkJCQl0aG91Z2h0czogMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bml4X3J4X3N5bmMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jPTI1MT11MzIgY29udmVydF9ieXRlc190b19kd3JyX210dSh1MzIgYnl0ZXMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTI3MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzoyNzI6c3RhdGljIHZvaWQgbml4X3J4X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkcilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0yNzMte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYz01MzUyPXZvaWQgcnZ1X25peF9sZl90ZWFyZG93bihzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBpbnQgYmxrYWRkciwgaW50IG5peGxmKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy01MzY4LVx0bml4X2ludGVyZmFjZV9kZWluaXQocnZ1LCBwY2lmdW5jLCBuaXhsZik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NTM2OTpcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNTM3MC1cdG5peF90eHNjaHFfZnJlZShydnUsIHBjaWZ1bmMpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYz02MzI3PWludCBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjMzNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo2MzM2Olx0bml4X3J4X3N5bmMocnZ1LCBibGthZGRyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02MzM3LVx0cmV0dXJuIDA7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzODIwCgkJCQkJCQlvdXRwdXQ6IDUzCgkJCQkJCQl0aG91Z2h0czogMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAyNjUsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMjAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDI2NTpcdFx0ZGVmYXVsdDpcbiAyNjY6XHRcdFx0cmV0dXJuIGlsb2cyKGJ5dGVzKTtcbiAyNjc6XHRcdH1cbiAyNjg6XHRcbiAyNjk6XHRcdHJldHVybiAwO1xuIDI3MDpcdH1cbiAyNzE6XHRcbiAyNzI6XHRzdGF0aWMgdm9pZCBuaXhfcnhfc3luYyhzdHJ1Y3QgcnZ1ICpydnUsIGludCBibGthZGRyKVxuIDI3MzpcdHtcbiAyNzQ6XHRcdGludCBlcnI7XG4gMjc1Olx0XG4gMjc2Olx0XHQvKiBTeW5jIGFsbCBpbiBmbGlnaHQgUlggcGFja2V0cyB0byBMTEMvRFJBTSAqL1xuIDI3NzpcdFx0cnZ1X3dyaXRlNjQocnZ1LCBibGthZGRyLCBOSVhfQUZfUlhfU1dfU1lOQywgQklUX1VMTCgwKSk7XG4gMjc4Olx0XHRlcnIgPSBydnVfcG9sbF9yZWcocnZ1LCBibGthZGRyLCBOSVhfQUZfUlhfU1dfU1lOQywgQklUX1VMTCgwKSwgdHJ1ZSk7XG4gMjc5Olx0XHRpZiAoZXJyKVxuIDI4MDpcdFx0XHRkZXZfZXJyKHJ2dS1cdTAwM2VkZXYsIFwmIzM0O1NZTkMxOiBOSVggUlggc29mdHdhcmUgc3luYyBmYWlsZWRcXG5cJiMzNDspO1xuIDI4MTpcdFxuIDI4MjpcdFx0LyogU1dfU1lOQyBlbnN1cmVzIGFsbCBleGlzdGluZyB0cmFuc2FjdGlvbnMgYXJlIGZpbmlzaGVkIGFuZCBwa3RzXG4gMjgzOlx0XHQgKiBhcmUgd3JpdHRlbiB0byBMTEMvRFJBTSwgcXVldWVzIHNob3VsZCBiZSB0ZWFyZWQgZG93biBhZnRlclxuIDI4NDpcdFx0ICogc3VjY2Vzc2Z1bCBTV19TWU5DLiBEdWUgdG8gYSBIVyBlcnJhdGEsIGluIHNvbWUgcmFyZSBzY2VuYXJpb3NcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU2OTQKCQkJCQkJCW91dHB1dDogMjkKCQkJCQkJCXRob3VnaHRzOiA0NTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIFJlYWNoYWJpbGl0eSBpbiBhIFZpcnR1YWxpemVkIEVudmlyb25tZW50KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBmdW5jdGlvbi4gSXQgc2VlbXMgdG8gY2FsbCBgbml4X3J4X3N5bmNgLCB3aGljaCB3cml0ZXMgdG8gYW5kIHBvbGxzIHRoZSBgTklYX0FGX1JYX1NXX1NZTkNgIGhhcmR3YXJlIHJlZ2lzdGVyLiBUaGlzIHNjcmVhbXMgJiMzNDtoYXJkd2FyZS1zcGVjaWZpYyYjMzQ7LiBUaGUga2V5IHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRS4KCkluaXRpYWxseSwgbXkgaW5zdGluY3QgaXMgJiMzNDtuby4mIzM0OyBUaGlzIE1hcnZlbGwgT2N0ZW9uVFgyIGhhcmR3YXJlIGlzbiYjMzk7dCB0eXBpY2FsbHkgZW11bGF0ZWQgaW4gUUVNVS4gVGhlIHByb21wdCYjMzk7cyB3b3JkaW5nIGlzIHRoZSBpbXBvcnRhbnQgZmFjdG9yOiAmIzM0O1JldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMgY29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4uLiBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlJiMzNDsuICBTbywgYWJzZW50IHByb3BlciBoYXJkd2FyZSBlbXVsYXRpb24sIGl0IGxvb2tzIHVucmVhY2hhYmxlIGF0IGZpcnN0IGdsYW5jZS4KCkJ1dCB0aGVuIEkgcmVtZW1iZXIgc3l6a2FsbGVyIGFuZCBpdHMgZ2VuZXJpYyBQQ0kgZnV6emluZyBjYXBhYmlsaXRpZXMhICBTeXprYWxsZXIgY2FuLCBpbiB0aGVvcnksIHByb2JlIHRoZSBkcml2ZXIgYnkgZmFraW5nIHRoZSBQQ0kgSUQuICBJZiBpdCBjYW4gZG8gdGhhdCwgYW5kIHRoZSBkcml2ZXIgbG9hZHMsIHRoZW4gaXQgY291bGQgcG90ZW50aWFsbHkgaW50ZXJhY3Qgd2l0aCB0aGUgZHJpdmVyIGFuZCBzdGFydCB0cmlnZ2VyaW5nIGludGVycnVwdHMgYW5kIHBvcHVsYXRpbmcgdGhlIG1haWxib3ggbWVtb3J5LiAgSXQmIzM5O3MgY29tcGxleCB0aG91Z2gsIHRoaXMgbWFpbGJveCBpbnRlcmFjdGlvbiwgYW5kIHRoZSBoYXJkd2FyZSByZWdpc3RlcnMgYXJlIGNvbXBsZXgsIG1lYW5pbmcgcHJvcGVyIGZ1enppbmcgbWF5IG5vdCBiZSBhY2hpZXZlZC4KCldhaXQgYSBzZWNvbmQsIHN5emthbGxlciBkb2VzIGluZGVlZCBmdXp6IFBDSSBkcml2ZXJzIGJ5IGZha2luZyB0aGUgUENJIElEIGFuZCB0aGVuIGZ1enppbmcgdGhlIE1NSU8gcmVnaW9ucyBhbmQgaW50ZXJydXB0cy4gSWYgc3l6a2FsbGVyIGZha2VzIHRoZSBQQ0kgSUQsIGFuZCB0aGUgZHJpdmVyIHByb2JlcywgdGhlbiBpdCB3aWxsIGdldCB0byBleGVjdXRlIHRoaXMgY29kZS4gSXQgd291bGQgYmUgYWJsZSB0byB0cmlnZ2VyIGludGVycnVwdHMgYW5kIHBvcHVsYXRlIHRoZSBtYWlsYm94IG1lbW9yeS4gVGhpcyBtZWFucyBpdCAqY291bGQqIHJlYWNoIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYC4gIAoKSG93ZXZlciwgaXMgaXQgJiMzNDtpbXBvc3NpYmxlIHRvIHJlYWNoJiMzNDs/IFRoZSBwcm9tcHQgaGFzIHRoYXQgdmVyeSBzcGVjaWZpYyAmIzM0O2V2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUmIzM0OyBwaHJhc2UuICBTeXprYWxsZXImIzM5O3MgUENJIGZ1enplciAqaXMqIGEgZm9ybSBvZiBzb2Z0d2FyZSBlbXVsYXRpb24g4oCTIGl0IGVtdWxhdGVzIHRoZSBQQ0kgY29uZmlnIHNwYWNlLCBCQVJzLCBhbmQgaW50ZXJydXB0cy4gIFNvLCBpZiBzeXprYWxsZXIgY2FuIHJlYWNoIGl0LCBpdCYjMzk7cyB0ZWNobmljYWxseSByZWFjaGFibGUgYW5kIHRoZXJlZm9yZSB3b3VsZCBiZSB3b3J0aCBmdXp6aW5nLCBiYXNlZCBvbiB0aGUgcHJvbXB0LgoKQW0gSSBvdmVydGhpbmtpbmcgdGhpcz8gIEkgbmVlZCB0byBnZXQgc29tZSBtb3JlIGNvbnRleHQgdG8gbWFrZSBhIGRldGVybWluYXRpb24uICBMZXQgbWUgY2hlY2sgaWYgc3l6a2FsbGVyIGlzIGFscmVhZHkgZnV6emluZyBgb2N0ZW9udHgyYC4gIEkgbmVlZCB0byBjaGVjayBmb3IgYW55IGV4aXN0aW5nIHN5emJvdCBidWdzIHJlcG9ydGVkIHJlbGF0ZWQgdG8gdGhpcyBoYXJkd2FyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7b2N0ZW9udHgyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7TUFJTlRBSU5FUlMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7TUFJTlRBSU5FUlM9MTU2NDY9RjpcdGRyaXZlcnMvY3J5cHRvL21hcnZlbGwvXG5NQUlOVEFJTkVSUzoxNTY0NzpGOlx0aW5jbHVkZS9saW51eC9zb2MvbWFydmVsbC9vY3Rlb250eDIvXG5NQUlOVEFJTkVSUy0xNTY0OC1cbi0tXG5NQUlOVEFJTkVSUz0xNTc0MD1TOlx0TWFpbnRhaW5lZFxuTUFJTlRBSU5FUlM6MTU3NDE6RjpcdGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9cbk1BSU5UQUlORVJTOjE1NzQyOkY6XHRpbmNsdWRlL2xpbnV4L3NvYy9tYXJ2ZWxsL29jdGVvbnR4Mi9cbk1BSU5UQUlORVJTLTE1NzQzLVxuLS1cbk1BSU5UQUlORVJTPTE1NzUwPVM6XHRNYWludGFpbmVkXG5NQUlOVEFJTkVSUzoxNTc1MTpGOlx0RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyLnJzdFxuTUFJTlRBSU5FUlM6MTU3NTI6RjpcdGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL1xuTUFJTlRBSU5FUlMtMTU3NTMtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2OTc1CgkJCQkJCQlvdXRwdXQ6IDEwOAoJCQkJCQkJdGhvdWdodHM6IDE5MjMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgdGhlIE9jdGVvblRYMiBBRiBEcml2ZXIgUGF0Y2ggZm9yIEZ1enppbmcqKgoKT2theSwgc28gSSBjYW4mIzM5O3QgZGlyZWN0bHkgY2hlY2sgc3l6Ym90IGJ1ZyByZXBvcnRzIHJpZ2h0IG5vdywgYnV0IEkgY2FuIGZpZ3VyZSBvdXQgaWYgdGhlIGRyaXZlciBpcyB0eXBpY2FsbHkgaW5jbHVkZWQgaW4gc3l6a2FsbGVyJiMzOTtzIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24uIFRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBvbmx5IGxpc3QgY29uZmlncyBzcGVjaWZpYyB0byB0aGUgbW9kaWZpZWQgY29kZSwgYW5kIGRvbiYjMzk7dCBhZGQgJiMzNDtDT05GSUdcXyYjMzQ7IHByZWZpeGVzLiBTaW5jZSBJJiMzOTttIGJlaW5nIGFza2VkIHRvIGRldGVybWluZSBgV29ydGhGdXp6aW5nYCwgSSBuZWVkIHRvIGFzc2VzcyBpZiB0aGlzIHBhdGNoIGludHJvZHVjZXMgbmV3LCByZWFjaGFibGUgZnVuY3Rpb25hbGl0eS4KClRoZSBwcm9tcHQgc3BlY2lmaWNhbGx5IHNheXMgdG8gc2V0IGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIGl0IGNvbmNlcm5zIGNvZGUgdGhhdCYjMzk7cyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXphdGlvbi4gU28sIGlzIHRoaXMgY29kZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggZW11bGF0ZWQgaGFyZHdhcmU/IFRoZSBrZXkgaXMgd2hldGhlciB0aGUgUENJIGZ1enplciBjYW4gaGl0IGl0LgoKTGV0JiMzOTtzIGxvb2sgYXQgdGhlIGZ1bmN0aW9uIGluIHF1ZXN0aW9uLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuIEl0IHRha2VzIGBydnVgLCBgcmVxYCwgYW5kIGByc3BgIHN0cnVjdHMuIEl0IGNhbGxzIGBydnVfZ2V0X2Jsa2FkZHJgLCB3aGljaCBsb29rcyB1cCBhIGJsb2NrIGFkZHJlc3MsIGFuZCB0aGVuIGVpdGhlciByZXR1cm5zIGFuIGVycm9yIG9yIGNhbGxzIGBuaXhfcnhfc3luY2AuIGBuaXhfcnhfc3luY2AgdGhlbiBkb2VzIHNvbWUgbWVtb3J5IGFjY2VzcyB2aWEgYHJ2dV93cml0ZTY0YCBhbmQgYHJ2dV9wb2xsX3JlZ2AuIFRoaXMgYHJ2dV9wb2xsX3JlZ2Agc3VnZ2VzdHMgcG90ZW50aWFsIGludGVyYWN0aW9uIHdpdGggTU1JTyByZWdpc3RlcnMsIGFuZCB0aGUgUENJIGZ1enplciAqZG9lcyogZnV6eiBNTUlPLiBJdCB3aWxsIHByb3ZpZGUgcmFuZG9tIHZhbHVlcyBoZXJlIGFuZCBwb3RlbnRpYWxseSB0cmlnZ2VyIGludGVyZXN0aW5nIGJlaGF2aW9yLiBUaGUgZnVuY3Rpb24gaXRzZWxmIGlzIHJlbGF0aXZlbHkgc2ltcGxlLCBhY3RpbmcgYXMgYSBtYWlsYm94IGhhbmRsZXIuCgpHaXZlbiBpdCYjMzk7cyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYW5kIHRodXMgYSBmdW5jdGlvbmFsIGNoYW5nZSwgaWYgdGhlIFBDSSBmdXp6ZXIgY2FuIGFjY2VzcyB0aGlzIGNvZGUsIGl0JiMzOTtzIHdvcnRoIGZ1enppbmcuIEkmIzM5O2xsIGFzc3VtZSBpdCYjMzk7cyByZWFjaGFibGUuCgpOb3csIGRvZXMgdGhlIGRyaXZlciBldmVuIGNvbXBpbGU/IExvb2tpbmcgYXQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL0tjb25maWdgLCBpdCBkZXBlbmRzIG9uIGVpdGhlciBgNjRCSVQgJmFtcDsmYW1wOyBDT01QSUxFX1RFU1RgIG9yIGBBUk02NGAuIFN5emthbGxlciBjb21tb25seSBydW5zIG9uIHg4Nl82NCwgd2hpY2ggaXMgd2hhdCBJJiMzOTttIGV4cGVjdGluZy4gSXQgdXN1YWxseSBlbmFibGVzIGBDT01QSUxFX1RFU1RgIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGNvZGUgc2hvdWxkIGJlIGNvbXBpbGVkLiBJdCBzaG91bGQgYmUgcmVhY2hhYmxlLiBUaHVzLCBJJiMzOTtsbCBzZXQgYEVuYWJsZUNvbmZpZ3NgIHRvIGBPQ1RFT05UWDJfQUZgIGFuZCBgV29ydGhGdXp6aW5nPXRydWVgLiBUaGUgYEZvY3VzU3ltYm9sc2Agd2lsbCBiZSBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuCgpJIHNob3VsZCBiZSB0aG9yb3VnaCBoZXJlIGFuZCBkb3VibGUgY2hlY2sgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBmdW5jdGlvbnMgaW52b2x2ZWQsIHRob3VnaCB0aGUgZGlmZiBsb29rcyBsaWtlIGl0IGp1c3QgYWRkZWQgdGhpcyBuZXcgaGFuZGxlci4gWWVzLCBpdCBvbmx5IGFkZHMgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGFuZCB0aGUgbWFjcm8gZW50cnkgaW4gYG1ib3guaGAsIHRoZSBwYXRjaGVkIGZ1bmN0aW9uIGBuaXhfcnhfc3luY2AgaXMgYWxyZWFkeSBleGlzdGluZy4KCkkgaGF2ZSB0byBtYWtlIHN1cmUgSSBnZXQgdGhlIGNvbmZpZyByaWdodC4gVGhlIHBhdGNoIGp1c3QgYWRkcyBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgZm9yIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIsIHdoaWNoIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgcmVhY2hhYmxlIHZpYSBQQ0kgZnV6emluZy4gTG9va2luZyBhdCB0aGUgS2NvbmZpZywgYE9DVEVPTlRYMl9BRmAgYWxzbyBzZWxlY3RzIGBPQ1RFT05UWDJfTUJPWGAsIHNvIEkgb25seSBuZWVkIHRvIHNwZWNpZnkgYE9DVEVPTlRYMl9BRmAuIEkmIzM5O20gY29uZmlkZW50IGluIHRoZSByZWFzb25pbmcgbm93LiBJdCBzaG91bGQgd29yay4gRmluYWxseSwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGlzICpub3QqIHN0YXRpYywgc28gaXQmIzM5O3MgYWNjZXNzaWJsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09DVEVPTlRYMl9BRiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtPQ1RFT05UWDJfQUYmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBuZXcgbWFpbGJveCBoYW5kbGVyIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBmb3IgdGhlIE1hcnZlbGwgT2N0ZW9uVFgyIEFGIGRyaXZlci4gVGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUgdGhhdCBjYW4gYmUgcmVhY2hlZCBhbmQgdGVzdGVkIHZpYSBQQ0kgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA3OjQzLjYyODIxMDIyN1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2Mzk2ODc0MTc3NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJPQ1RFT05UWDJfQUZcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowNzo0My42MjgyMTQ5OTdaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUyMDk1Njc1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGY0ZWFlNjQ3MTllMTZkZjM3NGYwNWYyMmQ2YTY4ODQ0M2UzN2Y5NWZcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFR1ZSBKdWwgMTQgMDY6MDc6NDIgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oXFxuaW5kZXggZjg3Y2RmMWI5NzFkYjEuLjkyMTc1ZGUwMzZkNWU4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxcbkBAIC0zNjIsNiArMzYyLDcgQEAgTShOSVhfQ1BUX0JQX0VOQUJMRSwgICAgMHg4MDIwLCBuaXhfY3B0X2JwX2VuYWJsZSwgbml4X2JwX2NmZ19yZXEsXFx0ICAgIFxcXFxcXG4gXFx0XFx0XFx0XFx0bml4X2JwX2NmZ19yc3ApXFx0XFx0XFx0XFx0ICAgIFxcXFxcXG4gTShOSVhfQ1BUX0JQX0RJU0FCTEUsICAgMHg4MDIxLCBuaXhfY3B0X2JwX2Rpc2FibGUsIG5peF9icF9jZmdfcmVxLFxcdCAgICBcXFxcXFxuIFxcdFxcdFxcdFxcdG1zZ19yc3ApXFx0XFx0XFx0XFx0XFxcXFxcbitNKE5JWF9SWF9TV19TWU5DLFxcdDB4ODAyMiwgbml4X3J4X3N3X3N5bmMsIG1zZ19yZXEsIG1zZ19yc3ApXFx0XFx0XFxcXFxcbiBNKE5JWF9SRUFEX0lOTElORV9JUFNFQ19DRkcsIDB4ODAyMywgbml4X3JlYWRfaW5saW5lX2lwc2VjX2NmZyxcXHRcXHRcXFxcXFxuIFxcdFxcdFxcdFxcdG1zZ19yZXEsIG5peF9pbmxpbmVfaXBzZWNfY2ZnKVxcdFxcdFxcXFxcXG4gTShOSVhfTUNBU1RfR1JQX0NSRUFURSxcXHQweDgwMmIsIG5peF9tY2FzdF9ncnBfY3JlYXRlLCBuaXhfbWNhc3RfZ3JwX2NyZWF0ZV9yZXEsXFx0XFxcXFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcXG5pbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXFxuQEAgLTYzMjQsNiArNjMyNCwxOSBAQCBpbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYmFuZHByb2ZfZ2V0X2h3aW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG4raW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbitcXHRcXHRcXHRcXHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4re1xcbitcXHRpbnQgYmxrYWRkcjtcXG4rXFxuK1xcdGJsa2FkZHIgPSBydnVfZ2V0X2Jsa2FkZHIocnZ1LCBCTEtUWVBFX05JWCwgcmVxLVxcdTAwM2VoZHIucGNpZnVuYyk7XFxuK1xcdGlmIChibGthZGRyIFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIE5JWF9BRl9FUlJfQUZfTEZfSU5WQUxJRDtcXG4rXFxuK1xcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XFxuK1xcdHJldHVybiAwO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IG5peF9tY2FzdF9ncnBfZWxlbSAqcnZ1X25peF9tY2FzdF9maW5kX2dycF9lbGVtKHN0cnVjdCBuaXhfbWNhc3RfZ3JwICptY2FzdF9ncnAsXFxuIFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgIHUzMiBtY2FzdF9ncnBfaWR4KVxcbiB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA3OjQ0LjE0OTkwMjg3N1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTYzNDQ3MDM1MDI0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk9DVEVPTlRYMl9BRlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgbmV3IG1haWxib3ggaGFuZGxlciBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgZm9yIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIuIFRoaXMgaXMgZnVuY3Rpb25hbCBjb2RlIHRoYXQgY2FuIGJlIHJlYWNoZWQgYW5kIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjRlYWU2NDcxOWUxNmRmMzc0ZjA1ZjIyZDZhNjg4NDQzZTM3Zjk1ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVsIDE0IDA2OjA3OjQyIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oXG5pbmRleCBmODdjZGYxYjk3MWRiMS4uOTIxNzVkZTAzNmQ1ZTggMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmhcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxuQEAgLTM2Miw2ICszNjIsNyBAQCBNKE5JWF9DUFRfQlBfRU5BQkxFLCAgICAweDgwMjAsIG5peF9jcHRfYnBfZW5hYmxlLCBuaXhfYnBfY2ZnX3JlcSxcdCAgICBcXFxuIFx0XHRcdFx0bml4X2JwX2NmZ19yc3ApXHRcdFx0XHQgICAgXFxcbiBNKE5JWF9DUFRfQlBfRElTQUJMRSwgICAweDgwMjEsIG5peF9jcHRfYnBfZGlzYWJsZSwgbml4X2JwX2NmZ19yZXEsXHQgICAgXFxcbiBcdFx0XHRcdG1zZ19yc3ApXHRcdFx0XHRcXFxuK00oTklYX1JYX1NXX1NZTkMsXHQweDgwMjIsIG5peF9yeF9zd19zeW5jLCBtc2dfcmVxLCBtc2dfcnNwKVx0XHRcXFxuIE0oTklYX1JFQURfSU5MSU5FX0lQU0VDX0NGRywgMHg4MDIzLCBuaXhfcmVhZF9pbmxpbmVfaXBzZWNfY2ZnLFx0XHRcXFxuIFx0XHRcdFx0bXNnX3JlcSwgbml4X2lubGluZV9pcHNlY19jZmcpXHRcdFxcXG4gTShOSVhfTUNBU1RfR1JQX0NSRUFURSxcdDB4ODAyYiwgbml4X21jYXN0X2dycF9jcmVhdGUsIG5peF9tY2FzdF9ncnBfY3JlYXRlX3JlcSxcdFxcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXG5pbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY1xuQEAgLTYzMjQsNiArNjMyNCwxOSBAQCBpbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYmFuZHByb2ZfZ2V0X2h3aW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZVxuIFx0cmV0dXJuIDA7XG4gfVxuIFxuK2ludCBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbitcdFx0XHRcdCAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuK3tcbitcdGludCBibGthZGRyO1xuK1xuK1x0YmxrYWRkciA9IHJ2dV9nZXRfYmxrYWRkcihydnUsIEJMS1RZUEVfTklYLCByZXEtXHUwMDNlaGRyLnBjaWZ1bmMpO1xuK1x0aWYgKGJsa2FkZHIgXHUwMDNjIDApXG4rXHRcdHJldHVybiBOSVhfQUZfRVJSX0FGX0xGX0lOVkFMSUQ7XG4rXG4rXHRuaXhfcnhfc3luYyhydnUsIGJsa2FkZHIpO1xuK1x0cmV0dXJuIDA7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3Qgbml4X21jYXN0X2dycF9lbGVtICpydnVfbml4X21jYXN0X2ZpbmRfZ3JwX2VsZW0oc3RydWN0IG5peF9tY2FzdF9ncnAgKm1jYXN0X2dycCxcbiBcdFx0XHRcdFx0XHRcdCAgICAgIHUzMiBtY2FzdF9ncnBfaWR4KVxuIHtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA3OjQ0LjE0OTkwNDU2N1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE5NTIwOTMzNzU2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIFBvdGVudGlhbGx5IFVucmVhY2hhYmxlIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IHRvdWNoZXMgYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaGAgYW5kIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNgLiBJdCBsb29rcyBsaWtlIGl0J3MgYWRkaW5nIGEgbmV3IG1haWxib3ggbWVzc2FnZSwgYE5JWF9SWF9TV19TWU5DYCwgYW5kIGEgY29ycmVzcG9uZGluZyBoYW5kbGVyLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuIFNlZW1zIHN0cmFpZ2h0Zm9yd2FyZCBlbm91Z2gsIGJ1dCB0aGUgdGFyZ2V0IGhhcmR3YXJlIGlzIGEgTWFydmVsbCBPY3Rlb25UWDIuIFRoYXQgaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZyBmb3IgbWUuXG5cbk15IGltbWVkaWF0ZSBxdWVzdGlvbiBpczogSXMgdGhpcyBjb2RlIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB0eXBpY2FsIGZ1enppbmcgZW52aXJvbm1lbnQsIGVzcGVjaWFsbHkgdXNpbmcgc29tZXRoaW5nIGxpa2Ugc3l6a2FsbGVyPyBUaGVzZSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXJzLCBsaWtlIHRoZSBPY3Rlb25UWDIsIGFyZSBnZW5lcmFsbHkgbm90IGFjY2Vzc2libGUgdW5sZXNzIHRoZXJlJ3MgZWl0aGVyIHZlcnkgc3BlY2lmaWMgc29mdHdhcmUgZW11bGF0aW9uIG9yIHNvbWUgZm9ybSBvZiBQQ0kgcGFzc3Rocm91Z2ggaW4gcGxhY2UsIGFuZCBzeXprYWxsZXIgcmFyZWx5IGhhcyB0aG9zZSBzZXR1cHMgcmVhZGlseSBhdmFpbGFibGUgZm9yIHRoaXMgdHlwZSBvZiBkZXZpY2UuXG5cblRoZXJlZm9yZSwgdGhlIG5leHQgc3RlcCBpcyB0byBpbnZlc3RpZ2F0ZSBpZiBhbnkgT2N0ZW9uVFgyIHNvZnR3YXJlIGVtdWxhdGlvbiBleGlzdHMuIEknbGwgbmVlZCB0byBkbyBhIGtlcm5lbCBzZWFyY2ggZm9yIGBvY3Rlb250eDJgIHRvIHNlZSBpZiBhbnl0aGluZyBqdW1wcyBvdXQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0MzEsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowODowMy42NzA4NDA5MzNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ1OTAxODU2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9jdGVvbnR4MlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL0tjb25maWc9MTY5PWNvbmZpZyBTS1kyX0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL0tjb25maWctMTc5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvS2NvbmZpZzoxODA6c291cmNlIFxcXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9LY29uZmlnXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvS2NvbmZpZy0xODEtc291cmNlIFxcXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbl9lcC9LY29uZmlnXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9NYWtlZmlsZT0xNT1vYmoteVxcdFxcdCs9IG9jdGVvbl9lcF92Zi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL01ha2VmaWxlOjE2Om9iai15XFx0XFx0Kz0gb2N0ZW9udHgyL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGUtMTctb2JqLXlcXHRcXHQrPSBwcmVzdGVyYS9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzoyODojZGVmaW5lIERFQlVHRlNfRElSX05BTUUgXFxcIm9jdGVvbnR4MlxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTI5LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYz00MDEzPXN0YXRpYyBjb25zdCBjaGFyICpydnVfZ2V0X2RiZ19kaXJfbmFtZShzdHJ1Y3QgcnZ1ICpydnUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTQwMjAtXFx0ZWxzZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmM6NDAyMTpcXHRcXHRyZXR1cm4gXFxcIm9jdGVvbnR4MlxcXCI7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy00MDIyLX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZXZsaW5rLmMtMTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYzoxNjojZGVmaW5lIERSVl9OQU1FIFxcXCJvY3Rlb250eDItYWZcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYy0xNy1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZT0xOD1ydnVfbmljcGYtJChDT05GSUdfWEZSTV9PRkZMT0FEKSArPSBjbjEwa19pcHNlYy5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL01ha2VmaWxlLTE5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZToyMDpjY2ZsYWdzLXkgKz0gLUkkKHNyY3RyZWUpL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvb3R4Ml9jb21tb24uaC0xNy0jaW5jbHVkZSBcXHUwMDNjbGludXgvc29jL21hcnZlbGwvc2lsaWNvbnMuaFxcdTAwM2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvb3R4Ml9jb21tb24uaDoxODojaW5jbHVkZSBcXHUwMDNjbGludXgvc29jL21hcnZlbGwvb2N0ZW9udHgyL2FzbS5oXFx1MDAzZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9vdHgyX2NvbW1vbi5oLTE5LSNpbmNsdWRlIFxcdTAwM2NuZXQvbWFjc2VjLmhcXHUwMDNlXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvcW9zLmM9MTExNT1zdGF0aWMgaW50IG90eDJfcW9zX3ZhbGlkYXRlX3F1YW50dW0oc3RydWN0IG90eDJfbmljICpwZnZmLCB1MzIgcXVhbnR1bSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9xb3MuYy0xMTE5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9xb3MuYzoxMTIwOlxcdC8qIE1heCBSb3VuZCByb2JpbiB3ZWlnaHQgc3VwcG9ydGVkIGJ5IG9jdGVvbnR4MiBhbmQgQ04xMEtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvcW9zLmMtMTEyMS1cXHQgKiBpcyBkaWZmZXJlbnQuIFZhbGlkYXRlIGFjY29yZGluZ2x5XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA4OjAzLjgxNjc0ODc2WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTcwOTY5NTQ3NjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOZXcgTWFpbGJveCBIYW5kbGVyKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1haWxib3ggaGFuZGxlciwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgLCBhbmQgaXQncyBuZXN0bGVkIGRlZXAgd2l0aGluIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIsIHNwZWNpZmljYWxseSBpbiBgcnZ1X25peC5jYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZpZ3VyZSBvdXQgdGhlIGVuYWJsaW5nIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZmVhdHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGUgYEtjb25maWdgIGZpbGUgaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL0tjb25maWdgLiBUaGlzIHdpbGwgdGVsbCB1cyB1bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMgdGhpcyBoYW5kbGVyIGlzIGNvbXBpbGVkIGludG8gdGhlIGRyaXZlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGRlcGVuZGVuY2llcyBhbmQgY29uZmlndXJhdGlvbnMgdGllZCB0byB0aGlzIG5ldyBzeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNzU4LCJPdXRwdXRUb2tlbnMiOjQ1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTA0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA4OjIwLjkxMzcwNjM1NloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjcwOTMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL0tjb25maWdcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIE1hcnZlbGwgUlZVIE5ldHdvcmsgZHJpdmVycyBjb25maWd1cmF0aW9uXFxuICAgNDpcXHQjXFxuICAgNTpcXHRcXG4gICA2OlxcdGNvbmZpZyBPQ1RFT05UWDJfTUJPWFxcbiAgIDc6XFx0XFx0dHJpc3RhdGVcXG4gICA4OlxcdFxcbiAgIDk6XFx0Y29uZmlnIE9DVEVPTlRYMl9BRlxcbiAgMTA6XFx0XFx0dHJpc3RhdGUgXFxcIk1hcnZlbGwgT2N0ZW9uVFgyIFJWVSBBZG1pbiBGdW5jdGlvbiBkcml2ZXJcXFwiXFxuICAxMTpcXHRcXHRzZWxlY3QgT0NURU9OVFgyX01CT1hcXG4gIDEyOlxcdFxcdHNlbGVjdCBORVRfREVWTElOS1xcbiAgMTM6XFx0XFx0ZGVwZW5kcyBvbiAoNjRCSVQgXFx1MDAyNlxcdTAwMjYgQ09NUElMRV9URVNUKSB8fCBBUk02NFxcbiAgMTQ6XFx0XFx0ZGVwZW5kcyBvbiBQQ0lcXG4gIDE1OlxcdFxcdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tfT1BUSU9OQUxcXG4gIDE2OlxcdFxcdGhlbHBcXG4gIDE3OlxcdFxcdCAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWFydmVsbCdzIE9jdGVvblRYMiBSZXNvdXJjZSBWaXJ0dWFsaXphdGlvblxcbiAgMTg6XFx0XFx0ICBVbml0J3MgYWRtaW4gZnVuY3Rpb24gbWFuYWdlciB3aGljaCBtYW5hZ2VzIGFsbCBSVlUgSFcgcmVzb3VyY2VzXFxuICAxOTpcXHRcXHQgIGFuZCBwcm92aWRlcyBhIG1lZGl1bSB0byBvdGhlciBQRi9WRnMgdG8gY29uZmlndXJlIEhXLiBTaG91bGQgYmVcXG4gIDIwOlxcdFxcdCAgZW5hYmxlZCBmb3Igb3RoZXIgUlZVIGRldmljZSBkcml2ZXJzIHRvIHdvcmsuXFxuICAyMTpcXHRcXG4gIDIyOlxcdGNvbmZpZyBORENfRElTX0RZTkFNSUNfQ0FDSElOR1xcbiAgMjM6XFx0XFx0Ym9vbCBcXFwiRGlzYWJsZSBjYWNoaW5nIG9mIGR5bmFtaWMgZW50cmllcyBpbiBORENcXFwiXFxuICAyNDpcXHRcXHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9BRlxcbiAgMjU6XFx0XFx0ZGVmYXVsdCBuXFxuICAyNjpcXHRcXHRoZWxwXFxuICAyNzpcXHRcXHQgIFRoaXMgY29uZmlnIG9wdGlvbiBkaXNhYmxlcyBjYWNoaW5nIG9mIGR5bmFtaWMgZW50cmllcyBzdWNoIGFzIE5JWCBTUUVzXFxuICAyODpcXHRcXHQgICwgTlBBIHN0YWNrIHBhZ2VzIGV0YyBpbiBOREMuIEFsc28gbG9ja3MgZG93biBOSVggU1EvQ1EvUlEvUlNTIGFuZFxcbiAgMjk6XFx0XFx0ICBOUEEgQXVyYS9Qb29sIGNvbnRleHRzLlxcbiAgMzA6XFx0XFxuICAzMTpcXHRjb25maWcgT0NURU9OVFgyX1BGXFxuICAzMjpcXHRcXHR0cmlzdGF0ZSBcXFwiTWFydmVsbCBPY3Rlb25UWDIgTklDIFBoeXNpY2FsIEZ1bmN0aW9uIGRyaXZlclxcXCJcXG4gIDMzOlxcdFxcdHNlbGVjdCBPQ1RFT05UWDJfTUJPWFxcbiAgMzQ6XFx0XFx0c2VsZWN0IE5FVF9ERVZMSU5LXFxuICAzNTpcXHRcXHRzZWxlY3QgUEFHRV9QT09MXFxuICAzNjpcXHRcXHRzZWxlY3QgQ1JZUFRPX0xJQl9BRVMgaWYgTUFDU0VDXFxuICAzNzpcXHRcXHRkZXBlbmRzIG9uICg2NEJJVCBcXHUwMDI2XFx1MDAyNiBDT01QSUxFX1RFU1QpIHx8IEFSTTY0XFxuICAzODpcXHRcXHRzZWxlY3QgRElNTElCXFxuICAzOTpcXHRcXHRkZXBlbmRzIG9uIFBDSVxcbiAgNDA6XFx0XFx0ZGVwZW5kcyBvbiBQVFBfMTU4OF9DTE9DS19PUFRJT05BTFxcbiAgNDE6XFx0XFx0ZGVwZW5kcyBvbiBNQUNTRUMgfHwgIU1BQ1NFQ1xcbiAgNDI6XFx0XFx0aGVscFxcbiAgNDM6XFx0XFx0ICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNYXJ2ZWxsJ3MgT2N0ZW9uVFgyIE5JQyBwaHlzaWNhbCBmdW5jdGlvbi5cXG4gIDQ0OlxcdFxcbiAgNDU6XFx0Y29uZmlnIE9DVEVPTlRYMl9WRlxcbiAgNDY6XFx0XFx0dHJpc3RhdGUgXFxcIk1hcnZlbGwgT2N0ZW9uVFgyIE5JQyBWaXJ0dWFsIEZ1bmN0aW9uIGRyaXZlclxcXCJcXG4gIDQ3OlxcdFxcdGRlcGVuZHMgb24gT0NURU9OVFgyX1BGXFxuICA0ODpcXHRcXHRoZWxwXFxuICA0OTpcXHRcXHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwncyBPY3Rlb25UWDIgTklDIHZpcnR1YWwgZnVuY3Rpb24uXFxuICA1MDpcXHRcXG4gIDUxOlxcdGNvbmZpZyBSVlVfRVNXSVRDSFxcbiAgNTI6XFx0XFx0dHJpc3RhdGUgXFxcIk1hcnZlbGwgUlZVIEUtU3dpdGNoIHN1cHBvcnRcXFwiXFxuICA1MzpcXHRcXHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9QRlxcbiAgNTQ6XFx0XFx0ZGVmYXVsdCBtXFxuICA1NTpcXHRcXHRoZWxwXFxuICA1NjpcXHRcXHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwncyBSVlUgRS1Td2l0Y2ggdGhhdFxcbiAgNTc6XFx0XFx0ICBwcm92aWRlcyBpbnRlcm5hbCBTUklPViBwYWNrZXQgc3RlZXJpbmcgYW5kIHN3aXRjaGluZy5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDg6MjAuOTEzNzc4Nzc2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTQwMjc2NzE0NzcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgYE9DVEVPTlRYMl9BRmAgQ29kZSBQYXRocyoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29uZmlndXJhdGlvbiwgYE9DVEVPTlRYMl9BRmAuIEl0IGhpbmdlcyBvbiBhIGZldyBkZXBlbmRlbmNpZXM6IGAoNjRCSVQgXHUwMDI2XHUwMDI2IENPTVBJTEVfVEVTVCkgfHwgQVJNNjRgIGFuZCwgY3J1Y2lhbGx5LCBgUENJYC4gR2l2ZW4gdGhhdCB0aGlzIGlzIGEgZHJpdmVyIHNwZWNpZmljYWxseSBmb3IgdGhlIE1hcnZlbGwgT2N0ZW9uVFgyLCBteSBpbW1lZGlhdGUgdGhvdWdodCBpcyB0aGF0IGl0J3MgZ29pbmcgdG8gYmUgdmVyeSBoYXJkd2FyZS1zcGVjaWZpYy4gQSBQQ0kgZHJpdmVyIGxpa2UgdGhpcyBpc24ndCBnb2luZyB0byBmdW5jdGlvbiBuYXRpdmVseSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50IGxpa2UgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUsIGF0IGxlYXN0IG5vdCB3aXRob3V0IHNvbWUgaGVhdnkgbGlmdGluZyBpbiB0ZXJtcyBvZiBoYXJkd2FyZSBlbXVsYXRpb24gb3IgUENJIHBhc3N0aHJvdWdoLlxuXG5Ob3csIGhvbGQgb24uLi4gaWYgc3l6a2FsbGVyIGlzIHRoZSB0ZXN0aW5nIGZyYW1ld29yaywgSSdtIHByZXR0eSBjb25maWRlbnQgdGhhdCBpdCBkb2Vzbid0IGVtdWxhdGUgTWFydmVsbCBPY3Rlb25UWDIgaGFyZHdhcmUgc3BlY2lmaWNhbGx5LiBUaGF0IG1lYW5zIHRoZSBjb2RlIHBhdGhzIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jYCBhcmUgZXNzZW50aWFsbHkgZGVhZCBlbmRzIGluIHRoZXNlIHZpcnR1YWxpemVkIHNjZW5hcmlvcy4gVGhleSdyZSB1bnJlYWNoYWJsZSB3aXRob3V0IHZlcnkgc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgdW5saWtlbHkgdG8gYmUgcHJlc2VudCBpbiB0eXBpY2FsIHN5emthbGxlciB0ZXN0aW5nLlxuXG5JIG5lZWQgdG8gY29uZmlybSB0aGlzIHRob3VnaC4gQmVmb3JlIEkgd3JpdGUgdGhpcyBvZmYgY29tcGxldGVseSwgSSBzaG91bGQgZG91YmxlLWNoZWNrLiBJJ2xsIHNlYXJjaCB0aGUgZG9jdW1lbnRhdGlvbiBkaXJlY3RvcmllcyAtIGBEb2N1bWVudGF0aW9uL2AsIGB0b29scy9gLCBhbmQgYWxzbyB0aGUgZHJpdmVyIGRpcmVjdG9yeSBpdHNlbGYsIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9gLiBJJ2xsIGxvb2sgZm9yIGFueSBtZW50aW9uIG9mIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhlIGBvY3Rlb250eDJgIGRldmljZSB0byBlbnN1cmUgSSBhbSBub3QgbWlzc2luZyBzb21ldGhpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUwNjIsIk91dHB1dFRva2VucyI6MjcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDgsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowODozNC45NDE0NjAwMDNaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMzNTEzOTkzLCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJvY3Rlb250eDJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwidG9vbHMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowODozNS4yNzQ5ODkyOTZaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyODYyOTI0NjQ5MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipSZWFjaGluZyB0aGUgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIEhhbmRsZXI6IEEgRnV6emluZyBQZXJzcGVjdGl2ZSoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIsIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCwgZm9yIHRoZSBgTklYX1JYX1NXX1NZTkNgIG1lc3NhZ2Ugd2l0aGluIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBSVlUgQWRtaW4gRnVuY3Rpb24gZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSwgYW5kIEkgbmVlZCB0byBhc3Nlc3MgaXRzIGZ1enppbmcgcG90ZW50aWFsLiBUaGUgZHJpdmVyJ3MgZW5hYmxlZCBieSBgQ09ORklHX09DVEVPTlRYMl9BRmAsIHNvIHRoYXQncyB0aGUgc3RhcnRpbmcgcG9pbnQuXG5cbk15IGluaXRpYWwgdGhvdWdodCBpcywgdGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIE9jdGVvblRYMiwgbWVhbmluZyB1bmxlc3MgdGhhdCBzcGVjaWZpYyBoYXJkd2FyZSBpcyBwcmVzZW50IG9yIGVtdWxhdGVkLCB0aGUgY29kZSBpcyBsaWtlbHkgdW5yZWFjaGFibGUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHdlIGNhbiBldmVuICp0cmlnZ2VyKiB0aGlzIGhhbmRsZXIuIE15IGV4cGVydGlzZSB0ZWxscyBtZSB0aGF0IGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcG9zZSBhIGNoYWxsZW5nZSBiZWNhdXNlIHRoZXkgcmVseSBvbiBzcGVjaWZpYyBQQ0kgZGV2aWNlcy4gSSBrbm93IHRoYXQgYHN5emthbGxlcmAgaGFzIG1lY2hhbmlzbXMgbGlrZSBgc3l6X3BjaV9kZXZpY2VgIHRvIGZ1enogUENJIGRldmljZXMsIG9yIG1heWJlIGl0IGNvdWxkIGJlIHJlYWNoZWQgdmlhIGNoYXJhY3RlciBkZXZpY2VzIG9yIG5ldGxpbmssIG9yIHRoZSBtYWlsYm94IGFjY2Vzc2libGUgdG8gVkZzL1BGcy5cblxuQnV0IHdhaXQsIHRoZSBjcnVjaWFsIHF1ZXN0aW9uOiBJcyB0aGlzIGRyaXZlciBwcm9iZWQgdmlhIFBDSSBmdXp6aW5nPyBUaGUgcHJvbXB0IGlzIHRlbGxpbmcgbWUgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIHRoZSBjb2RlIHBhdGggaXMgdW5yZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsIGV2ZW4gd2l0aCBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZS4gSXMgdGhlcmUgYSBNYXJ2ZWxsIE9jdGVvblRYMiBlbXVsYXRvciBpbiBRRU1VPyBQcm9iYWJseSBub3QuIEhvd2V2ZXIsIGBzeXprYWxsZXJgIGhhcyBhIFBDSSBmdXp6ZXIsIHdoaWNoIGNhbiBlbXVsYXRlIFBDSSBkZXZpY2VzLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIGl0IGNhbiAqcmVhY2gqIHRoaXMgc3BlY2lmaWMgaGFuZGxlci5cblxuVGhlIGhhbmRsZXIgaXMgaW52b2tlZCB3aGVuIGEgbWFpbGJveCBtZXNzYWdlIGlzIHJlY2VpdmVkLiBNYWlsYm94IG1lc3NhZ2VzIHVzdWFsbHkgY29tZSBmcm9tIGFuIGludGVycnVwdCBmcm9tIHRoZSBoYXJkd2FyZS4gSSBuZWVkIHRvIHRyYWNlIHRoZSBjYWxsLiBJIGNhbiBzZWUgZnJvbSBgbWJveC5oYCB0aGF0IGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBpcyByZWdpc3RlcmVkIHZpYSBhIG1hY3JvLCB3aGljaCBnZW5lcmF0ZXMgYW4gYXJyYXkgb2YgaGFuZGxlcnMsIGtleWVkIHRvIHRoZSBtZXNzYWdlIHR5cGUuIFdoZW4gYW4gaW50ZXJydXB0IG9jY3VycywgdGhlIGRyaXZlciByZWFkcyB0aGUgbWFpbGJveCBtZW1vcnkgYW5kIGNhbGxzIHRoZSByaWdodCBoYW5kbGVyLiBJZiBgc3l6a2FsbGVyYCBjYW4gdHJpZ2dlciB0aGF0IGludGVycnVwdCBhbmQgcG9wdWxhdGUgdGhlIG1haWxib3ggbWVtb3J5LCBpdCBjb3VsZCByZWFjaCB0aGlzIGNvZGUuIEJ1dCwgY29tcGxleCBoYXJkd2FyZSBpbnRlcmFjdGlvbnMgbGlrZSBtYWlsYm94IG1lbW9yeSBhcmUgaGFyZCB0byBmdXp6IHdpdGhvdXQgYSBzcGVjaWZpYyBlbXVsYXRvci5cblxuSSBuZWVkIHRvIHF1aWNrbHkgYXNzZXNzIGlmIGBPQ1RFT05UWDJfQUZgIGlzIGV2ZW4gZW5hYmxlZCBpbiBgc3l6a2FsbGVyYCBjb25maWd1cmF0aW9ucy4gV2hpbGUgSSBjYW4ndCBjaGVjayB0aGF0IGRpcmVjdGx5LCBJIGNhbiBhc3N1bWUgaXQgKm1pZ2h0KiBiZSBlbmFibGVkLCBnaXZlbiBgc3l6a2FsbGVyYCdzIGJyZWFkdGguXG5cblRoZSBwcm9tcHQgaXMgcmVpbmZvcmNpbmcgdGhlIHF1ZXN0aW9uOiBJcyBNYXJ2ZWxsIE9jdGVvblRYMiByZWFjaGFibGU/ICBUeXBpY2FsbHksIHRoZXNlIHNwZWNpZmljIFBDSSBkcml2ZXJzIGFyZSB1bnJlYWNoYWJsZSB1bmxlc3MgdGhlcmUncyBhbiBlbXVsYXRvciBvciB0aGUgUENJIGZ1enplciBjYW4gcmVhY2ggaXQuIFRoZSBgc3l6X3BjaV9kZXZpY2VgIGlzIGdlbmVyaWMgYW5kIGNhbiB0cmlnZ2VyIGBwcm9iZWAsIHNvbWUgTU1JTywgaW50ZXJydXB0cywgYW5kIHNvIG9uLiBCdXQgY2FuIGl0IHRyaWdnZXIgYSBzcGVjaWZpYyBtYWlsYm94IG1lc3NhZ2U/IElmIHRoZSBtYWlsYm94IGlzIGluIFBDSSBCQVIgbWVtb3J5LCB0aGUgZnV6emVyIG1pZ2h0IGJlIGFibGUgdG8gd3JpdGUgdG8gaXQgYW5kIHRoZW4gdHJpZ2dlciBhbiBpbnRlcnJ1cHQuIFRoZSBrZXkgaXMgaG93IHRoZSBtYWlsYm94IGlzIHByb2Nlc3NlZC4gVGhpcyBpcyB3aGVyZSBJJ2xsIG5lZWQgdG8gZGlnIGludG8gdGhlIGRyaXZlcidzIGNvZGUgYW5kIHBvdGVudGlhbGx5IHRoZSBQQ0kgZnV6emVyJ3MgaW5uZXIgd29ya2luZ3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxMzQsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo5MDQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MDMuOTA0MjM4NDI5WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5NzUzMjE0OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJydnVfbWJveF9oYW5kbGVyX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA5ODAgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jLTEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jOjE0OmludCBydnVfbWJveF9oYW5kbGVyX25peF9jbjIwa19hcV9lbnEoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jLTE1LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBuaXhfY24yMGtfYXFfZW5xX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmM6MTQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBhX2NuMjBrX2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMTUtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IG5wYV9jbjIwa19hcV9lbnFfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGEuYy0yMC19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmM6MjE6RVhQT1JUX1NZTUJPTChydnVfbWJveF9oYW5kbGVyX25wYV9jbjIwa19hcV9lbnEpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM9MTIzNj1pbnQgbnBjX2NuMjBrX3JlYWRfbWNhbV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsIGludCBibGthZGRyLCB1MTYgaW5kZXgsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xMzYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjEzNjM6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBjX2NuMjBrX21jYW1fd3JpdGVfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTEzNjQtXFx0XFx0XFx0XFx0XFx0XFx0c3RydWN0IG5wY19jbjIwa19tY2FtX3dyaXRlX2VudHJ5X3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQwNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDA3OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX3JlYWRfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0MDgtXFx0XFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBucGNfbWNhbV9yZWFkX2VudHJ5X3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQzMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDM0OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX2FsbG9jX2FuZF93cml0ZV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQzNS1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgIHN0cnVjdCBucGNfY24yMGtfbWNhbV9hbGxvY19hbmRfd3JpdGVfZW50cnlfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjE0NjM6XFx0cmMgPSBydnVfbWJveF9oYW5kbGVyX25wY19tY2FtX2FsbG9jX2VudHJ5KHJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDY0LVxcdFxcdFxcdFxcdFxcdFxcdCAgIFxcdTAwMjZlbnRyeV9yZXEsIFxcdTAwMjZlbnRyeV9yc3ApO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQ4OS1cXHRcXHRmcmVlX3JlcS5lbnRyeSA9IGVudHJ5X3JzcC5lbnRyeTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDkwOlxcdFxcdGVyciA9IHJ2dV9tYm94X2hhbmRsZXJfbnBjX21jYW1fZnJlZV9lbnRyeShydnUsIFxcdTAwMjZmcmVlX3JlcSwgXFx1MDAyNmZyZWVfcnNwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDkxLVxcdFxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz0xNTAyPXN0YXRpYyBpbnQgcnZ1X25wY19nZXRfYmFzZV9zdGVlcl9ydWxlX3R5cGUoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE1MDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6MTUxMDppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfcmVhZF9iYXNlX3N0ZWVyX3J1bGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE1MTEtXFx0XFx0XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz0zMzU0PWludFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjMzNTU6cnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfZ2V0X2ZjbnQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTMzNTYtXFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz0zMzY0PWludFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjMzNjU6cnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfZ2V0X2tleF9jZmcoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTMzNjYtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00MDY4PWludCBucGNfY24yMGtfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQxNzctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDE3ODppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MTc5LVxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00MTg0PWludCBucGNfY24yMGtfZGZ0X3J1bGVzX2lkeF9nZXQoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgdTE2ICpiY2FzdCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQyNjItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDI2MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfZ2V0X3BmbF9pbmZvKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MjY0LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBucGNfZ2V0X3BmbF9pbmZvX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDI3NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0Mjc2OmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfbnVtX2t3cyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDI3Ny1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBucGNfZ2V0X251bV9rd3NfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MzIwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQzMjE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBjX2dldF9kZnRfcmxfaWR4cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDMyMi1cXHRcXHRcXHRcXHRcXHQgc3RydWN0IG5wY19nZXRfZGZ0X3JsX2lkeHNfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00NDU2PWludCBucGNfY24yMGtfZGZ0X3J1bGVzX2FsbG9jKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTMyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQ1MzM6XFx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9hbGxvY19lbnRyeShydnUsIFxcdTAwMjZyZXEsIFxcdTAwMjZyc3ApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1MzQtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTcwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQ1NzE6XFx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9hbGxvY19lbnRyeShydnUsIFxcdTAwMjZyZXEsIFxcdTAwMjZyc3ApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1NzItXFx0aWYgKHJldCkge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDY0NC1cXHRmcmVlX3JlcS5hbGwgPSAxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQ2NDU6XFx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9mcmVlX2VudHJ5KHJ2dSwgXFx1MDAyNmZyZWVfcmVxLCBcXHUwMDI2ZnJlZV9yc3ApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ2NDYtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYz0zNj12b2lkIHJ2dV9tY3NfcHRwX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHU4IHJwbV9pZCwgdTggbG1hY19pZCwgYm9vbCBlbmEpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNzEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjcyOmludCBydnVfbWJveF9oYW5kbGVyX21jc19zZXRfbG1hY19tb2RlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNzMtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtY3Nfc2V0X2xtYWNfbW9kZSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jPTE1Mz1zdGF0aWMgdm9pZCBtY3NfaW50cl9oYW5kbGVyX3Rhc2soc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTE3OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MTc5OmludCBydnVfbWJveF9oYW5kbGVyX21jc19pbnRyX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTE4MC1cXHRcXHRcXHRcXHQgIHN0cnVjdCBtY3NfaW50cl9jZmcgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIwNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X2h3X2luZm8oc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMDUtXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTIyMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MjIzOmludCBydnVfbWJveF9oYW5kbGVyX21jc19wb3J0X3Jlc2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X3Jlc2V0X3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMjQtXFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjM3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzoyMzg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2NsZWFyX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjM5LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG1jc19jbGVhcl9zdGF0cyAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTI1OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MjYwOmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfZmxvd2lkX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjYxLVxcdFxcdFxcdFxcdFxcdCAgc3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yOTAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjI5MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NlY3lfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yOTItXFx0XFx0XFx0XFx0XFx0c3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zMTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjMxOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzIwLVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBtY3Nfc3RhdHNfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzQyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzozNDM6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2dldF9zYV9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM0NC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbWNzX3N0YXRzX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM2Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MzY3OmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfcG9ydF9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM2OC1cXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgbWNzX3N0YXRzX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM5MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MzkxOmludCBydnVfbWJveF9oYW5kbGVyX21jc19zZXRfYWN0aXZlX2xtYWMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zOTItXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBtY3Nfc2V0X2FjdGl2ZV9sbWFjICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDA4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0MDk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3BvcnRfY2ZnX3NldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtY3NfcG9ydF9jZmdfc2V0X3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00MTAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00MjYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQyNzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9jZmdfZ2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X2NmZ19nZXRfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQyOC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbWNzX3BvcnRfY2ZnX2dldF9yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00NDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQ0NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfY3VzdG9tX3RhZ19jZmdfZ2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19jdXN0b21fdGFnX2NmZ19nZXRfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ0Ni1cXHRcXHRcXHRcXHRcXHQgICAgc3RydWN0IG1jc19jdXN0b21fdGFnX2NmZ19nZXRfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM9NDYwPWludCBydnVfbWNzX2Zscl9oYW5kbGVyKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDgwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0ODE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2Zsb3dpZF9lbmFfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00ODItXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3QgbWNzX2Zsb3dpZF9lbmFfZGlzX2VudHJ5ICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDk0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0OTU6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3BuX3RhYmxlX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDk2LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtY3NfcG5fdGFibGVfd3JpdGVfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTA4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo1MDk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3NldF9wbl90aHJlc2hvbGQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01MTAtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3QgbWNzX3NldF9wbl90aHJlc2hvbGQgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01MjQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjUyNTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfcnhfc2Nfc2FfbWFwX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTI2LVxcdFxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgbWNzX3J4X3NjX3NhX21hcCAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTUzOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NTM5OmludCBydnVfbWJveF9oYW5kbGVyX21jc190eF9zY19zYV9tYXBfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NDAtXFx0XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtY3NfdHhfc2Nfc2FfbWFwICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTU0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo1NTU6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3NhX3BsY3lfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NTYtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtY3Nfc2FfcGxjeV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU3MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfcnhfc2NfY2FtX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTc0LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbWNzX3J4X3NjX2NhbV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01ODYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU4NzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2VjeV9wbGN5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTg4LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbWNzX3NlY3lfcGxjeV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MDEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZmxvd2lkX2VudHJ5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjAzLVxcdFxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgbWNzX2Zsb3dpZF9lbnRyeV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYyOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZnJlZV9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MzAtXFx0XFx0XFx0XFx0XFx0c3RydWN0IG1jc19mcmVlX3JzcmNfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjc4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo2Nzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2FsbG9jX3Jlc291cmNlcyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTY4MC1cXHRcXHRcXHRcXHRcXHQgc3RydWN0IG1jc19hbGxvY19yc3JjX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTc2MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NzYxOmludCBydnVfbWJveF9oYW5kbGVyX21jc19hbGxvY19jdHJsX3BrdF9ydWxlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNzYyLVxcdFxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG1jc19hbGxvY19jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTgxNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODE4OmludCBydnVfbWJveF9oYW5kbGVyX21jc19mcmVlX2N0cmxfcGt0X3J1bGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04MTktXFx0XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtY3NfZnJlZV9jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTgzOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODM5OmludCBydnVfbWJveF9oYW5kbGVyX21jc19jdHJsX3BrdF9ydWxlX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtODQwLVxcdFxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG1jc19jdHJsX3BrdF9ydWxlX3dyaXRlX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmM9NjEyPXN0cnVjdCBwY2lfZHJpdmVyIHB0cF9kcml2ZXIgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9wdHAuYy02MTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmM6NjE5OmludCBydnVfbWJveF9oYW5kbGVyX3B0cF9vcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBwdHBfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjIwLVxcdFxcdFxcdCAgICBzdHJ1Y3QgcHRwX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjYzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jOjY2NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9wdHBfZ2V0X2NhcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjY1LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgcHRwX2dldF9jYXBfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xMjM2PWludCBydnVfYXFfYWxsb2Moc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgYWRtaW5fcXVldWUgKiphZF9xdWV1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTEyNjQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTI2NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9yZWFkeShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTI2Ni1cXHRcXHRcXHQgICBzdHJ1Y3QgcmVhZHlfbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MTQ1NT1zdGF0aWMgaW50IHJ2dV9kZXRhY2hfcnNyY3Moc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgcnNyY19kZXRhY2ggKmRldGFjaCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE1MDctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTUwODppbnQgcnZ1X21ib3hfaGFuZGxlcl9kZXRhY2hfcmVzb3VyY2VzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xNTA5LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCByc3JjX2RldGFjaCAqZGV0YWNoLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MTczNj1zdGF0aWMgYm9vbCBydnVfYXR0YWNoX2Zyb21fc2FtZV9ibG9jayhzdHJ1Y3QgcnZ1ICpydnUsIGludCBibGt0eXBlLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTc1MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxNzUyOmludCBydnVfbWJveF9oYW5kbGVyX2F0dGFjaF9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE3NTMtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IHJzcmNfYXR0YWNoICphdHRhY2gsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xOTA2PXN0YXRpYyB2b2lkIHJ2dV9jbGVhcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBydnVfcGZ2ZiAqcGZ2ZixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE5MjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTkzMDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTkzMS1cXHRcXHRcXHRcXHQgc3RydWN0IG1zaXhfb2Zmc2V0X3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTk5Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxOTkzOmludCBydnVfbWJveF9oYW5kbGVyX2ZyZWVfcnNyY19jbnQoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE5OTQtXFx0XFx0XFx0XFx0ICAgc3RydWN0IGZyZWVfcnNyY3NfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMDg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIwODY6aW50IHJ2dV9tYm94X2hhbmRsZXJfdmZfZmxyKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMDg3LVxcdFxcdFxcdCAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjEwNj1pbnQgcnZ1X25kY19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgaW50IGxmYmxrYWRkciwgaW50IGxmaWR4LCB1NjQgbGZvZmZzZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTEyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIxMTM6aW50IHJ2dV9tYm94X2hhbmRsZXJfZ2V0X2h3X2NhcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjExNC1cXHRcXHRcXHRcXHRzdHJ1Y3QgZ2V0X2h3X2NhcF9yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxMjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjEyODppbnQgcnZ1X21ib3hfaGFuZGxlcl9zZXRfdmZfcGVybShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBzZXRfdmZfcGVybSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxMjktXFx0XFx0XFx0XFx0IHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTY5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIxNzA6aW50IHJ2dV9tYm94X2hhbmRsZXJfbmRjX3N5bmNfb3Aoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxNzEtXFx0XFx0XFx0XFx0IHN0cnVjdCBuZGNfc3luY19vcCAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjI1Nj1zdGF0aWMgaW50IHJ2dV9wcm9jZXNzX21ib3hfbXNnKHN0cnVjdCBvdHgyX21ib3ggKm1ib3gsIGludCBkZXZpZCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIyODctXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIyODg6XFx0XFx0ZXJyID0gcnZ1X21ib3hfaGFuZGxlcl8gIyMgX2ZuX25hbWUocnZ1LFxcdFxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjg5LVxcdFxcdFxcdFxcdFxcdFxcdCAgICAoc3RydWN0IF9yZXFfdHlwZSAqKXJlcSwgXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1Lmg9OTgzPXN0YXRpYyBpbmxpbmUgYm9vbCBpc19jZ3hfdmYoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5oLTk4OS0jZGVmaW5lIE0oX25hbWUsIF9pZCwgZm5fbmFtZSwgcmVxLCByc3ApXFx0XFx0XFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5oOjk5MDppbnQgcnZ1X21ib3hfaGFuZGxlcl8gIyMgZm5fbmFtZShzdHJ1Y3QgcnZ1ICosIHN0cnVjdCByZXEgKiwgc3RydWN0IHJzcCAqKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuaC05OTEtTUJPWF9NRVNTQUdFU1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTUyNz12b2lkIHJ2dV9jZ3hfZGlzYWJsZV9kbWFjX2VudHJpZXMoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjU2MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RhcnRfcnh0eChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTU2NC1cXHRcXHRcXHRcXHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjU3MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9yeHR4KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNTcxLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9NTc3PXN0YXRpYyBpbnQgcnZ1X2xtYWNfZ2V0X3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjYyMTppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjItXFx0XFx0XFx0ICAgICAgIHN0cnVjdCBjZ3hfc3RhdHNfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo2Mjc6aW50IHJ2dV9tYm94X2hhbmRsZXJfcnBtX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjI4LVxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgcnBtX3N0YXRzX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTYzMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjMzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGF0c19yc3Qoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MzQtXFx0XFx0XFx0XFx0ICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02NjEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjY2MjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfZmVjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjYzLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjc5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo2ODA6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X21hY19hZGRyX3NldChzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTY4MS1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX3NldF9vcl9nZXQgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjcwMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfYWRkKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzA0LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBjZ3hfbWFjX2FkZHJfYWRkX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTcyNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NzI3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9kZWwoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MjgtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNneF9tYWNfYWRkcl9kZWxfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3NDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X21hY19tYXhfZW50cmllc19nZXQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03NDUtXFx0XFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTc3MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NzcxOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9nZXQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03NzItXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNneF9tYWNfYWRkcl9zZXRfb3JfZ2V0ICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzgzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3ODQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzg1LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODAzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4MDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTgwNS1cXHRcXHRcXHRcXHRcXHQgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz04MjM9c3RhdGljIGludCBydnVfY2d4X3B0cF9yeF9jZmcoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgYm9vbCBlbmFibGUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODU4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4NTk6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3B0cF9yeF9lbmFibGUoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04NjAtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODY3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4Njg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3B0cF9yeF9kaXNhYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODY5LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9ODc0PXN0YXRpYyBpbnQgcnZ1X2NneF9jb25maWdfbGlua2V2ZW50cyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTg5NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6ODk1OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGFydF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODk2LVxcdFxcdFxcdFxcdFxcdCAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MDEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjkwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTAzLVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkwOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTA5OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9nZXRfbGlua2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MTAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNneF9saW5rX2luZm9fbXNnICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo5Mjc6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2ZlYXR1cmVzX2dldChzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkyOC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTk3MT1zdGF0aWMgaW50IHJ2dV9jZ3hfY29uZmlnX2ludGxiayhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk4Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTg3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9pbnRsYmtfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTg4LVxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk5My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTk0OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9pbnRsYmtfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk5NS1cXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTEwMDE9aW50IHJ2dV9jZ3hfY2ZnX3BhdXNlX2ZybShzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1OCB0eF9wYXVzZSwgdTggcnhfcGF1c2UpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTAzOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6MTA0MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfY2ZnX3BhdXNlX2ZybShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEwNDEtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBjZ3hfcGF1c2VfZnJtX2NmZyAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEwNjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjEwNjg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2dldF9waHlfZmVjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTA2OS1cXHRcXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTExMjY9aW50IHJ2dV9jZ3hfc3RhcnRfc3RvcF9pbyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIHN0YXJ0KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTExNzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjExNzM6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3NldF9mZWNfcGFyYW0oc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTc0LVxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgZmVjX21vZGUgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTg5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMTkwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9nZXRfYXV4X2xpbmtfaW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTExOTEtXFx0XFx0XFx0XFx0XFx0ICAgc3RydWN0IGNneF9md19kYXRhICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTIxNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6MTIxNjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc2V0X2xpbmtfbW9kZShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEyMTctXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBjZ3hfc2V0X2xpbmtfbW9kZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjQyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjQzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9yZXNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjZ3hfbWFjX2FkZHJfcmVzZXRfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEyNDQtXFx0XFx0XFx0XFx0XFx0c3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjU5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjYwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl91cGRhdGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjYxLVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgY2d4X21hY19hZGRyX3VwZGF0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz0xMjc3PWludCBydnVfY2d4X3ByaW9fZmxvd19jdHJsX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1OCB0eF9wYXVzZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMzEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMzE0OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9wcmlvX2Zsb3dfY3RybF9jZmcoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMzE1LVxcdFxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgY2d4X3BmY19jZmcgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jbjEway5jPTExMz1zdGF0aWMgaW50IHJ2dV91cGRhdGVfbG10YWRkcihzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1NjQgbG10X2FkZHIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY24xMGsuYy0xNDctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NuMTBrLmM6MTQ4OmludCBydnVfbWJveF9oYW5kbGVyX2xtdHN0X3RibF9zZXR1cChzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NuMTBrLmMtMTQ5LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IGxtdHN0X3RibF9zZXR1cF9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz00MzM9c3RhdGljIGludCB2YWxpZGF0ZV9hbmRfZ2V0X2NwdF9ibGthZGRyKGludCByZXFfYmxrYWRkcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy00NDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjQ0NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfbGZfYWxsb2Moc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy00NDUtXFx0XFx0XFx0XFx0ICBzdHJ1Y3QgY3B0X2xmX2FsbG9jX3JlcV9tc2cgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz01MTQ9c3RhdGljIGludCBjcHRfbGZfZnJlZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsIGludCBibGthZGRyKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTU0NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NTQ1OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9sZl9mcmVlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtNTQ2LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jPTYxND1zdGF0aWMgaW50IGNwdF9pbmxpbmVfaXBzZWNfY2ZnX291dGJvdW5kKHN0cnVjdCBydnUgKnJ2dSwgaW50IGJsa2FkZHIsIHU4IGNwdGxmLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTY1OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NjU5OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9pbmxpbmVfaXBzZWNfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtNjYwLVxcdFxcdFxcdFxcdFxcdCAgc3RydWN0IGNwdF9pbmxpbmVfaXBzZWNfY2ZnX21zZyAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jPTY5NT1zdGF0aWMgYm9vbCB2YWxpZGF0ZV9hbmRfdXBkYXRlX3JlZ19vZmZzZXQoc3RydWN0IHJ2dSAqcnZ1LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTc2Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NzYzOmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9yZF93cl9yZWdpc3RlcihzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTc2NC1cXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgY3B0X3JkX3dyX3JlZ19tc2cgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz04MzM9c3RhdGljIHZvaWQgZ2V0X2VuZ19zdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X3N0c19yc3AgKnJzcCwgaW50IGJsa2FkZHIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtODU3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo4NTg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X3N0cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfc3RzX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy04NTktXFx0XFx0XFx0ICAgICBzdHJ1Y3QgY3B0X3N0c19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz04OTk9c3RhdGljIHZvaWQgY3B0X3J4Y190aW1lX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfcnhjX3RpbWVfY2ZnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTkyMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6OTI0OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9yeGNfdGltZV9jZmcoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05MjUtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNwdF9yeGNfdGltZV9jZmdfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5NDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2N0eF9jYWNoZV9zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQ1LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQ5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5NTA6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2xmX3Jlc2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IGNwdF9sZl9yc3RfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk1MS1cXHRcXHRcXHRcXHQgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTgyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5ODM6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2ZsdF9lbmdfaW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfZmx0X2VuZ19pbmZvX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05ODQtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNwdF9mbHRfZW5nX2luZm9fcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jPTE2ODM9c3RhdGljIGludCBydnVfZGJnX25peF90bV90cmVlX2Rpc3BsYXkoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTE3MTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzoxNzE0OlxcdFxcdHJjID0gcnZ1X21ib3hfaGFuZGxlcl9uaXhfYXFfZW5xKHJ2dSwgXFx1MDAyNmFxX3JlcSwgXFx1MDAyNnJzcCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy0xNzE1LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYz0yMjkyPXN0YXRpYyBpbnQgcnZ1X2RiZ19uaXhfcXVldWVfY3R4X2Rpc3BsYXkoc3RydWN0IHNlcV9maWxlICpmaWxwLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy0yMzcwLVxcdFxcdFxcdCAgIGN0eXBlX3N0cmluZywgbml4bGYsIGFxX3JlcS5xaWR4KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jOjIzNzE6XFx0XFx0cmMgPSBydnVfbWJveF9oYW5kbGVyX25peF9hcV9lbnEocnZ1LCBcXHUwMDI2YXFfcmVxLCBcXHUwMDI2cnNwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTIzNzItXFx0XFx0aWYgKHJjKSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NTg3PXN0YXRpYyBpbnQgbml4X2JwX2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTYzOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NjQwOmludCBydnVfbWJveF9oYW5kbGVyX25peF9icF9kaXNhYmxlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjQxLVxcdFxcdFxcdFxcdCAgICBzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02NDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjY0NzppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfY3B0X2JwX2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02NDgtXFx0XFx0XFx0XFx0XFx0c3RydWN0IG5peF9icF9jZmdfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NzMzPXN0YXRpYyBpbnQgbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNzkzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo3OTQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTc5NS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy04MDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjgwMTppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfY3B0X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTgwMi1cXHRcXHRcXHRcXHQgICAgICAgc3RydWN0IG5peF9icF9jZmdfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9MTQ0Mj1zdGF0aWMgaW50IG5peF9sZl9od2N0eF9sb2NrZG93bihzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTE0NjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0Njg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTE0NjktXFx0XFx0XFx0XFx0c3RydWN0IG5peF9hcV9lbnFfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ4MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6MTQ4MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYXFfZW5xKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ4Mi1cXHRcXHRcXHRcXHRzdHJ1Y3Qgbml4X2FxX2VucV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDg4LS8qIENOMTBLIG1ib3ggaGFuZGxlciAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzoxNDg5OmludCBydnVfbWJveF9oYW5kbGVyX25peF9jbjEwa19hcV9lbnEoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDkwLVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBuaXhfY24xMGtfYXFfZW5xX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTE0OTYtXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA5OjA0LjAwMTc3NjQxN1oiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzE0Nzk2MDYzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqRGl2aW5nIGludG8gdGhlIE1haWxib3ggSGFuZGxlcidzIFRyYWlsKipcblxuTXkgcHJpbWFyeSBjb25jZXJuIHJpZ2h0IG5vdyBpcyB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgbWFpbGJveCBoYW5kbGVyIGZ1bmN0aW9ucyB3aXRoaW4gdGhpcyBNYXJ2ZWxsIE9jdGVvbnR4MiBFdGhlcm5ldCBkcml2ZXIuIEknbSBmb2N1c2luZyBvbiB0aGUgYHJ2dV9wcm9jZXNzX21ib3hfbXNnYCBmdW5jdGlvbiwgc3BlY2lmaWNhbGx5LCB3aGVyZSBpdCdzIGJlaW5nIGNhbGxlZCBmcm9tIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmNgLiBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgY2FsbGluZyBjb250ZXh0OyBteSBpbW1lZGlhdGUgZ29hbCBpcyB0byBlc3RhYmxpc2ggdGhlIHJlYWNoYWJpbGl0eSBvZiB0aGlzIGhhbmRsZXIuIElzIHRoaXMgZnVuY3Rpb24gYWN0dWFsbHkgZ2V0dGluZyBoaXQ/IFdoYXQgdHJpZ2dlcnMgaXQ/IFRoaXMgaXMgY3J1Y2lhbCBmb3IgZGVidWdnaW5nIGFuZCBvcHRpbWl6YXRpb24gZWZmb3J0cywgYmVjYXVzZSBJIG11c3Qga25vdyB3aGV0aGVyIHRoZSBkYXRhIHBhdGggaXMgYWN0dWFsbHkgZ29pbmcgdGhyb3VnaCBteSBjaG9zZW4gZnVuY3Rpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0MDQ2LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MDguMzE2NTc0OTlaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYwOTg4ODg5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInJ2dV9wcm9jZXNzX21ib3hfbXNnXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMjI5PXN0YXRpYyB2b2lkIHJ2dV9ub3RpZnlfYWx0YWYoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgdTY0IG9wKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjI1NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMjU2OnN0YXRpYyBpbnQgcnZ1X3Byb2Nlc3NfbWJveF9tc2coc3RydWN0IG90eDJfbWJveCAqbWJveCwgaW50IGRldmlkLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIyNTctXFx0XFx0XFx0XFx0c3RydWN0IG1ib3hfbXNnaGRyICpyZXEpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMzA3PXN0YXRpYyB2b2lkIF9fcnZ1X21ib3hfaGFuZGxlcihzdHJ1Y3QgcnZ1X3dvcmsgKm13b3JrLCBpbnQgdHlwZSwgYm9vbCBwb2xsKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjM3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMzcyOlxcdFxcdGVyciA9IHJ2dV9wcm9jZXNzX21ib3hfbXNnKG1ib3gsIGRldmlkLCBtc2cpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIzNzMtXFx0XFx0aWYgKCFlcnIpIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MDguMzc3NTcyMTc5WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE0NDg1NDEyNTI4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MjMxOTYsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA5OjIyLjg2Mjk4NzAxN1oiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Njc3Njk5OTgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibml4X3J4X3N5bmNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYz0yNTE9dTMyIGNvbnZlcnRfYnl0ZXNfdG9fZHdycl9tdHUodTMyIGJ5dGVzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTI3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6MjcyOnN0YXRpYyB2b2lkIG5peF9yeF9zeW5jKHN0cnVjdCBydnUgKnJ2dSwgaW50IGJsa2FkZHIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTI3My17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NTM1Mj12b2lkIHJ2dV9uaXhfbGZfdGVhcmRvd24oc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgaW50IGJsa2FkZHIsIGludCBuaXhsZilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy01MzY4LVxcdG5peF9pbnRlcmZhY2VfZGVpbml0KHJ2dSwgcGNpZnVuYywgbml4bGYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo1MzY5OlxcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTUzNzAtXFx0bml4X3R4c2NocV9mcmVlKHJ2dSwgcGNpZnVuYyk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NjMyNz1pbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luYyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjMzNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NjMzNjpcXHRuaXhfcnhfc3luYyhydnUsIGJsa2FkZHIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02MzM3LVxcdHJldHVybiAwO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowOToyMi45MzA3NjEyMjVaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTY3ODczMTM4MzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjoyMzgyMCwiT3V0cHV0VG9rZW5zIjo1MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MzkuNzE4MDc3NTA3WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIzNjIxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMjY1LFxuICBcIkxpbmVDb3VudFwiOiAyMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgMjY1OlxcdFxcdGRlZmF1bHQ6XFxuIDI2NjpcXHRcXHRcXHRyZXR1cm4gaWxvZzIoYnl0ZXMpO1xcbiAyNjc6XFx0XFx0fVxcbiAyNjg6XFx0XFxuIDI2OTpcXHRcXHRyZXR1cm4gMDtcXG4gMjcwOlxcdH1cXG4gMjcxOlxcdFxcbiAyNzI6XFx0c3RhdGljIHZvaWQgbml4X3J4X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkcilcXG4gMjczOlxcdHtcXG4gMjc0OlxcdFxcdGludCBlcnI7XFxuIDI3NTpcXHRcXG4gMjc2OlxcdFxcdC8qIFN5bmMgYWxsIGluIGZsaWdodCBSWCBwYWNrZXRzIHRvIExMQy9EUkFNICovXFxuIDI3NzpcXHRcXHRydnVfd3JpdGU2NChydnUsIGJsa2FkZHIsIE5JWF9BRl9SWF9TV19TWU5DLCBCSVRfVUxMKDApKTtcXG4gMjc4OlxcdFxcdGVyciA9IHJ2dV9wb2xsX3JlZyhydnUsIGJsa2FkZHIsIE5JWF9BRl9SWF9TV19TWU5DLCBCSVRfVUxMKDApLCB0cnVlKTtcXG4gMjc5OlxcdFxcdGlmIChlcnIpXFxuIDI4MDpcXHRcXHRcXHRkZXZfZXJyKHJ2dS1cXHUwMDNlZGV2LCBcXFwiU1lOQzE6IE5JWCBSWCBzb2Z0d2FyZSBzeW5jIGZhaWxlZFxcXFxuXFxcIik7XFxuIDI4MTpcXHRcXG4gMjgyOlxcdFxcdC8qIFNXX1NZTkMgZW5zdXJlcyBhbGwgZXhpc3RpbmcgdHJhbnNhY3Rpb25zIGFyZSBmaW5pc2hlZCBhbmQgcGt0c1xcbiAyODM6XFx0XFx0ICogYXJlIHdyaXR0ZW4gdG8gTExDL0RSQU0sIHF1ZXVlcyBzaG91bGQgYmUgdGVhcmVkIGRvd24gYWZ0ZXJcXG4gMjg0OlxcdFxcdCAqIHN1Y2Nlc3NmdWwgU1dfU1lOQy4gRHVlIHRvIGEgSFcgZXJyYXRhLCBpbiBzb21lIHJhcmUgc2NlbmFyaW9zXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA5OjM5LjcxODMxNjE0N1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMTM4MTI4NTcxOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgUmVhY2hhYmlsaXR5IGluIGEgVmlydHVhbGl6ZWQgRW52aXJvbm1lbnQqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBmdW5jdGlvbi4gSXQgc2VlbXMgdG8gY2FsbCBgbml4X3J4X3N5bmNgLCB3aGljaCB3cml0ZXMgdG8gYW5kIHBvbGxzIHRoZSBgTklYX0FGX1JYX1NXX1NZTkNgIGhhcmR3YXJlIHJlZ2lzdGVyLiBUaGlzIHNjcmVhbXMgXCJoYXJkd2FyZS1zcGVjaWZpY1wiLiBUaGUga2V5IHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRS5cblxuSW5pdGlhbGx5LCBteSBpbnN0aW5jdCBpcyBcIm5vLlwiIFRoaXMgTWFydmVsbCBPY3Rlb25UWDIgaGFyZHdhcmUgaXNuJ3QgdHlwaWNhbGx5IGVtdWxhdGVkIGluIFFFTVUuIFRoZSBwcm9tcHQncyB3b3JkaW5nIGlzIHRoZSBpbXBvcnRhbnQgZmFjdG9yOiBcIlJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMgY29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4uLiBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlXCIuICBTbywgYWJzZW50IHByb3BlciBoYXJkd2FyZSBlbXVsYXRpb24sIGl0IGxvb2tzIHVucmVhY2hhYmxlIGF0IGZpcnN0IGdsYW5jZS5cblxuQnV0IHRoZW4gSSByZW1lbWJlciBzeXprYWxsZXIgYW5kIGl0cyBnZW5lcmljIFBDSSBmdXp6aW5nIGNhcGFiaWxpdGllcyEgIFN5emthbGxlciBjYW4sIGluIHRoZW9yeSwgcHJvYmUgdGhlIGRyaXZlciBieSBmYWtpbmcgdGhlIFBDSSBJRC4gIElmIGl0IGNhbiBkbyB0aGF0LCBhbmQgdGhlIGRyaXZlciBsb2FkcywgdGhlbiBpdCBjb3VsZCBwb3RlbnRpYWxseSBpbnRlcmFjdCB3aXRoIHRoZSBkcml2ZXIgYW5kIHN0YXJ0IHRyaWdnZXJpbmcgaW50ZXJydXB0cyBhbmQgcG9wdWxhdGluZyB0aGUgbWFpbGJveCBtZW1vcnkuICBJdCdzIGNvbXBsZXggdGhvdWdoLCB0aGlzIG1haWxib3ggaW50ZXJhY3Rpb24sIGFuZCB0aGUgaGFyZHdhcmUgcmVnaXN0ZXJzIGFyZSBjb21wbGV4LCBtZWFuaW5nIHByb3BlciBmdXp6aW5nIG1heSBub3QgYmUgYWNoaWV2ZWQuXG5cbldhaXQgYSBzZWNvbmQsIHN5emthbGxlciBkb2VzIGluZGVlZCBmdXp6IFBDSSBkcml2ZXJzIGJ5IGZha2luZyB0aGUgUENJIElEIGFuZCB0aGVuIGZ1enppbmcgdGhlIE1NSU8gcmVnaW9ucyBhbmQgaW50ZXJydXB0cy4gSWYgc3l6a2FsbGVyIGZha2VzIHRoZSBQQ0kgSUQsIGFuZCB0aGUgZHJpdmVyIHByb2JlcywgdGhlbiBpdCB3aWxsIGdldCB0byBleGVjdXRlIHRoaXMgY29kZS4gSXQgd291bGQgYmUgYWJsZSB0byB0cmlnZ2VyIGludGVycnVwdHMgYW5kIHBvcHVsYXRlIHRoZSBtYWlsYm94IG1lbW9yeS4gVGhpcyBtZWFucyBpdCAqY291bGQqIHJlYWNoIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYC4gIFxuXG5Ib3dldmVyLCBpcyBpdCBcImltcG9zc2libGUgdG8gcmVhY2hcIj8gVGhlIHByb21wdCBoYXMgdGhhdCB2ZXJ5IHNwZWNpZmljIFwiZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZVwiIHBocmFzZS4gIFN5emthbGxlcidzIFBDSSBmdXp6ZXIgKmlzKiBhIGZvcm0gb2Ygc29mdHdhcmUgZW11bGF0aW9uIOKAkyBpdCBlbXVsYXRlcyB0aGUgUENJIGNvbmZpZyBzcGFjZSwgQkFScywgYW5kIGludGVycnVwdHMuICBTbywgaWYgc3l6a2FsbGVyIGNhbiByZWFjaCBpdCwgaXQncyB0ZWNobmljYWxseSByZWFjaGFibGUgYW5kIHRoZXJlZm9yZSB3b3VsZCBiZSB3b3J0aCBmdXp6aW5nLCBiYXNlZCBvbiB0aGUgcHJvbXB0LlxuXG5BbSBJIG92ZXJ0aGlua2luZyB0aGlzPyAgSSBuZWVkIHRvIGdldCBzb21lIG1vcmUgY29udGV4dCB0byBtYWtlIGEgZGV0ZXJtaW5hdGlvbi4gIExldCBtZSBjaGVjayBpZiBzeXprYWxsZXIgaXMgYWxyZWFkeSBmdXp6aW5nIGBvY3Rlb250eDJgLiAgSSBuZWVkIHRvIGNoZWNrIGZvciBhbnkgZXhpc3Rpbmcgc3l6Ym90IGJ1Z3MgcmVwb3J0ZWQgcmVsYXRlZCB0byB0aGlzIGhhcmR3YXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTY5NCwiT3V0cHV0VG9rZW5zIjoyOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ1OCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjEwOjAxLjA5OTYwNTc4NVoiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Mzk3MDE3MTIxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9jdGVvbnR4MlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJNQUlOVEFJTkVSU1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJNQUlOVEFJTkVSUz0xNTY0Nj1GOlxcdGRyaXZlcnMvY3J5cHRvL21hcnZlbGwvXFxuTUFJTlRBSU5FUlM6MTU2NDc6RjpcXHRpbmNsdWRlL2xpbnV4L3NvYy9tYXJ2ZWxsL29jdGVvbnR4Mi9cXG5NQUlOVEFJTkVSUy0xNTY0OC1cXG4tLVxcbk1BSU5UQUlORVJTPTE1NzQwPVM6XFx0TWFpbnRhaW5lZFxcbk1BSU5UQUlORVJTOjE1NzQxOkY6XFx0ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL1xcbk1BSU5UQUlORVJTOjE1NzQyOkY6XFx0aW5jbHVkZS9saW51eC9zb2MvbWFydmVsbC9vY3Rlb250eDIvXFxuTUFJTlRBSU5FUlMtMTU3NDMtXFxuLS1cXG5NQUlOVEFJTkVSUz0xNTc1MD1TOlxcdE1haW50YWluZWRcXG5NQUlOVEFJTkVSUzoxNTc1MTpGOlxcdERvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi5yc3RcXG5NQUlOVEFJTkVSUzoxNTc1MjpGOlxcdGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL1xcbk1BSU5UQUlORVJTLTE1NzUzLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjoxMDowMS40OTY2MzAwMTdaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjYwMTA1MTcwOTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHlzaXMgb2YgdGhlIE9jdGVvblRYMiBBRiBEcml2ZXIgUGF0Y2ggZm9yIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyBJIGNhbid0IGRpcmVjdGx5IGNoZWNrIHN5emJvdCBidWcgcmVwb3J0cyByaWdodCBub3csIGJ1dCBJIGNhbiBmaWd1cmUgb3V0IGlmIHRoZSBkcml2ZXIgaXMgdHlwaWNhbGx5IGluY2x1ZGVkIGluIHN5emthbGxlcidzIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24uIFRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBvbmx5IGxpc3QgY29uZmlncyBzcGVjaWZpYyB0byB0aGUgbW9kaWZpZWQgY29kZSwgYW5kIGRvbid0IGFkZCBcIkNPTkZJR1xcX1wiIHByZWZpeGVzLiBTaW5jZSBJJ20gYmVpbmcgYXNrZWQgdG8gZGV0ZXJtaW5lIGBXb3J0aEZ1enppbmdgLCBJIG5lZWQgdG8gYXNzZXNzIGlmIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBuZXcsIHJlYWNoYWJsZSBmdW5jdGlvbmFsaXR5LlxuXG5UaGUgcHJvbXB0IHNwZWNpZmljYWxseSBzYXlzIHRvIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYCBpZiBpdCBjb25jZXJucyBjb2RlIHRoYXQncyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXphdGlvbi4gU28sIGlzIHRoaXMgY29kZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggZW11bGF0ZWQgaGFyZHdhcmU/IFRoZSBrZXkgaXMgd2hldGhlciB0aGUgUENJIGZ1enplciBjYW4gaGl0IGl0LlxuXG5MZXQncyBsb29rIGF0IHRoZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgLiBJdCB0YWtlcyBgcnZ1YCwgYHJlcWAsIGFuZCBgcnNwYCBzdHJ1Y3RzLiBJdCBjYWxscyBgcnZ1X2dldF9ibGthZGRyYCwgd2hpY2ggbG9va3MgdXAgYSBibG9jayBhZGRyZXNzLCBhbmQgdGhlbiBlaXRoZXIgcmV0dXJucyBhbiBlcnJvciBvciBjYWxscyBgbml4X3J4X3N5bmNgLiBgbml4X3J4X3N5bmNgIHRoZW4gZG9lcyBzb21lIG1lbW9yeSBhY2Nlc3MgdmlhIGBydnVfd3JpdGU2NGAgYW5kIGBydnVfcG9sbF9yZWdgLiBUaGlzIGBydnVfcG9sbF9yZWdgIHN1Z2dlc3RzIHBvdGVudGlhbCBpbnRlcmFjdGlvbiB3aXRoIE1NSU8gcmVnaXN0ZXJzLCBhbmQgdGhlIFBDSSBmdXp6ZXIgKmRvZXMqIGZ1enogTU1JTy4gSXQgd2lsbCBwcm92aWRlIHJhbmRvbSB2YWx1ZXMgaGVyZSBhbmQgcG90ZW50aWFsbHkgdHJpZ2dlciBpbnRlcmVzdGluZyBiZWhhdmlvci4gVGhlIGZ1bmN0aW9uIGl0c2VsZiBpcyByZWxhdGl2ZWx5IHNpbXBsZSwgYWN0aW5nIGFzIGEgbWFpbGJveCBoYW5kbGVyLlxuXG5HaXZlbiBpdCdzIGEgbmV3IG1haWxib3ggaGFuZGxlciBhbmQgdGh1cyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBpZiB0aGUgUENJIGZ1enplciBjYW4gYWNjZXNzIHRoaXMgY29kZSwgaXQncyB3b3J0aCBmdXp6aW5nLiBJJ2xsIGFzc3VtZSBpdCdzIHJlYWNoYWJsZS5cblxuTm93LCBkb2VzIHRoZSBkcml2ZXIgZXZlbiBjb21waWxlPyBMb29raW5nIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9LY29uZmlnYCwgaXQgZGVwZW5kcyBvbiBlaXRoZXIgYDY0QklUIFx1MDAyNlx1MDAyNiBDT01QSUxFX1RFU1RgIG9yIGBBUk02NGAuIFN5emthbGxlciBjb21tb25seSBydW5zIG9uIHg4Nl82NCwgd2hpY2ggaXMgd2hhdCBJJ20gZXhwZWN0aW5nLiBJdCB1c3VhbGx5IGVuYWJsZXMgYENPTVBJTEVfVEVTVGAgd2hpY2ggbWVhbnMgdGhhdCB0aGUgY29kZSBzaG91bGQgYmUgY29tcGlsZWQuIEl0IHNob3VsZCBiZSByZWFjaGFibGUuIFRodXMsIEknbGwgc2V0IGBFbmFibGVDb25maWdzYCB0byBgT0NURU9OVFgyX0FGYCBhbmQgYFdvcnRoRnV6emluZz10cnVlYC4gVGhlIGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgLlxuXG5JIHNob3VsZCBiZSB0aG9yb3VnaCBoZXJlIGFuZCBkb3VibGUgY2hlY2sgdGhhdCB0aGVyZSBhcmVuJ3QgYW55IG90aGVyIGZ1bmN0aW9ucyBpbnZvbHZlZCwgdGhvdWdoIHRoZSBkaWZmIGxvb2tzIGxpa2UgaXQganVzdCBhZGRlZCB0aGlzIG5ldyBoYW5kbGVyLiBZZXMsIGl0IG9ubHkgYWRkcyBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgYW5kIHRoZSBtYWNybyBlbnRyeSBpbiBgbWJveC5oYCwgdGhlIHBhdGNoZWQgZnVuY3Rpb24gYG5peF9yeF9zeW5jYCBpcyBhbHJlYWR5IGV4aXN0aW5nLlxuXG5JIGhhdmUgdG8gbWFrZSBzdXJlIEkgZ2V0IHRoZSBjb25maWcgcmlnaHQuIFRoZSBwYXRjaCBqdXN0IGFkZHMgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLCB3aGljaCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHJlYWNoYWJsZSB2aWEgUENJIGZ1enppbmcuIExvb2tpbmcgYXQgdGhlIEtjb25maWcsIGBPQ1RFT05UWDJfQUZgIGFsc28gc2VsZWN0cyBgT0NURU9OVFgyX01CT1hgLCBzbyBJIG9ubHkgbmVlZCB0byBzcGVjaWZ5IGBPQ1RFT05UWDJfQUZgLiBJJ20gY29uZmlkZW50IGluIHRoZSByZWFzb25pbmcgbm93LiBJdCBzaG91bGQgd29yay4gRmluYWxseSwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGlzICpub3QqIHN0YXRpYywgc28gaXQncyBhY2Nlc3NpYmxlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjk3NSwiT3V0cHV0VG9rZW5zIjoxMDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOTIzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjEwOjI3LjUwNzE0OTMwM1oiLCJTZXEiOjIwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg5NzgxMDQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJPQ1RFT05UWDJfQUZcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk9DVEVPTlRYMl9BRlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgbmV3IG1haWxib3ggaGFuZGxlciBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgZm9yIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIuIFRoaXMgaXMgZnVuY3Rpb25hbCBjb2RlIHRoYXQgY2FuIGJlIHJlYWNoZWQgYW5kIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-14 05:51:11 +0000 UTC FinishedAt: 2026-07-14 06:10:29 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OCTEONTX2_AF" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "OCTEONTX2_AF" ], "series_id": "dc79afab-33df-46ba-ab7c-3fdbe7a0601c" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "rvu_mbox_handler_nix_rx_sw_sync" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+Mm08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09DVEVPTlRYMl9BRiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA3PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZjRlYWU2NDcxOWUxNmRmMzc0ZjA1ZjIyZDZhNjg4NDQzZTM3Zjk1ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVsIDE0IDA2OjA3OjQyIDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxuaW5kZXggZjg3Y2RmMWI5NzFkYjEuLjkyMTc1ZGUwMzZkNWU4IDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmhcbkBAIC0zNjIsNiAmIzQzOzM2Miw3IEBAIE0oTklYX0NQVF9CUF9FTkFCTEUsICAgIDB4ODAyMCwgbml4X2NwdF9icF9lbmFibGUsIG5peF9icF9jZmdfcmVxLFx0ICAgIFxcXG4gXHRcdFx0XHRuaXhfYnBfY2ZnX3JzcClcdFx0XHRcdCAgICBcXFxuIE0oTklYX0NQVF9CUF9ESVNBQkxFLCAgIDB4ODAyMSwgbml4X2NwdF9icF9kaXNhYmxlLCBuaXhfYnBfY2ZnX3JlcSxcdCAgICBcXFxuIFx0XHRcdFx0bXNnX3JzcClcdFx0XHRcdFxcXG4mIzQzO00oTklYX1JYX1NXX1NZTkMsXHQweDgwMjIsIG5peF9yeF9zd19zeW5jLCBtc2dfcmVxLCBtc2dfcnNwKVx0XHRcXFxuIE0oTklYX1JFQURfSU5MSU5FX0lQU0VDX0NGRywgMHg4MDIzLCBuaXhfcmVhZF9pbmxpbmVfaXBzZWNfY2ZnLFx0XHRcXFxuIFx0XHRcdFx0bXNnX3JlcSwgbml4X2lubGluZV9pcHNlY19jZmcpXHRcdFxcXG4gTShOSVhfTUNBU1RfR1JQX0NSRUFURSxcdDB4ODAyYiwgbml4X21jYXN0X2dycF9jcmVhdGUsIG5peF9tY2FzdF9ncnBfY3JlYXRlX3JlcSxcdFxcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXG5pbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY1xuQEAgLTYzMjQsNiAmIzQzOzYzMjQsMTkgQEAgaW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JhbmRwcm9mX2dldF9od2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVcbiBcdHJldHVybiAwO1xuIH1cbiBcbiYjNDM7aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuJiM0MztcdFx0XHRcdCAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuJiM0Mzt7XG4mIzQzO1x0aW50IGJsa2FkZHI7XG4mIzQzO1xuJiM0MztcdGJsa2FkZHIgPSBydnVfZ2V0X2Jsa2FkZHIocnZ1LCBCTEtUWVBFX05JWCwgcmVxLVx1MDAzZWhkci5wY2lmdW5jKTtcbiYjNDM7XHRpZiAoYmxrYWRkciBcdTAwM2MgMClcbiYjNDM7XHRcdHJldHVybiBOSVhfQUZfRVJSX0FGX0xGX0lOVkFMSUQ7XG4mIzQzO1xuJiM0MztcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XG4mIzQzO1x0cmV0dXJuIDA7XG4mIzQzO31cbiYjNDM7XG4gc3RhdGljIHN0cnVjdCBuaXhfbWNhc3RfZ3JwX2VsZW0gKnJ2dV9uaXhfbWNhc3RfZmluZF9ncnBfZWxlbShzdHJ1Y3Qgbml4X21jYXN0X2dycCAqbWNhc3RfZ3JwLFxuIFx0XHRcdFx0XHRcdFx0ICAgICAgdTMyIG1jYXN0X2dycF9pZHgpXG4ge1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA3PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjJtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09DVEVPTlRYMl9BRiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBmNGVhZTY0NzE5ZTE2ZGYzNzRmMDVmMjJkNmE2ODg0NDNlMzdmOTVmCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFR1ZSBKdWwgMTQgMDY6MDc6NDIgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmgKaW5kZXggZjg3Y2RmMWI5NzFkYjEuLjkyMTc1ZGUwMzZkNWU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmgKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oCkBAIC0zNjIsNiAmIzQzOzM2Miw3IEBAIE0oTklYX0NQVF9CUF9FTkFCTEUsICAgIDB4ODAyMCwgbml4X2NwdF9icF9lbmFibGUsIG5peF9icF9jZmdfcmVxLAkgICAgXAogCQkJCW5peF9icF9jZmdfcnNwKQkJCQkgICAgXAogTShOSVhfQ1BUX0JQX0RJU0FCTEUsICAgMHg4MDIxLCBuaXhfY3B0X2JwX2Rpc2FibGUsIG5peF9icF9jZmdfcmVxLAkgICAgXAogCQkJCW1zZ19yc3ApCQkJCVwKJiM0MztNKE5JWF9SWF9TV19TWU5DLAkweDgwMjIsIG5peF9yeF9zd19zeW5jLCBtc2dfcmVxLCBtc2dfcnNwKQkJXAogTShOSVhfUkVBRF9JTkxJTkVfSVBTRUNfQ0ZHLCAweDgwMjMsIG5peF9yZWFkX2lubGluZV9pcHNlY19jZmcsCQlcCiAJCQkJbXNnX3JlcSwgbml4X2lubGluZV9pcHNlY19jZmcpCQlcCiBNKE5JWF9NQ0FTVF9HUlBfQ1JFQVRFLAkweDgwMmIsIG5peF9tY2FzdF9ncnBfY3JlYXRlLCBuaXhfbWNhc3RfZ3JwX2NyZWF0ZV9yZXEsCVwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYwppbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMKQEAgLTYzMjQsNiAmIzQzOzYzMjQsMTkgQEAgaW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JhbmRwcm9mX2dldF9od2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmUKIAlyZXR1cm4gMDsKIH0KIAomIzQzO2ludCBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSwKJiM0MzsJCQkJICAgIHN0cnVjdCBtc2dfcnNwICpyc3ApCiYjNDM7ewomIzQzOwlpbnQgYmxrYWRkcjsKJiM0MzsKJiM0MzsJYmxrYWRkciA9IHJ2dV9nZXRfYmxrYWRkcihydnUsIEJMS1RZUEVfTklYLCByZXEtJmd0O2hkci5wY2lmdW5jKTsKJiM0MzsJaWYgKGJsa2FkZHIgJmx0OyAwKQomIzQzOwkJcmV0dXJuIE5JWF9BRl9FUlJfQUZfTEZfSU5WQUxJRDsKJiM0MzsKJiM0MzsJbml4X3J4X3N5bmMocnZ1LCBibGthZGRyKTsKJiM0MzsJcmV0dXJuIDA7CiYjNDM7fQomIzQzOwogc3RhdGljIHN0cnVjdCBuaXhfbWNhc3RfZ3JwX2VsZW0gKnJ2dV9uaXhfbWNhc3RfZmluZF9ncnBfZWxlbShzdHJ1Y3Qgbml4X21jYXN0X2dycCAqbWNhc3RfZ3JwLAogCQkJCQkJCSAgICAgIHUzMiBtY2FzdF9ncnBfaWR4KQogewo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNCAwNjowNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAyNDMxCgkJCQkJCQlvdXRwdXQ6IDM1CgkJCQkJCQl0aG91Z2h0czogMjAyCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyBhIFBvdGVudGlhbGx5IFVucmVhY2hhYmxlIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIHRoYXQgdG91Y2hlcyBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oYCBhbmQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY2AuIEl0IGxvb2tzIGxpa2UgaXQmIzM5O3MgYWRkaW5nIGEgbmV3IG1haWxib3ggbWVzc2FnZSwgYE5JWF9SWF9TV19TWU5DYCwgYW5kIGEgY29ycmVzcG9uZGluZyBoYW5kbGVyLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuIFNlZW1zIHN0cmFpZ2h0Zm9yd2FyZCBlbm91Z2gsIGJ1dCB0aGUgdGFyZ2V0IGhhcmR3YXJlIGlzIGEgTWFydmVsbCBPY3Rlb25UWDIuIFRoYXQgaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZyBmb3IgbWUuCgpNeSBpbW1lZGlhdGUgcXVlc3Rpb24gaXM6IElzIHRoaXMgY29kZSBldmVuICpyZWFjaGFibGUqIGluIGEgdHlwaWNhbCBmdXp6aW5nIGVudmlyb25tZW50LCBlc3BlY2lhbGx5IHVzaW5nIHNvbWV0aGluZyBsaWtlIHN5emthbGxlcj8gVGhlc2UgaGFyZHdhcmUtc3BlY2lmaWMgRXRoZXJuZXQgZHJpdmVycywgbGlrZSB0aGUgT2N0ZW9uVFgyLCBhcmUgZ2VuZXJhbGx5IG5vdCBhY2Nlc3NpYmxlIHVubGVzcyB0aGVyZSYjMzk7cyBlaXRoZXIgdmVyeSBzcGVjaWZpYyBzb2Z0d2FyZSBlbXVsYXRpb24gb3Igc29tZSBmb3JtIG9mIFBDSSBwYXNzdGhyb3VnaCBpbiBwbGFjZSwgYW5kIHN5emthbGxlciByYXJlbHkgaGFzIHRob3NlIHNldHVwcyByZWFkaWx5IGF2YWlsYWJsZSBmb3IgdGhpcyB0eXBlIG9mIGRldmljZS4KClRoZXJlZm9yZSwgdGhlIG5leHQgc3RlcCBpcyB0byBpbnZlc3RpZ2F0ZSBpZiBhbnkgT2N0ZW9uVFgyIHNvZnR3YXJlIGVtdWxhdGlvbiBleGlzdHMuIEkmIzM5O2xsIG5lZWQgdG8gZG8gYSBrZXJuZWwgc2VhcmNoIGZvciBgb2N0ZW9udHgyYCB0byBzZWUgaWYgYW55dGhpbmcganVtcHMgb3V0LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O29jdGVvbnR4MiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvS2NvbmZpZz0xNjk9Y29uZmlnIFNLWTJfREVCVUdcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL0tjb25maWctMTc5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9LY29uZmlnOjE4MDpzb3VyY2UgXCYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvS2NvbmZpZ1wmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9LY29uZmlnLTE4MS1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb25fZXAvS2NvbmZpZ1wmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGU9MTU9b2JqLXlcdFx0JiM0Mzs9IG9jdGVvbl9lcF92Zi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGU6MTY6b2JqLXlcdFx0JiM0Mzs9IG9jdGVvbnR4Mi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGUtMTctb2JqLXlcdFx0JiM0Mzs9IHByZXN0ZXJhL1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jOjI4OiNkZWZpbmUgREVCVUdGU19ESVJfTkFNRSBcJiMzNDtvY3Rlb250eDJcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjktXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYz00MDEzPXN0YXRpYyBjb25zdCBjaGFyICpydnVfZ2V0X2RiZ19kaXJfbmFtZShzdHJ1Y3QgcnZ1ICpydnUpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy00MDIwLVx0ZWxzZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzo0MDIxOlx0XHRyZXR1cm4gXCYjMzQ7b2N0ZW9udHgyXCYjMzQ7O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy00MDIyLX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGV2bGluay5jLTE1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYzoxNjojZGVmaW5lIERSVl9OQU1FIFwmIzM0O29jdGVvbnR4Mi1hZlwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYy0xNy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvTWFrZWZpbGU9MTg9cnZ1X25pY3BmLSQoQ09ORklHX1hGUk1fT0ZGTE9BRCkgJiM0Mzs9IGNuMTBrX2lwc2VjLm9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZS0xOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZToyMDpjY2ZsYWdzLXkgJiM0Mzs9IC1JJChzcmN0cmVlKS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZlxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9vdHgyX2NvbW1vbi5oLTE3LSNpbmNsdWRlIFx1MDAzY2xpbnV4L3NvYy9tYXJ2ZWxsL3NpbGljb25zLmhcdTAwM2VcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9vdHgyX2NvbW1vbi5oOjE4OiNpbmNsdWRlIFx1MDAzY2xpbnV4L3NvYy9tYXJ2ZWxsL29jdGVvbnR4Mi9hc20uaFx1MDAzZVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL290eDJfY29tbW9uLmgtMTktI2luY2x1ZGUgXHUwMDNjbmV0L21hY3NlYy5oXHUwMDNlXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL3Fvcy5jPTExMTU9c3RhdGljIGludCBvdHgyX3Fvc192YWxpZGF0ZV9xdWFudHVtKHN0cnVjdCBvdHgyX25pYyAqcGZ2ZiwgdTMyIHF1YW50dW0pXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL3Fvcy5jLTExMTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvcW9zLmM6MTEyMDpcdC8qIE1heCBSb3VuZCByb2JpbiB3ZWlnaHQgc3VwcG9ydGVkIGJ5IG9jdGVvbnR4MiBhbmQgQ04xMEtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9xb3MuYy0xMTIxLVx0ICogaXMgZGlmZmVyZW50LiBWYWxpZGF0ZSBhY2NvcmRpbmdseVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM3NTgKCQkJCQkJCW91dHB1dDogNDUKCQkJCQkJCXRob3VnaHRzOiAxMDQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBOZXcgTWFpbGJveCBIYW5kbGVyKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIsIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCwgYW5kIGl0JiMzOTtzIG5lc3RsZWQgZGVlcCB3aXRoaW4gdGhlIE1hcnZlbGwgT2N0ZW9uVFgyIEFGIGRyaXZlciwgc3BlY2lmaWNhbGx5IGluIGBydnVfbml4LmNgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZmlndXJlIG91dCB0aGUgZW5hYmxpbmcgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBmZWF0dXJlLiBXZSBuZWVkIHRvIGNoZWNrIHRoZSBgS2NvbmZpZ2AgZmlsZSBpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvS2NvbmZpZ2AuIFRoaXMgd2lsbCB0ZWxsIHVzIHVuZGVyIHdoYXQgY2lyY3Vtc3RhbmNlcyB0aGlzIGhhbmRsZXIgaXMgY29tcGlsZWQgaW50byB0aGUgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgZGVwZW5kZW5jaWVzIGFuZCBjb25maWd1cmF0aW9ucyB0aWVkIHRvIHRoaXMgbmV3IHN5bmNocm9uaXphdGlvbiBtZWNoYW5pc20uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdCNcbiAgIDM6XHQjIE1hcnZlbGwgUlZVIE5ldHdvcmsgZHJpdmVycyBjb25maWd1cmF0aW9uXG4gICA0Olx0I1xuICAgNTpcdFxuICAgNjpcdGNvbmZpZyBPQ1RFT05UWDJfTUJPWFxuICAgNzpcdFx0dHJpc3RhdGVcbiAgIDg6XHRcbiAgIDk6XHRjb25maWcgT0NURU9OVFgyX0FGXG4gIDEwOlx0XHR0cmlzdGF0ZSBcJiMzNDtNYXJ2ZWxsIE9jdGVvblRYMiBSVlUgQWRtaW4gRnVuY3Rpb24gZHJpdmVyXCYjMzQ7XG4gIDExOlx0XHRzZWxlY3QgT0NURU9OVFgyX01CT1hcbiAgMTI6XHRcdHNlbGVjdCBORVRfREVWTElOS1xuICAxMzpcdFx0ZGVwZW5kcyBvbiAoNjRCSVQgXHUwMDI2XHUwMDI2IENPTVBJTEVfVEVTVCkgfHwgQVJNNjRcbiAgMTQ6XHRcdGRlcGVuZHMgb24gUENJXG4gIDE1Olx0XHRkZXBlbmRzIG9uIFBUUF8xNTg4X0NMT0NLX09QVElPTkFMXG4gIDE2Olx0XHRoZWxwXG4gIDE3Olx0XHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwmIzM5O3MgT2N0ZW9uVFgyIFJlc291cmNlIFZpcnR1YWxpemF0aW9uXG4gIDE4Olx0XHQgIFVuaXQmIzM5O3MgYWRtaW4gZnVuY3Rpb24gbWFuYWdlciB3aGljaCBtYW5hZ2VzIGFsbCBSVlUgSFcgcmVzb3VyY2VzXG4gIDE5Olx0XHQgIGFuZCBwcm92aWRlcyBhIG1lZGl1bSB0byBvdGhlciBQRi9WRnMgdG8gY29uZmlndXJlIEhXLiBTaG91bGQgYmVcbiAgMjA6XHRcdCAgZW5hYmxlZCBmb3Igb3RoZXIgUlZVIGRldmljZSBkcml2ZXJzIHRvIHdvcmsuXG4gIDIxOlx0XG4gIDIyOlx0Y29uZmlnIE5EQ19ESVNfRFlOQU1JQ19DQUNISU5HXG4gIDIzOlx0XHRib29sIFwmIzM0O0Rpc2FibGUgY2FjaGluZyBvZiBkeW5hbWljIGVudHJpZXMgaW4gTkRDXCYjMzQ7XG4gIDI0Olx0XHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9BRlxuICAyNTpcdFx0ZGVmYXVsdCBuXG4gIDI2Olx0XHRoZWxwXG4gIDI3Olx0XHQgIFRoaXMgY29uZmlnIG9wdGlvbiBkaXNhYmxlcyBjYWNoaW5nIG9mIGR5bmFtaWMgZW50cmllcyBzdWNoIGFzIE5JWCBTUUVzXG4gIDI4Olx0XHQgICwgTlBBIHN0YWNrIHBhZ2VzIGV0YyBpbiBOREMuIEFsc28gbG9ja3MgZG93biBOSVggU1EvQ1EvUlEvUlNTIGFuZFxuICAyOTpcdFx0ICBOUEEgQXVyYS9Qb29sIGNvbnRleHRzLlxuICAzMDpcdFxuICAzMTpcdGNvbmZpZyBPQ1RFT05UWDJfUEZcbiAgMzI6XHRcdHRyaXN0YXRlIFwmIzM0O01hcnZlbGwgT2N0ZW9uVFgyIE5JQyBQaHlzaWNhbCBGdW5jdGlvbiBkcml2ZXJcJiMzNDtcbiAgMzM6XHRcdHNlbGVjdCBPQ1RFT05UWDJfTUJPWFxuICAzNDpcdFx0c2VsZWN0IE5FVF9ERVZMSU5LXG4gIDM1Olx0XHRzZWxlY3QgUEFHRV9QT09MXG4gIDM2Olx0XHRzZWxlY3QgQ1JZUFRPX0xJQl9BRVMgaWYgTUFDU0VDXG4gIDM3Olx0XHRkZXBlbmRzIG9uICg2NEJJVCBcdTAwMjZcdTAwMjYgQ09NUElMRV9URVNUKSB8fCBBUk02NFxuICAzODpcdFx0c2VsZWN0IERJTUxJQlxuICAzOTpcdFx0ZGVwZW5kcyBvbiBQQ0lcbiAgNDA6XHRcdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tfT1BUSU9OQUxcbiAgNDE6XHRcdGRlcGVuZHMgb24gTUFDU0VDIHx8ICFNQUNTRUNcbiAgNDI6XHRcdGhlbHBcbiAgNDM6XHRcdCAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWFydmVsbCYjMzk7cyBPY3Rlb25UWDIgTklDIHBoeXNpY2FsIGZ1bmN0aW9uLlxuICA0NDpcdFxuICA0NTpcdGNvbmZpZyBPQ1RFT05UWDJfVkZcbiAgNDY6XHRcdHRyaXN0YXRlIFwmIzM0O01hcnZlbGwgT2N0ZW9uVFgyIE5JQyBWaXJ0dWFsIEZ1bmN0aW9uIGRyaXZlclwmIzM0O1xuICA0NzpcdFx0ZGVwZW5kcyBvbiBPQ1RFT05UWDJfUEZcbiAgNDg6XHRcdGhlbHBcbiAgNDk6XHRcdCAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWFydmVsbCYjMzk7cyBPY3Rlb25UWDIgTklDIHZpcnR1YWwgZnVuY3Rpb24uXG4gIDUwOlx0XG4gIDUxOlx0Y29uZmlnIFJWVV9FU1dJVENIXG4gIDUyOlx0XHR0cmlzdGF0ZSBcJiMzNDtNYXJ2ZWxsIFJWVSBFLVN3aXRjaCBzdXBwb3J0XCYjMzQ7XG4gIDUzOlx0XHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9QRlxuICA1NDpcdFx0ZGVmYXVsdCBtXG4gIDU1Olx0XHRoZWxwXG4gIDU2Olx0XHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwmIzM5O3MgUlZVIEUtU3dpdGNoIHRoYXRcbiAgNTc6XHRcdCAgcHJvdmlkZXMgaW50ZXJuYWwgU1JJT1YgcGFja2V0IHN0ZWVyaW5nIGFuZCBzd2l0Y2hpbmcuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTA2MgoJCQkJCQkJb3V0cHV0OiAyNwoJCQkJCQkJdGhvdWdodHM6IDIwOAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFJlYWNoYWJpbGl0eSBvZiBgT0NURU9OVFgyX0FGYCBDb2RlIFBhdGhzKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGNvbmZpZ3VyYXRpb24sIGBPQ1RFT05UWDJfQUZgLiBJdCBoaW5nZXMgb24gYSBmZXcgZGVwZW5kZW5jaWVzOiBgKDY0QklUICZhbXA7JmFtcDsgQ09NUElMRV9URVNUKSB8fCBBUk02NGAgYW5kLCBjcnVjaWFsbHksIGBQQ0lgLiBHaXZlbiB0aGF0IHRoaXMgaXMgYSBkcml2ZXIgc3BlY2lmaWNhbGx5IGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIsIG15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRoYXQgaXQmIzM5O3MgZ29pbmcgdG8gYmUgdmVyeSBoYXJkd2FyZS1zcGVjaWZpYy4gQSBQQ0kgZHJpdmVyIGxpa2UgdGhpcyBpc24mIzM5O3QgZ29pbmcgdG8gZnVuY3Rpb24gbmF0aXZlbHkgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIFFFTVUgb3IgR29vZ2xlIENvbXB1dGUgRW5naW5lLCBhdCBsZWFzdCBub3Qgd2l0aG91dCBzb21lIGhlYXZ5IGxpZnRpbmcgaW4gdGVybXMgb2YgaGFyZHdhcmUgZW11bGF0aW9uIG9yIFBDSSBwYXNzdGhyb3VnaC4KCk5vdywgaG9sZCBvbi4uLiBpZiBzeXprYWxsZXIgaXMgdGhlIHRlc3RpbmcgZnJhbWV3b3JrLCBJJiMzOTttIHByZXR0eSBjb25maWRlbnQgdGhhdCBpdCBkb2VzbiYjMzk7dCBlbXVsYXRlIE1hcnZlbGwgT2N0ZW9uVFgyIGhhcmR3YXJlIHNwZWNpZmljYWxseS4gVGhhdCBtZWFucyB0aGUgY29kZSBwYXRocyB3aXRoaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY2AgYXJlIGVzc2VudGlhbGx5IGRlYWQgZW5kcyBpbiB0aGVzZSB2aXJ0dWFsaXplZCBzY2VuYXJpb3MuIFRoZXkmIzM5O3JlIHVucmVhY2hhYmxlIHdpdGhvdXQgdmVyeSBzcGVjaWZpYyBoYXJkd2FyZSBjb25maWd1cmF0aW9ucyB0aGF0IGFyZSB1bmxpa2VseSB0byBiZSBwcmVzZW50IGluIHR5cGljYWwgc3l6a2FsbGVyIHRlc3RpbmcuCgpJIG5lZWQgdG8gY29uZmlybSB0aGlzIHRob3VnaC4gQmVmb3JlIEkgd3JpdGUgdGhpcyBvZmYgY29tcGxldGVseSwgSSBzaG91bGQgZG91YmxlLWNoZWNrLiBJJiMzOTtsbCBzZWFyY2ggdGhlIGRvY3VtZW50YXRpb24gZGlyZWN0b3JpZXMgLSBgRG9jdW1lbnRhdGlvbi9gLCBgdG9vbHMvYCwgYW5kIGFsc28gdGhlIGRyaXZlciBkaXJlY3RvcnkgaXRzZWxmLCBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYC4gSSYjMzk7bGwgbG9vayBmb3IgYW55IG1lbnRpb24gb2Ygc29mdHdhcmUgZW11bGF0aW9uIGZvciB0aGUgYG9jdGVvbnR4MmAgZGV2aWNlIHRvIGVuc3VyZSBJIGFtIG5vdCBtaXNzaW5nIHNvbWV0aGluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNCAwNjowODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+RXJyb3I6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5ubyBtYXRjaGVzPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O29jdGVvbnR4MiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O3Rvb2xzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtlcnJvciYjMzQ7OiAmIzM0O25vIG1hdGNoZXMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNTEzNAoJCQkJCQkJb3V0cHV0OiA0NQoJCQkJCQkJdGhvdWdodHM6IDkwNAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipSZWFjaGluZyB0aGUgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIEhhbmRsZXI6IEEgRnV6emluZyBQZXJzcGVjdGl2ZSoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGludHJvZHVjZXMgYSBuZXcgbWFpbGJveCBoYW5kbGVyLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AsIGZvciB0aGUgYE5JWF9SWF9TV19TWU5DYCBtZXNzYWdlIHdpdGhpbiB0aGUgTWFydmVsbCBPY3Rlb25UWDIgUlZVIEFkbWluIEZ1bmN0aW9uIGRyaXZlci4gVGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUsIGFuZCBJIG5lZWQgdG8gYXNzZXNzIGl0cyBmdXp6aW5nIHBvdGVudGlhbC4gVGhlIGRyaXZlciYjMzk7cyBlbmFibGVkIGJ5IGBDT05GSUdfT0NURU9OVFgyX0FGYCwgc28gdGhhdCYjMzk7cyB0aGUgc3RhcnRpbmcgcG9pbnQuCgpNeSBpbml0aWFsIHRob3VnaHQgaXMsIHRoaXMgaXMgYSBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXIgZm9yIHRoZSBPY3Rlb25UWDIsIG1lYW5pbmcgdW5sZXNzIHRoYXQgc3BlY2lmaWMgaGFyZHdhcmUgaXMgcHJlc2VudCBvciBlbXVsYXRlZCwgdGhlIGNvZGUgaXMgbGlrZWx5IHVucmVhY2hhYmxlLiBJIG5lZWQgdG8gZmlndXJlIG91dCBpZiB3ZSBjYW4gZXZlbiAqdHJpZ2dlciogdGhpcyBoYW5kbGVyLiBNeSBleHBlcnRpc2UgdGVsbHMgbWUgdGhhdCBoYXJkd2FyZS1zcGVjaWZpYyBkcml2ZXJzIG9mdGVuIHBvc2UgYSBjaGFsbGVuZ2UgYmVjYXVzZSB0aGV5IHJlbHkgb24gc3BlY2lmaWMgUENJIGRldmljZXMuIEkga25vdyB0aGF0IGBzeXprYWxsZXJgIGhhcyBtZWNoYW5pc21zIGxpa2UgYHN5el9wY2lfZGV2aWNlYCB0byBmdXp6IFBDSSBkZXZpY2VzLCBvciBtYXliZSBpdCBjb3VsZCBiZSByZWFjaGVkIHZpYSBjaGFyYWN0ZXIgZGV2aWNlcyBvciBuZXRsaW5rLCBvciB0aGUgbWFpbGJveCBhY2Nlc3NpYmxlIHRvIFZGcy9QRnMuCgpCdXQgd2FpdCwgdGhlIGNydWNpYWwgcXVlc3Rpb246IElzIHRoaXMgZHJpdmVyIHByb2JlZCB2aWEgUENJIGZ1enppbmc/IFRoZSBwcm9tcHQgaXMgdGVsbGluZyBtZSB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgdGhlIGNvZGUgcGF0aCBpcyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlLiBJcyB0aGVyZSBhIE1hcnZlbGwgT2N0ZW9uVFgyIGVtdWxhdG9yIGluIFFFTVU/IFByb2JhYmx5IG5vdC4gSG93ZXZlciwgYHN5emthbGxlcmAgaGFzIGEgUENJIGZ1enplciwgd2hpY2ggY2FuIGVtdWxhdGUgUENJIGRldmljZXMuIEkgbmVlZCB0byBkZXRlcm1pbmUgaWYgaXQgY2FuICpyZWFjaCogdGhpcyBzcGVjaWZpYyBoYW5kbGVyLgoKVGhlIGhhbmRsZXIgaXMgaW52b2tlZCB3aGVuIGEgbWFpbGJveCBtZXNzYWdlIGlzIHJlY2VpdmVkLiBNYWlsYm94IG1lc3NhZ2VzIHVzdWFsbHkgY29tZSBmcm9tIGFuIGludGVycnVwdCBmcm9tIHRoZSBoYXJkd2FyZS4gSSBuZWVkIHRvIHRyYWNlIHRoZSBjYWxsLiBJIGNhbiBzZWUgZnJvbSBgbWJveC5oYCB0aGF0IGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBpcyByZWdpc3RlcmVkIHZpYSBhIG1hY3JvLCB3aGljaCBnZW5lcmF0ZXMgYW4gYXJyYXkgb2YgaGFuZGxlcnMsIGtleWVkIHRvIHRoZSBtZXNzYWdlIHR5cGUuIFdoZW4gYW4gaW50ZXJydXB0IG9jY3VycywgdGhlIGRyaXZlciByZWFkcyB0aGUgbWFpbGJveCBtZW1vcnkgYW5kIGNhbGxzIHRoZSByaWdodCBoYW5kbGVyLiBJZiBgc3l6a2FsbGVyYCBjYW4gdHJpZ2dlciB0aGF0IGludGVycnVwdCBhbmQgcG9wdWxhdGUgdGhlIG1haWxib3ggbWVtb3J5LCBpdCBjb3VsZCByZWFjaCB0aGlzIGNvZGUuIEJ1dCwgY29tcGxleCBoYXJkd2FyZSBpbnRlcmFjdGlvbnMgbGlrZSBtYWlsYm94IG1lbW9yeSBhcmUgaGFyZCB0byBmdXp6IHdpdGhvdXQgYSBzcGVjaWZpYyBlbXVsYXRvci4KCkkgbmVlZCB0byBxdWlja2x5IGFzc2VzcyBpZiBgT0NURU9OVFgyX0FGYCBpcyBldmVuIGVuYWJsZWQgaW4gYHN5emthbGxlcmAgY29uZmlndXJhdGlvbnMuIFdoaWxlIEkgY2FuJiMzOTt0IGNoZWNrIHRoYXQgZGlyZWN0bHksIEkgY2FuIGFzc3VtZSBpdCAqbWlnaHQqIGJlIGVuYWJsZWQsIGdpdmVuIGBzeXprYWxsZXJgJiMzOTtzIGJyZWFkdGguCgpUaGUgcHJvbXB0IGlzIHJlaW5mb3JjaW5nIHRoZSBxdWVzdGlvbjogSXMgTWFydmVsbCBPY3Rlb25UWDIgcmVhY2hhYmxlPyAgVHlwaWNhbGx5LCB0aGVzZSBzcGVjaWZpYyBQQ0kgZHJpdmVycyBhcmUgdW5yZWFjaGFibGUgdW5sZXNzIHRoZXJlJiMzOTtzIGFuIGVtdWxhdG9yIG9yIHRoZSBQQ0kgZnV6emVyIGNhbiByZWFjaCBpdC4gVGhlIGBzeXpfcGNpX2RldmljZWAgaXMgZ2VuZXJpYyBhbmQgY2FuIHRyaWdnZXIgYHByb2JlYCwgc29tZSBNTUlPLCBpbnRlcnJ1cHRzLCBhbmQgc28gb24uIEJ1dCBjYW4gaXQgdHJpZ2dlciBhIHNwZWNpZmljIG1haWxib3ggbWVzc2FnZT8gSWYgdGhlIG1haWxib3ggaXMgaW4gUENJIEJBUiBtZW1vcnksIHRoZSBmdXp6ZXIgbWlnaHQgYmUgYWJsZSB0byB3cml0ZSB0byBpdCBhbmQgdGhlbiB0cmlnZ2VyIGFuIGludGVycnVwdC4gVGhlIGtleSBpcyBob3cgdGhlIG1haWxib3ggaXMgcHJvY2Vzc2VkLiBUaGlzIGlzIHdoZXJlIEkmIzM5O2xsIG5lZWQgdG8gZGlnIGludG8gdGhlIGRyaXZlciYjMzk7cyBjb2RlIGFuZCBwb3RlbnRpYWxseSB0aGUgUENJIGZ1enplciYjMzk7cyBpbm5lciB3b3JraW5ncy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cnZ1X21ib3hfaGFuZGxlcl8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7XG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDk4MCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbml4LmMtMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9uaXguYzoxNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfY24yMGtfYXFfZW5xKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jLTE1LVx0XHRcdFx0ICAgICAgc3RydWN0IG5peF9jbjIwa19hcV9lbnFfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGEuYzoxNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGFfY24yMGtfYXFfZW5xKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYS5jLTE1LVx0XHRcdFx0ICAgICAgc3RydWN0IG5wYV9jbjIwa19hcV9lbnFfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMjAtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmM6MjE6RVhQT1JUX1NZTUJPTChydnVfbWJveF9oYW5kbGVyX25wYV9jbjIwa19hcV9lbnEpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTEyMzY9aW50IG5wY19jbjIwa19yZWFkX21jYW1fZW50cnkoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkciwgdTE2IGluZGV4LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTEzNjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxMzYzOmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX3dyaXRlX2VudHJ5KHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTEzNjQtXHRcdFx0XHRcdFx0c3RydWN0IG5wY19jbjIwa19tY2FtX3dyaXRlX2VudHJ5X3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0MDYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDA3OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX3JlYWRfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQwOC1cdFx0XHRcdFx0ICAgICAgIHN0cnVjdCBucGNfbWNhbV9yZWFkX2VudHJ5X3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0MzMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDM0OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX2FsbG9jX2FuZF93cml0ZV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDM1LVx0XHRcdFx0XHRcdFx0ICBzdHJ1Y3QgbnBjX2NuMjBrX21jYW1fYWxsb2NfYW5kX3dyaXRlX2VudHJ5X3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0NjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDYzOlx0cmMgPSBydnVfbWJveF9oYW5kbGVyX25wY19tY2FtX2FsbG9jX2VudHJ5KHJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0NjQtXHRcdFx0XHRcdFx0ICAgXHUwMDI2ZW50cnlfcmVxLCBcdTAwMjZlbnRyeV9yc3ApO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0ODktXHRcdGZyZWVfcmVxLmVudHJ5ID0gZW50cnlfcnNwLmVudHJ5O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6MTQ5MDpcdFx0ZXJyID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9mcmVlX2VudHJ5KHJ2dSwgXHUwMDI2ZnJlZV9yZXEsIFx1MDAyNmZyZWVfcnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0OTEtXHRcdGlmIChlcnIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM9MTUwMj1zdGF0aWMgaW50IHJ2dV9ucGNfZ2V0X2Jhc2Vfc3RlZXJfcnVsZV90eXBlKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTUwOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjE1MTA6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBjX2NuMjBrX3JlYWRfYmFzZV9zdGVlcl9ydWxlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE1MTEtXHRcdFx0XHRcdFx0ICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM9MzM1ND1pbnRcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjMzNTU6cnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfZ2V0X2ZjbnQoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMzM1Ni1cdFx0XHRcdCAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTMzNjQ9aW50XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzozMzY1OnJ2dV9tYm94X2hhbmRsZXJfbnBjX2NuMjBrX2dldF9rZXhfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTMzNjYtXHRcdFx0XHQgICAgICAgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00MDY4PWludCBucGNfY24yMGtfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MTc3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDE3ODppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQxNzktXHRcdFx0XHRzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTQxODQ9aW50IG5wY19jbjIwa19kZnRfcnVsZXNfaWR4X2dldChzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1MTYgKmJjYXN0LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQyNjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0MjYzOmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfcGZsX2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDI2NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBucGNfZ2V0X3BmbF9pbmZvX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQyNzUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0Mjc2OmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfbnVtX2t3cyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00Mjc3LVx0XHRcdFx0ICAgICBzdHJ1Y3QgbnBjX2dldF9udW1fa3dzX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQzMjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0MzIxOmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfZGZ0X3JsX2lkeHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDMyMi1cdFx0XHRcdFx0IHN0cnVjdCBucGNfZ2V0X2RmdF9ybF9pZHhzX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jPTQ0NTY9aW50IG5wY19jbjIwa19kZnRfcnVsZXNfYWxsb2Moc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTMyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDUzMzpcdHJldCA9IHJ2dV9tYm94X2hhbmRsZXJfbnBjX21jYW1fYWxsb2NfZW50cnkocnZ1LCBcdTAwMjZyZXEsIFx1MDAyNnJzcCk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTM0LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1NzAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0NTcxOlx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9hbGxvY19lbnRyeShydnUsIFx1MDAyNnJlcSwgXHUwMDI2cnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1NzItXHRpZiAocmV0KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDY0NC1cdGZyZWVfcmVxLmFsbCA9IDE7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0NjQ1Olx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9mcmVlX2VudHJ5KHJ2dSwgXHUwMDI2ZnJlZV9yZXEsIFx1MDAyNmZyZWVfcnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ2NDYtXHRpZiAocmV0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYz0zNj12b2lkIHJ2dV9tY3NfcHRwX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHU4IHJwbV9pZCwgdTggbG1hY19pZCwgYm9vbCBlbmEpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTcxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjcyOmludCBydnVfbWJveF9oYW5kbGVyX21jc19zZXRfbG1hY19tb2RlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy03My1cdFx0XHRcdCAgICAgICBzdHJ1Y3QgbWNzX3NldF9sbWFjX21vZGUgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM9MTUzPXN0YXRpYyB2b2lkIG1jc19pbnRyX2hhbmRsZXJfdGFzayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTE3OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzoxNzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2ludHJfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0xODAtXHRcdFx0XHQgIHN0cnVjdCBtY3NfaW50cl9jZmcgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjAzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIwNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X2h3X2luZm8oc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTIwNS1cdFx0XHRcdCAgICAgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjIyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIyMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9yZXNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtY3NfcG9ydF9yZXNldF9yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMjQtXHRcdFx0XHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjM3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIzODppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfY2xlYXJfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTIzOS1cdFx0XHRcdCAgICAgc3RydWN0IG1jc19jbGVhcl9zdGF0cyAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yNTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MjYwOmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfZmxvd2lkX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yNjEtXHRcdFx0XHRcdCAgc3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjkwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjI5MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NlY3lfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTI5Mi1cdFx0XHRcdFx0c3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzE4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjMxOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zMjAtXHRcdFx0XHQgICAgICBzdHJ1Y3QgbWNzX3N0YXRzX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zNDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MzQzOmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfc2Ffc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM0NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBtY3Nfc3RhdHNfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM2Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzozNjc6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2dldF9wb3J0X3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zNjgtXHRcdFx0XHRcdHN0cnVjdCBtY3Nfc3RhdHNfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM5MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzozOTE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3NldF9hY3RpdmVfbG1hYyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzkyLVx0XHRcdFx0XHQgc3RydWN0IG1jc19zZXRfYWN0aXZlX2xtYWMgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDA4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQwOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9jZmdfc2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X2NmZ19zZXRfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDEwLVx0XHRcdFx0ICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQyNzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9jZmdfZ2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X2NmZ19nZXRfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDI4LVx0XHRcdFx0ICAgICAgc3RydWN0IG1jc19wb3J0X2NmZ19nZXRfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ0NC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0NDU6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2N1c3RvbV90YWdfY2ZnX2dldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtY3NfY3VzdG9tX3RhZ19jZmdfZ2V0X3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ0Ni1cdFx0XHRcdFx0ICAgIHN0cnVjdCBtY3NfY3VzdG9tX3RhZ19jZmdfZ2V0X3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYz00NjA9aW50IHJ2dV9tY3NfZmxyX2hhbmRsZXIoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDgwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQ4MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZmxvd2lkX2VuYV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDgyLVx0XHRcdFx0XHQgIHN0cnVjdCBtY3NfZmxvd2lkX2VuYV9kaXNfZW50cnkgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDk0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQ5NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG5fdGFibGVfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ5Ni1cdFx0XHRcdFx0c3RydWN0IG1jc19wbl90YWJsZV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTA4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjUwOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2V0X3BuX3RocmVzaG9sZChzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTEwLVx0XHRcdFx0XHQgIHN0cnVjdCBtY3Nfc2V0X3BuX3RocmVzaG9sZCAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01MjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NTI1OmludCBydnVfbWJveF9oYW5kbGVyX21jc19yeF9zY19zYV9tYXBfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTUyNi1cdFx0XHRcdFx0ICAgIHN0cnVjdCBtY3Nfcnhfc2Nfc2FfbWFwICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTUzOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo1Mzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3R4X3NjX3NhX21hcF93cml0ZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTQwLVx0XHRcdFx0XHQgICAgc3RydWN0IG1jc190eF9zY19zYV9tYXAgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTU0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU1NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2FfcGxjeV93cml0ZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTU2LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBtY3Nfc2FfcGxjeV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTcyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU3MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfcnhfc2NfY2FtX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NzQtXHRcdFx0XHRcdCBzdHJ1Y3QgbWNzX3J4X3NjX2NhbV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTg2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU4NzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2VjeV9wbGN5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01ODgtXHRcdFx0XHRcdCBzdHJ1Y3QgbWNzX3NlY3lfcGxjeV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjAxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZmxvd2lkX2VudHJ5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MDMtXHRcdFx0XHRcdCAgICBzdHJ1Y3QgbWNzX2Zsb3dpZF9lbnRyeV93cml0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjI4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYyOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZnJlZV9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTYzMC1cdFx0XHRcdFx0c3RydWN0IG1jc19mcmVlX3JzcmNfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTY3OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo2Nzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2FsbG9jX3Jlc291cmNlcyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjgwLVx0XHRcdFx0XHQgc3RydWN0IG1jc19hbGxvY19yc3JjX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy03NjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NzYxOmludCBydnVfbWJveF9oYW5kbGVyX21jc19hbGxvY19jdHJsX3BrdF9ydWxlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy03NjItXHRcdFx0XHRcdCAgICAgc3RydWN0IG1jc19hbGxvY19jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04MTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODE4OmludCBydnVfbWJveF9oYW5kbGVyX21jc19mcmVlX2N0cmxfcGt0X3J1bGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTgxOS1cdFx0XHRcdFx0ICAgIHN0cnVjdCBtY3NfZnJlZV9jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04MzgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODM5OmludCBydnVfbWJveF9oYW5kbGVyX21jc19jdHJsX3BrdF9ydWxlX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04NDAtXHRcdFx0XHRcdCAgICAgc3RydWN0IG1jc19jdHJsX3BrdF9ydWxlX3dyaXRlX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jPTYxMj1zdHJ1Y3QgcGNpX2RyaXZlciBwdHBfZHJpdmVyID0ge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jLTYxOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jOjYxOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9wdHBfb3Aoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgcHRwX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjIwLVx0XHRcdCAgICBzdHJ1Y3QgcHRwX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jLTY2My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jOjY2NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9wdHBfZ2V0X2NhcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9wdHAuYy02NjUtXHRcdFx0XHQgc3RydWN0IHB0cF9nZXRfY2FwX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jPTEyMzY9aW50IHJ2dV9hcV9hbGxvYyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBhZG1pbl9xdWV1ZSAqKmFkX3F1ZXVlLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTEyNjQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxMjY1OmludCBydnVfbWJveF9oYW5kbGVyX3JlYWR5KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTEyNjYtXHRcdFx0ICAgc3RydWN0IHJlYWR5X21zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xNDU1PXN0YXRpYyBpbnQgcnZ1X2RldGFjaF9yc3JjcyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCByc3JjX2RldGFjaCAqZGV0YWNoLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE1MDctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxNTA4OmludCBydnVfbWJveF9oYW5kbGVyX2RldGFjaF9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTUwOS1cdFx0XHRcdCAgICAgIHN0cnVjdCByc3JjX2RldGFjaCAqZGV0YWNoLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jPTE3MzY9c3RhdGljIGJvb2wgcnZ1X2F0dGFjaF9mcm9tX3NhbWVfYmxvY2soc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrdHlwZSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xNzUxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTc1MjppbnQgcnZ1X21ib3hfaGFuZGxlcl9hdHRhY2hfcmVzb3VyY2VzKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE3NTMtXHRcdFx0XHQgICAgICBzdHJ1Y3QgcnNyY19hdHRhY2ggKmF0dGFjaCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xOTA2PXN0YXRpYyB2b2lkIHJ2dV9jbGVhcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBydnVfcGZ2ZiAqcGZ2Zixcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xOTI5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTkzMDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xOTMxLVx0XHRcdFx0IHN0cnVjdCBtc2l4X29mZnNldF9yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xOTkyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTk5MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9mcmVlX3JzcmNfY250KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE5OTQtXHRcdFx0XHQgICBzdHJ1Y3QgZnJlZV9yc3Jjc19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMDg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjA4NjppbnQgcnZ1X21ib3hfaGFuZGxlcl92Zl9mbHIoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjA4Ny1cdFx0XHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMTA2PWludCBydnVfbmRjX3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgbGZibGthZGRyLCBpbnQgbGZpZHgsIHU2NCBsZm9mZnNldClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTEyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjExMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9nZXRfaHdfY2FwKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxMTQtXHRcdFx0XHRzdHJ1Y3QgZ2V0X2h3X2NhcF9yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTI3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjEyODppbnQgcnZ1X21ib3hfaGFuZGxlcl9zZXRfdmZfcGVybShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBzZXRfdmZfcGVybSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjEyOS1cdFx0XHRcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxNjktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMTcwOmludCBydnVfbWJveF9oYW5kbGVyX25kY19zeW5jX29wKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxNzEtXHRcdFx0XHQgc3RydWN0IG5kY19zeW5jX29wICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjI1Nj1zdGF0aWMgaW50IHJ2dV9wcm9jZXNzX21ib3hfbXNnKHN0cnVjdCBvdHgyX21ib3ggKm1ib3gsIGludCBkZXZpZCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjg3LVx0XHRcdFx0XHRcdFx0XHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMjg4Olx0XHRlcnIgPSBydnVfbWJveF9oYW5kbGVyXyAjIyBfZm5fbmFtZShydnUsXHRcdFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjg5LVx0XHRcdFx0XHRcdCAgICAoc3RydWN0IF9yZXFfdHlwZSAqKXJlcSwgXFxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuaD05ODM9c3RhdGljIGlubGluZSBib29sIGlzX2NneF92ZihzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5oLTk4OS0jZGVmaW5lIE0oX25hbWUsIF9pZCwgZm5fbmFtZSwgcmVxLCByc3ApXHRcdFx0XHRcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1Lmg6OTkwOmludCBydnVfbWJveF9oYW5kbGVyXyAjIyBmbl9uYW1lKHN0cnVjdCBydnUgKiwgc3RydWN0IHJlcSAqLCBzdHJ1Y3QgcnNwICopO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmgtOTkxLU1CT1hfTUVTU0FHRVNcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9NTI3PXZvaWQgcnZ1X2NneF9kaXNhYmxlX2RtYWNfZW50cmllcyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NTYzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGFydF9yeHR4KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjQtXHRcdFx0XHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNTY5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjU3MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9yeHR4KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NzEtXHRcdFx0XHQgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz01Nzc9c3RhdGljIGludCBydnVfbG1hY19nZXRfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjAtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjIxOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjIyLVx0XHRcdCAgICAgICBzdHJ1Y3QgY2d4X3N0YXRzX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjI3OmludCBydnVfbWJveF9oYW5kbGVyX3JwbV9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjI4LVx0XHRcdCAgICAgICBzdHJ1Y3QgcnBtX3N0YXRzX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MzItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjMzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGF0c19yc3Qoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTYzNC1cdFx0XHRcdCAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTY2MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo2NjI6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2ZlY19zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjYzLVx0XHRcdFx0ICAgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjc5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjY4MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfc2V0KHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02ODEtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX3NldF9vcl9nZXQgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzAyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjcwMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfYWRkKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MDQtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX2FkZF9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzI2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjcyNzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfZGVsKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MjgtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX2RlbF9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjc0NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX21heF9lbnRyaWVzX2dldChzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzQ1LVx0XHRcdFx0XHQgICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTc3MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3NzE6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X21hY19hZGRyX2dldChzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzcyLVx0XHRcdFx0ICAgICAgc3RydWN0IGNneF9tYWNfYWRkcl9zZXRfb3JfZ2V0ICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTc4My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3ODQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03ODUtXHRcdFx0XHRcdHN0cnVjdCBtc2dfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTgwMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4MDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODA1LVx0XHRcdFx0XHQgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9ODIzPXN0YXRpYyBpbnQgcnZ1X2NneF9wdHBfcnhfY2ZnKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIGJvb2wgZW5hYmxlKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04NTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6ODU5OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9wdHBfcnhfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04NjAtXHRcdFx0XHQgICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjg2ODppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfcHRwX3J4X2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTg2OS1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9ODc0PXN0YXRpYyBpbnQgcnZ1X2NneF9jb25maWdfbGlua2V2ZW50cyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04OTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6ODk1OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGFydF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04OTYtXHRcdFx0XHRcdCAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTAxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjkwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MDMtXHRcdFx0XHRcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MDgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTA5OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9nZXRfbGlua2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkxMC1cdFx0XHRcdCAgICAgIHN0cnVjdCBjZ3hfbGlua19pbmZvX21zZyAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MjYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTI3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9mZWF0dXJlc19nZXQoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkyOC1cdFx0XHRcdCAgICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTk3MT1zdGF0aWMgaW50IHJ2dV9jZ3hfY29uZmlnX2ludGxiayhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05ODYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTg3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9pbnRsYmtfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05ODgtXHRcdFx0XHQgICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTkzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjk5NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfaW50bGJrX2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk5NS1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9MTAwMT1pbnQgcnZ1X2NneF9jZmdfcGF1c2VfZnJtKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIHU4IHR4X3BhdXNlLCB1OCByeF9wYXVzZSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTAzOS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMDQwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9jZmdfcGF1c2VfZnJtKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMDQxLVx0XHRcdFx0ICAgICAgIHN0cnVjdCBjZ3hfcGF1c2VfZnJtX2NmZyAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMDY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjEwNjg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2dldF9waHlfZmVjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMDY5LVx0XHRcdFx0XHQgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz0xMTI2PWludCBydnVfY2d4X3N0YXJ0X3N0b3BfaW8oc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgYm9vbCBzdGFydClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTE3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMTczOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zZXRfZmVjX3BhcmFtKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTc0LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBmZWNfbW9kZSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjExOTA6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2dldF9hdXhfbGlua19pbmZvKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTkxLVx0XHRcdFx0XHQgICBzdHJ1Y3QgY2d4X2Z3X2RhdGEgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTIxNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjE2OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zZXRfbGlua19tb2RlKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjE3LVx0XHRcdFx0ICAgICAgIHN0cnVjdCBjZ3hfc2V0X2xpbmtfbW9kZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTI0Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjQzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9yZXNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjZ3hfbWFjX2FkZHJfcmVzZXRfcmVxICpyZXEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTI0NC1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTI1OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjYwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl91cGRhdGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEyNjEtXHRcdFx0XHRcdCBzdHJ1Y3QgY2d4X21hY19hZGRyX3VwZGF0ZV9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9MTI3Nz1pbnQgcnZ1X2NneF9wcmlvX2Zsb3dfY3RybF9jZmcoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgdTggdHhfcGF1c2UsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEzMTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6MTMxNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfcHJpb19mbG93X2N0cmxfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMzE1LVx0XHRcdFx0XHQgICAgc3RydWN0IGNneF9wZmNfY2ZnICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NuMTBrLmM9MTEzPXN0YXRpYyBpbnQgcnZ1X3VwZGF0ZV9sbXRhZGRyKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIHU2NCBsbXRfYWRkcilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY24xMGsuYy0xNDctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY24xMGsuYzoxNDg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbG10c3RfdGJsX3NldHVwKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jbjEway5jLTE0OS1cdFx0XHRcdCAgICAgc3RydWN0IGxtdHN0X3RibF9zZXR1cF9yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9NDMzPXN0YXRpYyBpbnQgdmFsaWRhdGVfYW5kX2dldF9jcHRfYmxrYWRkcihpbnQgcmVxX2Jsa2FkZHIpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTQ0My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo0NDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2xmX2FsbG9jKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy00NDUtXHRcdFx0XHQgIHN0cnVjdCBjcHRfbGZfYWxsb2NfcmVxX21zZyAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz01MTQ9c3RhdGljIGludCBjcHRfbGZfZnJlZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsIGludCBibGthZGRyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy01NDQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NTQ1OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9sZl9mcmVlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy01NDYtXHRcdFx0XHQgc3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9NjE0PXN0YXRpYyBpbnQgY3B0X2lubGluZV9pcHNlY19jZmdfb3V0Ym91bmQoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkciwgdTggY3B0bGYsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTY1OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo2NTk6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2lubGluZV9pcHNlY19jZmcoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTY2MC1cdFx0XHRcdFx0ICBzdHJ1Y3QgY3B0X2lubGluZV9pcHNlY19jZmdfbXNnICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jPTY5NT1zdGF0aWMgYm9vbCB2YWxpZGF0ZV9hbmRfdXBkYXRlX3JlZ19vZmZzZXQoc3RydWN0IHJ2dSAqcnZ1LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy03NjItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NzYzOmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9yZF93cl9yZWdpc3RlcihzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtNzY0LVx0XHRcdFx0XHRzdHJ1Y3QgY3B0X3JkX3dyX3JlZ19tc2cgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9ODMzPXN0YXRpYyB2b2lkIGdldF9lbmdfc3RzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IGNwdF9zdHNfcnNwICpyc3AsIGludCBibGthZGRyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy04NTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6ODU4OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9zdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X3N0c19yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy04NTktXHRcdFx0ICAgICBzdHJ1Y3QgY3B0X3N0c19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM9ODk5PXN0YXRpYyB2b2lkIGNwdF9yeGNfdGltZV9jZmcoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X3J4Y190aW1lX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTIzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjkyNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfcnhjX3RpbWVfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05MjUtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY3B0X3J4Y190aW1lX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjk0NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfY3R4X2NhY2hlX3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk0NS1cdFx0XHRcdFx0c3RydWN0IG1zZ19yc3AgKnJzcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQ5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjk1MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfbGZfcmVzZXQoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X2xmX3JzdF9yZXEgKnJlcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05NTEtXHRcdFx0XHQgIHN0cnVjdCBtc2dfcnNwICpyc3ApXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk4Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5ODM6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2ZsdF9lbmdfaW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfZmx0X2VuZ19pbmZvX3JlcSAqcmVxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk4NC1cdFx0XHRcdCAgICAgIHN0cnVjdCBjcHRfZmx0X2VuZ19pbmZvX3JzcCAqcnNwKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmM9MTY4Mz1zdGF0aWMgaW50IHJ2dV9kYmdfbml4X3RtX3RyZWVfZGlzcGxheShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTE3MTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jOjE3MTQ6XHRcdHJjID0gcnZ1X21ib3hfaGFuZGxlcl9uaXhfYXFfZW5xKHJ2dSwgXHUwMDI2YXFfcmVxLCBcdTAwMjZyc3ApO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy0xNzE1LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmM9MjI5Mj1zdGF0aWMgaW50IHJ2dV9kYmdfbml4X3F1ZXVlX2N0eF9kaXNwbGF5KHN0cnVjdCBzZXFfZmlsZSAqZmlscCxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTIzNzAtXHRcdFx0ICAgY3R5cGVfc3RyaW5nLCBuaXhsZiwgYXFfcmVxLnFpZHgpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzoyMzcxOlx0XHRyYyA9IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShydnUsIFx1MDAyNmFxX3JlcSwgXHUwMDI2cnNwKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjM3Mi1cdFx0aWYgKHJjKSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jPTU4Nz1zdGF0aWMgaW50IG5peF9icF9kaXNhYmxlKHN0cnVjdCBydnUgKnJ2dSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjM5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjY0MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYnBfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjQxLVx0XHRcdFx0ICAgIHN0cnVjdCBuaXhfYnBfY2ZnX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02NDYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NjQ3OmludCBydnVfbWJveF9oYW5kbGVyX25peF9jcHRfYnBfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjQ4LVx0XHRcdFx0XHRzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NzMzPXN0YXRpYyBpbnQgbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTc5My1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo3OTQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNzk1LVx0XHRcdFx0ICAgc3RydWN0IG5peF9icF9jZmdfcmVxICpyZXEsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTgwMC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo4MDE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2NwdF9icF9lbmFibGUoc3RydWN0IHJ2dSAqcnZ1LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTgwMi1cdFx0XHRcdCAgICAgICBzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9MTQ0Mj1zdGF0aWMgaW50IG5peF9sZl9od2N0eF9sb2NrZG93bihzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDY3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0Njg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ2OS1cdFx0XHRcdHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDgwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0ODE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ4Mi1cdFx0XHRcdHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDg4LS8qIENOMTBLIG1ib3ggaGFuZGxlciAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0ODk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2NuMTBrX2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ5MC1cdFx0XHRcdCAgICAgIHN0cnVjdCBuaXhfY24xMGtfYXFfZW5xX3JlcSAqcmVxLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDk2LVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI0MDQ2CgkJCQkJCQlvdXRwdXQ6IDQ2CgkJCQkJCQl0aG91Z2h0czogNjAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBicmVhayB0aGlzIGRvd24uCgoqKkRpdmluZyBpbnRvIHRoZSBNYWlsYm94IEhhbmRsZXImIzM5O3MgVHJhaWwqKgoKTXkgcHJpbWFyeSBjb25jZXJuIHJpZ2h0IG5vdyBpcyB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgbWFpbGJveCBoYW5kbGVyIGZ1bmN0aW9ucyB3aXRoaW4gdGhpcyBNYXJ2ZWxsIE9jdGVvbnR4MiBFdGhlcm5ldCBkcml2ZXIuIEkmIzM5O20gZm9jdXNpbmcgb24gdGhlIGBydnVfcHJvY2Vzc19tYm94X21zZ2AgZnVuY3Rpb24sIHNwZWNpZmljYWxseSwgd2hlcmUgaXQmIzM5O3MgYmVpbmcgY2FsbGVkIGZyb20gd2l0aGluIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuY2AuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSBjYWxsaW5nIGNvbnRleHQ7IG15IGltbWVkaWF0ZSBnb2FsIGlzIHRvIGVzdGFibGlzaCB0aGUgcmVhY2hhYmlsaXR5IG9mIHRoaXMgaGFuZGxlci4gSXMgdGhpcyBmdW5jdGlvbiBhY3R1YWxseSBnZXR0aW5nIGhpdD8gV2hhdCB0cmlnZ2VycyBpdD8gVGhpcyBpcyBjcnVjaWFsIGZvciBkZWJ1Z2dpbmcgYW5kIG9wdGltaXphdGlvbiBlZmZvcnRzLCBiZWNhdXNlIEkgbXVzdCBrbm93IHdoZXRoZXIgdGhlIGRhdGEgcGF0aCBpcyBhY3R1YWxseSBnb2luZyB0aHJvdWdoIG15IGNob3NlbiBmdW5jdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cnZ1X3Byb2Nlc3NfbWJveF9tc2cmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjIyOT1zdGF0aWMgdm9pZCBydnVfbm90aWZ5X2FsdGFmKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMsIHU2NCBvcClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjU1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjI1NjpzdGF0aWMgaW50IHJ2dV9wcm9jZXNzX21ib3hfbXNnKHN0cnVjdCBvdHgyX21ib3ggKm1ib3gsIGludCBkZXZpZCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIyNTctXHRcdFx0XHRzdHJ1Y3QgbWJveF9tc2doZHIgKnJlcSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMzA3PXN0YXRpYyB2b2lkIF9fcnZ1X21ib3hfaGFuZGxlcihzdHJ1Y3QgcnZ1X3dvcmsgKm13b3JrLCBpbnQgdHlwZSwgYm9vbCBwb2xsKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIzNzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMzcyOlx0XHRlcnIgPSBydnVfcHJvY2Vzc19tYm94X21zZyhtYm94LCBkZXZpZCwgbXNnKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIzNzMtXHRcdGlmICghZXJyKSB7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMTk2CgkJCQkJCQlvdXRwdXQ6IDQ0CgkJCQkJCQl0aG91Z2h0czogMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7bml4X3J4X3N5bmMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jPTI1MT11MzIgY29udmVydF9ieXRlc190b19kd3JyX210dSh1MzIgYnl0ZXMpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTI3MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzoyNzI6c3RhdGljIHZvaWQgbml4X3J4X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkcilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0yNzMte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYz01MzUyPXZvaWQgcnZ1X25peF9sZl90ZWFyZG93bihzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBpbnQgYmxrYWRkciwgaW50IG5peGxmKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy01MzY4LVx0bml4X2ludGVyZmFjZV9kZWluaXQocnZ1LCBwY2lmdW5jLCBuaXhsZik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NTM2OTpcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNTM3MC1cdG5peF90eHNjaHFfZnJlZShydnUsIHBjaWZ1bmMpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYz02MzI3PWludCBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjMzNS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo2MzM2Olx0bml4X3J4X3N5bmMocnZ1LCBibGthZGRyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02MzM3LVx0cmV0dXJuIDA7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjA5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzODIwCgkJCQkJCQlvdXRwdXQ6IDUzCgkJCQkJCQl0aG91Z2h0czogMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAyNjUsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMjAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7IDI2NTpcdFx0ZGVmYXVsdDpcbiAyNjY6XHRcdFx0cmV0dXJuIGlsb2cyKGJ5dGVzKTtcbiAyNjc6XHRcdH1cbiAyNjg6XHRcbiAyNjk6XHRcdHJldHVybiAwO1xuIDI3MDpcdH1cbiAyNzE6XHRcbiAyNzI6XHRzdGF0aWMgdm9pZCBuaXhfcnhfc3luYyhzdHJ1Y3QgcnZ1ICpydnUsIGludCBibGthZGRyKVxuIDI3MzpcdHtcbiAyNzQ6XHRcdGludCBlcnI7XG4gMjc1Olx0XG4gMjc2Olx0XHQvKiBTeW5jIGFsbCBpbiBmbGlnaHQgUlggcGFja2V0cyB0byBMTEMvRFJBTSAqL1xuIDI3NzpcdFx0cnZ1X3dyaXRlNjQocnZ1LCBibGthZGRyLCBOSVhfQUZfUlhfU1dfU1lOQywgQklUX1VMTCgwKSk7XG4gMjc4Olx0XHRlcnIgPSBydnVfcG9sbF9yZWcocnZ1LCBibGthZGRyLCBOSVhfQUZfUlhfU1dfU1lOQywgQklUX1VMTCgwKSwgdHJ1ZSk7XG4gMjc5Olx0XHRpZiAoZXJyKVxuIDI4MDpcdFx0XHRkZXZfZXJyKHJ2dS1cdTAwM2VkZXYsIFwmIzM0O1NZTkMxOiBOSVggUlggc29mdHdhcmUgc3luYyBmYWlsZWRcXG5cJiMzNDspO1xuIDI4MTpcdFxuIDI4MjpcdFx0LyogU1dfU1lOQyBlbnN1cmVzIGFsbCBleGlzdGluZyB0cmFuc2FjdGlvbnMgYXJlIGZpbmlzaGVkIGFuZCBwa3RzXG4gMjgzOlx0XHQgKiBhcmUgd3JpdHRlbiB0byBMTEMvRFJBTSwgcXVldWVzIHNob3VsZCBiZSB0ZWFyZWQgZG93biBhZnRlclxuIDI4NDpcdFx0ICogc3VjY2Vzc2Z1bCBTV19TWU5DLiBEdWUgdG8gYSBIVyBlcnJhdGEsIGluIHNvbWUgcmFyZSBzY2VuYXJpb3NcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MDk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU2OTQKCQkJCQkJCW91dHB1dDogMjkKCQkJCQkJCXRob3VnaHRzOiA0NTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIFJlYWNoYWJpbGl0eSBpbiBhIFZpcnR1YWxpemVkIEVudmlyb25tZW50KioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBmdW5jdGlvbi4gSXQgc2VlbXMgdG8gY2FsbCBgbml4X3J4X3N5bmNgLCB3aGljaCB3cml0ZXMgdG8gYW5kIHBvbGxzIHRoZSBgTklYX0FGX1JYX1NXX1NZTkNgIGhhcmR3YXJlIHJlZ2lzdGVyLiBUaGlzIHNjcmVhbXMgJiMzNDtoYXJkd2FyZS1zcGVjaWZpYyYjMzQ7LiBUaGUga2V5IHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRS4KCkluaXRpYWxseSwgbXkgaW5zdGluY3QgaXMgJiMzNDtuby4mIzM0OyBUaGlzIE1hcnZlbGwgT2N0ZW9uVFgyIGhhcmR3YXJlIGlzbiYjMzk7dCB0eXBpY2FsbHkgZW11bGF0ZWQgaW4gUUVNVS4gVGhlIHByb21wdCYjMzk7cyB3b3JkaW5nIGlzIHRoZSBpbXBvcnRhbnQgZmFjdG9yOiAmIzM0O1JldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMgY29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4uLiBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlJiMzNDsuICBTbywgYWJzZW50IHByb3BlciBoYXJkd2FyZSBlbXVsYXRpb24sIGl0IGxvb2tzIHVucmVhY2hhYmxlIGF0IGZpcnN0IGdsYW5jZS4KCkJ1dCB0aGVuIEkgcmVtZW1iZXIgc3l6a2FsbGVyIGFuZCBpdHMgZ2VuZXJpYyBQQ0kgZnV6emluZyBjYXBhYmlsaXRpZXMhICBTeXprYWxsZXIgY2FuLCBpbiB0aGVvcnksIHByb2JlIHRoZSBkcml2ZXIgYnkgZmFraW5nIHRoZSBQQ0kgSUQuICBJZiBpdCBjYW4gZG8gdGhhdCwgYW5kIHRoZSBkcml2ZXIgbG9hZHMsIHRoZW4gaXQgY291bGQgcG90ZW50aWFsbHkgaW50ZXJhY3Qgd2l0aCB0aGUgZHJpdmVyIGFuZCBzdGFydCB0cmlnZ2VyaW5nIGludGVycnVwdHMgYW5kIHBvcHVsYXRpbmcgdGhlIG1haWxib3ggbWVtb3J5LiAgSXQmIzM5O3MgY29tcGxleCB0aG91Z2gsIHRoaXMgbWFpbGJveCBpbnRlcmFjdGlvbiwgYW5kIHRoZSBoYXJkd2FyZSByZWdpc3RlcnMgYXJlIGNvbXBsZXgsIG1lYW5pbmcgcHJvcGVyIGZ1enppbmcgbWF5IG5vdCBiZSBhY2hpZXZlZC4KCldhaXQgYSBzZWNvbmQsIHN5emthbGxlciBkb2VzIGluZGVlZCBmdXp6IFBDSSBkcml2ZXJzIGJ5IGZha2luZyB0aGUgUENJIElEIGFuZCB0aGVuIGZ1enppbmcgdGhlIE1NSU8gcmVnaW9ucyBhbmQgaW50ZXJydXB0cy4gSWYgc3l6a2FsbGVyIGZha2VzIHRoZSBQQ0kgSUQsIGFuZCB0aGUgZHJpdmVyIHByb2JlcywgdGhlbiBpdCB3aWxsIGdldCB0byBleGVjdXRlIHRoaXMgY29kZS4gSXQgd291bGQgYmUgYWJsZSB0byB0cmlnZ2VyIGludGVycnVwdHMgYW5kIHBvcHVsYXRlIHRoZSBtYWlsYm94IG1lbW9yeS4gVGhpcyBtZWFucyBpdCAqY291bGQqIHJlYWNoIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYC4gIAoKSG93ZXZlciwgaXMgaXQgJiMzNDtpbXBvc3NpYmxlIHRvIHJlYWNoJiMzNDs/IFRoZSBwcm9tcHQgaGFzIHRoYXQgdmVyeSBzcGVjaWZpYyAmIzM0O2V2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUmIzM0OyBwaHJhc2UuICBTeXprYWxsZXImIzM5O3MgUENJIGZ1enplciAqaXMqIGEgZm9ybSBvZiBzb2Z0d2FyZSBlbXVsYXRpb24g4oCTIGl0IGVtdWxhdGVzIHRoZSBQQ0kgY29uZmlnIHNwYWNlLCBCQVJzLCBhbmQgaW50ZXJydXB0cy4gIFNvLCBpZiBzeXprYWxsZXIgY2FuIHJlYWNoIGl0LCBpdCYjMzk7cyB0ZWNobmljYWxseSByZWFjaGFibGUgYW5kIHRoZXJlZm9yZSB3b3VsZCBiZSB3b3J0aCBmdXp6aW5nLCBiYXNlZCBvbiB0aGUgcHJvbXB0LgoKQW0gSSBvdmVydGhpbmtpbmcgdGhpcz8gIEkgbmVlZCB0byBnZXQgc29tZSBtb3JlIGNvbnRleHQgdG8gbWFrZSBhIGRldGVybWluYXRpb24uICBMZXQgbWUgY2hlY2sgaWYgc3l6a2FsbGVyIGlzIGFscmVhZHkgZnV6emluZyBgb2N0ZW9udHgyYC4gIEkgbmVlZCB0byBjaGVjayBmb3IgYW55IGV4aXN0aW5nIHN5emJvdCBidWdzIHJlcG9ydGVkIHJlbGF0ZWQgdG8gdGhpcyBoYXJkd2FyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7b2N0ZW9udHgyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7TUFJTlRBSU5FUlMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7TUFJTlRBSU5FUlM9MTU2NDY9RjpcdGRyaXZlcnMvY3J5cHRvL21hcnZlbGwvXG5NQUlOVEFJTkVSUzoxNTY0NzpGOlx0aW5jbHVkZS9saW51eC9zb2MvbWFydmVsbC9vY3Rlb250eDIvXG5NQUlOVEFJTkVSUy0xNTY0OC1cbi0tXG5NQUlOVEFJTkVSUz0xNTc0MD1TOlx0TWFpbnRhaW5lZFxuTUFJTlRBSU5FUlM6MTU3NDE6RjpcdGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9cbk1BSU5UQUlORVJTOjE1NzQyOkY6XHRpbmNsdWRlL2xpbnV4L3NvYy9tYXJ2ZWxsL29jdGVvbnR4Mi9cbk1BSU5UQUlORVJTLTE1NzQzLVxuLS1cbk1BSU5UQUlORVJTPTE1NzUwPVM6XHRNYWludGFpbmVkXG5NQUlOVEFJTkVSUzoxNTc1MTpGOlx0RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyLnJzdFxuTUFJTlRBSU5FUlM6MTU3NTI6RjpcdGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL1xuTUFJTlRBSU5FUlMtMTU3NTMtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE0IDA2OjEwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI2OTc1CgkJCQkJCQlvdXRwdXQ6IDEwOAoJCQkJCQkJdGhvdWdodHM6IDE5MjMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgdGhlIE9jdGVvblRYMiBBRiBEcml2ZXIgUGF0Y2ggZm9yIEZ1enppbmcqKgoKT2theSwgc28gSSBjYW4mIzM5O3QgZGlyZWN0bHkgY2hlY2sgc3l6Ym90IGJ1ZyByZXBvcnRzIHJpZ2h0IG5vdywgYnV0IEkgY2FuIGZpZ3VyZSBvdXQgaWYgdGhlIGRyaXZlciBpcyB0eXBpY2FsbHkgaW5jbHVkZWQgaW4gc3l6a2FsbGVyJiMzOTtzIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24uIFRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBvbmx5IGxpc3QgY29uZmlncyBzcGVjaWZpYyB0byB0aGUgbW9kaWZpZWQgY29kZSwgYW5kIGRvbiYjMzk7dCBhZGQgJiMzNDtDT05GSUdcXyYjMzQ7IHByZWZpeGVzLiBTaW5jZSBJJiMzOTttIGJlaW5nIGFza2VkIHRvIGRldGVybWluZSBgV29ydGhGdXp6aW5nYCwgSSBuZWVkIHRvIGFzc2VzcyBpZiB0aGlzIHBhdGNoIGludHJvZHVjZXMgbmV3LCByZWFjaGFibGUgZnVuY3Rpb25hbGl0eS4KClRoZSBwcm9tcHQgc3BlY2lmaWNhbGx5IHNheXMgdG8gc2V0IGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIGl0IGNvbmNlcm5zIGNvZGUgdGhhdCYjMzk7cyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXphdGlvbi4gU28sIGlzIHRoaXMgY29kZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggZW11bGF0ZWQgaGFyZHdhcmU/IFRoZSBrZXkgaXMgd2hldGhlciB0aGUgUENJIGZ1enplciBjYW4gaGl0IGl0LgoKTGV0JiMzOTtzIGxvb2sgYXQgdGhlIGZ1bmN0aW9uIGluIHF1ZXN0aW9uLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuIEl0IHRha2VzIGBydnVgLCBgcmVxYCwgYW5kIGByc3BgIHN0cnVjdHMuIEl0IGNhbGxzIGBydnVfZ2V0X2Jsa2FkZHJgLCB3aGljaCBsb29rcyB1cCBhIGJsb2NrIGFkZHJlc3MsIGFuZCB0aGVuIGVpdGhlciByZXR1cm5zIGFuIGVycm9yIG9yIGNhbGxzIGBuaXhfcnhfc3luY2AuIGBuaXhfcnhfc3luY2AgdGhlbiBkb2VzIHNvbWUgbWVtb3J5IGFjY2VzcyB2aWEgYHJ2dV93cml0ZTY0YCBhbmQgYHJ2dV9wb2xsX3JlZ2AuIFRoaXMgYHJ2dV9wb2xsX3JlZ2Agc3VnZ2VzdHMgcG90ZW50aWFsIGludGVyYWN0aW9uIHdpdGggTU1JTyByZWdpc3RlcnMsIGFuZCB0aGUgUENJIGZ1enplciAqZG9lcyogZnV6eiBNTUlPLiBJdCB3aWxsIHByb3ZpZGUgcmFuZG9tIHZhbHVlcyBoZXJlIGFuZCBwb3RlbnRpYWxseSB0cmlnZ2VyIGludGVyZXN0aW5nIGJlaGF2aW9yLiBUaGUgZnVuY3Rpb24gaXRzZWxmIGlzIHJlbGF0aXZlbHkgc2ltcGxlLCBhY3RpbmcgYXMgYSBtYWlsYm94IGhhbmRsZXIuCgpHaXZlbiBpdCYjMzk7cyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYW5kIHRodXMgYSBmdW5jdGlvbmFsIGNoYW5nZSwgaWYgdGhlIFBDSSBmdXp6ZXIgY2FuIGFjY2VzcyB0aGlzIGNvZGUsIGl0JiMzOTtzIHdvcnRoIGZ1enppbmcuIEkmIzM5O2xsIGFzc3VtZSBpdCYjMzk7cyByZWFjaGFibGUuCgpOb3csIGRvZXMgdGhlIGRyaXZlciBldmVuIGNvbXBpbGU/IExvb2tpbmcgYXQgYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL0tjb25maWdgLCBpdCBkZXBlbmRzIG9uIGVpdGhlciBgNjRCSVQgJmFtcDsmYW1wOyBDT01QSUxFX1RFU1RgIG9yIGBBUk02NGAuIFN5emthbGxlciBjb21tb25seSBydW5zIG9uIHg4Nl82NCwgd2hpY2ggaXMgd2hhdCBJJiMzOTttIGV4cGVjdGluZy4gSXQgdXN1YWxseSBlbmFibGVzIGBDT01QSUxFX1RFU1RgIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGNvZGUgc2hvdWxkIGJlIGNvbXBpbGVkLiBJdCBzaG91bGQgYmUgcmVhY2hhYmxlLiBUaHVzLCBJJiMzOTtsbCBzZXQgYEVuYWJsZUNvbmZpZ3NgIHRvIGBPQ1RFT05UWDJfQUZgIGFuZCBgV29ydGhGdXp6aW5nPXRydWVgLiBUaGUgYEZvY3VzU3ltYm9sc2Agd2lsbCBiZSBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuCgpJIHNob3VsZCBiZSB0aG9yb3VnaCBoZXJlIGFuZCBkb3VibGUgY2hlY2sgdGhhdCB0aGVyZSBhcmVuJiMzOTt0IGFueSBvdGhlciBmdW5jdGlvbnMgaW52b2x2ZWQsIHRob3VnaCB0aGUgZGlmZiBsb29rcyBsaWtlIGl0IGp1c3QgYWRkZWQgdGhpcyBuZXcgaGFuZGxlci4gWWVzLCBpdCBvbmx5IGFkZHMgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGFuZCB0aGUgbWFjcm8gZW50cnkgaW4gYG1ib3guaGAsIHRoZSBwYXRjaGVkIGZ1bmN0aW9uIGBuaXhfcnhfc3luY2AgaXMgYWxyZWFkeSBleGlzdGluZy4KCkkgaGF2ZSB0byBtYWtlIHN1cmUgSSBnZXQgdGhlIGNvbmZpZyByaWdodC4gVGhlIHBhdGNoIGp1c3QgYWRkcyBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgZm9yIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIsIHdoaWNoIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgcmVhY2hhYmxlIHZpYSBQQ0kgZnV6emluZy4gTG9va2luZyBhdCB0aGUgS2NvbmZpZywgYE9DVEVPTlRYMl9BRmAgYWxzbyBzZWxlY3RzIGBPQ1RFT05UWDJfTUJPWGAsIHNvIEkgb25seSBuZWVkIHRvIHNwZWNpZnkgYE9DVEVPTlRYMl9BRmAuIEkmIzM5O20gY29uZmlkZW50IGluIHRoZSByZWFzb25pbmcgbm93LiBJdCBzaG91bGQgd29yay4gRmluYWxseSwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGlzICpub3QqIHN0YXRpYywgc28gaXQmIzM5O3MgYWNjZXNzaWJsZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTQgMDY6MTA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O09DVEVPTlRYMl9BRiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O3J2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtPQ1RFT05UWDJfQUYmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBuZXcgbWFpbGJveCBoYW5kbGVyIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBmb3IgdGhlIE1hcnZlbGwgT2N0ZW9uVFgyIEFGIGRyaXZlci4gVGhpcyBpcyBmdW5jdGlvbmFsIGNvZGUgdGhhdCBjYW4gYmUgcmVhY2hlZCBhbmQgdGVzdGVkIHZpYSBQQ0kgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA3OjQzLjYyODIxMDIyN1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE2Mzk2ODc0MTc3NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJPQ1RFT05UWDJfQUZcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowNzo0My42MjgyMTQ5OTdaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUyMDk1Njc1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGY0ZWFlNjQ3MTllMTZkZjM3NGYwNWYyMmQ2YTY4ODQ0M2UzN2Y5NWZcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFR1ZSBKdWwgMTQgMDY6MDc6NDIgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oXFxuaW5kZXggZjg3Y2RmMWI5NzFkYjEuLjkyMTc1ZGUwMzZkNWU4IDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxcbkBAIC0zNjIsNiArMzYyLDcgQEAgTShOSVhfQ1BUX0JQX0VOQUJMRSwgICAgMHg4MDIwLCBuaXhfY3B0X2JwX2VuYWJsZSwgbml4X2JwX2NmZ19yZXEsXFx0ICAgIFxcXFxcXG4gXFx0XFx0XFx0XFx0bml4X2JwX2NmZ19yc3ApXFx0XFx0XFx0XFx0ICAgIFxcXFxcXG4gTShOSVhfQ1BUX0JQX0RJU0FCTEUsICAgMHg4MDIxLCBuaXhfY3B0X2JwX2Rpc2FibGUsIG5peF9icF9jZmdfcmVxLFxcdCAgICBcXFxcXFxuIFxcdFxcdFxcdFxcdG1zZ19yc3ApXFx0XFx0XFx0XFx0XFxcXFxcbitNKE5JWF9SWF9TV19TWU5DLFxcdDB4ODAyMiwgbml4X3J4X3N3X3N5bmMsIG1zZ19yZXEsIG1zZ19yc3ApXFx0XFx0XFxcXFxcbiBNKE5JWF9SRUFEX0lOTElORV9JUFNFQ19DRkcsIDB4ODAyMywgbml4X3JlYWRfaW5saW5lX2lwc2VjX2NmZyxcXHRcXHRcXFxcXFxuIFxcdFxcdFxcdFxcdG1zZ19yZXEsIG5peF9pbmxpbmVfaXBzZWNfY2ZnKVxcdFxcdFxcXFxcXG4gTShOSVhfTUNBU1RfR1JQX0NSRUFURSxcXHQweDgwMmIsIG5peF9tY2FzdF9ncnBfY3JlYXRlLCBuaXhfbWNhc3RfZ3JwX2NyZWF0ZV9yZXEsXFx0XFxcXFxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcXG5pbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXFxuQEAgLTYzMjQsNiArNjMyNCwxOSBAQCBpbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYmFuZHByb2ZfZ2V0X2h3aW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZVxcbiBcXHRyZXR1cm4gMDtcXG4gfVxcbiBcXG4raW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbitcXHRcXHRcXHRcXHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4re1xcbitcXHRpbnQgYmxrYWRkcjtcXG4rXFxuK1xcdGJsa2FkZHIgPSBydnVfZ2V0X2Jsa2FkZHIocnZ1LCBCTEtUWVBFX05JWCwgcmVxLVxcdTAwM2VoZHIucGNpZnVuYyk7XFxuK1xcdGlmIChibGthZGRyIFxcdTAwM2MgMClcXG4rXFx0XFx0cmV0dXJuIE5JWF9BRl9FUlJfQUZfTEZfSU5WQUxJRDtcXG4rXFxuK1xcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XFxuK1xcdHJldHVybiAwO1xcbit9XFxuK1xcbiBzdGF0aWMgc3RydWN0IG5peF9tY2FzdF9ncnBfZWxlbSAqcnZ1X25peF9tY2FzdF9maW5kX2dycF9lbGVtKHN0cnVjdCBuaXhfbWNhc3RfZ3JwICptY2FzdF9ncnAsXFxuIFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgIHUzMiBtY2FzdF9ncnBfaWR4KVxcbiB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA3OjQ0LjE0OTkwMjg3N1oiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTYzNDQ3MDM1MDI0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk9DVEVPTlRYMl9BRlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgbmV3IG1haWxib3ggaGFuZGxlciBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgZm9yIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIuIFRoaXMgaXMgZnVuY3Rpb25hbCBjb2RlIHRoYXQgY2FuIGJlIHJlYWNoZWQgYW5kIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZjRlYWU2NDcxOWUxNmRmMzc0ZjA1ZjIyZDZhNjg4NDQzZTM3Zjk1ZlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBUdWUgSnVsIDE0IDA2OjA3OjQyIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWJveC5oXG5pbmRleCBmODdjZGYxYjk3MWRiMS4uOTIxNzVkZTAzNmQ1ZTggMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tYm94LmhcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaFxuQEAgLTM2Miw2ICszNjIsNyBAQCBNKE5JWF9DUFRfQlBfRU5BQkxFLCAgICAweDgwMjAsIG5peF9jcHRfYnBfZW5hYmxlLCBuaXhfYnBfY2ZnX3JlcSxcdCAgICBcXFxuIFx0XHRcdFx0bml4X2JwX2NmZ19yc3ApXHRcdFx0XHQgICAgXFxcbiBNKE5JWF9DUFRfQlBfRElTQUJMRSwgICAweDgwMjEsIG5peF9jcHRfYnBfZGlzYWJsZSwgbml4X2JwX2NmZ19yZXEsXHQgICAgXFxcbiBcdFx0XHRcdG1zZ19yc3ApXHRcdFx0XHRcXFxuK00oTklYX1JYX1NXX1NZTkMsXHQweDgwMjIsIG5peF9yeF9zd19zeW5jLCBtc2dfcmVxLCBtc2dfcnNwKVx0XHRcXFxuIE0oTklYX1JFQURfSU5MSU5FX0lQU0VDX0NGRywgMHg4MDIzLCBuaXhfcmVhZF9pbmxpbmVfaXBzZWNfY2ZnLFx0XHRcXFxuIFx0XHRcdFx0bXNnX3JlcSwgbml4X2lubGluZV9pcHNlY19jZmcpXHRcdFxcXG4gTShOSVhfTUNBU1RfR1JQX0NSRUFURSxcdDB4ODAyYiwgbml4X21jYXN0X2dycF9jcmVhdGUsIG5peF9tY2FzdF9ncnBfY3JlYXRlX3JlcSxcdFxcXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jXG5pbmRleCA3ODY2N2EwOTc3YzAxMy4uMGUyZTZjZGUzZGUyZWMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguY1xuQEAgLTYzMjQsNiArNjMyNCwxOSBAQCBpbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYmFuZHByb2ZfZ2V0X2h3aW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZVxuIFx0cmV0dXJuIDA7XG4gfVxuIFxuK2ludCBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcbitcdFx0XHRcdCAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxuK3tcbitcdGludCBibGthZGRyO1xuK1xuK1x0YmxrYWRkciA9IHJ2dV9nZXRfYmxrYWRkcihydnUsIEJMS1RZUEVfTklYLCByZXEtXHUwMDNlaGRyLnBjaWZ1bmMpO1xuK1x0aWYgKGJsa2FkZHIgXHUwMDNjIDApXG4rXHRcdHJldHVybiBOSVhfQUZfRVJSX0FGX0xGX0lOVkFMSUQ7XG4rXG4rXHRuaXhfcnhfc3luYyhydnUsIGJsa2FkZHIpO1xuK1x0cmV0dXJuIDA7XG4rfVxuK1xuIHN0YXRpYyBzdHJ1Y3Qgbml4X21jYXN0X2dycF9lbGVtICpydnVfbml4X21jYXN0X2ZpbmRfZ3JwX2VsZW0oc3RydWN0IG5peF9tY2FzdF9ncnAgKm1jYXN0X2dycCxcbiBcdFx0XHRcdFx0XHRcdCAgICAgIHUzMiBtY2FzdF9ncnBfaWR4KVxuIHtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA3OjQ0LjE0OTkwNDU2N1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE5NTIwOTMzNzU2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIFBvdGVudGlhbGx5IFVucmVhY2hhYmxlIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCB0aGF0IHRvdWNoZXMgYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21ib3guaGAgYW5kIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNgLiBJdCBsb29rcyBsaWtlIGl0J3MgYWRkaW5nIGEgbmV3IG1haWxib3ggbWVzc2FnZSwgYE5JWF9SWF9TV19TWU5DYCwgYW5kIGEgY29ycmVzcG9uZGluZyBoYW5kbGVyLCBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AuIFNlZW1zIHN0cmFpZ2h0Zm9yd2FyZCBlbm91Z2gsIGJ1dCB0aGUgdGFyZ2V0IGhhcmR3YXJlIGlzIGEgTWFydmVsbCBPY3Rlb25UWDIuIFRoYXQgaW1tZWRpYXRlbHkgcmFpc2VzIGEgZmxhZyBmb3IgbWUuXG5cbk15IGltbWVkaWF0ZSBxdWVzdGlvbiBpczogSXMgdGhpcyBjb2RlIGV2ZW4gKnJlYWNoYWJsZSogaW4gYSB0eXBpY2FsIGZ1enppbmcgZW52aXJvbm1lbnQsIGVzcGVjaWFsbHkgdXNpbmcgc29tZXRoaW5nIGxpa2Ugc3l6a2FsbGVyPyBUaGVzZSBoYXJkd2FyZS1zcGVjaWZpYyBFdGhlcm5ldCBkcml2ZXJzLCBsaWtlIHRoZSBPY3Rlb25UWDIsIGFyZSBnZW5lcmFsbHkgbm90IGFjY2Vzc2libGUgdW5sZXNzIHRoZXJlJ3MgZWl0aGVyIHZlcnkgc3BlY2lmaWMgc29mdHdhcmUgZW11bGF0aW9uIG9yIHNvbWUgZm9ybSBvZiBQQ0kgcGFzc3Rocm91Z2ggaW4gcGxhY2UsIGFuZCBzeXprYWxsZXIgcmFyZWx5IGhhcyB0aG9zZSBzZXR1cHMgcmVhZGlseSBhdmFpbGFibGUgZm9yIHRoaXMgdHlwZSBvZiBkZXZpY2UuXG5cblRoZXJlZm9yZSwgdGhlIG5leHQgc3RlcCBpcyB0byBpbnZlc3RpZ2F0ZSBpZiBhbnkgT2N0ZW9uVFgyIHNvZnR3YXJlIGVtdWxhdGlvbiBleGlzdHMuIEknbGwgbmVlZCB0byBkbyBhIGtlcm5lbCBzZWFyY2ggZm9yIGBvY3Rlb250eDJgIHRvIHNlZSBpZiBhbnl0aGluZyBqdW1wcyBvdXQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0MzEsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowODowMy42NzA4NDA5MzNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTQ1OTAxODU2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9jdGVvbnR4MlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL0tjb25maWc9MTY5PWNvbmZpZyBTS1kyX0RFQlVHXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL0tjb25maWctMTc5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvS2NvbmZpZzoxODA6c291cmNlIFxcXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9LY29uZmlnXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvS2NvbmZpZy0xODEtc291cmNlIFxcXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbl9lcC9LY29uZmlnXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9NYWtlZmlsZT0xNT1vYmoteVxcdFxcdCs9IG9jdGVvbl9lcF92Zi9cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL01ha2VmaWxlOjE2Om9iai15XFx0XFx0Kz0gb2N0ZW9udHgyL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvTWFrZWZpbGUtMTctb2JqLXlcXHRcXHQrPSBwcmVzdGVyYS9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmMtMjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzoyODojZGVmaW5lIERFQlVHRlNfRElSX05BTUUgXFxcIm9jdGVvbnR4MlxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTI5LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYz00MDEzPXN0YXRpYyBjb25zdCBjaGFyICpydnVfZ2V0X2RiZ19kaXJfbmFtZShzdHJ1Y3QgcnZ1ICpydnUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTQwMjAtXFx0ZWxzZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZWJ1Z2ZzLmM6NDAyMTpcXHRcXHRyZXR1cm4gXFxcIm9jdGVvbnR4MlxcXCI7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy00MDIyLX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9kZXZsaW5rLmMtMTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYzoxNjojZGVmaW5lIERSVl9OQU1FIFxcXCJvY3Rlb250eDItYWZcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RldmxpbmsuYy0xNy1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZT0xOD1ydnVfbmljcGYtJChDT05GSUdfWEZSTV9PRkZMT0FEKSArPSBjbjEwa19pcHNlYy5vXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL01ha2VmaWxlLTE5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9NYWtlZmlsZToyMDpjY2ZsYWdzLXkgKz0gLUkkKHNyY3RyZWUpL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvb3R4Ml9jb21tb24uaC0xNy0jaW5jbHVkZSBcXHUwMDNjbGludXgvc29jL21hcnZlbGwvc2lsaWNvbnMuaFxcdTAwM2VcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvb3R4Ml9jb21tb24uaDoxODojaW5jbHVkZSBcXHUwMDNjbGludXgvc29jL21hcnZlbGwvb2N0ZW9udHgyL2FzbS5oXFx1MDAzZVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9vdHgyX2NvbW1vbi5oLTE5LSNpbmNsdWRlIFxcdTAwM2NuZXQvbWFjc2VjLmhcXHUwMDNlXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvcW9zLmM9MTExNT1zdGF0aWMgaW50IG90eDJfcW9zX3ZhbGlkYXRlX3F1YW50dW0oc3RydWN0IG90eDJfbmljICpwZnZmLCB1MzIgcXVhbnR1bSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9xb3MuYy0xMTE5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL25pYy9xb3MuYzoxMTIwOlxcdC8qIE1heCBSb3VuZCByb2JpbiB3ZWlnaHQgc3VwcG9ydGVkIGJ5IG9jdGVvbnR4MiBhbmQgQ04xMEtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9uaWMvcW9zLmMtMTEyMS1cXHQgKiBpcyBkaWZmZXJlbnQuIFZhbGlkYXRlIGFjY29yZGluZ2x5XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA4OjAzLjgxNjc0ODc2WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTcwOTY5NTQ3NjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBOZXcgTWFpbGJveCBIYW5kbGVyKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IG1haWxib3ggaGFuZGxlciwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgLCBhbmQgaXQncyBuZXN0bGVkIGRlZXAgd2l0aGluIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIsIHNwZWNpZmljYWxseSBpbiBgcnZ1X25peC5jYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGZpZ3VyZSBvdXQgdGhlIGVuYWJsaW5nIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZmVhdHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGUgYEtjb25maWdgIGZpbGUgaW4gYGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL0tjb25maWdgLiBUaGlzIHdpbGwgdGVsbCB1cyB1bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMgdGhpcyBoYW5kbGVyIGlzIGNvbXBpbGVkIGludG8gdGhlIGRyaXZlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGRlcGVuZGVuY2llcyBhbmQgY29uZmlndXJhdGlvbnMgdGllZCB0byB0aGlzIG5ldyBzeW5jaHJvbml6YXRpb24gbWVjaGFuaXNtLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNzU4LCJPdXRwdXRUb2tlbnMiOjQ1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTA0LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA4OjIwLjkxMzcwNjM1NloiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjcwOTMwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL0tjb25maWdcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIE1hcnZlbGwgUlZVIE5ldHdvcmsgZHJpdmVycyBjb25maWd1cmF0aW9uXFxuICAgNDpcXHQjXFxuICAgNTpcXHRcXG4gICA2OlxcdGNvbmZpZyBPQ1RFT05UWDJfTUJPWFxcbiAgIDc6XFx0XFx0dHJpc3RhdGVcXG4gICA4OlxcdFxcbiAgIDk6XFx0Y29uZmlnIE9DVEVPTlRYMl9BRlxcbiAgMTA6XFx0XFx0dHJpc3RhdGUgXFxcIk1hcnZlbGwgT2N0ZW9uVFgyIFJWVSBBZG1pbiBGdW5jdGlvbiBkcml2ZXJcXFwiXFxuICAxMTpcXHRcXHRzZWxlY3QgT0NURU9OVFgyX01CT1hcXG4gIDEyOlxcdFxcdHNlbGVjdCBORVRfREVWTElOS1xcbiAgMTM6XFx0XFx0ZGVwZW5kcyBvbiAoNjRCSVQgXFx1MDAyNlxcdTAwMjYgQ09NUElMRV9URVNUKSB8fCBBUk02NFxcbiAgMTQ6XFx0XFx0ZGVwZW5kcyBvbiBQQ0lcXG4gIDE1OlxcdFxcdGRlcGVuZHMgb24gUFRQXzE1ODhfQ0xPQ0tfT1BUSU9OQUxcXG4gIDE2OlxcdFxcdGhlbHBcXG4gIDE3OlxcdFxcdCAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWFydmVsbCdzIE9jdGVvblRYMiBSZXNvdXJjZSBWaXJ0dWFsaXphdGlvblxcbiAgMTg6XFx0XFx0ICBVbml0J3MgYWRtaW4gZnVuY3Rpb24gbWFuYWdlciB3aGljaCBtYW5hZ2VzIGFsbCBSVlUgSFcgcmVzb3VyY2VzXFxuICAxOTpcXHRcXHQgIGFuZCBwcm92aWRlcyBhIG1lZGl1bSB0byBvdGhlciBQRi9WRnMgdG8gY29uZmlndXJlIEhXLiBTaG91bGQgYmVcXG4gIDIwOlxcdFxcdCAgZW5hYmxlZCBmb3Igb3RoZXIgUlZVIGRldmljZSBkcml2ZXJzIHRvIHdvcmsuXFxuICAyMTpcXHRcXG4gIDIyOlxcdGNvbmZpZyBORENfRElTX0RZTkFNSUNfQ0FDSElOR1xcbiAgMjM6XFx0XFx0Ym9vbCBcXFwiRGlzYWJsZSBjYWNoaW5nIG9mIGR5bmFtaWMgZW50cmllcyBpbiBORENcXFwiXFxuICAyNDpcXHRcXHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9BRlxcbiAgMjU6XFx0XFx0ZGVmYXVsdCBuXFxuICAyNjpcXHRcXHRoZWxwXFxuICAyNzpcXHRcXHQgIFRoaXMgY29uZmlnIG9wdGlvbiBkaXNhYmxlcyBjYWNoaW5nIG9mIGR5bmFtaWMgZW50cmllcyBzdWNoIGFzIE5JWCBTUUVzXFxuICAyODpcXHRcXHQgICwgTlBBIHN0YWNrIHBhZ2VzIGV0YyBpbiBOREMuIEFsc28gbG9ja3MgZG93biBOSVggU1EvQ1EvUlEvUlNTIGFuZFxcbiAgMjk6XFx0XFx0ICBOUEEgQXVyYS9Qb29sIGNvbnRleHRzLlxcbiAgMzA6XFx0XFxuICAzMTpcXHRjb25maWcgT0NURU9OVFgyX1BGXFxuICAzMjpcXHRcXHR0cmlzdGF0ZSBcXFwiTWFydmVsbCBPY3Rlb25UWDIgTklDIFBoeXNpY2FsIEZ1bmN0aW9uIGRyaXZlclxcXCJcXG4gIDMzOlxcdFxcdHNlbGVjdCBPQ1RFT05UWDJfTUJPWFxcbiAgMzQ6XFx0XFx0c2VsZWN0IE5FVF9ERVZMSU5LXFxuICAzNTpcXHRcXHRzZWxlY3QgUEFHRV9QT09MXFxuICAzNjpcXHRcXHRzZWxlY3QgQ1JZUFRPX0xJQl9BRVMgaWYgTUFDU0VDXFxuICAzNzpcXHRcXHRkZXBlbmRzIG9uICg2NEJJVCBcXHUwMDI2XFx1MDAyNiBDT01QSUxFX1RFU1QpIHx8IEFSTTY0XFxuICAzODpcXHRcXHRzZWxlY3QgRElNTElCXFxuICAzOTpcXHRcXHRkZXBlbmRzIG9uIFBDSVxcbiAgNDA6XFx0XFx0ZGVwZW5kcyBvbiBQVFBfMTU4OF9DTE9DS19PUFRJT05BTFxcbiAgNDE6XFx0XFx0ZGVwZW5kcyBvbiBNQUNTRUMgfHwgIU1BQ1NFQ1xcbiAgNDI6XFx0XFx0aGVscFxcbiAgNDM6XFx0XFx0ICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNYXJ2ZWxsJ3MgT2N0ZW9uVFgyIE5JQyBwaHlzaWNhbCBmdW5jdGlvbi5cXG4gIDQ0OlxcdFxcbiAgNDU6XFx0Y29uZmlnIE9DVEVPTlRYMl9WRlxcbiAgNDY6XFx0XFx0dHJpc3RhdGUgXFxcIk1hcnZlbGwgT2N0ZW9uVFgyIE5JQyBWaXJ0dWFsIEZ1bmN0aW9uIGRyaXZlclxcXCJcXG4gIDQ3OlxcdFxcdGRlcGVuZHMgb24gT0NURU9OVFgyX1BGXFxuICA0ODpcXHRcXHRoZWxwXFxuICA0OTpcXHRcXHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwncyBPY3Rlb25UWDIgTklDIHZpcnR1YWwgZnVuY3Rpb24uXFxuICA1MDpcXHRcXG4gIDUxOlxcdGNvbmZpZyBSVlVfRVNXSVRDSFxcbiAgNTI6XFx0XFx0dHJpc3RhdGUgXFxcIk1hcnZlbGwgUlZVIEUtU3dpdGNoIHN1cHBvcnRcXFwiXFxuICA1MzpcXHRcXHRkZXBlbmRzIG9uIE9DVEVPTlRYMl9QRlxcbiAgNTQ6XFx0XFx0ZGVmYXVsdCBtXFxuICA1NTpcXHRcXHRoZWxwXFxuICA1NjpcXHRcXHQgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1hcnZlbGwncyBSVlUgRS1Td2l0Y2ggdGhhdFxcbiAgNTc6XFx0XFx0ICBwcm92aWRlcyBpbnRlcm5hbCBTUklPViBwYWNrZXQgc3RlZXJpbmcgYW5kIHN3aXRjaGluZy5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDg6MjAuOTEzNzc4Nzc2WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTQwMjc2NzE0NzcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBSZWFjaGFiaWxpdHkgb2YgYE9DVEVPTlRYMl9BRmAgQ29kZSBQYXRocyoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgY29uZmlndXJhdGlvbiwgYE9DVEVPTlRYMl9BRmAuIEl0IGhpbmdlcyBvbiBhIGZldyBkZXBlbmRlbmNpZXM6IGAoNjRCSVQgXHUwMDI2XHUwMDI2IENPTVBJTEVfVEVTVCkgfHwgQVJNNjRgIGFuZCwgY3J1Y2lhbGx5LCBgUENJYC4gR2l2ZW4gdGhhdCB0aGlzIGlzIGEgZHJpdmVyIHNwZWNpZmljYWxseSBmb3IgdGhlIE1hcnZlbGwgT2N0ZW9uVFgyLCBteSBpbW1lZGlhdGUgdGhvdWdodCBpcyB0aGF0IGl0J3MgZ29pbmcgdG8gYmUgdmVyeSBoYXJkd2FyZS1zcGVjaWZpYy4gQSBQQ0kgZHJpdmVyIGxpa2UgdGhpcyBpc24ndCBnb2luZyB0byBmdW5jdGlvbiBuYXRpdmVseSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50IGxpa2UgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUsIGF0IGxlYXN0IG5vdCB3aXRob3V0IHNvbWUgaGVhdnkgbGlmdGluZyBpbiB0ZXJtcyBvZiBoYXJkd2FyZSBlbXVsYXRpb24gb3IgUENJIHBhc3N0aHJvdWdoLlxuXG5Ob3csIGhvbGQgb24uLi4gaWYgc3l6a2FsbGVyIGlzIHRoZSB0ZXN0aW5nIGZyYW1ld29yaywgSSdtIHByZXR0eSBjb25maWRlbnQgdGhhdCBpdCBkb2Vzbid0IGVtdWxhdGUgTWFydmVsbCBPY3Rlb25UWDIgaGFyZHdhcmUgc3BlY2lmaWNhbGx5LiBUaGF0IG1lYW5zIHRoZSBjb2RlIHBhdGhzIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jYCBhcmUgZXNzZW50aWFsbHkgZGVhZCBlbmRzIGluIHRoZXNlIHZpcnR1YWxpemVkIHNjZW5hcmlvcy4gVGhleSdyZSB1bnJlYWNoYWJsZSB3aXRob3V0IHZlcnkgc3BlY2lmaWMgaGFyZHdhcmUgY29uZmlndXJhdGlvbnMgdGhhdCBhcmUgdW5saWtlbHkgdG8gYmUgcHJlc2VudCBpbiB0eXBpY2FsIHN5emthbGxlciB0ZXN0aW5nLlxuXG5JIG5lZWQgdG8gY29uZmlybSB0aGlzIHRob3VnaC4gQmVmb3JlIEkgd3JpdGUgdGhpcyBvZmYgY29tcGxldGVseSwgSSBzaG91bGQgZG91YmxlLWNoZWNrLiBJJ2xsIHNlYXJjaCB0aGUgZG9jdW1lbnRhdGlvbiBkaXJlY3RvcmllcyAtIGBEb2N1bWVudGF0aW9uL2AsIGB0b29scy9gLCBhbmQgYWxzbyB0aGUgZHJpdmVyIGRpcmVjdG9yeSBpdHNlbGYsIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9gLiBJJ2xsIGxvb2sgZm9yIGFueSBtZW50aW9uIG9mIHNvZnR3YXJlIGVtdWxhdGlvbiBmb3IgdGhlIGBvY3Rlb250eDJgIGRldmljZSB0byBlbnN1cmUgSSBhbSBub3QgbWlzc2luZyBzb21ldGhpbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUwNjIsIk91dHB1dFRva2VucyI6MjcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMDgsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowODozNC45NDE0NjAwMDNaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzMzNTEzOTkzLCJFcnJvciI6Im5vIG1hdGNoZXMiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJvY3Rlb250eDJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwidG9vbHMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcImVycm9yXCI6IFwibm8gbWF0Y2hlc1wiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowODozNS4yNzQ5ODkyOTZaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyODYyOTI0NjQ5MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipSZWFjaGluZyB0aGUgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIEhhbmRsZXI6IEEgRnV6emluZyBQZXJzcGVjdGl2ZSoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIsIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCwgZm9yIHRoZSBgTklYX1JYX1NXX1NZTkNgIG1lc3NhZ2Ugd2l0aGluIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBSVlUgQWRtaW4gRnVuY3Rpb24gZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSwgYW5kIEkgbmVlZCB0byBhc3Nlc3MgaXRzIGZ1enppbmcgcG90ZW50aWFsLiBUaGUgZHJpdmVyJ3MgZW5hYmxlZCBieSBgQ09ORklHX09DVEVPTlRYMl9BRmAsIHNvIHRoYXQncyB0aGUgc3RhcnRpbmcgcG9pbnQuXG5cbk15IGluaXRpYWwgdGhvdWdodCBpcywgdGhpcyBpcyBhIGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlciBmb3IgdGhlIE9jdGVvblRYMiwgbWVhbmluZyB1bmxlc3MgdGhhdCBzcGVjaWZpYyBoYXJkd2FyZSBpcyBwcmVzZW50IG9yIGVtdWxhdGVkLCB0aGUgY29kZSBpcyBsaWtlbHkgdW5yZWFjaGFibGUuIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHdlIGNhbiBldmVuICp0cmlnZ2VyKiB0aGlzIGhhbmRsZXIuIE15IGV4cGVydGlzZSB0ZWxscyBtZSB0aGF0IGhhcmR3YXJlLXNwZWNpZmljIGRyaXZlcnMgb2Z0ZW4gcG9zZSBhIGNoYWxsZW5nZSBiZWNhdXNlIHRoZXkgcmVseSBvbiBzcGVjaWZpYyBQQ0kgZGV2aWNlcy4gSSBrbm93IHRoYXQgYHN5emthbGxlcmAgaGFzIG1lY2hhbmlzbXMgbGlrZSBgc3l6X3BjaV9kZXZpY2VgIHRvIGZ1enogUENJIGRldmljZXMsIG9yIG1heWJlIGl0IGNvdWxkIGJlIHJlYWNoZWQgdmlhIGNoYXJhY3RlciBkZXZpY2VzIG9yIG5ldGxpbmssIG9yIHRoZSBtYWlsYm94IGFjY2Vzc2libGUgdG8gVkZzL1BGcy5cblxuQnV0IHdhaXQsIHRoZSBjcnVjaWFsIHF1ZXN0aW9uOiBJcyB0aGlzIGRyaXZlciBwcm9iZWQgdmlhIFBDSSBmdXp6aW5nPyBUaGUgcHJvbXB0IGlzIHRlbGxpbmcgbWUgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIHRoZSBjb2RlIHBhdGggaXMgdW5yZWFjaGFibGUgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsIGV2ZW4gd2l0aCBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZS4gSXMgdGhlcmUgYSBNYXJ2ZWxsIE9jdGVvblRYMiBlbXVsYXRvciBpbiBRRU1VPyBQcm9iYWJseSBub3QuIEhvd2V2ZXIsIGBzeXprYWxsZXJgIGhhcyBhIFBDSSBmdXp6ZXIsIHdoaWNoIGNhbiBlbXVsYXRlIFBDSSBkZXZpY2VzLiBJIG5lZWQgdG8gZGV0ZXJtaW5lIGlmIGl0IGNhbiAqcmVhY2gqIHRoaXMgc3BlY2lmaWMgaGFuZGxlci5cblxuVGhlIGhhbmRsZXIgaXMgaW52b2tlZCB3aGVuIGEgbWFpbGJveCBtZXNzYWdlIGlzIHJlY2VpdmVkLiBNYWlsYm94IG1lc3NhZ2VzIHVzdWFsbHkgY29tZSBmcm9tIGFuIGludGVycnVwdCBmcm9tIHRoZSBoYXJkd2FyZS4gSSBuZWVkIHRvIHRyYWNlIHRoZSBjYWxsLiBJIGNhbiBzZWUgZnJvbSBgbWJveC5oYCB0aGF0IGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBpcyByZWdpc3RlcmVkIHZpYSBhIG1hY3JvLCB3aGljaCBnZW5lcmF0ZXMgYW4gYXJyYXkgb2YgaGFuZGxlcnMsIGtleWVkIHRvIHRoZSBtZXNzYWdlIHR5cGUuIFdoZW4gYW4gaW50ZXJydXB0IG9jY3VycywgdGhlIGRyaXZlciByZWFkcyB0aGUgbWFpbGJveCBtZW1vcnkgYW5kIGNhbGxzIHRoZSByaWdodCBoYW5kbGVyLiBJZiBgc3l6a2FsbGVyYCBjYW4gdHJpZ2dlciB0aGF0IGludGVycnVwdCBhbmQgcG9wdWxhdGUgdGhlIG1haWxib3ggbWVtb3J5LCBpdCBjb3VsZCByZWFjaCB0aGlzIGNvZGUuIEJ1dCwgY29tcGxleCBoYXJkd2FyZSBpbnRlcmFjdGlvbnMgbGlrZSBtYWlsYm94IG1lbW9yeSBhcmUgaGFyZCB0byBmdXp6IHdpdGhvdXQgYSBzcGVjaWZpYyBlbXVsYXRvci5cblxuSSBuZWVkIHRvIHF1aWNrbHkgYXNzZXNzIGlmIGBPQ1RFT05UWDJfQUZgIGlzIGV2ZW4gZW5hYmxlZCBpbiBgc3l6a2FsbGVyYCBjb25maWd1cmF0aW9ucy4gV2hpbGUgSSBjYW4ndCBjaGVjayB0aGF0IGRpcmVjdGx5LCBJIGNhbiBhc3N1bWUgaXQgKm1pZ2h0KiBiZSBlbmFibGVkLCBnaXZlbiBgc3l6a2FsbGVyYCdzIGJyZWFkdGguXG5cblRoZSBwcm9tcHQgaXMgcmVpbmZvcmNpbmcgdGhlIHF1ZXN0aW9uOiBJcyBNYXJ2ZWxsIE9jdGVvblRYMiByZWFjaGFibGU/ICBUeXBpY2FsbHksIHRoZXNlIHNwZWNpZmljIFBDSSBkcml2ZXJzIGFyZSB1bnJlYWNoYWJsZSB1bmxlc3MgdGhlcmUncyBhbiBlbXVsYXRvciBvciB0aGUgUENJIGZ1enplciBjYW4gcmVhY2ggaXQuIFRoZSBgc3l6X3BjaV9kZXZpY2VgIGlzIGdlbmVyaWMgYW5kIGNhbiB0cmlnZ2VyIGBwcm9iZWAsIHNvbWUgTU1JTywgaW50ZXJydXB0cywgYW5kIHNvIG9uLiBCdXQgY2FuIGl0IHRyaWdnZXIgYSBzcGVjaWZpYyBtYWlsYm94IG1lc3NhZ2U/IElmIHRoZSBtYWlsYm94IGlzIGluIFBDSSBCQVIgbWVtb3J5LCB0aGUgZnV6emVyIG1pZ2h0IGJlIGFibGUgdG8gd3JpdGUgdG8gaXQgYW5kIHRoZW4gdHJpZ2dlciBhbiBpbnRlcnJ1cHQuIFRoZSBrZXkgaXMgaG93IHRoZSBtYWlsYm94IGlzIHByb2Nlc3NlZC4gVGhpcyBpcyB3aGVyZSBJJ2xsIG5lZWQgdG8gZGlnIGludG8gdGhlIGRyaXZlcidzIGNvZGUgYW5kIHBvdGVudGlhbGx5IHRoZSBQQ0kgZnV6emVyJ3MgaW5uZXIgd29ya2luZ3MuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjUxMzQsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo5MDQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MDMuOTA0MjM4NDI5WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo5NzUzMjE0OCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJydnVfbWJveF9oYW5kbGVyX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA5ODAgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jLTEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jOjE0OmludCBydnVfbWJveF9oYW5kbGVyX25peF9jbjIwa19hcV9lbnEoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25peC5jLTE1LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBuaXhfY24yMGtfYXFfZW5xX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmM6MTQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBhX2NuMjBrX2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmMtMTUtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IG5wYV9jbjIwa19hcV9lbnFfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGEuYy0yMC19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBhLmM6MjE6RVhQT1JUX1NZTUJPTChydnVfbWJveF9oYW5kbGVyX25wYV9jbjIwa19hcV9lbnEpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM9MTIzNj1pbnQgbnBjX2NuMjBrX3JlYWRfbWNhbV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsIGludCBibGthZGRyLCB1MTYgaW5kZXgsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xMzYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjEzNjM6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBjX2NuMjBrX21jYW1fd3JpdGVfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTEzNjQtXFx0XFx0XFx0XFx0XFx0XFx0c3RydWN0IG5wY19jbjIwa19tY2FtX3dyaXRlX2VudHJ5X3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQwNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDA3OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX3JlYWRfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE0MDgtXFx0XFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBucGNfbWNhbV9yZWFkX2VudHJ5X3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQzMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDM0OmludCBydnVfbWJveF9oYW5kbGVyX25wY19jbjIwa19tY2FtX2FsbG9jX2FuZF93cml0ZV9lbnRyeShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQzNS1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgIHN0cnVjdCBucGNfY24yMGtfbWNhbV9hbGxvY19hbmRfd3JpdGVfZW50cnlfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDYyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjE0NjM6XFx0cmMgPSBydnVfbWJveF9oYW5kbGVyX25wY19tY2FtX2FsbG9jX2VudHJ5KHJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDY0LVxcdFxcdFxcdFxcdFxcdFxcdCAgIFxcdTAwMjZlbnRyeV9yZXEsIFxcdTAwMjZlbnRyeV9yc3ApO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtMTQ4OS1cXHRcXHRmcmVlX3JlcS5lbnRyeSA9IGVudHJ5X3JzcC5lbnRyeTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzoxNDkwOlxcdFxcdGVyciA9IHJ2dV9tYm94X2hhbmRsZXJfbnBjX21jYW1fZnJlZV9lbnRyeShydnUsIFxcdTAwMjZmcmVlX3JlcSwgXFx1MDAyNmZyZWVfcnNwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy0xNDkxLVxcdFxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz0xNTAyPXN0YXRpYyBpbnQgcnZ1X25wY19nZXRfYmFzZV9zdGVlcl9ydWxlX3R5cGUoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE1MDktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6MTUxMDppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfcmVhZF9iYXNlX3N0ZWVyX3J1bGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTE1MTEtXFx0XFx0XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz0zMzU0PWludFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjMzNTU6cnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfZ2V0X2ZjbnQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTMzNTYtXFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz0zMzY0PWludFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjMzNjU6cnZ1X21ib3hfaGFuZGxlcl9ucGNfY24yMGtfZ2V0X2tleF9jZmcoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTMzNjYtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00MDY4PWludCBucGNfY24yMGtfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQxNzctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDE3ODppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfZGVmcmFnKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MTc5LVxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00MTg0PWludCBucGNfY24yMGtfZGZ0X3J1bGVzX2lkeF9nZXQoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgdTE2ICpiY2FzdCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQyNjItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmM6NDI2MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9ucGNfZ2V0X3BmbF9pbmZvKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MjY0LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBucGNfZ2V0X3BmbF9pbmZvX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDI3NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYzo0Mjc2OmludCBydnVfbWJveF9oYW5kbGVyX25wY19nZXRfbnVtX2t3cyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDI3Ny1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBucGNfZ2V0X251bV9rd3NfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00MzIwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQzMjE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbnBjX2dldF9kZnRfcmxfaWR4cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDMyMi1cXHRcXHRcXHRcXHRcXHQgc3RydWN0IG5wY19nZXRfZGZ0X3JsX2lkeHNfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYz00NDU2PWludCBucGNfY24yMGtfZGZ0X3J1bGVzX2FsbG9jKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTMyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQ1MzM6XFx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9hbGxvY19lbnRyeShydnUsIFxcdTAwMjZyZXEsIFxcdTAwMjZyc3ApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1MzQtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9jbjIway9ucGMuYy00NTcwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQ1NzE6XFx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9hbGxvY19lbnRyeShydnUsIFxcdTAwMjZyZXEsIFxcdTAwMjZyc3ApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ1NzItXFx0aWYgKHJldCkge1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvY24yMGsvbnBjLmMtNDY0NC1cXHRmcmVlX3JlcS5hbGwgPSAxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jOjQ2NDU6XFx0cmV0ID0gcnZ1X21ib3hfaGFuZGxlcl9ucGNfbWNhbV9mcmVlX2VudHJ5KHJ2dSwgXFx1MDAyNmZyZWVfcmVxLCBcXHUwMDI2ZnJlZV9yc3ApO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL2NuMjBrL25wYy5jLTQ2NDYtXFx0aWYgKHJldClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYz0zNj12b2lkIHJ2dV9tY3NfcHRwX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHU4IHJwbV9pZCwgdTggbG1hY19pZCwgYm9vbCBlbmEpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNzEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjcyOmludCBydnVfbWJveF9oYW5kbGVyX21jc19zZXRfbG1hY19tb2RlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNzMtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtY3Nfc2V0X2xtYWNfbW9kZSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jPTE1Mz1zdGF0aWMgdm9pZCBtY3NfaW50cl9oYW5kbGVyX3Rhc2soc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTE3OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MTc5OmludCBydnVfbWJveF9oYW5kbGVyX21jc19pbnRyX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTE4MC1cXHRcXHRcXHRcXHQgIHN0cnVjdCBtY3NfaW50cl9jZmcgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjIwNDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X2h3X2luZm8oc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMDUtXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTIyMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MjIzOmludCBydnVfbWJveF9oYW5kbGVyX21jc19wb3J0X3Jlc2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X3Jlc2V0X3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yMjQtXFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjM3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzoyMzg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2NsZWFyX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjM5LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG1jc19jbGVhcl9zdGF0cyAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTI1OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MjYwOmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfZmxvd2lkX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMjYxLVxcdFxcdFxcdFxcdFxcdCAgc3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yOTAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjI5MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NlY3lfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0yOTItXFx0XFx0XFx0XFx0XFx0c3RydWN0IG1jc19zdGF0c19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zMTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjMxOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZ2V0X3NjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzIwLVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBtY3Nfc3RhdHNfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtMzQyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzozNDM6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2dldF9zYV9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM0NC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbWNzX3N0YXRzX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM2Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MzY3OmludCBydnVfbWJveF9oYW5kbGVyX21jc19nZXRfcG9ydF9zdGF0cyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM2OC1cXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgbWNzX3N0YXRzX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTM5MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6MzkxOmludCBydnVfbWJveF9oYW5kbGVyX21jc19zZXRfYWN0aXZlX2xtYWMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy0zOTItXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBtY3Nfc2V0X2FjdGl2ZV9sbWFjICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDA4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0MDk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3BvcnRfY2ZnX3NldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtY3NfcG9ydF9jZmdfc2V0X3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00MTAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00MjYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQyNzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfcG9ydF9jZmdfZ2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19wb3J0X2NmZ19nZXRfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQyOC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbWNzX3BvcnRfY2ZnX2dldF9yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00NDQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjQ0NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfY3VzdG9tX3RhZ19jZmdfZ2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1jc19jdXN0b21fdGFnX2NmZ19nZXRfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTQ0Ni1cXHRcXHRcXHRcXHRcXHQgICAgc3RydWN0IG1jc19jdXN0b21fdGFnX2NmZ19nZXRfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM9NDYwPWludCBydnVfbWNzX2Zscl9oYW5kbGVyKHN0cnVjdCBydnUgKnJ2dSwgdTE2IHBjaWZ1bmMpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDgwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0ODE6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2Zsb3dpZF9lbmFfZW50cnkoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy00ODItXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3QgbWNzX2Zsb3dpZF9lbmFfZGlzX2VudHJ5ICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDk0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo0OTU6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3BuX3RhYmxlX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNDk2LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtY3NfcG5fdGFibGVfd3JpdGVfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTA4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo1MDk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3NldF9wbl90aHJlc2hvbGQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01MTAtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3QgbWNzX3NldF9wbl90aHJlc2hvbGQgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01MjQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjUyNTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfcnhfc2Nfc2FfbWFwX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTI2LVxcdFxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgbWNzX3J4X3NjX3NhX21hcCAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTUzOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NTM5OmludCBydnVfbWJveF9oYW5kbGVyX21jc190eF9zY19zYV9tYXBfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NDAtXFx0XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtY3NfdHhfc2Nfc2FfbWFwICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTU0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo1NTU6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX3NhX3BsY3lfd3JpdGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NTYtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtY3Nfc2FfcGxjeV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01NzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU3MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfcnhfc2NfY2FtX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTc0LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbWNzX3J4X3NjX2NhbV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy01ODYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjU4NzppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3Nfc2VjeV9wbGN5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNTg4LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbWNzX3NlY3lfcGxjeV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MDEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZmxvd2lkX2VudHJ5X3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjAzLVxcdFxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgbWNzX2Zsb3dpZF9lbnRyeV93cml0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jOjYyOTppbnQgcnZ1X21ib3hfaGFuZGxlcl9tY3NfZnJlZV9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy02MzAtXFx0XFx0XFx0XFx0XFx0c3RydWN0IG1jc19mcmVlX3JzcmNfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNjc4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYzo2Nzk6aW50IHJ2dV9tYm94X2hhbmRsZXJfbWNzX2FsbG9jX3Jlc291cmNlcyhzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTY4MC1cXHRcXHRcXHRcXHRcXHQgc3RydWN0IG1jc19hbGxvY19yc3JjX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTc2MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6NzYxOmludCBydnVfbWJveF9oYW5kbGVyX21jc19hbGxvY19jdHJsX3BrdF9ydWxlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtNzYyLVxcdFxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG1jc19hbGxvY19jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTgxNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODE4OmludCBydnVfbWJveF9oYW5kbGVyX21jc19mcmVlX2N0cmxfcGt0X3J1bGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL21jc19ydnVfaWYuYy04MTktXFx0XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBtY3NfZnJlZV9jdHJsX3BrdF9ydWxlX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvbWNzX3J2dV9pZi5jLTgzOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmM6ODM5OmludCBydnVfbWJveF9oYW5kbGVyX21jc19jdHJsX3BrdF9ydWxlX3dyaXRlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9tY3NfcnZ1X2lmLmMtODQwLVxcdFxcdFxcdFxcdFxcdCAgICAgc3RydWN0IG1jc19jdHJsX3BrdF9ydWxlX3dyaXRlX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmM9NjEyPXN0cnVjdCBwY2lfZHJpdmVyIHB0cF9kcml2ZXIgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9wdHAuYy02MTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmM6NjE5OmludCBydnVfbWJveF9oYW5kbGVyX3B0cF9vcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBwdHBfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjIwLVxcdFxcdFxcdCAgICBzdHJ1Y3QgcHRwX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjYzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3B0cC5jOjY2NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9wdHBfZ2V0X2NhcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcHRwLmMtNjY1LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgcHRwX2dldF9jYXBfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xMjM2PWludCBydnVfYXFfYWxsb2Moc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgYWRtaW5fcXVldWUgKiphZF9xdWV1ZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTEyNjQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTI2NTppbnQgcnZ1X21ib3hfaGFuZGxlcl9yZWFkeShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTI2Ni1cXHRcXHRcXHQgICBzdHJ1Y3QgcmVhZHlfbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MTQ1NT1zdGF0aWMgaW50IHJ2dV9kZXRhY2hfcnNyY3Moc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgcnNyY19kZXRhY2ggKmRldGFjaCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE1MDctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTUwODppbnQgcnZ1X21ib3hfaGFuZGxlcl9kZXRhY2hfcmVzb3VyY2VzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0xNTA5LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCByc3JjX2RldGFjaCAqZGV0YWNoLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MTczNj1zdGF0aWMgYm9vbCBydnVfYXR0YWNoX2Zyb21fc2FtZV9ibG9jayhzdHJ1Y3QgcnZ1ICpydnUsIGludCBibGt0eXBlLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTc1MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxNzUyOmludCBydnVfbWJveF9oYW5kbGVyX2F0dGFjaF9yZXNvdXJjZXMoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE3NTMtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IHJzcmNfYXR0YWNoICphdHRhY2gsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0xOTA2PXN0YXRpYyB2b2lkIHJ2dV9jbGVhcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBydnVfcGZ2ZiAqcGZ2ZixcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE5MjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MTkzMDppbnQgcnZ1X21ib3hfaGFuZGxlcl9tc2l4X29mZnNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTkzMS1cXHRcXHRcXHRcXHQgc3RydWN0IG1zaXhfb2Zmc2V0X3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMTk5Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoxOTkzOmludCBydnVfbWJveF9oYW5kbGVyX2ZyZWVfcnNyY19jbnQoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTE5OTQtXFx0XFx0XFx0XFx0ICAgc3RydWN0IGZyZWVfcnNyY3NfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMDg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIwODY6aW50IHJ2dV9tYm94X2hhbmRsZXJfdmZfZmxyKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMDg3LVxcdFxcdFxcdCAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjEwNj1pbnQgcnZ1X25kY19zeW5jKHN0cnVjdCBydnUgKnJ2dSwgaW50IGxmYmxrYWRkciwgaW50IGxmaWR4LCB1NjQgbGZvZmZzZXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTEyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIxMTM6aW50IHJ2dV9tYm94X2hhbmRsZXJfZ2V0X2h3X2NhcChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjExNC1cXHRcXHRcXHRcXHRzdHJ1Y3QgZ2V0X2h3X2NhcF9yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxMjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM6MjEyODppbnQgcnZ1X21ib3hfaGFuZGxlcl9zZXRfdmZfcGVybShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBzZXRfdmZfcGVybSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxMjktXFx0XFx0XFx0XFx0IHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMTY5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIxNzA6aW50IHJ2dV9tYm94X2hhbmRsZXJfbmRjX3N5bmNfb3Aoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIxNzEtXFx0XFx0XFx0XFx0IHN0cnVjdCBuZGNfc3luY19vcCAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmM9MjI1Nj1zdGF0aWMgaW50IHJ2dV9wcm9jZXNzX21ib3hfbXNnKHN0cnVjdCBvdHgyX21ib3ggKm1ib3gsIGludCBkZXZpZCxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIyODctXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jOjIyODg6XFx0XFx0ZXJyID0gcnZ1X21ib3hfaGFuZGxlcl8gIyMgX2ZuX25hbWUocnZ1LFxcdFxcdFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYy0yMjg5LVxcdFxcdFxcdFxcdFxcdFxcdCAgICAoc3RydWN0IF9yZXFfdHlwZSAqKXJlcSwgXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1Lmg9OTgzPXN0YXRpYyBpbmxpbmUgYm9vbCBpc19jZ3hfdmYoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5oLTk4OS0jZGVmaW5lIE0oX25hbWUsIF9pZCwgZm5fbmFtZSwgcmVxLCByc3ApXFx0XFx0XFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5oOjk5MDppbnQgcnZ1X21ib3hfaGFuZGxlcl8gIyMgZm5fbmFtZShzdHJ1Y3QgcnZ1ICosIHN0cnVjdCByZXEgKiwgc3RydWN0IHJzcCAqKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuaC05OTEtTUJPWF9NRVNTQUdFU1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTUyNz12b2lkIHJ2dV9jZ3hfZGlzYWJsZV9kbWFjX2VudHJpZXMoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYylcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjU2MzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RhcnRfcnh0eChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTU2NC1cXHRcXHRcXHRcXHQgICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy01NjktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjU3MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9yeHR4KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNTcxLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9NTc3PXN0YXRpYyBpbnQgcnZ1X2xtYWNfZ2V0X3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjYyMTppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RhdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MjItXFx0XFx0XFx0ICAgICAgIHN0cnVjdCBjZ3hfc3RhdHNfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo2Mjc6aW50IHJ2dV9tYm94X2hhbmRsZXJfcnBtX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjI4LVxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgcnBtX3N0YXRzX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTYzMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NjMzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGF0c19yc3Qoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02MzQtXFx0XFx0XFx0XFx0ICAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy02NjEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjY2MjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfZmVjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjYzLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNjc5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo2ODA6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X21hY19hZGRyX3NldChzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTY4MS1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgY2d4X21hY19hZGRyX3NldF9vcl9nZXQgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjcwMzppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfbWFjX2FkZHJfYWRkKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzA0LVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBjZ3hfbWFjX2FkZHJfYWRkX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTcyNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NzI3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9kZWwoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03MjgtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNneF9tYWNfYWRkcl9kZWxfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3NDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X21hY19tYXhfZW50cmllc19nZXQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03NDUtXFx0XFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTc3MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6NzcxOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9nZXQoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy03NzItXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNneF9tYWNfYWRkcl9zZXRfb3JfZ2V0ICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzgzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo3ODQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtNzg1LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODAzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4MDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3Byb21pc2NfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTgwNS1cXHRcXHRcXHRcXHRcXHQgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz04MjM9c3RhdGljIGludCBydnVfY2d4X3B0cF9yeF9jZmcoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgYm9vbCBlbmFibGUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODU4LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4NTk6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3B0cF9yeF9lbmFibGUoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy04NjAtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODY3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo4Njg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3B0cF9yeF9kaXNhYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODY5LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM9ODc0PXN0YXRpYyBpbnQgcnZ1X2NneF9jb25maWdfbGlua2V2ZW50cyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTg5NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6ODk1OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9zdGFydF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtODk2LVxcdFxcdFxcdFxcdFxcdCAgc3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MDEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjkwMjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc3RvcF9saW5rZXZlbnRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTAzLVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkwOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTA5OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9nZXRfbGlua2luZm8oc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy05MTAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNneF9saW5rX2luZm9fbXNnICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTI2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzo5Mjc6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2ZlYXR1cmVzX2dldChzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTkyOC1cXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbXNnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTk3MT1zdGF0aWMgaW50IHJ2dV9jZ3hfY29uZmlnX2ludGxiayhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIGVuKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk4Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTg3OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9pbnRsYmtfZW5hYmxlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtOTg4LVxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk5My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6OTk0OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9pbnRsYmtfZGlzYWJsZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTk5NS1cXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTEwMDE9aW50IHJ2dV9jZ3hfY2ZnX3BhdXNlX2ZybShzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1OCB0eF9wYXVzZSwgdTggcnhfcGF1c2UpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTAzOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6MTA0MDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfY2ZnX3BhdXNlX2ZybShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEwNDEtXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBjZ3hfcGF1c2VfZnJtX2NmZyAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEwNjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjEwNjg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X2dldF9waHlfZmVjX3N0YXRzKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTA2OS1cXHRcXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jPTExMjY9aW50IHJ2dV9jZ3hfc3RhcnRfc3RvcF9pbyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCBib29sIHN0YXJ0KVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTExNzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jOjExNzM6aW50IHJ2dV9tYm94X2hhbmRsZXJfY2d4X3NldF9mZWNfcGFyYW0oc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTc0LVxcdFxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgZmVjX21vZGUgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMTg5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMTkwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9nZXRfYXV4X2xpbmtfaW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTExOTEtXFx0XFx0XFx0XFx0XFx0ICAgc3RydWN0IGNneF9md19kYXRhICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmMtMTIxNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY2d4LmM6MTIxNjppbnQgcnZ1X21ib3hfaGFuZGxlcl9jZ3hfc2V0X2xpbmtfbW9kZShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEyMTctXFx0XFx0XFx0XFx0ICAgICAgIHN0cnVjdCBjZ3hfc2V0X2xpbmtfbW9kZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjQyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjQzOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl9yZXNldChzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjZ3hfbWFjX2FkZHJfcmVzZXRfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NneC5jLTEyNDQtXFx0XFx0XFx0XFx0XFx0c3RydWN0IG1zZ19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjU5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMjYwOmludCBydnVfbWJveF9oYW5kbGVyX2NneF9tYWNfYWRkcl91cGRhdGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMjYxLVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgY2d4X21hY19hZGRyX3VwZGF0ZV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYz0xMjc3PWludCBydnVfY2d4X3ByaW9fZmxvd19jdHJsX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1OCB0eF9wYXVzZSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMzEzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYzoxMzE0OmludCBydnVfbWJveF9oYW5kbGVyX2NneF9wcmlvX2Zsb3dfY3RybF9jZmcoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jZ3guYy0xMzE1LVxcdFxcdFxcdFxcdFxcdCAgICBzdHJ1Y3QgY2d4X3BmY19jZmcgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jbjEway5jPTExMz1zdGF0aWMgaW50IHJ2dV91cGRhdGVfbG10YWRkcihzdHJ1Y3QgcnZ1ICpydnUsIHUxNiBwY2lmdW5jLCB1NjQgbG10X2FkZHIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY24xMGsuYy0xNDctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NuMTBrLmM6MTQ4OmludCBydnVfbWJveF9oYW5kbGVyX2xtdHN0X3RibF9zZXR1cChzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NuMTBrLmMtMTQ5LVxcdFxcdFxcdFxcdCAgICAgc3RydWN0IGxtdHN0X3RibF9zZXR1cF9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz00MzM9c3RhdGljIGludCB2YWxpZGF0ZV9hbmRfZ2V0X2NwdF9ibGthZGRyKGludCByZXFfYmxrYWRkcilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy00NDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jOjQ0NDppbnQgcnZ1X21ib3hfaGFuZGxlcl9jcHRfbGZfYWxsb2Moc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy00NDUtXFx0XFx0XFx0XFx0ICBzdHJ1Y3QgY3B0X2xmX2FsbG9jX3JlcV9tc2cgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz01MTQ9c3RhdGljIGludCBjcHRfbGZfZnJlZShzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsIGludCBibGthZGRyKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTU0NC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NTQ1OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9sZl9mcmVlKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtNTQ2LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgbXNnX3JzcCAqcnNwKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jPTYxND1zdGF0aWMgaW50IGNwdF9pbmxpbmVfaXBzZWNfY2ZnX291dGJvdW5kKHN0cnVjdCBydnUgKnJ2dSwgaW50IGJsa2FkZHIsIHU4IGNwdGxmLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTY1OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NjU5OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9pbmxpbmVfaXBzZWNfY2ZnKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtNjYwLVxcdFxcdFxcdFxcdFxcdCAgc3RydWN0IGNwdF9pbmxpbmVfaXBzZWNfY2ZnX21zZyAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jPTY5NT1zdGF0aWMgYm9vbCB2YWxpZGF0ZV9hbmRfdXBkYXRlX3JlZ19vZmZzZXQoc3RydWN0IHJ2dSAqcnZ1LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTc2Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6NzYzOmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9yZF93cl9yZWdpc3RlcihzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTc2NC1cXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgY3B0X3JkX3dyX3JlZ19tc2cgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz04MzM9c3RhdGljIHZvaWQgZ2V0X2VuZ19zdHMoc3RydWN0IHJ2dSAqcnZ1LCBzdHJ1Y3QgY3B0X3N0c19yc3AgKnJzcCwgaW50IGJsa2FkZHIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtODU3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo4NTg6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X3N0cyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfc3RzX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy04NTktXFx0XFx0XFx0ICAgICBzdHJ1Y3QgY3B0X3N0c19yc3AgKnJzcClcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYz04OTk9c3RhdGljIHZvaWQgY3B0X3J4Y190aW1lX2NmZyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfcnhjX3RpbWVfY2ZnX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTkyMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmM6OTI0OmludCBydnVfbWJveF9oYW5kbGVyX2NwdF9yeGNfdGltZV9jZmcoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05MjUtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNwdF9yeGNfdGltZV9jZmdfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5NDQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2N0eF9jYWNoZV9zeW5jKHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IG1zZ19yZXEgKnJlcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQ1LVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTQ5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5NTA6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2xmX3Jlc2V0KHN0cnVjdCBydnUgKnJ2dSwgc3RydWN0IGNwdF9sZl9yc3RfcmVxICpyZXEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2NwdC5jLTk1MS1cXHRcXHRcXHRcXHQgIHN0cnVjdCBtc2dfcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfY3B0LmMtOTgyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYzo5ODM6aW50IHJ2dV9tYm94X2hhbmRsZXJfY3B0X2ZsdF9lbmdfaW5mbyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBjcHRfZmx0X2VuZ19pbmZvX3JlcSAqcmVxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9jcHQuYy05ODQtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNwdF9mbHRfZW5nX2luZm9fcnNwICpyc3ApXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jPTE2ODM9c3RhdGljIGludCBydnVfZGJnX25peF90bV90cmVlX2Rpc3BsYXkoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTE3MTMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYzoxNzE0OlxcdFxcdHJjID0gcnZ1X21ib3hfaGFuZGxlcl9uaXhfYXFfZW5xKHJ2dSwgXFx1MDAyNmFxX3JlcSwgXFx1MDAyNnJzcCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy0xNzE1LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYz0yMjkyPXN0YXRpYyBpbnQgcnZ1X2RiZ19uaXhfcXVldWVfY3R4X2Rpc3BsYXkoc3RydWN0IHNlcV9maWxlICpmaWxwLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X2RlYnVnZnMuYy0yMzcwLVxcdFxcdFxcdCAgIGN0eXBlX3N0cmluZywgbml4bGYsIGFxX3JlcS5xaWR4KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jOjIzNzE6XFx0XFx0cmMgPSBydnVfbWJveF9oYW5kbGVyX25peF9hcV9lbnEocnZ1LCBcXHUwMDI2YXFfcmVxLCBcXHUwMDI2cnNwKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfZGVidWdmcy5jLTIzNzItXFx0XFx0aWYgKHJjKSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NTg3PXN0YXRpYyBpbnQgbml4X2JwX2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTYzOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NjQwOmludCBydnVfbWJveF9oYW5kbGVyX25peF9icF9kaXNhYmxlKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjQxLVxcdFxcdFxcdFxcdCAgICBzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02NDYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjY0NzppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfY3B0X2JwX2Rpc2FibGUoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02NDgtXFx0XFx0XFx0XFx0XFx0c3RydWN0IG5peF9icF9jZmdfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NzMzPXN0YXRpYyBpbnQgbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNzkzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo3OTQ6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTc5NS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3Qgbml4X2JwX2NmZ19yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy04MDAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjgwMTppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfY3B0X2JwX2VuYWJsZShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTgwMi1cXHRcXHRcXHRcXHQgICAgICAgc3RydWN0IG5peF9icF9jZmdfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9MTQ0Mj1zdGF0aWMgaW50IG5peF9sZl9od2N0eF9sb2NrZG93bihzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBuaXhfYXFfZW5xX3JlcSAqcmVxKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTE0NjctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jOjE0Njg6aW50IHJ2dV9tYm94X2hhbmRsZXJfbml4X2FxX2VucShzdHJ1Y3QgcnZ1ICpydnUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTE0NjktXFx0XFx0XFx0XFx0c3RydWN0IG5peF9hcV9lbnFfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ4MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6MTQ4MTppbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfYXFfZW5xKHN0cnVjdCBydnUgKnJ2dSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtMTQ4Mi1cXHRcXHRcXHRcXHRzdHJ1Y3Qgbml4X2FxX2VucV9yZXEgKnJlcSxcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDg4LS8qIENOMTBLIG1ib3ggaGFuZGxlciAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzoxNDg5OmludCBydnVfbWJveF9oYW5kbGVyX25peF9jbjEwa19hcV9lbnEoc3RydWN0IHJ2dSAqcnZ1LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy0xNDkwLVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBuaXhfY24xMGtfYXFfZW5xX3JlcSAqcmVxLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTE0OTYtXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA5OjA0LjAwMTc3NjQxN1oiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0MzE0Nzk2MDYzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uXG5cbioqRGl2aW5nIGludG8gdGhlIE1haWxib3ggSGFuZGxlcidzIFRyYWlsKipcblxuTXkgcHJpbWFyeSBjb25jZXJuIHJpZ2h0IG5vdyBpcyB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgbWFpbGJveCBoYW5kbGVyIGZ1bmN0aW9ucyB3aXRoaW4gdGhpcyBNYXJ2ZWxsIE9jdGVvbnR4MiBFdGhlcm5ldCBkcml2ZXIuIEknbSBmb2N1c2luZyBvbiB0aGUgYHJ2dV9wcm9jZXNzX21ib3hfbXNnYCBmdW5jdGlvbiwgc3BlY2lmaWNhbGx5LCB3aGVyZSBpdCdzIGJlaW5nIGNhbGxlZCBmcm9tIHdpdGhpbiBgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmNgLiBJIG5lZWQgdG8gZmlndXJlIG91dCB0aGUgY2FsbGluZyBjb250ZXh0OyBteSBpbW1lZGlhdGUgZ29hbCBpcyB0byBlc3RhYmxpc2ggdGhlIHJlYWNoYWJpbGl0eSBvZiB0aGlzIGhhbmRsZXIuIElzIHRoaXMgZnVuY3Rpb24gYWN0dWFsbHkgZ2V0dGluZyBoaXQ/IFdoYXQgdHJpZ2dlcnMgaXQ/IFRoaXMgaXMgY3J1Y2lhbCBmb3IgZGVidWdnaW5nIGFuZCBvcHRpbWl6YXRpb24gZWZmb3J0cywgYmVjYXVzZSBJIG11c3Qga25vdyB3aGV0aGVyIHRoZSBkYXRhIHBhdGggaXMgYWN0dWFsbHkgZ29pbmcgdGhyb3VnaCBteSBjaG9zZW4gZnVuY3Rpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjI0MDQ2LCJPdXRwdXRUb2tlbnMiOjQ2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MDguMzE2NTc0OTlaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYwOTg4ODg5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInJ2dV9wcm9jZXNzX21ib3hfbXNnXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMjI5PXN0YXRpYyB2b2lkIHJ2dV9ub3RpZnlfYWx0YWYoc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgdTY0IG9wKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjI1NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMjU2OnN0YXRpYyBpbnQgcnZ1X3Byb2Nlc3NfbWJveF9tc2coc3RydWN0IG90eDJfbWJveCAqbWJveCwgaW50IGRldmlkLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIyNTctXFx0XFx0XFx0XFx0c3RydWN0IG1ib3hfbXNnaGRyICpyZXEpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYz0yMzA3PXN0YXRpYyB2b2lkIF9fcnZ1X21ib3hfaGFuZGxlcihzdHJ1Y3QgcnZ1X3dvcmsgKm13b3JrLCBpbnQgdHlwZSwgYm9vbCBwb2xsKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1LmMtMjM3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnUuYzoyMzcyOlxcdFxcdGVyciA9IHJ2dV9wcm9jZXNzX21ib3hfbXNnKG1ib3gsIGRldmlkLCBtc2cpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jLTIzNzMtXFx0XFx0aWYgKCFlcnIpIHtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MDguMzc3NTcyMTc5WiIsIlNlcSI6MTMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE0NDg1NDEyNTI4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MjMxOTYsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA5OjIyLjg2Mjk4NzAxN1oiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Njc3Njk5OTgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibml4X3J4X3N5bmNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYz0yNTE9dTMyIGNvbnZlcnRfYnl0ZXNfdG9fZHdycl9tdHUodTMyIGJ5dGVzKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTI3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6MjcyOnN0YXRpYyB2b2lkIG5peF9yeF9zeW5jKHN0cnVjdCBydnUgKnJ2dSwgaW50IGJsa2FkZHIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTI3My17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NTM1Mj12b2lkIHJ2dV9uaXhfbGZfdGVhcmRvd24oc3RydWN0IHJ2dSAqcnZ1LCB1MTYgcGNpZnVuYywgaW50IGJsa2FkZHIsIGludCBuaXhsZilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy01MzY4LVxcdG5peF9pbnRlcmZhY2VfZGVpbml0KHJ2dSwgcGNpZnVuYywgbml4bGYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYzo1MzY5OlxcdG5peF9yeF9zeW5jKHJ2dSwgYmxrYWRkcik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1X25peC5jLTUzNzAtXFx0bml4X3R4c2NocV9mcmVlKHJ2dSwgcGNpZnVuYyk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM9NjMyNz1pbnQgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luYyhzdHJ1Y3QgcnZ1ICpydnUsIHN0cnVjdCBtc2dfcmVxICpyZXEsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmMtNjMzNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmM6NjMzNjpcXHRuaXhfcnhfc3luYyhydnUsIGJsa2FkZHIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dV9uaXguYy02MzM3LVxcdHJldHVybiAwO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjowOToyMi45MzA3NjEyMjVaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTY3ODczMTM4MzIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjoyMzgyMCwiT3V0cHV0VG9rZW5zIjo1MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTRUMDY6MDk6MzkuNzE4MDc3NTA3WiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIzNjIxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9hZi9ydnVfbml4LmNcIixcbiAgXCJGaXJzdExpbmVcIjogMjY1LFxuICBcIkxpbmVDb3VudFwiOiAyMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgMjY1OlxcdFxcdGRlZmF1bHQ6XFxuIDI2NjpcXHRcXHRcXHRyZXR1cm4gaWxvZzIoYnl0ZXMpO1xcbiAyNjc6XFx0XFx0fVxcbiAyNjg6XFx0XFxuIDI2OTpcXHRcXHRyZXR1cm4gMDtcXG4gMjcwOlxcdH1cXG4gMjcxOlxcdFxcbiAyNzI6XFx0c3RhdGljIHZvaWQgbml4X3J4X3N5bmMoc3RydWN0IHJ2dSAqcnZ1LCBpbnQgYmxrYWRkcilcXG4gMjczOlxcdHtcXG4gMjc0OlxcdFxcdGludCBlcnI7XFxuIDI3NTpcXHRcXG4gMjc2OlxcdFxcdC8qIFN5bmMgYWxsIGluIGZsaWdodCBSWCBwYWNrZXRzIHRvIExMQy9EUkFNICovXFxuIDI3NzpcXHRcXHRydnVfd3JpdGU2NChydnUsIGJsa2FkZHIsIE5JWF9BRl9SWF9TV19TWU5DLCBCSVRfVUxMKDApKTtcXG4gMjc4OlxcdFxcdGVyciA9IHJ2dV9wb2xsX3JlZyhydnUsIGJsa2FkZHIsIE5JWF9BRl9SWF9TV19TWU5DLCBCSVRfVUxMKDApLCB0cnVlKTtcXG4gMjc5OlxcdFxcdGlmIChlcnIpXFxuIDI4MDpcXHRcXHRcXHRkZXZfZXJyKHJ2dS1cXHUwMDNlZGV2LCBcXFwiU1lOQzE6IE5JWCBSWCBzb2Z0d2FyZSBzeW5jIGZhaWxlZFxcXFxuXFxcIik7XFxuIDI4MTpcXHRcXG4gMjgyOlxcdFxcdC8qIFNXX1NZTkMgZW5zdXJlcyBhbGwgZXhpc3RpbmcgdHJhbnNhY3Rpb25zIGFyZSBmaW5pc2hlZCBhbmQgcGt0c1xcbiAyODM6XFx0XFx0ICogYXJlIHdyaXR0ZW4gdG8gTExDL0RSQU0sIHF1ZXVlcyBzaG91bGQgYmUgdGVhcmVkIGRvd24gYWZ0ZXJcXG4gMjg0OlxcdFxcdCAqIHN1Y2Nlc3NmdWwgU1dfU1lOQy4gRHVlIHRvIGEgSFcgZXJyYXRhLCBpbiBzb21lIHJhcmUgc2NlbmFyaW9zXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjA5OjM5LjcxODMxNjE0N1oiLCJTZXEiOjE3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMTM4MTI4NTcxOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgUmVhY2hhYmlsaXR5IGluIGEgVmlydHVhbGl6ZWQgRW52aXJvbm1lbnQqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYCBmdW5jdGlvbi4gSXQgc2VlbXMgdG8gY2FsbCBgbml4X3J4X3N5bmNgLCB3aGljaCB3cml0ZXMgdG8gYW5kIHBvbGxzIHRoZSBgTklYX0FGX1JYX1NXX1NZTkNgIGhhcmR3YXJlIHJlZ2lzdGVyLiBUaGlzIHNjcmVhbXMgXCJoYXJkd2FyZS1zcGVjaWZpY1wiLiBUaGUga2V5IHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhpcyBjb2RlIHBhdGggaXMgYWN0dWFsbHkgcmVhY2hhYmxlIGluIGEgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRS5cblxuSW5pdGlhbGx5LCBteSBpbnN0aW5jdCBpcyBcIm5vLlwiIFRoaXMgTWFydmVsbCBPY3Rlb25UWDIgaGFyZHdhcmUgaXNuJ3QgdHlwaWNhbGx5IGVtdWxhdGVkIGluIFFFTVUuIFRoZSBwcm9tcHQncyB3b3JkaW5nIGlzIHRoZSBpbXBvcnRhbnQgZmFjdG9yOiBcIlJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMgY29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4uLiBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlXCIuICBTbywgYWJzZW50IHByb3BlciBoYXJkd2FyZSBlbXVsYXRpb24sIGl0IGxvb2tzIHVucmVhY2hhYmxlIGF0IGZpcnN0IGdsYW5jZS5cblxuQnV0IHRoZW4gSSByZW1lbWJlciBzeXprYWxsZXIgYW5kIGl0cyBnZW5lcmljIFBDSSBmdXp6aW5nIGNhcGFiaWxpdGllcyEgIFN5emthbGxlciBjYW4sIGluIHRoZW9yeSwgcHJvYmUgdGhlIGRyaXZlciBieSBmYWtpbmcgdGhlIFBDSSBJRC4gIElmIGl0IGNhbiBkbyB0aGF0LCBhbmQgdGhlIGRyaXZlciBsb2FkcywgdGhlbiBpdCBjb3VsZCBwb3RlbnRpYWxseSBpbnRlcmFjdCB3aXRoIHRoZSBkcml2ZXIgYW5kIHN0YXJ0IHRyaWdnZXJpbmcgaW50ZXJydXB0cyBhbmQgcG9wdWxhdGluZyB0aGUgbWFpbGJveCBtZW1vcnkuICBJdCdzIGNvbXBsZXggdGhvdWdoLCB0aGlzIG1haWxib3ggaW50ZXJhY3Rpb24sIGFuZCB0aGUgaGFyZHdhcmUgcmVnaXN0ZXJzIGFyZSBjb21wbGV4LCBtZWFuaW5nIHByb3BlciBmdXp6aW5nIG1heSBub3QgYmUgYWNoaWV2ZWQuXG5cbldhaXQgYSBzZWNvbmQsIHN5emthbGxlciBkb2VzIGluZGVlZCBmdXp6IFBDSSBkcml2ZXJzIGJ5IGZha2luZyB0aGUgUENJIElEIGFuZCB0aGVuIGZ1enppbmcgdGhlIE1NSU8gcmVnaW9ucyBhbmQgaW50ZXJydXB0cy4gSWYgc3l6a2FsbGVyIGZha2VzIHRoZSBQQ0kgSUQsIGFuZCB0aGUgZHJpdmVyIHByb2JlcywgdGhlbiBpdCB3aWxsIGdldCB0byBleGVjdXRlIHRoaXMgY29kZS4gSXQgd291bGQgYmUgYWJsZSB0byB0cmlnZ2VyIGludGVycnVwdHMgYW5kIHBvcHVsYXRlIHRoZSBtYWlsYm94IG1lbW9yeS4gVGhpcyBtZWFucyBpdCAqY291bGQqIHJlYWNoIGBydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jYC4gIFxuXG5Ib3dldmVyLCBpcyBpdCBcImltcG9zc2libGUgdG8gcmVhY2hcIj8gVGhlIHByb21wdCBoYXMgdGhhdCB2ZXJ5IHNwZWNpZmljIFwiZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZVwiIHBocmFzZS4gIFN5emthbGxlcidzIFBDSSBmdXp6ZXIgKmlzKiBhIGZvcm0gb2Ygc29mdHdhcmUgZW11bGF0aW9uIOKAkyBpdCBlbXVsYXRlcyB0aGUgUENJIGNvbmZpZyBzcGFjZSwgQkFScywgYW5kIGludGVycnVwdHMuICBTbywgaWYgc3l6a2FsbGVyIGNhbiByZWFjaCBpdCwgaXQncyB0ZWNobmljYWxseSByZWFjaGFibGUgYW5kIHRoZXJlZm9yZSB3b3VsZCBiZSB3b3J0aCBmdXp6aW5nLCBiYXNlZCBvbiB0aGUgcHJvbXB0LlxuXG5BbSBJIG92ZXJ0aGlua2luZyB0aGlzPyAgSSBuZWVkIHRvIGdldCBzb21lIG1vcmUgY29udGV4dCB0byBtYWtlIGEgZGV0ZXJtaW5hdGlvbi4gIExldCBtZSBjaGVjayBpZiBzeXprYWxsZXIgaXMgYWxyZWFkeSBmdXp6aW5nIGBvY3Rlb250eDJgLiAgSSBuZWVkIHRvIGNoZWNrIGZvciBhbnkgZXhpc3Rpbmcgc3l6Ym90IGJ1Z3MgcmVwb3J0ZWQgcmVsYXRlZCB0byB0aGlzIGhhcmR3YXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTY5NCwiT3V0cHV0VG9rZW5zIjoyOSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ1OCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjEwOjAxLjA5OTYwNTc4NVoiLCJTZXEiOjE4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6Mzk3MDE3MTIxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIm9jdGVvbnR4MlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJNQUlOVEFJTkVSU1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJNQUlOVEFJTkVSUz0xNTY0Nj1GOlxcdGRyaXZlcnMvY3J5cHRvL21hcnZlbGwvXFxuTUFJTlRBSU5FUlM6MTU2NDc6RjpcXHRpbmNsdWRlL2xpbnV4L3NvYy9tYXJ2ZWxsL29jdGVvbnR4Mi9cXG5NQUlOVEFJTkVSUy0xNTY0OC1cXG4tLVxcbk1BSU5UQUlORVJTPTE1NzQwPVM6XFx0TWFpbnRhaW5lZFxcbk1BSU5UQUlORVJTOjE1NzQxOkY6XFx0ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvbmljL1xcbk1BSU5UQUlORVJTOjE1NzQyOkY6XFx0aW5jbHVkZS9saW51eC9zb2MvbWFydmVsbC9vY3Rlb250eDIvXFxuTUFJTlRBSU5FUlMtMTU3NDMtXFxuLS1cXG5NQUlOVEFJTkVSUz0xNTc1MD1TOlxcdE1haW50YWluZWRcXG5NQUlOVEFJTkVSUzoxNTc1MTpGOlxcdERvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi5yc3RcXG5NQUlOVEFJTkVSUzoxNTc1MjpGOlxcdGRyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvb2N0ZW9udHgyL2FmL1xcbk1BSU5UQUlORVJTLTE1NzUzLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNFQwNjoxMDowMS40OTY2MzAwMTdaIiwiU2VxIjoxOSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MjYwMTA1MTcwOTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHlzaXMgb2YgdGhlIE9jdGVvblRYMiBBRiBEcml2ZXIgUGF0Y2ggZm9yIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyBJIGNhbid0IGRpcmVjdGx5IGNoZWNrIHN5emJvdCBidWcgcmVwb3J0cyByaWdodCBub3csIGJ1dCBJIGNhbiBmaWd1cmUgb3V0IGlmIHRoZSBkcml2ZXIgaXMgdHlwaWNhbGx5IGluY2x1ZGVkIGluIHN5emthbGxlcidzIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24uIFRoZSBpbnN0cnVjdGlvbnMgYXJlIGNsZWFyOiBvbmx5IGxpc3QgY29uZmlncyBzcGVjaWZpYyB0byB0aGUgbW9kaWZpZWQgY29kZSwgYW5kIGRvbid0IGFkZCBcIkNPTkZJR1xcX1wiIHByZWZpeGVzLiBTaW5jZSBJJ20gYmVpbmcgYXNrZWQgdG8gZGV0ZXJtaW5lIGBXb3J0aEZ1enppbmdgLCBJIG5lZWQgdG8gYXNzZXNzIGlmIHRoaXMgcGF0Y2ggaW50cm9kdWNlcyBuZXcsIHJlYWNoYWJsZSBmdW5jdGlvbmFsaXR5LlxuXG5UaGUgcHJvbXB0IHNwZWNpZmljYWxseSBzYXlzIHRvIHNldCBgV29ydGhGdXp6aW5nPWZhbHNlYCBpZiBpdCBjb25jZXJucyBjb2RlIHRoYXQncyB1bnJlYWNoYWJsZSBpbiB2aXJ0dWFsaXphdGlvbi4gU28sIGlzIHRoaXMgY29kZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIGEgdmlydHVhbCBlbnZpcm9ubWVudCBsaWtlIEdDRSBvciBRRU1VLCBldmVuIHdpdGggZW11bGF0ZWQgaGFyZHdhcmU/IFRoZSBrZXkgaXMgd2hldGhlciB0aGUgUENJIGZ1enplciBjYW4gaGl0IGl0LlxuXG5MZXQncyBsb29rIGF0IHRoZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgLiBJdCB0YWtlcyBgcnZ1YCwgYHJlcWAsIGFuZCBgcnNwYCBzdHJ1Y3RzLiBJdCBjYWxscyBgcnZ1X2dldF9ibGthZGRyYCwgd2hpY2ggbG9va3MgdXAgYSBibG9jayBhZGRyZXNzLCBhbmQgdGhlbiBlaXRoZXIgcmV0dXJucyBhbiBlcnJvciBvciBjYWxscyBgbml4X3J4X3N5bmNgLiBgbml4X3J4X3N5bmNgIHRoZW4gZG9lcyBzb21lIG1lbW9yeSBhY2Nlc3MgdmlhIGBydnVfd3JpdGU2NGAgYW5kIGBydnVfcG9sbF9yZWdgLiBUaGlzIGBydnVfcG9sbF9yZWdgIHN1Z2dlc3RzIHBvdGVudGlhbCBpbnRlcmFjdGlvbiB3aXRoIE1NSU8gcmVnaXN0ZXJzLCBhbmQgdGhlIFBDSSBmdXp6ZXIgKmRvZXMqIGZ1enogTU1JTy4gSXQgd2lsbCBwcm92aWRlIHJhbmRvbSB2YWx1ZXMgaGVyZSBhbmQgcG90ZW50aWFsbHkgdHJpZ2dlciBpbnRlcmVzdGluZyBiZWhhdmlvci4gVGhlIGZ1bmN0aW9uIGl0c2VsZiBpcyByZWxhdGl2ZWx5IHNpbXBsZSwgYWN0aW5nIGFzIGEgbWFpbGJveCBoYW5kbGVyLlxuXG5HaXZlbiBpdCdzIGEgbmV3IG1haWxib3ggaGFuZGxlciBhbmQgdGh1cyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBpZiB0aGUgUENJIGZ1enplciBjYW4gYWNjZXNzIHRoaXMgY29kZSwgaXQncyB3b3J0aCBmdXp6aW5nLiBJJ2xsIGFzc3VtZSBpdCdzIHJlYWNoYWJsZS5cblxuTm93LCBkb2VzIHRoZSBkcml2ZXIgZXZlbiBjb21waWxlPyBMb29raW5nIGF0IGBkcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9LY29uZmlnYCwgaXQgZGVwZW5kcyBvbiBlaXRoZXIgYDY0QklUIFx1MDAyNlx1MDAyNiBDT01QSUxFX1RFU1RgIG9yIGBBUk02NGAuIFN5emthbGxlciBjb21tb25seSBydW5zIG9uIHg4Nl82NCwgd2hpY2ggaXMgd2hhdCBJJ20gZXhwZWN0aW5nLiBJdCB1c3VhbGx5IGVuYWJsZXMgYENPTVBJTEVfVEVTVGAgd2hpY2ggbWVhbnMgdGhhdCB0aGUgY29kZSBzaG91bGQgYmUgY29tcGlsZWQuIEl0IHNob3VsZCBiZSByZWFjaGFibGUuIFRodXMsIEknbGwgc2V0IGBFbmFibGVDb25maWdzYCB0byBgT0NURU9OVFgyX0FGYCBhbmQgYFdvcnRoRnV6emluZz10cnVlYC4gVGhlIGBGb2N1c1N5bWJvbHNgIHdpbGwgYmUgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgLlxuXG5JIHNob3VsZCBiZSB0aG9yb3VnaCBoZXJlIGFuZCBkb3VibGUgY2hlY2sgdGhhdCB0aGVyZSBhcmVuJ3QgYW55IG90aGVyIGZ1bmN0aW9ucyBpbnZvbHZlZCwgdGhvdWdoIHRoZSBkaWZmIGxvb2tzIGxpa2UgaXQganVzdCBhZGRlZCB0aGlzIG5ldyBoYW5kbGVyLiBZZXMsIGl0IG9ubHkgYWRkcyBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgYW5kIHRoZSBtYWNybyBlbnRyeSBpbiBgbWJveC5oYCwgdGhlIHBhdGNoZWQgZnVuY3Rpb24gYG5peF9yeF9zeW5jYCBpcyBhbHJlYWR5IGV4aXN0aW5nLlxuXG5JIGhhdmUgdG8gbWFrZSBzdXJlIEkgZ2V0IHRoZSBjb25maWcgcmlnaHQuIFRoZSBwYXRjaCBqdXN0IGFkZHMgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLCB3aGljaCBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHJlYWNoYWJsZSB2aWEgUENJIGZ1enppbmcuIExvb2tpbmcgYXQgdGhlIEtjb25maWcsIGBPQ1RFT05UWDJfQUZgIGFsc28gc2VsZWN0cyBgT0NURU9OVFgyX01CT1hgLCBzbyBJIG9ubHkgbmVlZCB0byBzcGVjaWZ5IGBPQ1RFT05UWDJfQUZgLiBJJ20gY29uZmlkZW50IGluIHRoZSByZWFzb25pbmcgbm93LiBJdCBzaG91bGQgd29yay4gRmluYWxseSwgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGlzICpub3QqIHN0YXRpYywgc28gaXQncyBhY2Nlc3NpYmxlLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNjk3NSwiT3V0cHV0VG9rZW5zIjoxMDgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOTIzLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE0VDA2OjEwOjI3LjUwNzE0OTMwM1oiLCJTZXEiOjIwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjg5NzgxMDQ4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJPQ1RFT05UWDJfQUZcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJydnVfbWJveF9oYW5kbGVyX25peF9yeF9zd19zeW5jXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIG5ldyBtYWlsYm94IGhhbmRsZXIgYHJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNgIGZvciB0aGUgTWFydmVsbCBPY3Rlb25UWDIgQUYgZHJpdmVyLiBUaGlzIGlzIGZ1bmN0aW9uYWwgY29kZSB0aGF0IGNhbiBiZSByZWFjaGVkIGFuZCB0ZXN0ZWQgdmlhIFBDSSBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIk9DVEVPTlRYMl9BRlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInJ2dV9tYm94X2hhbmRsZXJfbml4X3J4X3N3X3N5bmNcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgbmV3IG1haWxib3ggaGFuZGxlciBgcnZ1X21ib3hfaGFuZGxlcl9uaXhfcnhfc3dfc3luY2AgZm9yIHRoZSBNYXJ2ZWxsIE9jdGVvblRYMiBBRiBkcml2ZXIuIFRoaXMgaXMgZnVuY3Rpb25hbCBjb2RlIHRoYXQgY2FuIGJlIHJlYWNoZWQgYW5kIHRlc3RlZCB2aWEgUENJIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[1] Phase: Succeeded StartedAt: 2026-07-14 06:10:39 +0000 UTC FinishedAt: 2026-07-14 06:10:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-14 06:10:39 +0000 UTC FinishedAt: 2026-07-14 06:10:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2] Phase: Succeeded StartedAt: 2026-07-14 06:10:39 +0000 UTC FinishedAt: 2026-07-14 07:59:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-14 06:10:39 +0000 UTC FinishedAt: 2026-07-14 07:59:07 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-14 06:10:39 +0000 UTC FinishedAt: 2026-07-14 06:11:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-14 06:10:39 +0000 UTC FinishedAt: 2026-07-14 06:10:48 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowvppnq/series-workflowvppnq-convert-artifact-1199655600/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-14 06:11:01 +0000 UTC FinishedAt: 2026-07-14 07:14:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-14 06:11:01 +0000 UTC FinishedAt: 2026-07-14 07:14:58 +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:*5ba4d66b-ad35-47cf-b5c4-c4322405ceb9,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-workflowvppnq/series-workflowvppnq-convert-artifact-1199655600/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": "9e5a2281-8ae5-4db0-bb78-f85328b68f65", "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-workflowvppnq/series-workflowvppnq-build-action-3623958454/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-14 06:11:01 +0000 UTC FinishedAt: 2026-07-14 07:14:48 +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:*5ba4d66b-ad35-47cf-b5c4-c4322405ceb9,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-workflowvppnq/series-workflowvppnq-convert-artifact-1199655600/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": "9e5a2281-8ae5-4db0-bb78-f85328b68f65", "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-workflowvppnq/series-workflowvppnq-build-action-3623958454/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-14 07:14:58 +0000 UTC FinishedAt: 2026-07-14 07:14:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-14 07:14:58 +0000 UTC FinishedAt: 2026-07-14 07:14:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-14 07:14:58 +0000 UTC FinishedAt: 2026-07-14 07:15:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-14 07:14:58 +0000 UTC FinishedAt: 2026-07-14 07:15:20 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowvppnq/series-workflowvppnq-convert-artifact-162032279/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-14 07:15:28 +0000 UTC FinishedAt: 2026-07-14 07:17:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-14 07:15:28 +0000 UTC FinishedAt: 2026-07-14 07:17:29 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*9e5a2281-8ae5-4db0-bb78-f85328b68f65,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-workflowvppnq/series-workflowvppnq-build-action-3623958454/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-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-14 07:17:39 +0000 UTC FinishedAt: 2026-07-14 07:17:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-14 07:17:39 +0000 UTC FinishedAt: 2026-07-14 07:17:39 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-14 07:17:39 +0000 UTC FinishedAt: 2026-07-14 07:55:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-14 07:17:39 +0000 UTC FinishedAt: 2026-07-14 07:55:48 +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:*5ba4d66b-ad35-47cf-b5c4-c4322405ceb9,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-workflowvppnq/series-workflowvppnq-convert-artifact-162032279/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": "8d5a5160-266f-43d4-9501-b031badb2c0f", "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-workflowvppnq/series-workflowvppnq-build-action-1502847195/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-14 07:17:39 +0000 UTC FinishedAt: 2026-07-14 07:55:38 +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:*5ba4d66b-ad35-47cf-b5c4-c4322405ceb9,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-workflowvppnq/series-workflowvppnq-convert-artifact-162032279/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": "8d5a5160-266f-43d4-9501-b031badb2c0f", "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-workflowvppnq/series-workflowvppnq-build-action-1502847195/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-14 07:55:48 +0000 UTC FinishedAt: 2026-07-14 07:55:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-14 07:55:48 +0000 UTC FinishedAt: 2026-07-14 07:55:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-14 07:55:48 +0000 UTC FinishedAt: 2026-07-14 07:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-14 07:55:48 +0000 UTC FinishedAt: 2026-07-14 07:57:39 +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:*8d5a5160-266f-43d4-9501-b031badb2c0f,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-workflowvppnq/series-workflowvppnq-build-action-1502847195/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-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-14 07:57:48 +0000 UTC FinishedAt: 2026-07-14 07:59:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-14 07:57:48 +0000 UTC FinishedAt: 2026-07-14 07:59:07 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"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:*9e5a2281-8ae5-4db0-bb78-f85328b68f65,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*8d5a5160-266f-43d4-9501-b031badb2c0f,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-workflowvppnq/series-workflowvppnq-build-action-3623958454/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-workflowvppnq/series-workflowvppnq-build-action-1502847195/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-14 07:57:48 +0000 UTC FinishedAt: 2026-07-14 07:57:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-14 07:57:48 +0000 UTC FinishedAt: 2026-07-14 07:57:53 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"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-workflowvppnq/series-workflowvppnq-convert-artifact-4022066768/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-14 07:57:48 +0000 UTC FinishedAt: 2026-07-14 07:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-14 07:57:48 +0000 UTC FinishedAt: 2026-07-14 07:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-14 07:57:48 +0000 UTC FinishedAt: 2026-07-14 07:57:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-14 07:57:58 +0000 UTC FinishedAt: 2026-07-14 07:59:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowvppnq[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["rvu_mbox_handler_nix_rx_sw_sync"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["OCTEONTX2_AF"],"series_id":"dc79afab-33df-46ba-ab7c-3fdbe7a0601c","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-14 07:57:58 +0000 UTC FinishedAt: 2026-07-14 07:59:03 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*9e5a2281-8ae5-4db0-bb78-f85328b68f65,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*8d5a5160-266f-43d4-9501-b031badb2c0f,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-workflowvppnq/series-workflowvppnq-build-action-3623958454/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-workflowvppnq/series-workflowvppnq-build-action-1502847195/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-workflowvppnq/series-workflowvppnq-convert-artifact-4022066768/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,}