LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogUG9ydHVndWVzZSBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIE1hcmNlbG8gRHVhcnRlCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19ERUZBVUxUCgpJRERfR0VORVJBTENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5WRVIsODMsMTUzLDE1OCw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTUJPQk9YICAgICAgICBJRENfRE9TVkVSLDgzLDE3MiwxNTgsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTkVMT09LLDgzLDE5MCwxNTgsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlZlcnPjbyBkbyBXaW5lOiIsSURDX1NUQVRJQywxMTksMTcsNDUsOAogICAgTFRFWFQgICAgICAgICAgICJDVlMiLElEQ19XSU5FVkVSLDE2OSwxNyw1Niw4CiAgICBMVEVYVCAgICAgICAgICAgIlZlcnPjbyBkbyBXaW5kb3dzOiIsSURDX1NUQVRJQywxNywxNTUsNTgsOAogICAgTFRFWFQgICAgICAgICAgICJBcGFy6m5jaWEgZG8gV2luZG93czoiLElEQ19TVEFUSUMsMTcsMTkzLDU4LDgKICAgIExURVhUICAgICAgICAgICAiVmVyc+NvIGRvIERPUzoiLElEQ19TVEFUSUMsMTcsMTczLDU3LDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCB8IFNTX0NFTlRFUklNQUdFIHwgCiAgICAgICAgICAgICAgICAgICAgU1NfUkVBTFNJWkVJTUFHRSB8IFdTX0JPUkRFUiwxNSwxNywxNTcsMTExLCBXU19FWF9UUkFOU1BBUkVOVAogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgR1JPVVBCT1ggICAgICAgICJDb21wb3J0YW1lbnRvIHBhZHLjbyIsSURDX1NUQVRJQyw4LDExNSwyNDQsOTcKICAgIExURVhUICAgICAgICAgICAiV2luZSBwcm92aWRlbmNpYSBhIGFwbGljYef1ZXMgV2luZG93cywgYSBoYWJpbGlkYWRlIGRlIHNlIHBhcmVjZXIgYSB24XJpYXMgdmVyc/VlcyBlIGVzdGlsb3MgZGUgV2luZG93cyIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwxMjgsMjI3LDIwCiAgICBDVEVYVCAgICAgICAgICAgIlRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDExOSw0NCwxMjQsNTkKRU5ECgpJRERfQVBQQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgQ09OVFJPTCAgICAgICAgICJDb25maWd1cmHn9WVzIGdsb2JhaXMiLElEQ19FRElUSU5HX0dMT0JBTCwKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sOCw4LDI0NCwxMCAKICAgIENPTlRST0wgICAgICAgICAiQ29uZmlndXJh5/VlcyBlc3BlY+1maWNhcyBkYSBhcGxpY2Hn428iLElEQ19FRElUSU5HX0FQUCwKCSAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiw4LDE4LDI0NCwxMAoKICAgIExURVhUICAgICAgICAgICAiU29icmVlc2NyZXZhIGFxdWkgYXMgY29uZmlndXJh5/VlcyBwYWRy9WVzIHBhcmEgY2FkYSBhcGxpY2Hn4286IiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDgsMzUsMjQ0LDIwCgkJICAgIAogICAgTElTVEJPWCAgICAgICAgIElEQ19MSVNUX0FQUFMsOCw0OCwyNDQsMTc2LFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCQkgICAgCgkJICAgIAogICAgUFVTSEJVVFRPTgkgICAgIkFkaW9uYXIgbm92YSBhcGxpY2Hn428uLi4iLElEQ19BRERfQVBQREVGQVVMVCwxNzAsMjI2LDgyLDE0CiAgICBQVVNIQlVUVE9OCSAgICAiUmVtb3ZlciIsSURDX1JFTU9WRV9BUFBERUZBVUxULDEzMCwyMjYsMzcsMTQKRU5ECgpJRERfWDExRFJWQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgTFRFWFQJICAgICJQcm9mdW5kaWRhZGUgZGUgY29yZXM6ICIsSURDX1NUQVRJQyw4LDEwLDkwLDMwCiAgICBDT01CT0JPWAkgICAgSURDX1NDUkVFTl9ERVBUSCwxMDAsOCwxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAkgICAgIkFvIHVzYXIgRGlyZWN0WCBpbXBlZGlyIHF1ZSBvIG1vdXNlIGRlaXhlIGEgamFuZWxhIixJRENfRFhfTU9VU0VfR1JBQiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDM1LDIzMCw4CiAgICBDT05UUk9MCSAgICAiRW5hYmxlIGRlc2t0b3AgZG91YmxlIGJ1ZmZlcmluZyIsSURDX0RPVUJMRV9CVUZGRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw0NSwyMzAsOAogICAgQ09OVFJPTAkgICAgIlVzZVRha2VGb2N1cyAoRklYTUUpIixJRENfVVNFX1RBS0VfRk9DVVMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw1NSwyMzAsOAogICAgCiAgICBHUk9VUEJPWCAgICAgICAgIiBDb25maWd1cmHn9WVzIGRlIGphbmVsYSAiLElEQ19TVEFUSUMsOCwyNSwyNDQsMTIwCgogICAgLyogRklYTUU6IHRoZSB3b3JkaW5nIG9mIHRoaXMgZXhwbGFuYXRpb24gY291bGQgYmUgYSBsb3QgYmV0dGVyICovCiAgICBMVEVYVCAgICAgICAgICAgIllvdSBjYW4gY2hvb3NlIHRvIGVtdWxhdGUgYSB3aW5kb3dzIGRlc2t0b3AsIHdoZXJlIGFsbCB0aGUgd2luZG93cyBhcmUgY29uZmluZWQgdG8gb25lICd2aXJ0dWFsIHNjcmVlbicsIG9yIHlvdSBjYW4gaGF2ZSB0aGUgd2luZG93cyBwbGFjZWQgb24geW91ciBzdGFuZGFyZCBkZXNrdG9wLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSw3MywyMjgsMjgKICAgIExURVhUICAgICAgICAgICAiVGFtYW5obyBkYSDhcmVhIGRlIHRyYWJhbGhvOiIsSURDX0RFU0tUT1BfU0laRSwxNSwxMTUsMTAwLDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTY0LDExNSw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiRW11bGFyIHVtYSDhcmVhIGRlIHRyYWJhbGhvIHZpcnR1YWwiLElEQ19FTkFCTEVfREVTS1RPUCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDEwMCwyMjgsMTAKCQkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfV0lEVEgsMTIwLDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfSEVJR0hULDE3MywxMTUsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoJCSAgICAKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJEZWZpbmlyIG9yZGVtIGRlIGNhcmdhIGRlIERMTHMiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiQmlibGlvdGVjYXMgcG9kZW0gc2VyIGVzcGVjaWZpY2FkYXMgaW5kaXZpZHVhbG1lbnRlIGNvbW8gJ2J1aWx0aW4nIG91ICduYXRpdmUnLiBFc3BlY2lmaWNhbmRvIHVtYSBlbnRyYWRhIERMTCBjb21vICIiKiIiIHBlcnRlbmNlIGEgdG9kYXMgYXMgRExMcyBu428gZXNwZWNpZmljYWRhcyBleHBsaWNpdGFtZW50ZS5cblxuU2VqYSBjdWlkYWRvc28sIG9zIGFqdXN0ZXMgZXJyYWRvcyBhcXVpIHRlbSBvIHBvdGVuY2lhbCBkZSBkZXRvbmFyIHN1YSBpbnN0YWxh5+NvLiIKICAgICAgICAgICAgICAgICAgICAsICBJRENfU1RBVElDLDE1LDE3LDIyOCw0NwogICAgQ09OVFJPTCAgICAgICAgICJTb2JyZWVzY3JldmVyIERMTHMiLCBJRENfVFJFRV9ETExTLCAiU3lzVHJlZVZpZXczMiIsIFdTX1RBQlNUT1AgfCBUVlNfTElORVNBVFJPT1QgfCBUVlNfSEFTTElORVMgfCBUVlNfU0hPV1NFTEFMV0FZUyB8IFRWU19IQVNCVVRUT05TLCAxNSw2NSwxNDIsMTcyCiAgICBMVEVYVCAgICAgICAgICAgIk9yZGVtIGRlIGNhcmdhOiIsSURDX1NUQVRJQywxNjMsNjUsMzcsOAogICAgQ09OVFJPTCAgICAgICAgICJCdWlsdGluIChXaW5lKSIsSURDX1JBRF9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCwxNjMsODAsNTcsMTAKICAgIENPTlRST0wgICAgICAgICAiTmF0aXZlIChXaW5kb3dzKSIsSURDX1JBRF9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNjMsOTUsNzIsMTAKICAgIFBVU0hCVVRUT04JICAgICJBZGljaW9uYXIgdW1hIGFwbGljYefjby4uLiIsSURDX0RMTFNfQUREQVBQLDE2MywxMTQsODIsMTQKICAgIFBVU0hCVVRUT04JICAgICJSZW1vdmVyIGFwbGljYefjbyIsSURDX0RMTFNfUkVNT1ZFQVBQLCAxNjMsMTM0LDgyLDE0CiAgICBQVVNIQlVUVE9OCSAgICAiQWRpY2lvbmFyIG9yZGVtIGRlIGNhcmdhIGRlIERMTDoiLElEQ19ETExTX0FERERMTCwgMTYzLDE1NCw4MiwxNAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExMSVNULDE2MywxNzQsODIsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04JICAgICJSZW1vdmVyIG9yZGVtIGRlIGNhcmdhIGRlIERMTCIsSURDX0RMTFNfUkVNT1ZFRExMLDE2MywxOTQsODIsMTQKRU5ECgpJRERfU1lTVEVNQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiVW5pZGFkZXMiLElEQ19TVEFUSUMsOCw0LDI0NCwxMjAKICAgIExJU1RCT1ggICAgICAgICBJRENfTElTVF9EUklWRVMsMTUsMjMsMTc5LDkwLFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkFkaWNpb25hciIsSURDX0RSSVZFX0FERCwxOTcsMjIsNTAsMjIKICAgIFBVU0hCVVRUT04gICAgICAiJlJlbW92ZXIiLElEQ19EUklWRV9SRU1PVkUsMTk3LDUxLDUwLDIyCiAgICBQVVNIQlVUVE9OICAgICAgIiZFZGl0YXIiLElEQ19EUklWRV9FRElULDE5Nyw4MCw1MCwyMgpFTkQKCklERF9EUklWRUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiVW5pZGFkZSBXaW5kb3dzIixJRENfU1RBVElDLDcsNywyNDYsOTkKICAgIENPTlRST0wgICAgICAgICAiQ3JpYXIgdW1hIHVuaWRhZGUgV2luZG93cyB2aXJ0dWFsIixJRENfUkFESU9fVklSVFVBTCwKICAgICAgICAgICAgICAgICAgICAiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTQsMTgsMTUwLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfVklSVFVBTCwyNSwzMCwxNjksMTQsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiUHJvY3VyYXIuLi4iLElEQ19CVVRUT05fVklSVFVBTCwyMDIsMzAsNDQsMTQKICAgIENPTlRST0wgICAgICAgICAiVXNlIHVtYSB1bmlkYWRlIFdpbmRvd3MgcmVhbCIsSURDX1JBRElPX1JFQUwsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE0LDQ4LDE1MCwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1JFQUwsMjUsNjAsMTY5LDE0LEVTX0FVVE9IU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIlByb2N1cmFyLi4uIixJRENfQlVUVE9OX1JFQUwsMjAyLDYwLDQ0LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIlBhc3RhcyBpbXBvcnRhbnRlcy4uLiIsSURDX0JVVFRPTl9GT0xERVJTLDE3Myw4NSw3MywxNAogICAgR1JPVVBCT1ggICAgICAgICJPdXRyYXMgdW5pZGFkZXMiLElEQ19TVEFUSUMsNywxMDcsMjQ2LDExMgogICAgTElTVEJPWCAgICAgICAgIElEQ19MSVNUX0RSSVZFUywxNCwxMTgsMjMyLDc2LExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJBZGljaW9uYXIuLi4iLElEQ19CVVRUT05fQURELDE0LDE5OSwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICJSZW1vdmVyIixJRENfQlVUVE9OX1JFTU9WRSw1NSwxOTksMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiRWRpdGFyLi4uIixJRENfQlVUVE9OX0VESVQsOTcsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkF1dG9kZXRlY3Rhci4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5NywxOTksNDksMTQKICAgIExURVhUCSAgICAiQVZJU086IFBhcmVjZSBxdWUgdm9j6iBu428gdGVtIHVtYSB1bmlkYWRlIEMgZGVmaW5pZGEuIENsaXF1ZSBlbSAnQWRpY2lvbmFyJyBwYXJhIGFkaWNpb25hciB1bWEuIiwgSURTX0RSSVZFX05PX0MsIDcsMjIzLDI1MCwxMTAKRU5ECgpJRERfRFJJVkVfRURJVCBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDIwMywgMTY5ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbmZpZ3VyYefjbyBkZSB1bmlkYWRlIgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICImRmVjaGFyIixJRF9CVVRUT05fT0ssMTQ1LDE1MCw1MCwxMwogICAgTFRFWFQgICAgICAgICAgICJMZXRyYToiLElEQ19TVEFUSUMsNSwyMywyNiw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNjMsMTE0LDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIlLzdHVsbzoiLElEQ19TVEFUSUNfTEFCRUwsMzMsMTE3LDI5LDEyCiAgICBMVEVYVCAgICAgICAgICAgIlRpcG86IixJRENfU1RBVElDLDUsNTQsMjEsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDMxLDUsMTE3LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIkNhbWluaG86IixJRENfU1RBVElDLDUsOSwyMCw5CiAgICBMVEVYVCAgICAgICAgICAgIk5vbWVzOiIsSURDX1NUQVRJQyw1LDM5LDI1LDkKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9TRVJJQUwsNjMsMTI5LDc4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIlPpcmllOiIsSURDX1NUQVRJQ19TRVJJQUwsMzMsMTMwLDI5LDEyCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX0xFVFRFUiwzMSwyMCw3OCw2MCxDQlNfRFJPUERPV05MSVNUICB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIlByb2N1cmFyLi4uIixJRENfQlVUVE9OX0JST1dTRV9QQVRILDE1NCw1LDQwLDEzCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX05BTUVTLDMxLDM2LDc4LDYwLENCU19EUk9QRE9XTkxJU1QgIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSwzMSw1Miw3OCw2MCxDQlNfRFJPUERPV05MSVNUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTlRST0wgICAgICAgICAiQXV0b2RldGVjdGFyIGRvIGRpc3Bvc2l0aXZvOiIsSURDX1JBRElPX0FVVE9ERVRFQ1QsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDIxLDc5LDkzLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfREVWSUNFLDMzLDg5LDEwOCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJQcm9jdXJhci4uLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDE0OCw4OSw0MCwxMwogICAgQ09OVFJPTCAgICAgICAgICJBc3NvY2lhciBtYW51YWxtZW50ZToiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDIxLDEwNCw2OSwxMAogICAgR1JPVVBCT1ggICAgICAgICJS83R1bG8gZSBu+m1lcm8gZGUgc+lyaWUiLElEQ19CT1hfTEFCRUxTRVJJQUwsNiw2OCwxODksNzkKCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUgCkJFR0lOCiAgICBJRFNfV0lORV9WRVJTSU9OICAgICAgICAiQ1ZTIgogICAgSURTX1RBQl9HRU5FUkFMICAgICAgICAgIkdlcmFsIgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIkJpYmxpb3RlY2FzIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgIlVuaWRhZGVzIgpFTkQK