(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/script/GameController.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { return __quick_compile_project__.require(request, __filename); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; cc._RF.push(module, '9948eK7buVDMqdvps5pUzCC', 'GameController'); // script/GameController.ts "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Config_1 = require("./Config"); var gameCfg_1 = require("./common/gameCfg"); var GameDataCenter_1 = require("./data/GameDataCenter"); var eg_1 = require("./frameWork/eg"); var FguiMgr_1 = require("./frameWork/fgui/FguiMgr"); var HttpRequest_1 = require("./network/HttpRequest"); var Network_1 = require("./network/Network"); var AssetsBundleMgr_1 = require("./utils/AssetsBundleMgr"); var Load_1 = require("./utils/Load"); var NativeManager_1 = require("./utils/NativeManager"); var SingletonFactory_1 = require("./utils/SingletonFactory"); var ThinkingDataMgr_1 = require("./utils/ThinkingDataMgr"); var GameController = /** @class */ (function () { // websocket: NetworkWebSocket = null; function GameController() { this.network = null; this.rewardedVideoAd = null; CC_PREVIEW && (window['gamecontroller'] = this); } GameController.prototype.init = function (callback) { // 新建一个网络单例 this.network = SingletonFactory_1.SingletonFactory.getInstance(Network_1.default); // this.websocket = SingletonFactory.getInstance(NetworkWebSocket); // 所有UI扩展都写在这 this.initUIExpand(); NativeManager_1.default.Init(); console.log("初始化配置表"); var startTime = new Date().getTime(); gameCfg_1.default.initLoading(function (isSucc) { console.log("初始化配置表流程结束,消耗时长:" + (new Date().getTime() - startTime) + "ms"); if (isSucc) { console.log("解析成功"); // 初始化数据模块 GameDataCenter_1.default.initLoadModule(); // GameDataCenter.adVideo.setAdOpen() // //初始化数数 ThinkingDataMgr_1.default.TDInit(); } else { console.log("解析失败"); } callback(isSucc); }); }; GameController.prototype.clear = function () { var _a; this.network.RemoveTimers(); // if (GameDataCenter.plat.instance.rewardedVideoAd) { // // 销毁激励视频广告实例 // console.log("销毁广告实例,避免重复触发回调") // GameDataCenter.plat.instance.rewardedVideoAd.destroy(); // } cc.Tween.stopAll(); //清空已经所有的界面 FguiMgr_1.default.Instance.clearAllUI(); fgui.TweenManager.clearAll(); Load_1.default.clear(); if (Config_1.default.upid != null) { clearInterval(Config_1.default.upid); } if (Config_1.default.upFrame != null) { clearInterval(Config_1.default.upFrame); } if (Config_1.default.upFight != null) { clearInterval(Config_1.default.upFight); } cc.director.getScene().removeAllChildren(true); Config_1.default.inGame = 0; this.network.stopRequest = false; HttpRequest_1.default.errPostMap.Clear(); GameDataCenter_1.default._rspModel.clear(); (_a = eg_1.eg.poolManager) === null || _a === void 0 ? void 0 : _a.ReleaseAllPool(); fgui.UIPackage.removeAllPackage(); AssetsBundleMgr_1.default.releaseAllBundle(); }; GameController.prototype.initUIExpand = function () { // tween的暂停与恢复 // cc.ActionInterval.prototype.step = function (dt) { // if (this.paused) { // return; // } // if (this._firstTick && !this._goto) { // this._firstTick = false; // this._elapsed = 0; // } else { // this._elapsed += dt; // } // let t = this._elapsed / (this._duration > 0.0000001192092896 ? this._duration : 0.0000001192092896); // t = (1 > t ? t : 1); // this.update(t > 0 ? t : 0); // //Compatible with repeat class, Discard after can be deleted (this._repeatMethod) // if (this._repeatMethod && this._timesForRepeat > 1 && this.isDone()) { // if (!this._repeatForever) { // this._timesForRepeat--; // } // this.startWithTarget(this.target); // this.step(this._elapsed - this._duration); // } // }; // cc.Tween.prototype.pause = function () { // this._finalAction.paused = true; // }; // cc.Tween.prototype.resume = function () { // this._finalAction.paused = false; // }; }; return GameController; }()); exports.default = new GameController(); cc._RF.pop(); } if (nodeEnv) { __define(__module.exports, __require, __module); } else { __quick_compile_project__.registerModuleFunc(__filename, function () { __define(__module.exports, __require, __module); }); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvR2FtZUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxtQ0FBOEI7QUFDOUIsNENBQXVDO0FBQ3ZDLHdEQUFtRDtBQUNuRCxxQ0FBb0M7QUFDcEMsb0RBQStDO0FBQy9DLHFEQUFnRDtBQUNoRCw2Q0FBd0M7QUFDeEMsMkRBQXNEO0FBQ3RELHFDQUFnQztBQUNoQyx1REFBa0Q7QUFDbEQsNkRBQTREO0FBQzVELDJEQUFzRDtBQUV0RDtJQUdDLHNDQUFzQztJQUV0QztRQUpBLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsb0JBQWUsR0FBUSxJQUFJLENBQUM7UUFJM0IsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVELDZCQUFJLEdBQUosVUFBSyxRQUFrQjtRQUN0QixXQUFXO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxtQ0FBZ0IsQ0FBQyxXQUFXLENBQUMsaUJBQU8sQ0FBQyxDQUFDO1FBQ3JELG1FQUFtRTtRQUVuRSxhQUFhO1FBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBRW5CLHVCQUFhLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNyQixJQUFJLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3BDLGlCQUFPLENBQUMsV0FBVyxDQUFDLFVBQUMsTUFBZTtZQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUMzRSxJQUFJLE1BQU0sRUFBRTtnQkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUNuQixVQUFVO2dCQUNWLHdCQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ2hDLHFDQUFxQztnQkFDckMsVUFBVTtnQkFDVix5QkFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3pCO2lCQUFNO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7YUFDbkI7WUFDRCxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDakIsQ0FBQyxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsOEJBQUssR0FBTDs7UUFDQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLHNEQUFzRDtRQUN0RCxvQkFBb0I7UUFDcEIscUNBQXFDO1FBQ3JDLDhEQUE4RDtRQUM5RCxJQUFJO1FBQ0osRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNsQixXQUFXO1FBQ1gsaUJBQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixjQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDWixJQUFJLGdCQUFNLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtZQUN4QixhQUFhLENBQUMsZ0JBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUMxQjtRQUNELElBQUksZ0JBQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO1lBQzNCLGFBQWEsQ0FBQyxnQkFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQzdCO1FBQ0QsSUFBSSxnQkFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDM0IsYUFBYSxDQUFDLGdCQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDN0I7UUFDRCxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlDLGdCQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDaEMscUJBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDOUIsd0JBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsTUFBQSxPQUFFLENBQUMsV0FBVywwQ0FBRSxjQUFjLEdBQUc7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQ2pDLHlCQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8scUNBQVksR0FBcEI7UUFDQyxjQUFjO1FBQ2QscURBQXFEO1FBQ3JELHNCQUFzQjtRQUN0QixZQUFZO1FBQ1osS0FBSztRQUVMLHlDQUF5QztRQUN6Qyw2QkFBNkI7UUFDN0IsdUJBQXVCO1FBQ3ZCLFlBQVk7UUFDWix5QkFBeUI7UUFDekIsS0FBSztRQUVMLHdHQUF3RztRQUN4Ryx3QkFBd0I7UUFDeEIsK0JBQStCO1FBRS9CLHFGQUFxRjtRQUNyRiwwRUFBMEU7UUFDMUUsZ0NBQWdDO1FBQ2hDLDZCQUE2QjtRQUM3QixNQUFNO1FBQ04sdUNBQXVDO1FBQ3ZDLCtDQUErQztRQUMvQyxLQUFLO1FBQ0wsS0FBSztRQUVMLDJDQUEyQztRQUMzQyxvQ0FBb0M7UUFDcEMsS0FBSztRQUVMLDRDQUE0QztRQUM1QyxxQ0FBcUM7UUFDckMsS0FBSztJQUNOLENBQUM7SUFDRixxQkFBQztBQUFELENBdkdBLEFBdUdDLElBQUE7QUFFRCxrQkFBZSxJQUFJLGNBQWMsRUFBRSxDQUFDIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgQ29uZmlnIGZyb20gXCIuL0NvbmZpZ1wiO1xuaW1wb3J0IEdhbWVjZmcgZnJvbSBcIi4vY29tbW9uL2dhbWVDZmdcIjtcbmltcG9ydCBHYW1lRGF0YUNlbnRlciBmcm9tIFwiLi9kYXRhL0dhbWVEYXRhQ2VudGVyXCI7XG5pbXBvcnQgeyBlZyB9IGZyb20gXCIuL2ZyYW1lV29yay9lZ1wiO1xuaW1wb3J0IEZndWlNZ3IgZnJvbSBcIi4vZnJhbWVXb3JrL2ZndWkvRmd1aU1nclwiO1xuaW1wb3J0IEh0dHBSZXF1ZXN0IGZyb20gXCIuL25ldHdvcmsvSHR0cFJlcXVlc3RcIjtcbmltcG9ydCBOZXR3b3JrIGZyb20gXCIuL25ldHdvcmsvTmV0d29ya1wiO1xuaW1wb3J0IEFzc2V0c0J1bmRsZU1nciBmcm9tIFwiLi91dGlscy9Bc3NldHNCdW5kbGVNZ3JcIjtcbmltcG9ydCBMb2FkIGZyb20gXCIuL3V0aWxzL0xvYWRcIjtcbmltcG9ydCBOYXRpdmVNYW5hZ2VyIGZyb20gXCIuL3V0aWxzL05hdGl2ZU1hbmFnZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkZhY3RvcnkgfSBmcm9tIFwiLi91dGlscy9TaW5nbGV0b25GYWN0b3J5XCI7XG5pbXBvcnQgVGhpbmtpbmdEYXRhTWdyIGZyb20gXCIuL3V0aWxzL1RoaW5raW5nRGF0YU1nclwiO1xuXG5jbGFzcyBHYW1lQ29udHJvbGxlciB7XG5cdG5ldHdvcms6IE5ldHdvcmsgPSBudWxsO1xuXHRyZXdhcmRlZFZpZGVvQWQ6IGFueSA9IG51bGw7XG5cdC8vIHdlYnNvY2tldDogTmV0d29ya1dlYlNvY2tldCA9IG51bGw7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Q0NfUFJFVklFVyAmJiAod2luZG93WydnYW1lY29udHJvbGxlciddID0gdGhpcylcblx0fVxuXG5cdGluaXQoY2FsbGJhY2s6IEZ1bmN0aW9uKSB7XG5cdFx0Ly8g5paw5bu65LiA5Liq572R57uc5Y2V5L6LXG5cdFx0dGhpcy5uZXR3b3JrID0gU2luZ2xldG9uRmFjdG9yeS5nZXRJbnN0YW5jZShOZXR3b3JrKTtcblx0XHQvLyB0aGlzLndlYnNvY2tldCA9IFNpbmdsZXRvbkZhY3RvcnkuZ2V0SW5zdGFuY2UoTmV0d29ya1dlYlNvY2tldCk7XG5cblx0XHQvLyDmiYDmnIlVSeaJqeWxlemDveWGmeWcqOi/mVxuXHRcdHRoaXMuaW5pdFVJRXhwYW5kKClcblxuXHRcdE5hdGl2ZU1hbmFnZXIuSW5pdCgpXG5cdFx0Y29uc29sZS5sb2coXCLliJ3lp4vljJbphY3nva7ooahcIilcblx0XHRsZXQgc3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKClcblx0XHRHYW1lY2ZnLmluaXRMb2FkaW5nKChpc1N1Y2M6IGJvb2xlYW4pID0+IHtcblx0XHRcdGNvbnNvbGUubG9nKFwi5Yid5aeL5YyW6YWN572u6KGo5rWB56iL57uT5p2fLOa2iOiAl+aXtumVvzpcIiArIChuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHN0YXJ0VGltZSkgKyBcIm1zXCIpXG5cdFx0XHRpZiAoaXNTdWNjKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKFwi6Kej5p6Q5oiQ5YqfXCIpXG5cdFx0XHRcdC8vIOWIneWni+WMluaVsOaNruaooeWdl1xuXHRcdFx0XHRHYW1lRGF0YUNlbnRlci5pbml0TG9hZE1vZHVsZSgpO1xuXHRcdFx0XHQvLyBHYW1lRGF0YUNlbnRlci5hZFZpZGVvLnNldEFkT3BlbigpXG5cdFx0XHRcdC8vIC8v5Yid5aeL5YyW5pWw5pWwXG5cdFx0XHRcdFRoaW5raW5nRGF0YU1nci5UREluaXQoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKFwi6Kej5p6Q5aSx6LSlXCIpXG5cdFx0XHR9XG5cdFx0XHRjYWxsYmFjayhpc1N1Y2MpXG5cdFx0fSlcblx0fVxuXG5cdGNsZWFyKCkge1xuXHRcdHRoaXMubmV0d29yay5SZW1vdmVUaW1lcnMoKTtcblx0XHQvLyBpZiAoR2FtZURhdGFDZW50ZXIucGxhdC5pbnN0YW5jZS5yZXdhcmRlZFZpZGVvQWQpIHtcblx0XHQvLyAgICAgLy8g6ZSA5q+B5r+A5Yqx6KeG6aKR5bm/5ZGK5a6e5L6LXG5cdFx0Ly8gICAgIGNvbnNvbGUubG9nKFwi6ZSA5q+B5bm/5ZGK5a6e5L6L77yM6YG/5YWN6YeN5aSN6Kem5Y+R5Zue6LCDXCIpXG5cdFx0Ly8gICAgIEdhbWVEYXRhQ2VudGVyLnBsYXQuaW5zdGFuY2UucmV3YXJkZWRWaWRlb0FkLmRlc3Ryb3koKTtcblx0XHQvLyB9XG5cdFx0Y2MuVHdlZW4uc3RvcEFsbCgpXG5cdFx0Ly/muIXnqbrlt7Lnu4/miYDmnInnmoTnlYzpnaJcblx0XHRGZ3VpTWdyLkluc3RhbmNlLmNsZWFyQWxsVUkoKVxuXHRcdGZndWkuVHdlZW5NYW5hZ2VyLmNsZWFyQWxsKCk7XG5cdFx0TG9hZC5jbGVhcigpXG5cdFx0aWYgKENvbmZpZy51cGlkICE9IG51bGwpIHtcblx0XHRcdGNsZWFySW50ZXJ2YWwoQ29uZmlnLnVwaWQpXG5cdFx0fVxuXHRcdGlmIChDb25maWcudXBGcmFtZSAhPSBudWxsKSB7XG5cdFx0XHRjbGVhckludGVydmFsKENvbmZpZy51cEZyYW1lKVxuXHRcdH1cblx0XHRpZiAoQ29uZmlnLnVwRmlnaHQgIT0gbnVsbCkge1xuXHRcdFx0Y2xlYXJJbnRlcnZhbChDb25maWcudXBGaWdodClcblx0XHR9XG5cdFx0Y2MuZGlyZWN0b3IuZ2V0U2NlbmUoKS5yZW1vdmVBbGxDaGlsZHJlbih0cnVlKVxuXHRcdENvbmZpZy5pbkdhbWUgPSAwXG5cdFx0dGhpcy5uZXR3b3JrLnN0b3BSZXF1ZXN0ID0gZmFsc2Vcblx0XHRIdHRwUmVxdWVzdC5lcnJQb3N0TWFwLkNsZWFyKClcblx0XHRHYW1lRGF0YUNlbnRlci5fcnNwTW9kZWwuY2xlYXIoKTtcblx0XHRlZy5wb29sTWFuYWdlcj8uUmVsZWFzZUFsbFBvb2woKTtcblx0XHRmZ3VpLlVJUGFja2FnZS5yZW1vdmVBbGxQYWNrYWdlKClcblx0XHRBc3NldHNCdW5kbGVNZ3IucmVsZWFzZUFsbEJ1bmRsZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBpbml0VUlFeHBhbmQoKSB7XG5cdFx0Ly8gdHdlZW7nmoTmmoLlgZzkuI7mgaLlpI1cblx0XHQvLyBjYy5BY3Rpb25JbnRlcnZhbC5wcm90b3R5cGUuc3RlcCA9IGZ1bmN0aW9uIChkdCkge1xuXHRcdC8vIFx0aWYgKHRoaXMucGF1c2VkKSB7XG5cdFx0Ly8gXHRcdHJldHVybjtcblx0XHQvLyBcdH1cblxuXHRcdC8vIFx0aWYgKHRoaXMuX2ZpcnN0VGljayAmJiAhdGhpcy5fZ290bykge1xuXHRcdC8vIFx0XHR0aGlzLl9maXJzdFRpY2sgPSBmYWxzZTtcblx0XHQvLyBcdFx0dGhpcy5fZWxhcHNlZCA9IDA7XG5cdFx0Ly8gXHR9IGVsc2Uge1xuXHRcdC8vIFx0XHR0aGlzLl9lbGFwc2VkICs9IGR0O1xuXHRcdC8vIFx0fVxuXG5cdFx0Ly8gXHRsZXQgdCA9IHRoaXMuX2VsYXBzZWQgLyAodGhpcy5fZHVyYXRpb24gPiAwLjAwMDAwMDExOTIwOTI4OTYgPyB0aGlzLl9kdXJhdGlvbiA6IDAuMDAwMDAwMTE5MjA5Mjg5Nik7XG5cdFx0Ly8gXHR0ID0gKDEgPiB0ID8gdCA6IDEpO1xuXHRcdC8vIFx0dGhpcy51cGRhdGUodCA+IDAgPyB0IDogMCk7XG5cblx0XHQvLyBcdC8vQ29tcGF0aWJsZSB3aXRoIHJlcGVhdCBjbGFzcywgRGlzY2FyZCBhZnRlciBjYW4gYmUgZGVsZXRlZCAodGhpcy5fcmVwZWF0TWV0aG9kKVxuXHRcdC8vIFx0aWYgKHRoaXMuX3JlcGVhdE1ldGhvZCAmJiB0aGlzLl90aW1lc0ZvclJlcGVhdCA+IDEgJiYgdGhpcy5pc0RvbmUoKSkge1xuXHRcdC8vIFx0XHRpZiAoIXRoaXMuX3JlcGVhdEZvcmV2ZXIpIHtcblx0XHQvLyBcdFx0XHR0aGlzLl90aW1lc0ZvclJlcGVhdC0tO1xuXHRcdC8vIFx0XHR9XG5cdFx0Ly8gXHRcdHRoaXMuc3RhcnRXaXRoVGFyZ2V0KHRoaXMudGFyZ2V0KTtcblx0XHQvLyBcdFx0dGhpcy5zdGVwKHRoaXMuX2VsYXBzZWQgLSB0aGlzLl9kdXJhdGlvbik7XG5cdFx0Ly8gXHR9XG5cdFx0Ly8gfTtcblxuXHRcdC8vIGNjLlR3ZWVuLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uICgpIHtcblx0XHQvLyBcdHRoaXMuX2ZpbmFsQWN0aW9uLnBhdXNlZCA9IHRydWU7XG5cdFx0Ly8gfTtcblxuXHRcdC8vIGNjLlR3ZWVuLnByb3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0Ly8gXHR0aGlzLl9maW5hbEFjdGlvbi5wYXVzZWQgPSBmYWxzZTtcblx0XHQvLyB9O1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBHYW1lQ29udHJvbGxlcigpOyJdfQ==