LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogU3BhbmlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIEpvc+kgTWFudWVsIEZlcnJlciBPcnRpegogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICoKICovCgpMQU5HVUFHRSBMQU5HX1NQQU5JU0gsIFNVQkxBTkdfREVGQVVMVAoKSUREX0dFTkVSQUxDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDE1MywxNTgsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT01CT0JPWCAgICAgICAgSURDX0RPU1ZFUiw4MywxNzIsMTU4LDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5FTE9PSyw4MywxOTAsMTU4LDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJWZXJzafNuIGRlIFdpbmU6IixJRENfU1RBVElDLDExOSwxNyw0NSw4CiAgICBMVEVYVCAgICAgICAgICAgIkNWUyIsSURDX1dJTkVWRVIsMTY5LDE3LDU2LDgKICAgIExURVhUICAgICAgICAgICAiVmVyc2nzbiBkZSBXaW5kb3dzOiIsSURDX1NUQVRJQywxNywxNTUsNTgsOAogICAgTFRFWFQgICAgICAgICAgICJBcGFyaWVuY2lhIGRlIFdpbmRvd3M6IixJRENfU1RBVElDLDE3LDE5Myw1OCw4CiAgICBMVEVYVCAgICAgICAgICAgIlZlcnNp824gZGUgRE9TOiIsSURDX1NUQVRJQywxNywxNzMsNTcsOAogICAgQ09OVFJPTCAgICAgICAgIElEQl9XSU5FLElEQ19TVEFUSUMsIlN0YXRpYyIsU1NfQklUTUFQIHwgU1NfQ0VOVEVSSU1BR0UgfCAKICAgICAgICAgICAgICAgICAgICBTU19SRUFMU0laRUlNQUdFIHwgV1NfQk9SREVSLDE1LDE3LDE1NywxMTEsIFdTX0VYX1RSQU5TUEFSRU5UCiAgICBMVEVYVCAgICAgICAgICAgImh0dHA6Ly93d3cud2luZWhxLmNvbS8iLElEQ19TVEFUSUMsMTE5LDMxLDEwNiw4CiAgICBHUk9VUEJPWCAgICAgICAgIkNvbXBvcnRhbWllbnRvIHBvciBkZWZlY3RvIixJRENfU1RBVElDLDgsMTE1LDI0NCw5NwogICAgTFRFWFQgICAgICAgICAgICJXaW5lIHBlcm1pdGUgYSBsYXMgYXBsaWNhY2lvbmVzIFdpbmRvd3MgaW1pdGFyIGRpc3RpbnRhcyB2ZXJzaW9uZXMgeSBlc3RpbG9zIGRlIFdpbmRvd3MiLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTI4LDIyNywyMAogICAgR1JPVVBCT1ggICAgICAgICJJbmZvcm1hY2nzbiIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgQ1RFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDU5CkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19MSVNUX0FQUFMsIlN5c0xpc3RWaWV3MzIiLExWU19MSVNUIHwgCiAgICAgICAgICAgICAgICAgICAgTFZTX05PTEFCRUxXUkFQIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNiwzOSwyMjYsMTA4CiAgICBHUk9VUEJPWCAgICAgICAgIkNvbmZpZ3VyYWNp824gZXNwZWPtZmljYSBkZSBhcGxpY2FjaW9uZXMiLElEQ19TVEFUSUMsOCw0LDI0NCwxNTEKICAgIExURVhUICAgICAgICAgICAiRXN0YSBjb25maWd1cmFjafNuIGxlIHBlcm1pdGUgc29icmVwb25lcnNlIGEgbGEgY29uZmlndXJhY2nzbiBwb3IgZGVmZWN0byBkZSBXaW5lIChjb21vIGVzdOEgZXNwZWNpZmljYWRhIGVuIG90cmFzIHBlc3Rh8WFzIGRlIGNvbmZpZ3VyYWNp824pIHBhcmEgYXBsaWNhY2lvbmVzIGNvbmNyZXRhcy4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTcsMjI4LDIwCkVORAoKSUREX1gxMURSVkNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiVXNhciBleHRlbnNp824gWEZyZWUgREdBIixJRENfWERHQSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE0NSw0NCw5NywxMAogICAgQ09OVFJPTCAgICAgICAgICJIYWJpbGl0YXIgZXNjcml0b3JpbyBXaW5lIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNywxMTAsODQsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9XSURUSCw2NCwxMjUsNDAsMTQsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsMTI1LDQwLDE0LEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEdST1VQQk9YICAgICAgICAiQ29uZmlndXJhY2nzbiBkZSByZW5kZXJpemFkbyIsSURDX1NUQVRJQyw4LDQsMjQ0LDYwCiAgICBMVEVYVCAgICAgICAgICAgIkxhIGNvbmZpZ3VyYWNp824gZGVsIGNvbG9yIHkgcmVuZGVyaXphZG8gZGVsIGRyaXZlciBzZSB1dGlsaXphIHBhcmEgb3B0aW1pemFyIGVsIG1vZG8gZW4gcXVlIHNlIG11ZXN0cmFuIGxvcyBjb2xvcmVzIHkgbGFzIGFwbGljYWNpb25lcy4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTcsMjI4LDIyCgogICAgTFRFWFQgICAgICAgICAgICJDb2xvcmVzIGRlbCBzaXN0ZW1hIGFsb2phZG9zOiIsSURDX1NUQVRJQywxNyw0Myw3Niw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1NZU0NPTE9SUyw5MCw0MSw0MCwxNCxFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUgoKICAgIEdST1VQQk9YICAgICAgICAiRXNjcml0b3JpbyBXaW5lIixJRENfU1RBVElDLDgsNjUsMjQ0LDgzCiAgICBMVEVYVCAgICAgICAgICAgIldpbmUgcHVlZGUgY29uZmlndXJhcnNlIHBhcmEgZW11bGFyIHVuIGVzY3JpdG9yaW8gV2luZG93cywgbyBiaWVuIHB1ZWRlIGVqZWN1dGFyc2UgZW4gbW9kbyAiIk1hbmVqYWRvIiIgKG9wY2nzbiBwb3IgZGVmZWN0bykgZG9uZGUgZWwgZ2VzdG9yL2VudG9ybm8gZGUgdmVudGFuYXMgcG9yIGRlZmVjdG8gZGUgWDExIGVzIGVsIHJlc3BvbnNhYmxlIGRlIGxhIGNvbG9jYWNp824gZGUgbGFzIHZlbnRhbmFzLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSw3NywyMjgsMjgKICAgIExURVhUICAgICAgICAgICAiVGFtYfFvIGRlbCBlc2NyaXRvcmlvOiIsSURDX0RFU0tUT1BfU0laRSwxNywxMjUsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgICAgICJYIixJRENfREVTS1RPUF9CWSwxMDgsMTI1LDgsOCxXU19ESVNBQkxFRApFTkQKCklERF9ETExDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkVzdOF0aWNvIixJRENfU1RBVElDLDgsNCwyNDQsMTU3CiAgICBDT05UUk9MICAgICAgICAgIkludGVncmFkbyAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsNTksMTQ0LDU3LDEwCiAgICBDT05UUk9MICAgICAgICAgIk5hdGl2byAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTIxLDE0NCw3MiwxMAogICAgTFRFWFQgICAgICAgICAgICJMYXMgbGlicmVy7WFzIHB1ZWRlbiBlc3BlY2lmaWNhcnNlIGluZGl2aWR1YWxtZW50ZSBwYXJhIHNlciBpbnRlZ3JhZGFzIG8gbmF0aXZhcy4gVW5hIGVudHJhZGEgZGUgRExMIGVzcGVjaWZpY2FkYSBjb21vICIiKiIiIHNlIHJlZmllcmUgYSB0b2RhcyBsYXMgRExMIG5vIGVzcGVjaWZpY2FkYXMgZXhwbO1jaXRhbWVudGUuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDE3LDIyOCwyNwogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MyIsSURDX0xJU1RfRExMUywiU3lzTGlzdFZpZXczMiIsTFZTX0xJU1QgfCAKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE1LDQ3LDIyNyw5MAogICAgTFRFWFQgICAgICAgICAgICJPcmRlbiBkZSBjYXJnYToiLElEQ19TVEFUSUMsMTYsMTQ0LDM3LDgKRU5ECgpJRERfU1lTVEVNQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiVW5pZGFkZXMiLElEQ19TVEFUSUMsOCw0LDI0NCwxMjAKICAgIExJU1RCT1ggICAgICAgICBJRENfTElTVF9EUklWRVMsMTUsMjMsMTc5LDkwLFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkHxYWRpciIsSURDX0RSSVZFX0FERCwxOTcsMjIsNTAsMjIKICAgIFBVU0hCVVRUT04gICAgICAiRSZsaW1pbmFyIixJRENfRFJJVkVfUkVNT1ZFLDE5Nyw1MSw1MCwyMgogICAgUFVTSEJVVFRPTiAgICAgICImRWRpdGFyIixJRENfRFJJVkVfRURJVCwxOTcsODAsNTAsMjIKRU5ECgpJRERfRFJJVkVfRURJVCBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDIwNywgMTEwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbmZpZ3VyYWNp824gZGUgdW5pZGFkZXMiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIkFjZXB0YXIiLElEX0RSSVZFX09LLDE1MCw3LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRF9EUklWRV9DQU5DRUwsMTUwLDI0LDUwLDE0CiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfTkFNRSw0Miw4LDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIlVuaWRhZDoiLC0xLDExLDEwLDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfTEFCRUwsNDIsMjMsNzgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiRXRpcXVldGE6IiwtMSwxMSwyNSwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19EUklWRV9FRElUX1RZUEUsNDIsMzgsNzgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiVGlwbzoiLC0xLDExLDQwLDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfUEFUSCw0Miw1Myw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJSdXRhOiIsLTEsMTEsNTUsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRFJJVkVfRURJVF9GUyw0Miw2OCw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJTRjoiLC0xLDExLDcwLDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RSSVZFX0VESVRfREVWSUNFLDQyLDgzLDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIkRpc3Bvc2l0aXZvOiIsLTEsMTEsODUsMjksMTIKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIlVuaWRhZCBkZSBXaW5kb3dzIixJRENfU1RBVElDLDcsNywyNDYsOTkKICAgIENPTlRST0wgICAgICAgICAiQ3JlYXIgdW5hIHVuaWRhZCB2aXJ0dWFsIGRlIFdpbmRvd3MiLElEQ19SQURJT19WSVJUVUFMLAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNCwxOCwxMTIsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9WSVJUVUFMLDI1LDMwLDE2OSwxNCxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJFeGFtaW5hci4uLiIsSURDX0JVVFRPTl9WSVJUVUFMLDIwMiwzMCw0NCwxNAogICAgQ09OVFJPTCAgICAgICAgICJVdGlsaXphciB1bmEgdW5pZGFkIHJlYWwgZGUgV2luZG93cyIsSURDX1JBRElPX1JFQUwsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE0LDQ4LDk3LDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUkVBTCwyNSw2MCwxNjksMTQsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiRXhhbWluYXIuLi4iLElEQ19CVVRUT05fUkVBTCwyMDIsNjAsNDQsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQ2FycGV0YXMgaW1wb3J0YW50ZXMuLi4iLElEQ19CVVRUT05fRk9MREVSUywxNzMsODUsNzMsMTQKICAgIEdST1VQQk9YICAgICAgICAiT3RyYXMgdW5pZGFkZXMiLElEQ19TVEFUSUMsNywxMDcsMjQ2LDExMgogICAgTElTVEJPWCAgICAgICAgIElEQ19MSVNUX0RSSVZFUywxNCwxMTgsMjMyLDc2LExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfAogICAgICAgICAgICAgICAgICAgIExCU19NVUxUSUNPTFVNTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkHxYWRpci4uLiIsSURDX0JVVFRPTl9BREQsMTQsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkVsaW1pbmFyIixJRENfQlVUVE9OX1JFTU9WRSw1NSwxOTksMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiRWRpdGFyLi4uIixJRENfQlVUVE9OX0VESVQsOTcsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkF1dG9kZXRlY3Rhci4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5NywxOTksNDksMTQKRU5ECgpJRERfRFJJVkVfRURJVDIgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNzIsIDE1MwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDb25maWd1cmFjafNuIGRlIHVuaWRhZCIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiQWNlcHRhciIsSURfQlVUVE9OX09LLDIxNyw1LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkNhbmNlbGFyIixJRF9CVVRUT05fQ0FOQ0VMLDIxNywyMiw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICJMZXRyYToiLElEQ19TVEFUSUMsNSwyMywyNiw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNjMsMTE0LDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIkV0aXF1ZXRhOiIsSURDX1NUQVRJQ19MQUJFTCwzMywxMTcsMjksMTIKICAgIExURVhUICAgICAgICAgICAiVGlwbzoiLElEQ19TVEFUSUMsNSw1NCwyMSwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1BBVEgsMzEsNSwxMTcsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiUnV0YToiLElEQ19TVEFUSUMsNSw5LDIwLDkKICAgIExURVhUICAgICAgICAgICAiTm9tYnJlczoiLElEQ19TVEFUSUMsNSwzOSwyNSw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfU0VSSUFMLDYzLDEyOSw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJTZXJpZToiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDEzMywyOSwxMgogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19MRVRURVIsMzEsMjAsNzgsNjAsQ0JTX0RST1BET1dOTElTVCAgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkV4YW1pbmFyLi4uIixJRENfQlVUVE9OX0JST1dTRV9QQVRILDE1NCw1LDQwLDEzCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX05BTUVTLDMxLDM2LDc4LDYwLENCU19EUk9QRE9XTkxJU1QgIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19UWVBFLDMxLDUyLDc4LDYwLENCU19EUk9QRE9XTkxJU1QgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT05UUk9MICAgICAgICAgIkF1dG9kZXRlY3RhciBkZXNkZSBkaXNwb3NpdGl2bzoiLElEQ19SQURJT19BVVRPREVURUNULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwyMSw3OSw5MywxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSwzMyw4OSwxMDgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiRXhhbWluYXIuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwxNDgsODksNDAsMTMKICAgIENPTlRST0wgICAgICAgICAiQXNpZ25hciBtYW51YWxtZW50ZToiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDIxLDEwNCw2OSwxMAogICAgR1JPVVBCT1ggICAgICAgICJFdGlxdWV0YSB5IG76bWVybyBkZSBzZXJpZSIsSURDX0JPWF9MQUJFTFNFUklBTCwxNSw2OCwxODAsNzkKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRSAKQkVHSU4KICAgIElEU19XSU5FX1ZFUlNJT04gICAgICAgICJDVlMiCiAgICBJRFNfVEFCX0dFTkVSQUwgICAgICAgICAiR2VuZXJhbCIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICJMaWJyZXLtYXMiCiAgICBJRFNfVEFCX0RSSVZFUyAgICAgICAgICAiVW5pZGFkZXMiCkVORAo=