Name: series-workflowfvf4m Phase: Succeeded StartedAt: 2026-06-27 13:19:05 +0000 UTC FinishedAt: 2026-06-27 14:26:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[0] Phase: Succeeded StartedAt: 2026-06-27 13:19:05 +0000 UTC FinishedAt: 2026-06-27 13:34:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[0].run-triage Phase: Succeeded StartedAt: 2026-06-27 13:19:05 +0000 UTC FinishedAt: 2026-06-27 13:34:01 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "5a66900afbd6b2a063eebad35294038a654de2b0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "5a66900afbd6b2a063eebad35294038a654de2b0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "bd157604-9d00-41c5-a379-de78e60b7c22" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "brcmf_notify_auth_frame_rx", "brcmf_fweh_process_event", "brcmf_fweh_process_skb" ], "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+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMxPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCYjMzQ7LAogICAgJiMzNDticmNtZl9md2VoX3Byb2Nlc3Nfc2tiJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBib3VuZHMgY2hlY2sgdG8gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBpbiB0aGUgYnJjbWZtYWMgZHJpdmVyIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyBhY2Nlc3Mgd2hlbiBwcm9jZXNzaW5nIGZpcm13YXJlIGV2ZW50cy4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSB2aWEgdGhlIFVTQiBpbnRlcmZhY2Ugb2YgdGhlIGRyaXZlciwgd2hpY2ggY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBmdXp6ZXIgKGxpa2UgZHVtbXlfaGNkKS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGFmYjA0MTBiYzk3MThhMTFlYmVlNDY0N2RjZGMxY2ZiNDkzZDUzMWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU2F0IEp1biAyNyAxMzozMTo1MyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG5pbmRleCBjZTA5ZDQ0ZmE3M2NmOC4uODczNzU0YmU1MTc0YmMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbkBAIC0yOTMsNiAmIzQzOzI5MywxMiBAQCBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcbiBcdFx0cmV0dXJuIC1FSU5WQUw7XG4gXHR9XG4gXG4mIzQzO1x0aWYgKG1nbXRfZnJhbWVfbGVuIFx1MDAzYyBvZmZzZXRvZihzdHJ1Y3QgaWVlZTgwMjExX21nbXQsIHUpKSB7XG4mIzQzO1x0XHRicGh5X2VycihkcnZyLCBcJiMzNDtFdmVudCAlcyAoJWQpIGZyYW1lIHRvbyBzbWFsbC4gSWdub3JlXFxuXCYjMzQ7LFxuJiM0MztcdFx0XHQgYnJjbWZfZndlaF9ldmVudF9uYW1lKGUtXHUwMDNlZXZlbnRfY29kZSksIGUtXHUwMDNlZXZlbnRfY29kZSk7XG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiYjNDM7XHR9XG4mIzQzO1xuIFx0d2RldiA9IFx1MDAyNmlmcC1cdTAwM2V2aWYtXHUwMDNld2RldjtcbiBcdFdBUk5fT04oIXdkZXYpO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMxPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCYjMzQ7LAogICAgJiMzNDticmNtZl9md2VoX3Byb2Nlc3Nfc2tiJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBib3VuZHMgY2hlY2sgdG8gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBpbiB0aGUgYnJjbWZtYWMgZHJpdmVyIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyBhY2Nlc3Mgd2hlbiBwcm9jZXNzaW5nIGZpcm13YXJlIGV2ZW50cy4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSB2aWEgdGhlIFVTQiBpbnRlcmZhY2Ugb2YgdGhlIGRyaXZlciwgd2hpY2ggY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBmdXp6ZXIgKGxpa2UgZHVtbXlfaGNkKS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgYWZiMDQxMGJjOTcxOGExMWViZWU0NjQ3ZGNkYzFjZmI0OTNkNTMxYwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBTYXQgSnVuIDI3IDEzOjMxOjUzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYwppbmRleCBjZTA5ZDQ0ZmE3M2NmOC4uODczNzU0YmU1MTc0YmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCkBAIC0yOTMsNiAmIzQzOzI5MywxMiBAQCBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCiYjNDM7CWlmIChtZ210X2ZyYW1lX2xlbiAmbHQ7IG9mZnNldG9mKHN0cnVjdCBpZWVlODAyMTFfbWdtdCwgdSkpIHsKJiM0MzsJCWJwaHlfZXJyKGRydnIsICYjMzQ7RXZlbnQgJXMgKCVkKSBmcmFtZSB0b28gc21hbGwuIElnbm9yZVxuJiMzNDssCiYjNDM7CQkJIGJyY21mX2Z3ZWhfZXZlbnRfbmFtZShlLSZndDtldmVudF9jb2RlKSwgZS0mZ3Q7ZXZlbnRfY29kZSk7CiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsJfQomIzQzOwogCXdkZXYgPSAmYW1wO2lmcC0mZ3Q7dmlmLSZndDt3ZGV2OwogCVdBUk5fT04oIXdkZXYpOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMxPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NTUKCQkJCQkJCW91dHB1dDogNTMKCQkJCQkJCXRob3VnaHRzOiAzNDMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNgLiBJdCYjMzk7cyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkOiB0aGV5JiMzOTt2ZSBhZGRlZCBhIGxlbmd0aCBjaGVjayB3aXRoaW4gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YC4gTm90aGluZyBncm91bmRicmVha2luZywganVzdCBhIGJhc2ljIGJvdW5kcyBjaGVjayB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgcmVhZHMuIEZ1bmN0aW9uYWxseSBzb3VuZCwgdGhhdCYjMzk7cyBnb29kLgoKTm93LCB0aGUgcmVhbCBxdWVzdGlvbiBpcyB0ZXN0YWJpbGl0eS4gQ2FuIHdlIGFjdHVhbGx5IHRyaWdnZXIgdGhpcyBjb2RlIGluIGEgdmlydHVhbGl6ZWQgc2V0dXA/IFRoaXMgaXMgdGhlIGBicmNtZm1hY2AgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIEJyb2FkY29tIEZ1bGxNQUMgd2lyZWxlc3MgY2FyZHMuIEZ1bGxNQUMgZHJpdmVycy4uLiB0aG9zZSBhcmUgYWx3YXlzIGEgcGFpbiB0byBmdXp6LiBUaGV5JiMzOTtyZSBoZWF2aWx5IHJlbGlhbnQgb24gdGhlIGhhcmR3YXJlLgoKTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBwcm9iYWJseSBub3QgZWFzaWx5IGZ1enplZCBkaXJlY3RseSBpbiBzb21ldGhpbmcgbGlrZSBRRU1VIG9yIHN5emthbGxlci4gSGFyZHdhcmUtZGVwZW5kZW50IHN0dWZmIGlzIHVzdWFsbHkgYSBuby1nbyB1bmxlc3MgeW91IGhhdmUgYSBzb2Z0d2FyZSBlbXVsYXRpb24uIEkga25vdyB0aGVyZSYjMzk7cyBgbWFjODAyMTFfaHdzaW1gLCB3aGljaCB3b3VsZCBiZSBncmVhdCwgYnV0IHRoYXQmIzM5O3MgZm9yIHRoZSBtYWM4MDIxMSBmcmFtZXdvcmssIG5vdCB0aGUgRnVsbE1BQyBkcml2ZXJzIGxpa2UgdGhpcyBvbmUuCgpXYWl0IGEgc2Vjb25k4oCmIEkgdGhpbmsgc3l6a2FsbGVyIGhhcyBzb21lIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcyBub3csIGRvZXNuJiMzOTt0IGl0PyBJdCBoYXMgdGhhdCBkdW1teSBIQ0Qgc2V0dXAuIFRoYXQmIzM5O3MgYSBmbGlja2VyIG9mIGhvcGUuIE1heWJlLCBqdXN0IG1heWJlLCBgYnJjbWZtYWNgIGhhcyBhIFVTQiBpbnRlcmZhY2UgdGhhdCB3ZSBjb3VsZCBsZXZlcmFnZS4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUsIGxpa2VseSBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL3VzYi5jYCBvciBzb21ldGhpbmcgc2ltaWxhci4gTGV0JiMzOTtzIHNlZSBpZiB0aGVyZSYjMzk7cyBhbnkgVVNCLXJlbGF0ZWQgY29kZSBpbiB0aGVyZS4gSWYgc28sIHRoaXMgcGF0Y2ggYmVjb21lcyBtdWNoIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTI3Mz1zdGF0aWMgczMyXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNzQ6YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNzUtXHRcdFx0ICAgY29uc3Qgc3RydWN0IGJyY21mX2V2ZW50X21zZyAqZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0zNjA9c3RhdGljIHZvaWQgYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY0LVx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY1Olx0XHRcdCAgICBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjYtXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9UWFNUQVRVUyxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMTIzCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqQ29uc2lkZXJpbmcgYGJyY21mbWFjYCBGdXp6aW5nIHZpYSBVU0IqKgoKQWxyaWdodCwgbGV0JiMzOTtzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBUaGUgYGJyY21mbWFjYCBkcml2ZXIuIEludHJpZ3VpbmcgdGFyZ2V0LCBlc3BlY2lhbGx5IHdpdGggaXRzIGV4cG9zdXJlIHRvIHBvdGVudGlhbGx5IHVudHJ1c3RlZCBkYXRhIHZpYSBVU0IuIFRoZSB0aG91Z2h0IHRoYXQmIzM5O3MgYnViYmxpbmcgdXAgaXMsIGNvdWxkIHdlIGVmZmVjdGl2ZWx5IGZ1enogdGhlIGBicmNtZm1hY2AgZHJpdmVyIGJ5IGxldmVyYWdpbmcgYSBVU0IgaW50ZXJmYWNlPyBUaGlzIGFuZ2xlIGhhc24mIzM5O3QgYmVlbiBleHBsb3JlZCBuZWFybHkgYXMgb2Z0ZW4gYXMgdGVzdGluZyBvdmVyLXRoZS1haXIsIGFuZCB0aGUgbnVhbmNlIG9mIHBvdGVudGlhbCBoYXJkd2FyZSByZXF1aXJlbWVudHMgaXMgc29tZXRoaW5nIHRvIGNvbnNpZGVyLiBXaGF0JiMzOTtzIHRoZSBwb3RlbnRpYWwgYXR0YWNrIHN1cmZhY2U/IEFyZSB0aGVyZSBzcGVjaWZpYyBVU0IgdHJhbnNmZXIgdHlwZXMgdGhhdCB3b3VsZCBiZSBtb3N0IHByb21pc2luZz8gVGhlIGNvbXBsZXhpdHkgb2YgdGhlIGhvc3Qtc2lkZSBVU0Igc3RhY2ssIHRoZSBpbnRyaWNhY2llcyBvZiB0aGUgZHJpdmVyIGl0c2VsZi4uLiB0aGlzIGlzIGdvaW5nIHRvIGJlIGEgZmFzY2luYXRpbmcgY2hhbGxlbmdlIGFuZCBpdCBjb3VsZCBiZSBmcnVpdGZ1bCBmb3IgZGlzY292ZXJpbmcgbmV3IHZ1bG5lcmFiaWxpdGllcy4gVGltZSB0byBkaWcgaW4gYW5kIGZvcm11bGF0ZSBhIHBsYW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7YWNwaS5jJiMzNDssCiAgICAmIzM0O2JjZGMuYyYjMzQ7LAogICAgJiMzNDtiY2RjLmgmIzM0OywKICAgICYjMzQ7YmNtc2RoLmMmIzM0OywKICAgICYjMzQ7YnRjb2V4LmMmIzM0OywKICAgICYjMzQ7YnRjb2V4LmgmIzM0OywKICAgICYjMzQ7YnVzLmgmIzM0OywKICAgICYjMzQ7Y2ZnODAyMTEuYyYjMzQ7LAogICAgJiMzNDtjZmc4MDIxMS5oJiMzNDssCiAgICAmIzM0O2NoaXAuYyYjMzQ7LAogICAgJiMzNDtjaGlwLmgmIzM0OywKICAgICYjMzQ7Y29tbW9uLmMmIzM0OywKICAgICYjMzQ7Y29tbW9uLmgmIzM0OywKICAgICYjMzQ7Y29tbW9ucmluZy5jJiMzNDssCiAgICAmIzM0O2NvbW1vbnJpbmcuaCYjMzQ7LAogICAgJiMzNDtjb3JlLmMmIzM0OywKICAgICYjMzQ7Y29yZS5oJiMzNDssCiAgICAmIzM0O2RlYnVnLmMmIzM0OywKICAgICYjMzQ7ZGVidWcuaCYjMzQ7LAogICAgJiMzNDtkbWkuYyYjMzQ7LAogICAgJiMzNDtmZWF0dXJlLmMmIzM0OywKICAgICYjMzQ7ZmVhdHVyZS5oJiMzNDssCiAgICAmIzM0O2Zpcm13YXJlLmMmIzM0OywKICAgICYjMzQ7ZmlybXdhcmUuaCYjMzQ7LAogICAgJiMzNDtmbG93cmluZy5jJiMzNDssCiAgICAmIzM0O2Zsb3dyaW5nLmgmIzM0OywKICAgICYjMzQ7ZndlaC5jJiMzNDssCiAgICAmIzM0O2Z3ZWguaCYjMzQ7LAogICAgJiMzNDtmd2lsLmMmIzM0OywKICAgICYjMzQ7ZndpbC5oJiMzNDssCiAgICAmIzM0O2Z3aWxfdHlwZXMuaCYjMzQ7LAogICAgJiMzNDtmd3NpZ25hbC5jJiMzNDssCiAgICAmIzM0O2Z3c2lnbmFsLmgmIzM0OywKICAgICYjMzQ7Znd2aWQuYyYjMzQ7LAogICAgJiMzNDtmd3ZpZC5oJiMzNDssCiAgICAmIzM0O21zZ2J1Zi5jJiMzNDssCiAgICAmIzM0O21zZ2J1Zi5oJiMzNDssCiAgICAmIzM0O29mLmMmIzM0OywKICAgICYjMzQ7b2YuaCYjMzQ7LAogICAgJiMzNDtwMnAuYyYjMzQ7LAogICAgJiMzNDtwMnAuaCYjMzQ7LAogICAgJiMzNDtwY2llLmMmIzM0OywKICAgICYjMzQ7cGNpZS5oJiMzNDssCiAgICAmIzM0O3Buby5jJiMzNDssCiAgICAmIzM0O3Buby5oJiMzNDssCiAgICAmIzM0O3Byb3RvLmMmIzM0OywKICAgICYjMzQ7cHJvdG8uaCYjMzQ7LAogICAgJiMzNDtzZGlvLmMmIzM0OywKICAgICYjMzQ7c2Rpby5oJiMzNDssCiAgICAmIzM0O3RyYWNlcG9pbnQuYyYjMzQ7LAogICAgJiMzNDt0cmFjZXBvaW50LmgmIzM0OywKICAgICYjMzQ7dXNiLmMmIzM0OywKICAgICYjMzQ7dXNiLmgmIzM0OywKICAgICYjMzQ7dmVuZG9yLmMmIzM0OywKICAgICYjMzQ7dmVuZG9yLmgmIzM0OywKICAgICYjMzQ7eHRsdi5jJiMzNDssCiAgICAmIzM0O3h0bHYuaCYjMzQ7CiAgXSwKICAmIzM0O1N1YmRpcnMmIzM0OzogWwogICAgJiMzNDtiY2EmIzM0OywKICAgICYjMzQ7Y3l3JiMzNDssCiAgICAmIzM0O3djYyYjMzQ7CiAgXQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzc5OQoJCQkJCQkJb3V0cHV0OiA1MAoJCQkJCQkJdGhvdWdodHM6IDExMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipVU0IgRnV6emluZzogQSBQb3RlbnRpYWwgUGF0aCB0byBgdXNiLmNgKioKCk9rYXksIHNvIEkmIzM5O3ZlIGNvbmZpcm1lZCBgdXNiLmNgIGlzIHByZXNlbnQuIFRoYXQgaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgYWJvdXQgdGhlIHBvdGVudGlhbCBmb3IgVVNCIGZ1enppbmcgdG8gdGFyZ2V0IHRoaXMgZHJpdmVyLiBNeSBtaW5kIGp1bXBzIHRvIHRoZSBwb3NzaWJsZSBhdHRhY2sgc3VyZmFjZS4gTm93LCBsZXQmIzM5O3Mgc2VlLi4uIEkmIzM5O20gbm90aWNpbmcgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgYW5kIHRoYXQmIzM5O3MgaGFuZGxpbmcgYSBgQlJDTUZfRV9FWFRfQVVUSF9GUkFNRV9SWGAgZXZlbnQuIEludGVyZXN0aW5nLiBUaGlzIGV2ZW50IGlzICpyZWNlaXZlZCBmcm9tIHRoZSBmaXJtd2FyZSosIHdoaWNoIGlzIGEgaHVnZSBjb25zaWRlcmF0aW9uLiBJZiBJIGNhbiBlaXRoZXIgZW11bGF0ZSB0aGUgZmlybXdhcmUgc3VjY2Vzc2Z1bGx5IG9yLCBtb3JlIGxpa2VseSwgY3JhZnQgVVNCIGZ1enppbmcgcGF5bG9hZHMgdGhhdCBjb252aW5jaW5nbHkgbWltaWMgdGhlc2UgZmlybXdhcmUgZXZlbnRzLCB0aGVuIEkgY2FuIGRlZmluaXRlbHkgZm9yY2UgZXhlY3V0aW9uIGRvd24gdGhpcyBwYXRoLiBUaGlzIHNlZW1zIHByb21pc2luZy4gTGV0JiMzOTtzIGRpZyBkZWVwZXIgYW5kIHVuZGVyc3RhbmQgaG93IGV2ZW50cyBhcmUgcmVnaXN0ZXJlZCBhbmQgcHJvY2Vzc2VkIGluIGBicmNtZl9md2VoX3JlZ2lzdGVyYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticmNtZl9md2VoX3JlZ2lzdGVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zNzM5PXN0YXRpYyB2b2lkIGJyY21mX2luaXRfZXNjYW4oc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM3NDAte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzc0MTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9FU0NBTl9SRVNVTFQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNzQyLVx0XHRcdCAgICBicmNtZl9jZmc4MDIxMV9lc2Nhbl9oYW5kbGVyKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00MTY2PXN0YXRpYyBzMzIgYnJjbWZfY2ZnODAyMTFfcmVzdW1lKHN0cnVjdCB3aXBoeSAqd2lwaHkpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDE4NS1cdFx0XHRicmNtZl9md2VoX3VucmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9QRk5fTkVUX0ZPVU5EKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQxODY6XHRcdFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MTg3LVx0XHRcdFx0XHQgICAgYnJjbWZfbm90aWZ5X3NjaGVkX3NjYW5fcmVzdWx0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDE5ND1zdGF0aWMgdm9pZCBicmNtZl9jb25maWd1cmVfd293bChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQyMzItXHRcdGJyY21mX2Z3ZWhfdW5yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDIzMzpcdFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MjM0LVx0XHRcdFx0ICAgIGJyY21mX3dvd2xfbmRfcmVzdWx0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Njc3Nz1zdGF0aWMgdm9pZCBicmNtZl9yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc3OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzc5Olx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX0xJTkssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02NzgwLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc4MTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9ERUFVVEhfSU5ELFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4Mi1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODM6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfREVBVVRILFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4NC1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODU6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfRElTQVNTT0NfSU5ELFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4Ni1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODc6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfQVNTT0NfSU5ELFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4OC1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODk6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfUkVBU1NPQ19JTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02NzkwLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc5MTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9ST0FNLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5Mi1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X3JvYW1pbmdfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3OTM6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfTUlDX0VSUk9SLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5NC1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X21pY19zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc5NTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9TRVRfU1NJRCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3OTYtXHRcdFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk3Olx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzk4LVx0XHRcdCAgICBicmNtZl9ub3RpZnlfc2NoZWRfc2Nhbl9yZXN1bHRzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3OTk6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfSUYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODAwLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfdmlmX2V2ZW50KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY4MDE6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfUDJQX1BST0JFUkVRX01TRyxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4MDItXHRcdFx0ICAgIGJyY21mX3AycF9ub3RpZnlfcnhfbWdtdF9wMnBfcHJvYmVyZXEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwMzpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9QMlBfRElTQ19MSVNURU5fQ09NUExFVEUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA0LVx0XHRcdCAgICBicmNtZl9wMnBfbm90aWZ5X2xpc3Rlbl9jb21wbGV0ZSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2ODA1Olx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9SWCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4MDYtXHRcdFx0ICAgIGJyY21mX3AycF9ub3RpZnlfYWN0aW9uX2ZyYW1lX3J4KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY4MDc6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfQUNUSU9OX0ZSQU1FX0NPTVBMRVRFLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgwOC1cdFx0XHQgICAgYnJjbWZfcDJwX25vdGlmeV9hY3Rpb25fdHhfY29tcGxldGUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwOTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9BQ1RJT05fRlJBTUVfT0ZGX0NIQU5fQ09NUExFVEUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODEwLVx0XHRcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl90eF9jb21wbGV0ZSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2ODExOlx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BTS19TVVAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODEyLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgxMzpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9SU1NJLCBicmNtZl9ub3RpZnlfcnNzaSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODE0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTgzMDk9c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmJyY21mX2NmZzgwMjExX2F0dGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTg0NDgtXHRcdH0gZWxzZSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo4NDQ5Olx0XHRcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9URExTX1BFRVJfRVZFTlQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy04NDUwLVx0XHRcdFx0XHQgICAgYnJjbWZfbm90aWZ5X3RkbHNfcGVlcl9ldmVudCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz0xMzMwPWludCBicmNtZl9hdHRhY2goc3RydWN0IGRldmljZSAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmMtMTM2Ny1cdC8qIEF0dGFjaCB0byBldmVudHMgaW1wb3J0YW50IGZvciBjb3JlIGNvZGUgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmM6MTM2ODpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9QU01fV0FUQ0hET0csXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTEzNjktXHRcdFx0ICAgIGJyY21mX3BzbV93YXRjaGRvZ19ub3RpZnkpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM2MD1zdGF0aWMgdm9pZCBicmNtZl9jeXdfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2MS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNjI6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfRVhUX0FVVEhfUkVRLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzYzLVx0XHRcdCAgICBicmNtZl9jeXdfbm90aWZ5X2V4dF9hdXRoX3JlcSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNjQ6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfRVhUX0FVVEhfRlJBTUVfUlgsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjUtXHRcdFx0ICAgIGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM2NjpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9NR01UX0ZSQU1FX1RYU1RBVFVTLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY3LVx0XHRcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY4Olx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX01HTVRfRlJBTUVfT0ZGQ0hBTl9ET05FLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY5LVx0XHRcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM9MzcyPXZvaWQgYnJjbWZfZndlaF9kZXRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM4OS0vKipcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM6MzkwOiAqIGJyY21mX2Z3ZWhfcmVnaXN0ZXIoKSAtIHJlZ2lzdGVyIGhhbmRsZXIgZm9yIGdpdmVuIGV2ZW50IGNvZGUuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM5MS0gKlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtMzk1LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzozOTY6aW50IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgZW51bSBicmNtZl9md2VoX2V2ZW50X2NvZGUgY29kZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtMzk3LVx0XHRcdGJyY21mX2Z3ZWhfaGFuZGxlcl90IGhhbmRsZXIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy00MTMtfVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzo0MTQ6QlJDTUZfRVhQT1JUX1NZTUJPTF9HUEwoYnJjbWZfZndlaF9yZWdpc3Rlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQxNS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oPTM1Mj12b2lkIGJyY21mX2Z3ZWhfZGV0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaDozNTM6aW50IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgZW51bSBicmNtZl9md2VoX2V2ZW50X2NvZGUgY29kZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzU0LVx0XHRcdGludCAoKmhhbmRsZXIpKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jPTIzMzc9c3RydWN0IGJyY21mX2Z3c19pbmZvICpicmNtZl9md3NfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM3OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jOjIzNzk6XHRyYyA9IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9GSUZPX0NSRURJVF9NQVAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndzaWduYWwuYy0yMzgwLVx0XHRcdFx0IGJyY21mX2Z3c19ub3RpZnlfY3JlZGl0X21hcCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM4NC1cdH1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jOjIzODU6XHRyYyA9IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9CQ01DX0NSRURJVF9TVVBQT1JULFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM4Ni1cdFx0XHRcdCBicmNtZl9md3Nfbm90aWZ5X2JjbWNfY3JlZGl0X3N1cHBvcnQpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg5MjkKCQkJCQkJCW91dHB1dDogNTIKCQkJCQkJCXRob3VnaHRzOiA3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIEF1dGhlbnRpY2F0aW9uIEZyYW1lIFJlY2VwdGlvbiBpbiB0aGUgQnJvYWRjb20gV2lGaSBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGludG8gaG93IHRoZSBCcm9hZGNvbSBXaUZpIGRyaXZlciBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uIGZyYW1lIHJlY2VwdGlvbi4gTXkgaW5pdGlhbCBwb2ludCBvZiBlbnRyeSBpcyB0aGUgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBmdW5jdGlvbi4gRnJvbSB0aGUgY29kZSwgaXQmIzM5O3MgY2xlYXIgdGhpcyBpcyB0aGUgZGVzaWduYXRlZCBoYW5kbGVyIGZvciB0aGUgYEJSQ01GX0VfRVhUX0FVVEhfRlJBTUVfUlhgIGV2ZW50LiBOb3csIHRoZXNlIGV2ZW50cyBzZWVtIHRvIGJlIHByb2Nlc3NlZCBieSBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YC4gVGhpcyBsb29rcyBsaWtlIGEgY2VudHJhbCBldmVudCBwcm9jZXNzaW5nIGZ1bmN0aW9uLCB3aGljaCBpcyBhIGdvb2QgY2x1ZS4KCk15IG5leHQgc3RlcCBpcyB0byB1bmRlcnN0YW5kIHRoZSBicm9hZGVyIGNvbnRleHQuIEkgbmVlZCB0byB0cmFjZSB3aGVyZSBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YCBpcyBjYWxsZWQgZnJvbS4gVGhhdCB3aWxsIGdpdmUgbWUgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgb3ZlcmFsbCBldmVudCBoYW5kbGluZyBmbG93IGFuZCBob3cgYXV0aGVudGljYXRpb24gZnJhbWVzIGZpdCBpbnRvIHRoZSBiaWdnZXIgcGljdHVyZS4gVW5kZXJzdGFuZGluZyB0aGUgY2FsbCBzdGFjayBhcm91bmQgdGhpcyBmdW5jdGlvbiBzaG91bGQgaWxsdW1pbmF0ZSBob3cgdGhlIGRyaXZlciByZWFjdHMgdG8gYW5kIHBvdGVudGlhbGx5IGhhbmRsZXMgdGhlc2UgYXV0aGVudGljYXRpb24gZnJhbWVzIGF0IGEgaGlnaCBsZXZlbC4gTGV0JiMzOTtzIGRpZyBpbiBhbmQgZmluZCB0aG9zZSBjYWxsIHNpdGVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticmNtZl9md2VoX3Byb2Nlc3NfZXZlbnQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM9NDM4PWludCBicmNtZl9md2VoX2FjdGl2YXRlX2V2ZW50cyhzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ2OS0vKipcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM6NDcwOiAqIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCgpIC0gcHJvY2VzcyBza2IgYXMgZmlybXdhcmUgZXZlbnQuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ3MS0gKlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDc5LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzo0ODA6dm9pZCBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnQoc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDgxLVx0XHRcdCAgICAgIHN0cnVjdCBicmNtZl9ldmVudCAqZXZlbnRfcGFja2V0LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg9MzU5PWludCBicmNtZl9md2VoX2FjdGl2YXRlX2V2ZW50cyhzdHJ1Y3QgYnJjbWZfaWYgKmlmcCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM2MDp2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjEtXHRcdFx0ICAgICAgc3RydWN0IGJyY21mX2V2ZW50ICpldmVudF9wYWNrZXQsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNjU9c3RhdGljIGlubGluZSB2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19za2Ioc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oLTM5Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg6Mzk4Olx0YnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50KGRydnIsIGV2ZW50X3BhY2tldCwgc2tiLVx1MDAzZWxlbiAmIzQzOyBFVEhfSExFTiwgZ2ZwKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzk5LX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTkzMgoJCQkJCQkJb3V0cHV0OiA1MwoJCQkJCQkJdGhvdWdodHM6IDI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQmIzM5O3MgaW50ZXJuYWwgbW9ub2xvZ3VlOgoKKipUcmFjaW5nIHRoZSBOZXR3b3JrIEZyYW1lIEhhbmRsaW5nKioKCkFscmlnaHQsIHNvIHRoZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBsZXQmIzM5O3MgdHJhY2UgdGhpcyBhbmQgc2VlIHdoZXJlIHRoZSBoZWNrIGl0JiMzOTtzIGJlaW5nIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgQnJvYWRjb20gV2ktRmkgZHJpdmVyLiBLbm93aW5nIGl0cyBjYWxsZXJzIGlzIGFic29sdXRlbHkgY3J1Y2lhbCB0byB1bmRlcnN0YW5kaW5nIGl0cyByb2xlIGluIHRoZSBkYXRhIGZsb3cuIFRoYXQmIzM5O2xsIHRlbGwgbWUgd2hhdCYjMzk7cyBoYW5kaW5nIHRoZSBpbmNvbWluZyBuZXR3b3JrIGZyYW1lcyB0byB0aGlzIHByb2Nlc3NpbmcgZnVuY3Rpb24sIGFuZCB3aGF0IGNvbnRleHQgdG8gbG9vayBmb3Igd2hlbiBhbmFseXppbmcgaXRzIGFjdGlvbnMuIFRpbWUgdG8gcHVsbCB1cCB0aGUgY29kZSBhbmQgZ2V0IHRoZSBjYWxsIGdyYXBoIHNvcnRlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfZndlaF9wcm9jZXNzX3NrYiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01MDI9dm9pZCBicmNtZl9yeF9mcmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsIGJvb2wgaGFuZGxlX2V2ZW50LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmMtNTIwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYzo1MjE6XHRcdFx0YnJjbWZfZndlaF9wcm9jZXNzX3NrYihpZnAtXHUwMDNlZHJ2ciwgc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy01MjItXHRcdFx0XHRcdCAgICAgICBCQ01JTENQX1NVQlRZUEVfVkVORE9SX0xPTkcsIGdmcCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01Mjg9dm9pZCBicmNtZl9yeF9ldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy01MzgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jOjUzOTpcdGJyY21mX2Z3ZWhfcHJvY2Vzc19za2IoaWZwLVx1MDAzZWRydnIsIHNrYiwgMCwgR0ZQX0tFUk5FTCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTU0MC1cdGJyY211X3BrdF9idWZfZnJlZV9za2Ioc2tiKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oPTM2Mz12b2lkIGJyY21mX2Z3ZWhfcDJwZGV2X3NldHVwKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBib29sIG9uZ29pbmcpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM2NTpzdGF0aWMgaW5saW5lIHZvaWQgYnJjbWZfZndlaF9wcm9jZXNzX3NrYihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjYtXHRcdFx0XHRcdCAgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTE2IHN0eXBlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYz0xMTAzPXN0YXRpYyB2b2lkIGJyY21mX21zZ2J1Zl9wcm9jZXNzX2V2ZW50KHN0cnVjdCBicmNtZl9tc2didWYgKm1zZ2J1Ziwgdm9pZCAqYnVmKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYy0xMTM4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL21zZ2J1Zi5jOjExMzk6XHRicmNtZl9md2VoX3Byb2Nlc3Nfc2tiKGlmcC1cdTAwM2VkcnZyLCBza2IsIDAsIEdGUF9LRVJORUwpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL21zZ2J1Zi5jLTExNDAtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEwOTQxCgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogMTEwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlJlYWNoaW5nIFZ1bG5lcmFibGUgQ29kZSBpbiB0aGUgYnJjbWZtYWMgRHJpdmVyKioKCk9rYXksIHNvIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGUgYGJyY21mbWFjYCBkcml2ZXIsIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgcmVjZWl2ZSBwYXRoLiBXZSYjMzk7dmUgZ290IGBicmNtZl9yeF9mcmFtZWAgYW5kIGBicmNtZl9yeF9ldmVudGAsIHdoaWNoIGFyZSB0aGUgZW50cnkgcG9pbnRzIGZvciBpbmNvbWluZyBkYXRhIGZyb20gdGhlIGhhcmR3YXJlLiBUaGUga2V5IGhlcmUgaXMgdGhhdCwgYmVjYXVzZSBgYnJjbWZtYWNgIGhhcyBhIFVTQiBkcml2ZXIsIGB1c2IuY2AsIHdlIGNhbiBwb3RlbnRpYWxseSBzaW11bGF0ZSB0aGUgaGFyZHdhcmUgdXNpbmcgYSBVU0IgZnV6emVyLiBUaGF0IG1lYW5zIHdlIGhhdmUgYSBkaXJlY3QgcGF0aCB0byBpbmplY3QgYXJiaXRyYXJ5IGZyYW1lcyBhbmQgZXZlbnRzIHJpZ2h0IGludG8gdGhlIGhvc3QuIEJpbmdvIOKAkyB0aGlzIGlzIHJlYWNoYWJsZSBjb2RlISBUaGlzIGlzIHRoZSBraW5kIG9mIGF0dGFjayBzdXJmYWNlIEkgZ2V0IGV4Y2l0ZWQgYWJvdXQuCgpOb3csIGxldCYjMzk7cyBmaWd1cmUgb3V0IHRoZSBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSBuZWVkIHRvIGNoZWNrIHdoYXQgY29uZmlnIG9wdGlvbnMgYXJlIHJlcXVpcmVkIHRvIGVuYWJsZSB0aGUgcmVsZXZhbnQgZnVuY3Rpb25hbGl0eSBpbiB0aGUgZHJpdmVyLiBMZXQmIzM5O3Mgc3RhcnQgYnkgZGlnZ2luZyBpbnRvIGl0cyBLY29uZmlnIGZpbGUuIEkmIzM5O2xsIG5lZWQgdG8ga25vdyB3aGF0IHRvIGVuYWJsZSBpbiB0aGUgYnVpbGQgdG8gZXhwb3NlIHRoaXMgdnVsbmVyYWJpbGl0eSB0byBhIGZ1enplci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJSQ01GTUFDJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxOmNvbmZpZyBCUkNNRk1BQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMi1cdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjExOmNvbmZpZyBCUkNNRk1BQ19QUk9UT19CQ0RDXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMi1cdGJvb2xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTEzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTQ6Y29uZmlnIEJSQ01GTUFDX1BST1RPX01TR0JVRlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTUtXHRib29sXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE3OmNvbmZpZyBCUkNNRk1BQ19TRElPXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xOC1cdGJvb2wgXCYjMzQ7U0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMjgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoyOTpjb25maWcgQlJDTUZNQUNfVVNCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zMC1cdGJvb2wgXCYjMzQ7VVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjQwOmNvbmZpZyBCUkNNRk1BQ19QQ0lFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy00MS1cdGJvb2wgXCYjMzQ7UENJRSBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDExOTE5CgkJCQkJCQlvdXRwdXQ6IDUwCgkJCQkJCQl0aG91Z2h0czogNDIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBzZWUsIG15IHRoaW5raW5nIHJpZ2h0IG5vdyBpcyBjZW50ZXJlZCBvbiBmdXp6aW5nIHRoZXNlIEJyb2FkY29tIFdpLUZpIGRyaXZlcnMuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBoYXZlIHRoZSByaWdodCBzZXR1cC4gSXQgbG9va3MgbGlrZSBJIG5lZWQgdG8gaW5jbHVkZSBib3RoIGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgIHRvIGZ1enogdGhlIHRhcmdldCB2aWEgVVNCLiBCZWZvcmUgSSBnZXQgdG9vIGRlZXAgaW50byB0aGlzLCBJIHNob3VsZCBwcm9iYWJseSBkb3VibGUtY2hlY2sgaWYgYEJSQ01GTUFDX1VTQmAgYWxvbmUgaXMgc3VmZmljaWVudCBmb3IgdGhpcyBwYXJ0aWN1bGFyIGZ1enppbmcgY2FtcGFpZ24uIERvbiYjMzk7dCB3YW50IHRvIG92ZXJjb21wbGljYXRlIHRoaW5ncyBpZiBJIGRvbiYjMzk7dCBoYXZlIHRvLiBJIG5lZWQgdG8gYmUgc3VyZSBiZWZvcmUgSSBtb3ZlIGZvcndhcmQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWcmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDQwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHRjb25maWcgQlJDTUZNQUNcbiAgIDI6XHRcdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXJcJiMzNDtcbiAgIDM6XHRcdGRlcGVuZHMgb24gQ0ZHODAyMTFcbiAgIDQ6XHRcdHNlbGVjdCBCUkNNVVRJTFxuICAgNTpcdFx0aGVscFxuICAgNjpcdFx0ICBUaGlzIG1vZHVsZSBhZGRzIHN1cHBvcnQgZm9yIHdpcmVsZXNzIGFkYXB0ZXJzIGJhc2VkIG9uIEJyb2FkY29tXG4gICA3Olx0XHQgIEZ1bGxNQUMgY2hpcHNldHMuIEl0IGhhcyB0byB3b3JrIHdpdGggYXQgbGVhc3Qgb25lIG9mIHRoZSBidXNcbiAgIDg6XHRcdCAgaW50ZXJmYWNlIHN1cHBvcnQuIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgYSBtb2R1bGUsIGl0JiMzOTtsbCBiZSBjYWxsZWRcbiAgIDk6XHRcdCAgYnJjbWZtYWMua28uXG4gIDEwOlx0XG4gIDExOlx0Y29uZmlnIEJSQ01GTUFDX1BST1RPX0JDRENcbiAgMTI6XHRcdGJvb2xcbiAgMTM6XHRcbiAgMTQ6XHRjb25maWcgQlJDTUZNQUNfUFJPVE9fTVNHQlVGXG4gIDE1Olx0XHRib29sXG4gIDE2Olx0XG4gIDE3Olx0Y29uZmlnIEJSQ01GTUFDX1NESU9cbiAgMTg6XHRcdGJvb2wgXCYjMzQ7U0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4gIDE5Olx0XHRkZXBlbmRzIG9uIChNTUMgPSB5IHx8IE1NQyA9IEJSQ01GTUFDKVxuICAyMDpcdFx0ZGVwZW5kcyBvbiBCUkNNRk1BQ1xuICAyMTpcdFx0c2VsZWN0IEJSQ01GTUFDX1BST1RPX0JDRENcbiAgMjI6XHRcdHNlbGVjdCBGV19MT0FERVJcbiAgMjM6XHRcdGRlZmF1bHQgeVxuICAyNDpcdFx0aGVscFxuICAyNTpcdFx0ICBUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBTRElPIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgQnJvYWRjb21cbiAgMjY6XHRcdCAgSUVFRTgwMi4xMW4gZW1iZWRkZWQgRnVsbE1BQyBXTEFOIGRyaXZlci4gU2F5IFkgaWYgeW91IHdhbnQgdG9cbiAgMjc6XHRcdCAgdXNlIHRoZSBkcml2ZXIgZm9yIGEgU0RJTyB3aXJlbGVzcyBjYXJkLlxuICAyODpcdFxuICAyOTpcdGNvbmZpZyBCUkNNRk1BQ19VU0JcbiAgMzA6XHRcdGJvb2wgXCYjMzQ7VVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcJiMzNDtcbiAgMzE6XHRcdGRlcGVuZHMgb24gKFVTQiA9IHkgfHwgVVNCID0gQlJDTUZNQUMpXG4gIDMyOlx0XHRkZXBlbmRzIG9uIEJSQ01GTUFDXG4gIDMzOlx0XHRzZWxlY3QgQlJDTUZNQUNfUFJPVE9fQkNEQ1xuICAzNDpcdFx0c2VsZWN0IEZXX0xPQURFUlxuICAzNTpcdFx0aGVscFxuICAzNjpcdFx0ICBUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBVU0IgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBCcm9hZGNvbVxuICAzNzpcdFx0ICBJRUVFODAyLjExbiBlbWJlZGRlZCBGdWxsTUFDIFdMQU4gZHJpdmVyLiBTYXkgWSBpZiB5b3Ugd2FudCB0b1xuICAzODpcdFx0ICB1c2UgdGhlIGRyaXZlciBmb3IgYW4gVVNCIHdpcmVsZXNzIGNhcmQuXG4gIDM5Olx0XG4gIDQwOlx0Y29uZmlnIEJSQ01GTUFDX1BDSUVcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTI2OTYKCQkJCQkJCW91dHB1dDogNTMKCQkJCQkJCXRob3VnaHRzOiAxNjYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRm9jdXNpbmcgb24gdGhlIFJlbGV2YW50IFN5bWJvbHMqKgoKT2theSwgc28gd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBCcm9hZGNvbSB3aXJlbGVzcyBkcml2ZXJzIGhlcmUuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRoYXQgYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgYXJlIHRoZSBwcmltYXJ5IG1vZHVsZXMgb2YgaW50ZXJlc3QsIG5hdHVyYWxseS4gT2YgY291cnNlLCBgQ0ZHODAyMTFgIGlzIGVzc2VudGlhbCwgYXMgdGhhdCYjMzk7cyBwcmV0dHkgbXVjaCBhIGdpdmVuIGZvciBhbnkgbW9kZXJuIHdpcmVsZXNzIHN0YWNrLiBXZSBjYW4gc2FmZWx5IGFzc3VtZSBpdHMgc3RhbmRhcmQgZnVuY3Rpb25hbGl0eS4KCkxldCYjMzk7cyBkaXZlIGludG8gdGhlIHNwZWNpZmljcy4gSSBuZWVkIHRvIHplcm8gaW4gb24gdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucy4gVGhlIGtleSBmdW5jdGlvbiB1bmRlciBzY3J1dGlueSwgYXMgZmFyIGFzIEkgY2FuIHNlZSwgaXMgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIG1ha2UgdGhhdCBvdXIgcHJpbWFyeSBmb2N1cy4KCkhvd2V2ZXIsIEkgbmVlZCB0byBiZSB0aG9yb3VnaC4gQXJlIHRoZXJlIGFueSBjbG9zZWx5IHJlbGF0ZWQgZnVuY3Rpb25zIG9yIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgc2FtZSBtb2R1bGUgdGhhdCBhcmUgZXF1YWxseSBvciBtb3JlIHJlbGV2YW50PyBQZXJoYXBzIGBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRgLCBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAsIG9yIGBicmNtZl9yeF9ldmVudGAgbWlnaHQgcGxheSBhIHN1cHBvcnRpbmcgcm9sZSwgb3IgY291bGQgZXZlbiBiZSBpbmRpcmVjdGx5IGludm9sdmVkLiBCdXQgZm9yIG5vdywgc2luY2UgdGhlIG1vZGlmaWNhdGlvbiBpcyBjb25maXJtZWQgaW4gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgdGhhdCBzZWVtcyB0byBiZSB0aGUgcGxhY2UgdG8gc3RhcnQuIEkgbmVlZCB0byBhc3Nlc3MgaG93IHVzZWZ1bCBmb2N1c2luZyBvbiB0aGF0IHN5bWJvbCBpcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTI3Mz1zdGF0aWMgczMyXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNzQ6YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNzUtXHRcdFx0ICAgY29uc3Qgc3RydWN0IGJyY21mX2V2ZW50X21zZyAqZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0zNjA9c3RhdGljIHZvaWQgYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY0LVx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY1Olx0XHRcdCAgICBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjYtXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9UWFNUQVRVUyxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTM1NzQKCQkJCQkJCW91dHB1dDogMTU3CgkJCQkJCQl0aG91Z2h0czogNjQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBzeW1ib2xzLCBrZWVwaW5nIGluIG1pbmQgbXkgZXhwZXJ0aXNlOgoKKipNeSBJbml0aWFsIEFzc2Vzc21lbnQgb2YgRnV6emluZyBUYXJnZXRzKioKCkFscmlnaHQsIGxldCYjMzk7cyBzZWUsIGJhc2VkIG9uIHdoYXQgSSYjMzk7dmUgYmVlbiBsb29raW5nIGF0LCBJIHRoaW5rIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaXMgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgZnV6emluZy4gSXQmIzM5O3MgYSBrZXkgZW50cnkgcG9pbnQsIGFuZCBmb2N1c2luZyBvbiBpdCBmaXJzdCBpcyBnb2luZyB0byBiZSBoZWxwZnVsLiBJIGtub3cgaG93IHRoZSBhdXRoZW50aWNhdGlvbiBmcmFtZSBoYW5kbGluZyBmdW5jdGlvbnMsIHNvIEkgY2FuIHNlZSB0aGlzIGJlaW5nIGEgcHJvZHVjdGl2ZSBhcmVhIHRvIGV4cGxvcmUuIEkmIzM5O20gaW1hZ2luaW5nIGhvdyBJJiMzOTtkIGFwcHJvYWNoIGl0LCBrbm93aW5nIHRoZSBwcm90b2NvbCBudWFuY2VzLgoKQmV5b25kIHRoYXQsIHRoZSBldmVudCBwcm9jZXNzaW5nIGxvZ2ljIHNlZW1zIHJpcGUgZm9yIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi4gQm90aCBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YCBhbmQgYGJyY21mX2Z3ZWhfcHJvY2Vzc19za2JgIGxvb2sgcGFydGljdWxhcmx5IHByb21pc2luZyB0byBoZWxwIHRoZSBmdXp6ZXIgZGl2ZSBpbnRvIHRoZSBjb3JlIGV2ZW50IHByb2Nlc3NpbmcuIFRhcmdldGluZyB0aG9zZSBmdW5jdGlvbnMgc2hvdWxkIGhlbHAgdG8gcmVhY2ggZGVlcGVyIHdpdGhpbiB0aGUgZHJpdmVyIGFuZCBleHBvc2UgbW9yZSBjb21wbGV4IHN0YXRlIHRyYW5zaXRpb25zLCB3aGljaCBpcyB3aGVyZSB0aGluZ3Mgb2Z0ZW4gYnJlYWsgaW4gdGhpcyB0eXBlIG9mIHN5c3RlbS4gSSYjMzk7bGwgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZGF0YSBpbnB1dHMgdHJpZ2dlciB0aGVpciBhY3RpdmF0aW9uIGFuZCB0aGVuIGdldCBteSBmdXp6ZXIgdGFyZ2V0aW5nIHRob3NlIGlucHV0cy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCYjMzQ7LAogICAgJiMzNDticmNtZl9md2VoX3Byb2Nlc3Nfc2tiJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBib3VuZHMgY2hlY2sgdG8gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBpbiB0aGUgYnJjbWZtYWMgZHJpdmVyIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyBhY2Nlc3Mgd2hlbiBwcm9jZXNzaW5nIGZpcm13YXJlIGV2ZW50cy4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSB2aWEgdGhlIFVTQiBpbnRlcmZhY2Ugb2YgdGhlIGRyaXZlciwgd2hpY2ggY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBmdXp6ZXIgKGxpa2UgZHVtbXlfaGNkKS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlJDTUZNQUMmIzM0OywKICAgICYjMzQ7QlJDTUZNQUNfVVNCJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngmIzM0OywKICAgICYjMzQ7YnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIGJvdW5kcyBjaGVjayB0byBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgIGluIHRoZSBicmNtZm1hYyBkcml2ZXIgdG8gcHJldmVudCBvdXQtb2YtYm91bmRzIGFjY2VzcyB3aGVuIHByb2Nlc3NpbmcgZmlybXdhcmUgZXZlbnRzLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIHZpYSB0aGUgVVNCIGludGVyZmFjZSBvZiB0aGUgZHJpdmVyLCB3aGljaCBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGZ1enplciAobGlrZSBkdW1teV9oY2QpLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzE6NTQuOTkzMjU4Mzk2WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTE1MjM2NTI4NDE0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJSQ01GTUFDXCIsXG4gICAgXCJCUkNNRk1BQ19VU0JcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeFwiLFxuICAgIFwiYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3Nfc2tiXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGJvdW5kcyBjaGVjayB0byBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgIGluIHRoZSBicmNtZm1hYyBkcml2ZXIgdG8gcHJldmVudCBvdXQtb2YtYm91bmRzIGFjY2VzcyB3aGVuIHByb2Nlc3NpbmcgZmlybXdhcmUgZXZlbnRzLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIHZpYSB0aGUgVVNCIGludGVyZmFjZSBvZiB0aGUgZHJpdmVyLCB3aGljaCBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGZ1enplciAobGlrZSBkdW1teV9oY2QpLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMTo1NC45OTMyNjM4MzZaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQxNjc3NDA4NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGFmYjA0MTBiYzk3MThhMTFlYmVlNDY0N2RjZGMxY2ZiNDkzZDUzMWNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBKdW4gMjcgMTM6MzE6NTMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xcbmluZGV4IGNlMDlkNDRmYTczY2Y4Li44NzM3NTRiZTUxNzRiYyAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXFxuQEAgLTI5Myw2ICsyOTMsMTIgQEAgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXFxuIFxcdFxcdHJldHVybiAtRUlOVkFMO1xcbiBcXHR9XFxuIFxcbitcXHRpZiAobWdtdF9mcmFtZV9sZW4gXFx1MDAzYyBvZmZzZXRvZihzdHJ1Y3QgaWVlZTgwMjExX21nbXQsIHUpKSB7XFxuK1xcdFxcdGJwaHlfZXJyKGRydnIsIFxcXCJFdmVudCAlcyAoJWQpIGZyYW1lIHRvbyBzbWFsbC4gSWdub3JlXFxcXG5cXFwiLFxcbitcXHRcXHRcXHQgYnJjbWZfZndlaF9ldmVudF9uYW1lKGUtXFx1MDAzZWV2ZW50X2NvZGUpLCBlLVxcdTAwM2VldmVudF9jb2RlKTtcXG4rXFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdH1cXG4rXFxuIFxcdHdkZXYgPSBcXHUwMDI2aWZwLVxcdTAwM2V2aWYtXFx1MDAzZXdkZXY7XFxuIFxcdFdBUk5fT04oIXdkZXYpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzE6NTUuNDEwNjgwMzMxWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMTQ4MTkwOTYyNzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgICBcImJyY21mX2Z3ZWhfcHJvY2Vzc19za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYm91bmRzIGNoZWNrIHRvIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaW4gdGhlIGJyY21mbWFjIGRyaXZlciB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgYWNjZXNzIHdoZW4gcHJvY2Vzc2luZyBmaXJtd2FyZSBldmVudHMuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgdmlhIHRoZSBVU0IgaW50ZXJmYWNlIG9mIHRoZSBkcml2ZXIsIHdoaWNoIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZnV6emVyIChsaWtlIGR1bW15X2hjZCkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYWZiMDQxMGJjOTcxOGExMWViZWU0NjQ3ZGNkYzFjZmI0OTNkNTMxY1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVuIDI3IDEzOjMxOjUzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuaW5kZXggY2UwOWQ0NGZhNzNjZjguLjg3Mzc1NGJlNTE3NGJjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG5AQCAtMjkzLDYgKzI5MywxMiBAQCBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcbiBcdFx0cmV0dXJuIC1FSU5WQUw7XG4gXHR9XG4gXG4rXHRpZiAobWdtdF9mcmFtZV9sZW4gXHUwMDNjIG9mZnNldG9mKHN0cnVjdCBpZWVlODAyMTFfbWdtdCwgdSkpIHtcbitcdFx0YnBoeV9lcnIoZHJ2ciwgXCJFdmVudCAlcyAoJWQpIGZyYW1lIHRvbyBzbWFsbC4gSWdub3JlXFxuXCIsXG4rXHRcdFx0IGJyY21mX2Z3ZWhfZXZlbnRfbmFtZShlLVx1MDAzZWV2ZW50X2NvZGUpLCBlLVx1MDAzZWV2ZW50X2NvZGUpO1xuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbitcdH1cbitcbiBcdHdkZXYgPSBcdTAwMjZpZnAtXHUwMDNldmlmLVx1MDAzZXdkZXY7XG4gXHRXQVJOX09OKCF3ZGV2KTtcbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI3VDEzOjMxOjU1LjQxMDY4MTY4MVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY2MzQ3MzE4NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jYC4gSXQncyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkOiB0aGV5J3ZlIGFkZGVkIGEgbGVuZ3RoIGNoZWNrIHdpdGhpbiBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgLiBOb3RoaW5nIGdyb3VuZGJyZWFraW5nLCBqdXN0IGEgYmFzaWMgYm91bmRzIGNoZWNrIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyByZWFkcy4gRnVuY3Rpb25hbGx5IHNvdW5kLCB0aGF0J3MgZ29vZC5cblxuTm93LCB0aGUgcmVhbCBxdWVzdGlvbiBpcyB0ZXN0YWJpbGl0eS4gQ2FuIHdlIGFjdHVhbGx5IHRyaWdnZXIgdGhpcyBjb2RlIGluIGEgdmlydHVhbGl6ZWQgc2V0dXA/IFRoaXMgaXMgdGhlIGBicmNtZm1hY2AgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIEJyb2FkY29tIEZ1bGxNQUMgd2lyZWxlc3MgY2FyZHMuIEZ1bGxNQUMgZHJpdmVycy4uLiB0aG9zZSBhcmUgYWx3YXlzIGEgcGFpbiB0byBmdXp6LiBUaGV5J3JlIGhlYXZpbHkgcmVsaWFudCBvbiB0aGUgaGFyZHdhcmUuXG5cbk15IGluaXRpYWwgdGhvdWdodCBpcywgcHJvYmFibHkgbm90IGVhc2lseSBmdXp6ZWQgZGlyZWN0bHkgaW4gc29tZXRoaW5nIGxpa2UgUUVNVSBvciBzeXprYWxsZXIuIEhhcmR3YXJlLWRlcGVuZGVudCBzdHVmZiBpcyB1c3VhbGx5IGEgbm8tZ28gdW5sZXNzIHlvdSBoYXZlIGEgc29mdHdhcmUgZW11bGF0aW9uLiBJIGtub3cgdGhlcmUncyBgbWFjODAyMTFfaHdzaW1gLCB3aGljaCB3b3VsZCBiZSBncmVhdCwgYnV0IHRoYXQncyBmb3IgdGhlIG1hYzgwMjExIGZyYW1ld29yaywgbm90IHRoZSBGdWxsTUFDIGRyaXZlcnMgbGlrZSB0aGlzIG9uZS5cblxuV2FpdCBhIHNlY29uZOKApiBJIHRoaW5rIHN5emthbGxlciBoYXMgc29tZSBVU0IgZnV6emluZyBjYXBhYmlsaXRpZXMgbm93LCBkb2Vzbid0IGl0PyBJdCBoYXMgdGhhdCBkdW1teSBIQ0Qgc2V0dXAuIFRoYXQncyBhIGZsaWNrZXIgb2YgaG9wZS4gTWF5YmUsIGp1c3QgbWF5YmUsIGBicmNtZm1hY2AgaGFzIGEgVVNCIGludGVyZmFjZSB0aGF0IHdlIGNvdWxkIGxldmVyYWdlLiBJIG5lZWQgdG8gcXVpY2tseSBjaGVjayB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSwgbGlrZWx5IGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvdXNiLmNgIG9yIHNvbWV0aGluZyBzaW1pbGFyLiBMZXQncyBzZWUgaWYgdGhlcmUncyBhbnkgVVNCLXJlbGF0ZWQgY29kZSBpbiB0aGVyZS4gSWYgc28sIHRoaXMgcGF0Y2ggYmVjb21lcyBtdWNoIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NTUsIk91dHB1dFRva2VucyI6NTMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNDMsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjowMi4wNDU0MTUxNzRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTI1MDg3MTcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yNzM9c3RhdGljIHMzMlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjI3NDpicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNzUtXFx0XFx0XFx0ICAgY29uc3Qgc3RydWN0IGJyY21mX2V2ZW50X21zZyAqZSwgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM2MD1zdGF0aWMgdm9pZCBicmNtZl9jeXdfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2NC1cXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfRVhUX0FVVEhfRlJBTUVfUlgsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY1OlxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY2LVxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9NR01UX0ZSQU1FX1RYU1RBVFVTLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjowMi4wOTc5Mjc1NzFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjc3OTk2OTY5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipDb25zaWRlcmluZyBgYnJjbWZtYWNgIEZ1enppbmcgdmlhIFVTQioqXG5cbkFscmlnaHQsIGxldCdzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBUaGUgYGJyY21mbWFjYCBkcml2ZXIuIEludHJpZ3VpbmcgdGFyZ2V0LCBlc3BlY2lhbGx5IHdpdGggaXRzIGV4cG9zdXJlIHRvIHBvdGVudGlhbGx5IHVudHJ1c3RlZCBkYXRhIHZpYSBVU0IuIFRoZSB0aG91Z2h0IHRoYXQncyBidWJibGluZyB1cCBpcywgY291bGQgd2UgZWZmZWN0aXZlbHkgZnV6eiB0aGUgYGJyY21mbWFjYCBkcml2ZXIgYnkgbGV2ZXJhZ2luZyBhIFVTQiBpbnRlcmZhY2U/IFRoaXMgYW5nbGUgaGFzbid0IGJlZW4gZXhwbG9yZWQgbmVhcmx5IGFzIG9mdGVuIGFzIHRlc3Rpbmcgb3Zlci10aGUtYWlyLCBhbmQgdGhlIG51YW5jZSBvZiBwb3RlbnRpYWwgaGFyZHdhcmUgcmVxdWlyZW1lbnRzIGlzIHNvbWV0aGluZyB0byBjb25zaWRlci4gV2hhdCdzIHRoZSBwb3RlbnRpYWwgYXR0YWNrIHN1cmZhY2U/IEFyZSB0aGVyZSBzcGVjaWZpYyBVU0IgdHJhbnNmZXIgdHlwZXMgdGhhdCB3b3VsZCBiZSBtb3N0IHByb21pc2luZz8gVGhlIGNvbXBsZXhpdHkgb2YgdGhlIGhvc3Qtc2lkZSBVU0Igc3RhY2ssIHRoZSBpbnRyaWNhY2llcyBvZiB0aGUgZHJpdmVyIGl0c2VsZi4uLiB0aGlzIGlzIGdvaW5nIHRvIGJlIGEgZmFzY2luYXRpbmcgY2hhbGxlbmdlIGFuZCBpdCBjb3VsZCBiZSBmcnVpdGZ1bCBmb3IgZGlzY292ZXJpbmcgbmV3IHZ1bG5lcmFiaWxpdGllcy4gVGltZSB0byBkaWcgaW4gYW5kIGZvcm11bGF0ZSBhIHBsYW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxMjMsIk91dHB1dFRva2VucyI6MzksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjowNS4zNzU5MjYyNzlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJjb2Rlc2VhcmNoLWRpci1pbmRleCIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk1NzU5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRGlyXCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIkZpbGVzXCI6IFtcbiAgICBcImFjcGkuY1wiLFxuICAgIFwiYmNkYy5jXCIsXG4gICAgXCJiY2RjLmhcIixcbiAgICBcImJjbXNkaC5jXCIsXG4gICAgXCJidGNvZXguY1wiLFxuICAgIFwiYnRjb2V4LmhcIixcbiAgICBcImJ1cy5oXCIsXG4gICAgXCJjZmc4MDIxMS5jXCIsXG4gICAgXCJjZmc4MDIxMS5oXCIsXG4gICAgXCJjaGlwLmNcIixcbiAgICBcImNoaXAuaFwiLFxuICAgIFwiY29tbW9uLmNcIixcbiAgICBcImNvbW1vbi5oXCIsXG4gICAgXCJjb21tb25yaW5nLmNcIixcbiAgICBcImNvbW1vbnJpbmcuaFwiLFxuICAgIFwiY29yZS5jXCIsXG4gICAgXCJjb3JlLmhcIixcbiAgICBcImRlYnVnLmNcIixcbiAgICBcImRlYnVnLmhcIixcbiAgICBcImRtaS5jXCIsXG4gICAgXCJmZWF0dXJlLmNcIixcbiAgICBcImZlYXR1cmUuaFwiLFxuICAgIFwiZmlybXdhcmUuY1wiLFxuICAgIFwiZmlybXdhcmUuaFwiLFxuICAgIFwiZmxvd3JpbmcuY1wiLFxuICAgIFwiZmxvd3JpbmcuaFwiLFxuICAgIFwiZndlaC5jXCIsXG4gICAgXCJmd2VoLmhcIixcbiAgICBcImZ3aWwuY1wiLFxuICAgIFwiZndpbC5oXCIsXG4gICAgXCJmd2lsX3R5cGVzLmhcIixcbiAgICBcImZ3c2lnbmFsLmNcIixcbiAgICBcImZ3c2lnbmFsLmhcIixcbiAgICBcImZ3dmlkLmNcIixcbiAgICBcImZ3dmlkLmhcIixcbiAgICBcIm1zZ2J1Zi5jXCIsXG4gICAgXCJtc2didWYuaFwiLFxuICAgIFwib2YuY1wiLFxuICAgIFwib2YuaFwiLFxuICAgIFwicDJwLmNcIixcbiAgICBcInAycC5oXCIsXG4gICAgXCJwY2llLmNcIixcbiAgICBcInBjaWUuaFwiLFxuICAgIFwicG5vLmNcIixcbiAgICBcInBuby5oXCIsXG4gICAgXCJwcm90by5jXCIsXG4gICAgXCJwcm90by5oXCIsXG4gICAgXCJzZGlvLmNcIixcbiAgICBcInNkaW8uaFwiLFxuICAgIFwidHJhY2Vwb2ludC5jXCIsXG4gICAgXCJ0cmFjZXBvaW50LmhcIixcbiAgICBcInVzYi5jXCIsXG4gICAgXCJ1c2IuaFwiLFxuICAgIFwidmVuZG9yLmNcIixcbiAgICBcInZlbmRvci5oXCIsXG4gICAgXCJ4dGx2LmNcIixcbiAgICBcInh0bHYuaFwiXG4gIF0sXG4gIFwiU3ViZGlyc1wiOiBbXG4gICAgXCJiY2FcIixcbiAgICBcImN5d1wiLFxuICAgIFwid2NjXCJcbiAgXVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzI6MDUuMzc2MDIzNTA5WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTYxOTcxMjQxMDUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqVVNCIEZ1enppbmc6IEEgUG90ZW50aWFsIFBhdGggdG8gYHVzYi5jYCoqXG5cbk9rYXksIHNvIEkndmUgY29uZmlybWVkIGB1c2IuY2AgaXMgcHJlc2VudC4gVGhhdCBpbW1lZGlhdGVseSBtYWtlcyBtZSB0aGluayBhYm91dCB0aGUgcG90ZW50aWFsIGZvciBVU0IgZnV6emluZyB0byB0YXJnZXQgdGhpcyBkcml2ZXIuIE15IG1pbmQganVtcHMgdG8gdGhlIHBvc3NpYmxlIGF0dGFjayBzdXJmYWNlLiBOb3csIGxldCdzIHNlZS4uLiBJJ20gbm90aWNpbmcgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgYW5kIHRoYXQncyBoYW5kbGluZyBhIGBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYYCBldmVudC4gSW50ZXJlc3RpbmcuIFRoaXMgZXZlbnQgaXMgKnJlY2VpdmVkIGZyb20gdGhlIGZpcm13YXJlKiwgd2hpY2ggaXMgYSBodWdlIGNvbnNpZGVyYXRpb24uIElmIEkgY2FuIGVpdGhlciBlbXVsYXRlIHRoZSBmaXJtd2FyZSBzdWNjZXNzZnVsbHkgb3IsIG1vcmUgbGlrZWx5LCBjcmFmdCBVU0IgZnV6emluZyBwYXlsb2FkcyB0aGF0IGNvbnZpbmNpbmdseSBtaW1pYyB0aGVzZSBmaXJtd2FyZSBldmVudHMsIHRoZW4gSSBjYW4gZGVmaW5pdGVseSBmb3JjZSBleGVjdXRpb24gZG93biB0aGlzIHBhdGguIFRoaXMgc2VlbXMgcHJvbWlzaW5nLiBMZXQncyBkaWcgZGVlcGVyIGFuZCB1bmRlcnN0YW5kIGhvdyBldmVudHMgYXJlIHJlZ2lzdGVyZWQgYW5kIHByb2Nlc3NlZCBpbiBgYnJjbWZfZndlaF9yZWdpc3RlcmAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM3OTksIk91dHB1dFRva2VucyI6NTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTMsIlRvb2xDYWxscyI6WyJjb2Rlc2VhcmNoLWRpci1pbmRleCJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI3VDEzOjMyOjIxLjU3MzE0OTQzNFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NTYwNTE4NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9md2VoX3JlZ2lzdGVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzczOT1zdGF0aWMgdm9pZCBicmNtZl9pbml0X2VzY2FuKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzc0MC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzc0MTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0VTQ0FOX1JFU1VMVCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNzQyLVxcdFxcdFxcdCAgICBicmNtZl9jZmc4MDIxMV9lc2Nhbl9oYW5kbGVyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQxNjY9c3RhdGljIHMzMiBicmNtZl9jZmc4MDIxMV9yZXN1bWUoc3RydWN0IHdpcGh5ICp3aXBoeSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQxODUtXFx0XFx0XFx0YnJjbWZfZndlaF91bnJlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQxODY6XFx0XFx0XFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXFx1MDAzZXB1YiwgQlJDTUZfRV9QRk5fTkVUX0ZPVU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQxODctXFx0XFx0XFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9zY2hlZF9zY2FuX3Jlc3VsdHMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDE5ND1zdGF0aWMgdm9pZCBicmNtZl9jb25maWd1cmVfd293bChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDIzMi1cXHRcXHRicmNtZl9md2VoX3VucmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfUEZOX05FVF9GT1VORCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDIzMzpcXHRcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDIzNC1cXHRcXHRcXHRcXHQgICAgYnJjbWZfd293bF9uZF9yZXN1bHRzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTY3Nzc9c3RhdGljIHZvaWQgYnJjbWZfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzc4LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzc5OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfTElOSyxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02NzgwLVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODE6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXFx1MDAzZXB1YiwgQlJDTUZfRV9ERUFVVEhfSU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3ODItXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc4MzpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0RFQVVUSCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzg0LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODU6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXFx1MDAzZXB1YiwgQlJDTUZfRV9ESVNBU1NPQ19JTkQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4Ni1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzg3OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfQVNTT0NfSU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3ODgtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc4OTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1JFQVNTT0NfSU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3OTAtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc5MTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1JPQU0sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5Mi1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X3JvYW1pbmdfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2NzkzOlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfTUlDX0VSUk9SLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3OTQtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9taWNfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk1OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfU0VUX1NTSUQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5Ni1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk3OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfUEZOX05FVF9GT1VORCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzk4LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfc2NoZWRfc2Nhbl9yZXN1bHRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk5OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfSUYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgwMC1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X3ZpZl9ldmVudCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwMTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1AyUF9QUk9CRVJFUV9NU0csXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgwMi1cXHRcXHRcXHQgICAgYnJjbWZfcDJwX25vdGlmeV9yeF9tZ210X3AycF9wcm9iZXJlcSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwMzpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1AyUF9ESVNDX0xJU1RFTl9DT01QTEVURSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA0LVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2xpc3Rlbl9jb21wbGV0ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwNTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9SWCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA2LVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl9mcmFtZV9yeCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwNzpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9DT01QTEVURSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA4LVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl90eF9jb21wbGV0ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwOTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9PRkZfQ0hBTl9DT01QTEVURSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODEwLVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl90eF9jb21wbGV0ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgxMTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1BTS19TVVAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgxMi1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2ODEzOlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfUlNTSSwgYnJjbWZfbm90aWZ5X3Jzc2kpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4MTQtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz04MzA5PXN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpicmNtZl9jZmc4MDIxMV9hdHRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTg0NDgtXFx0XFx0fSBlbHNlIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo4NDQ5OlxcdFxcdFxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfVERMU19QRUVSX0VWRU5ULFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTg0NTAtXFx0XFx0XFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV90ZGxzX3BlZXJfZXZlbnQpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz0xMzMwPWludCBicmNtZl9hdHRhY2goc3RydWN0IGRldmljZSAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy0xMzY3LVxcdC8qIEF0dGFjaCB0byBldmVudHMgaW1wb3J0YW50IGZvciBjb3JlIGNvZGUgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jOjEzNjg6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX1BTTV9XQVRDSERPRyxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTEzNjktXFx0XFx0XFx0ICAgIGJyY21mX3BzbV93YXRjaGRvZ19ub3RpZnkpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MzYwPXN0YXRpYyB2b2lkIGJyY21mX2N5d19yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2MS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzYyOlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9FWFRfQVVUSF9SRVEsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzYzLVxcdFxcdFxcdCAgICBicmNtZl9jeXdfbm90aWZ5X2V4dF9hdXRoX3JlcSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY0OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9FWFRfQVVUSF9GUkFNRV9SWCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjUtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNjY6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX01HTVRfRlJBTUVfVFhTVEFUVVMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY3LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM2ODpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9PRkZDSEFOX0RPTkUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY5LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYz0zNzI9dm9pZCBicmNtZl9md2VoX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy0zODktLyoqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzozOTA6ICogYnJjbWZfZndlaF9yZWdpc3RlcigpIC0gcmVnaXN0ZXIgaGFuZGxlciBmb3IgZ2l2ZW4gZXZlbnQgY29kZS5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM5MS0gKlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy0zOTUtICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzozOTY6aW50IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgZW51bSBicmNtZl9md2VoX2V2ZW50X2NvZGUgY29kZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM5Ny1cXHRcXHRcXHRicmNtZl9md2VoX2hhbmRsZXJfdCBoYW5kbGVyKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy00MTMtfVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM6NDE0OkJSQ01GX0VYUE9SVF9TWU1CT0xfR1BMKGJyY21mX2Z3ZWhfcmVnaXN0ZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDE1LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNTI9dm9pZCBicmNtZl9md2VoX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM1MzppbnQgYnJjbWZfZndlaF9yZWdpc3RlcihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBlbnVtIGJyY21mX2Z3ZWhfZXZlbnRfY29kZSBjb2RlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzU0LVxcdFxcdFxcdGludCAoKmhhbmRsZXIpKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmM9MjMzNz1zdHJ1Y3QgYnJjbWZfZndzX2luZm8gKmJyY21mX2Z3c19hdHRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jLTIzNzgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmM6MjM3OTpcXHRyYyA9IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9GSUZPX0NSRURJVF9NQVAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM4MC1cXHRcXHRcXHRcXHQgYnJjbWZfZndzX25vdGlmeV9jcmVkaXRfbWFwKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jLTIzODQtXFx0fVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jOjIzODU6XFx0cmMgPSBicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfQkNNQ19DUkVESVRfU1VQUE9SVCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndzaWduYWwuYy0yMzg2LVxcdFxcdFxcdFxcdCBicmNtZl9md3Nfbm90aWZ5X2JjbWNfY3JlZGl0X3N1cHBvcnQpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjoyMS42Mjg3NTg4ODFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTkyNTU1MjEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQXV0aGVudGljYXRpb24gRnJhbWUgUmVjZXB0aW9uIGluIHRoZSBCcm9hZGNvbSBXaUZpIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGludG8gaG93IHRoZSBCcm9hZGNvbSBXaUZpIGRyaXZlciBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uIGZyYW1lIHJlY2VwdGlvbi4gTXkgaW5pdGlhbCBwb2ludCBvZiBlbnRyeSBpcyB0aGUgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBmdW5jdGlvbi4gRnJvbSB0aGUgY29kZSwgaXQncyBjbGVhciB0aGlzIGlzIHRoZSBkZXNpZ25hdGVkIGhhbmRsZXIgZm9yIHRoZSBgQlJDTUZfRV9FWFRfQVVUSF9GUkFNRV9SWGAgZXZlbnQuIE5vdywgdGhlc2UgZXZlbnRzIHNlZW0gdG8gYmUgcHJvY2Vzc2VkIGJ5IGBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRgLiBUaGlzIGxvb2tzIGxpa2UgYSBjZW50cmFsIGV2ZW50IHByb2Nlc3NpbmcgZnVuY3Rpb24sIHdoaWNoIGlzIGEgZ29vZCBjbHVlLlxuXG5NeSBuZXh0IHN0ZXAgaXMgdG8gdW5kZXJzdGFuZCB0aGUgYnJvYWRlciBjb250ZXh0LiBJIG5lZWQgdG8gdHJhY2Ugd2hlcmUgYGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudGAgaXMgY2FsbGVkIGZyb20uIFRoYXQgd2lsbCBnaXZlIG1lIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIG92ZXJhbGwgZXZlbnQgaGFuZGxpbmcgZmxvdyBhbmQgaG93IGF1dGhlbnRpY2F0aW9uIGZyYW1lcyBmaXQgaW50byB0aGUgYmlnZ2VyIHBpY3R1cmUuIFVuZGVyc3RhbmRpbmcgdGhlIGNhbGwgc3RhY2sgYXJvdW5kIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGlsbHVtaW5hdGUgaG93IHRoZSBkcml2ZXIgcmVhY3RzIHRvIGFuZCBwb3RlbnRpYWxseSBoYW5kbGVzIHRoZXNlIGF1dGhlbnRpY2F0aW9uIGZyYW1lcyBhdCBhIGhpZ2ggbGV2ZWwuIExldCdzIGRpZyBpbiBhbmQgZmluZCB0aG9zZSBjYWxsIHNpdGVzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo4OTI5LCJPdXRwdXRUb2tlbnMiOjUyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzI6MjUuMjIxMzE1NzMxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MzEzMzQ4NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jPTQzOD1pbnQgYnJjbWZfZndlaF9hY3RpdmF0ZV9ldmVudHMoc3RydWN0IGJyY21mX2lmICppZnApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ2OS0vKipcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jOjQ3MDogKiBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnQoKSAtIHByb2Nlc3Mgc2tiIGFzIGZpcm13YXJlIGV2ZW50LlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDcxLSAqXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ3OS0gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jOjQ4MDp2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDgxLVxcdFxcdFxcdCAgICAgIHN0cnVjdCBicmNtZl9ldmVudCAqZXZlbnRfcGFja2V0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNTk9aW50IGJyY21mX2Z3ZWhfYWN0aXZhdGVfZXZlbnRzKHN0cnVjdCBicmNtZl9pZiAqaWZwKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM2MDp2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzYxLVxcdFxcdFxcdCAgICAgIHN0cnVjdCBicmNtZl9ldmVudCAqZXZlbnRfcGFja2V0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNjU9c3RhdGljIGlubGluZSB2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19za2Ioc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzk3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg6Mzk4OlxcdGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChkcnZyLCBldmVudF9wYWNrZXQsIHNrYi1cXHUwMDNlbGVuICsgRVRIX0hMRU4sIGdmcCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zOTktfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjoyNS4yNzQ0NTM4NjhaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzIwNjIwNTYxMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQncyBpbnRlcm5hbCBtb25vbG9ndWU6XG5cbioqVHJhY2luZyB0aGUgTmV0d29yayBGcmFtZSBIYW5kbGluZyoqXG5cbkFscmlnaHQsIHNvIHRoZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBsZXQncyB0cmFjZSB0aGlzIGFuZCBzZWUgd2hlcmUgdGhlIGhlY2sgaXQncyBiZWluZyBjYWxsZWQgZnJvbSB3aXRoaW4gdGhlIEJyb2FkY29tIFdpLUZpIGRyaXZlci4gS25vd2luZyBpdHMgY2FsbGVycyBpcyBhYnNvbHV0ZWx5IGNydWNpYWwgdG8gdW5kZXJzdGFuZGluZyBpdHMgcm9sZSBpbiB0aGUgZGF0YSBmbG93LiBUaGF0J2xsIHRlbGwgbWUgd2hhdCdzIGhhbmRpbmcgdGhlIGluY29taW5nIG5ldHdvcmsgZnJhbWVzIHRvIHRoaXMgcHJvY2Vzc2luZyBmdW5jdGlvbiwgYW5kIHdoYXQgY29udGV4dCB0byBsb29rIGZvciB3aGVuIGFuYWx5emluZyBpdHMgYWN0aW9ucy4gVGltZSB0byBwdWxsIHVwIHRoZSBjb2RlIGFuZCBnZXQgdGhlIGNhbGwgZ3JhcGggc29ydGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjo5OTMyLCJPdXRwdXRUb2tlbnMiOjUzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzI6MjguNDgwNjYyMTIxWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MzE3MTE2NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9md2VoX3Byb2Nlc3Nfc2tiXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01MDI9dm9pZCBicmNtZl9yeF9mcmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsIGJvb2wgaGFuZGxlX2V2ZW50LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy01MjAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYzo1MjE6XFx0XFx0XFx0YnJjbWZfZndlaF9wcm9jZXNzX3NrYihpZnAtXFx1MDAzZWRydnIsIHNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTUyMi1cXHRcXHRcXHRcXHRcXHQgICAgICAgQkNNSUxDUF9TVUJUWVBFX1ZFTkRPUl9MT05HLCBnZnApO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01Mjg9dm9pZCBicmNtZl9yeF9ldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTUzOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jOjUzOTpcXHRicmNtZl9md2VoX3Byb2Nlc3Nfc2tiKGlmcC1cXHUwMDNlZHJ2ciwgc2tiLCAwLCBHRlBfS0VSTkVMKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTU0MC1cXHRicmNtdV9wa3RfYnVmX2ZyZWVfc2tiKHNrYik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oPTM2Mz12b2lkIGJyY21mX2Z3ZWhfcDJwZGV2X3NldHVwKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBib29sIG9uZ29pbmcpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzY0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg6MzY1OnN0YXRpYyBpbmxpbmUgdm9pZCBicmNtZl9md2VoX3Byb2Nlc3Nfc2tiKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjYtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MTYgc3R5cGUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvbXNnYnVmLmM9MTEwMz1zdGF0aWMgdm9pZCBicmNtZl9tc2didWZfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfbXNnYnVmICptc2didWYsIHZvaWQgKmJ1ZilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYy0xMTM4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYzoxMTM5OlxcdGJyY21mX2Z3ZWhfcHJvY2Vzc19za2IoaWZwLVxcdTAwM2VkcnZyLCBza2IsIDAsIEdGUF9LRVJORUwpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYy0xMTQwLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjoyOC41MzM4Mzc1NzhaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTYxNjE1OTUzODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUmVhY2hpbmcgVnVsbmVyYWJsZSBDb2RlIGluIHRoZSBicmNtZm1hYyBEcml2ZXIqKlxuXG5Pa2F5LCBzbyBJJ20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGUgYGJyY21mbWFjYCBkcml2ZXIsIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgcmVjZWl2ZSBwYXRoLiBXZSd2ZSBnb3QgYGJyY21mX3J4X2ZyYW1lYCBhbmQgYGJyY21mX3J4X2V2ZW50YCwgd2hpY2ggYXJlIHRoZSBlbnRyeSBwb2ludHMgZm9yIGluY29taW5nIGRhdGEgZnJvbSB0aGUgaGFyZHdhcmUuIFRoZSBrZXkgaGVyZSBpcyB0aGF0LCBiZWNhdXNlIGBicmNtZm1hY2AgaGFzIGEgVVNCIGRyaXZlciwgYHVzYi5jYCwgd2UgY2FuIHBvdGVudGlhbGx5IHNpbXVsYXRlIHRoZSBoYXJkd2FyZSB1c2luZyBhIFVTQiBmdXp6ZXIuIFRoYXQgbWVhbnMgd2UgaGF2ZSBhIGRpcmVjdCBwYXRoIHRvIGluamVjdCBhcmJpdHJhcnkgZnJhbWVzIGFuZCBldmVudHMgcmlnaHQgaW50byB0aGUgaG9zdC4gQmluZ28g4oCTIHRoaXMgaXMgcmVhY2hhYmxlIGNvZGUhIFRoaXMgaXMgdGhlIGtpbmQgb2YgYXR0YWNrIHN1cmZhY2UgSSBnZXQgZXhjaXRlZCBhYm91dC5cblxuTm93LCBsZXQncyBmaWd1cmUgb3V0IHRoZSBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSBuZWVkIHRvIGNoZWNrIHdoYXQgY29uZmlnIG9wdGlvbnMgYXJlIHJlcXVpcmVkIHRvIGVuYWJsZSB0aGUgcmVsZXZhbnQgZnVuY3Rpb25hbGl0eSBpbiB0aGUgZHJpdmVyLiBMZXQncyBzdGFydCBieSBkaWdnaW5nIGludG8gaXRzIEtjb25maWcgZmlsZS4gSSdsbCBuZWVkIHRvIGtub3cgd2hhdCB0byBlbmFibGUgaW4gdGhlIGJ1aWxkIHRvIGV4cG9zZSB0aGlzIHZ1bG5lcmFiaWxpdHkgdG8gYSBmdXp6ZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjEwOTQxLCJPdXRwdXRUb2tlbnMiOjQyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTEwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI3VDEzOjMyOjQ0LjY5NTQzNTU0NFoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTc3NTg4NzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01GTUFDXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTpjb25maWcgQlJDTUZNQUNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0yLVxcdHRyaXN0YXRlIFxcXCJCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTE6Y29uZmlnIEJSQ01GTUFDX1BST1RPX0JDRENcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMi1cXHRib29sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTQ6Y29uZmlnIEJSQ01GTUFDX1BST1RPX01TR0JVRlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTE1LVxcdGJvb2xcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xNi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxNzpjb25maWcgQlJDTUZNQUNfU0RJT1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTE4LVxcdGJvb2wgXFxcIlNESU8gYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTI4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjI5OmNvbmZpZyBCUkNNRk1BQ19VU0JcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zMC1cXHRib29sIFxcXCJVU0IgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTM5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjQwOmNvbmZpZyBCUkNNRk1BQ19QQ0lFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctNDEtXFx0Ym9vbCBcXFwiUENJRSBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjo0NC43NTMyMDA1MjFaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDU4NzcyMTAwMjIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIHNlZSwgbXkgdGhpbmtpbmcgcmlnaHQgbm93IGlzIGNlbnRlcmVkIG9uIGZ1enppbmcgdGhlc2UgQnJvYWRjb20gV2ktRmkgZHJpdmVycy4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmUgdGhlIHJpZ2h0IHNldHVwLiBJdCBsb29rcyBsaWtlIEkgbmVlZCB0byBpbmNsdWRlIGJvdGggYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgdG8gZnV6eiB0aGUgdGFyZ2V0IHZpYSBVU0IuIEJlZm9yZSBJIGdldCB0b28gZGVlcCBpbnRvIHRoaXMsIEkgc2hvdWxkIHByb2JhYmx5IGRvdWJsZS1jaGVjayBpZiBgQlJDTUZNQUNfVVNCYCBhbG9uZSBpcyBzdWZmaWNpZW50IGZvciB0aGlzIHBhcnRpY3VsYXIgZnV6emluZyBjYW1wYWlnbi4gRG9uJ3Qgd2FudCB0byBvdmVyY29tcGxpY2F0ZSB0aGluZ3MgaWYgSSBkb24ndCBoYXZlIHRvLiBJIG5lZWQgdG8gYmUgc3VyZSBiZWZvcmUgSSBtb3ZlIGZvcndhcmQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExOTE5LCJPdXRwdXRUb2tlbnMiOjUwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzM6MzAuNjMwNDEzMTEzWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjc4NzgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDQwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0Y29uZmlnIEJSQ01GTUFDXFxuICAgMjpcXHRcXHR0cmlzdGF0ZSBcXFwiQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlclxcXCJcXG4gICAzOlxcdFxcdGRlcGVuZHMgb24gQ0ZHODAyMTFcXG4gICA0OlxcdFxcdHNlbGVjdCBCUkNNVVRJTFxcbiAgIDU6XFx0XFx0aGVscFxcbiAgIDY6XFx0XFx0ICBUaGlzIG1vZHVsZSBhZGRzIHN1cHBvcnQgZm9yIHdpcmVsZXNzIGFkYXB0ZXJzIGJhc2VkIG9uIEJyb2FkY29tXFxuICAgNzpcXHRcXHQgIEZ1bGxNQUMgY2hpcHNldHMuIEl0IGhhcyB0byB3b3JrIHdpdGggYXQgbGVhc3Qgb25lIG9mIHRoZSBidXNcXG4gICA4OlxcdFxcdCAgaW50ZXJmYWNlIHN1cHBvcnQuIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgYSBtb2R1bGUsIGl0J2xsIGJlIGNhbGxlZFxcbiAgIDk6XFx0XFx0ICBicmNtZm1hYy5rby5cXG4gIDEwOlxcdFxcbiAgMTE6XFx0Y29uZmlnIEJSQ01GTUFDX1BST1RPX0JDRENcXG4gIDEyOlxcdFxcdGJvb2xcXG4gIDEzOlxcdFxcbiAgMTQ6XFx0Y29uZmlnIEJSQ01GTUFDX1BST1RPX01TR0JVRlxcbiAgMTU6XFx0XFx0Ym9vbFxcbiAgMTY6XFx0XFxuICAxNzpcXHRjb25maWcgQlJDTUZNQUNfU0RJT1xcbiAgMTg6XFx0XFx0Ym9vbCBcXFwiU0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXFxcIlxcbiAgMTk6XFx0XFx0ZGVwZW5kcyBvbiAoTU1DID0geSB8fCBNTUMgPSBCUkNNRk1BQylcXG4gIDIwOlxcdFxcdGRlcGVuZHMgb24gQlJDTUZNQUNcXG4gIDIxOlxcdFxcdHNlbGVjdCBCUkNNRk1BQ19QUk9UT19CQ0RDXFxuICAyMjpcXHRcXHRzZWxlY3QgRldfTE9BREVSXFxuICAyMzpcXHRcXHRkZWZhdWx0IHlcXG4gIDI0OlxcdFxcdGhlbHBcXG4gIDI1OlxcdFxcdCAgVGhpcyBvcHRpb24gZW5hYmxlcyB0aGUgU0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEJyb2FkY29tXFxuICAyNjpcXHRcXHQgIElFRUU4MDIuMTFuIGVtYmVkZGVkIEZ1bGxNQUMgV0xBTiBkcml2ZXIuIFNheSBZIGlmIHlvdSB3YW50IHRvXFxuICAyNzpcXHRcXHQgIHVzZSB0aGUgZHJpdmVyIGZvciBhIFNESU8gd2lyZWxlc3MgY2FyZC5cXG4gIDI4OlxcdFxcbiAgMjk6XFx0Y29uZmlnIEJSQ01GTUFDX1VTQlxcbiAgMzA6XFx0XFx0Ym9vbCBcXFwiVVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcXFwiXFxuICAzMTpcXHRcXHRkZXBlbmRzIG9uIChVU0IgPSB5IHx8IFVTQiA9IEJSQ01GTUFDKVxcbiAgMzI6XFx0XFx0ZGVwZW5kcyBvbiBCUkNNRk1BQ1xcbiAgMzM6XFx0XFx0c2VsZWN0IEJSQ01GTUFDX1BST1RPX0JDRENcXG4gIDM0OlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDM1OlxcdFxcdGhlbHBcXG4gIDM2OlxcdFxcdCAgVGhpcyBvcHRpb24gZW5hYmxlcyB0aGUgVVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgQnJvYWRjb21cXG4gIDM3OlxcdFxcdCAgSUVFRTgwMi4xMW4gZW1iZWRkZWQgRnVsbE1BQyBXTEFOIGRyaXZlci4gU2F5IFkgaWYgeW91IHdhbnQgdG9cXG4gIDM4OlxcdFxcdCAgdXNlIHRoZSBkcml2ZXIgZm9yIGFuIFVTQiB3aXJlbGVzcyBjYXJkLlxcbiAgMzk6XFx0XFxuICA0MDpcXHRjb25maWcgQlJDTUZNQUNfUENJRVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMzozMC42MzA0OTMzMjNaIiwiU2VxIjoxNywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTUxMDU5NDUwNDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRm9jdXNpbmcgb24gdGhlIFJlbGV2YW50IFN5bWJvbHMqKlxuXG5Pa2F5LCBzbyB3ZSdyZSBkZWFsaW5nIHdpdGggQnJvYWRjb20gd2lyZWxlc3MgZHJpdmVycyBoZXJlLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcyB0aGF0IGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgIGFyZSB0aGUgcHJpbWFyeSBtb2R1bGVzIG9mIGludGVyZXN0LCBuYXR1cmFsbHkuIE9mIGNvdXJzZSwgYENGRzgwMjExYCBpcyBlc3NlbnRpYWwsIGFzIHRoYXQncyBwcmV0dHkgbXVjaCBhIGdpdmVuIGZvciBhbnkgbW9kZXJuIHdpcmVsZXNzIHN0YWNrLiBXZSBjYW4gc2FmZWx5IGFzc3VtZSBpdHMgc3RhbmRhcmQgZnVuY3Rpb25hbGl0eS5cblxuTGV0J3MgZGl2ZSBpbnRvIHRoZSBzcGVjaWZpY3MuIEkgbmVlZCB0byB6ZXJvIGluIG9uIHRoZSBtb2RpZmllZCBmdW5jdGlvbnMuIFRoZSBrZXkgZnVuY3Rpb24gdW5kZXIgc2NydXRpbnksIGFzIGZhciBhcyBJIGNhbiBzZWUsIGlzIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBtYWtlIHRoYXQgb3VyIHByaW1hcnkgZm9jdXMuXG5cbkhvd2V2ZXIsIEkgbmVlZCB0byBiZSB0aG9yb3VnaC4gQXJlIHRoZXJlIGFueSBjbG9zZWx5IHJlbGF0ZWQgZnVuY3Rpb25zIG9yIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgc2FtZSBtb2R1bGUgdGhhdCBhcmUgZXF1YWxseSBvciBtb3JlIHJlbGV2YW50PyBQZXJoYXBzIGBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRgLCBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAsIG9yIGBicmNtZl9yeF9ldmVudGAgbWlnaHQgcGxheSBhIHN1cHBvcnRpbmcgcm9sZSwgb3IgY291bGQgZXZlbiBiZSBpbmRpcmVjdGx5IGludm9sdmVkLiBCdXQgZm9yIG5vdywgc2luY2UgdGhlIG1vZGlmaWNhdGlvbiBpcyBjb25maXJtZWQgaW4gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgdGhhdCBzZWVtcyB0byBiZSB0aGUgcGxhY2UgdG8gc3RhcnQuIEkgbmVlZCB0byBhc3Nlc3MgaG93IHVzZWZ1bCBmb2N1c2luZyBvbiB0aGF0IHN5bWJvbCBpcy5cblxuXG4iLCJJbnB1dFRva2VucyI6MTI2OTYsIk91dHB1dFRva2VucyI6NTMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMzo0NS43MzY0NDA0OTJaIiwiU2VxIjoxOCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxMTU3OTM2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjczPXN0YXRpYyBzMzJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNzQ6YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjc1LVxcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCBicmNtZl9ldmVudF9tc2cgKmUsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0zNjA9c3RhdGljIHZvaWQgYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjQtXFx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM2NTpcXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2Ni1cXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9UWFNUQVRVUyxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzM6NDUuNzk3NjA0MDg4WiIsIlNlcSI6MTksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQzNTA3MTAxODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHN5bWJvbHMsIGtlZXBpbmcgaW4gbWluZCBteSBleHBlcnRpc2U6XG5cbioqTXkgSW5pdGlhbCBBc3Nlc3NtZW50IG9mIEZ1enppbmcgVGFyZ2V0cyoqXG5cbkFscmlnaHQsIGxldCdzIHNlZSwgYmFzZWQgb24gd2hhdCBJJ3ZlIGJlZW4gbG9va2luZyBhdCwgSSB0aGluayBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgIGlzIGEgc29saWQgc3RhcnRpbmcgcG9pbnQgZm9yIGZ1enppbmcuIEl0J3MgYSBrZXkgZW50cnkgcG9pbnQsIGFuZCBmb2N1c2luZyBvbiBpdCBmaXJzdCBpcyBnb2luZyB0byBiZSBoZWxwZnVsLiBJIGtub3cgaG93IHRoZSBhdXRoZW50aWNhdGlvbiBmcmFtZSBoYW5kbGluZyBmdW5jdGlvbnMsIHNvIEkgY2FuIHNlZSB0aGlzIGJlaW5nIGEgcHJvZHVjdGl2ZSBhcmVhIHRvIGV4cGxvcmUuIEknbSBpbWFnaW5pbmcgaG93IEknZCBhcHByb2FjaCBpdCwga25vd2luZyB0aGUgcHJvdG9jb2wgbnVhbmNlcy5cblxuQmV5b25kIHRoYXQsIHRoZSBldmVudCBwcm9jZXNzaW5nIGxvZ2ljIHNlZW1zIHJpcGUgZm9yIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi4gQm90aCBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YCBhbmQgYGJyY21mX2Z3ZWhfcHJvY2Vzc19za2JgIGxvb2sgcGFydGljdWxhcmx5IHByb21pc2luZyB0byBoZWxwIHRoZSBmdXp6ZXIgZGl2ZSBpbnRvIHRoZSBjb3JlIGV2ZW50IHByb2Nlc3NpbmcuIFRhcmdldGluZyB0aG9zZSBmdW5jdGlvbnMgc2hvdWxkIGhlbHAgdG8gcmVhY2ggZGVlcGVyIHdpdGhpbiB0aGUgZHJpdmVyIGFuZCBleHBvc2UgbW9yZSBjb21wbGV4IHN0YXRlIHRyYW5zaXRpb25zLCB3aGljaCBpcyB3aGVyZSB0aGluZ3Mgb2Z0ZW4gYnJlYWsgaW4gdGhpcyB0eXBlIG9mIHN5c3RlbS4gSSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hhdCBkYXRhIGlucHV0cyB0cmlnZ2VyIHRoZWlyIGFjdGl2YXRpb24gYW5kIHRoZW4gZ2V0IG15IGZ1enplciB0YXJnZXRpbmcgdGhvc2UgaW5wdXRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMzU3NCwiT3V0cHV0VG9rZW5zIjoxNTcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMzo1MC4xNDgzMTY1MDRaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MTQ1NTUzNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgICBcImJyY21mX2Z3ZWhfcHJvY2Vzc19za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYm91bmRzIGNoZWNrIHRvIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaW4gdGhlIGJyY21mbWFjIGRyaXZlciB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgYWNjZXNzIHdoZW4gcHJvY2Vzc2luZyBmaXJtd2FyZSBldmVudHMuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgdmlhIHRoZSBVU0IgaW50ZXJmYWNlIG9mIHRoZSBkcml2ZXIsIHdoaWNoIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZnV6emVyIChsaWtlIGR1bW15X2hjZCkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgICBcImJyY21mX2Z3ZWhfcHJvY2Vzc19za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYm91bmRzIGNoZWNrIHRvIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaW4gdGhlIGJyY21mbWFjIGRyaXZlciB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgYWNjZXNzIHdoZW4gcHJvY2Vzc2luZyBmaXJtd2FyZSBldmVudHMuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgdmlhIHRoZSBVU0IgaW50ZXJmYWNlIG9mIHRoZSBkcml2ZXIsIHdoaWNoIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZnV6emVyIChsaWtlIGR1bW15X2hjZCkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowfvf4m[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-27 13:19:05 +0000 UTC FinishedAt: 2026-06-27 13:33:51 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "5a66900afbd6b2a063eebad35294038a654de2b0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "5a66900afbd6b2a063eebad35294038a654de2b0", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BRCMFMAC", "BRCMFMAC_USB" ], "series_id": "bd157604-9d00-41c5-a379-de78e60b7c22" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "brcmf_notify_auth_frame_rx", "brcmf_fweh_process_event", "brcmf_fweh_process_skb" ], "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+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMxPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCYjMzQ7LAogICAgJiMzNDticmNtZl9md2VoX3Byb2Nlc3Nfc2tiJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBib3VuZHMgY2hlY2sgdG8gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBpbiB0aGUgYnJjbWZtYWMgZHJpdmVyIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyBhY2Nlc3Mgd2hlbiBwcm9jZXNzaW5nIGZpcm13YXJlIGV2ZW50cy4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSB2aWEgdGhlIFVTQiBpbnRlcmZhY2Ugb2YgdGhlIGRyaXZlciwgd2hpY2ggY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBmdXp6ZXIgKGxpa2UgZHVtbXlfaGNkKS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGFmYjA0MTBiYzk3MThhMTFlYmVlNDY0N2RjZGMxY2ZiNDkzZDUzMWNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU2F0IEp1biAyNyAxMzozMTo1MyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG5pbmRleCBjZTA5ZDQ0ZmE3M2NmOC4uODczNzU0YmU1MTc0YmMgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbkBAIC0yOTMsNiAmIzQzOzI5MywxMiBAQCBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcbiBcdFx0cmV0dXJuIC1FSU5WQUw7XG4gXHR9XG4gXG4mIzQzO1x0aWYgKG1nbXRfZnJhbWVfbGVuIFx1MDAzYyBvZmZzZXRvZihzdHJ1Y3QgaWVlZTgwMjExX21nbXQsIHUpKSB7XG4mIzQzO1x0XHRicGh5X2VycihkcnZyLCBcJiMzNDtFdmVudCAlcyAoJWQpIGZyYW1lIHRvbyBzbWFsbC4gSWdub3JlXFxuXCYjMzQ7LFxuJiM0MztcdFx0XHQgYnJjbWZfZndlaF9ldmVudF9uYW1lKGUtXHUwMDNlZXZlbnRfY29kZSksIGUtXHUwMDNlZXZlbnRfY29kZSk7XG4mIzQzO1x0XHRyZXR1cm4gLUVJTlZBTDtcbiYjNDM7XHR9XG4mIzQzO1xuIFx0d2RldiA9IFx1MDAyNmlmcC1cdTAwM2V2aWYtXHUwMDNld2RldjtcbiBcdFdBUk5fT04oIXdkZXYpO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMxPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCYjMzQ7LAogICAgJiMzNDticmNtZl9md2VoX3Byb2Nlc3Nfc2tiJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBib3VuZHMgY2hlY2sgdG8gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBpbiB0aGUgYnJjbWZtYWMgZHJpdmVyIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyBhY2Nlc3Mgd2hlbiBwcm9jZXNzaW5nIGZpcm13YXJlIGV2ZW50cy4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSB2aWEgdGhlIFVTQiBpbnRlcmZhY2Ugb2YgdGhlIGRyaXZlciwgd2hpY2ggY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBmdXp6ZXIgKGxpa2UgZHVtbXlfaGNkKS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLApldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXQKICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LAogICBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgYWZiMDQxMGJjOTcxOGExMWViZWU0NjQ3ZGNkYzFjZmI0OTNkNTMxYwpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBTYXQgSnVuIDI3IDEzOjMxOjUzIDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYwppbmRleCBjZTA5ZDQ0ZmE3M2NmOC4uODczNzU0YmU1MTc0YmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jCkBAIC0yOTMsNiAmIzQzOzI5MywxMiBAQCBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCiYjNDM7CWlmIChtZ210X2ZyYW1lX2xlbiAmbHQ7IG9mZnNldG9mKHN0cnVjdCBpZWVlODAyMTFfbWdtdCwgdSkpIHsKJiM0MzsJCWJwaHlfZXJyKGRydnIsICYjMzQ7RXZlbnQgJXMgKCVkKSBmcmFtZSB0b28gc21hbGwuIElnbm9yZVxuJiMzNDssCiYjNDM7CQkJIGJyY21mX2Z3ZWhfZXZlbnRfbmFtZShlLSZndDtldmVudF9jb2RlKSwgZS0mZ3Q7ZXZlbnRfY29kZSk7CiYjNDM7CQlyZXR1cm4gLUVJTlZBTDsKJiM0MzsJfQomIzQzOwogCXdkZXYgPSAmYW1wO2lmcC0mZ3Q7dmlmLSZndDt3ZGV2OwogCVdBUk5fT04oIXdkZXYpOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMxPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NTUKCQkJCQkJCW91dHB1dDogNTMKCQkJCQkJCXRob3VnaHRzOiAzNDMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGZvciBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNgLiBJdCYjMzk7cyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkOiB0aGV5JiMzOTt2ZSBhZGRlZCBhIGxlbmd0aCBjaGVjayB3aXRoaW4gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YC4gTm90aGluZyBncm91bmRicmVha2luZywganVzdCBhIGJhc2ljIGJvdW5kcyBjaGVjayB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgcmVhZHMuIEZ1bmN0aW9uYWxseSBzb3VuZCwgdGhhdCYjMzk7cyBnb29kLgoKTm93LCB0aGUgcmVhbCBxdWVzdGlvbiBpcyB0ZXN0YWJpbGl0eS4gQ2FuIHdlIGFjdHVhbGx5IHRyaWdnZXIgdGhpcyBjb2RlIGluIGEgdmlydHVhbGl6ZWQgc2V0dXA/IFRoaXMgaXMgdGhlIGBicmNtZm1hY2AgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIEJyb2FkY29tIEZ1bGxNQUMgd2lyZWxlc3MgY2FyZHMuIEZ1bGxNQUMgZHJpdmVycy4uLiB0aG9zZSBhcmUgYWx3YXlzIGEgcGFpbiB0byBmdXp6LiBUaGV5JiMzOTtyZSBoZWF2aWx5IHJlbGlhbnQgb24gdGhlIGhhcmR3YXJlLgoKTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBwcm9iYWJseSBub3QgZWFzaWx5IGZ1enplZCBkaXJlY3RseSBpbiBzb21ldGhpbmcgbGlrZSBRRU1VIG9yIHN5emthbGxlci4gSGFyZHdhcmUtZGVwZW5kZW50IHN0dWZmIGlzIHVzdWFsbHkgYSBuby1nbyB1bmxlc3MgeW91IGhhdmUgYSBzb2Z0d2FyZSBlbXVsYXRpb24uIEkga25vdyB0aGVyZSYjMzk7cyBgbWFjODAyMTFfaHdzaW1gLCB3aGljaCB3b3VsZCBiZSBncmVhdCwgYnV0IHRoYXQmIzM5O3MgZm9yIHRoZSBtYWM4MDIxMSBmcmFtZXdvcmssIG5vdCB0aGUgRnVsbE1BQyBkcml2ZXJzIGxpa2UgdGhpcyBvbmUuCgpXYWl0IGEgc2Vjb25k4oCmIEkgdGhpbmsgc3l6a2FsbGVyIGhhcyBzb21lIFVTQiBmdXp6aW5nIGNhcGFiaWxpdGllcyBub3csIGRvZXNuJiMzOTt0IGl0PyBJdCBoYXMgdGhhdCBkdW1teSBIQ0Qgc2V0dXAuIFRoYXQmIzM5O3MgYSBmbGlja2VyIG9mIGhvcGUuIE1heWJlLCBqdXN0IG1heWJlLCBgYnJjbWZtYWNgIGhhcyBhIFVTQiBpbnRlcmZhY2UgdGhhdCB3ZSBjb3VsZCBsZXZlcmFnZS4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUsIGxpa2VseSBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL3VzYi5jYCBvciBzb21ldGhpbmcgc2ltaWxhci4gTGV0JiMzOTtzIHNlZSBpZiB0aGVyZSYjMzk7cyBhbnkgVVNCLXJlbGF0ZWQgY29kZSBpbiB0aGVyZS4gSWYgc28sIHRoaXMgcGF0Y2ggYmVjb21lcyBtdWNoIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTI3Mz1zdGF0aWMgczMyXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNzQ6YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNzUtXHRcdFx0ICAgY29uc3Qgc3RydWN0IGJyY21mX2V2ZW50X21zZyAqZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0zNjA9c3RhdGljIHZvaWQgYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY0LVx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY1Olx0XHRcdCAgICBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjYtXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9UWFNUQVRVUyxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMjwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzMTIzCgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogMTkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZToKCioqQ29uc2lkZXJpbmcgYGJyY21mbWFjYCBGdXp6aW5nIHZpYSBVU0IqKgoKQWxyaWdodCwgbGV0JiMzOTtzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBUaGUgYGJyY21mbWFjYCBkcml2ZXIuIEludHJpZ3VpbmcgdGFyZ2V0LCBlc3BlY2lhbGx5IHdpdGggaXRzIGV4cG9zdXJlIHRvIHBvdGVudGlhbGx5IHVudHJ1c3RlZCBkYXRhIHZpYSBVU0IuIFRoZSB0aG91Z2h0IHRoYXQmIzM5O3MgYnViYmxpbmcgdXAgaXMsIGNvdWxkIHdlIGVmZmVjdGl2ZWx5IGZ1enogdGhlIGBicmNtZm1hY2AgZHJpdmVyIGJ5IGxldmVyYWdpbmcgYSBVU0IgaW50ZXJmYWNlPyBUaGlzIGFuZ2xlIGhhc24mIzM5O3QgYmVlbiBleHBsb3JlZCBuZWFybHkgYXMgb2Z0ZW4gYXMgdGVzdGluZyBvdmVyLXRoZS1haXIsIGFuZCB0aGUgbnVhbmNlIG9mIHBvdGVudGlhbCBoYXJkd2FyZSByZXF1aXJlbWVudHMgaXMgc29tZXRoaW5nIHRvIGNvbnNpZGVyLiBXaGF0JiMzOTtzIHRoZSBwb3RlbnRpYWwgYXR0YWNrIHN1cmZhY2U/IEFyZSB0aGVyZSBzcGVjaWZpYyBVU0IgdHJhbnNmZXIgdHlwZXMgdGhhdCB3b3VsZCBiZSBtb3N0IHByb21pc2luZz8gVGhlIGNvbXBsZXhpdHkgb2YgdGhlIGhvc3Qtc2lkZSBVU0Igc3RhY2ssIHRoZSBpbnRyaWNhY2llcyBvZiB0aGUgZHJpdmVyIGl0c2VsZi4uLiB0aGlzIGlzIGdvaW5nIHRvIGJlIGEgZmFzY2luYXRpbmcgY2hhbGxlbmdlIGFuZCBpdCBjb3VsZCBiZSBmcnVpdGZ1bCBmb3IgZGlzY292ZXJpbmcgbmV3IHZ1bG5lcmFiaWxpdGllcy4gVGltZSB0byBkaWcgaW4gYW5kIGZvcm11bGF0ZSBhIHBsYW4uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5jb2Rlc2VhcmNoLWRpci1pbmRleDwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RGlyJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGVzJiMzNDs6IFsKICAgICYjMzQ7YWNwaS5jJiMzNDssCiAgICAmIzM0O2JjZGMuYyYjMzQ7LAogICAgJiMzNDtiY2RjLmgmIzM0OywKICAgICYjMzQ7YmNtc2RoLmMmIzM0OywKICAgICYjMzQ7YnRjb2V4LmMmIzM0OywKICAgICYjMzQ7YnRjb2V4LmgmIzM0OywKICAgICYjMzQ7YnVzLmgmIzM0OywKICAgICYjMzQ7Y2ZnODAyMTEuYyYjMzQ7LAogICAgJiMzNDtjZmc4MDIxMS5oJiMzNDssCiAgICAmIzM0O2NoaXAuYyYjMzQ7LAogICAgJiMzNDtjaGlwLmgmIzM0OywKICAgICYjMzQ7Y29tbW9uLmMmIzM0OywKICAgICYjMzQ7Y29tbW9uLmgmIzM0OywKICAgICYjMzQ7Y29tbW9ucmluZy5jJiMzNDssCiAgICAmIzM0O2NvbW1vbnJpbmcuaCYjMzQ7LAogICAgJiMzNDtjb3JlLmMmIzM0OywKICAgICYjMzQ7Y29yZS5oJiMzNDssCiAgICAmIzM0O2RlYnVnLmMmIzM0OywKICAgICYjMzQ7ZGVidWcuaCYjMzQ7LAogICAgJiMzNDtkbWkuYyYjMzQ7LAogICAgJiMzNDtmZWF0dXJlLmMmIzM0OywKICAgICYjMzQ7ZmVhdHVyZS5oJiMzNDssCiAgICAmIzM0O2Zpcm13YXJlLmMmIzM0OywKICAgICYjMzQ7ZmlybXdhcmUuaCYjMzQ7LAogICAgJiMzNDtmbG93cmluZy5jJiMzNDssCiAgICAmIzM0O2Zsb3dyaW5nLmgmIzM0OywKICAgICYjMzQ7ZndlaC5jJiMzNDssCiAgICAmIzM0O2Z3ZWguaCYjMzQ7LAogICAgJiMzNDtmd2lsLmMmIzM0OywKICAgICYjMzQ7ZndpbC5oJiMzNDssCiAgICAmIzM0O2Z3aWxfdHlwZXMuaCYjMzQ7LAogICAgJiMzNDtmd3NpZ25hbC5jJiMzNDssCiAgICAmIzM0O2Z3c2lnbmFsLmgmIzM0OywKICAgICYjMzQ7Znd2aWQuYyYjMzQ7LAogICAgJiMzNDtmd3ZpZC5oJiMzNDssCiAgICAmIzM0O21zZ2J1Zi5jJiMzNDssCiAgICAmIzM0O21zZ2J1Zi5oJiMzNDssCiAgICAmIzM0O29mLmMmIzM0OywKICAgICYjMzQ7b2YuaCYjMzQ7LAogICAgJiMzNDtwMnAuYyYjMzQ7LAogICAgJiMzNDtwMnAuaCYjMzQ7LAogICAgJiMzNDtwY2llLmMmIzM0OywKICAgICYjMzQ7cGNpZS5oJiMzNDssCiAgICAmIzM0O3Buby5jJiMzNDssCiAgICAmIzM0O3Buby5oJiMzNDssCiAgICAmIzM0O3Byb3RvLmMmIzM0OywKICAgICYjMzQ7cHJvdG8uaCYjMzQ7LAogICAgJiMzNDtzZGlvLmMmIzM0OywKICAgICYjMzQ7c2Rpby5oJiMzNDssCiAgICAmIzM0O3RyYWNlcG9pbnQuYyYjMzQ7LAogICAgJiMzNDt0cmFjZXBvaW50LmgmIzM0OywKICAgICYjMzQ7dXNiLmMmIzM0OywKICAgICYjMzQ7dXNiLmgmIzM0OywKICAgICYjMzQ7dmVuZG9yLmMmIzM0OywKICAgICYjMzQ7dmVuZG9yLmgmIzM0OywKICAgICYjMzQ7eHRsdi5jJiMzNDssCiAgICAmIzM0O3h0bHYuaCYjMzQ7CiAgXSwKICAmIzM0O1N1YmRpcnMmIzM0OzogWwogICAgJiMzNDtiY2EmIzM0OywKICAgICYjMzQ7Y3l3JiMzNDssCiAgICAmIzM0O3djYyYjMzQ7CiAgXQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzc5OQoJCQkJCQkJb3V0cHV0OiA1MAoJCQkJCQkJdGhvdWdodHM6IDExMwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipVU0IgRnV6emluZzogQSBQb3RlbnRpYWwgUGF0aCB0byBgdXNiLmNgKioKCk9rYXksIHNvIEkmIzM5O3ZlIGNvbmZpcm1lZCBgdXNiLmNgIGlzIHByZXNlbnQuIFRoYXQgaW1tZWRpYXRlbHkgbWFrZXMgbWUgdGhpbmsgYWJvdXQgdGhlIHBvdGVudGlhbCBmb3IgVVNCIGZ1enppbmcgdG8gdGFyZ2V0IHRoaXMgZHJpdmVyLiBNeSBtaW5kIGp1bXBzIHRvIHRoZSBwb3NzaWJsZSBhdHRhY2sgc3VyZmFjZS4gTm93LCBsZXQmIzM5O3Mgc2VlLi4uIEkmIzM5O20gbm90aWNpbmcgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgYW5kIHRoYXQmIzM5O3MgaGFuZGxpbmcgYSBgQlJDTUZfRV9FWFRfQVVUSF9GUkFNRV9SWGAgZXZlbnQuIEludGVyZXN0aW5nLiBUaGlzIGV2ZW50IGlzICpyZWNlaXZlZCBmcm9tIHRoZSBmaXJtd2FyZSosIHdoaWNoIGlzIGEgaHVnZSBjb25zaWRlcmF0aW9uLiBJZiBJIGNhbiBlaXRoZXIgZW11bGF0ZSB0aGUgZmlybXdhcmUgc3VjY2Vzc2Z1bGx5IG9yLCBtb3JlIGxpa2VseSwgY3JhZnQgVVNCIGZ1enppbmcgcGF5bG9hZHMgdGhhdCBjb252aW5jaW5nbHkgbWltaWMgdGhlc2UgZmlybXdhcmUgZXZlbnRzLCB0aGVuIEkgY2FuIGRlZmluaXRlbHkgZm9yY2UgZXhlY3V0aW9uIGRvd24gdGhpcyBwYXRoLiBUaGlzIHNlZW1zIHByb21pc2luZy4gTGV0JiMzOTtzIGRpZyBkZWVwZXIgYW5kIHVuZGVyc3RhbmQgaG93IGV2ZW50cyBhcmUgcmVnaXN0ZXJlZCBhbmQgcHJvY2Vzc2VkIGluIGBicmNtZl9md2VoX3JlZ2lzdGVyYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticmNtZl9md2VoX3JlZ2lzdGVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz0zNzM5PXN0YXRpYyB2b2lkIGJyY21mX2luaXRfZXNjYW4oc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTM3NDAte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzc0MTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9FU0NBTl9SRVNVTFQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNzQyLVx0XHRcdCAgICBicmNtZl9jZmc4MDIxMV9lc2Nhbl9oYW5kbGVyKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz00MTY2PXN0YXRpYyBzMzIgYnJjbWZfY2ZnODAyMTFfcmVzdW1lKHN0cnVjdCB3aXBoeSAqd2lwaHkpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDE4NS1cdFx0XHRicmNtZl9md2VoX3VucmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9QRk5fTkVUX0ZPVU5EKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQxODY6XHRcdFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MTg3LVx0XHRcdFx0XHQgICAgYnJjbWZfbm90aWZ5X3NjaGVkX3NjYW5fcmVzdWx0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDE5ND1zdGF0aWMgdm9pZCBicmNtZl9jb25maWd1cmVfd293bChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQyMzItXHRcdGJyY21mX2Z3ZWhfdW5yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDIzMzpcdFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy00MjM0LVx0XHRcdFx0ICAgIGJyY21mX3dvd2xfbmRfcmVzdWx0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9Njc3Nz1zdGF0aWMgdm9pZCBicmNtZl9yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyhzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc3OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzc5Olx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX0xJTkssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02NzgwLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc4MTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9ERUFVVEhfSU5ELFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4Mi1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODM6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfREVBVVRILFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4NC1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODU6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfRElTQVNTT0NfSU5ELFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4Ni1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODc6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfQVNTT0NfSU5ELFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4OC1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODk6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfUkVBU1NPQ19JTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02NzkwLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc5MTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9ST0FNLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5Mi1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X3JvYW1pbmdfc3RhdHVzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3OTM6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfTUlDX0VSUk9SLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5NC1cdFx0XHQgICAgYnJjbWZfbm90aWZ5X21pY19zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc5NTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9TRVRfU1NJRCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3OTYtXHRcdFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk3Olx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzk4LVx0XHRcdCAgICBicmNtZl9ub3RpZnlfc2NoZWRfc2Nhbl9yZXN1bHRzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3OTk6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfSUYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODAwLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfdmlmX2V2ZW50KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY4MDE6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfUDJQX1BST0JFUkVRX01TRyxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4MDItXHRcdFx0ICAgIGJyY21mX3AycF9ub3RpZnlfcnhfbWdtdF9wMnBfcHJvYmVyZXEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwMzpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9QMlBfRElTQ19MSVNURU5fQ09NUExFVEUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA0LVx0XHRcdCAgICBicmNtZl9wMnBfbm90aWZ5X2xpc3Rlbl9jb21wbGV0ZSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2ODA1Olx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9SWCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4MDYtXHRcdFx0ICAgIGJyY21mX3AycF9ub3RpZnlfYWN0aW9uX2ZyYW1lX3J4KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY4MDc6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cdTAwM2VwdWIsIEJSQ01GX0VfQUNUSU9OX0ZSQU1FX0NPTVBMRVRFLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgwOC1cdFx0XHQgICAgYnJjbWZfcDJwX25vdGlmeV9hY3Rpb25fdHhfY29tcGxldGUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwOTpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9BQ1RJT05fRlJBTUVfT0ZGX0NIQU5fQ09NUExFVEUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODEwLVx0XHRcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl90eF9jb21wbGV0ZSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2ODExOlx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXHUwMDNlcHViLCBCUkNNRl9FX1BTS19TVVAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODEyLVx0XHRcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgxMzpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9SU1NJLCBicmNtZl9ub3RpZnlfcnNzaSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODE0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTgzMDk9c3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmJyY21mX2NmZzgwMjExX2F0dGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTg0NDgtXHRcdH0gZWxzZSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo4NDQ5Olx0XHRcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVx1MDAzZXB1YiwgQlJDTUZfRV9URExTX1BFRVJfRVZFTlQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy04NDUwLVx0XHRcdFx0XHQgICAgYnJjbWZfbm90aWZ5X3RkbHNfcGVlcl9ldmVudCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz0xMzMwPWludCBicmNtZl9hdHRhY2goc3RydWN0IGRldmljZSAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmMtMTM2Ny1cdC8qIEF0dGFjaCB0byBldmVudHMgaW1wb3J0YW50IGZvciBjb3JlIGNvZGUgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmM6MTM2ODpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9QU01fV0FUQ0hET0csXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTEzNjktXHRcdFx0ICAgIGJyY21mX3BzbV93YXRjaGRvZ19ub3RpZnkpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM2MD1zdGF0aWMgdm9pZCBicmNtZl9jeXdfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2MS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNjI6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfRVhUX0FVVEhfUkVRLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzYzLVx0XHRcdCAgICBicmNtZl9jeXdfbm90aWZ5X2V4dF9hdXRoX3JlcSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNjQ6XHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfRVhUX0FVVEhfRlJBTUVfUlgsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjUtXHRcdFx0ICAgIGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM2NjpcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9NR01UX0ZSQU1FX1RYU1RBVFVTLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY3LVx0XHRcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY4Olx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX01HTVRfRlJBTUVfT0ZGQ0hBTl9ET05FLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY5LVx0XHRcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM9MzcyPXZvaWQgYnJjbWZfZndlaF9kZXRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM4OS0vKipcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM6MzkwOiAqIGJyY21mX2Z3ZWhfcmVnaXN0ZXIoKSAtIHJlZ2lzdGVyIGhhbmRsZXIgZm9yIGdpdmVuIGV2ZW50IGNvZGUuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM5MS0gKlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtMzk1LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzozOTY6aW50IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgZW51bSBicmNtZl9md2VoX2V2ZW50X2NvZGUgY29kZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtMzk3LVx0XHRcdGJyY21mX2Z3ZWhfaGFuZGxlcl90IGhhbmRsZXIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy00MTMtfVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzo0MTQ6QlJDTUZfRVhQT1JUX1NZTUJPTF9HUEwoYnJjbWZfZndlaF9yZWdpc3Rlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQxNS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oPTM1Mj12b2lkIGJyY21mX2Z3ZWhfZGV0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaDozNTM6aW50IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgZW51bSBicmNtZl9md2VoX2V2ZW50X2NvZGUgY29kZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzU0LVx0XHRcdGludCAoKmhhbmRsZXIpKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jPTIzMzc9c3RydWN0IGJyY21mX2Z3c19pbmZvICpicmNtZl9md3NfYXR0YWNoKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM3OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jOjIzNzk6XHRyYyA9IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9GSUZPX0NSRURJVF9NQVAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndzaWduYWwuYy0yMzgwLVx0XHRcdFx0IGJyY21mX2Z3c19ub3RpZnlfY3JlZGl0X21hcCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM4NC1cdH1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jOjIzODU6XHRyYyA9IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9CQ01DX0NSRURJVF9TVVBQT1JULFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM4Ni1cdFx0XHRcdCBicmNtZl9md3Nfbm90aWZ5X2JjbWNfY3JlZGl0X3N1cHBvcnQpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDg5MjkKCQkJCQkJCW91dHB1dDogNTIKCQkJCQkJCXRob3VnaHRzOiA3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIEF1dGhlbnRpY2F0aW9uIEZyYW1lIFJlY2VwdGlvbiBpbiB0aGUgQnJvYWRjb20gV2lGaSBEcml2ZXIqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGludG8gaG93IHRoZSBCcm9hZGNvbSBXaUZpIGRyaXZlciBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uIGZyYW1lIHJlY2VwdGlvbi4gTXkgaW5pdGlhbCBwb2ludCBvZiBlbnRyeSBpcyB0aGUgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBmdW5jdGlvbi4gRnJvbSB0aGUgY29kZSwgaXQmIzM5O3MgY2xlYXIgdGhpcyBpcyB0aGUgZGVzaWduYXRlZCBoYW5kbGVyIGZvciB0aGUgYEJSQ01GX0VfRVhUX0FVVEhfRlJBTUVfUlhgIGV2ZW50LiBOb3csIHRoZXNlIGV2ZW50cyBzZWVtIHRvIGJlIHByb2Nlc3NlZCBieSBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YC4gVGhpcyBsb29rcyBsaWtlIGEgY2VudHJhbCBldmVudCBwcm9jZXNzaW5nIGZ1bmN0aW9uLCB3aGljaCBpcyBhIGdvb2QgY2x1ZS4KCk15IG5leHQgc3RlcCBpcyB0byB1bmRlcnN0YW5kIHRoZSBicm9hZGVyIGNvbnRleHQuIEkgbmVlZCB0byB0cmFjZSB3aGVyZSBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YCBpcyBjYWxsZWQgZnJvbS4gVGhhdCB3aWxsIGdpdmUgbWUgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgb3ZlcmFsbCBldmVudCBoYW5kbGluZyBmbG93IGFuZCBob3cgYXV0aGVudGljYXRpb24gZnJhbWVzIGZpdCBpbnRvIHRoZSBiaWdnZXIgcGljdHVyZS4gVW5kZXJzdGFuZGluZyB0aGUgY2FsbCBzdGFjayBhcm91bmQgdGhpcyBmdW5jdGlvbiBzaG91bGQgaWxsdW1pbmF0ZSBob3cgdGhlIGRyaXZlciByZWFjdHMgdG8gYW5kIHBvdGVudGlhbGx5IGhhbmRsZXMgdGhlc2UgYXV0aGVudGljYXRpb24gZnJhbWVzIGF0IGEgaGlnaCBsZXZlbC4gTGV0JiMzOTtzIGRpZyBpbiBhbmQgZmluZCB0aG9zZSBjYWxsIHNpdGVzLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yNyAxMzozMjwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticmNtZl9md2VoX3Byb2Nlc3NfZXZlbnQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM9NDM4PWludCBicmNtZl9md2VoX2FjdGl2YXRlX2V2ZW50cyhzdHJ1Y3QgYnJjbWZfaWYgKmlmcClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ2OS0vKipcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM6NDcwOiAqIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCgpIC0gcHJvY2VzcyBza2IgYXMgZmlybXdhcmUgZXZlbnQuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ3MS0gKlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDc5LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzo0ODA6dm9pZCBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnQoc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDgxLVx0XHRcdCAgICAgIHN0cnVjdCBicmNtZl9ldmVudCAqZXZlbnRfcGFja2V0LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg9MzU5PWludCBicmNtZl9md2VoX2FjdGl2YXRlX2V2ZW50cyhzdHJ1Y3QgYnJjbWZfaWYgKmlmcCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM2MDp2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjEtXHRcdFx0ICAgICAgc3RydWN0IGJyY21mX2V2ZW50ICpldmVudF9wYWNrZXQsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNjU9c3RhdGljIGlubGluZSB2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19za2Ioc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oLTM5Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg6Mzk4Olx0YnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50KGRydnIsIGV2ZW50X3BhY2tldCwgc2tiLVx1MDAzZWxlbiAmIzQzOyBFVEhfSExFTiwgZ2ZwKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzk5LX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogOTkzMgoJCQkJCQkJb3V0cHV0OiA1MwoJCQkJCQkJdGhvdWdodHM6IDI3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQmIzM5O3MgaW50ZXJuYWwgbW9ub2xvZ3VlOgoKKipUcmFjaW5nIHRoZSBOZXR3b3JrIEZyYW1lIEhhbmRsaW5nKioKCkFscmlnaHQsIHNvIHRoZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBsZXQmIzM5O3MgdHJhY2UgdGhpcyBhbmQgc2VlIHdoZXJlIHRoZSBoZWNrIGl0JiMzOTtzIGJlaW5nIGNhbGxlZCBmcm9tIHdpdGhpbiB0aGUgQnJvYWRjb20gV2ktRmkgZHJpdmVyLiBLbm93aW5nIGl0cyBjYWxsZXJzIGlzIGFic29sdXRlbHkgY3J1Y2lhbCB0byB1bmRlcnN0YW5kaW5nIGl0cyByb2xlIGluIHRoZSBkYXRhIGZsb3cuIFRoYXQmIzM5O2xsIHRlbGwgbWUgd2hhdCYjMzk7cyBoYW5kaW5nIHRoZSBpbmNvbWluZyBuZXR3b3JrIGZyYW1lcyB0byB0aGlzIHByb2Nlc3NpbmcgZnVuY3Rpb24sIGFuZCB3aGF0IGNvbnRleHQgdG8gbG9vayBmb3Igd2hlbiBhbmFseXppbmcgaXRzIGFjdGlvbnMuIFRpbWUgdG8gcHVsbCB1cCB0aGUgY29kZSBhbmQgZ2V0IHRoZSBjYWxsIGdyYXBoIHNvcnRlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfZndlaF9wcm9jZXNzX3NrYiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01MDI9dm9pZCBicmNtZl9yeF9mcmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsIGJvb2wgaGFuZGxlX2V2ZW50LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jb3JlLmMtNTIwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYzo1MjE6XHRcdFx0YnJjbWZfZndlaF9wcm9jZXNzX3NrYihpZnAtXHUwMDNlZHJ2ciwgc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy01MjItXHRcdFx0XHRcdCAgICAgICBCQ01JTENQX1NVQlRZUEVfVkVORE9SX0xPTkcsIGdmcCk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01Mjg9dm9pZCBicmNtZl9yeF9ldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy01MzgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jOjUzOTpcdGJyY21mX2Z3ZWhfcHJvY2Vzc19za2IoaWZwLVx1MDAzZWRydnIsIHNrYiwgMCwgR0ZQX0tFUk5FTCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTU0MC1cdGJyY211X3BrdF9idWZfZnJlZV9za2Ioc2tiKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oPTM2Mz12b2lkIGJyY21mX2Z3ZWhfcDJwZGV2X3NldHVwKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBib29sIG9uZ29pbmcpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM2NTpzdGF0aWMgaW5saW5lIHZvaWQgYnJjbWZfZndlaF9wcm9jZXNzX3NrYihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjYtXHRcdFx0XHRcdCAgc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTE2IHN0eXBlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYz0xMTAzPXN0YXRpYyB2b2lkIGJyY21mX21zZ2J1Zl9wcm9jZXNzX2V2ZW50KHN0cnVjdCBicmNtZl9tc2didWYgKm1zZ2J1Ziwgdm9pZCAqYnVmKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYy0xMTM4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL21zZ2J1Zi5jOjExMzk6XHRicmNtZl9md2VoX3Byb2Nlc3Nfc2tiKGlmcC1cdTAwM2VkcnZyLCBza2IsIDAsIEdGUF9LRVJORUwpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL21zZ2J1Zi5jLTExNDAtXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDEwOTQxCgkJCQkJCQlvdXRwdXQ6IDQyCgkJCQkJCQl0aG91Z2h0czogMTEwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKlJlYWNoaW5nIFZ1bG5lcmFibGUgQ29kZSBpbiB0aGUgYnJjbWZtYWMgRHJpdmVyKioKCk9rYXksIHNvIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGUgYGJyY21mbWFjYCBkcml2ZXIsIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgcmVjZWl2ZSBwYXRoLiBXZSYjMzk7dmUgZ290IGBicmNtZl9yeF9mcmFtZWAgYW5kIGBicmNtZl9yeF9ldmVudGAsIHdoaWNoIGFyZSB0aGUgZW50cnkgcG9pbnRzIGZvciBpbmNvbWluZyBkYXRhIGZyb20gdGhlIGhhcmR3YXJlLiBUaGUga2V5IGhlcmUgaXMgdGhhdCwgYmVjYXVzZSBgYnJjbWZtYWNgIGhhcyBhIFVTQiBkcml2ZXIsIGB1c2IuY2AsIHdlIGNhbiBwb3RlbnRpYWxseSBzaW11bGF0ZSB0aGUgaGFyZHdhcmUgdXNpbmcgYSBVU0IgZnV6emVyLiBUaGF0IG1lYW5zIHdlIGhhdmUgYSBkaXJlY3QgcGF0aCB0byBpbmplY3QgYXJiaXRyYXJ5IGZyYW1lcyBhbmQgZXZlbnRzIHJpZ2h0IGludG8gdGhlIGhvc3QuIEJpbmdvIOKAkyB0aGlzIGlzIHJlYWNoYWJsZSBjb2RlISBUaGlzIGlzIHRoZSBraW5kIG9mIGF0dGFjayBzdXJmYWNlIEkgZ2V0IGV4Y2l0ZWQgYWJvdXQuCgpOb3csIGxldCYjMzk7cyBmaWd1cmUgb3V0IHRoZSBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSBuZWVkIHRvIGNoZWNrIHdoYXQgY29uZmlnIG9wdGlvbnMgYXJlIHJlcXVpcmVkIHRvIGVuYWJsZSB0aGUgcmVsZXZhbnQgZnVuY3Rpb25hbGl0eSBpbiB0aGUgZHJpdmVyLiBMZXQmIzM5O3Mgc3RhcnQgYnkgZGlnZ2luZyBpbnRvIGl0cyBLY29uZmlnIGZpbGUuIEkmIzM5O2xsIG5lZWQgdG8ga25vdyB3aGF0IHRvIGVuYWJsZSBpbiB0aGUgYnVpbGQgdG8gZXhwb3NlIHRoaXMgdnVsbmVyYWJpbGl0eSB0byBhIGZ1enplci4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzI8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7Y29uZmlnIEJSQ01GTUFDJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxOmNvbmZpZyBCUkNNRk1BQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMi1cdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjExOmNvbmZpZyBCUkNNRk1BQ19QUk9UT19CQ0RDXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMi1cdGJvb2xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTEzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTQ6Y29uZmlnIEJSQ01GTUFDX1BST1RPX01TR0JVRlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTUtXHRib29sXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjE3OmNvbmZpZyBCUkNNRk1BQ19TRElPXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xOC1cdGJvb2wgXCYjMzQ7U0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMjgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoyOTpjb25maWcgQlJDTUZNQUNfVVNCXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zMC1cdGJvb2wgXCYjMzQ7VVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjQwOmNvbmZpZyBCUkNNRk1BQ19QQ0lFXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy00MS1cdGJvb2wgXCYjMzQ7UENJRSBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMyPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDExOTE5CgkJCQkJCQlvdXRwdXQ6IDUwCgkJCQkJCQl0aG91Z2h0czogNDIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBzZWUsIG15IHRoaW5raW5nIHJpZ2h0IG5vdyBpcyBjZW50ZXJlZCBvbiBmdXp6aW5nIHRoZXNlIEJyb2FkY29tIFdpLUZpIGRyaXZlcnMuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSBoYXZlIHRoZSByaWdodCBzZXR1cC4gSXQgbG9va3MgbGlrZSBJIG5lZWQgdG8gaW5jbHVkZSBib3RoIGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgIHRvIGZ1enogdGhlIHRhcmdldCB2aWEgVVNCLiBCZWZvcmUgSSBnZXQgdG9vIGRlZXAgaW50byB0aGlzLCBJIHNob3VsZCBwcm9iYWJseSBkb3VibGUtY2hlY2sgaWYgYEJSQ01GTUFDX1VTQmAgYWxvbmUgaXMgc3VmZmljaWVudCBmb3IgdGhpcyBwYXJ0aWN1bGFyIGZ1enppbmcgY2FtcGFpZ24uIERvbiYjMzk7dCB3YW50IHRvIG92ZXJjb21wbGljYXRlIHRoaW5ncyBpZiBJIGRvbiYjMzk7dCBoYXZlIHRvLiBJIG5lZWQgdG8gYmUgc3VyZSBiZWZvcmUgSSBtb3ZlIGZvcndhcmQuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI3IDEzOjMzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+cmVhZC1maWxlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtGaWxlJiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWcmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDQwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyAgIDE6XHRjb25maWcgQlJDTUZNQUNcbiAgIDI6XHRcdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIEZ1bGxNQUMgV0xBTiBkcml2ZXJcJiMzNDtcbiAgIDM6XHRcdGRlcGVuZHMgb24gQ0ZHODAyMTFcbiAgIDQ6XHRcdHNlbGVjdCBCUkNNVVRJTFxuICAgNTpcdFx0aGVscFxuICAgNjpcdFx0ICBUaGlzIG1vZHVsZSBhZGRzIHN1cHBvcnQgZm9yIHdpcmVsZXNzIGFkYXB0ZXJzIGJhc2VkIG9uIEJyb2FkY29tXG4gICA3Olx0XHQgIEZ1bGxNQUMgY2hpcHNldHMuIEl0IGhhcyB0byB3b3JrIHdpdGggYXQgbGVhc3Qgb25lIG9mIHRoZSBidXNcbiAgIDg6XHRcdCAgaW50ZXJmYWNlIHN1cHBvcnQuIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgYSBtb2R1bGUsIGl0JiMzOTtsbCBiZSBjYWxsZWRcbiAgIDk6XHRcdCAgYnJjbWZtYWMua28uXG4gIDEwOlx0XG4gIDExOlx0Y29uZmlnIEJSQ01GTUFDX1BST1RPX0JDRENcbiAgMTI6XHRcdGJvb2xcbiAgMTM6XHRcbiAgMTQ6XHRjb25maWcgQlJDTUZNQUNfUFJPVE9fTVNHQlVGXG4gIDE1Olx0XHRib29sXG4gIDE2Olx0XG4gIDE3Olx0Y29uZmlnIEJSQ01GTUFDX1NESU9cbiAgMTg6XHRcdGJvb2wgXCYjMzQ7U0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXCYjMzQ7XG4gIDE5Olx0XHRkZXBlbmRzIG9uIChNTUMgPSB5IHx8IE1NQyA9IEJSQ01GTUFDKVxuICAyMDpcdFx0ZGVwZW5kcyBvbiBCUkNNRk1BQ1xuICAyMTpcdFx0c2VsZWN0IEJSQ01GTUFDX1BST1RPX0JDRENcbiAgMjI6XHRcdHNlbGVjdCBGV19MT0FERVJcbiAgMjM6XHRcdGRlZmF1bHQgeVxuICAyNDpcdFx0aGVscFxuICAyNTpcdFx0ICBUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBTRElPIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgQnJvYWRjb21cbiAgMjY6XHRcdCAgSUVFRTgwMi4xMW4gZW1iZWRkZWQgRnVsbE1BQyBXTEFOIGRyaXZlci4gU2F5IFkgaWYgeW91IHdhbnQgdG9cbiAgMjc6XHRcdCAgdXNlIHRoZSBkcml2ZXIgZm9yIGEgU0RJTyB3aXJlbGVzcyBjYXJkLlxuICAyODpcdFxuICAyOTpcdGNvbmZpZyBCUkNNRk1BQ19VU0JcbiAgMzA6XHRcdGJvb2wgXCYjMzQ7VVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcJiMzNDtcbiAgMzE6XHRcdGRlcGVuZHMgb24gKFVTQiA9IHkgfHwgVVNCID0gQlJDTUZNQUMpXG4gIDMyOlx0XHRkZXBlbmRzIG9uIEJSQ01GTUFDXG4gIDMzOlx0XHRzZWxlY3QgQlJDTUZNQUNfUFJPVE9fQkNEQ1xuICAzNDpcdFx0c2VsZWN0IEZXX0xPQURFUlxuICAzNTpcdFx0aGVscFxuICAzNjpcdFx0ICBUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBVU0IgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBCcm9hZGNvbVxuICAzNzpcdFx0ICBJRUVFODAyLjExbiBlbWJlZGRlZCBGdWxsTUFDIFdMQU4gZHJpdmVyLiBTYXkgWSBpZiB5b3Ugd2FudCB0b1xuICAzODpcdFx0ICB1c2UgdGhlIGRyaXZlciBmb3IgYW4gVVNCIHdpcmVsZXNzIGNhcmQuXG4gIDM5Olx0XG4gIDQwOlx0Y29uZmlnIEJSQ01GTUFDX1BDSUVcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNy8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTI2OTYKCQkJCQkJCW91dHB1dDogNTMKCQkJCQkJCXRob3VnaHRzOiAxNjYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqRm9jdXNpbmcgb24gdGhlIFJlbGV2YW50IFN5bWJvbHMqKgoKT2theSwgc28gd2UmIzM5O3JlIGRlYWxpbmcgd2l0aCBCcm9hZGNvbSB3aXJlbGVzcyBkcml2ZXJzIGhlcmUuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzIHRoYXQgYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgYXJlIHRoZSBwcmltYXJ5IG1vZHVsZXMgb2YgaW50ZXJlc3QsIG5hdHVyYWxseS4gT2YgY291cnNlLCBgQ0ZHODAyMTFgIGlzIGVzc2VudGlhbCwgYXMgdGhhdCYjMzk7cyBwcmV0dHkgbXVjaCBhIGdpdmVuIGZvciBhbnkgbW9kZXJuIHdpcmVsZXNzIHN0YWNrLiBXZSBjYW4gc2FmZWx5IGFzc3VtZSBpdHMgc3RhbmRhcmQgZnVuY3Rpb25hbGl0eS4KCkxldCYjMzk7cyBkaXZlIGludG8gdGhlIHNwZWNpZmljcy4gSSBuZWVkIHRvIHplcm8gaW4gb24gdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucy4gVGhlIGtleSBmdW5jdGlvbiB1bmRlciBzY3J1dGlueSwgYXMgZmFyIGFzIEkgY2FuIHNlZSwgaXMgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIG1ha2UgdGhhdCBvdXIgcHJpbWFyeSBmb2N1cy4KCkhvd2V2ZXIsIEkgbmVlZCB0byBiZSB0aG9yb3VnaC4gQXJlIHRoZXJlIGFueSBjbG9zZWx5IHJlbGF0ZWQgZnVuY3Rpb25zIG9yIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgc2FtZSBtb2R1bGUgdGhhdCBhcmUgZXF1YWxseSBvciBtb3JlIHJlbGV2YW50PyBQZXJoYXBzIGBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRgLCBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAsIG9yIGBicmNtZl9yeF9ldmVudGAgbWlnaHQgcGxheSBhIHN1cHBvcnRpbmcgcm9sZSwgb3IgY291bGQgZXZlbiBiZSBpbmRpcmVjdGx5IGludm9sdmVkLiBCdXQgZm9yIG5vdywgc2luY2UgdGhlIG1vZGlmaWNhdGlvbiBpcyBjb25maXJtZWQgaW4gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgdGhhdCBzZWVtcyB0byBiZSB0aGUgcGxhY2UgdG8gc3RhcnQuIEkgbmVlZCB0byBhc3Nlc3MgaG93IHVzZWZ1bCBmb2N1c2luZyBvbiB0aGF0IHN5bWJvbCBpcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTI3Mz1zdGF0aWMgczMyXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNzQ6YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNzUtXHRcdFx0ICAgY29uc3Qgc3RydWN0IGJyY21mX2V2ZW50X21zZyAqZSwgdm9pZCAqZGF0YSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0zNjA9c3RhdGljIHZvaWQgYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY0LVx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY1Olx0XHRcdCAgICBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjYtXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9UWFNUQVRVUyxcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xOS8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTM1NzQKCQkJCQkJCW91dHB1dDogMTU3CgkJCQkJCQl0aG91Z2h0czogNjQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSBzeW1ib2xzLCBrZWVwaW5nIGluIG1pbmQgbXkgZXhwZXJ0aXNlOgoKKipNeSBJbml0aWFsIEFzc2Vzc21lbnQgb2YgRnV6emluZyBUYXJnZXRzKioKCkFscmlnaHQsIGxldCYjMzk7cyBzZWUsIGJhc2VkIG9uIHdoYXQgSSYjMzk7dmUgYmVlbiBsb29raW5nIGF0LCBJIHRoaW5rIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaXMgYSBzb2xpZCBzdGFydGluZyBwb2ludCBmb3IgZnV6emluZy4gSXQmIzM5O3MgYSBrZXkgZW50cnkgcG9pbnQsIGFuZCBmb2N1c2luZyBvbiBpdCBmaXJzdCBpcyBnb2luZyB0byBiZSBoZWxwZnVsLiBJIGtub3cgaG93IHRoZSBhdXRoZW50aWNhdGlvbiBmcmFtZSBoYW5kbGluZyBmdW5jdGlvbnMsIHNvIEkgY2FuIHNlZSB0aGlzIGJlaW5nIGEgcHJvZHVjdGl2ZSBhcmVhIHRvIGV4cGxvcmUuIEkmIzM5O20gaW1hZ2luaW5nIGhvdyBJJiMzOTtkIGFwcHJvYWNoIGl0LCBrbm93aW5nIHRoZSBwcm90b2NvbCBudWFuY2VzLgoKQmV5b25kIHRoYXQsIHRoZSBldmVudCBwcm9jZXNzaW5nIGxvZ2ljIHNlZW1zIHJpcGUgZm9yIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi4gQm90aCBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YCBhbmQgYGJyY21mX2Z3ZWhfcHJvY2Vzc19za2JgIGxvb2sgcGFydGljdWxhcmx5IHByb21pc2luZyB0byBoZWxwIHRoZSBmdXp6ZXIgZGl2ZSBpbnRvIHRoZSBjb3JlIGV2ZW50IHByb2Nlc3NpbmcuIFRhcmdldGluZyB0aG9zZSBmdW5jdGlvbnMgc2hvdWxkIGhlbHAgdG8gcmVhY2ggZGVlcGVyIHdpdGhpbiB0aGUgZHJpdmVyIGFuZCBleHBvc2UgbW9yZSBjb21wbGV4IHN0YXRlIHRyYW5zaXRpb25zLCB3aGljaCBpcyB3aGVyZSB0aGluZ3Mgb2Z0ZW4gYnJlYWsgaW4gdGhpcyB0eXBlIG9mIHN5c3RlbS4gSSYjMzk7bGwgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZGF0YSBpbnB1dHMgdHJpZ2dlciB0aGVpciBhY3RpdmF0aW9uIGFuZCB0aGVuIGdldCBteSBmdXp6ZXIgdGFyZ2V0aW5nIHRob3NlIGlucHV0cy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjcgMTM6MzM8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JSQ01GTUFDJiMzNDssCiAgICAmIzM0O0JSQ01GTUFDX1VTQiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O2JyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudCYjMzQ7LAogICAgJiMzNDticmNtZl9md2VoX3Byb2Nlc3Nfc2tiJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBib3VuZHMgY2hlY2sgdG8gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBpbiB0aGUgYnJjbWZtYWMgZHJpdmVyIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyBhY2Nlc3Mgd2hlbiBwcm9jZXNzaW5nIGZpcm13YXJlIGV2ZW50cy4gVGhpcyBjb2RlIGlzIHJlYWNoYWJsZSB2aWEgdGhlIFVTQiBpbnRlcmZhY2Ugb2YgdGhlIGRyaXZlciwgd2hpY2ggY2FuIGJlIGZ1enplZCB1c2luZyBhIFVTQiBmdXp6ZXIgKGxpa2UgZHVtbXlfaGNkKS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QlJDTUZNQUMmIzM0OywKICAgICYjMzQ7QlJDTUZNQUNfVVNCJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngmIzM0OywKICAgICYjMzQ7YnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50JiMzNDssCiAgICAmIzM0O2JyY21mX2Z3ZWhfcHJvY2Vzc19za2ImIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIGJvdW5kcyBjaGVjayB0byBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgIGluIHRoZSBicmNtZm1hYyBkcml2ZXIgdG8gcHJldmVudCBvdXQtb2YtYm91bmRzIGFjY2VzcyB3aGVuIHByb2Nlc3NpbmcgZmlybXdhcmUgZXZlbnRzLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIHZpYSB0aGUgVVNCIGludGVyZmFjZSBvZiB0aGUgZHJpdmVyLCB3aGljaCBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGZ1enplciAobGlrZSBkdW1teV9oY2QpLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzE6NTQuOTkzMjU4Mzk2WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTE1MjM2NTI4NDE0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJSQ01GTUFDXCIsXG4gICAgXCJCUkNNRk1BQ19VU0JcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeFwiLFxuICAgIFwiYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3Nfc2tiXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGJvdW5kcyBjaGVjayB0byBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgIGluIHRoZSBicmNtZm1hYyBkcml2ZXIgdG8gcHJldmVudCBvdXQtb2YtYm91bmRzIGFjY2VzcyB3aGVuIHByb2Nlc3NpbmcgZmlybXdhcmUgZXZlbnRzLiBUaGlzIGNvZGUgaXMgcmVhY2hhYmxlIHZpYSB0aGUgVVNCIGludGVyZmFjZSBvZiB0aGUgZHJpdmVyLCB3aGljaCBjYW4gYmUgZnV6emVkIHVzaW5nIGEgVVNCIGZ1enplciAobGlrZSBkdW1teV9oY2QpLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMTo1NC45OTMyNjM4MzZaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjQxNjc3NDA4NiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGFmYjA0MTBiYzk3MThhMTFlYmVlNDY0N2RjZGMxY2ZiNDkzZDUzMWNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFNhdCBKdW4gMjcgMTM6MzE6NTMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xcbmluZGV4IGNlMDlkNDRmYTczY2Y4Li44NzM3NTRiZTUxNzRiYyAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXFxuQEAgLTI5Myw2ICsyOTMsMTIgQEAgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXFxuIFxcdFxcdHJldHVybiAtRUlOVkFMO1xcbiBcXHR9XFxuIFxcbitcXHRpZiAobWdtdF9mcmFtZV9sZW4gXFx1MDAzYyBvZmZzZXRvZihzdHJ1Y3QgaWVlZTgwMjExX21nbXQsIHUpKSB7XFxuK1xcdFxcdGJwaHlfZXJyKGRydnIsIFxcXCJFdmVudCAlcyAoJWQpIGZyYW1lIHRvbyBzbWFsbC4gSWdub3JlXFxcXG5cXFwiLFxcbitcXHRcXHRcXHQgYnJjbWZfZndlaF9ldmVudF9uYW1lKGUtXFx1MDAzZWV2ZW50X2NvZGUpLCBlLVxcdTAwM2VldmVudF9jb2RlKTtcXG4rXFx0XFx0cmV0dXJuIC1FSU5WQUw7XFxuK1xcdH1cXG4rXFxuIFxcdHdkZXYgPSBcXHUwMDI2aWZwLVxcdTAwM2V2aWYtXFx1MDAzZXdkZXY7XFxuIFxcdFdBUk5fT04oIXdkZXYpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzE6NTUuNDEwNjgwMzMxWiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMTQ4MTkwOTYyNzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgICBcImJyY21mX2Z3ZWhfcHJvY2Vzc19za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYm91bmRzIGNoZWNrIHRvIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaW4gdGhlIGJyY21mbWFjIGRyaXZlciB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgYWNjZXNzIHdoZW4gcHJvY2Vzc2luZyBmaXJtd2FyZSBldmVudHMuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgdmlhIHRoZSBVU0IgaW50ZXJmYWNlIG9mIHRoZSBkcml2ZXIsIHdoaWNoIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZnV6emVyIChsaWtlIGR1bW15X2hjZCkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgYWZiMDQxMGJjOTcxOGExMWViZWU0NjQ3ZGNkYzFjZmI0OTNkNTMxY1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgSnVuIDI3IDEzOjMxOjUzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuY1xuaW5kZXggY2UwOWQ0NGZhNzNjZjguLjg3Mzc1NGJlNTE3NGJjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jXG5AQCAtMjkzLDYgKzI5MywxMiBAQCBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcbiBcdFx0cmV0dXJuIC1FSU5WQUw7XG4gXHR9XG4gXG4rXHRpZiAobWdtdF9mcmFtZV9sZW4gXHUwMDNjIG9mZnNldG9mKHN0cnVjdCBpZWVlODAyMTFfbWdtdCwgdSkpIHtcbitcdFx0YnBoeV9lcnIoZHJ2ciwgXCJFdmVudCAlcyAoJWQpIGZyYW1lIHRvbyBzbWFsbC4gSWdub3JlXFxuXCIsXG4rXHRcdFx0IGJyY21mX2Z3ZWhfZXZlbnRfbmFtZShlLVx1MDAzZWV2ZW50X2NvZGUpLCBlLVx1MDAzZWV2ZW50X2NvZGUpO1xuK1x0XHRyZXR1cm4gLUVJTlZBTDtcbitcdH1cbitcbiBcdHdkZXYgPSBcdTAwMjZpZnAtXHUwMDNldmlmLVx1MDAzZXdkZXY7XG4gXHRXQVJOX09OKCF3ZGV2KTtcbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI3VDEzOjMxOjU1LjQxMDY4MTY4MVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjY2MzQ3MzE4NjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgV2lyZWxlc3MgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBmb3IgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jYC4gSXQncyBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkOiB0aGV5J3ZlIGFkZGVkIGEgbGVuZ3RoIGNoZWNrIHdpdGhpbiBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgLiBOb3RoaW5nIGdyb3VuZGJyZWFraW5nLCBqdXN0IGEgYmFzaWMgYm91bmRzIGNoZWNrIHRvIHByZXZlbnQgb3V0LW9mLWJvdW5kcyByZWFkcy4gRnVuY3Rpb25hbGx5IHNvdW5kLCB0aGF0J3MgZ29vZC5cblxuTm93LCB0aGUgcmVhbCBxdWVzdGlvbiBpcyB0ZXN0YWJpbGl0eS4gQ2FuIHdlIGFjdHVhbGx5IHRyaWdnZXIgdGhpcyBjb2RlIGluIGEgdmlydHVhbGl6ZWQgc2V0dXA/IFRoaXMgaXMgdGhlIGBicmNtZm1hY2AgZHJpdmVyLCBzcGVjaWZpY2FsbHkgZm9yIEJyb2FkY29tIEZ1bGxNQUMgd2lyZWxlc3MgY2FyZHMuIEZ1bGxNQUMgZHJpdmVycy4uLiB0aG9zZSBhcmUgYWx3YXlzIGEgcGFpbiB0byBmdXp6LiBUaGV5J3JlIGhlYXZpbHkgcmVsaWFudCBvbiB0aGUgaGFyZHdhcmUuXG5cbk15IGluaXRpYWwgdGhvdWdodCBpcywgcHJvYmFibHkgbm90IGVhc2lseSBmdXp6ZWQgZGlyZWN0bHkgaW4gc29tZXRoaW5nIGxpa2UgUUVNVSBvciBzeXprYWxsZXIuIEhhcmR3YXJlLWRlcGVuZGVudCBzdHVmZiBpcyB1c3VhbGx5IGEgbm8tZ28gdW5sZXNzIHlvdSBoYXZlIGEgc29mdHdhcmUgZW11bGF0aW9uLiBJIGtub3cgdGhlcmUncyBgbWFjODAyMTFfaHdzaW1gLCB3aGljaCB3b3VsZCBiZSBncmVhdCwgYnV0IHRoYXQncyBmb3IgdGhlIG1hYzgwMjExIGZyYW1ld29yaywgbm90IHRoZSBGdWxsTUFDIGRyaXZlcnMgbGlrZSB0aGlzIG9uZS5cblxuV2FpdCBhIHNlY29uZOKApiBJIHRoaW5rIHN5emthbGxlciBoYXMgc29tZSBVU0IgZnV6emluZyBjYXBhYmlsaXRpZXMgbm93LCBkb2Vzbid0IGl0PyBJdCBoYXMgdGhhdCBkdW1teSBIQ0Qgc2V0dXAuIFRoYXQncyBhIGZsaWNrZXIgb2YgaG9wZS4gTWF5YmUsIGp1c3QgbWF5YmUsIGBicmNtZm1hY2AgaGFzIGEgVVNCIGludGVyZmFjZSB0aGF0IHdlIGNvdWxkIGxldmVyYWdlLiBJIG5lZWQgdG8gcXVpY2tseSBjaGVjayB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSwgbGlrZWx5IGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvdXNiLmNgIG9yIHNvbWV0aGluZyBzaW1pbGFyLiBMZXQncyBzZWUgaWYgdGhlcmUncyBhbnkgVVNCLXJlbGF0ZWQgY29kZSBpbiB0aGVyZS4gSWYgc28sIHRoaXMgcGF0Y2ggYmVjb21lcyBtdWNoIG1vcmUgaW50ZXJlc3RpbmcgZnJvbSBhIGZ1enppbmcgcGVyc3BlY3RpdmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NTUsIk91dHB1dFRva2VucyI6NTMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNDMsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjowMi4wNDU0MTUxNzRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTI1MDg3MTcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0yNzM9c3RhdGljIHMzMlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjI3NDpicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeChzdHJ1Y3QgYnJjbWZfaWYgKmlmcCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0yNzUtXFx0XFx0XFx0ICAgY29uc3Qgc3RydWN0IGJyY21mX2V2ZW50X21zZyAqZSwgdm9pZCAqZGF0YSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jPTM2MD1zdGF0aWMgdm9pZCBicmNtZl9jeXdfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2NC1cXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfRVhUX0FVVEhfRlJBTUVfUlgsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY1OlxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY2LVxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9NR01UX0ZSQU1FX1RYU1RBVFVTLFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjowMi4wOTc5Mjc1NzFaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozMjc3OTk2OTY5LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiJPa2F5LCBoZXJlJ3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgdGFpbG9yZWQgZm9yIGFuIGV4cGVydCBhdWRpZW5jZTpcblxuKipDb25zaWRlcmluZyBgYnJjbWZtYWNgIEZ1enppbmcgdmlhIFVTQioqXG5cbkFscmlnaHQsIGxldCdzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBUaGUgYGJyY21mbWFjYCBkcml2ZXIuIEludHJpZ3VpbmcgdGFyZ2V0LCBlc3BlY2lhbGx5IHdpdGggaXRzIGV4cG9zdXJlIHRvIHBvdGVudGlhbGx5IHVudHJ1c3RlZCBkYXRhIHZpYSBVU0IuIFRoZSB0aG91Z2h0IHRoYXQncyBidWJibGluZyB1cCBpcywgY291bGQgd2UgZWZmZWN0aXZlbHkgZnV6eiB0aGUgYGJyY21mbWFjYCBkcml2ZXIgYnkgbGV2ZXJhZ2luZyBhIFVTQiBpbnRlcmZhY2U/IFRoaXMgYW5nbGUgaGFzbid0IGJlZW4gZXhwbG9yZWQgbmVhcmx5IGFzIG9mdGVuIGFzIHRlc3Rpbmcgb3Zlci10aGUtYWlyLCBhbmQgdGhlIG51YW5jZSBvZiBwb3RlbnRpYWwgaGFyZHdhcmUgcmVxdWlyZW1lbnRzIGlzIHNvbWV0aGluZyB0byBjb25zaWRlci4gV2hhdCdzIHRoZSBwb3RlbnRpYWwgYXR0YWNrIHN1cmZhY2U/IEFyZSB0aGVyZSBzcGVjaWZpYyBVU0IgdHJhbnNmZXIgdHlwZXMgdGhhdCB3b3VsZCBiZSBtb3N0IHByb21pc2luZz8gVGhlIGNvbXBsZXhpdHkgb2YgdGhlIGhvc3Qtc2lkZSBVU0Igc3RhY2ssIHRoZSBpbnRyaWNhY2llcyBvZiB0aGUgZHJpdmVyIGl0c2VsZi4uLiB0aGlzIGlzIGdvaW5nIHRvIGJlIGEgZmFzY2luYXRpbmcgY2hhbGxlbmdlIGFuZCBpdCBjb3VsZCBiZSBmcnVpdGZ1bCBmb3IgZGlzY292ZXJpbmcgbmV3IHZ1bG5lcmFiaWxpdGllcy4gVGltZSB0byBkaWcgaW4gYW5kIGZvcm11bGF0ZSBhIHBsYW4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxMjMsIk91dHB1dFRva2VucyI6MzksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxOSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjowNS4zNzU5MjYyNzlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJjb2Rlc2VhcmNoLWRpci1pbmRleCIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk1NzU5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRGlyXCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIkZpbGVzXCI6IFtcbiAgICBcImFjcGkuY1wiLFxuICAgIFwiYmNkYy5jXCIsXG4gICAgXCJiY2RjLmhcIixcbiAgICBcImJjbXNkaC5jXCIsXG4gICAgXCJidGNvZXguY1wiLFxuICAgIFwiYnRjb2V4LmhcIixcbiAgICBcImJ1cy5oXCIsXG4gICAgXCJjZmc4MDIxMS5jXCIsXG4gICAgXCJjZmc4MDIxMS5oXCIsXG4gICAgXCJjaGlwLmNcIixcbiAgICBcImNoaXAuaFwiLFxuICAgIFwiY29tbW9uLmNcIixcbiAgICBcImNvbW1vbi5oXCIsXG4gICAgXCJjb21tb25yaW5nLmNcIixcbiAgICBcImNvbW1vbnJpbmcuaFwiLFxuICAgIFwiY29yZS5jXCIsXG4gICAgXCJjb3JlLmhcIixcbiAgICBcImRlYnVnLmNcIixcbiAgICBcImRlYnVnLmhcIixcbiAgICBcImRtaS5jXCIsXG4gICAgXCJmZWF0dXJlLmNcIixcbiAgICBcImZlYXR1cmUuaFwiLFxuICAgIFwiZmlybXdhcmUuY1wiLFxuICAgIFwiZmlybXdhcmUuaFwiLFxuICAgIFwiZmxvd3JpbmcuY1wiLFxuICAgIFwiZmxvd3JpbmcuaFwiLFxuICAgIFwiZndlaC5jXCIsXG4gICAgXCJmd2VoLmhcIixcbiAgICBcImZ3aWwuY1wiLFxuICAgIFwiZndpbC5oXCIsXG4gICAgXCJmd2lsX3R5cGVzLmhcIixcbiAgICBcImZ3c2lnbmFsLmNcIixcbiAgICBcImZ3c2lnbmFsLmhcIixcbiAgICBcImZ3dmlkLmNcIixcbiAgICBcImZ3dmlkLmhcIixcbiAgICBcIm1zZ2J1Zi5jXCIsXG4gICAgXCJtc2didWYuaFwiLFxuICAgIFwib2YuY1wiLFxuICAgIFwib2YuaFwiLFxuICAgIFwicDJwLmNcIixcbiAgICBcInAycC5oXCIsXG4gICAgXCJwY2llLmNcIixcbiAgICBcInBjaWUuaFwiLFxuICAgIFwicG5vLmNcIixcbiAgICBcInBuby5oXCIsXG4gICAgXCJwcm90by5jXCIsXG4gICAgXCJwcm90by5oXCIsXG4gICAgXCJzZGlvLmNcIixcbiAgICBcInNkaW8uaFwiLFxuICAgIFwidHJhY2Vwb2ludC5jXCIsXG4gICAgXCJ0cmFjZXBvaW50LmhcIixcbiAgICBcInVzYi5jXCIsXG4gICAgXCJ1c2IuaFwiLFxuICAgIFwidmVuZG9yLmNcIixcbiAgICBcInZlbmRvci5oXCIsXG4gICAgXCJ4dGx2LmNcIixcbiAgICBcInh0bHYuaFwiXG4gIF0sXG4gIFwiU3ViZGlyc1wiOiBbXG4gICAgXCJiY2FcIixcbiAgICBcImN5d1wiLFxuICAgIFwid2NjXCJcbiAgXVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzI6MDUuMzc2MDIzNTA5WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTYxOTcxMjQxMDUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqVVNCIEZ1enppbmc6IEEgUG90ZW50aWFsIFBhdGggdG8gYHVzYi5jYCoqXG5cbk9rYXksIHNvIEkndmUgY29uZmlybWVkIGB1c2IuY2AgaXMgcHJlc2VudC4gVGhhdCBpbW1lZGlhdGVseSBtYWtlcyBtZSB0aGluayBhYm91dCB0aGUgcG90ZW50aWFsIGZvciBVU0IgZnV6emluZyB0byB0YXJnZXQgdGhpcyBkcml2ZXIuIE15IG1pbmQganVtcHMgdG8gdGhlIHBvc3NpYmxlIGF0dGFjayBzdXJmYWNlLiBOb3csIGxldCdzIHNlZS4uLiBJJ20gbm90aWNpbmcgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgYW5kIHRoYXQncyBoYW5kbGluZyBhIGBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYYCBldmVudC4gSW50ZXJlc3RpbmcuIFRoaXMgZXZlbnQgaXMgKnJlY2VpdmVkIGZyb20gdGhlIGZpcm13YXJlKiwgd2hpY2ggaXMgYSBodWdlIGNvbnNpZGVyYXRpb24uIElmIEkgY2FuIGVpdGhlciBlbXVsYXRlIHRoZSBmaXJtd2FyZSBzdWNjZXNzZnVsbHkgb3IsIG1vcmUgbGlrZWx5LCBjcmFmdCBVU0IgZnV6emluZyBwYXlsb2FkcyB0aGF0IGNvbnZpbmNpbmdseSBtaW1pYyB0aGVzZSBmaXJtd2FyZSBldmVudHMsIHRoZW4gSSBjYW4gZGVmaW5pdGVseSBmb3JjZSBleGVjdXRpb24gZG93biB0aGlzIHBhdGguIFRoaXMgc2VlbXMgcHJvbWlzaW5nLiBMZXQncyBkaWcgZGVlcGVyIGFuZCB1bmRlcnN0YW5kIGhvdyBldmVudHMgYXJlIHJlZ2lzdGVyZWQgYW5kIHByb2Nlc3NlZCBpbiBgYnJjbWZfZndlaF9yZWdpc3RlcmAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM3OTksIk91dHB1dFRva2VucyI6NTAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTMsIlRvb2xDYWxscyI6WyJjb2Rlc2VhcmNoLWRpci1pbmRleCJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI3VDEzOjMyOjIxLjU3MzE0OTQzNFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NTYwNTE4NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9md2VoX3JlZ2lzdGVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9MzczOT1zdGF0aWMgdm9pZCBicmNtZl9pbml0X2VzY2FuKHN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpjZmcpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtMzc0MC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Mzc0MTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0VTQ0FOX1JFU1VMVCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy0zNzQyLVxcdFxcdFxcdCAgICBicmNtZl9jZmc4MDIxMV9lc2Nhbl9oYW5kbGVyKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTQxNjY9c3RhdGljIHMzMiBicmNtZl9jZmc4MDIxMV9yZXN1bWUoc3RydWN0IHdpcGh5ICp3aXBoeSlcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQxODUtXFx0XFx0XFx0YnJjbWZfZndlaF91bnJlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjQxODY6XFx0XFx0XFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXFx1MDAzZXB1YiwgQlJDTUZfRV9QRk5fTkVUX0ZPVU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTQxODctXFx0XFx0XFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9zY2hlZF9zY2FuX3Jlc3VsdHMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM9NDE5ND1zdGF0aWMgdm9pZCBicmNtZl9jb25maWd1cmVfd293bChzdHJ1Y3QgYnJjbWZfY2ZnODAyMTFfaW5mbyAqY2ZnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDIzMi1cXHRcXHRicmNtZl9md2VoX3VucmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfUEZOX05FVF9GT1VORCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NDIzMzpcXHRcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1BGTl9ORVRfRk9VTkQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNDIzNC1cXHRcXHRcXHRcXHQgICAgYnJjbWZfd293bF9uZF9yZXN1bHRzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jPTY3Nzc9c3RhdGljIHZvaWQgYnJjbWZfcmVnaXN0ZXJfZXZlbnRfaGFuZGxlcnMoc3RydWN0IGJyY21mX2NmZzgwMjExX2luZm8gKmNmZylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzc4LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzc5OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfTElOSyxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02NzgwLVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODE6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXFx1MDAzZXB1YiwgQlJDTUZfRV9ERUFVVEhfSU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3ODItXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc4MzpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0RFQVVUSCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzg0LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfY29ubmVjdF9zdGF0dXMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jOjY3ODU6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihjZmctXFx1MDAzZXB1YiwgQlJDTUZfRV9ESVNBU1NPQ19JTkQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc4Ni1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzg3OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfQVNTT0NfSU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3ODgtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc4OTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1JFQVNTT0NfSU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3OTAtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9jb25uZWN0X3N0YXR1cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6Njc5MTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1JPQU0sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5Mi1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X3JvYW1pbmdfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2NzkzOlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfTUlDX0VSUk9SLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY3OTQtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9taWNfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk1OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfU0VUX1NTSUQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjc5Ni1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk3OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfUEZOX05FVF9GT1VORCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02Nzk4LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfc2NoZWRfc2Nhbl9yZXN1bHRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2Nzk5OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfSUYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgwMC1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X3ZpZl9ldmVudCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwMTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1AyUF9QUk9CRVJFUV9NU0csXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgwMi1cXHRcXHRcXHQgICAgYnJjbWZfcDJwX25vdGlmeV9yeF9tZ210X3AycF9wcm9iZXJlcSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwMzpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1AyUF9ESVNDX0xJU1RFTl9DT01QTEVURSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA0LVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2xpc3Rlbl9jb21wbGV0ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwNTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9SWCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA2LVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl9mcmFtZV9yeCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwNzpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9DT01QTEVURSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODA4LVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl90eF9jb21wbGV0ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgwOTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX0FDVElPTl9GUkFNRV9PRkZfQ0hBTl9DT01QTEVURSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYy02ODEwLVxcdFxcdFxcdCAgICBicmNtZl9wMnBfbm90aWZ5X2FjdGlvbl90eF9jb21wbGV0ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmM6NjgxMTpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGNmZy1cXHUwMDNlcHViLCBCUkNNRl9FX1BTS19TVVAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NmZzgwMjExLmMtNjgxMi1cXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2Nvbm5lY3Rfc3RhdHVzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo2ODEzOlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfUlNTSSwgYnJjbWZfbm90aWZ5X3Jzc2kpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTY4MTQtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYz04MzA5PXN0cnVjdCBicmNtZl9jZmc4MDIxMV9pbmZvICpicmNtZl9jZmc4MDIxMV9hdHRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTg0NDgtXFx0XFx0fSBlbHNlIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY2ZnODAyMTEuYzo4NDQ5OlxcdFxcdFxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoY2ZnLVxcdTAwM2VwdWIsIEJSQ01GX0VfVERMU19QRUVSX0VWRU5ULFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jZmc4MDIxMS5jLTg0NTAtXFx0XFx0XFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV90ZGxzX3BlZXJfZXZlbnQpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz0xMzMwPWludCBicmNtZl9hdHRhY2goc3RydWN0IGRldmljZSAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy0xMzY3LVxcdC8qIEF0dGFjaCB0byBldmVudHMgaW1wb3J0YW50IGZvciBjb3JlIGNvZGUgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jOjEzNjg6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX1BTTV9XQVRDSERPRyxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTEzNjktXFx0XFx0XFx0ICAgIGJyY21mX3BzbV93YXRjaGRvZ19ub3RpZnkpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MzYwPXN0YXRpYyB2b2lkIGJyY21mX2N5d19yZWdpc3Rlcl9ldmVudF9oYW5kbGVycyhzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2MS17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzYyOlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9FWFRfQVVUSF9SRVEsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzYzLVxcdFxcdFxcdCAgICBicmNtZl9jeXdfbm90aWZ5X2V4dF9hdXRoX3JlcSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM6MzY0OlxcdGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9FWFRfQVVUSF9GUkFNRV9SWCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjUtXFx0XFx0XFx0ICAgIGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzozNjY6XFx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX01HTVRfRlJBTUVfVFhTVEFUVVMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY3LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM2ODpcXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9PRkZDSEFOX0RPTkUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMzY5LVxcdFxcdFxcdCAgICBicmNtZl9ub3RpZnlfbWdtdF90eF9zdGF0dXMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYz0zNzI9dm9pZCBicmNtZl9md2VoX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy0zODktLyoqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzozOTA6ICogYnJjbWZfZndlaF9yZWdpc3RlcigpIC0gcmVnaXN0ZXIgaGFuZGxlciBmb3IgZ2l2ZW4gZXZlbnQgY29kZS5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM5MS0gKlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy0zOTUtICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYzozOTY6aW50IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoc3RydWN0IGJyY21mX3B1YiAqZHJ2ciwgZW51bSBicmNtZl9md2VoX2V2ZW50X2NvZGUgY29kZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTM5Ny1cXHRcXHRcXHRicmNtZl9md2VoX2hhbmRsZXJfdCBoYW5kbGVyKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguYy00MTMtfVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmM6NDE0OkJSQ01GX0VYUE9SVF9TWU1CT0xfR1BMKGJyY21mX2Z3ZWhfcmVnaXN0ZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDE1LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNTI9dm9pZCBicmNtZl9md2VoX2RldGFjaChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM1MzppbnQgYnJjbWZfZndlaF9yZWdpc3RlcihzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLCBlbnVtIGJyY21mX2Z3ZWhfZXZlbnRfY29kZSBjb2RlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzU0LVxcdFxcdFxcdGludCAoKmhhbmRsZXIpKHN0cnVjdCBicmNtZl9pZiAqaWZwLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmM9MjMzNz1zdHJ1Y3QgYnJjbWZfZndzX2luZm8gKmJyY21mX2Z3c19hdHRhY2goc3RydWN0IGJyY21mX3B1YiAqZHJ2cilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jLTIzNzgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmM6MjM3OTpcXHRyYyA9IGJyY21mX2Z3ZWhfcmVnaXN0ZXIoZHJ2ciwgQlJDTUZfRV9GSUZPX0NSRURJVF9NQVAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3c2lnbmFsLmMtMjM4MC1cXHRcXHRcXHRcXHQgYnJjbWZfZndzX25vdGlmeV9jcmVkaXRfbWFwKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jLTIzODQtXFx0fVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md3NpZ25hbC5jOjIzODU6XFx0cmMgPSBicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfQkNNQ19DUkVESVRfU1VQUE9SVCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndzaWduYWwuYy0yMzg2LVxcdFxcdFxcdFxcdCBicmNtZl9md3Nfbm90aWZ5X2JjbWNfY3JlZGl0X3N1cHBvcnQpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjoyMS42Mjg3NTg4ODFaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjozNTkyNTU1MjEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgQXV0aGVudGljYXRpb24gRnJhbWUgUmVjZXB0aW9uIGluIHRoZSBCcm9hZGNvbSBXaUZpIERyaXZlcioqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGludG8gaG93IHRoZSBCcm9hZGNvbSBXaUZpIGRyaXZlciBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uIGZyYW1lIHJlY2VwdGlvbi4gTXkgaW5pdGlhbCBwb2ludCBvZiBlbnRyeSBpcyB0aGUgYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCBmdW5jdGlvbi4gRnJvbSB0aGUgY29kZSwgaXQncyBjbGVhciB0aGlzIGlzIHRoZSBkZXNpZ25hdGVkIGhhbmRsZXIgZm9yIHRoZSBgQlJDTUZfRV9FWFRfQVVUSF9GUkFNRV9SWGAgZXZlbnQuIE5vdywgdGhlc2UgZXZlbnRzIHNlZW0gdG8gYmUgcHJvY2Vzc2VkIGJ5IGBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRgLiBUaGlzIGxvb2tzIGxpa2UgYSBjZW50cmFsIGV2ZW50IHByb2Nlc3NpbmcgZnVuY3Rpb24sIHdoaWNoIGlzIGEgZ29vZCBjbHVlLlxuXG5NeSBuZXh0IHN0ZXAgaXMgdG8gdW5kZXJzdGFuZCB0aGUgYnJvYWRlciBjb250ZXh0LiBJIG5lZWQgdG8gdHJhY2Ugd2hlcmUgYGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudGAgaXMgY2FsbGVkIGZyb20uIFRoYXQgd2lsbCBnaXZlIG1lIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIG92ZXJhbGwgZXZlbnQgaGFuZGxpbmcgZmxvdyBhbmQgaG93IGF1dGhlbnRpY2F0aW9uIGZyYW1lcyBmaXQgaW50byB0aGUgYmlnZ2VyIHBpY3R1cmUuIFVuZGVyc3RhbmRpbmcgdGhlIGNhbGwgc3RhY2sgYXJvdW5kIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGlsbHVtaW5hdGUgaG93IHRoZSBkcml2ZXIgcmVhY3RzIHRvIGFuZCBwb3RlbnRpYWxseSBoYW5kbGVzIHRoZXNlIGF1dGhlbnRpY2F0aW9uIGZyYW1lcyBhdCBhIGhpZ2ggbGV2ZWwuIExldCdzIGRpZyBpbiBhbmQgZmluZCB0aG9zZSBjYWxsIHNpdGVzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo4OTI5LCJPdXRwdXRUb2tlbnMiOjUyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NzIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzI6MjUuMjIxMzE1NzMxWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MzEzMzQ4NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jPTQzOD1pbnQgYnJjbWZfZndlaF9hY3RpdmF0ZV9ldmVudHMoc3RydWN0IGJyY21mX2lmICppZnApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ2OS0vKipcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jOjQ3MDogKiBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnQoKSAtIHByb2Nlc3Mgc2tiIGFzIGZpcm13YXJlIGV2ZW50LlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDcxLSAqXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jLTQ3OS0gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5jOjQ4MDp2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmMtNDgxLVxcdFxcdFxcdCAgICAgIHN0cnVjdCBicmNtZl9ldmVudCAqZXZlbnRfcGFja2V0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNTk9aW50IGJyY21mX2Z3ZWhfYWN0aXZhdGVfZXZlbnRzKHN0cnVjdCBicmNtZl9pZiAqaWZwKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oOjM2MDp2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfcHViICpkcnZyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzYxLVxcdFxcdFxcdCAgICAgIHN0cnVjdCBicmNtZl9ldmVudCAqZXZlbnRfcGFja2V0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaD0zNjU9c3RhdGljIGlubGluZSB2b2lkIGJyY21mX2Z3ZWhfcHJvY2Vzc19za2Ioc3RydWN0IGJyY21mX3B1YiAqZHJ2cixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzk3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg6Mzk4OlxcdGJyY21mX2Z3ZWhfcHJvY2Vzc19ldmVudChkcnZyLCBldmVudF9wYWNrZXQsIHNrYi1cXHUwMDNlbGVuICsgRVRIX0hMRU4sIGdmcCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zOTktfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjoyNS4yNzQ0NTM4NjhaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzIwNjIwNTYxMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IHRha2Ugb24gdGhvc2UgdGhvdWdodHMsIGZyYW1lZCBhcyBhbiBleHBlcnQncyBpbnRlcm5hbCBtb25vbG9ndWU6XG5cbioqVHJhY2luZyB0aGUgTmV0d29yayBGcmFtZSBIYW5kbGluZyoqXG5cbkFscmlnaHQsIHNvIHRoZSBmdW5jdGlvbiBpbiBxdWVzdGlvbiBpcyBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAuIE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBsZXQncyB0cmFjZSB0aGlzIGFuZCBzZWUgd2hlcmUgdGhlIGhlY2sgaXQncyBiZWluZyBjYWxsZWQgZnJvbSB3aXRoaW4gdGhlIEJyb2FkY29tIFdpLUZpIGRyaXZlci4gS25vd2luZyBpdHMgY2FsbGVycyBpcyBhYnNvbHV0ZWx5IGNydWNpYWwgdG8gdW5kZXJzdGFuZGluZyBpdHMgcm9sZSBpbiB0aGUgZGF0YSBmbG93LiBUaGF0J2xsIHRlbGwgbWUgd2hhdCdzIGhhbmRpbmcgdGhlIGluY29taW5nIG5ldHdvcmsgZnJhbWVzIHRvIHRoaXMgcHJvY2Vzc2luZyBmdW5jdGlvbiwgYW5kIHdoYXQgY29udGV4dCB0byBsb29rIGZvciB3aGVuIGFuYWx5emluZyBpdHMgYWN0aW9ucy4gVGltZSB0byBwdWxsIHVwIHRoZSBjb2RlIGFuZCBnZXQgdGhlIGNhbGwgZ3JhcGggc29ydGVkLlxuXG5cbiIsIklucHV0VG9rZW5zIjo5OTMyLCJPdXRwdXRUb2tlbnMiOjUzLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzI6MjguNDgwNjYyMTIxWiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1MzE3MTE2NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJicmNtZl9md2VoX3Byb2Nlc3Nfc2tiXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01MDI9dm9pZCBicmNtZl9yeF9mcmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsIGJvb2wgaGFuZGxlX2V2ZW50LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYy01MjAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYzo1MjE6XFx0XFx0XFx0YnJjbWZfZndlaF9wcm9jZXNzX3NrYihpZnAtXFx1MDAzZWRydnIsIHNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTUyMi1cXHRcXHRcXHRcXHRcXHQgICAgICAgQkNNSUxDUF9TVUJUWVBFX1ZFTkRPUl9MT05HLCBnZnApO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvcmUuYz01Mjg9dm9pZCBicmNtZl9yeF9ldmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTUzOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jOjUzOTpcXHRicmNtZl9md2VoX3Byb2Nlc3Nfc2tiKGlmcC1cXHUwMDNlZHJ2ciwgc2tiLCAwLCBHRlBfS0VSTkVMKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29yZS5jLTU0MC1cXHRicmNtdV9wa3RfYnVmX2ZyZWVfc2tiKHNrYik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZndlaC5oPTM2Mz12b2lkIGJyY21mX2Z3ZWhfcDJwZGV2X3NldHVwKHN0cnVjdCBicmNtZl9pZiAqaWZwLCBib29sIG9uZ29pbmcpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmgtMzY0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9md2VoLmg6MzY1OnN0YXRpYyBpbmxpbmUgdm9pZCBicmNtZl9md2VoX3Byb2Nlc3Nfc2tiKHN0cnVjdCBicmNtZl9wdWIgKmRydnIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Z3ZWguaC0zNjYtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MTYgc3R5cGUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvbXNnYnVmLmM9MTEwMz1zdGF0aWMgdm9pZCBicmNtZl9tc2didWZfcHJvY2Vzc19ldmVudChzdHJ1Y3QgYnJjbWZfbXNnYnVmICptc2didWYsIHZvaWQgKmJ1ZilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYy0xMTM4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYzoxMTM5OlxcdGJyY21mX2Z3ZWhfcHJvY2Vzc19za2IoaWZwLVxcdTAwM2VkcnZyLCBza2IsIDAsIEdGUF9LRVJORUwpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9tc2didWYuYy0xMTQwLVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjoyOC41MzM4Mzc1NzhaIiwiU2VxIjoxMywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTYxNjE1OTUzODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqUmVhY2hpbmcgVnVsbmVyYWJsZSBDb2RlIGluIHRoZSBicmNtZm1hYyBEcml2ZXIqKlxuXG5Pa2F5LCBzbyBJJ20gdGhpbmtpbmcgYWJvdXQgZnV6emluZyB0aGUgYGJyY21mbWFjYCBkcml2ZXIsIHNwZWNpZmljYWxseSBmb2N1c2luZyBvbiB0aGUgcmVjZWl2ZSBwYXRoLiBXZSd2ZSBnb3QgYGJyY21mX3J4X2ZyYW1lYCBhbmQgYGJyY21mX3J4X2V2ZW50YCwgd2hpY2ggYXJlIHRoZSBlbnRyeSBwb2ludHMgZm9yIGluY29taW5nIGRhdGEgZnJvbSB0aGUgaGFyZHdhcmUuIFRoZSBrZXkgaGVyZSBpcyB0aGF0LCBiZWNhdXNlIGBicmNtZm1hY2AgaGFzIGEgVVNCIGRyaXZlciwgYHVzYi5jYCwgd2UgY2FuIHBvdGVudGlhbGx5IHNpbXVsYXRlIHRoZSBoYXJkd2FyZSB1c2luZyBhIFVTQiBmdXp6ZXIuIFRoYXQgbWVhbnMgd2UgaGF2ZSBhIGRpcmVjdCBwYXRoIHRvIGluamVjdCBhcmJpdHJhcnkgZnJhbWVzIGFuZCBldmVudHMgcmlnaHQgaW50byB0aGUgaG9zdC4gQmluZ28g4oCTIHRoaXMgaXMgcmVhY2hhYmxlIGNvZGUhIFRoaXMgaXMgdGhlIGtpbmQgb2YgYXR0YWNrIHN1cmZhY2UgSSBnZXQgZXhjaXRlZCBhYm91dC5cblxuTm93LCBsZXQncyBmaWd1cmUgb3V0IHRoZSBjb25maWd1cmF0aW9uIGRlcGVuZGVuY2llcy4gSSBuZWVkIHRvIGNoZWNrIHdoYXQgY29uZmlnIG9wdGlvbnMgYXJlIHJlcXVpcmVkIHRvIGVuYWJsZSB0aGUgcmVsZXZhbnQgZnVuY3Rpb25hbGl0eSBpbiB0aGUgZHJpdmVyLiBMZXQncyBzdGFydCBieSBkaWdnaW5nIGludG8gaXRzIEtjb25maWcgZmlsZS4gSSdsbCBuZWVkIHRvIGtub3cgd2hhdCB0byBlbmFibGUgaW4gdGhlIGJ1aWxkIHRvIGV4cG9zZSB0aGlzIHZ1bG5lcmFiaWxpdHkgdG8gYSBmdXp6ZXIuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjEwOTQxLCJPdXRwdXRUb2tlbnMiOjQyLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTEwLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI3VDEzOjMyOjQ0LjY5NTQzNTU0NFoiLCJTZXEiOjE0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTc3NTg4NzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01GTUFDXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTpjb25maWcgQlJDTUZNQUNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0yLVxcdHRyaXN0YXRlIFxcXCJCcm9hZGNvbSBGdWxsTUFDIFdMQU4gZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTE6Y29uZmlnIEJSQ01GTUFDX1BST1RPX0JDRENcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xMi1cXHRib29sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctMTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWc6MTQ6Y29uZmlnIEJSQ01GTUFDX1BST1RPX01TR0JVRlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTE1LVxcdGJvb2xcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0xNi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZzoxNzpjb25maWcgQlJDTUZNQUNfU0RJT1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTE4LVxcdGJvb2wgXFxcIlNESU8gYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTI4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjI5OmNvbmZpZyBCUkNNRk1BQ19VU0JcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvS2NvbmZpZy0zMC1cXHRib29sIFxcXCJVU0IgYnVzIGludGVyZmFjZSBzdXBwb3J0IGZvciBGdWxsTUFDIGRyaXZlclxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnLTM5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnOjQwOmNvbmZpZyBCUkNNRk1BQ19QQ0lFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL0tjb25maWctNDEtXFx0Ym9vbCBcXFwiUENJRSBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMjo0NC43NTMyMDA1MjFaIiwiU2VxIjoxNSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDU4NzcyMTAwMjIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGxldCdzIHNlZSwgbXkgdGhpbmtpbmcgcmlnaHQgbm93IGlzIGNlbnRlcmVkIG9uIGZ1enppbmcgdGhlc2UgQnJvYWRjb20gV2ktRmkgZHJpdmVycy4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIGhhdmUgdGhlIHJpZ2h0IHNldHVwLiBJdCBsb29rcyBsaWtlIEkgbmVlZCB0byBpbmNsdWRlIGJvdGggYEJSQ01GTUFDYCBhbmQgYEJSQ01GTUFDX1VTQmAgdG8gZnV6eiB0aGUgdGFyZ2V0IHZpYSBVU0IuIEJlZm9yZSBJIGdldCB0b28gZGVlcCBpbnRvIHRoaXMsIEkgc2hvdWxkIHByb2JhYmx5IGRvdWJsZS1jaGVjayBpZiBgQlJDTUZNQUNfVVNCYCBhbG9uZSBpcyBzdWZmaWNpZW50IGZvciB0aGlzIHBhcnRpY3VsYXIgZnV6emluZyBjYW1wYWlnbi4gRG9uJ3Qgd2FudCB0byBvdmVyY29tcGxpY2F0ZSB0aGluZ3MgaWYgSSBkb24ndCBoYXZlIHRvLiBJIG5lZWQgdG8gYmUgc3VyZSBiZWZvcmUgSSBtb3ZlIGZvcndhcmQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExOTE5LCJPdXRwdXRUb2tlbnMiOjUwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzM6MzAuNjMwNDEzMTEzWiIsIlNlcSI6MTYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InJlYWQtZmlsZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjc4NzgwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9LY29uZmlnXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDEsXG4gIFwiTGluZUNvdW50XCI6IDQwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0Y29uZmlnIEJSQ01GTUFDXFxuICAgMjpcXHRcXHR0cmlzdGF0ZSBcXFwiQnJvYWRjb20gRnVsbE1BQyBXTEFOIGRyaXZlclxcXCJcXG4gICAzOlxcdFxcdGRlcGVuZHMgb24gQ0ZHODAyMTFcXG4gICA0OlxcdFxcdHNlbGVjdCBCUkNNVVRJTFxcbiAgIDU6XFx0XFx0aGVscFxcbiAgIDY6XFx0XFx0ICBUaGlzIG1vZHVsZSBhZGRzIHN1cHBvcnQgZm9yIHdpcmVsZXNzIGFkYXB0ZXJzIGJhc2VkIG9uIEJyb2FkY29tXFxuICAgNzpcXHRcXHQgIEZ1bGxNQUMgY2hpcHNldHMuIEl0IGhhcyB0byB3b3JrIHdpdGggYXQgbGVhc3Qgb25lIG9mIHRoZSBidXNcXG4gICA4OlxcdFxcdCAgaW50ZXJmYWNlIHN1cHBvcnQuIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgYSBtb2R1bGUsIGl0J2xsIGJlIGNhbGxlZFxcbiAgIDk6XFx0XFx0ICBicmNtZm1hYy5rby5cXG4gIDEwOlxcdFxcbiAgMTE6XFx0Y29uZmlnIEJSQ01GTUFDX1BST1RPX0JDRENcXG4gIDEyOlxcdFxcdGJvb2xcXG4gIDEzOlxcdFxcbiAgMTQ6XFx0Y29uZmlnIEJSQ01GTUFDX1BST1RPX01TR0JVRlxcbiAgMTU6XFx0XFx0Ym9vbFxcbiAgMTY6XFx0XFxuICAxNzpcXHRjb25maWcgQlJDTUZNQUNfU0RJT1xcbiAgMTg6XFx0XFx0Ym9vbCBcXFwiU0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEZ1bGxNQUMgZHJpdmVyXFxcIlxcbiAgMTk6XFx0XFx0ZGVwZW5kcyBvbiAoTU1DID0geSB8fCBNTUMgPSBCUkNNRk1BQylcXG4gIDIwOlxcdFxcdGRlcGVuZHMgb24gQlJDTUZNQUNcXG4gIDIxOlxcdFxcdHNlbGVjdCBCUkNNRk1BQ19QUk9UT19CQ0RDXFxuICAyMjpcXHRcXHRzZWxlY3QgRldfTE9BREVSXFxuICAyMzpcXHRcXHRkZWZhdWx0IHlcXG4gIDI0OlxcdFxcdGhlbHBcXG4gIDI1OlxcdFxcdCAgVGhpcyBvcHRpb24gZW5hYmxlcyB0aGUgU0RJTyBidXMgaW50ZXJmYWNlIHN1cHBvcnQgZm9yIEJyb2FkY29tXFxuICAyNjpcXHRcXHQgIElFRUU4MDIuMTFuIGVtYmVkZGVkIEZ1bGxNQUMgV0xBTiBkcml2ZXIuIFNheSBZIGlmIHlvdSB3YW50IHRvXFxuICAyNzpcXHRcXHQgIHVzZSB0aGUgZHJpdmVyIGZvciBhIFNESU8gd2lyZWxlc3MgY2FyZC5cXG4gIDI4OlxcdFxcbiAgMjk6XFx0Y29uZmlnIEJSQ01GTUFDX1VTQlxcbiAgMzA6XFx0XFx0Ym9vbCBcXFwiVVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgRnVsbE1BQyBkcml2ZXJcXFwiXFxuICAzMTpcXHRcXHRkZXBlbmRzIG9uIChVU0IgPSB5IHx8IFVTQiA9IEJSQ01GTUFDKVxcbiAgMzI6XFx0XFx0ZGVwZW5kcyBvbiBCUkNNRk1BQ1xcbiAgMzM6XFx0XFx0c2VsZWN0IEJSQ01GTUFDX1BST1RPX0JDRENcXG4gIDM0OlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDM1OlxcdFxcdGhlbHBcXG4gIDM2OlxcdFxcdCAgVGhpcyBvcHRpb24gZW5hYmxlcyB0aGUgVVNCIGJ1cyBpbnRlcmZhY2Ugc3VwcG9ydCBmb3IgQnJvYWRjb21cXG4gIDM3OlxcdFxcdCAgSUVFRTgwMi4xMW4gZW1iZWRkZWQgRnVsbE1BQyBXTEFOIGRyaXZlci4gU2F5IFkgaWYgeW91IHdhbnQgdG9cXG4gIDM4OlxcdFxcdCAgdXNlIHRoZSBkcml2ZXIgZm9yIGFuIFVTQiB3aXJlbGVzcyBjYXJkLlxcbiAgMzk6XFx0XFxuICA0MDpcXHRjb25maWcgQlJDTUZNQUNfUENJRVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMzozMC42MzA0OTMzMjNaIiwiU2VxIjoxNywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MTUxMDU5NDUwNDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRm9jdXNpbmcgb24gdGhlIFJlbGV2YW50IFN5bWJvbHMqKlxuXG5Pa2F5LCBzbyB3ZSdyZSBkZWFsaW5nIHdpdGggQnJvYWRjb20gd2lyZWxlc3MgZHJpdmVycyBoZXJlLiBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcyB0aGF0IGBCUkNNRk1BQ2AgYW5kIGBCUkNNRk1BQ19VU0JgIGFyZSB0aGUgcHJpbWFyeSBtb2R1bGVzIG9mIGludGVyZXN0LCBuYXR1cmFsbHkuIE9mIGNvdXJzZSwgYENGRzgwMjExYCBpcyBlc3NlbnRpYWwsIGFzIHRoYXQncyBwcmV0dHkgbXVjaCBhIGdpdmVuIGZvciBhbnkgbW9kZXJuIHdpcmVsZXNzIHN0YWNrLiBXZSBjYW4gc2FmZWx5IGFzc3VtZSBpdHMgc3RhbmRhcmQgZnVuY3Rpb25hbGl0eS5cblxuTGV0J3MgZGl2ZSBpbnRvIHRoZSBzcGVjaWZpY3MuIEkgbmVlZCB0byB6ZXJvIGluIG9uIHRoZSBtb2RpZmllZCBmdW5jdGlvbnMuIFRoZSBrZXkgZnVuY3Rpb24gdW5kZXIgc2NydXRpbnksIGFzIGZhciBhcyBJIGNhbiBzZWUsIGlzIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBtYWtlIHRoYXQgb3VyIHByaW1hcnkgZm9jdXMuXG5cbkhvd2V2ZXIsIEkgbmVlZCB0byBiZSB0aG9yb3VnaC4gQXJlIHRoZXJlIGFueSBjbG9zZWx5IHJlbGF0ZWQgZnVuY3Rpb25zIG9yIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGUgc2FtZSBtb2R1bGUgdGhhdCBhcmUgZXF1YWxseSBvciBtb3JlIHJlbGV2YW50PyBQZXJoYXBzIGBicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRgLCBgYnJjbWZfZndlaF9wcm9jZXNzX3NrYmAsIG9yIGBicmNtZl9yeF9ldmVudGAgbWlnaHQgcGxheSBhIHN1cHBvcnRpbmcgcm9sZSwgb3IgY291bGQgZXZlbiBiZSBpbmRpcmVjdGx5IGludm9sdmVkLiBCdXQgZm9yIG5vdywgc2luY2UgdGhlIG1vZGlmaWNhdGlvbiBpcyBjb25maXJtZWQgaW4gYGJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4YCwgdGhhdCBzZWVtcyB0byBiZSB0aGUgcGxhY2UgdG8gc3RhcnQuIEkgbmVlZCB0byBhc3Nlc3MgaG93IHVzZWZ1bCBmb2N1c2luZyBvbiB0aGF0IHN5bWJvbCBpcy5cblxuXG4iLCJJbnB1dFRva2VucyI6MTI2OTYsIk91dHB1dFRva2VucyI6NTMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjYsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMzo0NS43MzY0NDA0OTJaIiwiU2VxIjoxOCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYxMTU3OTM2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmM9MjczPXN0YXRpYyBzMzJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYzoyNzQ6YnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngoc3RydWN0IGJyY21mX2lmICppZnAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2N5dy9jb3JlLmMtMjc1LVxcdFxcdFxcdCAgIGNvbnN0IHN0cnVjdCBicmNtZl9ldmVudF9tc2cgKmUsIHZvaWQgKmRhdGEpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYz0zNjA9c3RhdGljIHZvaWQgYnJjbWZfY3l3X3JlZ2lzdGVyX2V2ZW50X2hhbmRsZXJzKHN0cnVjdCBicmNtZl9wdWIgKmRydnIpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY3l3L2NvcmUuYy0zNjQtXFx0YnJjbWZfZndlaF9yZWdpc3RlcihkcnZyLCBCUkNNRl9FX0VYVF9BVVRIX0ZSQU1FX1JYLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jOjM2NTpcXHRcXHRcXHQgICAgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcngpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9jeXcvY29yZS5jLTM2Ni1cXHRicmNtZl9md2VoX3JlZ2lzdGVyKGRydnIsIEJSQ01GX0VfTUdNVF9GUkFNRV9UWFNUQVRVUyxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjdUMTM6MzM6NDUuNzk3NjA0MDg4WiIsIlNlcSI6MTksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQzNTA3MTAxODYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHN5bWJvbHMsIGtlZXBpbmcgaW4gbWluZCBteSBleHBlcnRpc2U6XG5cbioqTXkgSW5pdGlhbCBBc3Nlc3NtZW50IG9mIEZ1enppbmcgVGFyZ2V0cyoqXG5cbkFscmlnaHQsIGxldCdzIHNlZSwgYmFzZWQgb24gd2hhdCBJJ3ZlIGJlZW4gbG9va2luZyBhdCwgSSB0aGluayBgYnJjbWZfbm90aWZ5X2F1dGhfZnJhbWVfcnhgIGlzIGEgc29saWQgc3RhcnRpbmcgcG9pbnQgZm9yIGZ1enppbmcuIEl0J3MgYSBrZXkgZW50cnkgcG9pbnQsIGFuZCBmb2N1c2luZyBvbiBpdCBmaXJzdCBpcyBnb2luZyB0byBiZSBoZWxwZnVsLiBJIGtub3cgaG93IHRoZSBhdXRoZW50aWNhdGlvbiBmcmFtZSBoYW5kbGluZyBmdW5jdGlvbnMsIHNvIEkgY2FuIHNlZSB0aGlzIGJlaW5nIGEgcHJvZHVjdGl2ZSBhcmVhIHRvIGV4cGxvcmUuIEknbSBpbWFnaW5pbmcgaG93IEknZCBhcHByb2FjaCBpdCwga25vd2luZyB0aGUgcHJvdG9jb2wgbnVhbmNlcy5cblxuQmV5b25kIHRoYXQsIHRoZSBldmVudCBwcm9jZXNzaW5nIGxvZ2ljIHNlZW1zIHJpcGUgZm9yIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbi4gQm90aCBgYnJjbWZfZndlaF9wcm9jZXNzX2V2ZW50YCBhbmQgYGJyY21mX2Z3ZWhfcHJvY2Vzc19za2JgIGxvb2sgcGFydGljdWxhcmx5IHByb21pc2luZyB0byBoZWxwIHRoZSBmdXp6ZXIgZGl2ZSBpbnRvIHRoZSBjb3JlIGV2ZW50IHByb2Nlc3NpbmcuIFRhcmdldGluZyB0aG9zZSBmdW5jdGlvbnMgc2hvdWxkIGhlbHAgdG8gcmVhY2ggZGVlcGVyIHdpdGhpbiB0aGUgZHJpdmVyIGFuZCBleHBvc2UgbW9yZSBjb21wbGV4IHN0YXRlIHRyYW5zaXRpb25zLCB3aGljaCBpcyB3aGVyZSB0aGluZ3Mgb2Z0ZW4gYnJlYWsgaW4gdGhpcyB0eXBlIG9mIHN5c3RlbS4gSSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hhdCBkYXRhIGlucHV0cyB0cmlnZ2VyIHRoZWlyIGFjdGl2YXRpb24gYW5kIHRoZW4gZ2V0IG15IGZ1enplciB0YXJnZXRpbmcgdGhvc2UgaW5wdXRzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxMzU3NCwiT3V0cHV0VG9rZW5zIjoxNTcsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2NCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yN1QxMzozMzo1MC4xNDgzMTY1MDRaIiwiU2VxIjoyMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MTQ1NTUzNSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgICBcImJyY21mX2Z3ZWhfcHJvY2Vzc19za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYm91bmRzIGNoZWNrIHRvIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaW4gdGhlIGJyY21mbWFjIGRyaXZlciB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgYWNjZXNzIHdoZW4gcHJvY2Vzc2luZyBmaXJtd2FyZSBldmVudHMuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgdmlhIHRoZSBVU0IgaW50ZXJmYWNlIG9mIHRoZSBkcml2ZXIsIHdoaWNoIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZnV6emVyIChsaWtlIGR1bW15X2hjZCkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQlJDTUZNQUNcIixcbiAgICBcIkJSQ01GTUFDX1VTQlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcImJyY21mX25vdGlmeV9hdXRoX2ZyYW1lX3J4XCIsXG4gICAgXCJicmNtZl9md2VoX3Byb2Nlc3NfZXZlbnRcIixcbiAgICBcImJyY21mX2Z3ZWhfcHJvY2Vzc19za2JcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgYm91bmRzIGNoZWNrIHRvIGBicmNtZl9ub3RpZnlfYXV0aF9mcmFtZV9yeGAgaW4gdGhlIGJyY21mbWFjIGRyaXZlciB0byBwcmV2ZW50IG91dC1vZi1ib3VuZHMgYWNjZXNzIHdoZW4gcHJvY2Vzc2luZyBmaXJtd2FyZSBldmVudHMuIFRoaXMgY29kZSBpcyByZWFjaGFibGUgdmlhIHRoZSBVU0IgaW50ZXJmYWNlIG9mIHRoZSBkcml2ZXIsIHdoaWNoIGNhbiBiZSBmdXp6ZWQgdXNpbmcgYSBVU0IgZnV6emVyIChsaWtlIGR1bW15X2hjZCkuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowfvf4m[1] Phase: Succeeded StartedAt: 2026-06-27 13:34:01 +0000 UTC FinishedAt: 2026-06-27 13:34:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-06-27 13:34:01 +0000 UTC FinishedAt: 2026-06-27 13:34:01 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2] Phase: Succeeded StartedAt: 2026-06-27 13:34:01 +0000 UTC FinishedAt: 2026-06-27 14:26:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-06-27 13:34:01 +0000 UTC FinishedAt: 2026-06-27 14:26:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-06-27 13:34:01 +0000 UTC FinishedAt: 2026-06-27 13:34:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-06-27 13:34:01 +0000 UTC FinishedAt: 2026-06-27 13:34:07 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfvf4m/series-workflowfvf4m-convert-artifact-2679410138/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-06-27 13:34:11 +0000 UTC FinishedAt: 2026-06-27 13:56:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-06-27 13:34:11 +0000 UTC FinishedAt: 2026-06-27 13:56:17 +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:*ee271180-9977-4a14-9f5f-5fb85d0c1517,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-workflowfvf4m/series-workflowfvf4m-convert-artifact-2679410138/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": "68b99a32-8e26-4e6e-bb57-25c4b6fc2022", "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-workflowfvf4m/series-workflowfvf4m-build-action-1021493896/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-06-27 13:34:11 +0000 UTC FinishedAt: 2026-06-27 13:56:07 +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:*ee271180-9977-4a14-9f5f-5fb85d0c1517,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-workflowfvf4m/series-workflowfvf4m-convert-artifact-2679410138/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": "68b99a32-8e26-4e6e-bb57-25c4b6fc2022", "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-workflowfvf4m/series-workflowfvf4m-build-action-1021493896/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-06-27 13:56:17 +0000 UTC FinishedAt: 2026-06-27 13:56:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-06-27 13:56:17 +0000 UTC FinishedAt: 2026-06-27 13:56:17 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-06-27 13:56:17 +0000 UTC FinishedAt: 2026-06-27 13:56:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-06-27 13:56:17 +0000 UTC FinishedAt: 2026-06-27 13:56:25 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfvf4m/series-workflowfvf4m-convert-artifact-1304104245/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-06-27 13:56:27 +0000 UTC FinishedAt: 2026-06-27 13:59:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-06-27 13:56:27 +0000 UTC FinishedAt: 2026-06-27 13:59:19 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*68b99a32-8e26-4e6e-bb57-25c4b6fc2022,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-workflowfvf4m/series-workflowfvf4m-build-action-1021493896/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-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-06-27 13:59:29 +0000 UTC FinishedAt: 2026-06-27 13:59:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-06-27 13:59:29 +0000 UTC FinishedAt: 2026-06-27 13:59:29 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-06-27 13:59:29 +0000 UTC FinishedAt: 2026-06-27 14:20:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-06-27 13:59:29 +0000 UTC FinishedAt: 2026-06-27 14:20:31 +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:*ee271180-9977-4a14-9f5f-5fb85d0c1517,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-workflowfvf4m/series-workflowfvf4m-convert-artifact-1304104245/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": "c0ac50b9-2cc5-4dcf-a57f-7147c831edd8", "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-workflowfvf4m/series-workflowfvf4m-build-action-3796319809/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-06-27 13:59:29 +0000 UTC FinishedAt: 2026-06-27 14:20:21 +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:*ee271180-9977-4a14-9f5f-5fb85d0c1517,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-workflowfvf4m/series-workflowfvf4m-convert-artifact-1304104245/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": "c0ac50b9-2cc5-4dcf-a57f-7147c831edd8", "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-workflowfvf4m/series-workflowfvf4m-build-action-3796319809/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-06-27 14:20:31 +0000 UTC FinishedAt: 2026-06-27 14:20:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-06-27 14:20:31 +0000 UTC FinishedAt: 2026-06-27 14:20:31 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-06-27 14:20:31 +0000 UTC FinishedAt: 2026-06-27 14:22:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-06-27 14:20:31 +0000 UTC FinishedAt: 2026-06-27 14:22:22 +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:*c0ac50b9-2cc5-4dcf-a57f-7147c831edd8,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-workflowfvf4m/series-workflowfvf4m-build-action-3796319809/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-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-06-27 14:22:32 +0000 UTC FinishedAt: 2026-06-27 14:26:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-06-27 14:22:32 +0000 UTC FinishedAt: 2026-06-27 14:26:13 +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":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"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:*68b99a32-8e26-4e6e-bb57-25c4b6fc2022,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*c0ac50b9-2cc5-4dcf-a57f-7147c831edd8,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-workflowfvf4m/series-workflowfvf4m-build-action-1021493896/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-workflowfvf4m/series-workflowfvf4m-build-action-3796319809/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-06-27 14:22:32 +0000 UTC FinishedAt: 2026-06-27 14:22:42 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-06-27 14:22:32 +0000 UTC FinishedAt: 2026-06-27 14:22:37 +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":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"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-workflowfvf4m/series-workflowfvf4m-convert-artifact-1498023962/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-06-27 14:22:32 +0000 UTC FinishedAt: 2026-06-27 14:22:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-06-27 14:22:32 +0000 UTC FinishedAt: 2026-06-27 14:22:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-06-27 14:22:32 +0000 UTC FinishedAt: 2026-06-27 14:22:32 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-06-27 14:22:42 +0000 UTC FinishedAt: 2026-06-27 14:26:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfvf4m[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["brcmf_notify_auth_frame_rx","brcmf_fweh_process_event","brcmf_fweh_process_skb"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"5a66900afbd6b2a063eebad35294038a654de2b0","config_name":"upstream-apparmor-kasan.config","enable_configs":["BRCMFMAC","BRCMFMAC_USB"],"series_id":"bd157604-9d00-41c5-a379-de78e60b7c22","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-06-27 14:22:42 +0000 UTC FinishedAt: 2026-06-27 14:25:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*68b99a32-8e26-4e6e-bb57-25c4b6fc2022,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*c0ac50b9-2cc5-4dcf-a57f-7147c831edd8,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-workflowfvf4m/series-workflowfvf4m-build-action-1021493896/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-workflowfvf4m/series-workflowfvf4m-build-action-3796319809/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-workflowfvf4m/series-workflowfvf4m-convert-artifact-1498023962/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,}