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/10bGFyIixJRENfQVVESU9fVFJFRSwiU3lzVHJlZVZpZXczMiIsV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwxNSw1MCwxNDAsMTQwIAogICAgUFVTSEJVVFRPTgkgICAgIkRlbmV0aW0gTWFzYXP9IixJRENfQVVESU9fQ09OVFJPTF9QQU5FTCwxNzAsNTAsNTksMTQKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdFNvdW5kICIsSURDX1NUQVRJQyw4LDIwNSwyNDQsNjAKICAgIExURVhUICAgICAgICAgICAiRG9uYW79bSBI/XpsYW5k/XJtYXP9OiAiLElEQ19TVEFUSUMsMTUsMjE1LDkwLDEwCiAgICBDT01CT0JPWAkgICAgSURDX0RTT1VORF9IV19BQ0NFTCwxMDAsMjEzLDE1MCw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi1m50YW79bWz9INZybmVrbGVtZSBI/Xr9OiIsSURDX1NUQVRJQywxNSwyMzIsNzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfUkFURVMsOTAsMjMwLDQyLDc2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICLWcm5layBCYf79bmEgQml0IFNhef1z/ToiLElEQ19TVEFUSUMsMTM3LDIzMiw4MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9CSVRTLDIyMCwyMzAsMzAsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT05UUk9MICAgICAgICAgIlP8cvxj/CBUYWtsaWRpIixJRENfRFNPVU5EX0RSVl9FTVVMLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMjUwLDIzMCwxMApFTkQKCklERF9ERVNLVE9QX0lOVEVHUkFUSU9OIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBH9nL8bvxtICIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgTFRFWFQgICAgICAgICAgICJUZW1hOiIsSURDX1NUQVRJQywxNSwxNiwxMzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9USEVNRUNPTUJPLDE1LDI0LDEzMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiVGVtYSBrdXIuLi4iLElEQ19USEVNRV9JTlNUQUxMLDE1MiwyMyw5MywxNAogICAgTFRFWFQgICAgICAgICAgICJSZW5rOiIsSURDX1RIRU1FX0NPTE9SVEVYVCwxNSw0MCwxMTIsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9DT0xPUkNPTUJPLDE1LDQ4LDExMiwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiQm95dXQ6IixJRENfVEhFTUVfU0laRVRFWFQsMTM1LDQwLDExMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1RIRU1FX1NJWkVDT01CTywxMzUsNDgsMTEwLDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJJdGVtOiIsSURDX1NUQVRJQywxNSw2NCwxMTIsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19TWVNQQVJBTV9DT01CTywxNSw3NCwxMTIsMTIwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUCiAgICBMVEVYVCAgICAgICAgICAgIkNvbG9yOiIsSURDX1NZU1BBUkFNX0NPTE9SX1RFWFQsMTM1LDY0LDI1LDgsV1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiIixJRENfU1lTUEFSQU1fQ09MT1IsMTM1LDc0LDI1LDEzLFdTX0RJU0FCTEVEIHwgQlNfT1dORVJEUkFXCiAgICBMVEVYVCAgICAgICAgICAgIlNpemU6IixJRENfU1lTUEFSQU1fU0laRV9URVhULDE2Niw2NCwzMCw4LFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX1NZU1BBUkFNX1NJWkUsMTY2LDc0LDIzLDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUCB8IFdTX0RJU0FCTEVECiAgICBDT05UUk9MICAgICAgICAgIiIsSURDX1NZU1BBUkFNX1NJWkVfVUQsVVBET1dOX0NMQVNTLFVEU19TRVRCVUREWUlOVCB8IFdTX0RJU0FCTEVELDE4Nyw3NCwxNSwxMwogICAgUFVTSEJVVFRPTiAgICAgICJGb250IixJRENfU1lTUEFSQU1fRk9OVCwyMDgsNzQsMzcsMTMsV1NfRElTQUJMRUQKICAgIEdST1VQQk9YICAgICAgICAiINZ6ZWwgS2xhc/ZybGVyICIsSURDX1NUQVRJQyw4LDExNCwyNDQsMTAwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9TRlBBVEhTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLCAxNSwxMjYsMjMwLDY0CiAgICBDT05UUk9MICAgICAgICAgIkhlZGVmIGRpemluOiIsSURDX0xJTktfU0ZQQVRILCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWHxXU19UQUJTVE9QfFdTX0RJU0FCTEVELDE1LDE5NSw1MCwxMwogICAgRURJVFRFWFQgICAgICAgICBJRENfRURJVF9TRlBBVEgsNjUsMTk1LDE0NSwxMyxFU19BVVRPSFNDUk9MTHxXU19UQUJTVE9QfFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIkf2emF0IixJRENfQlJPV1NFX1NGUEFUSCwyMTUsMTk1LDMwLDEzLFdTX0RJU0FCTEVECkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19XSU5FX1ZFUlNJT04gICAgICAgICJDVlMiCiAgICBJRFNfVEFCX0FQUExJQ0FUSU9OUyAgICAiVXlndWxhbWFsYXIiCiAgICBJRFNfVEFCX0RMTFMgICAgICAgICAgICAiS2l0YXBs/WtsYXIiCiAgICBJRFNfVEFCX0RSSVZFUyAgICAgICAgICAiU/xy/GP8bGVyIgogICAgSURTX0NIT09TRV9QQVRIICAgICAgICAgIkz8dGZlbiBoYXJpdGFsYW5hY2FrIHVuaXggZGl6aW5pbmkgc2XnaW4uIgogICAgSURTX0hJREVfQURWQU5DRUQgICAgICAgIlRlbWVsIEF5YXJsYXIiCiAgICBJRFNfU0hPV19BRFZBTkNFRCAgICAgICAiR2Vsaf5taf4gQXlhcmxhciIKICAgIElEU19OT1RIRU1FICAgICAgICAgICAgICIoVGVtYSBZb2spIgogICAgSURTX1RBQl9HUkFQSElDUyAgICAgICAgIkdyYWZpayIKICAgIElEU19UQUJfREVTS1RPUF9JTlRFR1JBVElPTiAiTWFzYfxzdPwgRW50ZWdyYXN5b251IgogICAgSURTX1RBQl9BVURJTyAgICAgICAgICAgIlNlcyIKICAgIElEU19UQUJfQUJPVVQgICAgICAgICAgICJIYWtr/W5kYSIKICAgIElEU19XSU5FQ0ZHX1RJVExFICAgICAgICJXaW5lIHlhcP1sYW5k/XJtYXP9IgogICAgSURTX1dJTkVDRkdfVElUTEVfQVBQICAgIiVzIGnnaW4gV2luZSB5YXD9bGFuZP1ybWFz/SIKICAgIElEU19USEVNRUZJTEUgICAgICAgICAgICJUZW1hIGRvc3lhbGFy/SIKICAgIElEU19USEVNRUZJTEVfU0VMRUNUICAgICJUZW1hIGRvc3lhc/0gc2XnaW4iCiAgICBJRFNfQVVESU9fTUlTU0lORyAgICAgICAiU2lzdGVtIGtheWT9bmRhIGJlbGlybGVubWn+IGJpciBzZXMgc/xy/GP8c/wgeW9rLlxuXG7WbmVyaWxlbiBiaXIgc/xy/GP8IHNpemluIGnnaW4gc2XnaWxkaS5cbkJ1IHP8cvxj/Hn8IGt1bGxhbmFiaWxpciB2ZXlhIHZhcnNhIGJh/mthIGJpciBz/HL8Y/x5/CBzZedlYmlsaXJzaW5pei5cblxuU2XnaW1pbiBldGtpbGkgb2xhYmlsbWVzaSBp52luIFV5Z3VsYSd5/SB0/WtsYW1hbP1z/W79ei4iCiAgICBJRFNfU0hFTExfRk9MREVSICAgICAgICAiS2xhc/ZyIgogICAgSURTX0xJTktTX1RPICAgICAgICAgICAgIkhlZGVmIERpemluIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfRExMX1dBUk5JTkcgICAgICAgICAiQnUga2l0YXBs/fD9biB5/GtsZW1lIHP9cmFz/W79biBkZfBp/nRpcmlsbWVzaSD2bmVyaWxtZXouXG5CdW51IHlhcG1hayBpc3RlZGnwaW5pemRlbiBlbWluIG1pc2luaXo/IgogICAgSURTX0RMTF9XQVJOSU5HX0NBUFRJT04gIlV5YXL9OiBzaXN0ZW0ga2l0YXBs/fD9IgogICAgSURTX0RMTF9OQVRJVkUgICAgICAgICAgImRv8GFsIgogICAgSURTX0RMTF9CVUlMVElOICAgICAgICAgInllcmxl/mlrIgogICAgSURTX0RMTF9OQVRJVkVfQlVJTFRJTiAgImRv8GFsLCB5ZXJsZf5payIKICAgIElEU19ETExfQlVJTFRJTl9OQVRJVkUgICJ5ZXJsZf5paywgZG/wYWwiCiAgICBJRFNfRExMX0RJU0FCTEVEICAgICAgICAiZGV2cmUgZP3+/SIKICAgIElEU19ERUZBVUxUX1NFVFRJTkdTICAgICLWbnRhbv1tbP0gQXlhcmxhciIKICAgIElEU19FWEVDVVRBQkxFX0ZJTFRFUiAgICJXaW5lIFByb2dyYW1sYXL9ICgqLmV4ZSwqLmV4ZS5zbylcMCouZXhlOyouZXhlLnNvXDAiCiAgICBJRFNfVVNFX0dMT0JBTF9TRVRUSU5HUyAiR2VuZWwgYXlhcmxhcv0ga3VsbGFuIgogICAgSURTX1NFTEVDVF9FWEVDVVRBQkxFICAgIsdhbP3+dP1y/WxhYmlsaXIgYmlyIGRvc3lhIHNl52luIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfU0hBREVSX01PREVfSEFSRFdBUkUgICAgIkRvbmFu/W0iCiAgICBJRFNfU0hBREVSX01PREVfTk9ORSAgICAgICAgIkhp52JpcmkiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19EUklWRV9VTktOT1dOICAgICAgICAgICAiT3RvbWF0aWsgQWxn/WxhIgogICAgSURTX0RSSVZFX0ZJWEVEICAgICAgICAgICAgICJZZXJlbCBzYWJpdCBkaXNrIgogICAgSURTX0RSSVZFX1JFTU9URSAgICAgICAgICAgICJB8CBwYXlsYf79bf0iCiAgICBJRFNfRFJJVkVfUkVNT1ZBQkxFICAgICAgICAgIkRpc2tldCBz/HL8Y/wiCiAgICBJRFNfRFJJVkVfQ0RST00gICAgICAgICAgICAgIkNELVJPTSIKICAgIElEU19EUklWRV9MRVRURVJTX0VYQ0VFREVEICAiRGFoYSBmYXpsYSBz/HL8Y/wgZWtsZXllbWV6c2luaXouXG5cbkhlciBz/HL8Y/xu/G4gQS1aIGFyYWz98P1uZGEgYmlyIGhhcmZpIG9sbWFs/WT9ci4gRG9sYXn9c/15bGEgMjYnZGFuIGZhemxhIHRhbv1tbGF5YW1henP9bv16LiIKICAgIElEU19TWVNURU1fRFJJVkVfTEFCRUwgICAgICAiU2lzdGVtIHP8cvxj/HP8IgogICAgSURTX0NPTkZJUk1fREVMRVRFX0MgICAgICAgICJDIHP8cvxj/HP8bvwgc2lsbWVrIGlzdGVkafBpbml6ZGVuIGVtaW4gbWlzaW5pej9cblxux2/wdSBXaW5kb3dzIHV5Z3VsYW1hc/0gQyBz/HL8Y/xz/G78biB2YXIgb2xtYXP9bv0gYmVrbGVyIHZlIHlva3NhIGlzdGVubWV5ZW4gYmlyIP5la2lsZGUgc29ubGFu/XIuIEXwZXIgZGV2YW0gZWRlcnNlbml6LCBkYWhhIHNvbnJhIHllbmlkZW4gb2x1/nR1cm1hef0gdW51dG1hef1uISIKICAgIElEU19DT0xfRFJJVkVMRVRURVIgICAgICAgICAiSGFyZiIKICAgIElEU19DT0xfRFJJVkVNQVBQSU5HICAgICAgICAiU/xy/GP8IEX+bGVtZSIKICAgIElEU19OT19EUklWRV9DICAgICAgICAgICAgICAiQyBz/HL8Y/xu/HogeW9rLiBCdSBiZWtsZW5lbiBiaXIgZHVydW0gZGXwaWwuXG5cbkJpciB0YW5lIG9sdf50dXJtYWsgaedpbiBT/HL8Y/xsZXIgc2VrbWVzaW5kZW4gRWtsZSd5aSB0/WtsYW1hef0gdW51dG1hef1uIVxuIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQUNDRUxfRlVMTCAgICAgICAgICAgICAgIlRhbSIKICAgIElEU19BQ0NFTF9TVEFOREFSRCAgICAgICAgICAiU3RhbmRhcnQiCiAgICBJRFNfQUNDRUxfQkFTSUMgICAgICAgICAgICAgIlRlbWVsIgogICAgSURTX0FDQ0VMX0VNVUxBVElPTiAgICAgICAgICJUYWtsaXQiCiAgICBJRFNfRFJJVkVSX0FMU0EgICAgICAgICAgICAgIkFMU0EgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX0VTT1VORCAgICAgICAgICAgIkVzb3VuRCBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfT1NTICAgICAgICAgICAgICAiT1NTIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9KQUNLICAgICAgICAgICAgICJKQUNLIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9OQVMgICAgICAgICAgICAgICJOQVMgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX0FVRElPSU8gICAgICAgICAgIkF1ZGlvIElPIChTb2xhcmlzKSBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfQ09SRUFVRElPICAgICAgICAiQ29yZUF1ZGlvIFP8cvxj/HP8IgogICAgSURTX09QRU5fRFJJVkVSX0VSUk9SICAgICAgICIlcyBh5/1sYW1hZP0hIgogICAgSURTX1NPVU5ERFJJVkVSUyAgICAgICAgICAgICJTZXMgU/xy/GP8bGVyaSIKICAgIElEU19ERVZJQ0VTX1dBVkVPVVQgICAgICAgICAiRGFsZ2Egx/1r/f4gQXln/XRsYXL9IgogICAgSURTX0RFVklDRVNfV0FWRUlOICAgICAgICAgICJEYWxnYSBHaXJp/iBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19NSURJT1VUICAgICAgICAgIk1JREkgx/1r/f4gQXln/XRsYXL9IgogICAgSURTX0RFVklDRVNfTUlESUlOICAgICAgICAgICJNSURJIEdpcmn+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX0FVWCAgICAgICAgICAgICAiQXV4IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX01JWEVSICAgICAgICAgICAiTWl4ZXIgQXln/XRsYXL9IgogICAgSURTX1VOQVZBSUxBQkxFX0RSSVZFUiAgICAgICJTaXN0ZW0ga2F5ZP1uZGEga3VsbGFu/WxhYmlsaXIgb2xtYXlhbiBiaXIgc/xy/GP8IGJ1bHVuZHUhXG5cblwiJXNcIiBnaXJp/mkgc2lzdGVtIGtheWT9bmRhbiBzaWxpbnNpbiBtaT8iCiAgICBJRFNfV0FSTklORyAgICAgICAgICAgICAgICAgIlV5YXL9IgpFTkQK