Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgovLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCiNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4KLy8KI2luY2x1ZGUgImFmeHJlcy5oIgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIEVuZ2xpc2ggKFUuUy4pIHJlc291cmNlcwoKI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQojaWZkZWYgX1dJTjMyCkxBTkdVQUdFIExBTkdfRU5HTElTSCwgU1VCTEFOR19FTkdMSVNIX1VTCiNwcmFnbWEgY29kZV9wYWdlKDEyNTIpCiNlbmRpZiAvL19XSU4zMgoKI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gVEVYVElOQ0xVREUKLy8KCjEgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICAicmVzb3VyY2UuaFwwIgpFTkQKCjIgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICAiI2luY2x1ZGUgIiJhZnhyZXMuaCIiXHJcbiIKICAgICJcMCIKRU5ECgozIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIApCRUdJTgogICAgIiNkZWZpbmUgX0FGWF9OT19TUExJVFRFUl9SRVNPVVJDRVNcclxuIgogICAgIiNkZWZpbmUgX0FGWF9OT19PTEVfUkVTT1VSQ0VTXHJcbiIKICAgICIjZGVmaW5lIF9BRlhfTk9fVFJBQ0tFUl9SRVNPVVJDRVNcclxuIgogICAgIiNkZWZpbmUgX0FGWF9OT19QUk9QRVJUWV9SRVNPVVJDRVNcclxuIgogICAgIlxyXG4iCiAgICAiI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKVxyXG4iCiAgICAiI2lmZGVmIF9XSU4zMlxyXG4iCiAgICAiTEFOR1VBR0UgOSwgMVxyXG4iCiAgICAiI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MilcclxuIgogICAgIiNlbmRpZiAvL19XSU4zMlxyXG4iCiAgICAiI2luY2x1ZGUgIiJyZXNcXERpYWdyYW1QcmludC5yYzIiIiAgLy8gbm9uLU1pY3Jvc29mdCBWaXN1YWwgQysrIGVkaXRlZCByZXNvdXJjZXNcclxuIgogICAgIiNpbmNsdWRlICIiYWZ4cmVzLnJjIiIgICAgICAgICAvLyBTdGFuZGFyZCBjb21wb25lbnRzXHJcbiIKICAgICIjZW5kaWZcclxuIgogICAgIlwwIgpFTkQKCiNlbmRpZiAgICAvLyBBUFNUVURJT19JTlZPS0VECgojZW5kaWYgICAgLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gUG9ydHVndWVzZSAoQnJhemlsKSByZXNvdXJjZXMKCiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX1BUQikKI2lmZGVmIF9XSU4zMgpMQU5HVUFHRSBMQU5HX1BPUlRVR1VFU0UsIFNVQkxBTkdfUE9SVFVHVUVTRV9CUkFaSUxJQU4KI3ByYWdtYSBjb2RlX3BhZ2UoMTI1MikKI2VuZGlmIC8vX1dJTjMyCgojaWZuZGVmIF9NQUMKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gVmVyc2lvbgovLwoKVlNfVkVSU0lPTl9JTkZPIFZFUlNJT05JTkZPCiBGSUxFVkVSU0lPTiAxLDAsMCwxCiBQUk9EVUNUVkVSU0lPTiAxLDAsMCwxCiBGSUxFRkxBR1NNQVNLIDB4M2ZMCiNpZmRlZiBfREVCVUcKIEZJTEVGTEFHUyAweDFMCiNlbHNlCiBGSUxFRkxBR1MgMHgwTAojZW5kaWYKIEZJTEVPUyAweDRMCiBGSUxFVFlQRSAweDJMCiBGSUxFU1VCVFlQRSAweDBMCkJFR0lOCiAgICBCTE9DSyAiU3RyaW5nRmlsZUluZm8iCiAgICBCRUdJTgogICAgICAgIEJMT0NLICIwNDA5MDRiMCIKICAgICAgICBCRUdJTgogICAgICAgICAgICBWQUxVRSAiQ29tbWVudHMiLCAiXDAiCiAgICAgICAgICAgIFZBTFVFICJDb21wYW55TmFtZSIsICJJQk0gQ29ycG9yYXRpb25cMCIKICAgICAgICAgICAgVkFMVUUgIkZpbGVEZXNjcmlwdGlvbiIsICJEaWFncmFtUHJpbnQgRExMXDAiCiAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsICIxLCAwLCAwLCAxXDAiCiAgICAgICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLCAiRGlhZ3JhbVByaW50XDAiCiAgICAgICAgICAgIFZBTFVFICJMZWdhbENvcHlyaWdodCIsICJMaWNlbnNlZCBNYXRlcmlhbHMgLS0gUHJvcGVydHkgb2YgSUJNIC0gKEMpIENvcHlyaWdodCBJQk0gQ29ycG9yYXRpb24sIDIwMDMsMjAwOCAtIFVTIEdvdmVybm1lbnQgVXNlcnMgUmVzdHJpY3RlZCBSaWdodHMgLSBVc2UsIGR1cGxpY2F0aW9uIG9yIGRpc2Nsb3N1cmUgcmVzdHJpY3RlZCBieSBHU0EgQURQIFNjaGVkdWxlIENvbnRyYWN0IHdpdGggSUJNIENvcnAuXDAiCiAgICAgICAgICAgIFZBTFVFICJMZWdhbFRyYWRlbWFya3MiLCAiKFIpIElCTSBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrIG9mIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycG9yYXRpb24uICBXaW5kb3dzKFRNKSBpcyBhIHRyYWRlbWFyayBvZiBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXDAiCiAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgIkRpYWdyYW1QcmludC5ETExcMCIKICAgICAgICAgICAgVkFMVUUgIlByaXZhdGVCdWlsZCIsICJcMCIKICAgICAgICAgICAgVkFMVUUgIlByb2R1Y3ROYW1lIiwgIkRpYWdyYW1QcmludCBEeW5hbWljIExpbmsgTGlicmFyeVwwIgogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCAiMiwgMSwgMCwgMFwwIgogICAgICAgICAgICBWQUxVRSAiU3BlY2lhbEJ1aWxkIiwgIlwwIgogICAgICAgIEVORAogICAgRU5ECiAgICBCTE9DSyAiVmFyRmlsZUluZm8iCiAgICBCRUdJTgogICAgICAgIFZBTFVFICJUcmFuc2xhdGlvbiIsIDB4NDA5LCAxMjAwCiAgICBFTkQKRU5ECgojZW5kaWYgICAgLy8gIV9NQUMKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBEaWFsb2cKLy8KCjE1MzggRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OSwgMzQ3ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSW1wcmVzc+NvIgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJJbXByZXNzb3JhIiwxMDc1LDgsNCwyNzIsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk5vbWU6IiwxMDkzLDE0LDIxLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDUyLDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJQJnJvcHJpZWRhZGVzLi4uIiwxMDI1LDIxMiwxNyw2MCwxNCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJTdGF0dXM6IiwxMDk1LDE0LDM2LDI3LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsMzYsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIlRpcG86IiwxMDk0LDE0LDQ4LDIyLDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNDgsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIk9uZGU6IiwxMDk3LDE0LDYwLDI0LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNjAsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIkNvbWVudOFyaW86IiwxMDk2LDEzLDc0LDM4LDgsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAwLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw3MywxMzgsMTAKICAgIENPTlRST0wgICAgICAgICAiSW1wcmltaXIgbm8gYXJxdWkmdm8iLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIwMyw3Miw3MiwxMgogICAgR1JPVVBCT1ggICAgICAgICJJbnRlcnZhbG8gZGUgaW1wcmVzc+NvIGRvIGRpYWdyYW1hIiwxMDcyLDgsOTMsMjcyLDEwNiwKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJEaWFncmFtYSBhJnR1YWwiLElEQ19DVVJSRU5UX0RJQUdSQU0sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNywyNTMsMTIKICAgIENPTlRST0wgICAgICAgICAiVG9kb3Mgb3MgZCZpYWdyYW1hcyBkZSBtb2RlbG9zIGFiZXJ0b3MiLAogICAgICAgICAgICAgICAgICAgIElEQ19BTExfRElBR1JBTVMsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEyMSwxNDAsCiAgICAgICAgICAgICAgICAgICAgMTIKICAgIENPTlRST0wgICAgICAgICAiRGlhZ3JhbWFzIHMmZWxlY2lvbmFkb3M6IixJRENfU0VMRUNURURfRElBR1JBTVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzNSwyNTMsMTIKICAgIExJU1RCT1ggICAgICAgICBJRENfRElBR1JBTVMsMjgsMTQ5LDI0Myw0MyxMQlNfTVVMVElQTEVTRUwgfCAKICAgICAgICAgICAgICAgICAgICBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19IU0NST0xMIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJFc2NhbGEiLElEQ19TVEFUSUMsOCwyMDIsMjcyLDUxCiAgICBDT05UUk9MICAgICAgICAgIkEmanVzdGFyIGEgJSBkbyB0YW1hbmhvIG5vcm1hbDoiLElEQ19TQ0FMRV9QRVJDRU5ULAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwKICAgICAgICAgICAgICAgICAgICAyMTgsMTE0LDEyCiAgICBDT05UUk9MICAgICAgICAgIkFqdSZzdGFyIGE6IixJRENfU0NBTEVfRklULCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjMzLDQzLDEyCiAgICBMVEVYVCAgICAgICAgICAgIkEmanVzdGFyIGEgJSBkbyB0YW1hbmhvIG5vcm1hbDoiLDExMDIsMjcsMjIwLDEwMSw4LE5PVCAKICAgICAgICAgICAgICAgICAgICBXU19WSVNJQkxFCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BFUkNFTlQsMTM0LDIxNywzMiwxMixFU19OVU1CRVIKICAgIExURVhUICAgICAgICAgICAiJmxhcmd1cmEgZGFzIHDhZ2luYXM6IiwxMTA1LDY1LDIzNSw2Niw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTSwxMzQsMjMzLDMyLDEyLEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICJhbHQmdXJhIGRhcyBw4WdpbmFzOiIsSURDX1NUQVRJQywxNjcsMjM1LDY2LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNOLDIzNiwyMzQsMzUsMTIsRVNfTlVNQkVSCiAgICBMVEVYVCAgICAgICAgICAgIiIsSURDX1NUQVRJQywyNjMsMjM1LDcsOSxOT1QgV1NfVklTSUJMRQogICAgR1JPVVBCT1ggICAgICAgICJJbnRlcnZhbG8gZGUgaW1wcmVzc+NvIiwxMDc0LDgsMjU3LDEzMiw2NCxXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJUJm9kb3MiLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDI3MiwzMywxMgogICAgQ09OVFJPTCAgICAgICAgICImUOFnaW5hcyIsMTA1OCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMjg2LDM5LDEyCiAgICBSVEVYVCAgICAgICAgICAgIiZkZToiLDEwODksMjQsMzAyLDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUyLDQ4LDMwMCwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgUlRFWFQgICAgICAgICAgICImYToiLDEwOTAsNzYsMzAyLDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUzLDEwMCwzMDAsMjcsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIEdST1VQQk9YICAgICAgICAiQ/NwaWFzIiwxMDczLDE0NywyNTcsMTMyLDY0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIk76bWVybyBkZSAmY/NwaWFzOiIsMTA5MiwxNjMsMjczLDY4LDgKICAgIEVESVRURVhUICAgICAgICAxMTU0LDIzNSwyNzEsMzIsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiQSZncnVwYXIiLDEwNDEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIyMywzMDMsNDgsMTIKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDMyOCw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWxhciIsSURDQU5DRUwsMjMyLDMyOCw0OCwxNAogICAgSUNPTiAgICAgICAgICAgICIiLDEwODYsMTUyLDI5Nyw3MCwyNSxXU19HUk9VUApFTkQKCjE1MzkgRElBTE9HIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQ29uZmlndXJh5+NvIGRlIEltcHJlc3PjbyIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiSW1wcmVzc29yYSIsMTA3NSw4LDQsMjcyLDg0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZOb21lOiIsMTA5MywxMywyMCwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzNiw1MiwxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiUCZyb3ByaWVkYWRlcyIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiU3RhdHVzOiIsMTA5NSwxMywzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJUaXBvOiIsMTA5NCwxMyw0OCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDQ4LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJPbmRlOiIsMTA5NywxMyw2MCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDEsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDYwLDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICJDb21lbnThcmlvOiIsMTA5NiwxMyw3MiwzOSwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDcyLDIyNCwxMAogICAgR1JPVVBCT1ggICAgICAgICJQYXBlbCIsMTA3Myw4LDkyLDE2NCw1NixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICJUYSZtYW5obzoiLDEwODksMTYsMTA4LDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDUyLDEwNiwxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiJk9yaWdlbToiLDEwOTAsMTYsMTI4LDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDUyLDEyNiwxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiT3JpZW50YefjbyIsMTA3MiwxODAsOTIsMTAwLDU2LFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NCwxOTUsMTEyLDE4LDIwLFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIlImZXRyYXRvIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIlAmYWlzYWdlbSIsMTA1NywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjI0LDEyNiw1MiwKICAgICAgICAgICAgICAgICAgICAxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRENBTkNFTCwyMzIsMTU2LDQ4LDE0CkVORAoKMTU0NiBESUFMT0cgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjQwLCAyNDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTXzNETE9PSyB8IERTX0NPTlRFWFRIRUxQIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgCiAgICBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDb25maWd1cmHn428gZGEgUOFnaW5hIgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODAsIlN0YXRpYyIsU1NfV0hJVEVSRUNUIHwgV1NfR1JPVVAsODAsOCw4MCw4MAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODEsIlN0YXRpYyIsU1NfR1JBWVJFQ1QgfCBXU19HUk9VUCwxNjAsMTIsNCw4MAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODIsIlN0YXRpYyIsU1NfR1JBWVJFQ1QgfCBXU19HUk9VUCw4NCw4OCw4MCw0CiAgICBHUk9VUEJPWCAgICAgICAgIlBhcGVsIiwxMDczLDgsOTYsMjI0LDU2LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIlRhJm1hbmhvOiIsMTA4OSwxNiwxMTIsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzcsNjQsMTEwLDE2MCwxNjAsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImT3JpZ2VtOiIsMTA5MCwxNiwxMzIsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzgsNjQsMTMwLDE2MCwxNjAsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJPcmllbnRh5+NvIiwxMDcyLDgsMTU2LDY0LDU2LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZSZXRyYXRvIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwxNzAsMzcsMTIKICAgIENPTlRST0wgICAgICAgICAiUCZhaXNhZ2VtIiwxMDU3LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxOTAsNTIsCiAgICAgICAgICAgICAgICAgICAgMTIKICAgIEdST1VQQk9YICAgICAgICAiTWFyZ2VucyIsMTA3NSw4MCwxNTYsMTUyLDU2LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiZFc3F1ZXJkYToiLDExMDIsODUsMTcyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU1LDEyMCwxNzAsMjgsMTIsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJkRpcmVpdGE6IiwxMTAzLDE2NCwxNzIsMzIsOAogICAgRURJVFRFWFQgICAgICAgIDExNTcsMTk2LDE3MCwyOCwxMixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImU3VwZXJpb3I6IiwxMTA0LDg1LDE5MiwzMiw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NiwxMjAsMTkwLDI4LDEyLFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIkkmbmZlcmlvcjoiLDExMDUsMTY0LDE5MiwyMyw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1OCwxOTYsMTkwLDI4LDEyLFdTX0dST1VQCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDgwLDIyMCw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJDYW5jZWxhciIsSURDQU5DRUwsMTMyLDIyMCw0OCwxNAogICAgUFVTSEJVVFRPTiAgICAgICImSW1wcmVzc29yYS4uLiIsMTAyNiwxODQsMjIwLDQ4LDE0CkVORAoKMTIzNCBESUFMT0cgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxODYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTXzNETE9PSyB8IERTX0NPTlRFWFRIRUxQIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgCiAgICBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJJbXByZXNz428iCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkltcHJlc3NvcmEiLDEwNzUsOCw0LDI3Miw4NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTm9tZToiLDEwOTMsMTMsMjAsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIlAmcm9wcmllZGFkZXMiLDEwMjUsMjEyLDE3LDYwLDE0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLDEwOTUsMTMsMzYsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1MywzNiwyMjEsMTAKICAgIExURVhUICAgICAgICAgICAiVGlwbzoiLDEwOTQsMTMsNDgsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk4LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Myw0OCwyMjEsMTAKICAgIExURVhUICAgICAgICAgICAiT25kZToiLDEwOTcsMTMsNjAsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Myw2MCwyMjEsMTAKICAgIExURVhUICAgICAgICAgICAiQ29tZW504XJpbzoiLDEwOTYsMTMsNzIsMzgsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAwLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Myw3MiwxMzYsMTAKICAgIENPTlRST0wgICAgICAgICAiSW1wcmltaXIgbm8gYXJxdWkmdm8iLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIwMCw3MCw3NCwxMgogICAgR1JPVVBCT1ggICAgICAgICJJbnRlcnZhbG8gZGUgaW1wcmVzc+NvIiwxMDcyLDgsOTIsMTQ0LDY0LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIiZUb2RvcyIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMTA2LDY0LDEyCiAgICBDT05UUk9MICAgICAgICAgIiZQ4WdpbmFzIiwxMDU4LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxMjIsMzksMTIKICAgIENPTlRST0wgICAgICAgICAiJlNlbGXn428iLDEwNTcsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDEzOCw0MywxMgogICAgUlRFWFQgICAgICAgICAgICImZGU6IiwxMDg5LDcyLDEyNCwxMSw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1Miw4NiwxMjIsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIFJURVhUICAgICAgICAgICAiJmE6IiwxMDkwLDExMywxMjQsOCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxMjMsMTIyLDI2LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIkPzcGlhcyIsMTA3MywxNjAsOTIsMTIwLDY0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIk76bWVybyBkZSAmY/NwaWFzOiIsMTA5MiwxNjgsMTA4LDY4LDgKICAgIEVESVRURVhUICAgICAgICAxMTU0LDI0MCwxMDYsMzIsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICAiIiwxMDg2LDE2MiwxMjQsNzYsMjQsU1NfQ0VOVEVSSU1BR0UgfCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJBJmdydXBhciIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjQwLDEzMCwzOSwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTY0LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRENBTkNFTCwyMzIsMTY0LDQ4LDE0CkVORAoKMTU0NyBESUFMT0dFWCAzMiwgMzIsIDI4OSwgMzU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSW1wcmVzc+NvIgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIiwgMCwgMCwgMHgxCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkltcHJlc3NvcmEiLDEwNzUsOCw0LDI3Miw4NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTm9tZToiLDEwOTMsMTQsMjEsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzksNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIlAmcm9wcmllZGFkZXMuLi4iLDEwMjUsMjEyLDE3LDYwLDE0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIlN0YXR1czoiLDEwOTUsMTQsMzYsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1NCwzNiwyMjEsMTAKICAgIExURVhUICAgICAgICAgICAiVGlwbzoiLDEwOTQsMTQsNDgsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk4LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1NCw0OCwyMjEsMTAKICAgIExURVhUICAgICAgICAgICAiT25kZToiLDEwOTcsMTQsNjAsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1NCw2MCwyMjEsMTAKICAgIExURVhUICAgICAgICAgICAiQ29tZW504XJpbzoiLDEwOTYsMTQsNzIsMzksMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAwLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1NCw3MiwxNDAsMTAKICAgIENPTlRST0wgICAgICAgICAiSW1wcmltaXIgbm8gYXJxdWkmdm8iLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIwMSw3MCw3MywxMgogICAgR1JPVVBCT1ggICAgICAgICJJbnRlcnZhbG8gZGUgaW1wcmVzc+NvIGRvIGRpYWdyYW1hIiwxMDcyLDgsOTMsMjcyLDEwNiwKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJEaWFncmFtYSBhJnR1YWwiLElEQ19DVVJSRU5UX0RJQUdSQU0sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNyw2MSwxMgogICAgQ09OVFJPTCAgICAgICAgICJUb2RvcyBvcyBkJmlhZ3JhbWFzIGRlIG1vZGVsb3MgYWJlcnRvcyIsCiAgICAgICAgICAgICAgICAgICAgSURDX0FMTF9ESUFHUkFNUywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIxLDE0MCwKICAgICAgICAgICAgICAgICAgICAxMgogICAgQ09OVFJPTCAgICAgICAgICJEaWFncmFtYXMgcyZlbGVjaW9uYWRvczoiLElEQ19TRUxFQ1RFRF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTYsMTM1LDI1MywxMgogICAgTElTVEJPWCAgICAgICAgIElEQ19ESUFHUkFNUywyOCwxNDksMjQzLDQzLExCU19NVUxUSVBMRVNFTCB8IAogICAgICAgICAgICAgICAgICAgIExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX0hTQ1JPTEwgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIkVzY2FsYSIsSURDX1NUQVRJQyw4LDIwMiwyNzIsNTEKICAgIENPTlRST0wgICAgICAgICAiQSZqdXN0YXIgYSAlIGRvIHRhbWFuaG8gbm9ybWFsOiIsSURDX1NDQUxFX1BFUkNFTlQsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LAogICAgICAgICAgICAgICAgICAgIDIxOCwxMTQsMTIKICAgIENPTlRST0wgICAgICAgICAiQWp1JnN0YXIgYToiLElEQ19TQ0FMRV9GSVQsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwyMzMsNDMsMTIKICAgIExURVhUICAgICAgICAgICAiQSZqdXN0YXIgYSAlIGRvIHRhbWFuaG8gbm9ybWFsOiIsMTEwMiwyOCwyMjAsMTAxLDgsTk9UIAogICAgICAgICAgICAgICAgICAgIFdTX1ZJU0lCTEUKICAgIEVESVRURVhUICAgICAgICBJRENfUEVSQ0VOVCwxMzEsMjE3LDMyLDEyLEVTX05VTUJFUgogICAgTFRFWFQgICAgICAgICAgICImbGFyZ3VyYSBkYXMgcOFnaW5hczoiLDExMDUsNjUsMjM1LDY0LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNNLDEzMiwyMzMsMzIsMTIsRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgImFsdCZ1cmEgZGFzIHDhZ2luYXM6IixJRENfU1RBVElDLDE3MSwyMzUsNTksOAogICAgRURJVFRFWFQgICAgICAgIElEQ19QQUdFU04sMjM1LDIzMywzMiwxMixFU19OVU1CRVIKICAgIExURVhUICAgICAgICAgICAiIixJRENfU1RBVElDLDI2MCwyMzUsNyw4LE5PVCBXU19WSVNJQkxFCiAgICBHUk9VUEJPWCAgICAgICAgIkludGVydmFsbyBkZSBpbXByZXNz428iLDEwNzQsOCwyNTcsMTMyLDY0LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIlQmb2RvcyIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTYsMjcyLDMzLDEyCiAgICBDT05UUk9MICAgICAgICAgIiZQ4WdpbmFzIiwxMDU4LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwyODYsMzksMTIKICAgIFJURVhUICAgICAgICAgICAiJmRlOiIsMTA4OSwyNCwzMDIsMjAsOAogICAgRURJVFRFWFQgICAgICAgIDExNTIsNDgsMzAwLDI2LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBSVEVYVCAgICAgICAgICAgIiZhOiIsMTA5MCw3NiwzMDIsMjAsOAogICAgRURJVFRFWFQgICAgICAgIDExNTMsMTAwLDMwMCwyNywxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgR1JPVVBCT1ggICAgICAgICJD83BpYXMiLDEwNzMsMTQ3LDI1NywxMzIsNjQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiTvptZXJvIGRlICZj83BpYXM6IiwxMDkyLDE2MywyNzMsNjgsOAogICAgRURJVFRFWFQgICAgICAgIDExNTQsMjM1LDI3MSwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICJBJmdydXBhciIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjM1LDI5NSw0MCwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMzI4LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRENBTkNFTCwyMzIsMzI4LDQ4LDE0CiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NiwxNTYsMjkwLDcwLDI1LFdTX0dST1VQCkVORAoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIERFU0lHTklORk8KLy8KCiNpZmRlZiBBUFNUVURJT19JTlZPS0VECkdVSURFTElORVMgREVTSUdOSU5GTyBESVNDQVJEQUJMRSAKQkVHSU4KICAgIDE1MzgsIERJQUxPRwogICAgQkVHSU4KICAgICAgICBSSUdIVE1BUkdJTiwgMjg2CiAgICAgICAgQk9UVE9NTUFSR0lOLCAzNDIKICAgIEVORAoKICAgIDE1NDcsIERJQUxPRwogICAgQkVHSU4KICAgICAgICBSSUdIVE1BUkdJTiwgMjg2CiAgICAgICAgQk9UVE9NTUFSR0lOLCAzNDIKICAgIEVORApFTkQKI2VuZGlmICAgIC8vIEFQU1RVRElPX0lOVk9LRUQKCiNlbmRpZiAgICAvLyBQb3J0dWd1ZXNlIChCcmF6aWwpIHJlc291cmNlcwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgojaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi8vCiNkZWZpbmUgX0FGWF9OT19TUExJVFRFUl9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX09MRV9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX1RSQUNLRVJfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19QUk9QRVJUWV9SRVNPVVJDRVMKCiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VOVSkKI2lmZGVmIF9XSU4zMgpMQU5HVUFHRSA5LCAxCiNwcmFnbWEgY29kZV9wYWdlKDEyNTIpCiNlbmRpZiAvL19XSU4zMgojaW5jbHVkZSAicmVzXERpYWdyYW1QcmludC5yYzIiICAvLyBub24tTWljcm9zb2Z0IFZpc3VhbCBDKysgZWRpdGVkIHJlc291cmNlcwojaW5jbHVkZSAiYWZ4cmVzLnJjIiAgICAgICAgIC8vIFN0YW5kYXJkIGNvbXBvbmVudHMKI2VuZGlmCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwojZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQKCg==