123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- (function() {
- var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
- var __module = nodeEnv ? module : {exports:{}};
- var __filename = 'preview-scripts/assets/script/frameWork/fgui/RedUtil.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, 'be09100wrxKqo3xM1AwX8j1', 'RedUtil');
- // script/frameWork/fgui/RedUtil.ts
- "use strict";
- var __extends = (this && this.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
- return extendStatics(d, b);
- };
- return function (d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- })();
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.RedDot = exports.RedUtil = void 0;
- var gameMethod_1 = require("../../common/gameMethod");
- var ListUtil_1 = require("./ListUtil");
- var RedUtil = /** @class */ (function () {
- function RedUtil() {
- }
- RedUtil.clear = function () {
- this._redMap.clear();
- };
- RedUtil.registerBaseRed = function (type, func, target) {
- if (target === void 0) { target = null; }
- if (this.getRedDot(type)) {
- if (CC_PREVIEW)
- console.warn("红点" + type + "已经注册过了");
- return;
- }
- var red = new RedDotBase(type, func.bind(target));
- if (red == null)
- return;
- this._redMap.set(type, red);
- };
- RedUtil.registerUpperRed = function (type, childs, func) {
- if (func === void 0) { func = null; }
- if (this.getRedDot(type)) {
- if (CC_PREVIEW)
- console.warn("红点" + type + "已经注册过了");
- return;
- }
- var rednode = new RedDotNode(type);
- this.setChilds(rednode, childs);
- this._redMap.set(type, rednode);
- };
- RedUtil.getRedState = function (type) {
- var red = this.getRedDot(type);
- if (red == null) {
- if (CC_PREVIEW)
- console.warn("\u7EA2\u70B9 " + type + " \u4E0D\u5B58\u5728");
- return false;
- }
- return red.getRedState();
- };
- RedUtil.getRedDot = function (type) {
- var _a;
- return (_a = this._redMap) === null || _a === void 0 ? void 0 : _a.get(type);
- };
- RedUtil.upRedNode = function (type, node) {
- var _a;
- var red = this.getRedDot(type);
- if (red == null) {
- if (CC_PREVIEW)
- console.warn("\u8282\u70B9:" + node.name + " \u7684\u7EA2\u70B9 " + type + " \u4E0D\u5B58\u5728 ");
- return;
- }
- if (red.node && red.node != node) {
- if (CC_PREVIEW)
- console.warn("\u8282\u70B9" + ((_a = red.node) === null || _a === void 0 ? void 0 : _a.name) + "\u5DF2\u7ECF\u6302\u8F7D\u4E86" + type + "\u7EA2\u70B9\uFF0C" + (node === null || node === void 0 ? void 0 : node.name) + "\u91CD\u590D\u6302\u8F7D\u4E86");
- return;
- }
- red.node = node;
- };
- RedUtil.offRedNode = function (type) {
- var red = this.getRedDot(type);
- if (red == null) {
- if (CC_PREVIEW)
- console.warn("\u7EA2\u70B9 " + type + " \u4E0D\u5B58\u5728 ");
- return;
- }
- red.node = null;
- };
- RedUtil.setChilds = function (red, childs) {
- for (var _i = 0, childs_1 = childs; _i < childs_1.length; _i++) {
- var child = childs_1[_i];
- if (child == red.type) {
- if (CC_PREVIEW)
- console.warn("\u7EA2\u70B9 " + red.type + " \u4E0D\u80FD\u81EA\u5DF1\u4F9D\u8D56\u81EA\u5DF1");
- continue;
- }
- this.setChild(red.type, child);
- }
- red.childs = childs;
- };
- RedUtil.updateRed = function (type) {
- var red = this.getRedDot(type);
- if (red instanceof RedDotBase) {
- red.updateRed();
- }
- else {
- if (CC_PREVIEW)
- console.warn("\u7EA2\u70B9\u7C7B\u578B\u4E0D\u662F\u5E95\u90E8\u7EA2\u70B9 " + type);
- }
- };
- RedUtil.setChild = function (parent, child) {
- var red = this._redMap.get(child);
- //排除重复挂载依赖
- if (red == null) {
- if (CC_PREVIEW)
- console.warn(child + " \u7EA2\u70B9\u4E0D\u5B58\u5728");
- return;
- }
- if (red.parent) {
- if (CC_PREVIEW)
- console.warn(child + " \u5DF2\u7ECF\u6709\u7236\u7EA2\u70B9\u4E86");
- return;
- }
- red.parent = parent;
- };
- RedUtil.initRedUtil = function () {
- var _a;
- (_a = this._redMap) === null || _a === void 0 ? void 0 : _a.forEach(function (red) {
- if (red instanceof RedDotBase)
- red.updateRed();
- });
- };
- RedUtil._redMap = new Map();
- return RedUtil;
- }());
- exports.RedUtil = RedUtil;
- var RedDotClass = /** @class */ (function () {
- function RedDotClass(type) {
- this.type = type;
- }
- return RedDotClass;
- }());
- var RedDotNode = /** @class */ (function (_super) {
- __extends(RedDotNode, _super);
- function RedDotNode() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.childs = [];
- return _this;
- }
- RedDotNode.prototype.getRedState = function () {
- var isred = false;
- for (var _i = 0, _a = this.childs; _i < _a.length; _i++) {
- var i = _a[_i];
- var red = RedUtil.getRedDot(i);
- isred = red.getRedState();
- if (isred)
- break;
- }
- return isred;
- };
- RedDotNode.prototype.updateRed = function () {
- var _a;
- (_a = this.node) === null || _a === void 0 ? void 0 : _a.upRed();
- if (this.parent) {
- var red = RedUtil.getRedDot(this.parent);
- if (red == null) {
- if (CC_PREVIEW)
- console.warn("\u7EA2\u70B9:" + this.parent + " \u4E0D\u5B58\u5728");
- return;
- }
- red.updateRed();
- }
- };
- return RedDotNode;
- }(RedDotClass));
- var RedDotBase = /** @class */ (function (_super) {
- __extends(RedDotBase, _super);
- function RedDotBase(type, func) {
- var _this = _super.call(this, type) || this;
- _this.func = func;
- return _this;
- }
- RedDotBase.prototype.reCalRed = function () {
- var _a;
- try {
- this.redCount = (_a = this.func()) !== null && _a !== void 0 ? _a : false;
- }
- catch (err) {
- if (CC_PREVIEW)
- console.warn(err);
- this.redCount = false;
- }
- return this.redCount;
- };
- RedDotBase.prototype.getRedState = function () {
- return this.redCount;
- };
- RedDotBase.prototype.updateRed = function () {
- var _a;
- this.reCalRed();
- (_a = this.node) === null || _a === void 0 ? void 0 : _a.upRed();
- if (this.parent) {
- var red = RedUtil.getRedDot(this.parent);
- if (red == null) {
- if (CC_PREVIEW)
- console.warn("\u7EA2\u70B9:" + this.parent + " \u4E0D\u5B58\u5728");
- return;
- }
- red.updateRed();
- }
- };
- return RedDotBase;
- }(RedDotClass));
- var RedDot = /** @class */ (function (_super) {
- __extends(RedDot, _super);
- function RedDot() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- RedDot.prototype.onInit = function () {
- this.initControllers();
- };
- RedDot.prototype.onShow = function () {
- this.upNode();
- };
- RedDot.prototype.onHide = function () {
- this.offNode();
- };
- RedDot.prototype.upNode = function () {
- if (this.type == null) {
- this.show.selectedIndex = 1;
- return;
- }
- RedUtil.upRedNode(this.type, this);
- this.upRed();
- };
- RedDot.prototype.offNode = function () {
- if (this.type == null)
- return;
- RedUtil.offRedNode(this.type);
- };
- RedDot.prototype.setData = function (data, index, param) {
- this.type = data;
- this.upNode();
- };
- RedDot.prototype.upRed = function () {
- if (gameMethod_1.gameMethod.isEmpty(this.node)) {
- return;
- }
- this.show.selectedIndex = RedUtil.getRedState(this.type) ? 0 : 1;
- };
- RedDot.prototype.isShow = function () {
- return this.show.selectedIndex == 0;
- };
- return RedDot;
- }(ListUtil_1.ItemLabelRender));
- exports.RedDot = RedDot;
- 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZnJhbWVXb3JrL2ZndWkvUmVkVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXFEO0FBRXJELHVDQUE2QztBQUU3QztJQUFBO0lBc0dBLENBQUM7SUFuR08sYUFBSyxHQUFaO1FBQ0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRU0sdUJBQWUsR0FBdEIsVUFBdUIsSUFBaUIsRUFBRSxJQUFtQixFQUFFLE1BQWtCO1FBQWxCLHVCQUFBLEVBQUEsYUFBa0I7UUFDaEYsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUksVUFBVTtnQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUM7WUFDckQsT0FBTztTQUNQO1FBQ0QsSUFBSSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLEdBQUcsSUFBSSxJQUFJO1lBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLHdCQUFnQixHQUF2QixVQUF3QixJQUFpQixFQUFFLE1BQXFCLEVBQUUsSUFBMEI7UUFBMUIscUJBQUEsRUFBQSxXQUEwQjtRQUMzRixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsSUFBSSxVQUFVO2dCQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQztZQUNyRCxPQUFPO1NBQ1A7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMs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QUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCx3QkFBTyxHQUFQO1FBQ0MsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUk7WUFBRSxPQUFPO1FBQzlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCx3QkFBTyxHQUFQLFVBQVEsSUFBaUIsRUFBRSxLQUFjLEVBQUUsS0FBVztRQUNyRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDZCxDQUFDO0lBRUQsc0JBQUssR0FBTDtRQUNDLElBQUksdUJBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xDLE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsdUJBQU0sR0FBTjtRQUNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRixhQUFDO0FBQUQsQ0E3Q0EsQUE2Q0MsQ0E3QzJCLDBCQUFlLEdBNkMxQztBQTdDWSx3QkFBTSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdhbWVNZXRob2QgfSBmcm9tIFwiLi4vLi4vY29tbW9uL2dhbWVNZXRob2RcIjtcbmltcG9ydCB7IFJlZFV0aWxUeXBlIH0gZnJvbSBcIi4uLy4uL2RhdGEvY29uc3QvVHlwZUNvbnN0XCI7XG5pbXBvcnQgeyBJdGVtTGFiZWxSZW5kZXIgfSBmcm9tIFwiLi9MaXN0VXRpbFwiO1xuXG5leHBvcnQgY2xhc3MgUmVkVXRpbCB7XG5cdHByaXZhdGUgc3RhdGljIF9yZWRNYXA6IE1hcDxSZWRVdGlsVHlwZSwgUmVkRG90Q2xhc3M+ID0gbmV3IE1hcCgpO1xuXG5cdHN0YXRpYyBjbGVhcigpIHtcblx0XHR0aGlzLl9yZWRNYXAuY2xlYXIoKVxuXHR9XG5cblx0c3RhdGljIHJlZ2lzdGVyQmFzZVJlZCh0eXBlOiBSZWRVdGlsVHlwZSwgZnVuYzogKCkgPT4gYm9vbGVhbiwgdGFyZ2V0OiBhbnkgPSBudWxsKSB7XG5cdFx0aWYgKHRoaXMuZ2V0UmVkRG90KHR5cGUpKSB7XG5cdFx0XHRpZiAoQ0NfUFJFVklFVykgY29uc29sZS53YXJuKFwi57qi54K5XCIgKyB0eXBlICsgXCLlt7Lnu4/ms6jlhozov4fkuoZcIik7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGxldCByZWQgPSBuZXcgUmVkRG90QmFzZSh0eXBlLCBmdW5jLmJpbmQodGFyZ2V0KSk7XG5cdFx0aWYgKHJlZCA9PSBudWxsKSByZXR1cm47XG5cdFx0dGhpcy5fcmVkTWFwLnNldCh0eXBlLCByZWQpO1xuXHR9XG5cblx0c3RhdGljIHJlZ2lzdGVyVXBwZXJSZWQodHlwZTogUmVkVXRpbFR5cGUsIGNoaWxkczogUmVkVXRpbFR5cGVbXSwgZnVuYzogKCkgPT4gYm9vbGVhbiA9IG51bGwpIHtcblx0XHRpZiAodGhpcy5nZXRSZWREb3QodHlwZSkpIHtcblx0XHRcdGlmIChDQ19QUkVWSUVXKSBjb25zb2xlLndhcm4oXCLnuqLngrlcIiArIHR5cGUgKyBcIuW3sue7j+azqOWGjOi/h+S6hlwiKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVkbm9kZSA9IG5ldyBSZWREb3ROb2RlKHR5cGUpO1xuXHRcdHRoaXMuc2V0Q2hpbGRzKHJlZG5vZGUsIGNoaWxkcyk7XG5cdFx0dGhpcy5fcmVkTWFwLnNldCh0eXBlLCByZWRub2RlKTtcblx0fVxuXG5cdHN0YXRpYyBnZXRSZWRTdGF0ZSh0eXBlOiBSZWRVdGlsVHlwZSk6IGJvb2xlYW4ge1xuXHRcdGxldCByZWQgPSB0aGlzLmdldFJlZERvdCh0eXBlKTtcblx0XHRpZiAocmVkID09IG51bGwpIHtcblx0XHRcdGlmIChDQ19QUkVWSUVXKSBjb25zb2xlLndhcm4oYOe6oueCuSAke3R5cGV9IOS4jeWtmOWcqGApO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gcmVkLmdldFJlZFN0YXRlKCk7XG5cdH1cblxuXHRzdGF0aWMgZ2V0UmVkRG90KHR5cGUpIHtcblx0XHRyZXR1cm4gdGhpcy5fcmVkTWFwPy5nZXQodHlwZSk7XG5cdH1cblxuXHRzdGF0aWMgdXBSZWROb2RlKHR5cGU6IFJlZFV0aWxUeXBlLCBub2RlOiBSZWREb3QpIHtcblx0XHRsZXQgcmVkID0gdGhpcy5nZXRSZWREb3QodHlwZSk7XG5cdFx0aWYgKHJlZCA9PSBudWxsKSB7XG5cdFx0XHRpZiAoQ0NfUFJFVklFVykgY29uc29sZS53YXJuKGDoioLngrk6JHtub2RlLm5hbWV9IOeahOe6oueCuSAke3R5cGV9IOS4jeWtmOWcqCBgKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKHJlZC5ub2RlICYmIHJlZC5ub2RlICE9IG5vZGUpIHtcblx0XHRcdGlmIChDQ19QUkVWSUVXKSBjb25zb2xlLndhcm4oYOiKgueCuSR7cmVkLm5vZGU/Lm5hbWV95bey57uP5oyC6L295LqGJHt0eXBlfee6oueCue+8jCR7bm9kZT8ubmFtZX3ph43lpI3mjILovb3kuoZgKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0cmVkLm5vZGUgPSBub2RlO1xuXHR9XG5cblx0c3RhdGljIG9mZlJlZE5vZGUodHlwZTogUmVkVXRpbFR5cGUpIHtcblx0XHRsZXQgcmVkID0gdGhpcy5nZXRSZWREb3QodHlwZSk7XG5cdFx0aWYgKHJlZCA9PSBudWxsKSB7XG5cdFx0XHRpZiAoQ0NfUFJFVklFVykgY29uc29sZS53YXJuKGDnuqLngrkgJHt0eXBlfSDkuI3lrZjlnKggYCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHJlZC5ub2RlID0gbnVsbDtcblx0fVxuXG5cdHByaXZhdGUgc3RhdGljIHNldENoaWxkcyhyZWQ6IFJlZERvdE5vZGUsIGNoaWxkczogUmVkVXRpbFR5cGVbXSkge1xuXHRcdGZvciAobGV0IGNoaWxkIG9mIGNoaWxkcykge1xuXHRcdFx0aWYgKGNoaWxkID09IHJlZC50eXBlKSB7XG5cdFx0XHRcdGlmIChDQ19QUkVWSUVXKSBjb25zb2xlLndhcm4oYOe6oueCuSAke3JlZC50eXBlfSDkuI3og73oh6rlt7Hkvp3otZboh6rlt7FgKTtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNldENoaWxkKHJlZC50eXBlLCBjaGlsZCk7XG5cdFx0fVxuXHRcdHJlZC5jaGlsZHMgPSBjaGlsZHM7XG5cdH1cblxuXHRzdGF0aWMgdXBkYXRlUmVkKHR5cGU6IFJlZFV0aWxUeXBlKSB7XG5cdFx0bGV0IHJlZCA9IHRoaXMuZ2V0UmVkRG90KHR5cGUpO1xuXHRcdGlmIChyZWQgaW5zdGFuY2VvZiBSZWREb3RCYXNlKSB7XG5cdFx0XHRyZWQudXBkYXRlUmVkKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmIChDQ19QUkVWSUVXKSBjb25zb2xlLndhcm4oYOe6oueCueexu+Wei+S4jeaYr+W6lemDqOe6oueCuSAke3R5cGV9YCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzdGF0aWMgc2V0Q2hpbGQocGFyZW50OiBSZWRVdGlsVHlwZSwgY2hpbGQ6IFJlZFV0aWxUeXBlKSB7XG5cdFx0bGV0IHJlZCA9IHRoaXMuX3JlZE1hcC5nZXQoY2hpbGQpO1xuXHRcdC8v5o6S6Zmk6YeN5aSN5oyC6L295L6d6LWWXG5cdFx0aWYgKHJlZCA9PSBudWxsKSB7XG5cdFx0XHRpZiAoQ0NfUFJFVklFVykgY29uc29sZS53YXJuKGAke2NoaWxkfSDnuqLngrnkuI3lrZjlnKhgKTtcblx0XHRcdHJldHVyblxuXHRcdH1cblx0XHRpZiAocmVkLnBhcmVudCkge1xuXHRcdFx0aWYgKENDX1BSRVZJRVcpIGNvbnNvbGUud2FybihgJHtjaGlsZH0g5bey57uP5pyJ54i257qi54K55LqGYCk7XG5cdFx0XHRyZXR1cm5cblx0XHR9XG5cdFx0cmVkLnBhcmVudCA9IHBhcmVudDtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgaW5pdFJlZFV0aWwoKSB7XG5cdFx0dGhpcy5fcmVkTWFwPy5mb3JFYWNoKChyZWQ6IFJlZERvdENsYXNzKSA9PiB7XG5cdFx0XHRpZiAocmVkIGluc3RhbmNlb2YgUmVkRG90QmFzZSkgcmVkLnVwZGF0ZVJlZCgpO1xuXHRcdH0pO1xuXHR9XG59XG5cbmFic3RyYWN0IGNsYXNzIFJlZERvdENsYXNzIHtcblx0dHlwZTogUmVkVXRpbFR5cGU7XG5cdHBhcmVudDogUmVkVXRpbFR5cGU7XG5cdG5vZGU6IFJlZERvdDtcblxuXHRjb25zdHJ1Y3Rvcih0eXBlOiBSZWRVdGlsVHlwZSkge1xuXHRcdHRoaXMudHlwZSA9IHR5cGU7XG5cdH1cblxuXHRhYnN0cmFjdCBnZXRSZWRTdGF0ZSgpOiBib29sZWFuO1xuXG5cdGFic3RyYWN0IHVwZGF0ZVJlZCgpO1xufVxuXG5jbGFzcyBSZWREb3ROb2RlIGV4dGVuZHMgUmVkRG90Q2xhc3Mge1xuXHRjaGlsZHM6IFJlZFV0aWxUeXBlW10gPSBbXTtcblxuXHRnZXRSZWRTdGF0ZSgpOiBib29sZWFuIHtcblx0XHRsZXQgaXNyZWQgPSBmYWxzZTtcblx0XHRmb3IgKGxldCBpIG9mIHRoaXMuY2hpbGRzKSB7XG5cdFx0XHRsZXQgcmVkID0gUmVkVXRpbC5nZXRSZWREb3QoaSk7XG5cdFx0XHRpc3JlZCA9IHJlZC5nZXRSZWRTdGF0ZSgpO1xuXHRcdFx0aWYgKGlzcmVkKSBicmVhaztcblx0XHR9XG5cdFx0cmV0dXJuIGlzcmVkO1xuXHR9XG5cblx0dXBkYXRlUmVkKCkge1xuXHRcdHRoaXMubm9kZT8udXBSZWQoKTtcblx0XHRpZiAodGhpcy5wYXJlbnQpIHtcblx0XHRcdGxldCByZWQgPSBSZWRVdGlsLmdldFJlZERvdCh0aGlzLnBhcmVudCk7XG5cdFx0XHRpZiAocmVkID09IG51bGwpIHtcblx0XHRcdFx0aWYgKENDX1BSRVZJRVcpIGNvbnNvbGUud2Fybihg57qi54K5OiR7dGhpcy5wYXJlbnR9IOS4jeWtmOWcqGApO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRyZWQudXBkYXRlUmVkKCk7XG5cdFx0fVxuXHR9XG59XG5cbmNsYXNzIFJlZERvdEJhc2UgZXh0ZW5kcyBSZWREb3RDbGFzcyB7XG5cdHJlZENvdW50OiBib29sZWFuO1xuXHRmdW5jOiAoKSA9PiBib29sZWFuO1xuXG5cdGNvbnN0cnVjdG9yKHR5cGU6IFJlZFV0aWxUeXBlLCBmdW5jOiAoKSA9PiBib29sZWFuKSB7XG5cdFx0c3VwZXIodHlwZSk7XG5cdFx0dGhpcy5mdW5jID0gZnVuYztcblx0fVxuXG5cdHJlQ2FsUmVkKCk6IGJvb2xlYW4ge1xuXHRcdHRyeSB7XG5cdFx0XHR0aGlzLnJlZENvdW50ID0gdGhpcy5mdW5jKCkgPz8gZmFsc2U7XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRpZiAoQ0NfUFJFVklFVykgY29uc29sZS53YXJuKGVycik7XG5cdFx0XHR0aGlzLnJlZENvdW50ID0gZmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnJlZENvdW50O1xuXHR9XG5cblx0Z2V0UmVkU3RhdGUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMucmVkQ291bnQ7XG5cdH1cblxuXHR1cGRhdGVSZWQoKSB7XG5cdFx0dGhpcy5yZUNhbFJlZCgpO1xuXHRcdHRoaXMubm9kZT8udXBSZWQoKTtcblx0XHRpZiAodGhpcy5wYXJlbnQpIHtcblx0XHRcdGxldCByZWQgPSBSZWRVdGlsLmdldFJlZERvdCh0aGlzLnBhcmVudCk7XG5cdFx0XHRpZiAocmVkID09IG51bGwpIHtcblx0XHRcdFx0aWYgKENDX1BSRVZJRVcpIGNvbnNvbGUud2Fybihg57qi54K5OiR7dGhpcy5wYXJlbnR9IOS4jeWtmOWcqGApO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRyZWQudXBkYXRlUmVkKCk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWREb3QgZXh0ZW5kcyBJdGVtTGFiZWxSZW5kZXIge1xuXHR0eXBlOiBSZWRVdGlsVHlwZTtcblx0c2hvdzogZmFpcnlndWkuQ29udHJvbGxlcjtcblxuXHRvbkluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5pbml0Q29udHJvbGxlcnMoKTtcblx0fVxuXG5cdG9uU2hvdygpOiB2b2lkIHtcblx0XHR0aGlzLnVwTm9kZSgpO1xuXHR9XG5cblx0b25IaWRlKCk6IHZvaWQge1xuXHRcdHRoaXMub2ZmTm9kZSgpO1xuXHR9XG5cblx0dXBOb2RlKCkge1xuXHRcdGlmICh0aGlzLnR5cGUgPT0gbnVsbCkge1xuXHRcdFx0dGhpcy5zaG93LnNlbGVjdGVkSW5kZXggPSAxO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRSZWRVdGlsLnVwUmVkTm9kZSh0aGlzLnR5cGUsIHRoaXMpO1xuXHRcdHRoaXMudXBSZWQoKTtcblx0fVxuXG5cdG9mZk5vZGUoKSB7XG5cdFx0aWYgKHRoaXMudHlwZSA9PSBudWxsKSByZXR1cm47XG5cdFx0UmVkVXRpbC5vZmZSZWROb2RlKHRoaXMudHlwZSk7XG5cdH1cblxuXHRzZXREYXRhKGRhdGE6IFJlZFV0aWxUeXBlLCBpbmRleD86IG51bWJlciwgcGFyYW0/OiBhbnkpIHtcblx0XHR0aGlzLnR5cGUgPSBkYXRhO1xuXHRcdHRoaXMudXBOb2RlKClcblx0fVxuXG5cdHVwUmVkKCkge1xuXHRcdGlmIChnYW1lTWV0aG9kLmlzRW1wdHkodGhpcy5ub2RlKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLnNob3cuc2VsZWN0ZWRJbmRleCA9IFJlZFV0aWwuZ2V0UmVkU3RhdGUodGhpcy50eXBlKSA/IDAgOiAxO1xuXHR9XG5cblx0aXNTaG93KCkge1xuXHRcdHJldHVybiB0aGlzLnNob3cuc2VsZWN0ZWRJbmRleCA9PSAwO1xuXHR9XG59XG4iXX0=
|