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/Z6YXQiLElEQ19CUk9XU0VfU0ZQQVRILDIxNSwxOTUsMzAsMTMsV1NfRElTQUJMRUQKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1dJTkVfVkVSU0lPTiAgICAgICAgIkNWUyIKICAgIElEU19UQUJfQVBQTElDQVRJT05TICAgICJVeWd1bGFtYWxhciIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICJLaXRhcGz9a2xhciIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJT/HL8Y/xsZXIiCiAgICBJRFNfQ0hPT1NFX1BBVEggICAgICAgICAiTPx0ZmVuIGhhcml0YWxhbmFjYWsgdW5peCBkaXppbmluaSBzZedpbi4iCiAgICBJRFNfSElERV9BRFZBTkNFRCAgICAgICAiVGVtZWwgQXlhcmxhciIKICAgIElEU19TSE9XX0FEVkFOQ0VEICAgICAgICJHZWxp/m1p/iBBeWFybGFyIgogICAgSURTX05PVEhFTUUgICAgICAgICAgICAgIihUZW1hIFlvaykiCiAgICBJRFNfVEFCX0dSQVBISUNTICAgICAgICAiR3JhZmlrIgogICAgSURTX1RBQl9ERVNLVE9QX0lOVEVHUkFUSU9OICJNYXNh/HN0/CBFbnRlZ3Jhc3lvbnUiCiAgICBJRFNfVEFCX0FVRElPICAgICAgICAgICAiU2VzIgogICAgSURTX1RBQl9BQk9VVCAgICAgICAgICAgIkhha2v9bmRhIgogICAgSURTX1dJTkVDRkdfVElUTEUgICAgICAgIldpbmUgeWFw/WxhbmT9cm1hc/0iCiAgICBJRFNfV0lORUNGR19USVRMRV9BUFAgICAiJXMgaedpbiBXaW5lIHlhcP1sYW5k/XJtYXP9IgogICAgSURTX1RIRU1FRklMRSAgICAgICAgICAgIlRlbWEgZG9zeWFsYXL9IgogICAgSURTX1RIRU1FRklMRV9TRUxFQ1QgICAgIlRlbWEgZG9zeWFz/SBzZedpbiIKICAgIElEU19BVURJT19NSVNTSU5HICAgICAgICJTaXN0ZW0ga2F5ZP1uZGEgYmVsaXJsZW5taf4gYmlyIHNlcyBz/HL8Y/xz/CB5b2suXG5cbtZuZXJpbGVuIGJpciBz/HL8Y/wgc2l6aW4gaedpbiBzZedpbGRpLlxuQnUgc/xy/GP8efwga3VsbGFuYWJpbGlyIHZleWEgdmFyc2EgYmH+a2EgYmlyIHP8cvxj/Hn8IHNl52ViaWxpcnNpbml6LlxuXG5TZedpbWluIGV0a2lsaSBvbGFiaWxtZXNpIGnnaW4gVXlndWxhJ3n9IHT9a2xhbWFs/XP9bv16LiIKICAgIElEU19TSEVMTF9GT0xERVIgICAgICAgICJLbGFz9nIiCiAgICBJRFNfTElOS1NfVE8gICAgICAgICAgICAiSGVkZWYgRGl6aW4iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19ETExfV0FSTklORyAgICAgICAgICJCdSBraXRhcGz98P1uIHn8a2xlbWUgc/1yYXP9bv1uIGRl8Gn+dGlyaWxtZXNpIPZuZXJpbG1lei5cbkJ1bnUgeWFwbWFrIGlzdGVkafBpbml6ZGVuIGVtaW4gbWlzaW5pej8iCiAgICBJRFNfRExMX1dBUk5JTkdfQ0FQVElPTiAiVXlhcv06IHNpc3RlbSBraXRhcGz98P0iCiAgICBJRFNfRExMX05BVElWRSAgICAgICAgICAiZG/wYWwiCiAgICBJRFNfRExMX0JVSUxUSU4gICAgICAgICAieWVybGX+aWsiCiAgICBJRFNfRExMX05BVElWRV9CVUlMVElOICAiZG/wYWwsIHllcmxl/mlrIgogICAgSURTX0RMTF9CVUlMVElOX05BVElWRSAgInllcmxl/mlrLCBkb/BhbCIKICAgIElEU19ETExfRElTQUJMRUQgICAgICAgICJkZXZyZSBk/f79IgogICAgSURTX0RFRkFVTFRfU0VUVElOR1MgICAgItZudGFu/W1s/SBBeWFybGFyIgogICAgSURTX0VYRUNVVEFCTEVfRklMVEVSICAgIldpbmUgUHJvZ3JhbWxhcv0gKCouZXhlLCouZXhlLnNvKVwwKi5leGU7Ki5leGUuc29cMCIKICAgIElEU19VU0VfR0xPQkFMX1NFVFRJTkdTICJHZW5lbCBheWFybGFy/SBrdWxsYW4iCiAgICBJRFNfU0VMRUNUX0VYRUNVVEFCTEUgICAix2Fs/f50/XL9bGFiaWxpciBiaXIgZG9zeWEgc2XnaW4iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19TSEFERVJfTU9ERV9IQVJEV0FSRSAgICAiRG9uYW79bSIKICAgIElEU19TSEFERVJfTU9ERV9OT05FICAgICAgICAiSGnnYmlyaSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RSSVZFX1VOS05PV04gICAgICAgICAgICJPdG9tYXRpayBBbGf9bGEiCiAgICBJRFNfRFJJVkVfRklYRUQgICAgICAgICAgICAgIlllcmVsIHNhYml0IGRpc2siCiAgICBJRFNfRFJJVkVfUkVNT1RFICAgICAgICAgICAgIkHwIHBheWxh/v1t/SIKICAgIElEU19EUklWRV9SRU1PVkFCTEUgICAgICAgICAiRGlza2V0IHP8cvxj/CIKICAgIElEU19EUklWRV9DRFJPTSAgICAgICAgICAgICAiQ0QtUk9NIgogICAgSURTX0RSSVZFX0xFVFRFUlNfRVhDRUVERUQgICJEYWhhIGZhemxhIHP8cvxj/CBla2xleWVtZXpzaW5pei5cblxuSGVyIHP8cvxj/G78biBBLVogYXJhbP3w/W5kYSBiaXIgaGFyZmkgb2xtYWz9ZP1yLiBEb2xhef1z/XlsYSAyNidkYW4gZmF6bGEgdGFu/W1sYXlhbWF6c/1u/XouIgogICAgSURTX1NZU1RFTV9EUklWRV9MQUJFTCAgICAgICJTaXN0ZW0gc/xy/GP8c/wiCiAgICBJRFNfQ09ORklSTV9ERUxFVEVfQyAgICAgICAgIkMgc/xy/GP8c/xu/CBzaWxtZWsgaXN0ZWRp8GluaXpkZW4gZW1pbiBtaXNpbml6P1xuXG7Hb/B1IFdpbmRvd3MgdXlndWxhbWFz/SBDIHP8cvxj/HP8bvxuIHZhciBvbG1hc/1u/SBiZWtsZXIgdmUgeW9rc2EgaXN0ZW5tZXllbiBiaXIg/mVraWxkZSBzb25sYW79ci4gRfBlciBkZXZhbSBlZGVyc2VuaXosIGRhaGEgc29ucmEgeWVuaWRlbiBvbHX+dHVybWF5/SB1bnV0bWF5/W4hIgogICAgSURTX0NPTF9EUklWRUxFVFRFUiAgICAgICAgICJIYXJmIgogICAgSURTX0NPTF9EUklWRU1BUFBJTkcgICAgICAgICJT/HL8Y/wgRf5sZW1lIgogICAgSURTX05PX0RSSVZFX0MgICAgICAgICAgICAgICJDIHP8cvxj/G78eiB5b2suIEJ1IGJla2xlbmVuIGJpciBkdXJ1bSBkZfBpbC5cblxuQmlyIHRhbmUgb2x1/nR1cm1hayBp52luIFP8cvxj/GxlciBzZWttZXNpbmRlbiBFa2xlJ3lpIHT9a2xhbWF5/SB1bnV0bWF5/W4hXG4iCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19BQ0NFTF9GVUxMICAgICAgICAgICAgICAiVGFtIgogICAgSURTX0FDQ0VMX1NUQU5EQVJEICAgICAgICAgICJTdGFuZGFydCIKICAgIElEU19BQ0NFTF9CQVNJQyAgICAgICAgICAgICAiVGVtZWwiCiAgICBJRFNfQUNDRUxfRU1VTEFUSU9OICAgICAgICAgIlRha2xpdCIKICAgIElEU19EUklWRVJfQUxTQSAgICAgICAgICAgICAiQUxTQSBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfRVNPVU5EICAgICAgICAgICAiRXNvdW5EIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9PU1MgICAgICAgICAgICAgICJPU1MgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX0pBQ0sgICAgICAgICAgICAgIkpBQ0sgU/xy/GP8c/wiCiAgICBJRFNfRFJJVkVSX05BUyAgICAgICAgICAgICAgIk5BUyBT/HL8Y/xz/CIKICAgIElEU19EUklWRVJfQVVESU9JTyAgICAgICAgICAiQXVkaW8gSU8gKFNvbGFyaXMpIFP8cvxj/HP8IgogICAgSURTX0RSSVZFUl9DT1JFQVVESU8gICAgICAgICJDb3JlQXVkaW8gU/xy/GP8c/wiCiAgICBJRFNfT1BFTl9EUklWRVJfRVJST1IgICAgICAgIiVzIGHn/WxhbWFk/SEiCiAgICBJRFNfU09VTkREUklWRVJTICAgICAgICAgICAgIlNlcyBT/HL8Y/xsZXJpIgogICAgSURTX0RFVklDRVNfV0FWRU9VVCAgICAgICAgICJEYWxnYSDH/Wv9/iBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19XQVZFSU4gICAgICAgICAgIkRhbGdhIEdpcmn+IEF5Z/10bGFy/SIKICAgIElEU19ERVZJQ0VTX01JRElPVVQgICAgICAgICAiTUlESSDH/Wv9/iBBeWf9dGxhcv0iCiAgICBJRFNfREVWSUNFU19NSURJSU4gICAgICAgICAgIk1JREkgR2lyaf4gQXln/XRsYXL9IgogICAgSURTX0RFVklDRVNfQVVYICAgICAgICAgICAgICJBdXggQXln/XRsYXL9IgogICAgSURTX0RFVklDRVNfTUlYRVIgICAgICAgICAgICJNaXhlciBBeWf9dGxhcv0iCiAgICBJRFNfVU5BVkFJTEFCTEVfRFJJVkVSICAgICAgIlNpc3RlbSBrYXlk/W5kYSBrdWxsYW79bGFiaWxpciBvbG1heWFuIGJpciBz/HL8Y/wgYnVsdW5kdSFcblxuXCIlc1wiIGdpcmn+aSBzaXN0ZW0ga2F5ZP1uZGFuIHNpbGluc2luIG1pPyIKICAgIElEU19XQVJOSU5HICAgICAgICAgICAgICAgICAiVXlhcv0iCkVORAo=