LyoKICogT2xlVmlldyAoTm8ucmMpCiAqIE5vcndlZ2lhbiBCb2tt5WwgTGFuZ3VhZ2UgU3VwcG9ydAogKgogKiBDb3B5cmlnaHQgMjAwNiBBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgInJlc291cmNlLmgiCgpMQU5HVUFHRSBMQU5HX05PUldFR0lBTiwgU1VCTEFOR19OT1JXRUdJQU5fQk9LTUFMCgpJRE1fTUVOVSBNRU5VCnsKICAgIFBPUFVQICImRmlsIgogICAgewogICAgICAgIE1FTlVJVEVNICImQmluZCB0aWwgZmlsLi4uIiwgICAgSURNX0JJTkQKICAgICAgICBNRU5VSVRFTSAiJlZpcyBUeXBlTGliLi4uIiwgICAgSURNX1RZUEVMSUIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlN5c3RlbW9wcHNldHQuLi4iLCAgICBJRE1fU1lTQ09ORgogICAgICAgIE1FTlVJVEVNICJLavgmciByZWdpc3RlcnJlZGlnZXJlciIsICAgIElETV9SRUdFRElUCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBdnNsdXR0IiwgICAgSURNX0VYSVQKICAgIH0KICAgIFBPUFVQICImT2JqZWt0IgogICAgewogICAgICAgIFBPUFVQICImQ29DcmVhdGVJbnN0YW5jZS1mbGFnZyIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfJklOUFJPQ19TRVJWRVIiLCAgICBJRE1fRkxBR19JTlNFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYX0lOUFJPQ18mSEFORExFUiIsICAgIElETV9GTEFHX0lOSEFOREwKICAgICAgICAgICAgTUVOVUlURU0gIkNMU0NUWF8mTE9DQUxfU0VSVkVSIiwgICAgICAgIElETV9GTEFHX0xPQ1NFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYXyZSRU1PVEVfU0VSVkVSIiwgICAgSURNX0ZMQUdfUkVNU0VSVgogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmlzICZ0eXBlLWluZm9ybWFzam9uIiwgICAgSURNX1RZUEVJTkZPLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiT3BwcmV0dCAmaW5zdGFucyIsICAgIElETV9DUkVBVEVJTlNULCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSAiJk9wcHJldHQgaW5zdGFucyBw5S4uLiIsICAgIElETV9DUkVBVEVJTlNUT04sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICImU2xpcHAgaW5zdGFucyIsICAgIElETV9SRUxFQVNFSU5TVCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIktvcGllciBDJkxTSUQgdGlsIHV0a2xpcHBzdGF2bGVuIiwgICAgSURNX0NPUFlDTFNJRCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gIiZLb3BpZXIgJkhUTUwtb2JqZWt0bGFwcCB0aWwgdXRrbGlwcHN0YXZsZW4iLCBJRE1fSFRNTFRBRywgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWaXMuLi4iLCAgICBJRE1fVklFVywgR1JBWUVECiAgICB9CiAgICBQT1BVUCAiJlZpcyIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkVrc3BlcnRtb2R1cyIsICAgIElETV9FWFBFUlQsQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTa2p1bHQmZSBrb21wb25lbnRrYXRlZ29yaWVyIiwgICAgSURNX0hJRERFTiwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlZlcmsmdPh5bGluamUiLCAgICBJRE1fVE9PTEJBUixDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZTdGF0dXNsaW5qZSIsICAgIElETV9TVEFUVVNCQVIsQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJPcHBkYXRlJnJcdEY1IiwgICAgSURNX1JFRlJFU0gKICAgIH0KICAgIFBPUFVQICImSGplbHAiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZPbSBPbGVWaWV3IiwgICAgSURNX0FCT1VUCiAgICB9Cn0KCklETV9UWVBFTElCIE1FTlUKewogICAgUE9QVVAgIiZGaWwiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIkxhZ3JlICZzb20uLi4iLCAgICBJRE1fU0FWRUFTCiAgICAgICAgTUVOVUlURU0gIiZMdWtrIiwgIElETV9DTE9TRQogICAgfQogICAgUE9QVVAgIiZWaXMiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlNvcnRlJnIgZXR0ZXIgdHlwZSIsIElETV9HUk9VUAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJWZXJrJnT4eWxpbmplIiwgICAgSURNX1RPT0xCQVIKICAgICAgICBNRU5VSVRFTSAiJlN0YXR1c2xpbmplIiwgSURNX1NUQVRVU0JBUixDSEVDS0VECiAgICB9Cn0KClNUUklOR1RBQkxFCnsKICAgIElEU19BUFBOQU1FICAgICAgICAgICAgIk9sZVZpZXciCiAgICBJRFNfQVBQVElUTEUgICAgICAgICAgICJPbGVWaWV3IgogICAgSURTX1JFQURZICAgICAgICAgICAgICAiS2xhciIKICAgIElEU19BQk9VVCAgICAgICAgICAgICAgIk9sZVZpZXcgLSBvYmpla3R2aXNlciBmb3IgT0xFL0NPTSIKICAgIElEU19BQk9VVFZFUiAgICAgICAgICAgInZlcnNqb24gMS4wIgogICAgSURTX1RZUEVMSUJUSVRMRSAgICAgICAiSVR5cGVMaWItdmlzZXIiCiAgICBJRFNfT1BFTiAgICAgICAgICAgICAgICLFcG5lIgogICAgSURTX09QRU5fVFlQRUxJQl9GSUxURVIgIlR5cGVMaWIgRmlsZXMgKCoudGxiOyoub2xiOyouZGxsOyoub2N4OyouZXhlKVwwKi50bGI7Ki5vbGI7Ki5kbGw7Ki5vY3g7Ki5leGVcMEFsbCBGaWxlcyAoKi4qKVwwKi4qXDBcMCIKCiAgICBJRE1fQklORCwgICAgICAgICAgICAgICJCaW5kIHRpbCBmaWwgdmlhIEZpbGUgTW9uaWtlciIKICAgIElETV9UWVBFTElCLCAgICAgICAgICAgIsVwbmUgZW4gVHlwZUxpYi1maWwgb2cgdmlzIGlubmhvbGRldCIKICAgIElETV9TWVNDT05GLCAgICAgICAgICAgIkVuZHJlIGlubnN0aWxsaW5nZXIgZm9yIGRpc3RyaWJ1ZXJ0IENPTSBmb3IgaGVsZSBtYXNraW5lbiIKICAgIElETV9SRUdFRElULCAgICAgICAgICAgIktq+HIgcmVnaXN0ZXJyZWRpZ2VyaW5nIgogICAgSURNX0VYSVQsICAgICAgICAgICAgICAiQXZzbHV0dCBwcm9ncmFtbWV0LiBEZXQgc3D4ciBvbSDlIGxhZ3JlIGVuZHJpbmdlciIKICAgIElETV9DUkVBVEVJTlNULCAgICAgICAgIk9wcHJldHQgZW4gaW5zdGFucyBhdiBkZXQgdmFsZ3RlIG9iamVrdGV0IgogICAgSURNX0NSRUFURUlOU1RPTiwgICAgICAiT3BwcmV0dCBlbiBpbnN0YW5zIGF2IGRldCB2YWxndGUgb2JqZWt0ZXQgcOUgZW4gYmVzdGVtdCBtYXNraW4iCiAgICBJRE1fUkVMRUFTRUlOU1QsICAgICAgICJTbGlwcCB2YWxndGUgb2JqZWt0aW5zdGFucyIKICAgIElETV9DT1BZQ0xTSUQsICAgICAgICAgIktvcGllciBkZXQgdmFsZ3RlIGVsZW1lbnRldHMgR1VJRCB0aWwgdXRrbGlwcHN0YXZsZW4iCiAgICBJRE1fVklFVywgICAgICAgICAgICAgICLFcG5lIHZpc2VyZW4gZm9yIGRldCB2YWxndGUgZWxlbWVudGV0IgogICAgSURNX0ZMQUdfSU5TRVJWLCAgICAgICAiQnJ1ayBDTFNDVFhfSU5QUk9DX1NFUlZFUiB2ZWQga2FsbCB0aWwgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9GTEFHX0lOSEFOREwsICAgICAgIkJydWsgQ0xTQ1RYX0lOUFJPQ19IQU5ETEVSIHZlZCBrYWxsIHRpbCBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfTE9DU0VSViwgICAgICAiQnJ1ayBDTFNDVFhfTE9DQUxfU0VSVkVSIHZlZCBrYWxsIHRpbCBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfUkVNU0VSViwgICAgICAiQnJ1ayBDTFNDVFhfUkVNT1RFX1NFUlZFUiB2ZWQga2FsbCB0aWwgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9FWFBFUlQsICAgICAgICAgICAgIkJ5dHQgbWVsbG9tIGVrc3BlcnQtIG9nIG55YmVneW5uZXJtb2R1cyIKICAgIElETV9ISURERU4sICAgICAgICAgICAgIlNs5SBhdi9w5SB2aXNuaW5nZW4gYXYga29tcG9uZW50a2F0ZWdvcmllciBzb20gaWtrZSBlciBtZW50IOUgdmlzZXMiCiAgICBJRE1fVE9PTEJBUiwgICAgICAgICAgICJTbOUgdmVya3T4eWxpbmplbiBhdi9w5SIKICAgIElETV9TVEFUVVNCQVIsICAgICAgICAgIlZpcyBlbGxlciBza2p1bCBzdGF0dXNsaW5qZW4iCiAgICBJRE1fUkVGUkVTSCwgICAgICAgICAgICJPcHBkYXRlciBhbGxlIGxpc3RlciIKICAgIElETV9BQk9VVCwgICAgICAgICAgICAgIlZpcyBwcm9ncmFtaW5mb3JtYXNqb24sIHZlcnNqb25udW1tZXIgb2cgb3BwaGF2c3JldHQiCgogICAgSURNX1NBVkVBUywgICAgICAgICAgICAiTGFncmUgc29tIGVuIKsuSURMuy0gZWxsZXIgqy5Iuy1maWwiCiAgICBJRE1fQ0xPU0UsICAgICAgICAgICAgICJMdWtrIHZpbmR1IgogICAgSURNX0dST1VQLCAgICAgICAgICAgICAiU29ydGVyIHR5cGVpbmZvIGV0dGVyIHR5cGUiCgogICAgSURTX1RSRUVfT0MsICAgICAgICAgICAiT2JqZWt0a2xhc3NlciIKICAgIElEU19UUkVFX0dCQ0MsICAgICAgICAgIlNvcnRlciBldHRlciBrb21wb25lbnRrYXRlZ29yaSIKICAgIElEU19UUkVFX08xTywgICAgICAgICAgIk9MRSAxLjAtb2JqZWt0ZXIiCiAgICBJRFNfVFJFRV9DTE8sICAgICAgICAgICJDT00gYmlibGlvdGVrb2JqZWt0ZXIiCiAgICBJRFNfVFJFRV9BTywgICAgICAgICAgICJBbGxlIG9iamVrdGVyIgogICAgSURTX1RSRUVfQUlELCAgICAgICAgICAiUHJvZ3JhbS1JRCdlciIKICAgIElEU19UUkVFX1RMLCAgICAgICAgICAgIlR5cGViaWJsaW90ZWsiCiAgICBJRFNfVExfVkVSLCAgICAgICAgICAgICJ2ZXIuIgogICAgSURTX1RSRUVfSSwgICAgICAgICAgICAiR3JlbnNlc25pdHQiCgogICAgSURTX1RBQl9SRUcsICAgICAgICAgICAiUmVnaXN0ZXIiCiAgICBJRFNfVEFCX0lNUEwsICAgICAgICAgICJJbXBsZW1lbnRlcmluZyIKICAgIElEU19UQUJfQUNUSVYsICAgICAgICAgIkFrdGl2ZXJpbmciCgogICAgSURTX0NHQ09GQUlMLCAgICAgICAgICAiQ29HZXRDbGFzc09iamVjdCBmZWlsZXQuIgogICAgSURTX0VSUk9SX1VOS04sICAgICAgICAiVWtqZW50IGZlaWwiCiAgICBJRFNfVFJVRSwgICAgICAgICAgICAgICJTYW5uIgogICAgSURTX0ZBTFNFLCAgICAgICAgICAgICAiVXNhbm4iCiAgICBJRFNfQllURVMsICAgICAgICAgICAgICJieXRlIgoKICAgIElEU19FUlJPUl9MT0FEVFlQRUxJQiwgIkxvYWRUeXBlTGliKCAlcyApIGZlaWxldCAoJCV4KSIKICAgIElEU19JTkhFUklUSU5URVJGQUNFUywgIkFydmV0ZSBncmVuc2Vzbml0dCIKfQoKRExHX0NSRUFURUlOU1RPTiBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjUwLCA0MQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiS29ibGUgdGlsIGVuIGFubmVuIG1hc2tpbiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICImTWFza2lubmF2bjoiLCAtMSwgNSwgNiwgMTkwLCA4CiAgICBFRElUVEVYVCAgICBJRENfTUFDSElORSwgNSwgMTYsIDE5MCwgMTIsIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBFU19BVVRPSFNDUk9MTAogICAgREVGUFVTSEJVVFRPTiAgICImT0siLCBJRE9LLCAyMDAsIDUsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZBdmJyeXQiLCBJRENBTkNFTCwgMjAwLCAyMiwgNDUsIDE0Cn0KCkRMR19TWVNDT05GIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAxNzAsIDEwMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU3lzdGVtb3Bwc2V0dCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJTeXN0ZW1pbm5zdGlsbGluZ2VyIiwgLTEsIDUsIDYsIDE2MCwgOAogICAgQ0hFQ0tCT1ggICAgIlNs5SBw5SBkaXN0cmlidSZlcnQgIENPTSIsIElEQ19FTkFCTEVEQ09NLCA1LCAyMCwgMTYwLCAxMCwgV1NfVEFCU1RPUCB8IFdTX0dST1VQIHwgQlNfQVVUT0NIRUNLQk9YCiAgICBDSEVDS0JPWCAgICAiU2zlIHDlIGVrc3Rlcm5lIHRpbGtvYmxpbmdlJnIgKGt1biBXaW45NSkiLCBJRENfRU5BQkxFUkVNT1RFLCA1LCAzNSwgMTYwLCAxMCwgV1NfVEFCU1RPUCB8IFdTX0dST1VQIHwgQlNfQVVUT0NIRUNLQk9YCiAgICBMVEVYVCAgICJEaXNzZSBpbm5zdGlsbGluZ2VuZSBlbmRyZXIga3VuIHJlZ2lzdGVydmVyZGllci5cbkRlIHDldmlya2VyIGlra2UgV2luZXMgeXRlbHNlLiIsIC0xLCA1LCA1MCwgMTYwLCA0MAogICAgREVGUFVTSEJVVFRPTiAgICImT0siLCBJRE9LLCA3MCwgODAsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZBdmJyeXQiLCBJRENBTkNFTCwgMTIwLCA4MCwgNDUsIDE0Cn0KCkRMR19ERUZBVUxUX0lWIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDUwClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTdGFuZGFyZCBncmVuc2Vzbml0dHZpc2VyIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIkdyZW5zZXNuaXR0IiwgLTEsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIklJRDoiLCAtMSwgNSwgMTYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfSURFTlRJRklFUiwgNjAsIDE2LCAxNjUsIDgKICAgIERFRlBVU0hCVVRUT04gICAiJkx1a2siLCBJRENBTkNFTCwgMjMwLCA2LCA0NSwgMTQKICAgIFBVU0hCVVRUT04gICImVmlzIHR5cGVpbmZvIiwgSURDX1ZJRVdUWVBFSU5GTywgNiwgMzEsIDcwLCAxNCwgV1NfRElTQUJMRUQKfQoKRExHX0lQRVJTSVNUX0lWIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDI5ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJHcmVuc2Vzbml0dHZzaWVyIGZvciBJUGVyc2lzdCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJLbGFzc2VuYXZuOiIsIC0xLCA1LCA2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0xBQkVMLCA2MCwgNiwgMTQ1LCA4CiAgICBMVEVYVCAgICJDTFNJRDoiLCAtMSwgNSwgMTYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfSURFTlRJRklFUiwgNjAsIDE2LCAxNjUsIDgKICAgIERFRlBVU0hCVVRUT04gICAiJkx1a2siLCBJRENBTkNFTCwgMjMwLCA2LCA0NSwgMTQKfQoKRExHX0lQRVJTSVNUU1RSRUFNX0lWIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDY4ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJHcmVuc2Vzbml0dHZpc2VyIGZvciBJUGVyc2lzdFN0cmVhbSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJLbGFzc2VuYXZuOiIsIC0xLCA1LCA2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0xBQkVMLCA2MCwgNiwgMTQ1LCA4CiAgICBMVEVYVCAgICJDTFNJRDoiLCAtMSwgNSwgMTYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfSURFTlRJRklFUiwgNjAsIDE2LCAxNjUsIDgKICAgIERFRlBVU0hCVVRUT04gICAiJkx1a2siLCBJRENBTkNFTCwgMjMwLCA2LCA0NSwgMTQKICAgIFBVU0hCVVRUT04gICImSXNEaXJ0eSIsIElEQ19JU0RJUlRZX0JVVFRPTiwgNiwgMzEsIDUwLCAxNAogICAgTFRFWFQgICAiPz8/IiwgSURDX0lTRElSVFksIDYwLCAzNCwgMTQ1LCA4CiAgICBQVVNIQlVUVE9OICAiJkdldFNpemVNYXgiLCBJRENfR0VUU0laRU1BWF9CVVRUT04sIDYsIDQ5LCA1MCwgMTQKICAgIExURVhUICAgIj8/PyIsIElEQ19HRVRTSVpFTUFYLCA2MCwgNTIsIDE0NSwgOAp9Cg==