LyoKICogT2xlVmlldyAoSmEucmMpCiAqIEphcGFuZXNlIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDYgUGlvdHIgQ2FiYW4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19KQVBBTkVTRSwgU1VCTEFOR19ERUZBVUxUCgpJRE1fTUVOVSBNRU5VCnsKICAgIFBPUFVQICKDdINAg0ODiygmRikiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIoN0g0CDQ4OLgsmDb4NDg5ODaCgmQikuLi4iLCAgICBJRE1fQklORAogICAgICAgIE1FTlVJVEVNICJUeXBlTGliIILMlVxcjqYoJlYpLi4uIiwgICAgSURNX1RZUEVMSUIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAig1aDWINlg4CQ3ZLoKCZTKS4uLiIsICAgIElETV9TWVNDT05GCiAgICAgICAgTUVOVUlURU0gIoOMg1eDWINng4ogg0eDZoNCg16CzI7AjXMoJlIpIiwgICAgSURNX1JFR0VESVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAij0mXuSgmWCkiLCAgICBJRE1fRVhJVAogICAgfQogICAgUE9QVVAgIoNJg3WDV4NGg06DZygmTykiCiAgICB7CiAgICAgICAgUE9QVVAgIiZDb0NyZWF0ZUluc3RhbmNlIIN0g4mDTyIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfJklOUFJPQ19TRVJWRVIiLCAgICBJRE1fRkxBR19JTlNFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYX0lOUFJPQ18mSEFORExFUiIsICAgIElETV9GTEFHX0lOSEFOREwKICAgICAgICAgICAgTUVOVUlURU0gIkNMU0NUWF8mTE9DQUxfU0VSVkVSIiwgICAgICAgIElETV9GTEFHX0xPQ1NFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYXyZSRU1PVEVfU0VSVkVSIiwgICAgSURNX0ZMQUdfUkVNU0VSVgogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAig16DQ4N2j+6V8YLMlVxcjqYoJlQpIiwgICAgSURNX1RZUEVJTkZPLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAig0ODk4NYg16Dk4NYgsyN7JCsKCZJKSIsICAgIElETV9DUkVBVEVJTlNULCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSAiQ3JlYXRlIEluc3RhbmNlICZPbi4uLiIsICAgIElETV9DUkVBVEVJTlNUT04sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICKDQ4OTg1iDXoOTg1iCzIpKlfooJlIpIiwgICAgSURNX1JFTEVBU0VJTlNULCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQyZMU0lEIILwg06DioNig3aDe4Fbg2iCyYNSg3OBWyIsICAgIElETV9DT1BZQ0xTSUQsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICImSFRNTCCDSYN1g1eDRoNOg2cgg16DT4Lwg06DioNig3aDe4Fbg2iCyYNSg3OBWyIsIElETV9IVE1MVEFHLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAilVxcjqYoJlYpLi4uIiwgICAgSURNX1ZJRVcsIEdSQVlFRAogICAgfQogICAgUE9QVVAgIpVcXI6mKCZWKSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAij+OLiYOCgVuDaCgmRSkiLCAgICBJRE1fRVhQRVJULENIRUNLRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiiUKCs4Lqgr2DUoOTg3yBW4Nsg5ODZ4LMg0qDZYNTg4ooJkgpIiwgICAgSURNX0hJRERFTiwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIoNjgVuDiyCDb4FbKCZUKSIsICAgIElETV9UT09MQkFSLENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAig1iDZYFbg16DWCCDb4FbKCZTKSIsICAgIElETV9TVEFUVVNCQVIsQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKNWJBWKCZSKVx0RjUiLCAgICBJRE1fUkVGUkVTSAogICAgfQogICAgUE9QVVAgIoN3g4uDdigmSCkiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIk9sZVZpZXcggsmCwoKigsQoJkEpIiwgICAgSURNX0FCT1VUCiAgICB9Cn0KCklETV9UWVBFTElCIE1FTlUKewogICAgUE9QVVAgIoN0g0CDQ4OLKCZGKSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAilryRT4LwlXSCr4LElduRtigmUykuLi4iLCAgICBJRE1fU0FWRUFTCiAgICAgICAgTUVOVUlURU0gIpXCgraC6SgmQykiLCAgSURNX0NMT1NFCiAgICB9CiAgICBQT1BVUCAilVxcjqYoJlYpIgogICAgewogICAgICAgIE1FTlVJVEVNICKDXoNDg3aCzI7tl96CxZWql94oJkcpIiwgSURNX0dST1VQCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIoNjgVuDiyCDb4FbKCZUKSIsICAgIElETV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIoNYg2WBW4Neg1ggg2+BWygmUykiLCBJRE1fU1RBVFVTQkFSLENIRUNLRUQKICAgIH0KfQoKU1RSSU5HVEFCTEUKewogICAgSURTX0FQUE5BTUUgICAgICAgICAgICAiT2xlVmlldyIKICAgIElEU19BUFBUSVRMRSAgICAgICAgICAgIk9sZVZpZXciCiAgICBJRFNfUkVBRFkgICAgICAgICAgICAgICKR0otAkoYiCiAgICBJRFNfQUJPVVQgICAgICAgICAgICAgICJPbGVWaWV3IC0gT0xFL0NPTSCDSYN1g1eDRoNOg2cgg3KDhYNBgVsiCiAgICBJRFNfQUJPVVRWRVIgICAgICAgICAgICKDb4Fbg1eDh4OTIDEuMCIKICAgIElEU19UWVBFTElCVElUTEUgICAgICAgIklUeXBlTGliIINyg4WDQYFbIgogICAgSURTX09QRU4gICAgICAgICAgICAgICAiikqCrSIKICAgIElEU19PUEVOX1RZUEVMSUJfRklMVEVSICJUeXBlTGliIIN0g0CDQ4OLICgqLnRsYjsqLm9sYjsqLmRsbDsqLm9jeDsqLmV4ZSlcMCoudGxiOyoub2xiOyouZGxsOyoub2N4OyouZXhlXDCCt4LXgsSCzIN0g0CDQ4OLICgqLiopXDAqLipcMFwwIgoKICAgIElETV9CSU5ELCAgICAgICAgICAgICAgIkZpbGUgTW9uaWtlciCC8JLKgraCxIN0g0CDQ4OLgsmDb4NDg5ODaIK1gtyCtyIKICAgIElETV9UWVBFTElCLCAgICAgICAgICAgIlR5cGVMaWIgg3SDQINDg4uC8IpKgqKCxJKGkGeC8JVcXI6mgrWC3IK3IgogICAgSURNX1NZU0NPTkYsICAgICAgICAgICAig32DVoOTkVORzILMlaqOVSBDT00ggsyQ3ZLogvCVz41YgrWC3IK3IgogICAgSURNX1JFR0VESVQsICAgICAgICAgICAiV2luZSCDjINXg1iDZ4OKIINHg2aDQoNegvCOwI1zgrWC3IK3IgogICAgSURNX0VYSVQsICAgICAgICAgICAgICAig0GDdoOKg1CBW4NWg4eDk4Lwj0mXuYK1gtyCt4FClc+NWILwlduRtoK3gumC5oKkgsmRo4K1gtyCtyIKICAgIElETV9DUkVBVEVJTlNULCAgICAgICAgIpFJkfCCs4Lqgr2DSYN1g1eDRoNOg2eCzINDg5ODWINeg5ODWILwjeyQrIK1gtyCtyIKICAgIElETV9DUkVBVEVJTlNUT04sICAgICAgIpPBkuiCzIN9g1aDk4/jgsyRSZHwgrOC6oK9g0mDdYNXg0aDToNngsyDQ4OTg1iDXoOTg1iC8I3skKyCtYLcgrciCiAgICBJRE1fUkVMRUFTRUlOU1QsICAgICAgICKMu43dkUmR8IKzguqCvYNJg3WDV4NGg06DZ4LMg0ODk4NYg16Dk4NYgvCKSpX6grWC3IK3IgogICAgSURNX0NPUFlDTFNJRCwgICAgICAgICAijLuN3ZFJkfCCs4Lqgr2NgJbagswgR1VJRCCC8INOg4qDYoN2g3uBW4NogsmDUoNzgVuCtYLcgrciCiAgICBJRE1fVklFVywgICAgICAgICAgICAgICKRSZHwgrOC6oK9jYCW2oLMg3KDhYNBgVuC8JVcXI6mgrWC3IK3IgogICAgSURNX0ZMQUdfSU5TRVJWLCAgICAgICAiQ29HZXRDbGFzc09iamVjdCCC8IzEgtSCxoKrgskgQ0xTQ1RYX0lOUFJPQ19TRVJWRVIggvCOZ4KigtyCtyIKICAgIElETV9GTEFHX0lOSEFOREwsICAgICAgIkNvR2V0Q2xhc3NPYmplY3QggvCMxILUgsaCq4LJIENMU0NUWF9JTlBST0NfSEFORExFUiCC8I5ngqKC3IK3IgogICAgSURNX0ZMQUdfTE9DU0VSViwgICAgICAiQ29HZXRDbGFzc09iamVjdCCC8IzEgtSCxoKrgskgQ0xTQ1RYX0xPQ0FMX1NFUlZFUiCC8I5ngqKC3IK3IgogICAgSURNX0ZMQUdfUkVNU0VSViwgICAgICAiQ29HZXRDbGFzc09iamVjdCCC8IzEgtSCxoKrgskgQ0xTQ1RYX1JFTU9URV9TRVJWRVIggvCOZ4KigtyCtyIKICAgIElETV9FWFBFUlQsICAgICAgICAgICAgIo/ji4mCxo+Ji4mVXFyOpoOCgVuDaILwkNiC6JHWgqaC3IK3IgogICAgSURNX0hJRERFTiwgICAgICAgICAgICAilVyOpoK3gumC5oKkgsmCyILBgsSCooLIgqKDUoOTg3yBW4Nsg5ODZ4LMg0qDZYNTg4qCzJVcjqaC8JDYguiR1oKmgtyCtyIKICAgIElETV9UT09MQkFSLCAgICAgICAgICAgIoNjgVuDiyCDb4FbgsyVXFyOpi+U8ZVcXI6mgvCQ2ILokdaCpoLcgrciCiAgICBJRE1fU1RBVFVTQkFSLCAgICAgICAgICKDWINlgVuDXoNYIINvgVuCzJVcXI6mL5TxlVxcjqaC8JDYguiR1oKmgtyCtyIKICAgIElETV9SRUZSRVNILCAgICAgICAgICAgIoK3gteCxILMg4qDWINngvCNWJBWgrWC3IK3IgogICAgSURNX0FCT1VULCAgICAgICAgICAgICAig3aDjYNPg4mDgI/ulfGBQYNvgVuDV4OHg5OU1I2GgsaSmI3sjKCC8JVcXI6mgrWC3IK3IgoKICAgIElETV9TQVZFQVMsICAgICAgICAgICAgIi5JREwggtyCvYLNIC5IIIN0g0CDQ4OLgsaCtYLElduRtoK1gtyCtyIKICAgIElETV9DTE9TRSwgICAgICAgICAgICAgIoNFg0KDk4Nog0WC8JXCgraC3IK3IgogICAgSURNX0dST1VQLCAgICAgICAgICAgICAiju2X3oLFg16DQ4N2j+6V8YLwlaqX3oK1gtyCtyIKCiAgICBJRFNfVFJFRV9PQywgICAgICAgICAgICJPYmplY3RDbGFzc2VzIgogICAgSURTX1RSRUVfR0JDQywgICAgICAgICAig1KDk4N8gVuDbIOTg2eCzINKg2WDU4OKgsWVqpfeIgogICAgSURTX1RSRUVfTzFPLCAgICAgICAgICAiT0xFIDEuMCCDSYN1g1eDRoNOg2ciCiAgICBJRFNfVFJFRV9DTE8sICAgICAgICAgICJDT00gg4mDQ4N1g4mDiiCDSYN1g1eDRoNOg2ciCiAgICBJRFNfVFJFRV9BTywgICAgICAgICAgICKCt4LXgsSCzINJg3WDV4NGg06DZyIKICAgIElEU19UUkVFX0FJRCwgICAgICAgICAgIoNBg3aDioNQgVuDVoOHg5MgSUQiCiAgICBJRFNfVFJFRV9UTCwgICAgICAgICAgICKDXoNDg3Ygg4mDQ4N1g4mDiiIKICAgIElEU19UTF9WRVIsICAgICAgICAgICAgIoNvgVuDV4OHg5MiCiAgICBJRFNfVFJFRV9JLCAgICAgICAgICAgICKDQ4OTg16BW4N0g0aDQ4NYIgoKICAgIElEU19UQUJfUkVHLCAgICAgICAgICAgIlJlZ2lzdHJ5IgogICAgSURTX1RBQl9JTVBMLCAgICAgICAgICAiSW1wbGVtZW50YXRpb24iCiAgICBJRFNfVEFCX0FDVElWLCAgICAgICAgICJBY3RpdmF0aW9uIgoKICAgIElEU19DR0NPRkFJTCwgICAgICAgICAgIkNvR2V0Q2xhc3NPYmplY3QggqqOuJRzgrWC3IK1gr2BQiIKICAgIElEU19FUlJPUl9VTktOLCAgICAgICAgIpVzlr6CyINHg4mBWyIKICAgIElEU19UUlVFLCAgICAgICAgICAgICAgIlRydWUiCiAgICBJRFNfRkFMU0UsICAgICAgICAgICAgICJGYWxzZSIKICAgIElEU19CWVRFUywgICAgICAgICAgICAgIoNvg0ODZyIKCiAgICBJRFNfRVJST1JfTE9BRFRZUEVMSUIsICJMb2FkVHlwZUxpYiggJXMgKSCCqo64lHOCtYLcgrWCvSAoJCV4KSIKICAgIElEU19JTkhFUklUSU5URVJGQUNFUywgIoxwj7OCs4Lqgr2DQ4OTg16BW4N0g0aDQ4NYIgp9CgpETEdfQ1JFQVRFSU5TVE9OIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyNTAsIDQxClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICKRvILMg32DVoOTgsmQ2pGxIgpGT05UIDksICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIoN9g1aDk5a8KCZNKToiLCBJRElHTk9SRSwgNSwgNiwgMTkwLCA4CiAgICBFRElUVEVYVCAgICBJRENfTUFDSElORSwgNSwgMTYsIDE5MCwgMTIsIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBFU19BVVRPSFNDUk9MTAogICAgREVGUFVTSEJVVFRPTiAgICImT0siLCBJRE9LLCAyMDAsIDUsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIoNMg4ODk4Nag4soJkMpIiwgSURDQU5DRUwsIDIwMCwgMjIsIDQ1LCAxNAp9CgpETEdfU1lTQ09ORiBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMTcwLCAxMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIoNWg1iDZYOAkN2S6CIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICKDVoNYg2WDgJDdkugiLCBJRElHTk9SRSwgNSwgNiwgMTYwLCA4CiAgICBDSEVDS0JPWCAgICAilaqOVSBDT00ggvCXTIz4gsmCt4LpKCZFKSIsIElEQ19FTkFCTEVEQ09NLCA1LCAyMCwgMTYwLCAxMCwgV1NfVEFCU1RPUCB8IFdTX0dST1VQIHwgQlNfQVVUT0NIRUNLQk9YCiAgICBDSEVDS0JPWCAgICAig4qDgoFbg2eQ2pGxgvCXTIz4gsmCt4LpKFdpbjk1IILMgt0pKCZSKSIsIElEQ19FTkFCTEVSRU1PVEUsIDUsIDM1LCAxNjAsIDEwLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgIoKxguqC54LMkN2S6ILNg4yDV4NYg16BW4LMkmyCzILdgvCVz4KmgtyCt4FCXG5XaW5lIILMg3CDdINIgVuDfYOTg1iCyYLNiWWLv4K1gtyCuYLxgUIiLCBJRElHTk9SRSwgNSwgNTAsIDE2MCwgNDAKICAgIERFRlBVU0hCVVRUT04gICAiJk9LIiwgSURPSywgNzAsIDgwLCA0NSwgMTQKICAgIFBVU0hCVVRUT04gICKDTIODg5ODWoOLKCZDKSIsIElEQ0FOQ0VMLCAxMjAsIDgwLCA0NSwgMTQKfQoKRExHX0RFRkFVTFRfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgNTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIor5kuiCzINDg5ODXoFbg3SDRoNDg1ggg3KDhYNBgVsiCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAig0ODk4NegVuDdINGg0ODWCIsIElESUdOT1JFLCA1LCA2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0xBQkVMLCA2MCwgNiwgMTQ1LCA4CiAgICBMVEVYVCAgICJJSUQ6IiwgSURJR05PUkUsIDUsIDE2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0lERU5USUZJRVIsIDYwLCAxNiwgMTY1LCA4CiAgICBERUZQVVNIQlVUVE9OICAgIpXCgraC6SgmQykiLCBJRENBTkNFTCwgMjMwLCA2LCA0NSwgMTQKICAgIFBVU0hCVVRUT04gICKDXoNDg3aP7pXxgvCVXFyOpigmVikiLCBJRENfVklFV1RZUEVJTkZPLCA2LCAzMSwgNzAsIDE0LCBXU19ESVNBQkxFRAp9CgpETEdfSVBFUlNJU1RfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMjkKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIklQZXJzaXN0IINDg5ODXoFbg3SDRoNDg1ggg3KDhYNBgVsiCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAig06DiYNYlrw6IiwgSURJR05PUkUsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIkNMU0lEOiIsIElESUdOT1JFLCA1LCAxNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19JREVOVElGSUVSLCA2MCwgMTYsIDE2NSwgOAogICAgREVGUFVTSEJVVFRPTiAgICKVwoK2gukoJkMpIiwgSURDQU5DRUwsIDIzMCwgNiwgNDUsIDE0Cn0KCkRMR19JUEVSU0lTVFNUUkVBTV9JViBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCA2OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSVBlcnNpc3RTdHJlYW0gg0ODk4NegVuDdINGg0ODWCCDcoOFg0GBWyIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICKDToOJg1iWvDoiLCBJRElHTk9SRSwgNSwgNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19MQUJFTCwgNjAsIDYsIDE0NSwgOAogICAgTFRFWFQgICAiQ0xTSUQ6IiwgSURJR05PUkUsIDUsIDE2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0lERU5USUZJRVIsIDYwLCAxNiwgMTY1LCA4CiAgICBERUZQVVNIQlVUVE9OICAgIpXCgraC6SgmQykiLCBJRENBTkNFTCwgMjMwLCA2LCA0NSwgMTQKICAgIFBVU0hCVVRUT04gICImSXNEaXJ0eSIsIElEQ19JU0RJUlRZX0JVVFRPTiwgNiwgMzEsIDUwLCAxNAogICAgTFRFWFQgICAiPz8/IiwgSURDX0lTRElSVFksIDYwLCAzNCwgMTQ1LCA4CiAgICBQVVNIQlVUVE9OICAiJkdldFNpemVNYXgiLCBJRENfR0VUU0laRU1BWF9CVVRUT04sIDYsIDQ5LCA1MCwgMTQKICAgIExURVhUICAgIj8/PyIsIElEQ19HRVRTSVpFTUFYLCA2MCwgNTIsIDE0NSwgOAp9Cg==