|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/newfirstcharge/newfirstcharge_controller.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, '966e4GnW1BIsIjuBPIZS+yw', 'newfirstcharge_controller');
|
// Scripts/mod/newfirstcharge/newfirstcharge_controller.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里填写详细说明,主要填写该模块的功能简要
|
// <br/>Create: 2019-03-22 11:01:46
|
// --------------------------------------------------------------------
|
var NewfirstchargeController = cc.Class({
|
"extends": BaseController,
|
ctor: function ctor() {},
|
// 初始化配置数据
|
initConfig: function initConfig() {
|
var NewfirstchargeModel = require("newfirstcharge_model");
|
|
this.model = new NewfirstchargeModel();
|
this.model.initConfig();
|
},
|
// 返回当前的model
|
getModel: function getModel() {
|
return this.model;
|
},
|
// 注册监听事件
|
registerEvents: function registerEvents() {},
|
// 注册协议接受事件
|
registerProtocals: function registerProtocals() {
|
this.RegisterProtocal(21012, this.handle21012);
|
this.RegisterProtocal(21013, this.handle21013);
|
this.RegisterProtocal(21014, this.handle21014);
|
this.RegisterProtocal(21015, this.handle21015);
|
this.RegisterProtocal(21000, this.handle21000);
|
this.RegisterProtocal(21001, this.handle21001);
|
},
|
openNewFirstChargeView: function openNewFirstChargeView(bool) {
|
if (bool == true) {
|
var MainuiController = require("mainui_controller");
|
|
var MainuiConst = require("mainui_const");
|
|
var first_icon = MainuiController.getInstance().getFunctionIconById(MainuiConst.icon.first_charge_new1);
|
|
if (first_icon) {
|
if (!this.new_first_charge_window) {
|
this.new_first_charge_window = Utils.createClass("newfirstcharge1_window", this);
|
}
|
}
|
|
var first_icon1 = MainuiController.getInstance().getFunctionIconById(MainuiConst.icon.first_charge_new);
|
|
if (first_icon1) {
|
if (!this.new_first_charge_window) {
|
this.new_first_charge_window = Utils.createClass("newfirstcharge_window", this);
|
}
|
}
|
|
if (!this.new_first_charge_window) return;
|
|
var RoleController = require("role_controller");
|
|
var role_vo = RoleController.getInstance().getRoleVo();
|
var index = 1;
|
|
if (role_vo.vip_exp != 0) {
|
index = 2;
|
}
|
|
if (this.new_first_get_data) {
|
// 首充是否可以领取
|
var first_status = false;
|
|
for (var i = 1; i <= 3; i++) {
|
if (this.new_first_get_data[i - 1] && this.new_first_get_data[i - 1].status == 1) {
|
first_status = true;
|
index = 1;
|
break;
|
}
|
} // 累充是否可以领取
|
|
|
var total_status = false;
|
|
for (var i = 4; i <= 6; i++) {
|
if (this.new_first_get_data[i - 1] && this.new_first_get_data[i - 1].status == 1) {
|
total_status = true;
|
index = 2;
|
break;
|
}
|
}
|
|
if (first_status == true && total_status == true) {
|
index = 1;
|
}
|
}
|
|
this.new_first_charge_window.open(index);
|
} else {
|
if (this.new_first_charge_window) {
|
this.new_first_charge_window.close();
|
this.new_first_charge_window = null;
|
}
|
}
|
},
|
// 信息
|
sender21012: function sender21012() {
|
this.SendProtocal(21012, {});
|
},
|
handle21012: function handle21012(data) {
|
this.new_first_get_data = data.first_gift; //首充是否可领取的数据
|
|
this.model.setFirstBtnStatus(data.first_gift);
|
|
var NewFirstChargeEvent = require("newfirstcharge_event");
|
|
gcore.GlobalEvent.fire(NewFirstChargeEvent.New_First_Charge_Event, data);
|
},
|
// 领取
|
sender21013: function sender21013(id) {
|
var proto = {};
|
proto.id = id;
|
this.SendProtocal(21013, proto);
|
},
|
handle21013: function handle21013(data) {
|
message(data.msg);
|
},
|
// 自选英雄
|
sender21014: function sender21014(id) {
|
var proto = {};
|
proto.id = id;
|
this.SendProtocal(21014, proto);
|
},
|
handle21014: function handle21014(data) {
|
message(data.msg);
|
},
|
// 每日礼包红点
|
handle21015: function handle21015(data) {
|
if (data.open_id && Utils.next(data.open_id) != null) {// WelfareController.getInstance().getModel().updateDailyGiftRedStatus(true)
|
}
|
},
|
//新版首充礼包信息
|
sender21000: function sender21000() {
|
this.SendProtocal(21000, {});
|
},
|
handle21000: function handle21000(data) {
|
this.new_first_get_data = data.first_gift; //--首充是否可领取的数据
|
|
this.model.setFirstBtnNewStatus(data.first_gift);
|
|
var NewFirstChargeEvent = require("newfirstcharge_event");
|
|
gcore.GlobalEvent.fire(NewFirstChargeEvent.New_First_Charge_Event, data);
|
},
|
//--领取新版首冲礼包
|
sender21001: function sender21001(id) {
|
var protocal = {};
|
protocal.id = id;
|
this.SendProtocal(21001, protocal);
|
},
|
handle21001: function handle21001(data) {
|
message(data.msg);
|
},
|
getNewFirstChargeView: function getNewFirstChargeView() {
|
return this.new_first_charge_window;
|
},
|
__delete: function __delete() {// if(this.model != null){
|
// this.model.DeleteMe();
|
// this.model = null;
|
// }
|
}
|
});
|
module.exports = NewfirstchargeController;
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxuZXdmaXJzdGNoYXJnZVxcbmV3Zmlyc3RjaGFyZ2VfY29udHJvbGxlci5qcyJdLCJuYW1lcyI6WyJOZXdmaXJzdGNoYXJnZUNvbnRyb2xsZXIiLCJjYyIsIkNsYXNzIiwiQmFzZUNvbnRyb2xsZXIiLCJjdG9yIiwiaW5pdENvbmZpZyIsIk5ld2ZpcnN0Y2hhcmdlTW9kZWwiLCJyZXF1aXJlIiwibW9kZWwiLCJnZXRNb2RlbCIsInJlZ2lzdGVyRXZlbnRzIiwicmVnaXN0ZXJQcm90b2NhbHMiLCJSZWdpc3RlclByb3RvY2FsIiwiaGFuZGxlMjEwMTIiLCJoYW5kbGUyMTAxMyIsImhhbmRsZTIxMDE0IiwiaGFuZGxlMjEwMTUiLCJoYW5kbGUyMTAwMCIsImhhbmRsZTIxMDAxIiwib3Blbk5ld0ZpcnN0Q2hhcmdlVmlldyIsImJvb2wiLCJNYWludWlDb250cm9sbGVyIiwiTWFpbnVpQ29uc3QiLCJmaXJzdF9pY29uIiwiZ2V0SW5zdGFuY2UiLCJnZXRGdW5jdGlvbkljb25CeUlkIiwiaWNvbiIsImZpcnN0X2NoYXJnZV9uZXcxIiwibmV3X2ZpcnN0X2NoYXJnZV93aW5kb3ciLCJVdGlscyIsImNyZWF0ZUNsYXNzIiwiZmlyc3RfaWNvbjEiLCJmaXJzdF9jaGFyZ2VfbmV3IiwiUm9sZUNvbnRyb2xsZXIiLCJyb2xlX3ZvIiwiZ2V0Um9sZVZvIiwiaW5kZXgiLCJ2aXBfZXhwIiwibmV3X2ZpcnN0X2dldF9kYXRhIiwiZmlyc3Rfc3RhdHVzIiwiaSIsInN0YXR1cyIsInRvdGFsX3N0YXR1cyIsIm9wZW4iLCJjbG9zZSIsInNlbmRlcjIxMDEyIiwiU2VuZFByb3RvY2FsIiwiZGF0YSIsImZpcnN0X2dpZnQiLCJzZXRGaXJzdEJ0blN0YXR1cyIsIk5ld0ZpcnN0Q2hhcmdlRXZlbnQiLCJnY29yZSIsIkdsb2JhbEV2ZW50IiwiZmlyZSIsIk5ld19GaXJzdF9DaGFyZ2VfRXZlbnQiLCJzZW5kZXIyMTAxMyIsImlkIiwicHJvdG8iLCJtZXNzYWdlIiwibXNnIiwic2VuZGVyMjEwMTQiLCJvcGVuX2lkIiwibmV4dCIsInNlbmRlcjIxMDAwIiwic2V0Rmlyc3RCdG5OZXdTdGF0dXMiLCJzZW5kZXIyMTAwMSIsInByb3RvY2FsIiwiZ2V0TmV3Rmlyc3RDaGFyZ2VWaWV3IiwiX19kZWxldGUiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUlBLHdCQUF3QixHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUNwQyxhQUFTQyxjQUQyQjtBQUVwQ0MsRUFBQUEsSUFBSSxFQUFFLGdCQUFZLENBQ2pCLENBSG1DO0FBS3BDO0FBQ0FDLEVBQUFBLFVBQVUsRUFBRSxzQkFBWTtBQUNwQixRQUFJQyxtQkFBbUIsR0FBR0MsT0FBTyxDQUFDLHNCQUFELENBQWpDOztBQUVBLFNBQUtDLEtBQUwsR0FBYSxJQUFJRixtQkFBSixFQUFiO0FBQ0EsU0FBS0UsS0FBTCxDQUFXSCxVQUFYO0FBQ0gsR0FYbUM7QUFhcEM7QUFDQUksRUFBQUEsUUFBUSxFQUFFLG9CQUFZO0FBQ2xCLFdBQU8sS0FBS0QsS0FBWjtBQUNILEdBaEJtQztBQWtCcEM7QUFDQUUsRUFBQUEsY0FBYyxFQUFFLDBCQUFZLENBQzNCLENBcEJtQztBQXNCcEM7QUFDQUMsRUFBQUEsaUJBQWlCLEVBQUUsNkJBQVk7QUFDM0IsU0FBS0MsZ0JBQUwsQ0FBc0IsS0FBdEIsRUFBNkIsS0FBS0MsV0FBbEM7QUFDQSxTQUFLRCxnQkFBTCxDQUFzQixLQUF0QixFQUE2QixLQUFLRSxXQUFsQztBQUNBLFNBQUtGLGdCQUFMLENBQXNCLEtBQXRCLEVBQTZCLEtBQUtHLFdBQWxDO0FBQ0EsU0FBS0gsZ0JBQUwsQ0FBc0IsS0FBdEIsRUFBNkIsS0FBS0ksV0FBbEM7QUFDQSxTQUFLSixnQkFBTCxDQUFzQixLQUF0QixFQUE2QixLQUFLSyxXQUFsQztBQUNBLFNBQUtMLGdCQUFMLENBQXNCLEtB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S3ZDLHVCQUFaO0FBQ0gsR0FuSm1DO0FBb0pwQ3dDLEVBQUFBLFFBQVEsRUFBQyxvQkFBVSxDQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0g7QUF6Sm1DLENBQVQsQ0FBL0I7QUE2SkFDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQnRFLHdCQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgICDov5nph4zloavlhpnor6bnu4bor7TmmI4s5Li76KaB5aGr5YaZ6K+l5qih5Z2X55qE5Yqf6IO9566A6KaBXG4vLyA8YnIvPkNyZWF0ZTogMjAxOS0wMy0yMiAxMTowMTo0NlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBOZXdmaXJzdGNoYXJnZUNvbnRyb2xsZXIgPSBjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogQmFzZUNvbnRyb2xsZXIsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgIH0sXG5cbiAgICAvLyDliJ3lp4vljJbphY3nva7mlbDmja5cbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBOZXdmaXJzdGNoYXJnZU1vZGVsID0gcmVxdWlyZShcIm5ld2ZpcnN0Y2hhcmdlX21vZGVsXCIpO1xuXG4gICAgICAgIHRoaXMubW9kZWwgPSBuZXcgTmV3Zmlyc3RjaGFyZ2VNb2RlbCgpO1xuICAgICAgICB0aGlzLm1vZGVsLmluaXRDb25maWcoKTtcbiAgICB9LFxuXG4gICAgLy8g6L+U5Zue5b2T5YmN55qEbW9kZWxcbiAgICBnZXRNb2RlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM55uR5ZCs5LqL5Lu2XG4gICAgcmVnaXN0ZXJFdmVudHM6IGZ1bmN0aW9uICgpIHtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5Y2P6K6u5o6l5Y+X5LqL5Lu2XG4gICAgcmVnaXN0ZXJQcm90b2NhbHM6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDEyLCB0aGlzLmhhbmRsZTIxMDEyKTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDEzLCB0aGlzLmhhbmRsZTIxMDEzKTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDE0LCB0aGlzLmhhbmRsZTIxMDE0KTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDE1LCB0aGlzLmhhbmRsZTIxMDE1KTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDAwLCB0aGlzLmhhbmRsZTIxMDAwKVxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjEwMDEsdGhpcy5oYW5kbGUyMTAwMSlcbiAgICB9LFxuXG4gICAgb3Blbk5ld0ZpcnN0Q2hhcmdlVmlldzpmdW5jdGlvbihib29sKXtcbiAgICAgICAgaWYoYm9vbCA9PSB0cnVlKXtcbiAgICAgICAgICAgIHZhciBNYWludWlDb250cm9sbGVyID0gcmVxdWlyZShcIm1haW51aV9jb250cm9sbGVyXCIpXG4gICAgICAgICAgICB2YXIgTWFpbnVpQ29uc3QgPSByZXF1aXJlKFwibWFpbnVpX2NvbnN0XCIpXG4gICAgICAgICAgICBsZXQgZmlyc3RfaWNvbiA9IE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRGdW5jdGlvbkljb25CeUlkKE1haW51aUNvbnN0Lmljb24uZmlyc3RfY2hhcmdlX25ldzEpXG4gICAgICAgICAgICBpZihmaXJzdF9pY29uKXtcbiAgICAgICAgICAgICAgICBpZighdGhpcy5uZXdfZmlyc3RfY2hhcmdlX3dpbmRvdyl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cgPSBVdGlscy5jcmVhdGVDbGFzcyhcIm5ld2ZpcnN0Y2hhcmdlMV93aW5kb3dcIix0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZmlyc3RfaWNvbjEgPSBNYWludWlDb250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0RnVuY3Rpb25JY29uQnlJZChNYWludWlDb25zdC5pY29uLmZpcnN0X2NoYXJnZV9uZXcpXG4gICAgICAgICAgICBpZihmaXJzdF9pY29uMSl7XG4gICAgICAgICAgICAgICAgaWYoIXRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cpe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ld19maXJzdF9jaGFyZ2Vfd2luZG93ID0gVXRpbHMuY3JlYXRlQ2xhc3MoXCJuZXdmaXJzdGNoYXJnZV93aW5kb3dcIix0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZighdGhpcy5uZXdfZmlyc3RfY2hhcmdlX3dpbmRvdykgcmV0dXJuXG4gICAgICAgICAgICB2YXIgUm9sZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwicm9sZV9jb250cm9sbGVyXCIpO1xuICAgICAgICAgICAgdmFyIHJvbGVfdm8gPSBSb2xlQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmdldFJvbGVWbygpO1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gMTtcbiAgICAgICAgICAgIGlmKHJvbGVfdm8udmlwX2V4cCE9MCl7XG4gICAgICAgICAgICAgICAgaW5kZXggPSAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYodGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGEpe1xuICAgICAgICAgICAgICAgIC8vIOmmluWFheaYr+WQpuWPr+S7pemihuWPllxuICAgICAgICAgICAgICAgIHZhciBmaXJzdF9zdGF0dXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb3IodmFyIGkgPSAxO2k8PTM7aSsrKXtcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGFbaS0xXSAmJiB0aGlzLm5ld19maXJzdF9nZXRfZGF0YVtpLTFdLnN0YXR1cyA9PSAxKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0X3N0YXR1cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyDntK/lhYXmmK/lkKblj6/ku6Xpooblj5ZcbiAgICAgICAgICAgICAgICB2YXIgdG90YWxfc3RhdHVzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9yKHZhciBpID0gNDtpPD02O2krKyl7XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubmV3X2ZpcnN0X2dldF9kYXRhW2ktMV0gJiYgdGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGFbaS0xXS5zdGF0dXMgPT0gMSl7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9zdGF0dXMgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZihmaXJzdF9zdGF0dXMgPT0gdHJ1ZSAmJiB0b3RhbF9zdGF0dXMgPT0gdHJ1ZSl7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm5ld19maXJzdF9jaGFyZ2Vfd2luZG93Lm9wZW4oaW5kZXgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGlmKHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cpe1xuICAgICAgICAgICAgICAgIHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5ld19maXJzdF9jaGFyZ2Vfd2luZG93ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyAg5L+h5oGvXG4gICAgc2VuZGVyMjEwMTI6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMjEwMTIse30pO1xuICAgIH0sXG5cbiAgICBoYW5kbGUyMTAxMjpmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgdGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGEgPSBkYXRhLmZpcnN0X2dpZnQ7IC8v6aaW5YWF5piv5ZCm5Y+v6aKG5Y+W55qE5pWw5o2uXG4gICAgICAgIHRoaXMubW9kZWwuc2V0Rmlyc3RCdG5TdGF0dXMoZGF0YS5maXJzdF9naWZ0KTtcbiAgICAgICAgdmFyIE5ld0ZpcnN0Q2hhcmdlRXZlbnQgPSByZXF1aXJlKFwibmV3Zmlyc3RjaGFyZ2VfZXZlbnRcIik7XG4gICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoTmV3Rmlyc3RDaGFyZ2VFdmVudC5OZXdfRmlyc3RfQ2hhcmdlX0V2ZW50LCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy8g6aKG5Y+WXG4gICAgc2VuZGVyMjEwMTM6ZnVuY3Rpb24oaWQpe1xuICAgICAgICB2YXIgcHJvdG8gPSB7fVxuICAgICAgICBwcm90by5pZCA9IGlkXG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDIxMDEzLHByb3RvKVxuICAgIH0sXG5cbiAgICBoYW5kbGUyMTAxMzpmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgbWVzc2FnZShkYXRhLm1zZyk7XG4gICAgfSxcbiAgICBcbiAgICAvLyDoh6rpgInoi7Hpm4RcbiAgICBzZW5kZXIyMTAxNDpmdW5jdGlvbihpZCl7XG4gICAgICAgIHZhciBwcm90byA9IHt9O1xuICAgICAgICBwcm90by5pZCA9IGlkO1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgyMTAxNCxwcm90byk7XG4gICAgfSxcblxuICAgIGhhbmRsZTIxMDE0OmZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICBtZXNzYWdlKGRhdGEubXNnKVxuICAgIH0sXG4gICAgLy8gIOavj+aXpeekvOWMhee6oueCuVxuICAgIGhhbmRsZTIxMDE1OmZ1bmN0aW9uKCBkYXRhICl7XG4gICAgICAgIGlmKGRhdGEub3Blbl9pZCAmJiBVdGlscy5uZXh0KGRhdGEub3Blbl9pZCkhPW51bGwpe1xuICAgICAgICAgICAgLy8gV2VsZmFyZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRNb2RlbCgpLnVwZGF0ZURhaWx5R2lmdFJlZFN0YXR1cyh0cnVlKVxuICAgICAgICB9XG4gICAgfSxcbiAgICAvL+aWsOeJiOmmluWFheekvOWMheS/oeaBr1xuICAgIHNlbmRlcjIxMDAwKCl7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDIxMDAwLCB7fSlcbiAgICB9LFxuICAgIGhhbmRsZTIxMDAwKGRhdGEpe1xuICAgICAgICB0aGlzLm5ld19maXJzdF9nZXRfZGF0YSA9IGRhdGEuZmlyc3RfZ2lmdCAvLy0t6aaW5YWF5piv5ZCm5Y+v6aKG5Y+W55qE5pWw5o2uXG4gICAgICAgIHRoaXMubW9kZWwuc2V0Rmlyc3RCdG5OZXdTdGF0dXMoZGF0YS5maXJzdF9naWZ0KVxuICAgICAgICB2YXIgTmV3Rmlyc3RDaGFyZ2VFdmVudCA9IHJlcXVpcmUoXCJuZXdmaXJzdGNoYXJnZV9ldmVudFwiKTtcbiAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShOZXdGaXJzdENoYXJnZUV2ZW50Lk5ld19GaXJzdF9DaGFyZ2VfRXZlbnQsZGF0YSlcbiAgICB9LFxuICAgIC8vLS3pooblj5bmlrDniYjpppblhrLnpLzljIVcbiAgICBzZW5kZXIyMTAwMShpZCl7XG4gICAgICAgIGxldCBwcm90b2NhbCA9IHt9XG4gICAgICAgIHByb3RvY2FsLmlkID0gaWRcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMjEwMDEsIHByb3RvY2FsKVxuICAgIH0sXG4gICAgaGFuZGxlMjEwMDEoZGF0YSl7XG4gICAgICAgIG1lc3NhZ2UoZGF0YS5tc2cpXG4gICAgfSxcbiAgICBnZXROZXdGaXJzdENoYXJnZVZpZXcoKXtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3dcbiAgICB9LFxuICAgIF9fZGVsZXRlOmZ1bmN0aW9uKCl7XG4gICAgICAgIC8vIGlmKHRoaXMubW9kZWwgIT0gbnVsbCl7XG4gICAgICAgIC8vICAgICB0aGlzLm1vZGVsLkRlbGV0ZU1lKCk7XG4gICAgICAgIC8vICAgICB0aGlzLm1vZGVsID0gbnVsbDtcbiAgICAgICAgLy8gfVxuICAgIH1cblxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gTmV3Zmlyc3RjaGFyZ2VDb250cm9sbGVyOyJdfQ==
|