LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogTm9yd2VnaWFuIEJva23lbCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA1IEFsZXhhbmRlciBOLiBT+HJuZXMKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqCiAqLwoKTEFOR1VBR0UgTEFOR19OT1JXRUdJQU4sIFNVQkxBTkdfTk9SV0VHSUFOX0JPS01BTAoKSUREX0FCT1VUQ0ZHIERJQUxPR0VYIDAsIDAsIDI2MCwgMjcwClNUWUxFIFdTX0NISUxECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICBQQUNLQUdFX1NUUklORyxJRENfU1RBVElDLDExOSwxNywxMjAsOAogICAgQ09OVFJPTCAgICAgICAgIElEQl9XSU5FLElEQ19TVEFUSUMsIlN0YXRpYyIsU1NfQklUTUFQICwxNSwxNywxNTcsMTExCiAgICBMVEVYVCAgICAgICAgICAgImh0dHA6Ly93d3cud2luZWhxLm9yZy8iLElEQ19TVEFUSUMsMTE5LDMxLDEwNiw4CiAgICBMVEVYVCAgICAgICAgICAgIkRldHRlIGJpYmxpb3Rla2V0IGVyIGZyaSBwcm9ncmFtdmFyZXI7IGRldCBrYW4gcmVkaXN0cmlidWVyZXMgaSBoZW5ob2xkIHRpbCB2aWxr5XJlbmUgaSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdXRnaXR0IGF2IKt0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uuywgZW50ZW4gdmVyc2pvbiAyLjEgYXYgZGVubmUgTGlzZW5zZW4sIGVsbGVyIChodmlzIGR1IPhuc2tlciBkZXQpIGVuIG55ZXJlIHZlcnNqb24uIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDExOSw0NCwxMjQsNzIKRU5ECgpJRERfQVBQQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBQcm9ncmFtbWlubnN0aWxsaW5nZXIgIixJRENfU1RBVElDLCA4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJXaW5lIGthbiBoZXJtZSBldHRlciBmb3Jza2plbGxpZ2UgV2luZG93cy12ZXJzam9uZXIgZm9yIGh2ZXJ0IHByb2dyYW0uIERlbm5lIGZhbmVuIGVyIGtvYmxldCBtZWQgYmlibGlvdGVrLSBvZyBncmFmaWtrZmFuZW5lLCBz5W5uIGF0IGR1IGthbiBlbmRyZSBpbm5zdGlsbGluZ2VyIGZvciBoZWxlIHN5c3RlbWV0IGVsbGVyIGVua2VsdGUgcHJvZ3JhbSBkZXIgb2dz5S4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIlByb2dyYW1tZXIiLElEQ19BUFBfTElTVFZJRVcsIlN5c0xpc3RWaWV3MzIiLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBMVlNfTElTVCB8IExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUywKICAgICAgICAgICAgICAgICAgICAxNSw1MCwyMzAsMTUwCiAgICBQVVNIQlVUVE9OCSAgICAiTGVnZyB0aWwgcHJvZ3ImYW0gLiAuIC4iLElEQ19BUFBfQUREQVBQLCA5MCwyMDQsNzUsMTQKICAgIFBVU0hCVVRUT04JICAgICJGamUmcm4gcHJvZ3JhbSIsSURDX0FQUF9SRU1PVkVBUFAsIDE3MCwyMDQsNzUsMTQKICAgIExURVhUICAgICAgICAgICAiJldpbmRvd3MtdmVyc2pvbjoiLElEQ19TVEFUSUMsMTcsMjI2LDU4LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDIyNCwxNjMsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QICAgIApFTkQKCklERF9HUkFQSENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQJICAgICJGYXJnZWR5YmRlOiAiLElEQ19TVEFUSUMsOCwxMCw3MCwzMAogICAgQ09NQk9CT1gJICAgIElEQ19TQ1JFRU5fREVQVEgsODAsOCwxNzAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgR1JPVVBCT1ggICAgICAgICIgVmluZHVpbm5zdGlsbGluZ2VyICIsSURDX1NUQVRJQyw4LDI1LDI0NCwxMTAKCiAgICBDT05UUk9MCSAgICAiVGlsbGF0IERpcmVjdFgtcHJvZ3JhbW1lciDlIGhpbmRyZSBtdXNlbiBmcmEg5SBmb3JsYXRlIHZpbmR1ZXQiLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMzUsMjMwLDgKICAgIENPTlRST0wJICAgICJBa3RpdmVyIGRvYmJlbHQgaHVydGlnbWlubmUgZm9yIHNrcml2ZWJvcmRldCIsSURDX0RPVUJMRV9CVUZGRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw0NSwyMzAsOAogICAgCiAgICBMVEVYVCAgICAgICAgICAgIkR1IGthbiB2ZWxnZSDlIGVtdWxlcmUgZXQgV2luZG93cy1za3JpdmVib3JkLCBz5W5uIGF0IGFsbGUgV2luZG93cy1wcm9ncmFtbWVyIHNhbWxlcyBpIGV0dCB2aW5kdSwgZWxsZXIgYXQgV2luZG93cy1wcm9ncmFtbWVyIG9wcGZyZXIgc2VnIHNvbSB2YW5saWdlIHByb2dyYW1tZXIuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDczLDIyOCwyOAogICAgTFRFWFQgICAgICAgICAgICJEdSBrYW4gdmVsZ2Ug5SBlbXVsZXJlIGV0IFdpbmRvd3Mtc2tyaXZlYm9yZCwgZGVyIGFsbGUgdmluZHVlbmUgZXIgYnVuZGV0IGkgZW4gdmlydHVlbGwgc2tqZXJtLCBlbGxlciBkdSBrYW4gZuUgdmluZHVlbmUgdGlsIOUgb3BwZvhyZSBzZWcgc29tIGFuZHJlIHByb2dyYW1tZXIgcOUgc2tyaXZlYm9yZGV0LiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSw3MywyMjgsMjgKICAgIExURVhUICAgICAgICAgICAiU2tyaXZlYm9yZHNzdHJyZWxzZToiLElEQ19ERVNLVE9QX1NJWkUsMTUsMTE1LDQ0LDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTA4LDExNSw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiVmlydHVlbHQgc2tyaXZlYm9yZCIsSURDX0VOQUJMRV9ERVNLVE9QLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTAwLDIzMCwxMAoJCSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9XSURUSCw2NCwxMTUsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsMTE1LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKCiAgICBHUk9VUEJPWCAgICAgICAgIiBEaXJlY3QzRCAiLElEQ19TVEFUSUMsOCwxNDAsMjQ0LDEyMAoKICAgIExURVhUCSAgICAiVmVydGVrcy1za3lnZ2VsZWdnaW5nOiAiLElEQ19TVEFUSUMsMTUsMTUwLDgwLDMwCiAgICBDT01CT0JPWAkgICAgSURDX0QzRF9WU0hBREVSX01PREUsMTAwLDE0OCwxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJUaWxsYXQgcGlrc2VsLXNreWdnZWxlZ2dlciAoaHZpcyBtYXNraW52YXJlbiBzdPh0dGVyIGRldCkiLElEQ19EM0RfUFNIQURFUl9NT0RFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTY1LDIzMCwxMApFTkQKCklERF9ETExDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIERMTC1vdmVyc3R5cmluZyAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiRHluYW1pc2sga29ibGVkZSBiaWJsaW90ZWtlciBrYW4gb3BwZ2lzIGluZGl2aWR1ZWx0IHRpbCDlIHbmcmUgZW50ZW4gaW5uZWJ5Z2dldCAoZnJhIFdpbmUpIGVsbGVyIGlubmb4ZHQgKHRhdHQgZnJhIFdpbmRvd3MgZWxsZXIgZ2l0dCBhdiBldCBwcm9ncmFtKS4iCiAgICAgICAgICAgICAgICAgICAgLElEQ19TVEFUSUMsMTYsMTYsMjIwLDMyCiAgICBMVEVYVCAgICAgICAgICAgIk55IG92ZXJzdHlyaW5nIGZvciBiaWJsaW90ZWs6IixJRENfU1RBVElDLDE2LDU4LDEwMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RMTENPTUJPLDE2LDY4LDE0MCwxNCxDQlNfRFJPUERPV04gfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUIHwgQ0JTX0xPV0VSQ0FTRQogICAgUFVTSEJVVFRPTiAgICAgICImTGVnZyB0aWwiLElEQ19ETExTX0FERERMTCwgMTY0LDY4LDgyLDEzLEJTX0RFRlBVU0hCVVRUT04gCiAgICBMVEVYVCAgICAgICAgICAgIkVrc2lzdGVyZW5kZSBvdmVyc3R5cmluZ2VyOiIsSURDX1NUQVRJQywxNiw4NiwxMDAsOAogICAgTElTVEJPWCAgICAgICAgIElEQ19ETExTX0xJU1QsMTYsOTYsMTQwLDE0MCxXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgV1NfVlNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJSJmVkaWdlciIsSURDX0RMTFNfRURJVERMTCwxNjQsOTYsODIsMTQKICAgIFBVU0hCVVRUT04gICAgICAiRmplJnJuIixJRENfRExMU19SRU1PVkVETEwsMTY0LDExNCw4MiwxNCAKRU5ECgpJRERfTE9BRE9SREVSIERJQUxPRyBESVNDQVJEQUJMRSA4MCwgOTAsIDExMCwgOTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlJlZGlnZXIgb3ZlcnN0eXJpbmciCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIExhc3RpbmdzcmVra2VmbGdlICIsSURDX1NUQVRJQyw4LDQsOTQsNjYKICAgIENPTlRST0wgICAgICAgICAiSW5uZSZieWdnZXQgKFdpbmUpIixJRENfUkFEX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQLDE2LDE0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkkmbm5m+GR0IChXaW5kb3dzKSIsSURDX1JBRF9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwyNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImSW5uZWJ5Z2dldCBz5SBpbm5m+GR0IixJRENfUkFEX0JVSUxUSU5fTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMzQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiSW5uZmT4JmR0IHPlIGlubmVieWdnZXQiLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImRGVha3RpdmVyIixJRENfUkFEX0RJU0FCTEUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw1NCw3NSwxMAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSyw4LDc0LDQ1LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkF2YnJ5dCIsSURDQU5DRUwsNTcsNzQsNDUsMTQsV1NfR1JPVVAKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFN0YXNqb25rYXJ0bGVnZ2luZyAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIENPTlRST0wgICAgICAgICAiTGlzdGV2aXNuaW5nIixJRENfTElTVF9EUklWRVMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTgsMjMyLDc2CiAgICBQVVNIQlVUVE9OICAgICAgIiZMZWdnIHRpbCAuIC4gLiIsSURDX0JVVFRPTl9BREQsMTUsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiRmplJnJuIixJRENfQlVUVE9OX1JFTU9WRSw1Niw5OCwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICImQXV0b21hdGlzayAuIC4gLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5Nyw5OCw0OSwxNAoKICAgIC8qIGVkaXRpbmcgZHJpdmUgZGV0YWlscyAqLwogICAgTFRFWFQgICAgICAgICAgICImU3RpOiIsSURDX1NUQVRJQywxNSwxMjMsMjAsOSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZCbGEgLiAuIC4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwogICAgCiAgICBMVEVYVCAgICAgICAgICAgIiZUeXBlOiIsSURDX1NUQVRJQ19UWVBFLDE1LDEzOCwyMSwxMAogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19UWVBFLDQxLDEzNSw3Nyw2MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIAogICAgTFRFWFQgICAgICAgICAgICJWb2x1bW5hdm4gb2cgc2VyaWVudW1tZXIiLElEQ19MQUJFTFNFUklBTF9TVEFUSUMsMTUsMTU1LDk1LDEwCiAgICAKICAgIFBVU0hCVVRUT04gICAgICAiQXZhbiZzZXJ0IHZpc25pbmciLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDE4NiwxMzYsNjAsMTMKICAgIENPTlRST0wgICAgICAgICAiJkZpbm4gYXV0b21hdGlzayBmcmEgZW5oZXQ6IixJRENfUkFESU9fQVVUT0RFVEVDVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTY2LDkzLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfREVWSUNFLDI3LDE3NiwxNzQsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkJsYSAuIC4gLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDIwNiwxNzYsNDAsMTMKICAgIENPTlRST0wgICAgICAgICAiT3BwbmV2biAmbWFudWVsdDoiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE5NSw2OSwxMAoKICAgIExURVhUICAgICAgICAgICAiVm8mbHVtbmF2bjoiLElEQ19TVEFUSUNfTEFCRUwsMzMsMjA4LDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNjMsMjA1LDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJTJmVyaWVudW1tZXI6IixJRENfU1RBVElDX1NFUklBTCwzMywyMjUsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9TRVJJQUwsNjMsMjIxLDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICAiVmlzIC4tZmlsZXIiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjYwLDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVAkiTHlkZHJpdmVyOiAiLElEQ19TVEFUSUMsMTAsMjAsNjAsOAogICAgQ09NQk9CT1gJSURDX0FVRElPX0RSSVZFUiw3MCwxOCw4NSw4NSxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04JIkF1dG9tYXRpc2siLElEQ19BVURJT19BVVRPREVURUNULDE3MCwyMCw0OSwxNAogICAgUFVTSEJVVFRPTgkiS29uZmlndXJlciIsSURDX0FVRElPX0NPTkZJR1VSRSwxNzAsNDAsNDksMTQKICAgIFBVU0hCVVRUT04JIktvbnRyb2xscGFuZWwiLElEQ19BVURJT19DT05UUk9MX1BBTkVMLDE3MCw2MCw0OSwxNAoKICAgIEdST1VQQk9YICAgICIgRGlyZWN0U291bmQgIixJRENfU1RBVElDLDgsNzUsMjQ0LDEyMAoKICAgIExURVhUCSJNYXNraW52YXJlYWtzZWxlcmFzam9uOiAiLElEQ19TVEFUSUMsMTUsODUsOTAsMTAKICAgIENPTUJPQk9YCUlEQ19EU09VTkRfSFdfQUNDRUwsMTAwLDgzLDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTlRST0wgICAgICJEcml2ZXJlbXVsZXJpbmciLElEQ19EU09VTkRfRFJWX0VNVUwsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMDAsMjMwLDEwCgpFTkQKCklERF9BUFBFQVJBTkNFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBUZW1hZXIgIixJRENfU1RBVElDLDgsMTAsMjQ0LDk0CiAgICBMVEVYVCAgICAgICAgICAgIlRlbWE6IixJRENfU1RBVElDLDE1LDIyLDIyOCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sMTUsMzAsMjI4LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJGYXJnZToiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNDgsMjI4LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw1NiwyMjgsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlN0+HJyZWxzZToiLElEQ19USEVNRV9TSVpFVEVYVCwxNSw3NCwyMjgsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9TSVpFQ09NQk8sMTUsODIsMjI4LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfV0lORV9WRVJTSU9OICAgICAgICAiQ1ZTIgogICAgSURTX1RBQl9BUFBMSUNBVElPTlMgICAgIlByb2dyYW1tZXIiCiAgICBJRFNfVEFCX0RMTFMgICAgICAgICAgICAiQmlibGlvdGVrZXIiCiAgICBJRFNfVEFCX0RSSVZFUyAgICAgICAgICAiU3Rhc2pvbmVyIgogICAgSURTX0NIT09TRV9QQVRIICAgICAgICAgIlZlbGcgVW5peC1rYXRhbG9nZW5zIHNvbSBza2FsIGthcnRsZWdnZXMuIgogICAgSURTX0hJREVfQURWQU5DRUQgICAgICAgIkVua2VsIHZpc25pbmciCiAgICBJRFNfU0hPV19BRFZBTkNFRCAgICAgICAiQXZhbnNlcnQgdmlzbmluZyIKICAgIElEU19OT1RIRU1FICAgICAgICAgICAgICIoSW50ZXQgdGVtYSkiCiAgICBJRFNfVEFCX0dSQVBISUNTICAgICAgICAiR3JhZmlrayIKICAgIElEU19UQUJfQVBQRUFSQU5DRSAgICAgICJVdHNlZW5kZSIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICJMeWQiCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiT20iCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAiV2luZS1rb25maWd1cmFzam9uIgogICAgSURTX1RIRU1FRklMRSAgICAgICAgICAgIlRlbWFmaWxlciIKICAgIElEU19USEVNRUZJTEVfU0VMRUNUICAgICJWZWxnIGVuIHRlbWFmaWwiCkVORAo=