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

331 lines
31 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 reality_1 = require("../../../../api/reality");
Page({
data: {
isClick: 'topic',
showTimePicker: false,
someMonthsType: 1,
timeList: [
{ time: '最近一个月', id: 1 },
{ time: '最近三个月', id: 2 },
{ time: '最近六个月', id: 3 },
{ time: '最近一年', id: 4 }
],
list: [],
pageIndex: 1,
pageSize: 10,
total: 0,
loadVisible: true,
loadType: 'more',
isShow: false,
listLength: 0,
isShowLoading: true,
},
onLoad: function (options) {
this.getTopicHotList();
},
goIndex: function (e) {
if (this.data.isClick == "topic") {
wx.navigateTo({ url: "/subpages/issue/pages/detail/topicDetail/topicDetail?Id=" + e.currentTarget.dataset.id });
}
else if (this.data.isClick == "issue") {
wx.navigateTo({ url: "/subpages/issue/pages/detail/IssueDetails/issueDetails?Id=" + e.currentTarget.dataset.id });
}
else if (this.data.isClick == "project") {
wx.navigateTo({ url: "/subpages/issue/pages/detail/projectDetails/projectDetails?Id=" + e.currentTarget.dataset.id });
}
},
triggle: function (e) {
if (this.data.isShowLoading) {
wx.showToast({
title: '正在加载中请稍后切换',
icon: 'none',
duration: 2000,
mask: true,
});
return;
}
var currentTarget = e.currentTarget;
this.setData({
list: [],
loadType: 'more',
isShow: false,
pageIndex: 1,
showTimePicker: false
});
if (currentTarget.dataset.index == "最热话题") {
this.setData({
isClick: 'topic',
});
this.getTopicHotList();
}
else if (currentTarget.dataset.index == "最热议题") {
this.setData({
isClick: 'issue',
});
this.getHotIssueList();
}
else if (currentTarget.dataset.index == "最热项目") {
this.setData({
isClick: 'project',
});
this.getHotItemList();
}
},
chooseTimePicker: function () {
if (this.data.isShowLoading) {
wx.showToast({
title: '正在加载中请稍后切换',
icon: 'none',
duration: 2000,
mask: true,
});
return;
}
this.setData({
showTimePicker: !this.data.showTimePicker
});
},
onTimeChange: function (e) {
this.setData({
someMonthsType: e.currentTarget.dataset.time,
showTimePicker: false,
preloadVisible: true,
loadType: 'more',
isShow: false,
pageIndex: 1,
list: []
});
if (this.data.isClick == "topic") {
this.getTopicHotList();
}
else if (this.data.isClick == "issue") {
this.getHotIssueList();
}
else if (this.data.isClick == "project") {
this.getHotItemList();
}
},
getTopicHotList: function () {
return __awaiter(this, void 0, void 0, function () {
var obj, res, err_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.setData({
loadVisible: true,
isShowLoading: true,
});
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
obj = {
pageIndex: this.data.pageIndex,
pageSize: this.data.pageSize,
someMonthsType: this.data.someMonthsType
};
return [4, reality_1.getTopicHotList(obj)];
case 2:
res = _a.sent();
this.setData({
list: this.data.list.concat(res.data.list),
listLength: res.data.list.length,
isShowLoading: false,
});
if (this.data.listLength !== this.data.pageSize) {
this.setData({
loadType: 'none',
isShowLoading: false,
});
}
if (this.data.list.length == 0) {
this.setData({
loadVisible: false,
isShow: true,
isShowLoading: false,
});
}
return [3, 4];
case 3:
err_1 = _a.sent();
this.setData({
loadVisible: false,
isShow: true,
isShowLoading: true,
});
return [3, 4];
case 4: return [2];
}
});
});
},
getHotIssueList: function () {
return __awaiter(this, void 0, void 0, function () {
var obj, res, err_2;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.setData({
loadVisible: true,
isShowLoading: true,
});
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
obj = {
pageIndex: this.data.pageIndex,
pageSize: this.data.pageSize,
someMonthsType: this.data.someMonthsType
};
return [4, reality_1.getHotIssueList(obj)];
case 2:
res = _a.sent();
this.setData({
list: this.data.list.concat(res.data.list),
listLength: res.data.list.length,
isShowLoading: false,
});
if (this.data.listLength !== this.data.pageSize) {
this.setData({
loadType: 'none',
isShowLoading: false,
});
}
if (this.data.list.length == 0) {
this.setData({
loadVisible: false,
isShow: true,
isShowLoading: false,
});
}
return [3, 4];
case 3:
err_2 = _a.sent();
this.setData({
loadVisible: false,
isShow: true,
isShowLoading: false,
});
return [3, 4];
case 4: return [2];
}
});
});
},
getHotItemList: function () {
return __awaiter(this, void 0, void 0, function () {
var obj, res, err_3;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.setData({
loadVisible: true,
isShowLoading: true,
});
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
obj = {
pageIndex: this.data.pageIndex,
pageSize: this.data.pageSize,
someMonthsType: this.data.someMonthsType
};
return [4, reality_1.getHotItemList(obj)];
case 2:
res = _a.sent();
this.setData({
list: this.data.list.concat(res.data.list),
listLength: res.data.list.length,
isShowLoading: false,
});
if (this.data.listLength !== this.data.pageSize) {
this.setData({
loadType: 'none',
isShowLoading: false,
});
}
if (this.data.list.length == 0) {
this.setData({
loadVisible: false,
isShow: true,
isShowLoading: false,
});
}
return [3, 4];
case 3:
err_3 = _a.sent();
this.setData({
loadVisible: false,
isShow: true,
isShowLoading: false,
});
return [3, 4];
case 4: return [2];
}
});
});
},
onReachBottom: function () {
if (this.data.listLength !== this.data.pageSize) {
this.setData({
loadType: 'none',
});
return;
}
this.setData({
loadType: 'more',
});
var obj = {
pageIndex: ++this.data.pageIndex,
pageSize: this.data.pageSize,
someMonthsType: this.data.someMonthsType
};
if (this.data.isClick == "topic") {
this.getTopicHotList();
}
else if (this.data.isClick == "issue") {
this.getHotIssueList();
}
else if (this.data.isClick == "project") {
this.getHotItemList();
}
},
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVvcGxlSG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGVvcGxlSG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQTBGO0FBQzFGLElBQUksQ0FBQztJQUNILElBQUksRUFBRTtRQUNKLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLFFBQVEsRUFBRTtZQUNSLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ3hCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1NBQUM7UUFDMUIsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsQ0FBQztRQUNaLFFBQVEsRUFBRSxFQUFFO1FBQ1osS0FBSyxFQUFFLENBQUM7UUFDUixXQUFXLEVBQUUsSUFBSTtRQUNqQixRQUFRLEVBQUUsTUFBTTtRQUNoQixNQUFNLEVBQUUsS0FBSztRQUNiLFVBQVUsRUFBRSxDQUFDO1FBQ2IsYUFBYSxFQUFFLElBQUk7S0FDcEI7SUFLRCxNQUFNLEVBQUUsVUFBVSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsT0FBTyxFQUFQLFVBQVEsQ0FBTTtRQUNaLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxFQUFFO1lBQ2hDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsNkRBQTJELENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUksRUFBRSxDQUFDLENBQUM7U0FD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QUksT0FBTyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtTQUN2QjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtTQUN0QjtJQUNILENBQUM7Q0FFRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRUb3BpY0hvdExpc3QsIGdldEhvdElzc3VlTGlzdCwgZ2V0SG90SXRlbUxpc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9hcGkvcmVhbGl0eSdcclxuUGFnZSh7XHJcbiAgZGF0YToge1xyXG4gICAgaXNDbGljazogJ3RvcGljJyxcclxuICAgIHNob3dUaW1lUGlja2VyOiBmYWxzZSxcclxuICAgIHNvbWVNb250aHNUeXBlOiAxLFxyXG4gICAgdGltZUxpc3Q6IFtcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiA5Liq5pyIJywgaWQ6IDEgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiJ5Liq5pyIJywgaWQ6IDIgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5YWt5Liq5pyIJywgaWQ6IDMgfSxcclxuICAgICAgeyB0aW1lOiAn5pyA6L+R5LiA5bm0JywgaWQ6IDQgfV0sXHJcbiAgICBsaXN0OiBbXSxcclxuICAgIHBhZ2VJbmRleDogMSxcclxuICAgIHBhZ2VTaXplOiAxMCxcclxuICAgIHRvdGFsOiAwLFxyXG4gICAgbG9hZFZpc2libGU6IHRydWUsXHJcbiAgICBsb2FkVHlwZTogJ21vcmUnLFxyXG4gICAgaXNTaG93OiBmYWxzZSxcclxuICAgIGxpc3RMZW5ndGg6IDAsXHJcbiAgICBpc1Nob3dMb2FkaW5nOiB0cnVlLCAvL3RydWUg5q2j5Zyo5Yqg6L295LitIGZhbHNlIOWPr+S7peWIh+aNolxyXG4gIH0sXHJcblxyXG4gIC8qKlxyXG4gICAqIOeUn+WRveWRqOacn+WHveaVsC0t55uR5ZCs6aG16Z2i5Yqg6L29XHJcbiAgICovXHJcbiAgb25Mb2FkOiBmdW5jdGlvbiAob3B0aW9ucykge1xyXG4gICAgdGhpcy5nZXRUb3BpY0hvdExpc3QoKVxyXG4gIH0sXHJcbiAgZ29JbmRleChlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuaXNDbGljayA9PSBcInRvcGljXCIpIHtcclxuICAgICAgd3gubmF2aWdhdGVUbyh7IHVybDogYC9zdWJwYWdlcy9pc3N1ZS9wYWdlcy9kZXRhaWwvdG9waWNEZXRhaWwvdG9waWNEZXRhaWw/SWQ9JHtlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pZH1gIH0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuaXNDbGljayA9PSBcImlzc3VlXCIpIHtcclxuICAgICAgd3gubmF2aWdhdGVUbyh7IHVybDogYC9zdWJwYWdlcy9pc3N1ZS9wYWdlcy9kZXRhaWwvSXNzdWVEZXRhaWxzL2lzc3VlRGV0YWlscz9JZD0ke2UuY3VycmVudFRhcmdldC5kYXRhc2V0LmlkfWAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5pc0NsaWNrID09IFwicHJvamVjdFwiKSB7XHJcbiAgICAgIHd4Lm5hdmlnYXRlVG8oeyB1cmw6IGAvc3VicGFnZXMvaXNzdWUvcGFnZXMvZGV0YWlsL3Byb2plY3REZXRhaWxzL3Byb2plY3REZXRhaWxzP0lkPSR7ZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWR9YCB9KTtcclxuICAgIH1cclxuICB9LFxyXG4gIHRyaWdnbGUoZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLmlzU2hvd0xvYWRpbmcpIHtcclxuICAgICAgd3guc2hvd1RvYXN0KHtcclxuICAgICAgICB0aXRsZTogJ+ato+WcqOWKoOi9veS4reivt+eojeWQjuWIh+aNoicsIC8v5o+Q56S655qE5YaF5a65LFxyXG4gICAgICAgIGljb246ICdub25lJywgLy/lm77moIcsXHJcbiAgICAgICAgZHVyYXRpb246IDIwMDAsIC8v5bu26L+f5pe26Ze0LFxyXG4gICAgICAgIG1hc2s6IHRydWUsIC8v5pi+56S66YCP5piO6JKZ5bGC77yM6Ziy5q2i6Kem5pG456m/6YCPLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICBsZXQgeyBjdXJyZW50VGFyZ2V0IH0gPSBlXHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBsaXN0OiBbXSwvLzPkuKp0YWLliIfmjaLml7Ys5Lmf5bqU6K+l5oqK5LmL5YmN55qE5YaF5a655riF56m6XHJcbiAgICAgIGxvYWRUeXBlOiAnbW9yZScsXHJcbiAgICAgIGlzU2hvdzogZmFsc2UsXHJcbiAgICAgIHBhZ2VJbmRleDogMSxcclxuICAgICAgc2hvd1RpbWVQaWNrZXI6ZmFsc2VcclxuICAgIH0pXHJcbiAgICBpZiAoY3VycmVudFRhcmdldC5kYXRhc2V0LmluZGV4ID09IFwi5pyA54Ot6K+d6aKYXCIpIHtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBpc0NsaWNrOiAndG9waWMnLFxyXG4gICAgICB9KVxyXG4gICAgICB0aGlzLmdldFRvcGljSG90TGlzdCgpXHJcbiAgXHJcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRUYXJnZXQuZGF0YXNldC5pbmRleCA9PSBcIuacgOeDreiurumimFwiKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgaXNDbGljazogJ2lzc3VlJyxcclxuICAgICAgfSlcclxuICAgICAgdGhpcy5nZXRIb3RJc3N1ZUxpc3QoKVxyXG4gICAgfSBlbHNlIGlmIChjdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXggPT0gXCLmnIDng63pobnnm65cIikge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGlzQ2xpY2s6ICdwcm9qZWN0JyxcclxuICAgICAgfSlcclxuICAgICAgdGhpcy5nZXRIb3RJdGVtTGlzdCgpXHJcbiAgICB9XHJcbiAgfSxcclxuICAvLyDmmL7npLrpmpDol4/ml7bpl7TpgInmi6nmoYZcclxuICBjaG9vc2VUaW1lUGlja2VyKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pc1Nob3dMb2FkaW5nKSB7XHJcbiAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgdGl0bGU6ICfmraPlnKjliqDovb3kuK3or7fnqI3lkI7liIfmjaInLCAvL+aPkOekuueahOWGheWuuSxcclxuICAgICAgICBpY29uOiAnbm9uZScsIC8v5Zu+5qCHLFxyXG4gICAgICAgIGR1cmF0aW9uOiAyMDAwLCAvL+W7tui/n+aXtumXtCxcclxuICAgICAgICBtYXNrOiB0cnVlLCAvL+aYvuekuumAj+aYjuiSmeWxgu+8jOmYsuatouinpuaRuOepv+mAjyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgc2hvd1RpbWVQaWNrZXI6ICF0aGlzLmRhdGEuc2hvd1RpbWVQaWNrZXJcclxuICAgIH0pXHJcbiAgfSxcclxuICAvLyDpgInmi6nml7bpl7RcclxuICBvblRpbWVDaGFuZ2UoZTogYW55KSB7XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBzb21lTW9udGhzVHlwZTogZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQudGltZSxcclxuICAgICAgc2hvd1RpbWVQaWNrZXI6IGZhbHNlLFxyXG4gICAgICBwcmVsb2FkVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgbG9hZFR5cGU6ICdtb3JlJyxcclxuICAgICAgaXNTaG93OiBmYWxzZSxcclxuICAgICAgcGFnZUluZGV4OiAxLFxyXG4gICAgICBsaXN0OiBbXS8v6YCJ5oup5pe26Ze05YiH5o2i5LmL5YmN5oqK5LmL5YmN55qE5YaF5a656YO95riF56m6XHJcbiAgICB9KVxyXG4gICAgaWYgKHRoaXMuZGF0YS5pc0NsaWNrID09IFwidG9waWNcIikge1xyXG4gICAgICB0aGlzLmdldFRvcGljSG90TGlzdCgpXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5pc0NsaWNrID09IFwiaXNzdWVcIikge1xyXG4gICAgICB0aGlzLmdldEhvdElzc3VlTGlzdCgpXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5pc0NsaWNrID09IFwicHJvamVjdFwiKSB7XHJcbiAgICAgIHRoaXMuZ2V0SG90SXRlbUxpc3QoKVxyXG4gICAgfVxyXG5cclxuICB9LFxyXG4gIC8qKioq6K+d6aKYKioqKiAqL1xyXG4gIGFzeW5jIGdldFRvcGljSG90TGlzdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgICBpc1Nob3dMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSlcclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgcGFnZUluZGV4OiB0aGlzLmRhdGEucGFnZUluZGV4LFxyXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLmRhdGEucGFnZVNpemUsXHJcbiAgICAgICAgc29tZU1vbnRoc1R5cGU6IHRoaXMuZGF0YS5zb21lTW9udGhzVHlwZVxyXG4gICAgICB9XHJcbiAgICAgIGxldCByZXMgPSBhd2FpdCBnZXRUb3BpY0hvdExpc3Qob2JqKVxyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGxpc3Q6IHRoaXMuZGF0YS5saXN0LmNvbmNhdChyZXMuZGF0YS5saXN0KSxcclxuICAgICAgICBsaXN0TGVuZ3RoOiByZXMuZGF0YS5saXN0Lmxlbmd0aCxcclxuICAgICAgICBpc1Nob3dMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSlcclxuICAgICAgaWYgKHRoaXMuZGF0YS5saXN0TGVuZ3RoICE9PSB0aGlzLmRhdGEucGFnZVNpemUpIHtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgbG9hZFR5cGU6ICdub25lJyxcclxuICAgICAgICAgIGlzU2hvd0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGF0YS5saXN0Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIGxvYWRWaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICAgIGlzU2hvdzogdHJ1ZSxcclxuICAgICAgICAgIGlzU2hvd0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGxvYWRWaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICBpc1Nob3c6IHRydWUsXHJcbiAgICAgICAgaXNTaG93TG9hZGluZzogdHJ1ZSxcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9LFxyXG4gIC8qKioq6K6u6aKYKioqKiAqL1xyXG4gIGFzeW5jIGdldEhvdElzc3VlTGlzdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgICBpc1Nob3dMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSlcclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgcGFnZUluZGV4OiB0aGlzLmRhdGEucGFnZUluZGV4LFxyXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLmRhdGEucGFnZVNpemUsXHJcbiAgICAgICAgc29tZU1vbnRoc1R5cGU6IHRoaXMuZGF0YS5zb21lTW9udGhzVHlwZVxyXG4gICAgICB9XHJcbiAgICAgIGxldCByZXMgPSBhd2FpdCBnZXRIb3RJc3N1ZUxpc3Qob2JqKVxyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGxpc3Q6IHRoaXMuZGF0YS5saXN0LmNvbmNhdChyZXMuZGF0YS5saXN0KSxcclxuICAgICAgICBsaXN0TGVuZ3RoOiByZXMuZGF0YS5saXN0Lmxlbmd0aCxcclxuICAgICAgICBpc1Nob3dMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSlcclxuICAgICAgaWYgKHRoaXMuZGF0YS5saXN0TGVuZ3RoICE9PSB0aGlzLmRhdGEucGFnZVNpemUpIHtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgbG9hZFR5cGU6ICdub25lJyxcclxuICAgICAgICAgIGlzU2hvd0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZGF0YS5saXN0Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIGxvYWRWaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICAgIGlzU2hvdzogdHJ1ZSxcclxuICAgICAgICAgIGlzU2hvd0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGxvYWRWaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICBpc1Nob3c6IHRydWUsXHJcbiAgICAgICAgaXNTaG93TG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfSxcclxuICAvKioqKumhueebrioqKiogKi9cclxuICBhc3luYyBnZXRIb3RJdGVtTGlzdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgICBpc1Nob3dMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSlcclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBvYmogPSB7XHJcbiAgICAgICAgcGFnZUluZGV4OiB0aGlzLmRhdGEucGFnZUluZGV4LFxyXG4gICAgICAgIHBhZ2VTaXplOiB0aGlzLmRhdGEucGFnZVNpemUsXHJcbiAgICAgICAgc29tZU1vbnRoc1R5cGU6IHRoaXMuZGF0YS5zb21lTW9udGhzVHlwZVxyXG4gICAgICB9XHJcbiAgICAgIGxldCByZXMgPSBhd2FpdCBnZXRIb3RJdGVtTGlzdChvYmopXHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbGlzdDogdGhpcy5kYXRhLmxpc3QuY29uY2F0KHJlcy5kYXRhLmxpc3QpLFxyXG4gICAgICAgIGxpc3RMZW5ndGg6IHJlcy5kYXRhLmxpc3QubGVuZ3RoLFxyXG4gICAgICAgIGlzU2hvd0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICB9KVxyXG4gICAgICBpZiAodGhpcy5kYXRhLmxpc3RMZW5ndGggIT09IHRoaXMuZGF0YS5wYWdlU2l6ZSkge1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICBsb2FkVHlwZTogJ25vbmUnLFxyXG4gICAgICAgICAgaXNTaG93TG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kYXRhLmxpc3QubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgICAgbG9hZFZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgICAgaXNTaG93OiB0cnVlLFxyXG4gICAgICAgICAgaXNTaG93TG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbG9hZFZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzU2hvdzogdHJ1ZSxcclxuICAgICAgICBpc1Nob3dMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSlcclxuXHJcbiAgICB9XHJcbiAgfSxcclxuICAvKipcclxuICAgKiDpobXpnaLkuIrmi4nop6blupXkuovku7bnmoTlpITnkIblh73mlbBcclxuICAgKi9cclxuICBvblJlYWNoQm90dG9tOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAvLyDliKTmlq3mmK/lkKbpnIDopoHlnKjliqDovb3mlbDmja5cclxuICAgIGlmICh0aGlzLmRhdGEubGlzdExlbmd0aCAhPT0gdGhpcy5kYXRhLnBhZ2VTaXplKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbG9hZFR5cGU6ICdub25lJyxcclxuICAgICAgfSlcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBsb2FkVHlwZTogJ21vcmUnLFxyXG4gICAgfSlcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIHBhZ2VJbmRleDogKyt0aGlzLmRhdGEucGFnZUluZGV4LFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5kYXRhLnBhZ2VTaXplLFxyXG4gICAgICBzb21lTW9udGhzVHlwZTogdGhpcy5kYXRhLnNvbWVNb250aHNUeXBlXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5pc0NsaWNrID09IFwidG9waWNcIikge1xyXG4gICAgICB0aGlzLmdldFRvcGljSG90TGlzdCgpXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5pc0NsaWNrID09IFwiaXNzdWVcIikge1xyXG4gICAgICB0aGlzLmdldEhvdElzc3VlTGlzdCgpXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5pc0NsaWNrID09IFwicHJvamVjdFwiKSB7XHJcbiAgICAgIHRoaXMuZ2V0SG90SXRlbUxpc3QoKVxyXG4gICAgfVxyXG4gIH0sXHJcblxyXG59KSJdfQ==