Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgovLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCiNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4KLy8KI2luY2x1ZGUgImFmeHJlcy5oIgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIFVua25vd24gbGFuZ3VhZ2U6IDB4RCwgMHgxIHJlc291cmNlcwoKI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfSEVCKQojaWZkZWYgX1dJTjMyCkxBTkdVQUdFIDB4RCwgMHgxCiNwcmFnbWEgY29kZV9wYWdlKDEyNTUpCiNlbmRpZiAvL19XSU4zMgoKI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gVEVYVElOQ0xVREUKLy8KCjEgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICAicmVzb3VyY2UuaFwwIgpFTkQKCjIgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICAiI2luY2x1ZGUgIiJhZnhyZXMuaCIiXHJcbiIKICAgICJcMCIKRU5ECgozIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIApCRUdJTgogICAgIiNkZWZpbmUgX0FGWF9OT19TUExJVFRFUl9SRVNPVVJDRVNcclxuIgogICAgIiNkZWZpbmUgX0FGWF9OT19PTEVfUkVTT1VSQ0VTXHJcbiIKICAgICIjZGVmaW5lIF9BRlhfTk9fVFJBQ0tFUl9SRVNPVVJDRVNcclxuIgogICAgIiNkZWZpbmUgX0FGWF9OT19QUk9QRVJUWV9SRVNPVVJDRVNcclxuIgogICAgIlxyXG4iCiAgICAiI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfSEVCKVxyXG4iCiAgICAiI2lmZGVmIF9XSU4zMlxyXG4iCiAgICAiTEFOR1VBR0UgMTMsIDFcclxuIgogICAgIiNwcmFnbWEgY29kZV9wYWdlKDEyNTUpXHJcbiIKICAgICIjZW5kaWYgLy9fV0lOMzJcclxuIgogICAgIiNpbmNsdWRlICIicmVzXFxEaWFncmFtUHJpbnQucmMyIiIgIC8vIG5vbi1NaWNyb3NvZnQgVmlzdWFsIEMrKyBlZGl0ZWQgcmVzb3VyY2VzXHJcbiIKICAgICIjaW5jbHVkZSAiImFmeHJlcy5yYyIiICAgICAgICAgLy8gU3RhbmRhcmQgY29tcG9uZW50c1xyXG4iCiAgICAiI2VuZGlmXHJcbiIKICAgICJcMCIKRU5ECgojZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAoKCiNpZm5kZWYgX01BQwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBWZXJzaW9uCi8vCgpWU19WRVJTSU9OX0lORk8gVkVSU0lPTklORk8KIEZJTEVWRVJTSU9OIDEsMCwwLDEKIFBST0RVQ1RWRVJTSU9OIDEsMCwwLDEKIEZJTEVGTEFHU01BU0sgMHgzZkwKI2lmZGVmIF9ERUJVRwogRklMRUZMQUdTIDB4MUwKI2Vsc2UKIEZJTEVGTEFHUyAweDBMCiNlbmRpZgogRklMRU9TIDB4NEwKIEZJTEVUWVBFIDB4MkwKIEZJTEVTVUJUWVBFIDB4MEwKQkVHSU4KICAgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyIKICAgIEJFR0lOCiAgICAgICAgQkxPQ0sgIjA0MDkwNGIwIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIFZBTFVFICJDb21tZW50cyIsICJcMCIKICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwgIklCTSBDb3Jwb3JhdGlvblwwIgogICAgICAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgIkRpYWdyYW1QcmludCBETExcMCIKICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgIjEsIDAsIDAsIDFcMCIKICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJEaWFncmFtUHJpbnRcMCIKICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkxpY2Vuc2VkIE1hdGVyaWFscyAtLSBQcm9wZXJ0eSBvZiBJQk0gLSAoQykgQ29weXJpZ2h0IElCTSBDb3Jwb3JhdGlvbiwgMjAwMywyMDA4IC0gVVMgR292ZXJubWVudCBVc2VycyBSZXN0cmljdGVkIFJpZ2h0cyAtIFVzZSwgZHVwbGljYXRpb24gb3IgZGlzY2xvc3VyZSByZXN0cmljdGVkIGJ5IEdTQSBBRFAgU2NoZWR1bGUgQ29udHJhY3Qgd2l0aCBJQk0gQ29ycC5cMCIKICAgICAgICAgICAgVkFMVUUgIkxlZ2FsVHJhZGVtYXJrcyIsICIoUikgSUJNIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3JhdGlvbi4gIFdpbmRvd3MoVE0pIGlzIGEgdHJhZGVtYXJrIG9mIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cMCIKICAgICAgICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLCAiRGlhZ3JhbVByaW50LkRMTFwwIgogICAgICAgICAgICBWQUxVRSAiUHJpdmF0ZUJ1aWxkIiwgIlwwIgogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiRGlhZ3JhbVByaW50IER5bmFtaWMgTGluayBMaWJyYXJ5XDAiCiAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsICIyLCAxLCAwLCAwXDAiCiAgICAgICAgICAgIFZBTFVFICJTcGVjaWFsQnVpbGQiLCAiXDAiCiAgICAgICAgRU5ECiAgICBFTkQKICAgIEJMT0NLICJWYXJGaWxlSW5mbyIKICAgIEJFR0lOCiAgICAgICAgVkFMVUUgIlRyYW5zbGF0aW9uIiwgMHg0MDksIDEyMDAKICAgIEVORApFTkQKCiNlbmRpZiAgICAvLyAhX01BQwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIERpYWxvZwovLwoKMTUzOCBESUFMT0dFWCAzMiwgMzIsIDMwNywgMzU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi5OP08eQiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIu7j9PH6IiwxMDc1LDksNCwyODksODQsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIib57ToiLDEwOTMsMjQ1LDIxLDM2LDgsMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDg1LDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIFBVU0hCVVRUT04gICAgICAiJvrr5fDl+i4uLv4iLDEwMjUsMTcsMTcsNjAsMTQsV1NfR1JPVVAsV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICLu9uE6IiwxMDk1LDI1MiwzNiwyOSwxMCxTU19OT1BSRUZJWCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCwxMywzNiwyMjQsMTAsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIvHl4joiLDEwOTQsMjUzLDQ4LDI4LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDEzLDQ4LDIyNCwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi4On05DoiLDEwOTcsMjU1LDYwLDI2LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDEsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDEzLDYwLDIyNCwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi5PL45DoiLDEwOTYsMjU0LDcyLDI3LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDg1LDcyLDE1MiwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIENPTlRST0wgICAgICAgICAi5OP08eQg7Cb35eH1IiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMyw3MCw2NCwxMixXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIEdST1VQQk9YICAgICAgICAi6OXl5yDk4/Tx5CD57CD6+Pnp7untIiwxMDcyLDksOTMsMjkwLDEwNixCU19SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLFdTX0VYX1JUTFJFQURJTkcKICAgIENPTlRST0wgICAgICAgICAi+vj56e0gJvDl6+fpIixJRENfQ1VSUkVOVF9ESUFHUkFNLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwzMywxMDcsMjUzLDEyLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICLr7CDk+vj56e7p7SDu5O7l4+zp7SDkJvT65efp7SIsSURDX0FMTF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTA5LDEyMSwxNzcsMTIsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIvr4+Sbp7untIPDh5/jp7ToiLElEQ19TRUxFQ1RFRF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTcxLDEzNSwxMTUsMTIsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBMSVNUQk9YICAgICAgICAgSURDX0RJQUdSQU1TLDE4LDE0OSwyNDMsNDMsTEJTX01VTFRJUExFU0VMIHwgCiAgICAgICAgICAgICAgICAgICAgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfSFNDUk9MTCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfTEVGVFNDUk9MTEJBUgogICAgR1JPVVBCT1ggICAgICAgICL38OQg7unj5CIsSURDX1NUQVRJQyw5LDIwMiwyOTAsNTEsQlNfUklHSFQsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICLk+uDu5CDsJuDn5eYg+ewg5+zl7yD44unsOiIsSURDX1NDQUxFX1BFUkNFTlQsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE3MSwyMTgsMTExLAogICAgICAgICAgICAgICAgICAgIDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIm5Prg7uQg7PTpOiIsSURDX1NDQUxFX0ZJVCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIzMiwyMzMsNTAsMTIsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BFUkNFTlQsMTIxLDIxNywzMiwxMixFU19OVU1CRVIsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HIHwgV1NfRVhfTEVGVFNDUk9MTEJBUgogICAgTFRFWFQgICAgICAgICAgICIm+OXn4SDh8u7l4+ntOiIsMTEwNSwxNjEsMjM1LDUzLDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNNLDEyMSwyMzMsMzIsMTIsRVNfTlVNQkVSLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIFJURVhUICAgICAgICAgICAiJuLl4eQg4fLu5ePp7ToiLElEQ19TVEFUSUMsNTgsMjM1LDU0LDEwLDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTiwyMiwyMzMsMzIsMTIsRVNfTlVNQkVSLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIExURVhUICAgICAgICAgICAiIixJRENfU1RBVElDLDI2LDIzNiw4LDgsTk9UIFdTX1ZJU0lCTEUKICAgIEdST1VQQk9YICAgICAgICAi6OXl5yDk4/Tx5CIsMTA3NCwxNDksMjU3LDE0OSw2OCxCU19SSUdIVCB8IFdTX0dST1VQLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIENPTlRST0wgICAgICAgICAi5Cbr7CIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTc0LDI3MiwxMTAsMTIsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiby7uXj6e0iLDEwNTgsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE3NCwyODYsMTEwLAogICAgICAgICAgICAgICAgICAgIDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgUlRFWFQgICAgICAgICAgICIm7vLu5eM6IiwxMDg5LDI1NCwzMDQsMjQsOCwwLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgRURJVFRFWFQgICAgICAgIDExNTIsMjIyLDMwMiwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBSVEVYVCAgICAgICAgICAgIvIm4zoiLDEwOTAsMTg5LDMwNCwxNiw4LDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxNTQsMzAyLDI3LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIEdST1VQQk9YICAgICAgICAi8uX69+ntIiwxMDczLDEwLDI1NywxMzIsNjgsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIu7x9Pgg8ibl+vfp7ToiLDEwOTIsNjQsMjczLDUyLDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIEVESVRURVhUICAgICAgICAxMTU0LDIyLDI3MSwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBDT05UUk9MICAgICAgICAgIuDpJvHl8yIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBCU19SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxMywyOTQsNDUsMTIsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBERUZQVVNIQlVUVE9OICAgIuDp+eX4IixJRE9LLDYxLDMzMyw0OCwxNCxXU19HUk9VUCxXU19FWF9SVExSRUFESU5HCiAgICBQVVNIQlVUVE9OICAgICAgIuHp6OXsIixJRENBTkNFTCw5LDMzMyw0OCwxNCwwLFdTX0VYX1JUTFJFQURJTkcKICAgIElDT04gICAgICAgICAgICAiIiwxMDg2LDY2LDI5MCw3MCwyNSxXU19HUk9VUApFTkQKCjE1MzkgRElBTE9HRVggMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIuTi4/jl+iDk4/Tx5CIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIsIDAsIDAsIDB4MQpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICLu4/Tx+iIsMTA3NSw4LDQsMjcyLDg0LEJTX1JJR0hUIHwgV1NfR1JPVVAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICIm+e06IiwxMDkzLDIzNiwyMCwzNiw4LDAsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBDT01CT0JPWCAgICAgICAgMTEzNiw4NCwxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBQVVNIQlVUVE9OICAgICAgIib66+Xw5foiLDEwMjUsMTYsMTcsNjAsMTQsV1NfR1JPVVAsV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICLu9uE6IiwxMDk1LDIzNiwzNiwzNiwxMCxTU19OT1BSRUZJWCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCwxMiwzNiwyMjQsMTAsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIvHl4joiLDEwOTQsMjM2LDQ4LDM2LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDEyLDQ4LDIyNCwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi4On05DoiLDEwOTcsMjM2LDYwLDM2LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDEsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDEyLDYwLDIyNCwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi5PL45DoiLDEwOTYsMjM2LDcyLDM2LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDEyLDcyLDIyNCwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIEdST1VQQk9YICAgICAgICAi8Onp+CIsMTA3MywxMTYsOTIsMTY0LDU2LEJTX1JJR0hUIHwgV1NfR1JPVVAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICIm4uXj7DoiLDEwODksMjM2LDEwOCwzNiw4LDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT01CT0JPWCAgICAgICAgMTEzNywxMjQsMTA2LDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBMVEVYVCAgICAgICAgICAgIu4m9+X4OiIsMTA5MCwyMzYsMTI4LDM2LDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDEyNCwxMjYsMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIEdST1VQQk9YICAgICAgICAi6+nl5fDp5foiLDEwNzIsOCw5MiwxMDAsNTYsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NCw3NSwxMTIsMTgsMjAsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAi7Cbg5fjqIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMiwxMDYsNTIsMTIsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIuwm+OXn4SIsMTA1NywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTIsMTI2LDUyLDEyLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgREVGUFVTSEJVVFRPTiAgICLg6fnl+CIsSURPSyw2MCwxNTYsNDgsMTQsV1NfR1JPVVAsV1NfRVhfUlRMUkVBRElORwogICAgUFVTSEJVVFRPTiAgICAgICLh6ejl7CIsSURDQU5DRUwsOCwxNTYsNDgsMTQsMCxXU19FWF9SVExSRUFESU5HCkVORAoKMTU0NiBESUFMT0dFWCAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi5OLj+OX6IPLu5eMiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiLCAwLCAwLCAweDEKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiIiwxMDgwLCJTdGF0aWMiLFNTX1dISVRFUkVDVCB8IFdTX0dST1VQLDgwLDgsODAsODAKICAgIENPTlRST0wgICAgICAgICAiIiwxMDgxLCJTdGF0aWMiLFNTX0dSQVlSRUNUIHwgV1NfR1JPVVAsNzYsMTIsNCw4MAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwODIsIlN0YXRpYyIsU1NfR1JBWVJFQ1QgfCBXU19HUk9VUCw3Niw4OCw4MCw0CiAgICBHUk9VUEJPWCAgICAgICAgIvDp6fgiLDEwNzMsOCw5NiwyMjQsNTYsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIibi5ePsOiIsMTA4OSwxODgsMTEyLDM2LDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDE2LDExMCwxNjAsMTYwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HIHwgV1NfRVhfTEVGVFNDUk9MTEJBUgogICAgTFRFWFQgICAgICAgICAgICLuJvfl+DoiLDEwOTAsMjA1LDEzMiwxOSw4LDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT01CT0JPWCAgICAgICAgMTEzOCwxNiwxMzAsMTYwLDE2MCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIEdST1VQQk9YICAgICAgICAi6+nl5fDp5foiLDEwNzIsMTY4LDE1Niw2NCw1NixCU19SSUdIVCB8IFdTX0dST1VQLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIENPTlRST0wgICAgICAgICAi7Cbg5fjqIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNzIsMTcwLDUyLDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICLsJvjl5+EiLDEwNTcsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE3MiwxOTAsNTIsMTIsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBHUk9VUEJPWCAgICAgICAgIvnl7Onp7SIsMTA3NSw4LDE1NiwxNTIsNTYsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIib57uDs6entOiIsMTEwMiwxMTgsMTcyLDM0LDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIEVESVRURVhUICAgICAgICAxMTU1LDg2LDE3MCwyOCwxMixXU19HUk9VUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBMVEVYVCAgICAgICAgICAgIibp7vDp6e06IiwxMTAzLDQ0LDE3MiwzMiw4LDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBFRElUVEVYVCAgICAgICAgMTE1NywxMywxNzAsMjgsMTIsV1NfR1JPVVAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HIHwgV1NfRVhfTEVGVFNDUk9MTEJBUgogICAgTFRFWFQgICAgICAgICAgICIm8uzp5fDp7ToiLDExMDQsMTIwLDE5MiwzMiw4LDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBFRElUVEVYVCAgICAgICAgMTE1Niw4NiwxOTAsMjgsMTIsV1NfR1JPVVAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HIHwgV1NfRVhfTEVGVFNDUk9MTEJBUgogICAgTFRFWFQgICAgICAgICAgICIm+uf65fDp7ToiLDExMDUsNDQsMTkyLDMyLDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIEVESVRURVhUICAgICAgICAxMTU4LDEzLDE5MCwyOCwxMixXU19HUk9VUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBERUZQVVNIQlVUVE9OICAgIuDp+eX4IixJRE9LLDExMiwyMjAsNDgsMTQsV1NfR1JPVVAsV1NfRVhfUlRMUkVBRElORwogICAgUFVTSEJVVFRPTiAgICAgICLh6ejl7CIsSURDQU5DRUwsNjAsMjIwLDQ4LDE0LDAsV1NfRVhfUlRMUkVBRElORwogICAgUFVTSEJVVFRPTiAgICAgICIm7uP08fouLi7+IiwxMDI2LDgsMjIwLDQ4LDE0LDAsV1NfRVhfUlRMUkVBRElORwpFTkQKCjEyMzQgRElBTE9HRVggMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIuTj9PHkIgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIiwgMCwgMCwgMHgxCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIu7j9PH6IiwxMDc1LDksNCwyNzIsODQsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIib57ToiLDEwOTMsMjM2LDIwLDM2LDgsMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDg0LDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIFBVU0hCVVRUT04gICAgICAiJvrr5fDl+iIsMTAyNSwxNiwxNyw2MCwxNCxXU19HUk9VUCxXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIu724ToiLDEwOTUsMjM2LDM2LDM2LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDEyLDM2LDIyNCwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi8eXiOiIsMTA5NCwyMzYsNDgsMzYsMTAsU1NfTk9QUkVGSVgsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsMTIsNDgsMjI0LDEwLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICLg6fTkOiIsMTA5NywyMzYsNjAsMzYsMTAsU1NfTk9QUkVGSVgsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsMTMsNjAsMjI0LDEwLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICLk8vjkOiIsMTA5NiwyMzYsNzIsMzYsMTAsU1NfTk9QUkVGSVgsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsODQsNzEsMTUyLDEwLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICLk4/Tx5CDsJvfl4fUiLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEyLDcwLDY0LDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgR1JPVVBCT1ggICAgICAgICLo5eXnIOTj9PHkIiwxMDcyLDEzNiw5MiwxNDQsNjQsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIuQm6+wiLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIxMSwxMDYsNjQsMTIsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiby7uXj6e0iLDEwNTgsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIzNywxMjIsMzksMTIsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIibh5+n45CIsMTA1NywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjExLDEzOCw2NCwxMiwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIFJURVhUICAgICAgICAgICAiJu7y7uXjOiIsMTA4OSwyMDksMTI0LDI0LDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIEVESVRURVhUICAgICAgICAxMTUyLDE4MSwxMjIsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HIHwgV1NfRVhfTEVGVFNDUk9MTEJBUgogICAgUlRFWFQgICAgICAgICAgICLyJuM6IiwxMDkwLDE2NiwxMjQsMTEsOCwwLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgRURJVFRFWFQgICAgICAgIDExNTMsMTM4LDEyMiwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBHUk9VUEJPWCAgICAgICAgIvLl+vfp7SIsMTA3Myw4LDkyLDEyMCw2NCxCU19SSUdIVCB8IFdTX0dST1VQLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi7vH0+CDyJuX69+ntOiIsMTA5Miw3MywxMDgsNDcsOCwwLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgRURJVFRFWFQgICAgICAgIDExNTQsMTYsMTA2LDMyLDEyLEVTX05VTUJFUiB8IFdTX0dST1VQLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIElDT04gICAgICAgICAgICAiIiwxMDg2LDUwLDEyNCw3NiwyNCxTU19DRU5URVJJTUFHRSB8IFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIuDpJvHl8yIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTIsMTMwLDM2LDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgREVGUFVTSEJVVFRPTiAgICLg6fnl+CIsSURPSyw2MCwxNjQsNDgsMTQsV1NfR1JPVVAsV1NfRVhfUlRMUkVBRElORwogICAgUFVTSEJVVFRPTiAgICAgICLh6ejl7CIsSURDQU5DRUwsOCwxNjQsNDgsMTQsMCxXU19FWF9SVExSRUFESU5HCkVORAoKMTU0NyBESUFMT0dFWCAzMiwgMzIsIDI4OSwgMzU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi5OP08eQiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiLCAwLCAwLCAweDEKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAi7uP08foiLDEwNzUsOSw0LDI3Miw4NCxCU19SSUdIVCB8IFdTX0dST1VQLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAiJvntOiIsMTA5MywyMzcsMjEsMzYsOCwwLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09NQk9CT1ggICAgICAgIDExMzksODUsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfTEVGVFNDUk9MTEJBUgogICAgUFVTSEJVVFRPTiAgICAgICIm+uvl8OX6Li4u/iIsMTAyNSwxNywxNyw2MCwxNCxXU19HUk9VUCxXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIu724ToiLDEwOTUsMjM3LDM2LDM2LDEwLFNTX05PUFJFRklYLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDEzLDM2LDIyNCwxMCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi8eXiOiIsMTA5NCwyMzcsNDgsMzYsMTAsU1NfTk9QUkVGSVgsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsMTMsNDgsMjI0LDEwLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICLg6fTkOiIsMTA5NywyMzcsNjAsMzYsMTAsU1NfTk9QUkVGSVgsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsMTMsNjAsMjI0LDEwLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgTFRFWFQgICAgICAgICAgICLk8vjkOiIsMTA5NiwyMzcsNzIsMzYsMTAsU1NfTk9QUkVGSVgsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsODUsNzIsMTUyLDEwLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICLk4/Tx5CDsJvfl4fUiLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzLDcwLDY0LDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgR1JPVVBCT1ggICAgICAgICLo5eXnIOTj9PHkIPnsIPr4+entIiwxMDcyLDksOTMsMjcyLDEwNixCU19SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLFdTX0VYX1JUTFJFQURJTkcKICAgIENPTlRST0wgICAgICAgICAi+vj56e0gJvDl6+fpIixJRENfQ1VSUkVOVF9ESUFHUkFNLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxOSwxMDcsMjUzLDEyLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICLr7CDk+vj56e7p7SDu5O7l4+zp7SDkJvT65efp7SIsSURDX0FMTF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTQ1LDEyMSwxMjksMTIsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIvr4+Sbp7untIPDh5/jp7ToiLElEQ19TRUxFQ1RFRF9ESUFHUkFNUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMjAxLDEzNSw3MywxMixXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIExJU1RCT1ggICAgICAgICBJRENfRElBR1JBTVMsMTgsMTQ5LDI0Myw0MyxMQlNfTVVMVElQTEVTRUwgfCAKICAgICAgICAgICAgICAgICAgICBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19IU0NST0xMIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCxXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBHUk9VUEJPWCAgICAgICAgIvfw5CDu6ePkIixJRENfU1RBVElDLDksMjAyLDI3Miw1MSxCU19SSUdIVCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIuT64O7kIOwm4Ofl5iD57CDn7OXvIPji6ew6IixJRENfU0NBTEVfUEVSQ0VOVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYyLDIxOCwxMTEsCiAgICAgICAgICAgICAgICAgICAgMTIsV1NfRVhfUklHSFQgfCBXU19FWF9SVExSRUFESU5HCiAgICBDT05UUk9MICAgICAgICAgIuT64O7kICbs9Ok6IixJRENfU0NBTEVfRklULCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMjE5LDIzNCw1NCwxMixXU19FWF9SSUdIVCB8IFdTX0VYX1JUTFJFQURJTkcKICAgIExURVhUICAgICAgICAgICAi5Prg7uQg7Cbg5+XmIPnsIOfs5e8g+OLp7DoiLDExMDIsMTYxLDIxOSw5OCw4LE5PVCAKICAgICAgICAgICAgICAgICAgICBXU19WSVNJQkxFLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgRURJVFRFWFQgICAgICAgIElEQ19QRVJDRU5ULDEyNSwyMTcsMzIsMTIsRVNfTlVNQkVSLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIExURVhUICAgICAgICAgICAiJvjl5+Eg4fLu5ePp7ToiLDExMDUsMTYzLDIzNiw1MSw4LDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BBR0VTTSwxMjUsMjMzLDMyLDEyLEVTX05VTUJFUixXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBSVEVYVCAgICAgICAgICAgIibi5eHkIOHy7uXj6e06IixJRENfU1RBVElDLDU4LDIzNiw1NCwxMCwwLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgRURJVFRFWFQgICAgICAgIElEQ19QQUdFU04sMjIsMjMzLDMyLDEyLEVTX05VTUJFUixXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBMVEVYVCAgICAgICAgICAgIiIsSURDX1NUQVRJQywyMiwyMzUsNyw4LE5PVCBXU19WSVNJQkxFLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgR1JPVVBCT1ggICAgICAgICLo5eXnIOTj9PHkIiwxMDc0LDE0OSwyNTcsMTMyLDY0LEJTX1JJR0hUIHwgV1NfR1JPVVAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICLkJuvsIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwyMjYsMjcyLDQ3LDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgQ09OVFJPTCAgICAgICAgICIm8u7l4+ntIiwxMDU4LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwyMjcsMjg2LDQ2LDEyLAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgUlRFWFQgICAgICAgICAgICIm7vLu5eM6IiwxMDg5LDI0MywzMDIsMjQsOCwwLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORwogICAgRURJVFRFWFQgICAgICAgIDExNTIsMjEyLDMwMCwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBSVEVYVCAgICAgICAgICAgIvIm4zoiLDEwOTAsMTk2LDMwMiwxMSw4LDAsV1NfRVhfUklHSFQgfCAKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxNjIsMzAwLDI3LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQLFdTX0VYX1JJR0hUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfUlRMUkVBRElORyB8IFdTX0VYX0xFRlRTQ1JPTExCQVIKICAgIEdST1VQQk9YICAgICAgICAi8uX69+ntIiwxMDczLDEwLDI1NywxMzIsNjQsQlNfUklHSFQgfCBXU19HUk9VUCwKICAgICAgICAgICAgICAgICAgICBXU19FWF9SVExSRUFESU5HCiAgICBMVEVYVCAgICAgICAgICAgIu7x9Pgg8ibl+vfp7ToiLDEwOTIsNTgsMjczLDY4LDgsMCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcKICAgIEVESVRURVhUICAgICAgICAxMTU0LDIyLDI3MSwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUCxXU19FWF9SSUdIVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0VYX1JUTFJFQURJTkcgfCBXU19FWF9MRUZUU0NST0xMQkFSCiAgICBDT05UUk9MICAgICAgICAgIuDpJvHl8yIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTksMjk1LDM1LDEyLFdTX0VYX1JJR0hUIHwgV1NfRVhfUlRMUkVBRElORwogICAgREVGUFVTSEJVVFRPTiAgICLg6fnl+CIsSURPSyw2MSwzMjgsNDgsMTQsV1NfR1JPVVAsV1NfRVhfUlRMUkVBRElORwogICAgUFVTSEJVVFRPTiAgICAgICLh6ejl7CIsSURDQU5DRUwsOSwzMjgsNDgsMTQsMCxXU19FWF9SVExSRUFESU5HCiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4Niw2MywyOTAsNzAsMjUsV1NfR1JPVVAKRU5ECgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gREVTSUdOSU5GTwovLwoKI2lmZGVmIEFQU1RVRElPX0lOVk9LRUQKR1VJREVMSU5FUyBERVNJR05JTkZPIERJU0NBUkRBQkxFIApCRUdJTgogICAgMTUzOCwgRElBTE9HCiAgICBCRUdJTgogICAgICAgIFJJR0hUTUFSR0lOLCAzMDQKICAgICAgICBCT1RUT01NQVJHSU4sIDM0MgogICAgRU5ECgogICAgMTU0NywgRElBTE9HCiAgICBCRUdJTgogICAgICAgIFJJR0hUTUFSR0lOLCAyODYKICAgICAgICBCT1RUT01NQVJHSU4sIDM0MgogICAgRU5ECkVORAojZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAoKI2VuZGlmICAgIC8vIFVua25vd24gbGFuZ3VhZ2U6IDB4RCwgMHgxIHJlc291cmNlcwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgojaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi8vCiNkZWZpbmUgX0FGWF9OT19TUExJVFRFUl9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX09MRV9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX1RSQUNLRVJfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19QUk9QRVJUWV9SRVNPVVJDRVMKCiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0hFQikKI2lmZGVmIF9XSU4zMgpMQU5HVUFHRSAxMywgMQojcHJhZ21hIGNvZGVfcGFnZSgxMjU1KQojZW5kaWYgLy9fV0lOMzIKI2luY2x1ZGUgInJlc1xEaWFncmFtUHJpbnQucmMyIiAgLy8gbm9uLU1pY3Jvc29mdCBWaXN1YWwgQysrIGVkaXRlZCByZXNvdXJjZXMKI2luY2x1ZGUgImFmeHJlcy5yYyIgICAgICAgICAvLyBTdGFuZGFyZCBjb21wb25lbnRzCiNlbmRpZgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI2VuZGlmICAgIC8vIG5vdCBBUFNUVURJT19JTlZPS0VECgo=