(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/welfare/view/collect_panel.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, 'd2940cZ54tG06gpzkmWRYBh', 'collect_panel'); // Scripts/mod/welfare/view/collect_panel.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 收藏有礼 //
Create: 2019-04-25 16:44:35 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var WelfareEvent = require("welfare_event"); var CollectPanel = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("welfare", "collect_panel"); }, // 可以初始化声明一些变量的 initConfig: function initConfig() { this.ctrl = require("welfare_controller").getInstance(); this.item_list = {}; this.is_can_get = false; }, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { this.main_container = this.seekChild("main_container"); this.item_container = this.seekChild(this.main_container, "item_container"); this.bg_sp_2 = this.seekChild(this.main_container, "bg_2", cc.Sprite); this.loadRes(PathTool.getBigBg("welfare/txt_cn_shwx_collect", "jpg"), function (res) { this.bg_sp_2.spriteFrame = res; }.bind(this)); this.desc = this.seekChild(this.main_container, "txt_2", cc.Label); this.desc.string = Utils.TI18N("1.点击“右上角三个点” •••\n2.点击“添加到我的小程序”\n3.点击“关闭圆圈” ⊙\n4.点击我的小程序“剑魂之光”开启游戏,领取奖励"); this.go_btn = this.seekChild(this.main_container, "go_btn"); this.go_btn_lb = this.seekChild(this.go_btn, "label", cc.Label); this.go_btn_lb.string = Utils.TI18N("收藏领好礼"); this.go_btn_lo = this.seekChild(this.go_btn, "label", cc.LabelOutline); this.go_btn_btn = this.seekChild(this.main_container, "go_btn", cc.Button); if (this.ctrl.getModel().getCollectAwardStatus() == 1) { this.go_btn_lb.string = Utils.TI18N("已领取"); this.go_btn_lo.enabled = false; Utils.setGreyButton(this.go_btn_btn); } if (window.wx) { var options = wx.getLaunchOptionsSync(); var val = wx.getStorageSync("is_open_scene"); if (val == 1 || options && options.scene && (options.scene == 1001 || options.scene == 1089 || options.scene == 1103 || options.scene == 1104)) { this.is_can_get = true; wx.setStorageSync("is_open_scene", 1); } } }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { this.go_btn.on("click", function () { Utils.playButtonSound(1); if (PLATFORM_TYPR == "SH_SDK") { //深海小程序 this.clickGoBtnBySHWX(); } }.bind(this)); this.addGlobalEvent(WelfareEvent.Update_get_SHWX_collect_award_status, function (status) { // meesage(status) if (status == 2) { this.go_btn_lb.string = Utils.TI18N("收藏领好礼"); } else if (status == 1) { this.go_btn_lb.string = Utils.TI18N("已领取"); this.go_btn_lo.enabled = false; Utils.setGreyButton(this.go_btn_btn); } }.bind(this)); this.addGlobalEvent(WelfareEvent.Update_SHWX_show_scene_val, function (scene) { if (this.ctrl.getModel().getCollectAwardStatus() == 1 || this.is_can_get == true) { return; } if (window.wx) { var val = wx.getStorageSync("is_open_scene"); if (val == 1 || scene && (scene == 1001 || scene == 1089 || scene == 1103 || scene == 1104)) { this.is_can_get = true; wx.setStorageSync("is_open_scene", 1); } } }.bind(this)); }, clickGoBtnBySHWX: function clickGoBtnBySHWX() { if (this.is_can_get == true) { if (this.ctrl.getModel().getCollectAwardStatus() == 0) { this.ctrl.send16696(); } } else { message(Utils.TI18N("请先收藏到我的小程序")); } }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow(params) { this.setItemList(); }, setItemList: function setItemList() { if (PLATFORM_TYPR == "SH_SDK") { var bind_data = this.ctrl.getModel().getCollectAward(); if (bind_data == null) return; var index = 0; for (var i in bind_data) { var v = bind_data[i]; if (!this.item_list[i]) { var item = ItemsPool.getInstance().getItem("backpack_item"); item.initConfig(false, 0.7, false, true); item.show(); item.setParent(this.item_container); item.setData({ bid: v.bid, num: v.num }); item.setPosition(index * 110 - 110, 80); this.item_list[i] = item; index = index + 1; } } } }, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() { this.is_shate = false; if (this.item_list) { for (var k in this.item_list) { this.item_list[k].deleteMe(); this.item_list[k] = null; } this.item_list = null; } } }); 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx3ZWxmYXJlXFx2aWV3XFxjb2xsZWN0X3BhbmVsLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIldlbGZhcmVFdmVudCIsIkNvbGxlY3RQYW5lbCIsImNjIiwiQ2xhc3MiLCJCYXNlUGFuZWwiLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJpbml0Q29uZmlnIiwiY3RybCIsImdldEluc3RhbmNlIiwiaXRlbV9saXN0IiwiaXNfY2FuX2dldCIsImluaXRQYW5lbCIsIm1haW5fY29udGFpbmVyIiwic2Vla0NoaWxkIiwiaXRlbV9jb250YWluZXIiLCJiZ19zcF8yIiwiU3ByaXRlIiwibG9hZFJlcyIsImdldEJpZ0JnIiwicmVzIiwic3ByaXRlRnJhbWUiLCJiaW5kIiwiZGVzYyIsIkxhYmVsIiwic3RyaW5nIiwiVXRpbHMiLCJUSTE4TiIsImdvX2J0biIsImdvX2J0bl9sYiIsImdvX2J0bl9sbyIsIkxhYmVsT3V0bGluZSIsImdvX2J0bl9idG4iLCJCdXR0b24iLCJnZXRNb2RlbCIsImdldENvbGxlY3RBd2FyZFN0YXR1cyIsImVuYWJsZWQiLCJzZXRHcmV5QnV0dG9uIiwid2luZG93Iiwid3giLCJvcHRpb25zIiwiZ2V0TGF1bmNoT3B0aW9uc1N5bmMiLCJ2YWwiLCJnZXRTdG9yYWdlU3luYyIsInNjZW5lIiwic2V0U3RvcmFnZVN5bmMiLCJyZWdpc3RlckV2ZW50Iiwib24iLCJwbGF5QnV0dG9uU291bmQiLCJQTEFURk9STV9UWVBSIiwiY2xpY2tHb0J0bkJ5U0hXWCIsImFkZEdsb2JhbEV2ZW50IiwiVXBkYXRlX2dldF9TSFdYX2NvbGxlY3RfYXdhcmRfc3RhdHVzIiwic3RhdHVzIiwiVXBkYXRlX1NIV1hfc2hvd19zY2VuZV92YWwiLCJzZW5kMTY2OTYiLCJtZXNzYWdlIiwib25TaG93IiwicGFyYW1zIiwic2V0SXRlbUxpc3QiLCJiaW5kX2RhdGEiLCJnZXRDb2xsZWN0QXdhcmQiLCJpbmRleCIsImkiLCJ2IiwiaXRlbSIsIkl0ZW1zUG9vbCIsImdldEl0ZW0iLCJzaG93Iiwic2V0UGFyZW50Iiwic2V0RGF0YSIsImJpZCIsIm51bSIsInNldFBvc2l0aW9uIiwib25IaWRlIiwib25EZWxldGUiLCJpc19zaGF0ZSIsImsiLCJkZWxldGVNZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlDLFlBQVksR0FBR0QsT0FBTyxDQUFDLGVBQUQsQ0FBMUI7O0FBRUEsSUFBSUUsWUFBWSxHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUN4QixhQUFTQyxTQURlO0FBRXhCQyxFQUFBQSxJQUFJLEVBQUUsZ0JBQVk7QUFDZCxTQUFLQyxVQUFMLEdBQWtCUixRQUFRLENBQUNTLGFBQVQsQ0FBdUIsU0FBdkIsRUFBa0MsZUFBbEMsQ0FBbEI7QUFDSCxHQUp1QjtBQU14QjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVk7QUFDcEIsU0FBS0MsSUFBTCxHQUFZVixPQUFPLENBQUMsb0JBQUQsQ0FBUCxDQUE4QlcsV0FBOUIsRUFBWjtBQUNBLFNBQUtDLFNBQUwsR0FBaUIsRUFBakI7QUFDQSxTQUFLQyxVQUFMLEdBQWtCLEtBQWxCO0FBQ0gsR0FYdUI7QUFheEI7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLHFCQUFZO0FBQ25CLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsU0FBTCxDQUFlLGdCQUFmLENBQXRCO0FBRUEsU0FBS0MsY0FBTCxHQUFzQixLQUFLRCxTQUFMLENBQWUsS0FBS0QsY0FBcEIsRUFBb0MsZ0JBQXBDLENBQXRCO0FBQ0EsU0FBS0csT0FBTCxHQUFlLEtBQUtGLFNBQUwsQ0FBZSxLQUFLRCxjQUFwQixFQUFvQyxNQUFwQyxFQUE0Q1osRUFBRSxDQUFDZ0IsTUFBL0MsQ0FBZjtBQUNBLFNBQUtDLE9BQUwsQ0FBYXJCLFFB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QXJCLFdBQWI7QUFDQVAsVUFBQUEsSUFBSSxDQUFDUSxXQUFMLENBQWlCWCxLQUFLLEdBQUcsR0FBUixHQUFjLEdBQS9CLEVBQW9DLEVBQXBDO0FBQ0EsZUFBS3BELFNBQUwsQ0FBZXFELENBQWYsSUFBb0JFLElBQXBCO0FBQ0FILFVBQUFBLEtBQUssR0FBR0EsS0FBSyxHQUFHLENBQWhCO0FBQ0g7QUFDSjtBQUNKO0FBQ0osR0FwSHVCO0FBc0h4QjtBQUNBWSxFQUFBQSxNQUFNLEVBQUUsa0JBQVksQ0FFbkIsQ0F6SHVCO0FBMkh4QjtBQUNBQyxFQUFBQSxRQUFRLEVBQUUsb0JBQVk7QUFDbEIsU0FBS0MsUUFBTCxHQUFnQixLQUFoQjs7QUFFQSxRQUFJLEtBQUtsRSxTQUFULEVBQW9CO0FBQ2hCLFdBQUssSUFBSW1FLENBQVQsSUFBYyxLQUFLbkUsU0FBbkIsRUFBOEI7QUFDMUIsYUFBS0EsU0FBTCxDQUFlbUUsQ0FBZixFQUFrQkMsUUFBbEI7QUFDQSxhQUFLcEUsU0FBTCxDQUFlbUUsQ0FBZixJQUFvQixJQUFwQjtBQUNIOztBQUNELFdBQUtuRSxTQUFMLEdBQWlCLElBQWpCO0FBQ0g7QUFDSjtBQXRJdUIsQ0FBVCxDQUFuQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgIOaUtuiXj+acieekvFxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDQtMjUgMTY6NDQ6MzVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgV2VsZmFyZUV2ZW50ID0gcmVxdWlyZShcIndlbGZhcmVfZXZlbnRcIik7XG5cbnZhciBDb2xsZWN0UGFuZWwgPSBjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogQmFzZVBhbmVsLFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcIndlbGZhcmVcIiwgXCJjb2xsZWN0X3BhbmVsXCIpO1xuICAgIH0sXG5cbiAgICAvLyDlj6/ku6XliJ3lp4vljJblo7DmmI7kuIDkupvlj5jph4/nmoRcbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY3RybCA9IHJlcXVpcmUoXCJ3ZWxmYXJlX2NvbnRyb2xsZXJcIikuZ2V0SW5zdGFuY2UoKTtcbiAgICAgICAgdGhpcy5pdGVtX2xpc3QgPSB7fTtcbiAgICAgICAgdGhpcy5pc19jYW5fZ2V0ID0gZmFsc2U7XG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMluS4gOS6m+mFjee9ruaVsOaNrizlj6/ku6XnlKjkuo7lo7DmmI7kuIDkupvlj5jph4/kuYvnsbvnmoRcbiAgICBpbml0UGFuZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tYWluX2NvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKFwibWFpbl9jb250YWluZXJcIik7XG5cbiAgICAgICAgdGhpcy5pdGVtX2NvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXIsIFwiaXRlbV9jb250YWluZXJcIik7XG4gICAgICAgIHRoaXMuYmdfc3BfMiA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXIsIFwiYmdfMlwiLCBjYy5TcHJpdGUpO1xuICAgICAgICB0aGlzLmxvYWRSZXMoUGF0aFRvb2wuZ2V0QmlnQmcoXCJ3ZWxmYXJlL3R4dF9jbl9zaHd4X2NvbGxlY3RcIixcImpwZ1wiKSwgZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgdGhpcy5iZ19zcF8yLnNwcml0ZUZyYW1lID0gcmVzO1xuICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgIHRoaXMuZGVzYyAgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLm1haW5fY29udGFpbmVyLCBcInR4dF8yXCIsY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLmRlc2Muc3RyaW5nID0gVXRpbHMuVEkxOE4oXCIxLueCueWHu+KAnOWPs+S4iuinkuS4ieS4queCueKAnSDigKLigKLigKJcXG4yLueCueWHu+KAnOa3u+WKoOWIsOaIkeeahOWwj+eoi+W6j+KAnVxcbjMu54K55Ye74oCc5YWz6Zet5ZyG5ZyI4oCdIOKKmVxcbjQu54K55Ye75oiR55qE5bCP56iL5bqP4oCc5YmR6a2C5LmL5YWJ4oCd5byA5ZCv5ri45oiP77yM6aKG5Y+W5aWW5YqxXCIpO1xuICAgICAgICB0aGlzLmdvX2J0biA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXIsIFwiZ29fYnRuXCIpO1xuICAgICAgICB0aGlzLmdvX2J0bl9sYiA9IHRoaXMuc2Vla0NoaWxkKHRoaXMuZ29fYnRuLCBcImxhYmVsXCIsIGNjLkxhYmVsKTtcbiAgICAgICAgdGhpcy5nb19idG5fbGIuc3RyaW5nID0gVXRpbHMuVEkxOE4oXCLmlLbol4/pooblpb3npLxcIik7XG4gICAgICAgIHRoaXMuZ29fYnRuX2xvID0gdGhpcy5zZWVrQ2hpbGQodGhpcy5nb19idG4sIFwibGFiZWxcIiwgY2MuTGFiZWxPdXRsaW5lKTtcbiAgICAgICAgdGhpcy5nb19idG5fYnRuID0gdGhpcy5zZWVrQ2hpbGQodGhpcy5tYWluX2NvbnRhaW5lciwgXCJnb19idG5cIiwgY2MuQnV0dG9uKTtcblxuICAgICAgICBpZiAodGhpcy5jdHJsLmdldE1vZGVsKCkuZ2V0Q29sbGVjdEF3YXJkU3RhdHVzKCkgPT0gMSkge1xuICAgICAgICAgICAgdGhpcy5nb19idG5fbGIuc3RyaW5nID0gVXRpbHMuVEkxOE4oXCLlt7Lpooblj5ZcIik7XG4gICAgICAgICAgICB0aGlzLmdvX2J0bl9sby5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICBVdGlscy5zZXRHcmV5QnV0dG9uKHRoaXMuZ29fYnRuX2J0bilcbiAgICAgICAgfVxuICAgICAgICBcblxuICAgICAgICBpZih3aW5kb3cud3gpe1xuICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSB3eC5nZXRMYXVuY2hPcHRpb25zU3luYygpO1xuICAgICAgICAgICAgdmFyIHZhbCA9IHd4LmdldFN0b3JhZ2VTeW5jKFwiaXNfb3Blbl9zY2VuZVwiKTtcbiAgICAgICAgICAgIGlmKHZhbCA9PSAxIHx8IChvcHRpb25zICYmIG9wdGlvbnMuc2NlbmUgJiYgKG9wdGlvbnMuc2NlbmUgPT0gMTAwMSB8fCBvcHRpb25zLnNjZW5lID09IDEwODkgfHwgb3B0aW9ucy5zY2VuZSA9PSAxMTAzIHx8IG9wdGlvbnMuc2NlbmUgPT0gMTEwNCkpKXtcbiAgICAgICAgICAgICAgICB0aGlzLmlzX2Nhbl9nZXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHd4LnNldFN0b3JhZ2VTeW5jKFwiaXNfb3Blbl9zY2VuZVwiLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDms6jlhozkuovku7bnm5HlkKznmoTmjqXlj6Ms5LiN6ZyA6KaB5omL5Yqo6LCD55SoLOWmguaenOaYr+S9v+eUqGdjb3JlLkdsb2JhbEV2ZW5055uR5ZCsLOWPr+S7peebtOaOpeiwg+eUqGFkZEdsb2JhbEV2ZW50XG4gICAgcmVnaXN0ZXJFdmVudDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmdvX2J0bi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIFV0aWxzLnBsYXlCdXR0b25Tb3VuZCgxKTtcbiAgICAgICAgICAgIGlmKFBMQVRGT1JNX1RZUFIgPT0gXCJTSF9TREtcIil7Ly/mt7HmtbflsI/nqIvluo9cbiAgICAgICAgICAgICAgICB0aGlzLmNsaWNrR29CdG5CeVNIV1goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfS5iaW5kKHRoaXMpKVxuXG4gICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnQoV2VsZmFyZUV2ZW50LlVwZGF0ZV9nZXRfU0hXWF9jb2xsZWN0X2F3YXJkX3N0YXR1cywgZnVuY3Rpb24gKHN0YXR1cykge1xuICAgICAgICAgICAgLy8gbWVlc2FnZShzdGF0dXMpXG4gICAgICAgICAgICBpZiAoc3RhdHVzID09IDIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvX2J0bl9sYi5zdHJpbmcgPSBVdGlscy5USTE4TihcIuaUtuiXj+mihuWlveekvFwiKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoc3RhdHVzID09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdvX2J0bl9sYi5zdHJpbmcgPSBVdGlscy5USTE4TihcIuW3sumihuWPllwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdvX2J0bl9sby5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgVXRpbHMuc2V0R3JleUJ1dHRvbih0aGlzLmdvX2J0bl9idG4pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSlcblxuICAgICAgICB0aGlzLmFkZEdsb2JhbEV2ZW50KFdlbGZhcmVFdmVudC5VcGRhdGVfU0hXWF9zaG93X3NjZW5lX3ZhbCwgZnVuY3Rpb24gKHNjZW5lKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jdHJsLmdldE1vZGVsKCkuZ2V0Q29sbGVjdEF3YXJkU3RhdHVzKCkgPT0gMSB8fHRoaXMuaXNfY2FuX2dldCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYod2luZG93Lnd4KXtcbiAgICAgICAgICAgICAgICB2YXIgdmFsID0gd3guZ2V0U3RvcmFnZVN5bmMoXCJpc19vcGVuX3NjZW5lXCIpO1xuICAgICAgICAgICAgICAgIGlmKHZhbCA9PSAxIHx8IChzY2VuZSAmJiAoc2NlbmUgPT0gMTAwMSB8fCBzY2VuZSA9PSAxMDg5IHx8IHNjZW5lID09IDExMDMgfHwgc2NlbmUgPT0gMTEwNCkpKXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc19jYW5fZ2V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgd3guc2V0U3RvcmFnZVN5bmMoXCJpc19vcGVuX3NjZW5lXCIsIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfS5iaW5kKHRoaXMpKVxuICAgIH0sXG5cbiAgICBjbGlja0dvQnRuQnlTSFdYOmZ1bmN0aW9uKCl7XG4gICAgICAgIGlmKHRoaXMuaXNfY2FuX2dldCA9PSB0cnVlKXtcbiAgICAgICAgICAgIGlmKHRoaXMuY3RybC5nZXRNb2RlbCgpLmdldENvbGxlY3RBd2FyZFN0YXR1cygpID09IDApe1xuICAgICAgICAgICAgICAgIHRoaXMuY3RybC5zZW5kMTY2OTYoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBtZXNzYWdlKFV0aWxzLlRJMThOKFwi6K+35YWI5pS26JeP5Yiw5oiR55qE5bCP56iL5bqPXCIpKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDpooTliLbkvZPliqDovb3lrozmiJDkuYvlkI4s5re75Yqg5Yiw5a+55bqU5Li76IqC54K55LmL5ZCO55qE5Zue6LCD5Y+v5Lul6K6+572u5LiA5Lqb5pWw5o2u5LqGXG4gICAgb25TaG93OiBmdW5jdGlvbiAocGFyYW1zKSB7XG4gICAgICAgIHRoaXMuc2V0SXRlbUxpc3QoKTtcbiAgICB9LFxuXG4gICAgc2V0SXRlbUxpc3Q6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKFBMQVRGT1JNX1RZUFIgPT0gXCJTSF9TREtcIikge1xuICAgICAgICAgICAgdmFyIGJpbmRfZGF0YSA9IHRoaXMuY3RybC5nZXRNb2RlbCgpLmdldENvbGxlY3RBd2FyZCgpO1xuICAgICAgICAgICAgaWYgKGJpbmRfZGF0YSA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICAgICAgICBmb3IgKHZhciBpIGluIGJpbmRfZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYgPSBiaW5kX2RhdGFbaV07XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLml0ZW1fbGlzdFtpXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gSXRlbXNQb29sLmdldEluc3RhbmNlKCkuZ2V0SXRlbShcImJhY2twYWNrX2l0ZW1cIik7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaW5pdENvbmZpZyhmYWxzZSwgMC43LCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBhcmVudCh0aGlzLml0ZW1fY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXREYXRhKHsgYmlkOiB2LmJpZCwgbnVtOiB2Lm51bSB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbihpbmRleCAqIDExMCAtIDExMCwgODApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1fbGlzdFtpXSA9IGl0ZW07XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaW5kZXggKyAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDpnaLmnb/orr7nva7kuI3lj6/op4HnmoTlm57osIMs6L+Z6YeM5YGa5LiA5Lqb5LiN5Y+v6KeB55qE5bGP6JS95aSE55CGXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5b2T6Z2i5p2/5LuO5Li76IqC54K56YeK5pS+5o6J55qE6LCD55So5o6l5Y+jLOmcgOimgeaJi+WKqOiwg+eUqCzogIzkuJTkuZ/kuIDlrpropoHosIPnlKhcbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmlzX3NoYXRlID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbV9saXN0KSB7XG4gICAgICAgICAgICBmb3IgKHZhciBrIGluIHRoaXMuaXRlbV9saXN0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtX2xpc3Rba10uZGVsZXRlTWUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1fbGlzdFtrXSA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLml0ZW1fbGlzdCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9LFxufSkiXX0=