159 lines
15 KiB
JavaScript
159 lines
15 KiB
JavaScript
|
||
(function() {
|
||
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
||
var __module = nodeEnv ? module : {exports:{}};
|
||
var __filename = 'preview-scripts/assets/Script/tool/share.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, '850e92SXJVD2rcZ5BirDc9b', 'share');
|
||
// Script/tool/share.ts
|
||
|
||
"use strict";
|
||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||
return new (P || (P = Promise))(function (resolve, reject) {
|
||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||
});
|
||
};
|
||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||
function step(op) {
|
||
if (f) throw new TypeError("Generator is already executing.");
|
||
while (_) try {
|
||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||
switch (op[0]) {
|
||
case 0: case 1: t = op; break;
|
||
case 4: _.label++; return { value: op[1], done: false };
|
||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||
default:
|
||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||
if (t[2]) _.ops.pop();
|
||
_.trys.pop(); continue;
|
||
}
|
||
op = body.call(thisArg, _);
|
||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||
}
|
||
};
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
exports.WeChat = void 0;
|
||
var HttpUtil_1 = require("../crypto/HttpUtil");
|
||
var GameData_1 = require("../GameData");
|
||
var shareConfig = {
|
||
gameId: "100001",
|
||
shareLine: "zDLsruVI",
|
||
EK: "hui231%1"
|
||
};
|
||
// 微信操作类
|
||
var WeChat = /** @class */ (function () {
|
||
function WeChat() {
|
||
}
|
||
WeChat.setShare = function (url) {
|
||
var urlTemp = this.removeQueryParams(url);
|
||
shareConfig.shareLine = urlTemp;
|
||
WeChat.getSignature(url);
|
||
};
|
||
WeChat.getResult = function (res) {
|
||
if (res) {
|
||
var data = res.data;
|
||
wx.config({
|
||
debug: false,
|
||
appId: data.appId,
|
||
timestamp: data.timestamp,
|
||
nonceStr: data.nonceStr,
|
||
signature: data.signature,
|
||
jsApiList: ['onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage']
|
||
});
|
||
wx.checkJsApi({
|
||
jsApiList: ['updateAppMessageShareData'],
|
||
success: function (res) {
|
||
console.log("检查api", res);
|
||
// 以键值对的形式返回,可用的api值true,不可用为false
|
||
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
|
||
}
|
||
});
|
||
setTimeout(function () {
|
||
WeChat.changeShare();
|
||
}, 100);
|
||
setTimeout(function () {
|
||
WeChat.changeShare();
|
||
}, 200);
|
||
}
|
||
};
|
||
WeChat.changeShare = function () {
|
||
wx.ready(function () {
|
||
wx.updateAppMessageShareData({
|
||
title: '手眼协调练习',
|
||
desc: '脑雾导致你的手眼协调变慢和估测不准吗?',
|
||
link: shareConfig.shareLine,
|
||
imgUrl: 'https://static.sparkus.cn/public/flyup.jpg',
|
||
success: function () {
|
||
// 设置成功
|
||
console.log("分享好友成功回调");
|
||
}
|
||
});
|
||
setTimeout(function () {
|
||
wx.updateTimelineShareData({
|
||
title: '手眼协调练习',
|
||
link: shareConfig.shareLine,
|
||
imgUrl: 'https://static.sparkus.cn/public/flyup.jpg',
|
||
success: function () {
|
||
// 设置成功
|
||
console.log("分享朋友圈成功回调");
|
||
}
|
||
});
|
||
}, 200);
|
||
});
|
||
};
|
||
WeChat.getSignature = function (url) {
|
||
return new Promise(function (resolve) {
|
||
WeChat.getShareInfo((encodeURIComponent(url)), WeChat.getResult);
|
||
});
|
||
};
|
||
WeChat.getShareInfo = function (shareUrl, callback) {
|
||
return __awaiter(this, void 0, Promise, function () {
|
||
var time, url;
|
||
return __generator(this, function (_a) {
|
||
time = Math.floor((new Date().getTime()) / 1000);
|
||
url = HttpUtil_1.default.apiSign("/api/share/cfg?gameId=" + GameData_1.default._instance.GM_INFO.gameId + "&time=" + time + "&url=" + shareUrl, {});
|
||
return [2 /*return*/, HttpUtil_1.default.get(url, callback, 0)];
|
||
});
|
||
});
|
||
};
|
||
WeChat.containsNanana = function (str) {
|
||
return /test/i.test(str);
|
||
};
|
||
WeChat.removeQueryParams = function (url) {
|
||
return url.replace(/\?.*$/, '');
|
||
};
|
||
return WeChat;
|
||
}());
|
||
exports.WeChat = WeChat;
|
||
|
||
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxzaGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBMEM7QUFDMUMsd0NBQW1DO0FBS25DLElBQUksV0FBVyxHQUFHO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsU0FBUyxFQUFFLFVBQVU7SUFDckIsRUFBRSxFQUFDLFVBQVU7Q0FDZCxDQUFDO0FBV0osUUFBUTtBQUNSO0lBQUE7SUFzRkEsQ0FBQztJQXJGVSxlQUFRLEdBQWYsVUFBZ0IsR0FBRztRQUNmLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxXQUFXLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUNoQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxnQkFBUyxHQUFoQixVQUFpQixHQUFHO1FBQ2hCLElBQUcsR0FBRyxFQUFDO1lBQ0gsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUNwQixFQUFFLENBQUMsTUFBTSxDQUFDO2dCQUNOLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsU0FBUyxFQUFFLENBQUMscUJBQXFCLEVBQUMsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUsdUJBQXVCLENBQUM7YUFDckgsQ0FBQyxDQUFDO1lBRUgsRUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDVixTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLFVBQVMsR0FBRztvQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdCLGtDQUFrQztvQkFDbEMsa0VBQWtFO2dCQUNsRSxDQUFDO2FBRUosQ0FBQyxDQUFDO1lBRUgsVUFBVSxDQUFDO2dCQUNQLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDUixVQUFVLENBQUM7Z0JBQ1AsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNYO0lBRUwsQ0FBQztJQUVNLGtCQUFXLEdBQWxCO1FBQ0ksRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNMLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDekIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsSUFBSSxFQUFFLHFCQUFxQjtnQkFDM0IsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTO2dCQUMzQixNQUFNLEVBQUUsNENBQTRDO2dCQUNwRCxPQUFPLEVBQUU7b0JBQ1AsT0FBTztvQkFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxQixDQUFDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDO2dCQUNQLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkIsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTO29CQUMzQixNQUFNLEVBQUUsNENBQTRDO29CQUNwRCxPQUFPLEVBQUU7d0JBQ1AsT0FBTzt3QkFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUMzQixDQUFDO2lCQUNGLENBQUMsQ0FBQTtZQUNSLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVaLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLG1CQUFZLEdBQW5CLFVBQW9CLEdBQVc7UUFDM0IsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU87WUFDdkIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNZLG1CQUFZLEdBQXpCLFVBQTBCLFFBQWdCLEVBQUUsUUFBaUI7dUNBQUcsT0FBTzs7O2dCQUM3RCxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtnQkFDaEQsR0FBRyxHQUFHLGtCQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQzFILHNCQUFPLGtCQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLEVBQUE7OztLQUN0QztJQUdNLHFCQUFjLEdBQXJCLFVBQXNCLEdBQUc7UUFDckIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSx3QkFBaUIsR0FBeEIsVUFBeUIsR0FBRztRQUN4QixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTCxhQUFDO0FBQUQsQ0F0RkEsQUFzRkMsSUFBQTtBQXRGWSx3QkFBTSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IEh0dHBVdGlsIGZyb20gJy4uL2NyeXB0by9IdHRwVXRpbCc7XG5pbXBvcnQgR2FtZURhdGEgZnJvbSAnLi4vR2FtZURhdGEnO1xuXG5cblxuXG52YXIgc2hhcmVDb25maWcgPSB7XG4gICAgZ2FtZUlkOiBcIjEwMDAwMVwiLFxuICAgIHNoYXJlTGluZTogXCJ6RExzcnVWSVwiLFxuICAgIEVLOlwiaHVpMjMxJTFcIlxuICB9O1xuXG4vLyDlrprkuYnlvq7kv6HphY3nva7mlbDmja7nmoTmjqXlj6NcbmludGVyZmFjZSBJV2VDaGF0Q29uZmlnIHtcbiAgICBhcHBJZDogc3RyaW5nO1xuICAgIHRpbWVzdGFtcDogbnVtYmVyO1xuICAgIG5vbmNlU3RyOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gICAganNBcGlMaXN0OiBbXTtcbn1cblxuLy8g5b6u5L+h5pON5L2c57G7XG5leHBvcnQgY2xhc3MgV2VDaGF0IHtcbiAgICBzdGF0aWMgc2V0U2hhcmUodXJsKSB7XG4gICAgICAgIHZhciB1cmxUZW1wID0gdGhpcy5yZW1vdmVRdWVyeVBhcmFtcyh1cmwpO1xuICAgICAgICBzaGFyZUNvbmZpZy5zaGFyZUxpbmUgPSB1cmxUZW1wO1xuICAgICAgICBXZUNoYXQuZ2V0U2lnbmF0dXJlKHVybCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFJlc3VsdChyZXMpe1xuICAgICAgICBpZihyZXMpe1xuICAgICAgICAgICAgdmFyIGRhdGEgPSByZXMuZGF0YTtcbiAgICAgICAgICAgIHd4LmNvbmZpZyh7XG4gICAgICAgICAgICAgICAgZGVidWc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGFwcElkOiBkYXRhLmFwcElkLFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcDogZGF0YS50aW1lc3RhbXAsXG4gICAgICAgICAgICAgICAgbm9uY2VTdHI6IGRhdGEubm9uY2VTdHIsXG4gICAgICAgICAgICAgICAgc2lnbmF0dXJlOiBkYXRhLnNpZ25hdHVyZSxcbiAgICAgICAgICAgICAgICBqc0FwaUxpc3Q6IFsnb25NZW51U2hhcmVUaW1lbGluZScsJ3VwZGF0ZUFwcE1lc3NhZ2VTaGFyZURhdGEnLCAndXBkYXRlVGltZWxpbmVTaGFyZURhdGEnLCAnb25NZW51U2hhcmVBcHBNZXNzYWdlJ11cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB3eC5jaGVja0pzQXBpKHtcbiAgICAgICAgICAgICAgICBqc0FwaUxpc3Q6IFsndXBkYXRlQXBwTWVzc2FnZVNoYXJlRGF0YSddLCAvLyDpnIDopoHmo4DmtYvnmoRKU+aOpeWPo+WIl+ihqO+8jOaJgOaciUpT5o6l5Y+j5YiX6KGo6KeB6ZmE5b2VMixcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLmo4Dmn6VhcGlcIixyZXMpO1xuICAgICAgICAgICAgICAgIC8vIOS7pemUruWAvOWvueeahOW9ouW8j+i/lOWbnu+8jOWPr+eUqOeahGFwaeWAvHRydWXvvIzkuI3lj6/nlKjkuLpmYWxzZVxuICAgICAgICAgICAgICAgIC8vIOWmgu+8mntcImNoZWNrUmVzdWx0XCI6e1wiY2hvb3NlSW1hZ2VcIjp0cnVlfSxcImVyck1zZ1wiOlwiY2hlY2tKc0FwaTpva1wifVxuICAgICAgICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7ICBcbiAgICAgICAgICAgICAgICBXZUNoYXQuY2hhbmdlU2hhcmUoKTtcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBXZUNoYXQuY2hhbmdlU2hhcmUoKTtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHN0YXRpYyBjaGFuZ2VTaGFyZSgpe1xuICAgICAgICB3eC5yZWFkeSgoKSA9PiB7XG4gICAgICAgICAgICB3eC51cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhKHsgXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmiYvnnLzljY/osIPnu4PkuaAnLCAvLyDliIbkuqvmoIfpophcbiAgICAgICAgICAgICAgICBkZXNjOiAn6ISR6Zu+5a+86Ie05L2g55qE5omL55y85Y2P6LCD5Y+Y5oWi5ZKM5Lyw5rWL5LiN5YeG5ZCX77yfJywgLy8g5YiG5Lqr5o+P6L+wXG4gICAgICAgICAgICAgICAgbGluazogc2hhcmVDb25maWcuc2hhcmVMaW5lLCAvLyDliIbkuqvpk77mjqXvvIzor6Xpk77mjqXln5/lkI3miJbot6/lvoTlv4XpobvkuI7lvZPliY3pobXpnaLlr7nlupTnmoTlhazkvJflj7dKU+WuieWFqOWfn+WQjeS4gOiHtFxuICAgICAgICAgICAgICAgIGltZ1VybDogJ2h0dHBzOi8vc3RhdGljLnNwYXJrdXMuY24vcHVibGljL2ZseXVwLmpwZycsIC8vIOWIhuS6q+Wbvuagh1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgIC8vIOiuvue9ruaIkOWKn1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvlpb3lj4vmiJDlip/lm57osINcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB3eC51cGRhdGVUaW1lbGluZVNoYXJlRGF0YSh7IFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+aJi+ecvOWNj+iwg+e7g+S5oCcsIC8vIOWIhuS6q+agh+mimFxuICAgICAgICAgICAgICAgICAgICBsaW5rOiBzaGFyZUNvbmZpZy5zaGFyZUxpbmUsIC8vIOWIhuS6q+mTvuaOpe+8jOivpemTvuaOpeWfn+WQjeaIlui3r+W+hOW/hemhu+S4juW9k+WJjemhtemdouWvueW6lOeahOWFrOS8l+WPt0pT5a6J5YWo5Z+f5ZCN5LiA6Ie0XG4gICAgICAgICAgICAgICAgICAgIGltZ1VybDogJ2h0dHBzOi8vc3RhdGljLnNwYXJrdXMuY24vcHVibGljL2ZseXVwLmpwZycsIC8vIOWIhuS6q+Wbvuagh1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8g6K6+572u5oiQ5YqfXG4gICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvmnIvlj4vlnIjmiJDlip/lm57osINcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgIH0pOyBcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0U2lnbmF0dXJlKHVybDogc3RyaW5nKTogUHJvbWlzZTxJV2VDaGF0Q29uZmlnPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgV2VDaGF0LmdldFNoYXJlSW5mbygoZW5jb2RlVVJJQ29tcG9uZW50KHVybCkpLFdlQ2hhdC5nZXRSZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3RhdGljIGFzeW5jIGdldFNoYXJlSW5mbyhzaGFyZVVybDogc3RyaW5nLCBjYWxsYmFjazpGdW5jdGlvbik6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxuICAgICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL3NoYXJlL2NmZz9nYW1lSWQ9JHtHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5nYW1lSWR9JnRpbWU9JHt0aW1lfSZ1cmw9JHtzaGFyZVVybH1gLHt9KVxuICAgICAgICByZXR1cm4gSHR0cFV0aWwuZ2V0KHVybCxjYWxsYmFjaywwKVxuICAgIH1cblxuICAgIFxuICAgIHN0YXRpYyBjb250YWluc05hbmFuYShzdHIpIHtcbiAgICAgICAgcmV0dXJuIC90ZXN0L2kudGVzdChzdHIpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZW1vdmVRdWVyeVBhcmFtcyh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHVybC5yZXBsYWNlKC9cXD8uKiQvLCAnJyk7XG4gICAgfVxuXG59XG4iXX0=
|