LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogVHVya2lzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IEZhdGloIEH+/WP9CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfVFVSS0lTSCwgU1VCTEFOR19ERUZBVUxUCgpJRFJfV0lORUNGRyBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiWWFw/WxhbmT9ciIsIElEQ19BVURJT19DT05GSUdVUkUKICAgIEVORApFTkQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI3MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9TVFJJTkcsSURDX1NUQVRJQywxMTksMTcsMTIwLDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCAsMTUsMTcsMTU3LDExMQogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgTFRFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgVXlndWxhbWEgQXlhcmxhcv0gIixJRENfU1RBVElDLCA4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJXaW5lIGhlciB1eWd1bGFtYSBp52luIGRl8Gn+aWsgV2luZG93cyBz/HL8bWxlcmluaSB0YWtsaXQgZWRlYmlsaXIuIEJ1IHNla21lIEtpdGFwbP1rbGFyIHZlIEdyYWZpayBzZWttZWxlcmkgaWxlIGJh8GxhbnT9bP0gb2x1cCBidSBzZWttZWxlcmRlIGRlIHNpc3RlbSDnYXD9bmRha2kgdmV5YSB1eWd1bGFtYXlhIPZ6ZWwgYXlhcmxhcv0geWFwbWFu/XphIGl6aW4gdmVyaXIuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDIwLDIyNywzMAogICAgQ09OVFJPTCAgICAgICAgICJVeWd1bGFtYWxhciIsSURDX0FQUF9MSVNUVklFVywiU3lzTGlzdFZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IExWU19MSVNUIHwgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTLAogICAgICAgICAgICAgICAgICAgIDE1LDUwLDIzMCwxNTAKICAgIFBVU0hCVVRUT04JICAgICJVeWd1bGFtYSAmRWtsZS4uLiIsSURDX0FQUF9BRERBUFAsIDkwLDIwNCw3NSwxNAogICAgUFVTSEJVVFRPTgkgICAgIlV5Z3VsYW1hICZLYWxk/XIiLElEQ19BUFBfUkVNT1ZFQVBQLCAxNzAsMjA0LDc1LDE0CiAgICBMVEVYVCAgICAgICAgICAgIiZXaW5kb3dzIFP8cvxt/DoiLElEQ19TVEFUSUMsMTcsMjI2LDU4LDgKICAgIENPTUJPQk9YICAgICAgICBJRENfV0lOVkVSLDgzLDIyNCwxNjMsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QICAgIApFTkQKCklERF9HUkFQSENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgUGVuY2VyZSBheWFybGFy/SAiLElEQ19TVEFUSUMsOCw1LDI0NCwxODAKCiAgICBDT05UUk9MICAgICAgICAgIkRpcmVjdFggdXlndWxhbWFsYXL9bv1uIGZhcmV5aSBwZW5jZXJlIGnnaW5lIGtpbGl0bGVtZWxlcmluZSBpemluIHZlciIsSURDX0RYX01PVVNFX0dSQUIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxNSwyMzAsOAogICAgTFRFWFQgICAgICAgICAgICJQZW5jZXJlbGVyIHBlbmNlcmUgefZuZXRpY2luaXogdGFyYWb9bmRhbiB59m5ldGlsZGnwaW5kZSwgc3RhbmRhcnQga2VuYXJsYXJhIHNhaGlwIG9sYWNhaywgc2FuYWwgbWFzYfxzdPxu/HplIHV5Z3VuIGRhdnJhbmFjYWsgdmUgcGVuY2VyZSBsaXN0ZW5pemRlIGf2cvxuZWNla3Rpci4gXG5cbkXwZXIgcGVuY2VyZWxlciB59m5ldGlsbWV6c2UsIHBlbmNlcmUgefZuZXRpY2luaXpkZW4gYmHw/W1z/Xogb2xhY2FrbGFyZP1yLiBCdSwgcGVuY2VyZWxlcmluIG1hc2H8c3T8bvx6bGUgdGFtIG9sYXJhayBi/HT8bmxl/mVtZXllY2XwaSBhbmxhbf1uYSBnZWxpcjsgYW1hIHRha2xpdCBkYWhhIGT8emf8biB5YXD9bGFiaWxpY2XwaW5kZW4gYmF6/SBwcm9ncmFtbGFyIGRhaGEgaXlpIOdhbP3+YWJpbGlyLiIsCgkJICAgIElEQ19TVEFUSUMsMTUsMzgsMjI4LDgwCiAgICBDT05UUk9MICAgICAgICAgIlBlbmNlcmUgefZuZXRpY2lzaW5pbiBwZW5jZXJlbGVyaSB59m5ldG1lc2luZSBpemluIHZlciIsSURDX0VOQUJMRV9NQU5BR0VELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTEyLDIzMCw4CiAgICAKICAgIExURVhUICAgICAgICAgICAiVPxtIHBlbmNlcmVsZXJpbiBzYW5hbCBiaXIgZWtyYW5hIGhhcHNlZGlsZGnwaSBiaXIgd2luZG93cyBtYXNh/HN0/CBlbfxsZSBlZGViaWxpcnNpbml6IHZleWEgcGVuY2VyZWxlcmluIHN0YW5kYXJ0IG1hc2H8c3T8bvx6ZSB5ZXJsZf5tZXNpbmkgc2HwbGF5YWJpbGlyc2luaXouIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDEyNiwyMjgsMjgKICAgIExURVhUICAgICAgICAgICAiTWFzYfxzdPwgYvx5/Gts/PD8OiIsSURDX0RFU0tUT1BfU0laRSwxNSwxNjgsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgICAgICJYIixJRENfREVTS1RPUF9CWSwxMDgsMTY4LDgsOCxXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICJTYW5hbCBtYXNh/HN0/CBrdWxsYW4iLElEQ19FTkFCTEVfREVTS1RPUCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDE1MywyMzAsMTAKCQkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfV0lEVEgsNjQsMTY4LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9IRUlHSFQsMTE3LDE2OCw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECgogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsMTkwLDI0NCw1MAoKICAgIExURVhUICAgICAgICAgICAiVmVydGV4IFNoYWRlciBEZXN0ZfBpOiAiLElEQ19TVEFUSUMsMTUsMjAwLDgwLDMwCiAgICBDT01CT0JPWAkgICAgSURDX0QzRF9WU0hBREVSX01PREUsMTAwLDE5OCwxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJQaXhlbCBTaGFkZXInYSBpemluIHZlciAoZG9uYW79bSBkZXN0ZWtsaXlvcnNhKSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyMTcsMjMwLDEwCiAgICBHUk9VUEJPWCAgICAgICAgIiBTY3JlZW4gUmVzb2x1dGlvbiAiLElEQ19TVEFUSUMsOCwyNDIsMjQ0LDI1CiAgICBDT05UUk9MICAgICAgICAgIiIsIElEQ19SRVNfVFJBQ0tCQVIsICJtc2N0bHNfdHJhY2tiYXIzMiIsV1NfVEFCU1RPUCwxMiwyNTAsMTg3LDE1CiAgICBFRElUVEVYVCAgICAgICAgSURDX1JFU19EUElFRElULDIwNCwyNTAsMjMsMTMsRVNfTlVNQkVSfFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiZHBpIixJRENfU1RBVElDLDIzNSwyNTIsMTAsOApFTkQKCklERF9ETExDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIERMTCDWbmNlbGlrbGVyaSAiLElEQ19TVEFUSUMsOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiRGV2aW5nZW4gQmHwbP0gS2l0YXBs/WtsYXL9biBoZXIgYmlyaSB5ZXJsZf5payAoV2luZSBpbGUgZ2VsZW4pIHZleWEgZG/wYWwgKFdpbmRvd3MndGFuIGFs/W5t/f4gdmV5YSB1eWd1bGFtYSB0YXJhZv1uZGFuIHNh8Gxhbm39/ikgb2xhcmFrIGJlbGlydGlsZWJpbGlyLiIKICAgICAgICAgICAgICAgICAgICAsSURDX1NUQVRJQywxNiwxNiwyMjAsMzIKICAgIExURVhUICAgICAgICAgICAiS2l0YXBs/WsgaedpbiB5ZW5pIPZuY2VsaWs6IixJRENfU1RBVElDLDE2LDU4LDEwMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RMTENPTUJPLDE2LDY4LDE0MCwxNCxDQlNfRFJPUERPV04gfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUIHwgQ0JTX0xPV0VSQ0FTRQogICAgUFVTSEJVVFRPTiAgICAgICImRWtsZSIsSURDX0RMTFNfQURERExMLCAxNjQsNjgsODIsMTMsQlNfREVGUFVTSEJVVFRPTiAKICAgIExURVhUICAgICAgICAgICAiVmFyIG9sYW4g9m5jZWxpa2xlcjoiLElEQ19TVEFUSUMsMTYsODYsMTAwLDgKICAgIExJU1RCT1ggICAgICAgICBJRENfRExMU19MSVNULDE2LDk2LDE0MCwxNDAsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkT8emVubGUiLElEQ19ETExTX0VESVRETEwsMTY0LDk2LDgyLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZTaWwiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0IApFTkQKCklERF9MT0FET1JERVIgRElBTE9HIERJU0NBUkRBQkxFIDgwLCA5MCwgMTI1LCA5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi1m5jZWxpayBE/HplbmxlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBZ/GtsZW1lIFP9cmFz/SAiLElEQ19TVEFUSUMsOCw0LDExMCw2NgogICAgQ09OVFJPTCAgICAgICAgICImWWVybGX+aWsgKFdpbmUpIixJRENfUkFEX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQLDE2LDE0LDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICImRG/wYWwgKFdpbmRvd3MpIixJRENfUkFEX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDI0LDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICLWbmNlIFllciZsZf5payBzb25yYSBEb/BhbCIsSURDX1JBRF9CVUlMVElOX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDM0LDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICLWbmNlIEQmb/BhbCBzb25yYSBZZXJsZf5payIsSURDX1JBRF9OQVRJVkVfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDQ0LDEwMCwxMAogICAgQ09OVFJPTCAgICAgICAgICImRXRraXNpemxl/nRpciIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNTQsMTAwLDEwCiAgICBERUZQVVNIQlVUVE9OICAgIlRhbWFtIixJRE9LLDgsNzQsNTMsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAi3XB0YWwiLElEQ0FOQ0VMLDY0LDc0LDUzLDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBT/HL8Y/wgRf5sZf50aXJtZXNpICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfRFJJVkVTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDE4LDIzMiw3NgogICAgUFVTSEJVVFRPTiAgICAgICImRWtsZS4uLiIsSURDX0JVVFRPTl9BREQsMTUsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJkthbGT9ciIsSURDX0JVVFRPTl9SRU1PVkUsNTYsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiT3RvbWF0aWsgJkFsZ/1sYS4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE4Niw5OCw2MCwxNAoKICAgIC8qIGVkaXRpbmcgZHJpdmUgZGV0YWlscyAqLwogICAgTFRFWFQgICAgICAgICAgICImWW9sOiIsSURDX1NUQVRJQywxNSwxMjMsMjAsOSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZH9nphdC4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwyMDYsMTIwLDQwLDEzCiAgICAKICAgIExURVhUICAgICAgICAgICAiJlT8cjoiLElEQ19TVEFUSUNfVFlQRSwxNSwxMzgsMjEsMTAKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSw0MSwxMzUsNzcsNjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICAKICAgIExURVhUICAgICAgICAgICAiRXRpa2V0IHZlIHNlcmkgbm8iLElEQ19MQUJFTFNFUklBTF9TVEFUSUMsMTUsMTU1LDk1LDEwCiAgICAKICAgIFBVU0hCVVRUT04gICAgICAiR2Vsaf5taf4gJlNl52VuZWtsZXIiLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDE4NiwxMzYsNjAsMTMKICAgIENPTlRST0wgICAgICAgICAiQXln/XR0YW4gT3RvbWF0aWsgQSZsZ/1sYToiLElEQ19SQURJT19BVVRPREVURUNULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxNjYsOTMsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9ERVZJQ0UsMjcsMTc2LDE3NCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJH9iZ6YXQuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwyMDYsMTc2LDQwLDEzCiAgICBDT05UUk9MICAgICAgICAgIiZFbGxlIEF0YToiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDE1LDE5NSw2OSwxMAoKICAgIExURVhUICAgICAgICAgICAiJkV0aWtldDoiLElEQ19TVEFUSUNfTEFCRUwsMzMsMjA4LDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfTEFCRUwsNjMsMjA1LDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJTJmVyaSBObzoiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDIyNSwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw2MywyMjEsNzgsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJOb2t0YXlsYSBiYf5sYXlhbiBkb3N5YWxhcv0gZ/ZzdGVyIixJRENfU0hPV19ET1RfRklMRVMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw4LDI2MCwyMzAsOApFTkQKCklERF9BVURJT0NGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgU/xy/GP8IFNl52ltaSAiLElEQ19TVEFUSUMsOCw0LDI0NCwxOTUKICAgIExURVhUICAgICAgICAgICAi3XN0ZWRp8GluaXogc/xy/GP8bvxuIGt1dHVzdW51IGn+YXJldGxleWVyZWsgYmlyIHNlcyBz/HL8Y/xz/CBzZedpbi4gSGnnYmlyIHP8cvxj/CBzZedtZXllcmVrIHNlc2kgZXRraXNpemxl/nRpcmViaWxpcnNpbml6LiBCaXJkZW4gZmF6bGEgc/xy/GP8IHNl52ltaSD2bmVyaWxtZXouINx6ZXJpbmUgc2HwIHT9a2xheWFyYWsgYmlyIHP8cvxj/Hn8IHlhcP1sYW5k/XL9bi4iLElEQ19TVEFUSUMsMTUsMjAsMjI3LDMwCiAgICBDT05UUk9MICAgICAgICAgIkF5Z/10bGFyIixJRENfQVVESU9fVFJFRSwiU3lzVHJlZVZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNSw1MCwxNDAsMTQwIAogICAgUFVTSEJVVFRPTiAgICAgICImVGVzdCBTb3VuZCIsSURDX0FVRElPX1RFU1QsMTcwLDUwLDU5LDE0CiAgICBQVVNIQlVUVE9OCSAgICAiRGVuZXRpbSBNYXNhc/0iLElEQ19BVURJT19DT05UUk9MX1BBTkVMLDE3MCw3MCw1OSwxNAogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0U291bmQgIixJRENfU1RBVElDLDgsMjA1LDI0NCw2MAogICAgTFRFWFQgICAgICAgICAgICJEb25hbv1tIEj9emxhbmT9cm1hc/06ICIsSURDX1NUQVRJQywxNSwyMTUsOTAsMTAKICAgIENPTUJPQk9YCSAgICBJRENfRFNPVU5EX0hXX0FDQ0VMLDEwMCwyMTMsMTUwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICLWbnRhbv1tbP0g1nJuZWtsZW1lIEj9ev06IixJRENfU1RBVElDLDE1LDIzMiw3MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9SQVRFUyw5MCwyMzAsNDIsNzYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItZybmVrIEJh/v1uYSBCaXQgU2F5/XP9OiIsSURDX1NUQVRJQywxMzcsMjMyLDgwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRFNPVU5EX0JJVFMsMjIwLDIzMCwzMCw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIENPTlRST0wgICAgICAgICAiU/xy/GP8IFRha2xpZGkiLElEQ19EU09VTkRfRFJWX0VNVUwsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyNTAsMjMwLDEwCkVORAoKSUREX0RFU0tUT1BfSU5URUdSQVRJT04gRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIEf2cvxu/G0gIixJRENfU1RBVElDLDgsNCwyNDQsMTA2CiAgICBMVEVYVCAgICAgICAgICAgIlRlbWE6IixJRENfU1RBVElDLDE1LDE2LDEzMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1RIRU1FQ09NQk8sMTUsMjQsMTMwLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJUZW1hIGt1ci4uLiIsSURDX1RIRU1FX0lOU1RBTEwsMTUyLDIzLDkzLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlJlbms6IixJRENfVEhFTUVfQ09MT1JURVhULDE1LDQwLDExMiw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX0NPTE9SQ09NQk8sMTUsNDgsMTEyLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJCb3l1dDoiLElEQ19USEVNRV9TSVpFVEVYVCwxMzUsNDAsMTEwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDEzNSw0OCwxMTAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkl0ZW06IixJRENfU1RBVElDLDE1LDY0LDExMiw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1NZU1BBUkFNX0NPTUJPLDE1LDc0LDExMiwxMjAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQKICAgIExURVhUICAgICAgICAgICAiQ29sb3I6IixJRENfU1lTUEFSQU1fQ09MT1JfVEVYVCwxMzUsNjQsMjUsOCxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICIiLElEQ19TWVNQQVJBTV9DT0xPUiwxMzUsNzQsMjUsMTMsV1NfRElTQUJMRUQgfCBCU19PV05FUkRSQVcKICAgIExURVhUICAgICAgICAgICAiU2l6ZToiLElEQ19TWVNQQVJBTV9TSVpFX1RFWFQsMTY2LDY0LDMwLDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgICAgICBJRENfU1lTUEFSQU1fU0laRSwxNjYsNzQsMjMsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QIHwgV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiIixJRENfU1lTUEFSQU1fU0laRV9VRCxVUERPV05fQ0xBU1MsVURTX1NFVEJVRERZSU5UIHwgV1NfRElTQUJMRUQsMTg3LDc0LDE1LDEzCiAgICBQVVNIQlVUVE9OICAgICAgIkZvbnQiLElEQ19TWVNQQVJBTV9GT05ULDIwOCw3NCwzNywxMyxXU19ESVNBQkxFRAogICAgR1JPVVBCT1ggICAgICAgICIg1nplbCBLbGFz9nJsZXIgIixJRENfU1RBVElDLDgsMTE0LDI0NCwxMDAKICAgIENPTlRST0wgICAgICAgICAiTGlzdHZpZXciLElEQ19MSVNUX1NGUEFUSFMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDEyNiwyMzAsNjQKICAgIENPTlRST0wgICAgICAgICAiSGVkZWYgZGl6aW46IixJRENfTElOS19TRlBBVEgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQsMTUsMTk1LDUwLDEzCiAgICBFRElUVEVYVCAgICAgICAgIElEQ19FRElUX1NGUEFUSCw2NSwxOTUsMTQ1LDEzLEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiR/Z6YXQiLElEQ19CUk9XU0VfU0ZQQVRILDIxNSwxOTUsMzAsMTMsV1NfRElTQUJMRUQKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1RBQl9BUFBMSUNBVElPTlMgICAgIlV5Z3VsYW1hbGFyIgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIktpdGFwbP1rbGFyIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgIlP8cvxj/GxlciIKICAgIElEU19DSE9PU0VfUEFUSCAgICAgICAgICJM/HRmZW4gaGFyaXRhbGFuYWNhayB1bml4IGRpemluaW5pIHNl52luLiIKICAgIElEU19ISURFX0FEVkFOQ0VEICAgICAgICJUZW1lbCBBeWFybGFyIgogICAgSURTX1NIT1dfQURWQU5DRUQgICAgICAgIkdlbGn+bWn+IEF5YXJsYXIiCiAgICBJRFNfTk9USEVNRSAgICAgICAgICAgICAiKFRlbWEgWW9rKSIKICAgIElEU19UQUJfR1JBUEhJQ1MgICAgICAgICJHcmFmaWsiCiAgICBJRFNfVEFCX0RFU0tUT1BfSU5URUdSQVRJT04gIk1hc2H8c3T8IEVudGVncmFzeW9udSIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICJTZXMiCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiSGFra/1uZGEiCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAiV2luZSB5YXD9bGFuZP1ybWFz/SIKICAgIElEU19XSU5FQ0ZHX1RJVExFX0FQUCAgICIlcyBp52luIFdpbmUgeWFw/WxhbmT9cm1hc/0iCiAgICBJRFNfVEhFTUVGSUxFICAgICAgICAgICAiVGVtYSBkb3N5YWxhcv0iCiAgICBJRFNfVEhFTUVGSUxFX1NFTEVDVCAgICAiVGVtYSBkb3N5YXP9IHNl52luIgogICAgSURTX0FVRElPX01JU1NJTkcgICAgICAgIlNpc3RlbSBrYXlk/W5kYSBiZWxpcmxlbm1p/iBiaXIgc2VzIHP8cvxj/HP8IHlvay5cblxu1m5lcmlsZW4gYmlyIHP8cvxj/CBzaXppbiBp52luIHNl52lsZGkuXG5CdSBz/HL8Y/x5/CBrdWxsYW5hYmlsaXIgdmV5YSB2YXJzYSBiYf5rYSBiaXIgc/xy/GP8efwgc2XnZWJpbGlyc2luaXouXG5cblNl52ltaW4gZXRraWxpIG9sYWJpbG1lc2kgaedpbiBVeWd1bGEnef0gdP1rbGFtYWz9c/1u/XouIgogICAgSURTX1NIRUxMX0ZPTERFUiAgICAgICAgIktsYXP2ciIKICAgIElEU19MSU5LU19UTyAgICAgICAgICAgICJIZWRlZiBEaXppbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RMTF9XQVJOSU5HICAgICAgICAgIkJ1IGtpdGFwbP3w/W4gefxrbGVtZSBz/XJhc/1u/W4gZGXwaf50aXJpbG1lc2kg9m5lcmlsbWV6LlxuQnVudSB5YXBtYWsgaXN0ZWRp8GluaXpkZW4gZW1pbiBtaXNpbml6PyIKICAgIElEU19ETExfV0FSTklOR19DQVBUSU9OICJVeWFy/Togc2lzdGVtIGtpdGFwbP3w/SIKICAgIElEU19ETExfTkFUSVZFICAgICAgICAgICJkb/BhbCIKICAgIElEU19ETExfQlVJTFRJTiAgICAgICAgICJ5ZXJsZf5payIKICAgIElEU19ETExfTkFUSVZFX0JVSUxUSU4gICJkb/BhbCwgeWVybGX+aWsiCiAgICBJRFNfRExMX0JVSUxUSU5fTkFUSVZFICAieWVybGX+aWssIGRv8GFsIgogICAgSURTX0RMTF9ESVNBQkxFRCAgICAgICAgImRldnJlIGT9/v0iCiAgICBJRFNfREVGQVVMVF9TRVRUSU5HUyAgICAi1m50YW79bWz9IEF5YXJsYXIiCiAgICBJRFNfRVhFQ1VUQUJMRV9GSUxURVIgICAiV2luZSBQcm9ncmFtbGFy/SAoKi5leGUsKi5leGUuc28pXDAqLmV4ZTsqLmV4ZS5zb1wwIgogICAgSURTX1VTRV9HTE9CQUxfU0VUVElOR1MgIkdlbmVsIGF5YXJsYXL9IGt1bGxhbiIKICAgIElEU19TRUxFQ1RfRVhFQ1VUQUJMRSAgICLHYWz9/nT9cv1sYWJpbGlyIGJpciBkb3N5YSBzZedpbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1NIQURFUl9NT0RFX0hBUkRXQVJFICAgICJEb25hbv1tIgogICAgSURTX1NIQURFUl9NT0RFX05PTkUgICAgICAgICJIaediaXJpIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfRFJJVkVfVU5LTk9XTiAgICAgICAgICAgIk90b21hdGlrIEFsZ/1sYSIKICAgIElEU19EUklWRV9GSVhFRCAgICAgICAgICAgICAiWWVyZWwgc2FiaXQgZGlzayIKICAgIElEU19EUklWRV9SRU1PVEUgICAgICAgICAgICAiQfAgcGF5bGH+/W39IgogICAgSURTX0RSSVZFX1JFTU9WQUJMRSAgICAgICAgICJEaXNrZXQgc/xy/GP8IgogICAgSURTX0RSSVZFX0NEUk9NICAgICAgICAgICAgICJDRC1ST00iCiAgICBJRFNfRFJJVkVfTEVUVEVSU19FWENFRURFRCAgIkRhaGEgZmF6bGEgc/xy/GP8IGVrbGV5ZW1lenNpbml6LlxuXG5IZXIgc/xy/GP8bvxuIEEtWiBhcmFs/fD9bmRhIGJpciBoYXJmaSBvbG1hbP1k/XIuIERvbGF5/XP9eWxhIDI2J2RhbiBmYXpsYSB0YW79bWxheWFtYXpz/W79ei4iCiAgICBJRFNfU1lTVEVNX0RSSVZFX0xBQkVMICAgICAgIlNpc3RlbSBz/HL8Y/xz/CIKICAgIElEU19DT05GSVJNX0RFTEVURV9DICAgICAgICAiQyBz/HL8Y/xz/G78IHNpbG1layBpc3RlZGnwaW5pemRlbiBlbWluIG1pc2luaXo/XG5cbsdv8HUgV2luZG93cyB1eWd1bGFtYXP9IEMgc/xy/GP8c/xu/G4gdmFyIG9sbWFz/W79IGJla2xlciB2ZSB5b2tzYSBpc3Rlbm1leWVuIGJpciD+ZWtpbGRlIHNvbmxhbv1yLiBF8GVyIGRldmFtIGVkZXJzZW5peiwgZGFoYSBzb25yYSB5ZW5pZGVuIG9sdf50dXJtYXn9IHVudXRtYXn9biEiCiAgICBJRFNfQ09MX0RSSVZFTEVUVEVSICAgICAgICAgIkhhcmYiCiAgICBJRFNfQ09MX0RSSVZFTUFQUElORyAgICAgICAgIlP8cvxj/CBF/mxlbWUiCiAgICBJRFNfTk9fRFJJVkVfQyAgICAgICAgICAgICAgIkMgc/xy/GP8bvx6IHlvay4gQnUgYmVrbGVuZW4gYmlyIGR1cnVtIGRl8GlsLlxuXG5CaXIgdGFuZSBvbHX+dHVybWFrIGnnaW4gU/xy/GP8bGVyIHNla21lc2luZGVuIEVrbGUneWkgdP1rbGFtYXn9IHVudXRtYXn9biFcbiIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0FDQ0VMX0ZVTEwgICAgICAgICAgICAgICJUYW0iCiAgICBJRFNfQUNDRUxfU1RBTkRBUkQgICAgICAgICAgIlN0YW5kYXJ0IgogICAgSURTX0FDQ0VMX0JBU0lDICAgICAgICAgICAgICJUZW1lbCIKICAgIElEU19BQ0NFTF9FTVVMQVRJT04gICAgICAgICAiVGFrbGl0IgogICAgSURTX0RSSVZFUl9BTFNBICAgICAgICAgICAgICJBTFNBIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9FU09VTkQgICAgICAgICAgICJFc291bkQgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX09TUyAgICAgICAgICAgICAgIk9TUyBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfSkFDSyAgICAgICAgICAgICAiSkFDSyBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfTkFTICAgICAgICAgICAgICAiTkFTIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9BVURJT0lPICAgICAgICAgICJBdWRpbyBJTyAoU29sYXJpcykgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX0NPUkVBVURJTyAgICAgICAgIkNvcmVBdWRpbyBT/HL8Y/xz/CIKICAgIElEU19PUEVOX0RSSVZFUl9FUlJPUiAgICAgICAiJXMgYef9bGFtYWT9ISIKICAgIElEU19TT1VORERSSVZFUlMgICAgICAgICAgICAiU2VzIFP8cvxj/GxlcmkiCiAgICBJRFNfREVWSUNFU19XQVZFT1VUICAgICAgICAgIkRhbGdhIMf9a/3+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX1dBVkVJTiAgICAgICAgICAiRGFsZ2EgR2lyaf4gQXln/XRsYXL9IgogICAgSURTX0RFVklDRVNfTUlESU9VVCAgICAgICAgICJNSURJIMf9a/3+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX01JRElJTiAgICAgICAgICAiTUlESSBHaXJp/iBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19BVVggICAgICAgICAgICAgIkF1eCBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19NSVhFUiAgICAgICAgICAgIk1peGVyIEF5Z/10bGFy/SIKICAgIElEU19VTkFWQUlMQUJMRV9EUklWRVIgICAgICAiU2lzdGVtIGtheWT9bmRhIGt1bGxhbv1sYWJpbGlyIG9sbWF5YW4gYmlyIHP8cvxj/CBidWx1bmR1IVxuXG5cIiVzXCIgZ2lyaf5pIHNpc3RlbSBrYXlk/W5kYW4gc2lsaW5zaW4gbWk/IgogICAgSURTX1dBUk5JTkcgICAgICAgICAgICAgICAgICJVeWFy/SIKRU5ECg==