榆山数据端小程序
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.
 
 

367 lines
44 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 echarts = require("../../../../../../components/ec-canvas/echarts.js");
var echarts_1 = require("../../../../utils/echarts");
var partyInteract_1 = require("../../../../../../api/partyInteract");
Component({
properties: {
deptid: {
type: String
}
},
data: {
ecA: {
lazyLoad: true
},
showTimePicker: false,
someMonthsType: 1,
timeList: [
{ time: '最近一个月', id: 1 },
{ time: '最近三个月', id: 2 },
{ time: '最近六个月', id: 3 },
{ time: '最近一年', id: 4 }
],
popList: [
{
title: '党员参与占比分析',
content: '是党员参与总人次,占比平台总参与人次的'
},
{
title: '参与人次计算',
content: '在平台参与的所有行为的次数累计,包括"浏览、点赞、踩、发布议题/话题、支持、反对"等,累计叠加计算,同一用户多次行为需重复计算'
},
{
title: '平台参与人次',
content: '是平台总的参与人次的统计,党员参与总人次+居民参加总人次,累计叠加计算'
},
{
title: '党员参与人次',
content: ' 是注册党员参与总人次累计,在平台参与的所有行为总和,累计叠加计算,同一党员多次行为需重复计算'
},
{
title: '统计周期',
content: '按照最新一个月、三个月、六个月、一年的晒选,根据所选择的时间,显示该时间段的数据内容'
},
],
data1: [],
data2: [],
data3: [],
xData: [],
data1Total: [],
data2Total: [],
data3Total: [],
xDataTotal: []
},
lifetimes: {
attached: function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.ecComponentA = this.selectComponent('#mychart-dom-bar');
return [4, this.getDynamicPercentAnalysis()];
case 1:
_a.sent();
return [4, this.initA()];
case 2:
_a.sent();
return [2];
}
});
});
}
},
observers: {
deptid: function (newValue, oldvalue) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
console.log('newValue', newValue);
console.log('oldvalue', oldvalue);
if (!(newValue.length !== 0)) return [3, 3];
return [4, this.getDynamicPercentAnalysis()];
case 1:
_a.sent();
if (this.data.someMonthsType == 2) {
this.setData({
data1: this.data.data1Total.slice(0, 4),
data2: this.data.data2Total.slice(0, 4),
data3: this.data.data3Total.slice(0, 4),
xData: this.data.xDataTotal.slice(0, 4)
});
}
else if (this.data.someMonthsType == 3) {
this.setData({
data1: this.data.data1Total.slice(0, 3),
data2: this.data.data2Total.slice(0, 3),
data3: this.data.data3Total.slice(0, 3),
xData: this.data.xDataTotal.slice(0, 3)
});
}
else if (this.data.someMonthsType == 4) {
this.setData({
data1: this.data.data1Total.slice(0, 4),
data2: this.data.data2Total.slice(0, 4),
data3: this.data.data3Total.slice(0, 4),
xData: this.data.xDataTotal.slice(0, 4)
});
}
return [4, this.initA()];
case 2:
_a.sent();
_a.label = 3;
case 3: return [2];
}
});
});
},
},
methods: {
chooseTimePicker: function () {
this.setData({
showTimePicker: !this.data.showTimePicker
});
},
onTimeChange: function (e) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.setData({
someMonthsType: e.currentTarget.dataset.time,
showTimePicker: false,
});
return [4, this.getDynamicPercentAnalysis()];
case 1:
_a.sent();
if (e.currentTarget.dataset.time == 2) {
this.setData({
data1: this.data.data1Total.slice(0, 4),
data2: this.data.data2Total.slice(0, 4),
data3: this.data.data3Total.slice(0, 4),
xData: this.data.xDataTotal.slice(0, 4)
});
}
else if (e.currentTarget.dataset.time == 3) {
this.setData({
data1: this.data.data1Total.slice(0, 3),
data2: this.data.data2Total.slice(0, 3),
data3: this.data.data3Total.slice(0, 3),
xData: this.data.xDataTotal.slice(0, 3)
});
}
else if (e.currentTarget.dataset.time == 4) {
this.setData({
data1: this.data.data1Total.slice(0, 4),
data2: this.data.data2Total.slice(0, 4),
data3: this.data.data3Total.slice(0, 4),
xData: this.data.xDataTotal.slice(0, 4)
});
}
return [4, this.initA()];
case 2:
_a.sent();
return [2];
}
});
});
},
toLeft: function () {
if (this.data.someMonthsType == 2) {
if (this.data.xData[0] == '第5周') {
this.setData({
data1: this.data.data1Total.slice(0, 4),
data2: this.data.data2Total.slice(0, 4),
data3: this.data.data3Total.slice(0, 4),
xData: this.data.xDataTotal.slice(0, 4)
});
}
else if (this.data.xData[0] == '第9周') {
this.setData({
data1: this.data.data1Total.slice(4, 8),
data2: this.data.data2Total.slice(4, 8),
data3: this.data.data3Total.slice(4, 8),
xData: this.data.xDataTotal.slice(4, 8)
});
}
}
else if (this.data.someMonthsType == 3) {
if (this.data.xData[0] == '第4个月') {
this.setData({
data1: this.data.data1Total.slice(0, 3),
data2: this.data.data2Total.slice(0, 3),
data3: this.data.data3Total.slice(0, 3),
xData: this.data.xDataTotal.slice(0, 3)
});
}
}
else if (this.data.someMonthsType == 4) {
if (this.data.xData[0] == '第5个月') {
this.setData({
data1: this.data.data1Total.slice(0, 4),
data2: this.data.data2Total.slice(0, 4),
data3: this.data.data3Total.slice(0, 4),
xData: this.data.xDataTotal.slice(0, 4)
});
}
else if (this.data.xData[0] == '第9个月') {
this.setData({
data1: this.data.data1Total.slice(4, 8),
data2: this.data.data2Total.slice(4, 8),
data3: this.data.data3Total.slice(4, 8),
xData: this.data.xDataTotal.slice(4, 8)
});
}
}
this.initA();
},
toRight: function () {
if (this.data.someMonthsType == 2) {
if (this.data.xData[0] == '第1周') {
this.setData({
data1: this.data.data1Total.slice(4, 8),
data2: this.data.data2Total.slice(4, 8),
data3: this.data.data3Total.slice(4, 8),
xData: this.data.xDataTotal.slice(4, 8)
});
}
else if (this.data.xData[0] == '第5周') {
this.setData({
data1: this.data.data1Total.slice(8, 12),
data2: this.data.data2Total.slice(8, 12),
data3: this.data.data3Total.slice(8, 12),
xData: this.data.xDataTotal.slice(8, 12)
});
}
}
else if (this.data.someMonthsType == 3) {
if (this.data.xData[0] == '第1个月') {
this.setData({
data1: this.data.data1Total.slice(3, 6),
data2: this.data.data2Total.slice(3, 6),
data3: this.data.data3Total.slice(3, 6),
xData: this.data.xDataTotal.slice(3, 6)
});
}
}
else if (this.data.someMonthsType == 4) {
if (this.data.xData[0] == '第1个月') {
this.setData({
data1: this.data.data1Total.slice(4, 8),
data2: this.data.data2Total.slice(4, 8),
data3: this.data.data3Total.slice(4, 8),
xData: this.data.xDataTotal.slice(4, 8)
});
}
else if (this.data.xData[0] == '第5个月') {
this.setData({
data1: this.data.data1Total.slice(8, 12),
data2: this.data.data2Total.slice(8, 12),
data3: this.data.data3Total.slice(8, 12),
xData: this.data.xDataTotal.slice(8, 12)
});
}
}
this.initA();
},
getDynamicPercentAnalysis: function () {
return __awaiter(this, void 0, void 0, function () {
var obj, res, data1_1, data2_1, data3_1, xData_1, err_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
obj = {
DeptId: this.properties.deptid,
someMonthsType: this.data.someMonthsType,
analysisType: '1'
};
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
return [4, partyInteract_1.getDynamicPercentAnalysis(obj)];
case 2:
res = _a.sent();
data1_1 = [];
data2_1 = [];
data3_1 = [];
xData_1 = [];
console.log('reszhan', res);
res.data.list.forEach(function (element) {
data1_1.unshift(element.partyDynamicTimes);
data2_1.unshift(element.allDynamicTimes);
data3_1.unshift(element.percent * 100);
xData_1.unshift(element.timeName);
});
this.setData({
data1: data1_1,
data2: data2_1,
data3: data3_1,
xData: xData_1,
});
this.setData({
data1Total: data1_1,
data2Total: data2_1,
data3Total: data3_1,
xDataTotal: xData_1
});
return [3, 4];
case 3:
err_1 = _a.sent();
console.log(err_1);
return [3, 4];
case 4: return [2];
}
});
});
},
initA: function () {
var _this = this;
this.ecComponentA.init(function (canvas, width, height) {
var chart = echarts.init(canvas, null, {
width: width,
height: height
});
echarts_1.getparticipation2(chart, _this.data.data3, _this.data.data1, _this.data.data2, _this.data.xData);
return chart;
});
},
}
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljaXBhdGlvblBlcmNlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwYXJ0aWNpcGF0aW9uUGVyY2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJFQUE0RTtBQUM1RSxxREFBNkQ7QUFDN0QscUVBQStFO0FBQy9FLFNBQVMsQ0FBQztJQUNSLFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxNQUFNO1NBQ2I7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLEdBQUcsRUFBRTtZQUNILFFBQVEsRUFBRSxJQUFJO1NBQ2Y7UUFDRCxjQUFjLEVBQUUsS0FBSztRQUNyQixjQUFjLEVBQUUsQ0FBQztRQUNqQixRQUFRLEVBQUU7WUFDUixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN4QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN4QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUN4QixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtTQUFDO1FBQzFCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLEtBQUssRUFBRSxVQUFVO2dCQUNqQixPQUFPLEVBQUUscUJBQXFCO2FBQy9CO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsT0FBTyxFQUFFLGlFQUFpRTthQUMzRTtZQUNEO2dCQUNFLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxxQ0FBcUM7YUFDL0M7WUFDRDtnQkFDRSxLQUFLLEVBQUUsUUFBUTtnQkFDZixPQUFPLEVBQUUsaURBQWlEO2FBQzNEO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsT0FBTyxFQUFFLDRDQUE0QzthQUN0RDtTQUVGO1FBQ0QsS0FB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RUosSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFO29CQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO3FCQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFO29CQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO2FBQ0Y7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7Z0JBRXhDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFO29CQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO2FBQ0Y7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFO29CQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO3FCQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxFQUFFO29CQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDO3dCQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUN2QyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDeEMsQ0FBQyxDQUFBO2lCQUNIO2FBQ0Y7WUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDZCxDQUFDO1FBQ0QsT0FBTztZQUVMLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRTtvQkFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQzt3QkFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FB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T0FBSztnQ0FDWixLQUFLLEVBQUUsT0FBSzs2QkFDYixDQUFDLENBQUE7NEJBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQ0FDWCxVQUFVLEVBQUUsT0FBSztnQ0FDakIsVUFBVSxFQUFFLE9BQUs7Z0NBQ2pCLFVBQVUsRUFBRSxPQUFLO2dDQUNqQixVQUFVLEVBQUUsT0FBSzs2QkFDbEIsQ0FBQyxDQUFBOzs7OzRCQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBRyxDQUFDLENBQUE7Ozs7OztTQUVuQjtRQUNELEtBQUssRUFBTDtZQUFBLGlCQVVDO1lBUkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBQyxNQUFXLEVBQUUsS0FBVSxFQUFFLE1BQVc7Z0JBQzFELElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtvQkFDdkMsS0FBSyxFQUFFLEtBQUs7b0JBQ1osTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxDQUFBO2dCQUNGLDJCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUM1RixPQUFPLEtBQUssQ0FBQTtZQUNkLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztLQUNGO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZWMtY2FudmFzL2VjaGFydHMuanMnXHJcbmltcG9ydCB7IGdldHBhcnRpY2lwYXRpb24yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZWNoYXJ0cydcclxuaW1wb3J0IHsgZ2V0RHluYW1pY1BlcmNlbnRBbmFseXNpcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2FwaS9wYXJ0eUludGVyYWN0J1xyXG5Db21wb25lbnQoe1xyXG4gIHByb3BlcnRpZXM6IHtcclxuICAgIGRlcHRpZDoge1xyXG4gICAgICB0eXBlOiBTdHJpbmdcclxuICAgIH1cclxuICB9LFxyXG4gIGRhdGE6IHtcclxuICAgIGVjQToge1xyXG4gICAgICBsYXp5TG9hZDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHNob3dUaW1lUGlja2VyOiBmYWxzZSxcclxuICAgIHNvbWVNb250aHNUeXBlOiAxLFxyXG4gICAgdGltZUxpc3Q6IFtcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiA5Liq5pyIJywgaWQ6IDEgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiJ5Liq5pyIJywgaWQ6IDIgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5YWt5Liq5pyIJywgaWQ6IDMgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiA5bm0JywgaWQ6IDQgfV0sXHJcbiAgICBwb3BMaXN0OiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WFmuWRmOWPguS4juWNoOavlOWIhuaekCcsXHJcbiAgICAgICAgY29udGVudDogJ+aYr+WFmuWRmOWPguS4juaAu+S6uuasoSzljaDmr5TlubPlj7DmgLvlj4LkuI7kurrmrKHnmoQnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WPguS4juS6uuasoeiuoeeulycsXHJcbiAgICAgICAgY29udGVudDogJ+WcqOW5s+WPsOWPguS4jueahOaJgOacieihjOS4uueahOasoeaVsOe0r+iuoSzljIXmi6xcIua1j+iniOOAgeeCuei1nuOAgei4qeOAgeWPkeW4g+iurumimC/or53popjjgIHmlK/mjIHjgIHlj43lr7lcIuetiSzntK/orqHlj6DliqDorqHnrpcs5ZCM5LiA55So5oi35aSa5qyh6KGM5Li66ZyA6YeN5aSN6K6h566XJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICflubPlj7Dlj4LkuI7kurrmrKEnLFxyXG4gICAgICAgIGNvbnRlbnQ6ICfmmK/lubPlj7DmgLvnmoTlj4LkuI7kurrmrKHnmoTnu5/orqEs5YWa5ZGY5Y+C5LiO5oC75Lq65qyhK+WxheawkeWPguWKoOaAu+S6uuasoSzntK/orqHlj6DliqDorqHnrpcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WFmuWRmOWPguS4juS6uuasoScsXHJcbiAgICAgICAgY29udGVudDogJyDmmK/ms6jlhozlhZrlkZjlj4LkuI7mgLvkurrmrKHntK/orqEs5Zyo5bmz5Y+w5Y+C5LiO55qE5omA5pyJ6KGM5Li65oC75ZKMLOe0r+iuoeWPoOWKoOiuoeeulyzlkIzkuIDlhZrlkZjlpJrmrKHooYzkuLrpnIDph43lpI3orqHnrpcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+e7n+iuoeWRqOacnycsXHJcbiAgICAgICAgY29udGVudDogJ+aMieeFp+acgOaWsOS4gOS4quaciOOAgeS4ieS4quaciOOAgeWFreS4quaciOOAgeS4gOW5tOeahOaZkumAiSzmoLnmja7miYDpgInmi6nnmoTml7bpl7Qs5pi+56S66K+l5pe26Ze05q6155qE5pWw5o2u5YaF5a65J1xyXG4gICAgICB9LFxyXG5cclxuICAgIF0sXHJcbiAgICBkYXRhMTogW10sLy/lhZrlkZjlj4LkuI4wLCAwLCAwLCAxMDBcclxuICAgIGRhdGEyOiBbXSwvL+WxheawkeWPguS4jjksIDMwLCA5LCA0MFxyXG4gICAgZGF0YTM6IFtdLC8v57q/XHJcbiAgICB4RGF0YTogW10sLy8n56ys5LiA5ZGoJywgJ+esrOS6jOWRqCcsICfnrKzkuInlkagnLCAn56ys5Zub5ZGoJ1xyXG4gICAgZGF0YTFUb3RhbDogW10sXHJcbiAgICBkYXRhMlRvdGFsOiBbXSxcclxuICAgIGRhdGEzVG90YWw6IFtdLFxyXG4gICAgeERhdGFUb3RhbDogW11cclxuICB9LFxyXG4gIGxpZmV0aW1lczoge1xyXG4gICAgYXN5bmMgYXR0YWNoZWQoKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgdGhpcy5lY0NvbXBvbmVudEEgPSB0aGlzLnNlbGVjdENvbXBvbmVudCgnI215Y2hhcnQtZG9tLWJhcicpXHJcbiAgICAgYXdhaXQgdGhpcy5nZXREeW5hbWljUGVyY2VudEFuYWx5c2lzKClcclxuICAgICBhd2FpdCB0aGlzLmluaXRBKClcclxuICAgIH1cclxuICB9LFxyXG4gIG9ic2VydmVyczoge1xyXG4gICAgYXN5bmMgZGVwdGlkKG5ld1ZhbHVlLCBvbGR2YWx1ZSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnbmV3VmFsdWUnLG5ld1ZhbHVlKVxyXG4gICAgICBjb25zb2xlLmxvZygnb2xkdmFsdWUnLG9sZHZhbHVlKVxyXG4gICAgICBpZiAobmV3VmFsdWUubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5nZXREeW5hbWljUGVyY2VudEFuYWx5c2lzKClcclxuICAgICAgICBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDIpIHtcclxuICAgICAgICAgIC8vIC8vIOacgOi/keS4ieS4quaciFxyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDMpIHtcclxuICAgICAgICAgIC8vIOacgOi/keWFreS4quaciFxyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgMyksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCAzKSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDMpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDQpIHtcclxuICAgICAgICAgIC8vIOacgOi/keS4gOW5tFxyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLmluaXRBKClcclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgfSxcclxuICBtZXRob2RzOiB7XHJcbiAgICAvLyDmmL7npLrpmpDol4/ml7bpl7TpgInmi6nmoYZcclxuICAgIGNob29zZVRpbWVQaWNrZXIoKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc2hvd1RpbWVQaWNrZXI6ICF0aGlzLmRhdGEuc2hvd1RpbWVQaWNrZXJcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICAvLyDpgInmi6nml7bpl7RcclxuICAgIGFzeW5jIG9uVGltZUNoYW5nZShlOiBhbnkpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3NvbWVNb250aHNUeXBlJywgZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQudGltZSlcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBzb21lTW9udGhzVHlwZTogZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQudGltZSxcclxuICAgICAgICBzaG93VGltZVBpY2tlcjogZmFsc2UsXHJcbiAgICAgIH0pXHJcbiAgICAgIGF3YWl0IHRoaXMuZ2V0RHluYW1pY1BlcmNlbnRBbmFseXNpcygpXHJcbiAgICAgIGlmIChlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC50aW1lID09IDIpIHtcclxuICAgICAgICAvLyAvLyDmnIDov5HkuInkuKrmnIhcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIGlmIChlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC50aW1lID09IDMpIHtcclxuICAgICAgICAvLyDmnIDov5Hlha3kuKrmnIhcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDMpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBlbHNlIGlmIChlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC50aW1lID09IDQpIHtcclxuICAgICAgICAvLyDmnIDov5HkuIDlubRcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG5cclxuICAgICAgYXdhaXQgdGhpcy5pbml0QSgpXHJcblxyXG4gICAgfSxcclxuICAgIHRvTGVmdCgpIHtcclxuICAgICAgLy8gM+S4quaciFxyXG4gICAgICBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDIpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhLnhEYXRhWzBdID09ICfnrKw15ZGoJykge1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDQpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnhEYXRhWzBdID09ICfnrKw55ZGoJykge1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDQsIDgpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUgPT0gMykge1xyXG4gICAgICAgIC8vIOacgOi/kTbkuKrmnIhcclxuICAgICAgICBpZiAodGhpcy5kYXRhLnhEYXRhWzBdID09ICfnrKw05Liq5pyIJykge1xyXG4gICAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgICAgZGF0YTE6IHRoaXMuZGF0YS5kYXRhMVRvdGFsLnNsaWNlKDAsIDMpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoMCwgMyksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSgwLCAzKSxcclxuICAgICAgICAgICAgeERhdGE6IHRoaXMuZGF0YS54RGF0YVRvdGFsLnNsaWNlKDAsIDMpXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUgPT0gNCkge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDXkuKrmnIgnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoMCwgNCksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSgwLCA0KSxcclxuICAgICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDAsIDQpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoMCwgNClcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDnkuKrmnIgnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoNCwgOClcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmluaXRBKClcclxuICAgIH0sXHJcbiAgICB0b1JpZ2h0KCkge1xyXG4gICAgICAvLyAz5Liq5pyIXHJcbiAgICAgIGlmICh0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUgPT0gMikge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDHlkagnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgZGF0YTM6IHRoaXMuZGF0YS5kYXRhM1RvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoNCwgOClcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEueERhdGFbMF0gPT0gJ+esrDXlkagnKSB7XHJcbiAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgICBkYXRhMTogdGhpcy5kYXRhLmRhdGExVG90YWwuc2xpY2UoOCwgMTIpLFxyXG4gICAgICAgICAgICBkYXRhMjogdGhpcy5kYXRhLmRhdGEyVG90YWwuc2xpY2UoOCwgMTIpLFxyXG4gICAgICAgICAgICBkYXRhMzogdGhpcy5kYXRhLmRhdGEzVG90YWwuc2xpY2UoOCwgMTIpLFxyXG4gICAgICAgICAgICB4RGF0YTogdGhpcy5kYXRhLnhEYXRhVG90YWwuc2xpY2UoOCwgMTIpXHJcbiAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDMpIHtcclxuICAgICAgICAvLyDmnIDov5E25Liq5pyIXHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS54RGF0YVswXSA9PSAn56ysMeS4quaciCcpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGRhdGExOiB0aGlzLmRhdGEuZGF0YTFUb3RhbC5zbGljZSgzLCA2KSxcclxuICAgICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDMsIDYpLFxyXG4gICAgICAgICAgICBkYXRhMzogdGhpcy5kYXRhLmRhdGEzVG90YWwuc2xpY2UoMywgNiksXHJcbiAgICAgICAgICAgIHhEYXRhOiB0aGlzLmRhdGEueERhdGFUb3RhbC5zbGljZSgzLCA2KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhLnNvbWVNb250aHNUeXBlID09IDQpIHtcclxuICAgICAgICAvLyAx5bm0XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS54RGF0YVswXSA9PSAn56ysMeS4quaciCcpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGRhdGExOiB0aGlzLmRhdGEuZGF0YTFUb3RhbC5zbGljZSg0LCA4KSxcclxuICAgICAgICAgICAgZGF0YTI6IHRoaXMuZGF0YS5kYXRhMlRvdGFsLnNsaWNlKDQsIDgpLFxyXG4gICAgICAgICAgICBkYXRhMzogdGhpcy5kYXRhLmRhdGEzVG90YWwuc2xpY2UoNCwgOCksXHJcbiAgICAgICAgICAgIHhEYXRhOiB0aGlzLmRhdGEueERhdGFUb3RhbC5zbGljZSg0LCA4KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS54RGF0YVswXSA9PSAn56ysNeS4quaciCcpIHtcclxuICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGRhdGExOiB0aGlzLmRhdGEuZGF0YTFUb3RhbC5zbGljZSg4LCAxMiksXHJcbiAgICAgICAgICAgIGRhdGEyOiB0aGlzLmRhdGEuZGF0YTJUb3RhbC5zbGljZSg4LCAxMiksXHJcbiAgICAgICAgICAgIGRhdGEzOiB0aGlzLmRhdGEuZGF0YTNUb3RhbC5zbGljZSg4LCAxMiksXHJcbiAgICAgICAgICAgIHhEYXRhOiB0aGlzLmRhdGEueERhdGFUb3RhbC5zbGljZSg4LCAxMilcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5pdEEoKVxyXG4gICAgfSxcclxuICAgIGFzeW5jIGdldER5bmFtaWNQZXJjZW50QW5hbHlzaXMoKSB7XHJcbiAgICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgRGVwdElkOiB0aGlzLnByb3BlcnRpZXMuZGVwdGlkLFxyXG4gICAgICAgIHNvbWVNb250aHNUeXBlOiB0aGlzLmRhdGEuc29tZU1vbnRoc1R5cGUsXHJcbiAgICAgICAgYW5hbHlzaXNUeXBlOiAnMSdcclxuICAgICAgfVxyXG4gICAgICB0cnkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBsZXQgcmVzOiBhbnkgPSBhd2FpdCBnZXREeW5hbWljUGVyY2VudEFuYWx5c2lzKG9iailcclxuICAgICAgICBsZXQgZGF0YTE6IGFueSA9IFtdXHJcbiAgICAgICAgbGV0IGRhdGEyOiBhbnkgPSBbXVxyXG4gICAgICAgIGxldCBkYXRhMzogYW55ID0gW11cclxuICAgICAgICBsZXQgeERhdGE6IGFueSA9IFtdXHJcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3poYW4nLCByZXMpXHJcbiAgICAgICAgcmVzLmRhdGEubGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGRhdGExLnVuc2hpZnQoZWxlbWVudC5wYXJ0eUR5bmFtaWNUaW1lcylcclxuICAgICAgICAgIGRhdGEyLnVuc2hpZnQoZWxlbWVudC5hbGxEeW5hbWljVGltZXMpXHJcbiAgICAgICAgICBkYXRhMy51bnNoaWZ0KGVsZW1lbnQucGVyY2VudCoxMDApXHJcbiAgICAgICAgICB4RGF0YS51bnNoaWZ0KGVsZW1lbnQudGltZU5hbWUpXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgZGF0YTE6IGRhdGExLFxyXG4gICAgICAgICAgZGF0YTI6IGRhdGEyLFxyXG4gICAgICAgICAgZGF0YTM6IGRhdGEzLFxyXG4gICAgICAgICAgeERhdGE6IHhEYXRhLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIGRhdGExVG90YWw6IGRhdGExLFxyXG4gICAgICAgICAgZGF0YTJUb3RhbDogZGF0YTIsXHJcbiAgICAgICAgICBkYXRhM1RvdGFsOiBkYXRhMyxcclxuICAgICAgICAgIHhEYXRhVG90YWw6IHhEYXRhXHJcbiAgICAgICAgfSlcclxuICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgaW5pdEEoKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgdGhpcy5lY0NvbXBvbmVudEEuaW5pdCgoY2FudmFzOiBhbnksIHdpZHRoOiBhbnksIGhlaWdodDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2hhcnQgPSBlY2hhcnRzLmluaXQoY2FudmFzLCBudWxsLCB7XHJcbiAgICAgICAgICB3aWR0aDogd2lkdGgsXHJcbiAgICAgICAgICBoZWlnaHQ6IGhlaWdodFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgZ2V0cGFydGljaXBhdGlvbjIoY2hhcnQsIHRoaXMuZGF0YS5kYXRhMywgdGhpcy5kYXRhLmRhdGExLCB0aGlzLmRhdGEuZGF0YTIsIHRoaXMuZGF0YS54RGF0YSlcclxuICAgICAgICByZXR1cm4gY2hhcnRcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgfVxyXG59KSJdfQ==