|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/chat/chat_help.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, 'b8dad4p7HVK56rHB0f6D8ny', 'chat_help');
|
// Scripts/mod/chat/chat_help.js
|
|
"use strict";
|
|
var ChatConst = require("chat_const");
|
|
var ChatItemController = require("chat_item_controller");
|
|
var BattleController = require("battle_controller");
|
|
var MainuiController = require("mainui_controller");
|
|
var MainuiConst = require("mainui_const");
|
|
var ChatHelp = cc.Class({
|
ctor: function ctor() {
|
this.chat_item_ctrl = ChatItemController.getInstance();
|
},
|
onChatTouched: function onChatTouched(type, content, role_data) {
|
if (!type || !content) return;
|
var list = content.split("|");
|
|
if (type == ChatConst.Link.Item_Show) {
|
// 物品展示
|
var srv_id = list[1];
|
var share_id = list[2] || 0;
|
this.chat_item_ctrl.sender10536(share_id, srv_id);
|
} else if (type == ChatConst.Link.Guild_Join) {
|
// 加入公会
|
require("guild_controller").getInstance().requestJoinGuild(Number(list[1]), list[2], 1);
|
} else if (type == ChatConst.Link.Open_Vedio_info) {
|
//录像馆分享
|
var vedio_id = list[1] || 0;
|
var svr_id = list[2] || "";
|
|
var _type = list[3] || 0;
|
|
var channel = role_data.channel || ChatConst.Channel.World;
|
|
var VedioController = require("vedio_controller");
|
|
VedioController.getInstance().send19908(vedio_id, svr_id, _type, channel);
|
} else if (type == 5 || type == ChatConst.Link.Watch_Ladder) {
|
//战斗录像查看
|
var is_in_fight = BattleController.getInstance().isInFight(); // 战斗中不给弹出二级提示,因为可能新手阶段点开挡住引导了
|
|
if (is_in_fight == true) {
|
message(Utils.TI18N("正在战斗中或者观看录像中,无法观看录像"));
|
return;
|
}
|
|
var fun = function (list, type) {
|
if (list[1]) {
|
if (!BattleController.getInstance().isInFight() && !BattleController.getInstance().getWatchReplayStatus()) {
|
if (type == ChatConst.Link.Watch_Ladder) {
|
BattleController.getInstance().csRecordBattle(parseInt(list[2]), list[1]);
|
} else {
|
BattleController.getInstance().csRecordBattle(parseInt(list[1]));
|
}
|
} else {
|
message(Utils.TI18N("正在战斗中或者观看录像中,无法观看录像"));
|
}
|
}
|
}.bind(this, list, type);
|
|
var str = Utils.TI18N("是否前往查看该录像");
|
var ok_btn = Utils.TI18N("确定");
|
var cancel_btn = Utils.TI18N("取消");
|
|
var CommonAlert = require("commonalert");
|
|
CommonAlert.show(str, ok_btn, fun, cancel_btn);
|
} else if (type == 29) {
|
var hero_id = parseInt(list[2]) || 0;
|
|
var LookController = require("look_controller");
|
|
if (role_data && role_data.role_list && role_data.role_list[0]) {
|
LookController.getInstance().sender11062(hero_id, role_data.role_list[0].srv_id);
|
}
|
} else if (type == 35) {
|
var ChatController = require("chat_controller");
|
|
ChatController.getInstance().closeChatPanel();
|
var id = parseInt(list[1]) || 0;
|
|
var WelfareController = require("welfare_controller");
|
|
WelfareController.getInstance().openMainWindow(true, id);
|
} else if (type == 36) {
|
var ChatController = require("chat_controller");
|
|
ChatController.getInstance().closeChatPanel();
|
|
var WelfareController = require("welfare_controller");
|
|
var yueka_status = WelfareController.getInstance().getModel().getYuekaStatus();
|
|
if (yueka_status == true) {} else {
|
var _VipController = require("vip_controller");
|
|
_VipController.getInstance().openVipMainWindow(true);
|
}
|
} else if (type == 37) {
|
var ChatController = require("chat_controller");
|
|
ChatController.getInstance().closeChatPanel();
|
var is_open = MainuiController.getInstance().checkMainFunctionOpenStatus(MainuiConst.icon.first_charge, MainuiConst.function_type.other, false);
|
|
if (is_open == true) {
|
var first_icon = MainuiController.getInstance().getFunctionIconById(MainuiConst.icon.first_charge);
|
var first_icon1 = MainuiController.getInstance().getFunctionIconById(MainuiConst.icon.first_charge_new1);
|
|
if (first_icon || first_icon1) {
|
var NewfirstchargeController = require("newfirstcharge_controller");
|
|
NewfirstchargeController.getInstance().openNewFirstChargeView(true);
|
} else {
|
var VipController = require("vip_controller");
|
|
VipController.getInstance().openVipMainWindow(true);
|
}
|
}
|
} else if (type == 54) {
|
var ActionController = require("action_controller");
|
|
var ActionConst = require("action_const");
|
|
var ChatController = require("chat_controller");
|
|
ActionController.getInstance().openActionMainPanel(true, null, ActionConst.ActionRankCommonType.time_summon);
|
ChatController.getInstance().closeChatPanel();
|
} else if (type == 66) {
|
var ActionController = require("action_controller");
|
|
var ActionConst = require("action_const");
|
|
var ChatController = require("chat_controller");
|
|
ActionController.getInstance().openActionMainPanel(true, null, ActionConst.ActionRankCommonType.elite_summon);
|
ChatController.getInstance().closeChatPanel();
|
} else if (type == 42) {
|
//竞技场跳转
|
var ChatController = require("chat_controller");
|
|
ChatController.getInstance().closeChatPanel();
|
|
var MainSceneController = require("mainscene_controller");
|
|
var SceneConst = require("scene_const");
|
|
var build_vo = MainSceneController.getInstance().getBuildVo(SceneConst.CenterSceneBuild.arena);
|
|
if (build_vo && build_vo.is_lock) {
|
message(build_vo.desc);
|
return;
|
}
|
|
MainuiController.getInstance().changeMainUIStatus(MainuiConst.btn_index.main_scene, MainuiConst.sub_type.arena_call);
|
}
|
}
|
});
|
|
ChatHelp.getInstance = function () {
|
if (!ChatHelp.instance) {
|
ChatHelp.instance = new ChatHelp();
|
}
|
|
return ChatHelp.instance;
|
};
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxjaGF0XFxjaGF0X2hlbHAuanMiXSwibmFtZXMiOlsiQ2hhdENvbnN0IiwicmVxdWlyZSIsIkNoYXRJdGVtQ29udHJvbGxlciIsIkJhdHRsZUNvbnRyb2xsZXIiLCJNYWludWlDb250cm9sbGVyIiwiTWFpbnVpQ29uc3QiLCJDaGF0SGVscCIsImNjIiwiQ2xhc3MiLCJjdG9yIiwiY2hhdF9pdGVtX2N0cmwiLCJnZXRJbnN0YW5jZSIsIm9uQ2hhdFRvdWNoZWQiLCJ0eXBlIiwiY29udGVudCIsInJvbGVfZGF0YSIsImxpc3QiLCJzcGxpdCIsIkxpbmsiLCJJdGVtX1Nob3ciLCJzcnZfaWQiLCJzaGFyZV9pZCIsInNlbmRlcjEwNTM2IiwiR3VpbGRfSm9pbiIsInJlcXVlc3RKb2luR3VpbGQiLCJOdW1iZXIiLCJPcGVuX1ZlZGlvX2luZm8iLCJ2ZWRpb19pZCIsInN2cl9pZCIsIl90eXBlIiwiY2hhbm5lbCIsIkNoYW5uZWwiLCJXb3JsZCIsIlZlZGlvQ29udHJvbGxlciIsInNlbmQxOTkwOCIsIldhdGNoX0xhZGRlciIsImlzX2luX2ZpZ2h0IiwiaXNJbkZpZ2h0IiwibWVzc2FnZSIsIlV0aWxzIiwiVEkxOE4iLCJmdW4iLCJnZXRXYXRjaFJlcGxheVN0YXR1cyIsImNzUmVjb3JkQmF0dGxlIiwicGFyc2VJbnQiLCJiaW5kIiwic3RyIiwib2tfYnRuIiwiY2FuY2VsX2J0biIsIkNvbW1vbkFsZXJ0Iiwic2hvdyIsImhlcm9faWQiLCJMb29rQ29udHJvbGxlciIsInJvbGVfbGlzdCIsInNlbmRlcjExMDYyIiwiQ2hhdENvbnRyb2xsZXIiLCJjbG9zZUNoYXRQYW5lbCIsImlkIiwiV2VsZmFyZUNvbnRyb2xsZXIiLCJvcGVuTWFpbldpbmRvdyIsInl1ZWthX3N0YXR1cyIsImdldE1vZGVsIiwiZ2V0WXVla2FTdGF0dXMiLCJWaXBDb250cm9sbGVyIiwib3BlblZpcE1haW5XaW5kb3ciLCJpc19vcGVuIiwiY2hlY2tNYWluRnVuY3Rpb25PcGVuU3RhdHVzIiwiaWNvbiIsImZpcnN0X2NoYXJnZSIsImZ1bmN0aW9uX3R5cGUiLCJvdGhlciIsImZpcnN0X2ljb24iLCJnZXRGdW5jdGlvbkljb25CeUlkIiwiZmlyc3RfaWNvbjEiLCJmaXJzdF9jaGFyZ2VfbmV3MSIsIk5ld2ZpcnN0Y2hhcmdlQ29udHJvbGxlciIsIm9wZW5OZXdGaXJzdENoYXJnZVZpZXciLCJBY3Rpb25Db250cm9sbGVyIiwiQWN0aW9uQ29uc3QiLCJvcGVuQWN0aW9uTWFpblBhbmVsIiwiQWN0aW9uUmFua0NvbW1vblR5cGUiLCJ0aW1lX3N1bW1vbiIsImVsaXRlX3N1bW1vbiIsIk1haW5TY2VuZUNvbnRyb2xsZXIiLCJTY2VuZUNvbnN0IiwiYnVpbGRfdm8iLCJnZXRCdWlsZFZvIiwiQ2VudGVyU2NlbmVCdWlsZCIsImFyZW5hIiwiaXNfbG9jayIsImRlc2MiLCJjaGFuZ2VNYWluVUlTdGF0dXMiLCJidG5faW5kZXgiLCJtYWluX3NjZW5lIiwic3ViX3R5cGUiLCJhcmVuYV9jYWxsIiwiaW5zdGFuY2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBSUEsU0FBUyxHQUFHQyxPQUFPLENBQUMsWUFBRCxDQUF2Qjs7QUFDQSxJQUFJQyxrQkFBa0IsR0FBR0QsT0FBTyxDQUFDLHNCQUFELENBQWhDOztBQUNBLElBQUlFLGdCQUFnQixHQUFHRixPQUFPLENBQUMsbUJBQUQsQ0FBOUI7O0FBQ0EsSUFBSUcsZ0JBQWdCLEdBQUdILE9BQU8sQ0FBQyxtQkFBRCxDQUE5Qjs7QUFDQSxJQUFJSSxXQUFXLEdBQUdKLE9BQU8sQ0FBQyxjQUFELENBQXpCOztBQUVBLElBQUlLLFFBQVEsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFFdkJDLEVBQUFBLElBQUksRUFBRSxnQkFBVztBQUNWLFNBQUtDLGNBQUwsR0FBc0JSLGtCQUFrQixDQUFDUyxXQUFuQixFQUF0QjtBQUNOLEdBSnNCO0FBTXZCQyxFQUFBQSxhQUFhLEVBQUUsdUJBQVNDLElB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LENBQUNLLFdBQVQsR0FBdUIsWUFBWTtBQUMvQixNQUFJLENBQUNMLFFBQVEsQ0FBQzBGLFFBQWQsRUFBd0I7QUFDcEIxRixJQUFBQSxRQUFRLENBQUMwRixRQUFULEdBQW9CLElBQUkxRixRQUFKLEVBQXBCO0FBQ0g7O0FBQ0QsU0FBT0EsUUFBUSxDQUFDMEYsUUFBaEI7QUFDSCxDQUxEIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgQ2hhdENvbnN0ID0gcmVxdWlyZShcImNoYXRfY29uc3RcIilcclxudmFyIENoYXRJdGVtQ29udHJvbGxlciA9IHJlcXVpcmUoXCJjaGF0X2l0ZW1fY29udHJvbGxlclwiKTtcclxudmFyIEJhdHRsZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwiYmF0dGxlX2NvbnRyb2xsZXJcIik7XHJcbnZhciBNYWludWlDb250cm9sbGVyID0gcmVxdWlyZShcIm1haW51aV9jb250cm9sbGVyXCIpO1xyXG52YXIgTWFpbnVpQ29uc3QgPSByZXF1aXJlKFwibWFpbnVpX2NvbnN0XCIpO1xyXG5cclxudmFyIENoYXRIZWxwID0gY2MuQ2xhc3Moe1xyXG5cclxuXHRjdG9yOiBmdW5jdGlvbigpIHtcclxuICAgICAgICB0aGlzLmNoYXRfaXRlbV9jdHJsID0gQ2hhdEl0ZW1Db250cm9sbGVyLmdldEluc3RhbmNlKCk7XHRcdFxyXG5cdH0sXHJcblxyXG5cdG9uQ2hhdFRvdWNoZWQ6IGZ1bmN0aW9uKHR5cGUsIGNvbnRlbnQscm9sZV9kYXRhKSB7XHJcblx0XHRcclxuXHRcdGlmICghdHlwZSB8fCAhY29udGVudCkgcmV0dXJuO1xyXG5cdFx0dmFyIGxpc3QgPSBjb250ZW50LnNwbGl0KFwifFwiKTtcclxuXHRcdGlmICh0eXBlID09IENoYXRDb25zdC5MaW5rLkl0ZW1fU2hvdykgeyAgICAgICAgICAgICAgICAgICAgICAvLyDnianlk4HlsZXnpLpcclxuXHRcdFx0dmFyIHNydl9pZCA9IGxpc3RbMV07XHJcblx0XHRcdHZhciBzaGFyZV9pZCA9IGxpc3RbMl0gfHwgMDtcclxuXHRcdFx0dGhpcy5jaGF0X2l0ZW1fY3RybC5zZW5kZXIxMDUzNihzaGFyZV9pZCwgc3J2X2lkKTtcclxuXHRcdH0gZWxzZSBpZiAodHlwZSA9PSBDaGF0Q29uc3QuTGluay5HdWlsZF9Kb2luKSB7ICAgICAgICAgICAgICAvLyDliqDlhaXlhazkvJpcclxuXHRcdFx0cmVxdWlyZShcImd1aWxkX2NvbnRyb2xsZXJcIikuZ2V0SW5zdGFuY2UoKS5yZXF1ZXN0Sm9pbkd1aWxkKE51bWJlcihsaXN0WzFdKSwgbGlzdFsyXSwgMSk7XHJcblx0XHR9ZWxzZSBpZiAodHlwZSA9PSBDaGF0Q29uc3QuTGluay5PcGVuX1ZlZGlvX2luZm8pe1x0XHRcdC8v5b2V5YOP6aaG5YiG5LqrXHJcblx0XHRcdGxldCB2ZWRpb19pZCA9IGxpc3RbMV0gfHwgMFxyXG4gICAgICAgICAgICBsZXQgc3ZyX2lkID0gbGlzdFsyXSB8fCBcIlwiXHJcbiAgICAgICAgICAgIGxldCBfdHlwZSA9ICBsaXN0WzNdIHx8IDBcclxuXHRcdFx0bGV0IGNoYW5uZWwgPSByb2xlX2RhdGEuY2hhbm5lbCB8fCBDaGF0Q29uc3QuQ2hhbm5lbC5Xb3JsZFxyXG5cdFx0XHR2YXIgVmVkaW9Db250cm9sbGVyID0gcmVxdWlyZShcInZlZGlvX2NvbnRyb2xsZXJcIilcclxuICAgICAgICAgICAgVmVkaW9Db250cm9sbGVyLmdldEluc3RhbmNlKCkuc2VuZDE5OTA4KCB2ZWRpb19pZCwgc3ZyX2lkLCBfdHlwZSwgY2hhbm5lbCApXHJcblx0XHR9ZWxzZSBpZih0eXBlID09IDUgfHwgdHlwZSA9PSBDaGF0Q29uc3QuTGluay5XYXRjaF9MYWRkZXIpey8v5oiY5paX5b2V5YOP5p+l55yLXHJcblx0XHRcdHZhciBpc19pbl9maWdodCA9IEJhdHRsZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5pc0luRmlnaHQoKTsgLy8g5oiY5paX5Lit5LiN57uZ5by55Ye65LqM57qn5o+Q56S6LOWboOS4uuWPr+iDveaWsOaJi+mYtuauteeCueW8gOaMoeS9j+W8leWvvOS6hlxyXG5cdFx0XHRpZihpc19pbl9maWdodCA9PSB0cnVlKXtcclxuXHRcdFx0XHRtZXNzYWdlKFV0aWxzLlRJMThOKFwi5q2j5Zyo5oiY5paX5Lit5oiW6ICF6KeC55yL5b2V5YOP5Lit77yM5peg5rOV6KeC55yL5b2V5YOPXCIpKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dmFyIGZ1biA9IGZ1bmN0aW9uKGxpc3QsdHlwZSl7XHJcblx0XHRcdFx0aWYobGlzdFsxXSl7XHJcblx0XHRcdFx0XHRpZighQmF0dGxlQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmlzSW5GaWdodCgpICYmICFCYXR0bGVDb250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0V2F0Y2hSZXBsYXlTdGF0dXMoKSl7XHJcblx0XHRcdFx0XHRcdGlmKHR5cGUgPT0gQ2hhdENvbnN0LkxpbmsuV2F0Y2hfTGFkZGVyKXtcclxuXHRcdFx0XHRcdFx0XHRCYXR0bGVDb250cm9sbGVyLmdldEluc3RhbmNlKCkuY3NSZWNvcmRCYXR0bGUocGFyc2VJbnQobGlzdFsyXSksIGxpc3RbMV0pXHJcblx0XHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHRcdEJhdHRsZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5jc1JlY29yZEJhdHRsZShwYXJzZUludChsaXN0WzFdKSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdG1lc3NhZ2UoVXRpbHMuVEkxOE4oXCLmraPlnKjmiJjmlpfkuK3miJbogIXop4LnnIvlvZXlg4/kuK3vvIzml6Dms5Xop4LnnIvlvZXlg49cIikpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fS5iaW5kKHRoaXMsbGlzdCx0eXBlKTtcclxuXHRcdFx0dmFyIHN0ciA9IFV0aWxzLlRJMThOKFwi5piv5ZCm5YmN5b6A5p+l55yL6K+l5b2V5YOPXCIpO1xyXG4gICAgICAgICAgICB2YXIgb2tfYnRuPSBVdGlscy5USTE4TihcIuehruWumlwiKTtcclxuXHRcdFx0dmFyIGNhbmNlbF9idG49IFV0aWxzLlRJMThOKFwi5Y+W5raIXCIpO1xyXG5cdFx0XHR2YXIgQ29tbW9uQWxlcnQgPSByZXF1aXJlKFwiY29tbW9uYWxlcnRcIik7XHJcblx0XHRcdENvbW1vbkFsZXJ0LnNob3coc3RyLG9rX2J0bixmdW4sY2FuY2VsX2J0bik7XHJcblx0XHR9ZWxzZSBpZih0eXBlID09IDI5ICl7XHJcblx0XHRcdHZhciBoZXJvX2lkID0gcGFyc2VJbnQobGlzdFsyXSkgfHwgMDtcclxuXHRcdFx0dmFyIExvb2tDb250cm9sbGVyID0gcmVxdWlyZShcImxvb2tfY29udHJvbGxlclwiKTtcclxuXHRcdFx0aWYocm9sZV9kYXRhICYmIHJvbGVfZGF0YS5yb2xlX2xpc3QgJiYgcm9sZV9kYXRhLnJvbGVfbGlzdFswXSl7XHJcblx0XHRcdFx0TG9va0NvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5zZW5kZXIxMTA2MihoZXJvX2lkLCByb2xlX2RhdGEucm9sZV9saXN0WzBdLnNydl9pZCk7XHJcblx0XHRcdH1cclxuXHRcdH1lbHNlIGlmKHR5cGUgPT0gMzUpe1xyXG5cdFx0XHR2YXIgQ2hhdENvbnRyb2xsZXIgPSByZXF1aXJlKFwiY2hhdF9jb250cm9sbGVyXCIpXHJcblx0XHRcdENoYXRDb250cm9sbGVyLmdldEluc3RhbmNlKCkuY2xvc2VDaGF0UGFuZWwoKVxyXG5cdFx0XHRsZXQgaWQgPSBwYXJzZUludChsaXN0WzFdKSB8fCAwIFxyXG5cdFx0XHR2YXIgV2VsZmFyZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwid2VsZmFyZV9jb250cm9sbGVyXCIpXHJcbiAgICAgICAgICAgIFdlbGZhcmVDb250cm9sbGVyLmdldEluc3RhbmNlKCkub3Blbk1haW5XaW5kb3codHJ1ZSwgaWQpIFxyXG5cdFx0fWVsc2UgaWYodHlwZSA9PSAzNil7XHJcblx0XHRcdHZhciBDaGF0Q29udHJvbGxlciA9IHJlcXVpcmUoXCJjaGF0X2NvbnRyb2xsZXJcIilcclxuXHRcdFx0Q2hhdENvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5jbG9zZUNoYXRQYW5lbCgpXHJcblx0XHRcdHZhciBXZWxmYXJlQ29udHJvbGxlciA9IHJlcXVpcmUoXCJ3ZWxmYXJlX2NvbnRyb2xsZXJcIilcclxuXHRcdFx0bGV0IHl1ZWthX3N0YXR1cyA9IFdlbGZhcmVDb250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0TW9kZWwoKS5nZXRZdWVrYVN0YXR1cygpIFxyXG5cdFx0XHRpZih5dWVrYV9zdGF0dXMgPT0gdHJ1ZSl7XHJcblx0XHRcdFxyXG5cdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRsZXQgVmlwQ29udHJvbGxlciA9IHJlcXVpcmUoXCJ2aXBfY29udHJvbGxlclwiKVxyXG4gICAgICAgICAgICAgICAgVmlwQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLm9wZW5WaXBNYWluV2luZG93KHRydWUpXHJcblx0XHRcdH1cclxuXHRcdH1lbHNlIGlmKHR5cGUgPT0gMzcpe1xyXG5cdFx0XHR2YXIgQ2hhdENvbnRyb2xsZXIgPSByZXF1aXJlKFwiY2hhdF9jb250cm9sbGVyXCIpXHJcblx0XHRcdENoYXRDb250cm9sbGVyLmdldEluc3RhbmNlKCkuY2xvc2VDaGF0UGFuZWwoKVxyXG5cdFx0XHRsZXQgaXNfb3BlbiA9IE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5jaGVja01haW5GdW5jdGlvbk9wZW5TdGF0dXMoTWFpbnVpQ29uc3QuaWNvbi5maXJzdF9jaGFyZ2UsIE1haW51aUNvbnN0LmZ1bmN0aW9uX3R5cGUub3RoZXIsIGZhbHNlKSBcclxuICAgICAgICAgICAgaWYoaXNfb3BlbiA9PSB0cnVlKXtcclxuXHRcdFx0XHRsZXQgZmlyc3RfaWNvbiA9IE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRGdW5jdGlvbkljb25CeUlkKE1haW51aUNvbnN0Lmljb24uZmlyc3RfY2hhcmdlKVxyXG5cdFx0XHRcdGxldCBmaXJzdF9pY29uMSA9IE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRGdW5jdGlvbkljb25CeUlkKE1haW51aUNvbnN0Lmljb24uZmlyc3RfY2hhcmdlX25ldzEpXHJcbiAgICAgICAgICAgICAgICBpZihmaXJzdF9pY29uIHx8IGZpcnN0X2ljb24xKXtcclxuXHRcdFx0XHRcdHZhciBOZXdmaXJzdGNoYXJnZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwibmV3Zmlyc3RjaGFyZ2VfY29udHJvbGxlclwiKVxyXG4gICAgICAgICAgICAgICAgICAgIE5ld2ZpcnN0Y2hhcmdlQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLm9wZW5OZXdGaXJzdENoYXJnZVZpZXcodHJ1ZSkgXHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHR2YXIgVmlwQ29udHJvbGxlciA9IHJlcXVpcmUoXCJ2aXBfY29udHJvbGxlclwiKVxyXG4gICAgICAgICAgICAgICAgICAgIFZpcENvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5vcGVuVmlwTWFpbldpbmRvdyh0cnVlKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fWVsc2UgaWYodHlwZSA9PSA1NCl7XHJcblx0XHRcdHZhciBBY3Rpb25Db250cm9sbGVyID0gcmVxdWlyZShcImFjdGlvbl9jb250cm9sbGVyXCIpXHJcblx0XHRcdHZhciBBY3Rpb25Db25zdCA9IHJlcXVpcmUoXCJhY3Rpb25fY29uc3RcIilcclxuXHRcdFx0dmFyIENoYXRDb250cm9sbGVyID0gcmVxdWlyZShcImNoYXRfY29udHJvbGxlclwiKVxyXG5cdFx0XHRBY3Rpb25Db250cm9sbGVyLmdldEluc3RhbmNlKCkub3BlbkFjdGlvbk1haW5QYW5lbCh0cnVlLCBudWxsLCBBY3Rpb25Db25zdC5BY3Rpb25SYW5rQ29tbW9uVHlwZS50aW1lX3N1bW1vbilcclxuICAgICAgICAgICAgQ2hhdENvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5jbG9zZUNoYXRQYW5lbCgpXHJcblx0XHR9ZWxzZSBpZih0eXBlID09IDY2KXtcclxuXHRcdFx0dmFyIEFjdGlvbkNvbnRyb2xsZXIgPSByZXF1aXJlKFwiYWN0aW9uX2NvbnRyb2xsZXJcIilcclxuXHRcdFx0dmFyIEFjdGlvbkNvbnN0ID0gcmVxdWlyZShcImFjdGlvbl9jb25zdFwiKVxyXG5cdFx0XHR2YXIgQ2hhdENvbnRyb2xsZXIgPSByZXF1aXJlKFwiY2hhdF9jb250cm9sbGVyXCIpXHJcblx0XHRcdFxyXG5cdFx0XHRBY3Rpb25Db250cm9sbGVyLmdldEluc3RhbmNlKCkub3BlbkFjdGlvbk1haW5QYW5lbCh0cnVlLCBudWxsLCBBY3Rpb25Db25zdC5BY3Rpb25SYW5rQ29tbW9uVHlwZS5lbGl0ZV9zdW1tb24pXHJcbiAgICAgICAgICAgIENoYXRDb250cm9sbGVyLmdldEluc3RhbmNlKCkuY2xvc2VDaGF0UGFuZWwoKVxyXG5cdFx0fWVsc2UgaWYgKHR5cGUgPT0gNDIpe1x0Ly/nq57mioDlnLrot7PovaxcclxuXHRcdFx0dmFyIENoYXRDb250cm9sbGVyID0gcmVxdWlyZShcImNoYXRfY29udHJvbGxlclwiKVxyXG5cdFx0XHRDaGF0Q29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmNsb3NlQ2hhdFBhbmVsKClcclxuXHRcdFx0dmFyIE1haW5TY2VuZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwibWFpbnNjZW5lX2NvbnRyb2xsZXJcIik7XHJcblx0XHRcdHZhciBTY2VuZUNvbnN0ID1yZXF1aXJlKFwic2NlbmVfY29uc3RcIik7XHJcbiAgICAgICAgICAgIHZhciBidWlsZF92byA9IE1haW5TY2VuZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRCdWlsZFZvKFNjZW5lQ29uc3QuQ2VudGVyU2NlbmVCdWlsZC5hcmVuYSlcclxuICAgICAgICAgICAgaWYoIGJ1aWxkX3ZvICYmIGJ1aWxkX3ZvLmlzX2xvY2spIHtcclxuXHRcdFx0XHRtZXNzYWdlKGJ1aWxkX3ZvLmRlc2MpXHJcbiAgICAgICAgICAgICAgICByZXR1cm5cclxuXHRcdFx0fVxyXG5cdFx0XHRNYWludWlDb250cm9sbGVyLmdldEluc3RhbmNlKCkuY2hhbmdlTWFpblVJU3RhdHVzKE1haW51aUNvbnN0LmJ0bl9pbmRleC5tYWluX3NjZW5lLCBNYWludWlDb25zdC5zdWJfdHlwZS5hcmVuYV9jYWxsKVxyXG5cdFx0fVxyXG5cdH0sXHJcbn0pO1xyXG5cclxuXHJcbkNoYXRIZWxwLmdldEluc3RhbmNlID0gZnVuY3Rpb24gKCkge1xyXG4gICAgaWYgKCFDaGF0SGVscC5pbnN0YW5jZSkge1xyXG4gICAgICAgIENoYXRIZWxwLmluc3RhbmNlID0gbmV3IENoYXRIZWxwKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gQ2hhdEhlbHAuaW5zdGFuY2U7XHJcbn1cclxuIl19
|