LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogRmlubmlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA1IEtpbW1vIE15bGx5dmlydGEKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqCiAqLwoKTEFOR1VBR0UgTEFOR19GSU5OSVNILCBTVUJMQU5HX0RFRkFVTFQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI3MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9TVFJJTkcsSURDX1NUQVRJQywxMTksMTcsMTIwLDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCAsMTUsMTcsMTU3LDExMQogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgTFRFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgU292ZWxsdWtzaWVuIEFzZXR1a3NldCAiLElEQ19TVEFUSUMsIDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIldpbmUgdm9pIG1hdGtpYSBlcmkgV2luZG93cyB2ZXJzaW9pdGEgZXJpIHNvdmVsbHVrc2lsbGUuIFTkbeQgduRsaWxlaHRpIHRvaW1paSB5aGRlc3PkIEtpcmphc3RvdCBqYSBHcmFmaWlra2EgLXbkbGlsZWh0aWVuIGthbnNzYSBzYWxsaWVuIHNvdmVsbHVza29odGFpc2V0IGFzZXR1a3NldC4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIlNvdmVsbHVrc2V0IixJRENfQVBQX0xJU1RWSUVXLCJTeXNMaXN0VmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgTFZTX0xJU1QgfCBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMsCiAgICAgICAgICAgICAgICAgICAgMTUsNTAsMjMwLDE1MAogICAgUFVTSEJVVFRPTgkgICAgIiZMaXPk5CBzb3ZlbGx1cy4uLiIsSURDX0FQUF9BRERBUFAsIDkwLDIwNCw3NSwxNAogICAgUFVTSEJVVFRPTgkgICAgIiZQb2lzdGEgc292ZWxsdXMiLElEQ19BUFBfUkVNT1ZFQVBQLCAxNzAsMjA0LDc1LDE0CiAgICBMVEVYVCAgICAgICAgICAgIiZXaW5kb3dzaW4gdmVyc2lvOiIsSURDX1NUQVRJQywxNywyMjYsNTgsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5WRVIsODMsMjI0LDE2Myw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgICAgCkVORAoKSUREX0dSQVBIQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVAkgICAgIk7keXT2biB25HJpc3l2eXlzOiAiLElEQ19TVEFUSUMsOCwxMCw3MCwzMAogICAgQ09NQk9CT1gJICAgIElEQ19TQ1JFRU5fREVQVEgsODAsOCwxNzAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgR1JPVVBCT1ggICAgICAgICIgSWtrdW5hbiBhc2V0dWtzZXQgIixJRENfU1RBVElDLDgsMjUsMjQ0LDExMAoKICAgIENPTlRST0wJICAgICImU2FsbGkgRGlyZWN0WCAtc292ZWxsdXN0ZW4gZXN05OQga3Vyc29yaW4gcG9pc3R1bWluZW4gaWtrdW5hc3RhIixJRENfRFhfTU9VU0VfR1JBQiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDM1LDIzMCw4CiAgICBDT05UUk9MCSAgICAiJlR59nD2eWTkbiB0dXBsYXB1c2t1cm9pbnRpIixJRENfRE9VQkxFX0JVRkZFUiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDQ1LDIzMCw4CgogICAgTFRFWFQgICAgICAgICAgICJXaW5lIHZvaSBlbXVsb2lkYSBXaW5kb3dzaW4gdHn2cPZ5dOTkLCBqb3NzYSBrYWlra2kgaWtrdW5hdCBvdmF0IHloZGVzc+QgdmlydHVhYWxpc2Vzc2EgbuR5dPZzc+QsIHRhaSBqb3NzYSBrYWlra2kgaWtrdW5hdCBvdmF0IHR59nD2eWTkbGzkc2kgZXJpbGxpc2lu5C4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsNzMsMjI4LDI4CiAgICBMVEVYVCAgICAgICAgICAgIlR59nD2eWTkbiBrb2tvOiIsSURDX0RFU0tUT1BfU0laRSwxNSwxMTcsNTgsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgICAgICJYIixJRENfREVTS1RPUF9CWSwxMTgsMTE1LDgsOCxXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICImRW11bG9pIHZpcnR1YWFsaXN0YSB09nlw9nl05OQiLElEQ19FTkFCTEVfREVTS1RPUCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDEwMCwyMzAsMTAKCQkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfV0lEVEgsNzQsMTE1LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9IRUlHSFQsMTI3LDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECgogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsMTQwLDI0NCwxMjAKCiAgICBMVEVYVAkgICAgIlZlcnRleCBTaGFkZXIgLXR1a2k6ICIsSURDX1NUQVRJQywxNSwxNTAsODAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfRDNEX1ZTSEFERVJfTU9ERSwxMDAsMTQ4LDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgIlNhbGxpICZQaXhlbCBTaGFkZXI6biBr5Hl0dPYsIGpvcyBsYWl0dGVpc3RvIHR1a2VlIixJRENfRDNEX1BTSEFERVJfTU9ERSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDE2NSwyMzAsMTAKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBETEwga2lyamFzdG9qZW4gbeTkcml0eWtzZXQgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIkR5bmFhbWlzZXN0aSBsYWRhdHRhdmF0IGtpcmphc3RvdCAoRExMKSB2b2lkYWFuIG3k5HJpdGVsbOQgeWtzaXRlbGxlbiBvbGVtYWFuIGpva28gV2luZW4gdGFyam9hbWlhIChzaXPk5G5yYWtlbm5ldHR1amEpIHRhaSBXaW5kb3dzaW4gbmF0aWl2ZWphIGtpcmphc3RvamEgKFdpbmRvd3MgLWFzZW5udWtzZXN0YSwgdGFpIHNvdmVsbHVzdGVuIHRhcmpvYW1pYSkuIgogICAgICAgICAgICAgICAgICAgICxJRENfU1RBVElDLDE2LDE2LDIyMCwzMgogICAgTFRFWFQgICAgICAgICAgICJVdXNpIG3k5HJpdHlzIGtpcmphc3RvbGxlOiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAiJkxpc+TkIixJRENfRExMU19BRERETEwsIDE2NCw2OCw4MiwxMyxCU19ERUZQVVNIQlVUVE9OIAogICAgTFRFWFQgICAgICAgICAgICJPbGVtYXNzYW9sZXZhdCBt5ORyaXR5a3NldDoiLElEQ19TVEFUSUMsMTYsODYsMTAwLDgKICAgIExJU1RCT1ggICAgICAgICBJRENfRExMU19MSVNULDE2LDk2LDE0MCwxNDAsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJk11b2trYWEiLElEQ19ETExTX0VESVRETEwsMTY0LDk2LDgyLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZQb2lzdGEiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0IApFTkQKCklERF9MT0FET1JERVIgRElBTE9HIERJU0NBUkRBQkxFIDgwLCA5MCwgMTEwLCA5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRWRpdCBPdmVycmlkZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgTGF0YXVzauRyamVzdHlzICIsSURDX1NUQVRJQyw4LDQsOTQsNjYKICAgIENPTlRST0wgICAgICAgICAiJlNpc+RpbmVuIChXaW5lKSIsSURDX1JBRF9CVUlMVElOLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCwxNiwxNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImTmF0aWl2aSAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMjQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiUyZpc+RpbmVuIHNpdHRlbiBuYXRpaXZpIixJRENfUkFEX0JVSUxUSU5fTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMzQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiTmF0aWl2aSBzaXR0ZW4gc2lz5GluZW4iLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImRGlzYWJsZSIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNTQsNzUsMTAKICAgIERFRlBVU0hCVVRUT04gICAiSHl25GtzeSIsSURPSyw4LDc0LDQ1LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIlBlcnV1dGEiLElEQ0FOQ0VMLDU3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBBc2VtaWVuIG1hcHBhdWtzZXQgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9EUklWRVMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTgsMjMyLDc2CiAgICBQVVNIQlVUVE9OICAgICAgIiZMaXPk5C4uLiIsSURDX0JVVFRPTl9BREQsMTUsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJlBvaXN0YSIsSURDX0JVVFRPTl9SRU1PVkUsNTYsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJkhhZSBhdXRvbWFhdHRpc2VzdGkiLElEQ19CVVRUT05fQVVUT0RFVEVDVCwxNzcsOTgsNjksMTQKCiAgICAvKiBlZGl0aW5nIGRyaXZlIGRldGFpbHMgKi8KICAgIExURVhUICAgICAgICAgICAiJlBvbGt1OiIsSURDX1NUQVRJQywxNSwxMjMsMjUsOSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZTZWxhYS4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwyMDYsMTIwLDQwLDEzCiAgICAKICAgIExURVhUICAgICAgICAgICAiJlR5eXBwaToiLElEQ19TVEFUSUNfVFlQRSwxNSwxMzgsMjUsMTAKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSw0MSwxMzUsNzcsNjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICAKICAgIExURVhUICAgICAgICAgICAiTmltaSBqYSBzYXJqYW51bWVybyIsSURDX0xBQkVMU0VSSUFMX1NUQVRJQywxNSwxNTUsOTUsMTAKICAgIAogICAgUFVTSEJVVFRPTiAgICAgICImTuR5dOQgbGlz5GFzZXR1a3NldCIsSURDX0JVVFRPTl9TSE9XX0hJREVfQURWQU5DRUQsMTc3LDEzNiw2OSwxMwogICAgQ09OVFJPTCAgICAgICAgICImSGFlIGF1dG9tYWF0dGlzZXN0aSBsYWl0dGVlbiBtdWthYW46IixJRENfUkFESU9fQVVUT0RFVEVDVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMTUsMTY2LDE1MCwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSwyNywxNzYsMTc0LDEzLEVTX0FVVE9IU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIiZTZWxhYS4uLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDIwNiwxNzYsNDAsMTMKICAgIENPTlRST0wgICAgICAgICAiJk3k5HJpdOQ6IixJRENfUkFESU9fQVNTSUdOLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxOTUsNjksMTAKCiAgICBMVEVYVCAgICAgICAgICAgIiZOaW1pOiIsSURDX1NUQVRJQ19MQUJFTCwzMywyMDgsNDksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9MQUJFTCw4MywyMDUsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIiZTYXJqYW51bWVybzoiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDIyNSw0OSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw4MywyMjEsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJO5Hl05CBwJmlzdGV0aWVkb3N0b3QiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjYwLDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVAkixORuaWFqdXJpOiAiLElEQ19TVEFUSUMsMTAsMjAsNjAsOAogICAgQ09NQk9CT1gJSURDX0FVRElPX0RSSVZFUiw3MCwxOCw4NSw4NSxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04JIiZUdW5uaXN0YSBhdXRvbWFhdHRpc2VzdGkiLElEQ19BVURJT19BVVRPREVURUNULDE3MCwyMCw3OSwxNAogICAgUFVTSEJVVFRPTgkiJk3k5HJpdOQiLElEQ19BVURJT19DT05GSUdVUkUsMTcwLDQwLDc5LDE0CiAgICBQVVNIQlVUVE9OCSImSGFsbGludGFwYW5lZWxpIixJRENfQVVESU9fQ09OVFJPTF9QQU5FTCwxNzAsNjAsNzksMTQKCiAgICBHUk9VUEJPWCAgICAiIERpcmVjdFNvdW5kICIsSURDX1NUQVRJQyw4LDc1LDI0NCwxMjAKCiAgICBMVEVYVAkiTGFpdHRlaXN0b3BvaGphaW5lbiBraWloZHl0eXM6IixJRENfU1RBVElDLDE1LDg1LDExMCwxMAogICAgQ09NQk9CT1gJSURDX0RTT1VORF9IV19BQ0NFTCwxMjUsODMsMTAwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgIkFqdXJpbiAmZW11bG9pbnRpIixJRENfRFNPVU5EX0RSVl9FTVVMLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTAwLDIzMCwxMApFTkQKCklERF9BUFBFQVJBTkNFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgIlRlZW1hOiIsSURDX1NUQVRJQyw4LDEwLDI0NCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sOCwxOCwyNDQsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkFzZW5uYSAmdGVlbWEuLi4iLElEQ19USEVNRV9JTlNUQUxMLDE1MiwzMiwxMDAsMTQKICAgIExURVhUICAgICAgICAgICAiVuRyaToiLElEQ19USEVNRV9DT0xPUlRFWFQsOCw0OCwyNDQsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9DT0xPUkNPTUJPLDgsNTYsMjQ0LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJLb2tvOiIsSURDX1RIRU1FX1NJWkVURVhULDgsNzQsMjQ0LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDgsODIsMjQ0LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfV0lORV9WRVJTSU9OICAgICAgICAiQ1ZTIgogICAgSURTX1RBQl9BUFBMSUNBVElPTlMgICAgIlNvdmVsbHVrc2V0IgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIktpcmphc3RvdCIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJBc2VtYXQiCiAgICBJRFNfQ0hPT1NFX1BBVEggICAgICAgICAiVmFsaXRzZSBtYXBhdHRhdmEgdW5peCAta2Fuc2lvLiIKICAgIElEU19ISURFX0FEVkFOQ0VEICAgICAgICJQaWlsb3RhIGxpc+Rhc2V0dWtzZXQiCiAgICBJRFNfU0hPV19BRFZBTkNFRCAgICAgICAiTuR5dOQgbGlz5GFzZXR1a3NldCIKICAgIElEU19OT1RIRU1FICAgICAgICAgICAgICIoRWkgVGVlbWFhKSIKICAgIElEU19UQUJfR1JBUEhJQ1MgICAgICAgICJHcmFmaWlra2EiCiAgICBJRFNfVEFCX0FQUEVBUkFOQ0UgICAgICAiVWxrb2FzdSIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICLE5G5pIgogICAgSURTX1RBQl9BQk9VVCAgICAgICAgICAgIlRpZXRvamEiCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAiV2luZW4gYXNldHVrc2V0IgogICAgSURTX1RIRU1FRklMRSAgICAgICAgICAgIlRlZW1hIC10aWVkb3N0b3QiCiAgICBJRFNfVEhFTUVGSUxFX1NFTEVDVCAgICAiVmFsaXRzZSB0ZWVtYW4gdGllZG9zdG8iCkVORAo=