You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
303 lines
34 KiB
303 lines
34 KiB
"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 });
|
|
var issue_1 = require("../../../../api/issue");
|
|
Page({
|
|
data: {
|
|
deptId: '',
|
|
show: false,
|
|
selectData: [
|
|
{
|
|
children: [],
|
|
label: '全部',
|
|
value: ''
|
|
}
|
|
],
|
|
index: 0,
|
|
noProjectData: [],
|
|
unpassedProjectPercent: '',
|
|
unpassedProject: '',
|
|
hotClose: [],
|
|
issueTotal: '',
|
|
deadline: '',
|
|
hotNumber: '',
|
|
hotPercent: '',
|
|
closedNumber: '',
|
|
closedPercent: '',
|
|
isShow: false,
|
|
isshow2: false,
|
|
ProjectData: [],
|
|
resolvedData: [],
|
|
data: {},
|
|
resolvedPercent: '',
|
|
beSolvedPercent: '',
|
|
passedProjectPercent: '',
|
|
colorProject: [],
|
|
colorNoProject: [],
|
|
visibleCascader: false,
|
|
SeletedTitle: '全部',
|
|
idLength: 0,
|
|
isShowEcharts: true,
|
|
},
|
|
selectTap: function () {
|
|
this.setData({
|
|
visibleCascader: true,
|
|
isShowEcharts: false
|
|
});
|
|
},
|
|
onLoad: function () {
|
|
this.getByLoginUser();
|
|
this.getIssueSurvey();
|
|
},
|
|
getByLoginUser: function () {
|
|
return __awaiter(this, void 0, void 0, function () {
|
|
var res, arr, err_1;
|
|
return __generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
_a.trys.push([0, 2, , 3]);
|
|
return [4, issue_1.getByLoginUser()];
|
|
case 1:
|
|
res = _a.sent();
|
|
arr = [
|
|
{
|
|
children: [],
|
|
label: '全部',
|
|
value: ''
|
|
}
|
|
];
|
|
this.setData({
|
|
optionsCascader: arr.concat(res.data.options)
|
|
});
|
|
wx.setStorageSync('childrenID', this.data.deptId);
|
|
return [3, 3];
|
|
case 2:
|
|
err_1 = _a.sent();
|
|
console.log(err_1);
|
|
return [3, 3];
|
|
case 3: return [2];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
onCloseCascader: function () {
|
|
this.setData({
|
|
visibleCascader: false,
|
|
isShowEcharts: !this.data.isShowEcharts,
|
|
});
|
|
this.getIssueSurvey();
|
|
},
|
|
onChangeCascader: function (e) {
|
|
var _this = this;
|
|
this.setData({
|
|
value2: e.detail.value,
|
|
idLength: e.detail.value.length,
|
|
SeletedTitle: e.detail.options.map(function (n) { return n.label; }).join('/'),
|
|
isShowEcharts: false
|
|
});
|
|
e.detail.value.forEach(function (item) {
|
|
_this.setData({
|
|
deptId: item
|
|
});
|
|
});
|
|
wx.setStorageSync('childrenID', this.data.deptId);
|
|
},
|
|
getIssueSurvey: function () {
|
|
return __awaiter(this, void 0, void 0, function () {
|
|
var res, arr, hotClose, hotClose, hotClose, hotClose, resolved, resolved, resolved, resolved, err_2;
|
|
return __generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
wx.showLoading({
|
|
title: 'Loading...',
|
|
mask: true,
|
|
});
|
|
_a.label = 1;
|
|
case 1:
|
|
_a.trys.push([1, 3, , 4]);
|
|
return [4, issue_1.getIssueSurvey(this.data.deptId)];
|
|
case 2:
|
|
res = _a.sent();
|
|
arr = [
|
|
{
|
|
value: res.data.list.unpassedProject,
|
|
name: '未转项目'
|
|
},
|
|
{
|
|
value: res.data.list.passedProject,
|
|
name: '已转项目'
|
|
},
|
|
];
|
|
if (res.data.list.hotNumber == 0 && res.data.list.closedNumber == 0) {
|
|
hotClose = [
|
|
{
|
|
value: res.data.list.hotNumber,
|
|
name: '热议中'
|
|
},
|
|
{
|
|
value: res.data.list.closedNumber,
|
|
name: '已关闭'
|
|
}
|
|
];
|
|
this.setData({
|
|
colorNoProject: ["#AD6DFE", "#FFA270"]
|
|
});
|
|
}
|
|
if (res.data.list.hotNumber == 0 && res.data.list.closedNumber !== 0) {
|
|
hotClose = [
|
|
{
|
|
value: res.data.list.closedNumber,
|
|
name: '已关闭'
|
|
}
|
|
];
|
|
this.setData({
|
|
colorNoProject: ["#FFA270"]
|
|
});
|
|
}
|
|
if (res.data.list.hotNumber !== 0 && res.data.list.closedNumber == 0) {
|
|
hotClose = [
|
|
{
|
|
value: res.data.list.hotNumber,
|
|
name: '热议中'
|
|
}
|
|
];
|
|
this.setData({
|
|
colorNoProject: ["#AD6DFE"]
|
|
});
|
|
}
|
|
if (res.data.list.hotNumber !== 0 && res.data.list.closedNumber !== 0) {
|
|
hotClose = [
|
|
{
|
|
value: res.data.list.hotNumber,
|
|
name: '热议中'
|
|
},
|
|
{
|
|
value: res.data.list.closedNumber,
|
|
name: '已关闭'
|
|
}
|
|
];
|
|
this.setData({
|
|
colorNoProject: ["#AD6DFE", "#FFA270"]
|
|
});
|
|
}
|
|
if (res.data.list.resolvedNumber == 0 && res.data.list.beSolvedNumber == 0) {
|
|
resolved = [
|
|
{
|
|
value: res.data.list.resolvedNumber,
|
|
name: '已解决'
|
|
},
|
|
{
|
|
value: res.data.list.beSolvedNumber,
|
|
name: '待解决'
|
|
}
|
|
];
|
|
this.setData({
|
|
colorProject: ["#63CFED", "#FF773F"]
|
|
});
|
|
}
|
|
if (res.data.list.resolvedNumber == 0 && res.data.list.beSolvedNumber !== 0) {
|
|
resolved = [
|
|
{
|
|
value: res.data.list.beSolvedNumber,
|
|
name: '待解决'
|
|
}
|
|
];
|
|
this.setData({
|
|
colorProject: ["#FF773F"]
|
|
});
|
|
}
|
|
if (res.data.list.resolvedNumber !== 0 && res.data.list.beSolvedNumber == 0) {
|
|
resolved = [
|
|
{
|
|
value: res.data.list.resolvedNumber,
|
|
name: '已解决'
|
|
},
|
|
];
|
|
this.setData({
|
|
colorProject: ["#63CFED"]
|
|
});
|
|
}
|
|
if (res.data.list.resolvedNumber !== 0 && res.data.list.beSolvedNumber !== 0) {
|
|
resolved = [
|
|
{
|
|
value: res.data.list.resolvedNumber,
|
|
name: '已解决'
|
|
},
|
|
{
|
|
value: res.data.list.beSolvedNumber,
|
|
name: '待解决'
|
|
}
|
|
];
|
|
this.setData({
|
|
colorProject: ["#63CFED", "#FF773F"]
|
|
});
|
|
}
|
|
this.setData({
|
|
deadline: res.data.deadline,
|
|
issueTotal: res.data.list.issueTotal,
|
|
noProjectData: arr,
|
|
hotClose: hotClose,
|
|
unpassedProjectPercent: (res.data.list.unpassedProjectPercent),
|
|
unpassedProject: res.data.list.unpassedProject,
|
|
hotNumber: res.data.list.hotNumber,
|
|
hotPercent: res.data.list.hotPercent,
|
|
closedNumber: res.data.list.closedNumber,
|
|
closedPercent: res.data.list.closedPercent,
|
|
isShow: true,
|
|
isshow2: true,
|
|
ProjectData: arr,
|
|
resolvedData: resolved,
|
|
data: res.data.list,
|
|
resolvedPercent: res.data.list.resolvedPercent,
|
|
beSolvedPercent: res.data.list.beSolvedPercent,
|
|
passedProjectPercent: res.data.list.passedProjectPercent
|
|
});
|
|
wx.hideLoading();
|
|
return [3, 4];
|
|
case 3:
|
|
err_2 = _a.sent();
|
|
console.log(err_2);
|
|
wx.hideLoading();
|
|
return [3, 4];
|
|
case 4: return [2];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
});
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWNzTnVtRGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidG9waWNzTnVtRGV0YWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQW1FO0FBQ25FLElBQUksQ0FBQztJQUNELElBQUksRUFBRTtRQUNGLE1BQU0sRUFBQyxFQUFFO1FBQ1QsSUFBSSxFQUFDLEtBQUs7UUFDVixVQUFVLEVBQUM7WUFDUDtnQkFDSSxRQUFRLEVBQUMsRUFBRTtnQkFDWCxLQUFLLEVBQUMsSUFBSTtnQkFDVixLQUFLLEVBQUMsRUFBRTthQUNYO1NBQ0o7UUFDRCxLQUFLLEVBQUMsQ0FBQztRQUNQLGFBQWEsRUFBQyxFQUFFO1FBQ2hCLHNCQUFzQixFQUFDLEVBQUU7UUFDekIsZUFBZSxFQUFDLEVBQUU7UUFDbEIsUUFBUSxFQUFDLEVBQUU7UUFDWCxVQUFVLEVBQUMsRUFBRTtRQUNiLFFBQVEsRUFBQyxFQUFFO1FBQ1gsU0FBUyxFQUFDLEVBQUU7UUFDWixVQUFVLEVBQUMsRUFBRTtRQUNiLFlBQVksRUFBQyxFQUFFO1FBQ2YsYUFBYSxFQUFDLEVBQUU7UUFDaEIsTUFBTSxFQUFDLEtBQUs7UUFDWixPQUFPLEVBQUMsS0FBSztRQUNiLFdBQVcsRUFBQyxFQUFFO1FBQ2QsWUFBWSxFQUFDLEVBQUU7UUFDZixJQUFJLEVBQUMsRUFBRTtRQUNQLGVBQWUsRUFBQyxFQUFFO1FBQ2xCLGVBQWUsRUFBQyxFQUFFO1FBQ2xCLG9CQUFvQixFQUFDLEVBQUU7UUFDdkIsWUFBWSxFQUFDLEVBQUU7UUFDZixjQUFjLEVBQUMsRUFBRTtRQUNqQixlQUFlLEVBQUMsS0FBSztRQUNyQixZQUFZLEVBQUMsSUFBSTtRQUNqQixRQUFRLEVBQUMsQ0FBQztRQUNWLGFBQWEsRUFBQyxJQUFJO0tBQ3JCO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDYixlQUFlLEVBQUMsSUFB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cG9ydCB7Z2V0QnlMb2dpblVzZXIsZ2V0SXNzdWVTdXJ2ZXl9IGZyb20gJy4uLy4uLy4uLy4uL2FwaS9pc3N1ZSdcclxuUGFnZSh7XHJcbiAgICBkYXRhOiB7XHJcbiAgICAgICAgZGVwdElkOicnLFxyXG4gICAgICAgIHNob3c6ZmFsc2UsLy/mjqfliLbkuIvmi4nliJfooajnmoTmmL7npLrpmpDol4/vvIxmYWxzZemakOiXj+OAgXRydWXmmL7npLpcclxuICAgICAgICBzZWxlY3REYXRhOltcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46W10sXHJcbiAgICAgICAgICAgICAgICBsYWJlbDon5YWo6YOoJyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOicnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdLC8v5LiL5ouJ5YiX6KGo55qE5pWw5o2uXHJcbiAgICAgICAgaW5kZXg6MCwvL+mAieaLqeeahOS4i+aLieWIl+ihqOS4i+agh1xyXG4gICAgICAgIG5vUHJvamVjdERhdGE6W10sXHJcbiAgICAgICAgdW5wYXNzZWRQcm9qZWN0UGVyY2VudDonJyxcclxuICAgICAgICB1bnBhc3NlZFByb2plY3Q6JycsXHJcbiAgICAgICAgaG90Q2xvc2U6W10sXHJcbiAgICAgICAgaXNzdWVUb3RhbDonJyxcclxuICAgICAgICBkZWFkbGluZTonJyxcclxuICAgICAgICBob3ROdW1iZXI6JycsXHJcbiAgICAgICAgaG90UGVyY2VudDonJyxcclxuICAgICAgICBjbG9zZWROdW1iZXI6JycsXHJcbiAgICAgICAgY2xvc2VkUGVyY2VudDonJyxcclxuICAgICAgICBpc1Nob3c6ZmFsc2UsXHJcbiAgICAgICAgaXNzaG93MjpmYWxzZSxcclxuICAgICAgICBQcm9qZWN0RGF0YTpbXSxcclxuICAgICAgICByZXNvbHZlZERhdGE6W10sXHJcbiAgICAgICAgZGF0YTp7fSxcclxuICAgICAgICByZXNvbHZlZFBlcmNlbnQ6JycsXHJcbiAgICAgICAgYmVTb2x2ZWRQZXJjZW50OicnLFxyXG4gICAgICAgIHBhc3NlZFByb2plY3RQZXJjZW50OicnLFxyXG4gICAgICAgIGNvbG9yUHJvamVjdDpbXSxcclxuICAgICAgICBjb2xvck5vUHJvamVjdDpbXSxcclxuICAgICAgICB2aXNpYmxlQ2FzY2FkZXI6ZmFsc2UsLy/kuInnuqfogZTliqhcclxuICAgICAgICBTZWxldGVkVGl0bGU6J+WFqOmDqCcsXHJcbiAgICAgICAgaWRMZW5ndGg6MCxcclxuICAgICAgICBpc1Nob3dFY2hhcnRzOnRydWUsXHJcbiAgICB9LFxyXG4gICAgIC8vIOeCueWHu+S4i+aLieaYvuekuuahhlxyXG4gICAgc2VsZWN0VGFwKCl7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICB2aXNpYmxlQ2FzY2FkZXI6dHJ1ZSxcclxuICAgICAgICBpc1Nob3dFY2hhcnRzOmZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgb25Mb2FkOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgIHRoaXMuZ2V0QnlMb2dpblVzZXIoKVxyXG4gICAgICAgICB0aGlzLmdldElzc3VlU3VydmV5KClcclxuICAgIH0sXHJcbiAgICAvKioqKirojrflj5bkuIvmi4noj5zljZUgKioqKiovXHJcbiAgICBhc3luYyBnZXRCeUxvZ2luVXNlcigpe1xyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgbGV0IHJlczphbnkgPSBhd2FpdCBnZXRCeUxvZ2luVXNlcigpXHJcbiAgICAgICAgICAgIGxldCBhcnI6YW55ID0gW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOltdLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiflhajpg6gnLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOicnXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgICAgIG9wdGlvbnNDYXNjYWRlcjphcnIuY29uY2F0KHJlcy5kYXRhLm9wdGlvbnMpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHd4LnNldFN0b3JhZ2VTeW5jKCdjaGlsZHJlbklEJywgdGhpcy5kYXRhLmRlcHRJZCk7XHJcbiAgICAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycilcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgLyoqKioqKioq6IGU5Yqo6YCJ5oup5byA5aeLKioqKioqLyBcclxuICAgIC8vIOWFs+mXremAieaLqeWIhuexu1xyXG4gICAgb25DbG9zZUNhc2NhZGVyKCkge1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgdmlzaWJsZUNhc2NhZGVyOiBmYWxzZSxcclxuICAgICAgICBpc1Nob3dFY2hhcnRzOiF0aGlzLmRhdGEuaXNTaG93RWNoYXJ0cyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuZ2V0SXNzdWVTdXJ2ZXkoKVxyXG4gICAgfSxcclxuICAgICAvLyDmlLnlj5jpgInmi6nliIbnsbtcclxuICAgIG9uQ2hhbmdlQ2FzY2FkZXIoZTphbnkpIHtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICAgdmFsdWUyOiBlLmRldGFpbC52YWx1ZSwgLy/ov5nkuKrmmK/miYDmnInnmoRpZFxyXG4gICAgICAgICAgICAgaWRMZW5ndGg6ZS5kZXRhaWwudmFsdWUubGVuZ3RoLFxyXG4gICAgICAgICAgICAvLyAgZGVwdElkOmUuZGV0YWlsLnZhbHVlW3RoaXMuZGF0YS5pZExlbmd0aF0sXHJcbiAgICAgICAgICAgICBTZWxldGVkVGl0bGU6IGUuZGV0YWlsLm9wdGlvbnMubWFwKChuOmFueSkgPT4gbi5sYWJlbCkuam9pbignLycpLCAvL+e7meS4i+aLieahhui1i+WAvFxyXG4gICAgICAgICAgICAgaXNTaG93RWNoYXJ0czpmYWxzZVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgZS5kZXRhaWwudmFsdWUuZm9yRWFjaCgoaXRlbTphbnkpPT57XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgICAgICBkZXB0SWQ6aXRlbVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgd3guc2V0U3RvcmFnZVN5bmMoJ2NoaWxkcmVuSUQnLCB0aGlzLmRhdGEuZGVwdElkKTtcclxuICAgIH0sXHJcbiAgICAvKioqKioqKirogZTliqjpgInmi6nlvIDlp4sqKioqKiovIFxyXG4gICAgLyoqKioqKirojrflj5borq7popjor6bmg4UqKioqKiovXHJcbiAgICBhc3luYyBnZXRJc3N1ZVN1cnZleSgpe1xyXG4gICAgICAgIHd4LnNob3dMb2FkaW5nKHtcclxuICAgICAgICAgIHRpdGxlOiAnTG9hZGluZy4uLicsIC8v5o+Q56S655qE5YaF5a65LFxyXG4gICAgICAgICAgbWFzazogdHJ1ZSwgLy/mmL7npLrpgI/mmI7okpnlsYLvvIzpmLLmraLop6bmkbjnqb/pgI8sXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0cnl7XHJcbiAgICAgICAgICAgIGxldCByZXM6YW55ID0gYXdhaXQgZ2V0SXNzdWVTdXJ2ZXkodGhpcy5kYXRhLmRlcHRJZClcclxuICAgICAgICAgICAgLy8g5pyq6L2s6aG555uuXHJcbiAgICAgICAgICAgIGxldCBhcnIgPSBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOnJlcy5kYXRhLmxpc3QudW5wYXNzZWRQcm9qZWN0LFxyXG4gICAgICAgICAgICAgICAgbmFtZTon5pyq6L2s6aG555uuJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTpyZXMuZGF0YS5saXN0LnBhc3NlZFByb2plY3QsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiflt7Lovazpobnnm64nXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgLyoqKirng63orq7kuK0s5bey5YWz6ZetICoqKiovXHJcbiAgICAgICAgICAgIGlmKHJlcy5kYXRhLmxpc3QuaG90TnVtYmVyPT0wICYmIHJlcy5kYXRhLmxpc3QuY2xvc2VkTnVtYmVyPT0wKXtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIGxldCBob3RDbG9zZSA9IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnJlcy5kYXRhLmxpc3QuaG90TnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOifng63orq7kuK0nXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnJlcy5kYXRhLmxpc3QuY2xvc2VkTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiflt7LlhbPpl60nXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3JOb1Byb2plY3Q6W1wiI0FENkRGRVwiLCBcIiNGRkEyNzBcIl1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocmVzLmRhdGEubGlzdC5ob3ROdW1iZXI9PTAgJiYgcmVzLmRhdGEubGlzdC5jbG9zZWROdW1iZXIgIT09MCl7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICBsZXQgaG90Q2xvc2UgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTpyZXMuZGF0YS5saXN0LmNsb3NlZE51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTon5bey5YWz6ZetJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yTm9Qcm9qZWN0OltcIiNGRkEyNzBcIl1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYocmVzLmRhdGEubGlzdC5ob3ROdW1iZXIgIT09MCAmJiByZXMuZGF0YS5saXN0LmNsb3NlZE51bWJlciA9PTApe1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgbGV0IGhvdENsb3NlID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6cmVzLmRhdGEubGlzdC5ob3ROdW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6J+eDreiuruS4rSdcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICBjb2xvck5vUHJvamVjdDpbXCIjQUQ2REZFXCJdXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHJlcy5kYXRhLmxpc3QuaG90TnVtYmVyICE9PTAgJiYgcmVzLmRhdGEubGlzdC5jbG9zZWROdW1iZXIgIT09MCl7XHJcbiAgICAgICAgICAgICAgICAgLyoqKirng63orq7kuK3lt7LlhbPpl60qKioqL1xyXG4gICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIGxldCBob3RDbG9zZSA9IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnJlcy5kYXRhLmxpc3QuaG90TnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOifng63orq7kuK0nXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnJlcy5kYXRhLmxpc3QuY2xvc2VkTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiflt7LlhbPpl60nXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3JOb1Byb2plY3Q6W1wiI0FENkRGRVwiLCBcIiNGRkEyNzBcIl1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLyoqKirng63orq7kuK0gLOW3suWFs+mXrSoqKiovXHJcbiAgICAgICAgICAgIC8vIOW3suino+WGs1xyXG4gICAgICAgICAgICBpZihyZXMuZGF0YS5saXN0LnJlc29sdmVkTnVtYmVyPT0wICYmIHJlcy5kYXRhLmxpc3QuYmVTb2x2ZWROdW1iZXI9PTApe1xyXG4gICAgICAgICAgICAgICAgLyoqKioq5bey6Kej5Yaz5b6F6Kej5YazICoqKioqL1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgbGV0IHJlc29sdmVkID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6cmVzLmRhdGEubGlzdC5yZXNvbHZlZE51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTon5bey6Kej5YazJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTpyZXMuZGF0YS5saXN0LmJlU29sdmVkTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiflvoXop6PlhrMnXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3JQcm9qZWN0OltcIiM2M0NGRURcIiwgXCIjRkY3NzNGXCJdXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHJlcy5kYXRhLmxpc3QucmVzb2x2ZWROdW1iZXI9PTAgJiYgcmVzLmRhdGEubGlzdC5iZVNvbHZlZE51bWJlciAhPT0wKXtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnJlcy5kYXRhLmxpc3QuYmVTb2x2ZWROdW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6J+W+heino+WGsydcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICBjb2xvclByb2plY3Q6W1wiI0ZGNzczRlwiXVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihyZXMuZGF0YS5saXN0LnJlc29sdmVkTnVtYmVyICE9PTAgJiYgcmVzLmRhdGEubGlzdC5iZVNvbHZlZE51bWJlciA9PTApe1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgbGV0IHJlc29sdmVkID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6cmVzLmRhdGEubGlzdC5yZXNvbHZlZE51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTon5bey6Kej5YazJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICBjb2xvclByb2plY3Q6W1wiIzYzQ0ZFRFwiXVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihyZXMuZGF0YS5saXN0LnJlc29sdmVkTnVtYmVyICE9PTAgJiYgcmVzLmRhdGEubGlzdC5iZVNvbHZlZE51bWJlciAhPT0wKXtcclxuICAgICAgICAgICAgICAgIC8qKioqKuW3suino+WGs+W+heino+WGsyAqKioqKi9cclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnJlcy5kYXRhLmxpc3QucmVzb2x2ZWROdW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6J+W3suino+WGsydcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6cmVzLmRhdGEubGlzdC5iZVNvbHZlZE51bWJlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTon5b6F6Kej5YazJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yUHJvamVjdDpbXCIjNjNDRkVEXCIsIFwiI0ZGNzczRlwiXVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICAgICAgZGVhZGxpbmU6cmVzLmRhdGEuZGVhZGxpbmUsLy/ml7bpl7RcclxuICAgICAgICAgICAgICAgIGlzc3VlVG90YWw6cmVzLmRhdGEubGlzdC5pc3N1ZVRvdGFsLC8v6K6u6aKY5oC75pWwXHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICBub1Byb2plY3REYXRhOmFyciwvL+acqui9rOmhueebrmVjaGFydHNcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIGhvdENsb3NlOmhvdENsb3NlLC8v5pyq6L2s6aG555uuZWNoYXJ0c1xyXG4gICAgICAgICAgICAgICAgdW5wYXNzZWRQcm9qZWN0UGVyY2VudDoocmVzLmRhdGEubGlzdC51bnBhc3NlZFByb2plY3RQZXJjZW50KSwvL+acqui9rOmhueebruWNoOavlFxyXG4gICAgICAgICAgICAgICAgdW5wYXNzZWRQcm9qZWN0OnJlcy5kYXRhLmxpc3QudW5wYXNzZWRQcm9qZWN0LC8v5pyq6L2s6aG555uuXHJcbiAgICAgICAgICAgICAgICBob3ROdW1iZXI6cmVzLmRhdGEubGlzdC5ob3ROdW1iZXIsLy/ng63orq7kuK1cclxuICAgICAgICAgICAgICAgIGhvdFBlcmNlbnQ6cmVzLmRhdGEubGlzdC5ob3RQZXJjZW50LC8v54Ot6K6u5Y2g5q+UXHJcbiAgICAgICAgICAgICAgICBjbG9zZWROdW1iZXI6cmVzLmRhdGEubGlzdC5jbG9zZWROdW1iZXIsLy/lt7LlhbPpl61cclxuICAgICAgICAgICAgICAgIGNsb3NlZFBlcmNlbnQ6cmVzLmRhdGEubGlzdC5jbG9zZWRQZXJjZW50LC8v5bey5YWz6Zet5Y2g5q+UXHJcbiAgICAgICAgICAgICAgICBpc1Nob3c6dHJ1ZSxcclxuICAgICAgICAgICAgICAgIGlzc2hvdzI6dHJ1ZSxcclxuICAgICAgICAgICAgICAgIC8vIOW3sui9rOmhueebruaVsOaNrlxyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgUHJvamVjdERhdGE6YXJyLC8vZWNoYXJ0c1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWREYXRhOnJlc29sdmVkLC8vZWNoYXJ0c1xyXG4gICAgICAgICAgICAgICAgZGF0YTpyZXMuZGF0YS5saXN0LC8v5omA5pyJ5pWw5o2uXHJcbiAgICAgICAgICAgICAgICByZXNvbHZlZFBlcmNlbnQ6cmVzLmRhdGEubGlzdC5yZXNvbHZlZFBlcmNlbnQsLy/lt7Lop6PlhrPpobnnm67ljaDmr5RcclxuICAgICAgICAgICAgICAgIGJlU29sdmVkUGVyY2VudDpyZXMuZGF0YS5saXN0LmJlU29sdmVkUGVyY2VudCwvL+W+heino+WGs+mhueebruWNoOavlFxyXG4gICAgICAgICAgICAgICAgcGFzc2VkUHJvamVjdFBlcmNlbnQ6cmVzLmRhdGEubGlzdC5wYXNzZWRQcm9qZWN0UGVyY2VudFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB3eC5oaWRlTG9hZGluZygpO1xyXG4gICAgICAgIH0gY2F0Y2goZXJyKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG4gICAgICAgICAgICB3eC5oaWRlTG9hZGluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgfSkiXX0=
|