LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogUG9ydHVndWVzZSBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIE1hcmNlbG8gRHVhcnRlCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19ERUZBVUxUCgpJRERfR0VORVJBTENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5WRVIsODMsMTUzLDE1OCw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTUJPQk9YICAgICAgICBJRENfRE9TVkVSLDgzLDE3MiwxNTgsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTkVMT09LLDgzLDE5MCwxNTgsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlZlcnPjbyBkbyBXaW5lOiIsSURDX1NUQVRJQywxMTksMTcsNDUsOAogICAgTFRFWFQgICAgICAgICAgICJDVlMiLElEQ19XSU5FVkVSLDE2OSwxNyw1Niw4CiAgICBMVEVYVCAgICAgICAgICAgIlZlcnPjbyBkbyBXaW5kb3dzOiIsSURDX1NUQVRJQywxNywxNTUsNTgsOAogICAgTFRFWFQgICAgICAgICAgICJBcGFy6m5jaWEgZG8gV2luZG93czoiLElEQ19TVEFUSUMsMTcsMTkzLDU4LDgKICAgIExURVhUICAgICAgICAgICAiVmVyc+NvIGRvIERPUzoiLElEQ19TVEFUSUMsMTcsMTczLDU3LDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCB8IFNTX0NFTlRFUklNQUdFIHwgCiAgICAgICAgICAgICAgICAgICAgU1NfUkVBTFNJWkVJTUFHRSB8IFdTX0JPUkRFUiwxNSwxNywxNTcsMTExLCBXU19FWF9UUkFOU1BBUkVOVAogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgR1JPVVBCT1ggICAgICAgICJDb21wb3J0YW1lbnRvIHBhZHLjbyIsSURDX1NUQVRJQyw4LDExNSwyNDQsOTcKICAgIExURVhUICAgICAgICAgICAiV2luZSBwcm92aWRlbmNpYSBhIGFwbGljYef1ZXMgV2luZG93cywgYSBoYWJpbGlkYWRlIGRlIHNlIHBhcmVjZXIgYSB24XJpYXMgdmVyc/VlcyBlIGVzdGlsb3MgZGUgV2luZG93cyIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwxMjgsMjI3LDIwCiAgICBHUk9VUEJPWCAgICAgICAgIkluZm9ybWHn428iLElEQ19TVEFUSUMsOCw0LDI0NCwxMDYKICAgIENURVhUICAgICAgICAgICAiVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTE5LDQ0LDEyNCw1OQpFTkQKCklERF9BUFBDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkNvbmZpZ3VyYef1ZXMgZ2xvYmFpcyIsSURDX0VESVRJTkdfR0xPQkFMLAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiw4LDgsMjQ0LDEwIAogICAgQ09OVFJPTCAgICAgICAgICJDb25maWd1cmHn9WVzIGVzcGVj7WZpY2FzIGRhIGFwbGljYefjbyIsSURDX0VESVRJTkdfQVBQLAoJICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDgsMTgsMjQ0LDEwCgogICAgTFRFWFQgICAgICAgICAgICJTb2JyZWVzY3JldmEgYXF1aSBhcyBjb25maWd1cmHn9WVzIHBhZHL1ZXMgcGFyYSBjYWRhIGFwbGljYefjbzoiLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsOCwzNSwyNDQsMjAKCQkgICAgCiAgICBMSVNUQk9YICAgICAgICAgSURDX0xJU1RfQVBQUyw4LDQ4LDI0NCwxNzYsV1NfVEFCU1RPUCB8IFdTX1ZTQ1JPTEwJCSAgICAKCQkgICAgCiAgICBQVVNIQlVUVE9OCSAgICAiQWRpb25hciBub3ZhIGFwbGljYefjby4uLiIsSURDX0FERF9BUFBERUZBVUxULDE3MCwyMjYsODIsMTQKICAgIFBVU0hCVVRUT04JICAgICJSZW1vdmVyIixJRENfUkVNT1ZFX0FQUERFRkFVTFQsMTMwLDIyNiwzNywxNApFTkQKCklERF9YMTFEUlZDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBMVEVYVAkgICAgIlByb2Z1bmRpZGFkZSBkZSBjb3JlczogIixJRENfU1RBVElDLDgsMTAsOTAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfU0NSRUVOX0RFUFRILDEwMCw4LDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MCSAgICAiQW8gdXNhciBEaXJlY3RYIGltcGVkaXIgcXVlIG8gbW91c2UgZGVpeGUgYSBqYW5lbGEiLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMzUsMjMwLDgKICAgIENPTlRST0wJICAgICJFbmFibGUgZGVza3RvcCBkb3VibGUgYnVmZmVyaW5nIixJRENfRE9VQkxFX0JVRkZFUiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDQ1LDIzMCw4CiAgICBDT05UUk9MCSAgICAiVXNlVGFrZUZvY3VzIChGSVhNRSkiLElEQ19VU0VfVEFLRV9GT0NVUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDU1LDIzMCw4CiAgICAKICAgIEdST1VQQk9YICAgICAgICAiIENvbmZpZ3VyYef1ZXMgZGUgamFuZWxhICIsSURDX1NUQVRJQyw4LDI1LDI0NCwxMjAKCiAgICAvKiBGSVhNRTogdGhlIHdvcmRpbmcgb2YgdGhpcyBleHBsYW5hdGlvbiBjb3VsZCBiZSBhIGxvdCBiZXR0ZXIgKi8KICAgIExURVhUICAgICAgICAgICAiWW91IGNhbiBjaG9vc2UgdG8gZW11bGF0ZSBhIHdpbmRvd3MgZGVza3RvcCwgd2hlcmUgYWxsIHRoZSB3aW5kb3dzIGFyZSBjb25maW5lZCB0byBvbmUgJ3ZpcnR1YWwgc2NyZWVuJywgb3IgeW91IGNhbiBoYXZlIHRoZSB3aW5kb3dzIHBsYWNlZCBvbiB5b3VyIHN0YW5kYXJkIGRlc2t0b3AuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDczLDIyOCwyOAogICAgTFRFWFQgICAgICAgICAgICJUYW1hbmhvIGRhIOFyZWEgZGUgdHJhYmFsaG86IixJRENfREVTS1RPUF9TSVpFLDE1LDExNSwxMDAsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgICAgICJYIixJRENfREVTS1RPUF9CWSwxNjQsMTE1LDgsOCxXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICJFbXVsYXIgdW1hIOFyZWEgZGUgdHJhYmFsaG8gdmlydHVhbCIsSURDX0VOQUJMRV9ERVNLVE9QLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTAwLDIyOCwxMAoJCSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9XSURUSCwxMjAsMTE1LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9IRUlHSFQsMTczLDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECgkJICAgIApFTkQKCklERF9ETExDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIkVzdOF0aWNvIixJRENfU1RBVElDLDgsNCwyNDQsMTU3CiAgICBDT05UUk9MICAgICAgICAgIkJ1aWx0aW4gKFdpbmUpIixJRENfUkFEX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQLDU5LDE0NCw1NywxMAogICAgQ09OVFJPTCAgICAgICAgICJOYXRpdmUgKFdpbmRvd3MpIixJRENfUkFEX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDEyMSwxNDQsNzIsMTAKICAgIExURVhUICAgICAgICAgICAiQmlibGlvdGVjYXMgcG9kZW0gc2VyIGVzcGVjaWZpY2FkYXMgaW5kaXZpZHVhbG1lbnRlIGEgc2VyIGJ1aWx0aW4gb3UgbmF0aXZlLiBVbWEgZW50cmFkYSBkZSBETEwgZXNwZWNpZmljYWRhIGNvbW8gIiIqIiIgZGVmaW5lIHRvZGFzIGFzIERMTHMgbuNvIGVzcGVjaWZpY2FkYXMgZXhwbGljaXRhbWVudGUuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDE3LDIyOCwyNwogICAgQ09OVFJPTCAgICAgICAgICJMaXN0MyIsSURDX0xJU1RfRExMUywiU3lzTGlzdFZpZXczMiIsTFZTX0xJU1QgfCAKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMgfCBXU19CT1JERVIgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE1LDQ3LDIyNyw5MAogICAgTFRFWFQgICAgICAgICAgICJPcmRlbSBkZSBjYXJnYToiLElEQ19TVEFUSUMsMTYsMTQ0LDM3LDgKRU5ECgoKSUREX1NZU1RFTUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIlVuaWRhZGVzIixJRENfU1RBVElDLDgsNCwyNDQsMTIwCiAgICBMSVNUQk9YICAgICAgICAgSURDX0xJU1RfRFJJVkVTLDE1LDIzLDE3OSw5MCxXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIiZBZGljaW9uYXIiLElEQ19EUklWRV9BREQsMTk3LDIyLDUwLDIyCiAgICBQVVNIQlVUVE9OICAgICAgIiZSZW1vdmVyIixJRENfRFJJVkVfUkVNT1ZFLDE5Nyw1MSw1MCwyMgogICAgUFVTSEJVVFRPTiAgICAgICImRWRpdGFyIixJRENfRFJJVkVfRURJVCwxOTcsODAsNTAsMjIKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIlVuaWRhZGUgV2luZG93cyIsSURDX1NUQVRJQyw3LDcsMjQ2LDk5CiAgICBDT05UUk9MICAgICAgICAgIkNyaWFyIHVtYSB1bmlkYWRlIFdpbmRvd3MgdmlydHVhbCIsSURDX1JBRElPX1ZJUlRVQUwsCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE0LDE4LDE1MCwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1ZJUlRVQUwsMjUsMzAsMTY5LDE0LEVTX0FVVE9IU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIlByb2N1cmFyLi4uIixJRENfQlVUVE9OX1ZJUlRVQUwsMjAyLDMwLDQ0LDE0CiAgICBDT05UUk9MICAgICAgICAgIlVzZSB1bWEgdW5pZGFkZSBXaW5kb3dzIHJlYWwiLElEQ19SQURJT19SRUFMLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNCw0OCwxNTAsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9SRUFMLDI1LDYwLDE2OSwxNCxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJQcm9jdXJhci4uLiIsSURDX0JVVFRPTl9SRUFMLDIwMiw2MCw0NCwxNAogICAgUFVTSEJVVFRPTiAgICAgICJQYXN0YXMgaW1wb3J0YW50ZXMuLi4iLElEQ19CVVRUT05fRk9MREVSUywxNzMsODUsNzMsMTQKICAgIEdST1VQQk9YICAgICAgICAiT3V0cmFzIHVuaWRhZGVzIixJRENfU1RBVElDLDcsMTA3LDI0NiwxMTIKICAgIExJU1RCT1ggICAgICAgICBJRENfTElTVF9EUklWRVMsMTQsMTE4LDIzMiw3NixMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiQWRpY2lvbmFyLi4uIixJRENfQlVUVE9OX0FERCwxNCwxOTksMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiUmVtb3ZlciIsSURDX0JVVFRPTl9SRU1PVkUsNTUsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkVkaXRhci4uLiIsSURDX0JVVFRPTl9FRElULDk3LDE5OSwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICJBdXRvZGV0ZWN0YXIuLi4iLElEQ19CVVRUT05fQVVUT0RFVEVDVCwxOTcsMTk5LDQ5LDE0CiAgICBMVEVYVAkgICAgIkFWSVNPOiBQYXJlY2UgcXVlIHZvY+ogbuNvIHRlbSB1bWEgdW5pZGFkZSBDIGRlZmluaWRhLiBDbGlxdWUgZW0gJ0FkaWNpb25hcicgcGFyYSBhZGljaW9uYXIgdW1hLiIsIElEU19EUklWRV9OT19DLCA3LDIyMywyNTAsMTEwCkVORAoKSUREX0RSSVZFX0VESVQgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyMDMsIDE2OQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDb25maWd1cmHn428gZGUgdW5pZGFkZSIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiJkZlY2hhciIsSURfQlVUVE9OX09LLDE0NSwxNTAsNTAsMTMKICAgIExURVhUICAgICAgICAgICAiTGV0cmE6IixJRENfU1RBVElDLDUsMjMsMjYsOQogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDExNCw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJS83R1bG86IixJRENfU1RBVElDX0xBQkVMLDMzLDExNywyOSwxMgogICAgTFRFWFQgICAgICAgICAgICJUaXBvOiIsSURDX1NUQVRJQyw1LDU0LDIxLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfUEFUSCwzMSw1LDExNywxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJDYW1pbmhvOiIsSURDX1NUQVRJQyw1LDksMjAsOQogICAgTFRFWFQgICAgICAgICAgICJOb21lczoiLElEQ19TVEFUSUMsNSwzOSwyNSw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfU0VSSUFMLDYzLDEyOSw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJT6XJpZToiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDEzMCwyOSwxMgogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19MRVRURVIsMzEsMjAsNzgsNjAsQ0JTX0RST1BET1dOTElTVCAgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJQcm9jdXJhci4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwxNTQsNSw0MCwxMwogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19OQU1FUywzMSwzNiw3OCw2MCxDQlNfRFJPUERPV05MSVNUICB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsMzEsNTIsNzgsNjAsQ0JTX0RST1BET1dOTElTVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT05UUk9MICAgICAgICAgIkF1dG9kZXRlY3RhciBkbyBkaXNwb3NpdGl2bzoiLElEQ19SQURJT19BVVRPREVURUNULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwyMSw3OSw5MywxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSwzMyw4OSwxMDgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiUHJvY3VyYXIuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwxNDgsODksNDAsMTMKICAgIENPTlRST0wgICAgICAgICAiQXNzb2NpYXIgbWFudWFsbWVudGU6IixJRENfUkFESU9fQVNTSUdOLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwyMSwxMDQsNjksMTAKICAgIEdST1VQQk9YICAgICAgICAiUvN0dWxvIGUgbvptZXJvIGRlIHPpcmllIixJRENfQk9YX0xBQkVMU0VSSUFMLDYsNjgsMTg5LDc5CgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIApCRUdJTgogICAgSURTX1dJTkVfVkVSU0lPTiAgICAgICAgIkNWUyIKICAgIElEU19UQUJfR0VORVJBTCAgICAgICAgICJHZXJhbCIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICJCaWJsaW90ZWNhcyIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJVbmlkYWRlcyIKRU5ECg==