bbj-screen-widget 2.4.65 → 2.4.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bbj-screen-widget.metadata.json +1 -1
- package/bundles/bbj-screen-widget.umd.js +7 -3
- package/bundles/bbj-screen-widget.umd.js.map +1 -1
- package/bundles/bbj-screen-widget.umd.min.js +1 -1
- package/bundles/bbj-screen-widget.umd.min.js.map +1 -1
- package/esm2015/lib/custom-baidu-map/baidu-fence/baidu-fence.component.js +8 -4
- package/fesm2015/bbj-screen-widget.js +7 -3
- package/fesm2015/bbj-screen-widget.js.map +1 -1
- package/package.json +1 -1
|
@@ -71,6 +71,9 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
71
71
|
const data = [];
|
|
72
72
|
this.data.forEach((r) => {
|
|
73
73
|
if (r.type === 'circle') {
|
|
74
|
+
if (!r.radius || !r.lnglat) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
74
77
|
// const radius = (r.radius * 180) / EARTH_RADIUS / Math.PI;
|
|
75
78
|
// // let radius = cradius / 90;
|
|
76
79
|
// let pointNum = 90;
|
|
@@ -104,7 +107,7 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
104
107
|
// 遍历 0~360°,生成等间隔的点
|
|
105
108
|
for (let i = 0; i < pointsCount; i++) {
|
|
106
109
|
// 计算当前点的方位角(弧度):从0°到360°,均分pointsCount份
|
|
107
|
-
const angleRad = (i * 360 / pointsCount) * Math.PI / 180;
|
|
110
|
+
const angleRad = (((i * 360) / pointsCount) * Math.PI) / 180;
|
|
108
111
|
// 计算当前点相对于中心点的经纬度增量(弧度)
|
|
109
112
|
const deltaLatRad = (radius * Math.cos(angleRad)) / EARTH_RADIUS;
|
|
110
113
|
const deltaLngRad = (radius * Math.sin(angleRad)) / (EARTH_RADIUS * Math.cos(centerLatRad));
|
|
@@ -122,6 +125,9 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
122
125
|
});
|
|
123
126
|
}
|
|
124
127
|
else {
|
|
128
|
+
if (!r.lnglat) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
125
131
|
const coordinates = r.lnglat.split(';').map((r) => {
|
|
126
132
|
const lnglat = r.split(',');
|
|
127
133
|
return [+lnglat[0], +lnglat[1]];
|
|
@@ -151,8 +157,6 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
151
157
|
lnglat: `${lnglat.lng},${lnglat.lat}`,
|
|
152
158
|
radius: radius,
|
|
153
159
|
};
|
|
154
|
-
this.data.push(data);
|
|
155
|
-
this.updateData();
|
|
156
160
|
this.create.emit(data);
|
|
157
161
|
}
|
|
158
162
|
else {
|
|
@@ -397,4 +401,4 @@ BaiduFenceComponent = __decorate([
|
|
|
397
401
|
], BaiduFenceComponent);
|
|
398
402
|
export { BaiduFenceComponent };
|
|
399
403
|
export { ɵ0 };
|
|
400
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFpZHUtZmVuY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL2N1c3RvbS1iYWlkdS1tYXAvYmFpZHUtZmVuY2UvYmFpZHUtZmVuY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSy9CLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztXQTRDbkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFoQzVCLG1CQUFtQixTQUFuQixtQkFBb0IsU0FBUSxTQUFTOzs7UUFDaEQsb0ZBQW9GO1FBQ3BGLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixjQUFjO1FBQ2QsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixLQUFLO1FBSUwsY0FBUyxHQUFHLENBQUMsQ0FBQztRQU9kLGNBQVMsR0FBRyxtQkFBbUIsQ0FBQztRQU9oQyxjQUFTLEdBQUcseUJBQXlCLENBQUM7UUFFdEMsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFVdEIsU0FBSSxHQUFVO1lBQ1o7Z0JBQ0UsZUFBZTtnQkFDZixJQUFJLEVBQUUsU0FBUztnQkFDZixNQUFNLEVBQUUseUNBQXlDO2FBQ2xEO1lBQ0Q7Z0JBQ0UsY0FBYztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVB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aW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlTGF5ZXIgfSBmcm9tICcuLi9iYXNlLWxheWVyJztcbmltcG9ydCB7IERhdGEsIE1ldGhvZCwgUHJvcGVydHksIFdpZGdldCwgRXZlbnQsIFBhcmFtIH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERyYXdTY2VuZSwgUmVjdERyYXcgfSBmcm9tICdibWFwLWRyYXcnO1xuZGVjbGFyZSBjb25zdCBtYXB2Z2w7XG5kZWNsYXJlIGNvbnN0IEJNYXBHTDtcbmNvbnN0IEVBUlRIX1JBRElVUyA9IDYzNzEzOTM7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYy1iYWlkdS1mZW5jZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYWlkdS1mZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JhaWR1LWZlbmNlLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuQFdpZGdldCgn55S15a2Q5Zu05qCPJywge1xuICBncm91cDogJ2NvbXBvbmVudCcsXG4gIGltYWdlOiAnJyxcbiAgaWNvbjogJycsXG4gIGhpZGRlbjogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQmFpZHVGZW5jZUNvbXBvbmVudCBleHRlbmRzIEJhc2VMYXllciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLy8gQFByb3BlcnR5KCfmoIfnrb7lrZfkvZMnLCB7IHVpOiB7IHdpZGdldDogJ215Rm9udCcsIHZpc2libGVJZjogeyBzaG93TGFiZWw6IFt0cnVlXSB9IH0gfSlcbiAgLy8gdGV4dEZvbnQ6IGFueSA9IHtcbiAgLy8gICBmYW1pbHk6ICcnLFxuICAvLyAgIGNvbG9yOiAnIzAwMDAwMCcsXG4gIC8vICAgd2VpZ2h0OiAnbm9ybWFsJyxcbiAgLy8gICBzaXplOiAxNixcbiAgLy8gICBzcGFjZTogMCxcbiAgLy8gICBsaW5lSGVpZ2h0OiAwLFxuICAvLyB9O1xuICBAUHJvcGVydHkoJ+e6v+adoeWuveW6picsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdteVJhbmdlJywgbWluOiAxLCBtYXg6IDQwLCBzdGVwOiAxIH0sXG4gIH0pXG4gIGxpbmVXaWR0aCA9IDI7XG4gIEBQcm9wZXJ0eSgn57q/5p2h6aKc6ImyJywge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcbiAgICB9LFxuICB9KVxuICBsaW5lQ29sb3IgPSAncmdiKDUwLCAxMzMsIDI1NSknO1xuICBAUHJvcGVydHkoJ+Whq+WFheminOiJsicsIHtcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB1aToge1xuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXG4gICAgfSxcbiAgfSlcbiAgZmlsbENvbG9yID0gJ3JnYmEoMjQ4LCAyMzEsIDI4LCAwLjIpJztcbiAgQFByb3BlcnR5KCfmmL7npLrnu5jliLbmjInpkq4nLCB7IHR5cGU6ICdib29sZWFuJyB9KVxuICBzaG93RHJhd0J1dHRvbiA9IHRydWU7XG4gIEBEYXRhKHtcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBpZDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICdJRCcgfSxcbiAgICAgIC8vIG5hbWU6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn5Zu05qCP5ZCN56ewJyB9LFxuICAgICAgdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICflm7TmoI/nsbvlnosnIH0sXG4gICAgICBsbmdsYXQ6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn57uP57qs5bqmJyB9LFxuICAgICAgcmFkaXVzOiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+WNiuW+hCcgfSxcbiAgICB9LFxuICB9KVxuICBkYXRhOiBhbnlbXSA9IFtcbiAgICB7XG4gICAgICAvLyBuYW1lOiAn5aSa6L655b2iJyxcbiAgICAgIHR5cGU6ICdwb2x5Z29uJyxcbiAgICAgIGxuZ2xhdDogJzEyMC43LDI4OzEyMC44LDI4OzEyMC44LDI3Ljk7MTIwLjcsMjcuOScsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBuYW1lOiAn5ZyG5b2iJyxcbiAgICAgIHR5cGU6ICdjaXJjbGUnLFxuICAgICAgbG5nbGF0OiAnMTIwLjYsMjcuOScsXG4gICAgICByYWRpdXM6IDUwMDAsXG4gICAgfSxcbiAgXTtcbiAgQEV2ZW50KCfmlrDlop7lm7TmoI8nLCB7XG4gICAgcGFyYW1zOiB7XG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHR5cGU6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn5Zu05qCP57G75Z6LJyB9LFxuICAgICAgICBsbmdsYXQ6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn57uP57qs5bqmJyB9LFxuICAgICAgICByYWRpdXM6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn5Y2K5b6EJyB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9KVxuICBjcmVhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgbGF5ZXI6IGFueTtcbiAgdGV4dExheWVyOiBhbnk7XG4gIGVkaXRMYXllcjogYW55O1xuICBlZGl0RGF0YSA9IFtdO1xuICBzdG9wRWRpdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBlZGl0TGluZUxheWVyOiBhbnk7XG4gIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgcG9seWdvbjogYW55O1xuICBjaXJjbGU6IGFueTtcbiAgc2NlbmU6IGFueTtcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvLyBhd2FpdCB0aGlzLnBhcmVudC5pbml0JDtcbiAgICAvLyB0aGlzLnN0YXJ0RHJhdygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLnN0b3BEcmF3KCk7XG4gICAgdGhpcy5zY2VuZT8uY2xlYXJEYXRhKCk7XG4gIH1cblxuICBjcmVhdGVMYXllcnMoKTogYW55W10ge1xuICAgIHRoaXMubGF5ZXIgPSBuZXcgbWFwdmdsLlBvbHlnb25MYXllcih7XG4gICAgICByZW5kZXJPcmRlcjogLTEsXG4gICAgICBsaW5lQ29sb3I6IHRoaXMubGluZUNvbG9yLFxuICAgICAgbGluZVdpZHRoOiB0aGlzLmxpbmVXaWR0aCxcbiAgICAgIGZpbGxDb2xvcjogdGhpcy5maWxsQ29sb3IsXG4gICAgfSk7XG4gICAgLy8gdGhpcy50ZXh0TGF5ZXIgPSBuZXcgbWFwdmdsLlRleHRMYXllcih7XG4gICAgLy8gICByZW5kZXJPcmRlcjogLTEsXG4gICAgLy8gICAuLi50aGlzLmdldFRleHRPcHRpb25zKHRoaXMudGV4dEZvbnQpLFxuICAgIC8vIH0pO1xuICAgIHJldHVybiBbdGhpcy5sYXllcl07XG4gIH1cbiAgdXBkYXRlRGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gW107XG4gICAgdGhpcy5kYXRhLmZvckVhY2goKHIpID0+IHtcbiAgICAgIGlmIChyLnR5cGUgPT09ICdjaXJjbGUnKSB7XG4gICAgICAgIC8vIGNvbnN0IHJhZGl1cyA9IChyLnJhZGl1cyAqIDE4MCkgLyBFQVJUSF9SQURJVVMgLyBNYXRoLlBJO1xuICAgICAgICAvLyAvLyBsZXQgcmFkaXVzID0gY3JhZGl1cyAvIDkwO1xuICAgICAgICAvLyBsZXQgcG9pbnROdW0gPSA5MDtcbiAgICAgICAgLy8gbGV0IHN0YXJ0QW5nbGUgPSAwO1xuICAgICAgICAvLyBsZXQgZW5kQW5nbGUgPSBNYXRoLlBJICogMjtcbiAgICAgICAgLy8gbGV0IHBvaW50cyA9IFtdO1xuICAgICAgICAvLyBjb25zdCBsbmdsYXQgPSByLmxuZ2xhdC5zcGxpdCgnLCcpO1xuICAgICAgICAvLyBjb25zdCBsbmcgPSArbG5nbGF0WzBdO1xuICAgICAgICAvLyBjb25zdCBsYXQgPSArbG5nbGF0WzFdO1xuICAgICAgICAvLyBmb3IgKHZhciBpID0gMDsgaSA8PSBwb2ludE51bTsgaSsrKSB7XG4gICAgICAgIC8vICAgY29uc3QgYW5nbGUgPSBzdGFydEFuZ2xlICsgKChlbmRBbmdsZSAtIHN0YXJ0QW5nbGUpICogaSkgLyBwb2ludE51bTtcbiAgICAgICAgLy8gICBjb25zdCB4ID0gbG5nICsgKHJhZGl1cyAqIE1hdGguY29zKGFuZ2xlKSkgLyBNYXRoLmFicyhNYXRoLmNvcygobGF0ICogTWF0aC5QSSkgLyAxODApKTtcbiAgICAgICAgLy8gICBjb25zdCB5ID0gbGF0ICsgcmFkaXVzICogTWF0aC5zaW4oYW5nbGUpO1xuICAgICAgICAvLyAgIHBvaW50cy5wdXNoKFt4LCB5XSk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gZGF0YS5wdXNoKHtcbiAgICAgICAgLy8gICBnZW9tZXRyeToge1xuICAgICAgICAvLyAgICAgdHlwZTogJ1BvbHlnb24nLFxuICAgICAgICAvLyAgICAgY29vcmRpbmF0ZXM6IFtwb2ludHNdLFxuICAgICAgICAvLyAgIH0sXG4gICAgICAgIC8vIH0pO1xuICAgICAgICBsZXQgcG9pbnRzQ291bnQgPSA5MDtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gci5yYWRpdXM7XG4gICAgICAgIGNvbnN0IGxuZ2xhdCA9IHIubG5nbGF0LnNwbGl0KCcsJyk7XG4gICAgICAgIGNvbnN0IGNlbnRlckxuZyA9ICtsbmdsYXRbMF07XG4gICAgICAgIGNvbnN0IGNlbnRlckxhdCA9ICtsbmdsYXRbMV07XG4gICAgICAgIC8vIOi9rOaNouS4reW/g+eCuee6rOW6puS4uuW8p+W6plxuICAgICAgICBjb25zdCBjZW50ZXJMYXRSYWQgPSAoY2VudGVyTGF0ICogTWF0aC5QSSkgLyAxODA7XG4gICAgICAgIC8vIOWtmOWCqOi9qOi/ueeCueeahOaVsOe7hFxuICAgICAgICBjb25zdCB0cmFqZWN0b3J5ID0gW107XG5cbiAgICAgICAgLy8g6YGN5Y6GIDB+MzYwwrDvvIznlJ/miJDnrYnpl7TpmpTnmoTngrlcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHNDb3VudDsgaSsrKSB7XG4gICAgICAgICAgLy8g6K6h566X5b2T5YmN54K555qE5pa55L2N6KeS77yI5byn5bqm77yJ77ya5LuOMMKw5YiwMzYwwrDvvIzlnYfliIZwb2ludHNDb3VudOS7vVxuICAgICAgICAgIGNvbnN0IGFuZ2xlUmFkID0gKGkgKiAzNjAgLyBwb2ludHNDb3VudCkgKiBNYXRoLlBJIC8gMTgwO1xuXG4gICAgICAgICAgLy8g6K6h566X5b2T5YmN54K555u45a+55LqO5Lit5b+D54K555qE57uP57qs5bqm5aKe6YeP77yI5byn5bqm77yJXG4gICAgICAgICAgY29uc3QgZGVsdGFMYXRSYWQgPSAocmFkaXVzICogTWF0aC5jb3MoYW5nbGVSYWQpKSAvIEVBUlRIX1JBRElVUztcbiAgICAgICAgICBjb25zdCBkZWx0YUxuZ1JhZCA9IChyYWRpdXMgKiBNYXRoLnNpbihhbmdsZVJhZCkpIC8gKEVBUlRIX1JBRElVUyAqIE1hdGguY29zKGNlbnRlckxhdFJhZCkpO1xuXG4gICAgICAgICAgLy8g6L2s5o2i5Li66KeS5bqm77yM5bm26K6h566X5paw5Z2Q5qCHXG4gICAgICAgICAgY29uc3QgbmV3TGF0ID0gY2VudGVyTGF0ICsgKGRlbHRhTGF0UmFkICogMTgwKSAvIE1hdGguUEk7XG4gICAgICAgICAgY29uc3QgbmV3TG5nID0gY2VudGVyTG5nICsgKGRlbHRhTG5nUmFkICogMTgwKSAvIE1hdGguUEk7XG5cbiAgICAgICAgICAvLyDmt7vliqDliLDovajov7nmlbDnu4TvvIjkv53nlZk25L2N5bCP5pWw77yM57uP57qs5bqm5bi46KeE57K+5bqm77yJXG4gICAgICAgICAgdHJhamVjdG9yeS5wdXNoKFtwYXJzZUZsb2F0KG5ld0xuZy50b0ZpeGVkKDYpKSwgcGFyc2VGbG9hdChuZXdMYXQudG9GaXhlZCg2KSldKTtcbiAgICAgICAgfVxuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgIGdlb21ldHJ5OiB7XG4gICAgICAgICAgICB0eXBlOiAnUG9seWdvbicsXG4gICAgICAgICAgICBjb29yZGluYXRlczogW3RyYWplY3RvcnldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSByLmxuZ2xhdC5zcGxpdCgnOycpLm1hcCgocikgPT4ge1xuICAgICAgICAgIGNvbnN0IGxuZ2xhdCA9IHIuc3BsaXQoJywnKTtcbiAgICAgICAgICByZXR1cm4gWytsbmdsYXRbMF0sICtsbmdsYXRbMV1dO1xuICAgICAgICB9KTtcbiAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICBnZW9tZXRyeToge1xuICAgICAgICAgICAgdHlwZTogJ1BvbHlnb24nLFxuICAgICAgICAgICAgY29vcmRpbmF0ZXM6IFtjb29yZGluYXRlc10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmxheWVyLnNldERhdGEoZGF0YSk7XG4gIH1cblxuICBATWV0aG9kKCflvIDlp4vnu5jliLYnKVxuICBhc3luYyBzdGFydERyYXcoXG4gICAgQFBhcmFtKCfnsbvlnosnLCB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGVudW06IFtcbiAgICAgICAgeyBsYWJlbDogJ+Wkmui+ueW9oicsIHZhbHVlOiAncG9seWdvbicgfSxcbiAgICAgICAgeyBsYWJlbDogJ+WchuW9oicsIHZhbHVlOiAnY2lyY2xlJyB9LFxuICAgICAgXSxcbiAgICB9KVxuICAgIHR5cGU6IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgeyBEcmF3U2NlbmUsIFBvbHlnb25EcmF3LCBDaXJjbGVEcmF3LCBPcGVyYXRlRXZlbnRUeXBlIH0gPSBhd2FpdCBpbXBvcnQoJ2JtYXAtZHJhdycpO1xuICAgIGlmKCF0aGlzLnNjZW5lKXtcbiAgICAgIHRoaXMuc2NlbmUgPSBuZXcgRHJhd1NjZW5lKHRoaXMucGFyZW50Lm1hcCwgeyBub0xpbWl0OiB0cnVlIH0pO1xuICAgICAgXG4gICAgICB0aGlzLnNjZW5lLmFkZEV2ZW50TGlzdGVuZXIoT3BlcmF0ZUV2ZW50VHlwZS5DT01QTEVURSwgKGUpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgaWYgKGUudGFyZ2V0Lm92ZXJsYXkucmFkaXVzKSB7XG4gICAgICAgIGNvbnN0IHJhZGl1cyA9IGUudGFyZ2V0Lm92ZXJsYXkucmFkaXVzO1xuICAgICAgICBjb25zdCBsbmdsYXQgPSBlLnRhcmdldC5vdmVybGF5LmxhdExuZztcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICB0eXBlOiAnY2lyY2xlJyxcbiAgICAgICAgICBsbmdsYXQ6IGAke2xuZ2xhdC5sbmd9LCR7bG5nbGF0LmxhdH1gLFxuICAgICAgICAgIHJhZGl1czogcmFkaXVzLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmRhdGEucHVzaChkYXRhKTtcbiAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gICAgICAgIHRoaXMuY3JlYXRlLmVtaXQoZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwb2ludHMgPSBlLnRhcmdldC5vdmVybGF5LmdldFBvaW50cygpO1xuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgdHlwZTogJ3BvbHlnb24nLFxuICAgICAgICAgIGxuZ2xhdDogcG9pbnRzLm1hcCgocCkgPT4gYCR7cC5sYXRMbmcubG5nfSwke3AubGF0TG5nLmxhdH1gKS5qb2luKCc7JyksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY3JlYXRlLmVtaXQoZGF0YSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAncG9seWdvbic6XG4gICAgICAgIGlmICghdGhpcy5wb2x5Z29uKSB7XG4gICAgICAgICAgdGhpcy5wb2x5Z29uID0gbmV3IFBvbHlnb25EcmF3KHRoaXMuc2NlbmUsIHtcbiAgICAgICAgICAgIGF1dG9WaWV3cG9ydDogdHJ1ZSwgLy8g5piv5ZCm6Ieq5Yqo6LCD5pW06KeG6YeOXG4gICAgICAgICAgICBoaWRlVGlwOiBmYWxzZSwgLy8g6ZqQ6JeP57uY5Yi25o+Q56S6XG4gICAgICAgICAgICBpc1NlcmllczogdHJ1ZSwgLy8g5piv5ZCm5byA5ZCv5om56YeP57uY5Yi2XG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICBiYXNlT3B0czoge1xuICAgICAgICAgICAgICBmaWxsQ29sb3I6IHRoaXMuZmlsbENvbG9yLFxuICAgICAgICAgICAgICBzdHJva2VXZWlnaHQ6IHRoaXMubGluZVdpZHRoLFxuICAgICAgICAgICAgICBzdHJva2VDb2xvcjogdGhpcy5saW5lQ29sb3IsXG4gICAgICAgICAgICAgIC8vIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIC8vIGZpbGxPcGFjaXR5OiAwLjIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucG9seWdvbi5vcGVuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2lyY2xlJzpcbiAgICAgICAgaWYgKCF0aGlzLmNpcmNsZSkge1xuICAgICAgICAgIHRoaXMuY2lyY2xlID0gbmV3IENpcmNsZURyYXcodGhpcy5zY2VuZSwge1xuICAgICAgICAgICAgYXV0b1ZpZXdwb3J0OiB0cnVlLCAvLyDmmK/lkKboh6rliqjosIPmlbTop4bph45cbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgIGlzU2VyaWVzOiB0cnVlLCAvLyDmmK/lkKblvIDlkK/mibnph4/nu5jliLZcbiAgICAgICAgICAgIC8vIGxhYmVsT3B0aW9uczoge1xuICAgICAgICAgICAgLy8gICBib3JkZXJSYWRpdXM6ICcycHgnLFxuICAgICAgICAgICAgLy8gICBiYWNrZ3JvdW5kOiAnI2I1ZDNmYicsXG4gICAgICAgICAgICAvLyAgIGJvcmRlcjogJzFweCBzb2xpZCAjYjVkM2ZiJyxcbiAgICAgICAgICAgIC8vICAgY29sb3I6ICcjMzMzJyxcbiAgICAgICAgICAgIC8vICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICAgIC8vICAgbGV0dGVyU3BhY2luZzogJzAnLFxuICAgICAgICAgICAgLy8gICBwYWRkaW5nOiAnNXB4JyxcbiAgICAgICAgICAgIC8vIH0sXG4gICAgICAgICAgICBiYXNlT3B0czoge1xuICAgICAgICAgICAgICBmaWxsQ29sb3I6IHRoaXMuZmlsbENvbG9yLFxuICAgICAgICAgICAgICBzdHJva2VXZWlnaHQ6IHRoaXMubGluZVdpZHRoLFxuICAgICAgICAgICAgICBzdHJva2VDb2xvcjogdGhpcy5saW5lQ29sb3IsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2lyY2xlLm9wZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5zdG9wRHJhdygpO1xuICAgIC8vIHRoaXMuZWRpdERhdGEgPSBbXTtcbiAgICAvLyB0aGlzLmVkaXRMYXllciA9IG5ldyBtYXB2Z2wuSWNvbkxheWVyKHtcbiAgICAvLyAgIHdpZHRoOiAyMCAvIDIsXG4gICAgLy8gICBoZWlnaHQ6IDMwLjYgLyAyLFxuICAgIC8vICAgb2Zmc2V0OiBbMCwgLTMwLjYgLyAyIC8gMl0sXG4gICAgLy8gICBpY29uOiAnYXNzZXRzL2ltZy9zY3JlZW4vbWFya2VyLnBuZycsXG4gICAgLy8gICBlbmFibGVQaWNrZWQ6IHRydWUsIC8vIOaYr+WQpuWPr+S7peaLvuWPllxuICAgIC8vICAgc2VsZWN0ZWRJbmRleDogLTEsIC8vIOmAieS4remhuVxuICAgIC8vICAgc2VsZWN0ZWRDb2xvcjogJyNmZjAwMDAnLCAvLyDpgInkuK3pobnpopzoibJcbiAgICAvLyAgIGF1dG9TZWxlY3Q6IHRydWUsIC8vIOagueaNrum8oOagh+S9jee9ruadpeiHquWKqOiuvue9rumAieS4remhuVxuICAgIC8vICAgb25SaWdodENsaWNrOiAoZSkgPT4ge1xuICAgIC8vICAgICBjb25zb2xlLmxvZygncmlnaHQgY2xpY2snLCBlKTtcbiAgICAvLyAgICAgdGhpcy5lZGl0RGF0YS5zcGxpY2UoZS5kYXRhSW5kZXgsIDEpO1xuICAgIC8vICAgICB0aGlzLnVwZGF0ZUVkaXREYXRhKCk7XG4gICAgLy8gICB9LFxuICAgIC8vIH0pO1xuICAgIC8vIHRoaXMucGFyZW50LmFkZExheWVyKHRoaXMuZWRpdExheWVyKTtcbiAgICAvLyB0aGlzLmVkaXRMaW5lTGF5ZXIgPSBuZXcgbWFwdmdsLlNpbXBsZUxpbmVMYXllcih7XG4gICAgLy8gICBjb2xvcjogJ3JnYmEoNTAsIDUwLCAyMDAsIDEpJyxcbiAgICAvLyAgIGJsZW5kOiAnbGlnaHRlcicsXG4gICAgLy8gICBkYXRhOiBbXG4gICAgLy8gICAgIHtcbiAgICAvLyAgICAgICBnZW9tZXRyeToge1xuICAgIC8vICAgICAgICAgdHlwZTogJ0xpbmVTdHJpbmcnLFxuICAgIC8vICAgICAgICAgY29vcmRpbmF0ZXM6IFtcbiAgICAvLyAgICAgICAgICAgWzExNi4zOTQxOTEsIDM5LjkxMzM0XSxcbiAgICAvLyAgICAgICAgICAgWzExNi40MTcyNTksIDM5LjkxMzY3Ml0sXG4gICAgLy8gICAgICAgICBdLFxuICAgIC8vICAgICAgIH0sXG4gICAgLy8gICAgIH0sXG4gICAgLy8gICBdLFxuICAgIC8vIH0pO1xuICAgIC8vIHRoaXMucGFyZW50LmFkZExheWVyKHRoaXMuZWRpdExpbmVMYXllcik7XG4gICAgLy8gdGhpcy5wYXJlbnQubWFwQ2xpY2sucGlwZSh0YWtlVW50aWwodGhpcy5zdG9wRWRpdCQpKS5zdWJzY3JpYmUoKHBvaW50KSA9PiB7XG4gICAgLy8gICB0aGlzLmVkaXREYXRhLnB1c2goW3BvaW50LmxuZywgcG9pbnQubGF0XSk7XG4gICAgLy8gICAvLyB0aGlzLmVkaXREYXRhLnB1c2goe1xuICAgIC8vICAgLy8gICBnZW9tZXRyeToge1xuICAgIC8vICAgLy8gICAgIHR5cGU6ICdQb2ludCcsXG4gICAgLy8gICAvLyAgICAgY29vcmRpbmF0ZXM6IFtwb2ludC5sbmcsIHBvaW50LmxhdF0sXG4gICAgLy8gICAvLyAgIH0sXG4gICAgLy8gICAvLyB9KTtcbiAgICAvLyAgIHRoaXMudXBkYXRlRWRpdERhdGEoKTtcbiAgICAvLyB9KTtcbiAgfVxuXG4gIHVwZGF0ZUVkaXREYXRhKCkge1xuICAgIGlmICh0aGlzLmVkaXRMYXllcikge1xuICAgICAgdGhpcy5lZGl0TGF5ZXIuc2V0RGF0YSh0aGlzLmVkaXREYXRhLm1hcCgocikgPT4gKHsgZ2VvbWV0cnk6IHsgdHlwZTogJ1BvaW50JywgY29vcmRpbmF0ZXM6IHIgfSB9KSkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5lZGl0TGluZUxheWVyKSB7XG4gICAgICB0aGlzLmVkaXRMaW5lTGF5ZXIuc2V0RGF0YShbXG4gICAgICAgIHtcbiAgICAgICAgICBnZW9tZXRyeToge1xuICAgICAgICAgICAgdHlwZTogJ0xpbmVTdHJpbmcnLFxuICAgICAgICAgICAgY29vcmRpbmF0ZXM6IHRoaXMuZWRpdERhdGEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cbiAgfVxuXG4gIEBNZXRob2QoJ+e7k+adn+e7mOWIticpXG4gIHN0b3BEcmF3KCkge1xuICAgIHRoaXMuc2NlbmU/LmNsb3NlKCk7XG4gICAgLy8gdGhpcy5zdG9wRWRpdCQubmV4dCgpO1xuICAgIC8vIGlmICh0aGlzLmVkaXRMYXllcikge1xuICAgIC8vICAgdGhpcy5wYXJlbnQucmVtb3ZlTGF5ZXIodGhpcy5lZGl0TGF5ZXIpO1xuICAgIC8vICAgdGhpcy5lZGl0TGF5ZXIgPSBudWxsO1xuICAgIC8vIH1cbiAgICAvLyBpZiAodGhpcy5lZGl0TGluZUxheWVyKSB7XG4gICAgLy8gICB0aGlzLnBhcmVudC5yZW1vdmVMYXllcih0aGlzLmVkaXRMaW5lTGF5ZXIpO1xuICAgIC8vICAgdGhpcy5lZGl0TGluZUxheWVyID0gbnVsbDtcbiAgICAvLyB9XG4gICAgLy8gaWYgKHRoaXMuZWRpdERhdGE/Lmxlbmd0aCA+PSAzKSB7XG4gICAgLy8gICBpZiAoIXRoaXMuZGF0YSkge1xuICAgIC8vICAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICAvLyAgIH1cbiAgICAvLyAgIGNvbnN0IGRhdGEgPSB7XG4gICAgLy8gICAgIHR5cGU6ICdwb2x5Z29uJyxcbiAgICAvLyAgICAgbG5nbGF0OiB0aGlzLmVkaXREYXRhLm1hcCgocikgPT4gci5qb2luKCcsJykpLmpvaW4oJzsnKSxcbiAgICAvLyAgIH07XG4gICAgLy8gICB0aGlzLmRhdGEucHVzaChkYXRhKTtcbiAgICAvLyAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICAgIC8vICAgdGhpcy5jcmVhdGUuZW1pdChkYXRhKTtcbiAgICAvLyB9XG4gICAgLy8gdGhpcy5lZGl0RGF0YSA9IG51bGw7XG4gIH1cblxuICBzZWFyY2goKSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFRleHQpIHtcbiAgICB9XG4gICAgdmFyIGxvY2FsID0gbmV3IEJNYXBHTC5Mb2NhbFNlYXJjaCh0aGlzLnBhcmVudC5tYXAsIHtcbiAgICAgIC8v5pm66IO95pCc57SiXG4gICAgICBvblNlYXJjaENvbXBsZXRlOiAocmVzKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKHJlcywgbG9jYWwpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICBsb2NhbC5zZWFyY2godGhpcy5zZWFyY2hUZXh0KTtcbiAgfVxufVxuIl19
|
|
404
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFpZHUtZmVuY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL2N1c3RvbS1iYWlkdS1tYXAvYmFpZHUtZmVuY2UvYmFpZHUtZmVuY2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSy9CLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztXQTRDbkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFoQzVCLG1CQUFtQixTQUFuQixtQkFBb0IsU0FBUSxTQUFTOzs7UUFDaEQsb0ZBQW9GO1FBQ3BGLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixjQUFjO1FBQ2QsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixLQUFLO1FBSUwsY0FBUyxHQUFHLENBQUMsQ0FBQztRQU9kLGNBQVMsR0FBRyxtQkFBbUIsQ0FBQztRQU9oQyxjQUFTLEdBQUcseUJBQXlCLENBQUM7UUFFdEMsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFVdEIsU0FBSSxHQUFVO1lBQ1o7Z0JBQ0UsZUFBZTtnQkFDZixJQUFJLEVBQUUsU0FBUztnQkFDZixNQUFNLEVBQUUseUNBQXlDO2FBQ2xEO1lBQ0Q7Z0JBQ0UsY0FBYztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVB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LElBQUk7S0FDYixDQUFDO0dBQ1csbUJBQW1CLENBeVcvQjtTQXpXWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VMYXllciB9IGZyb20gJy4uL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHsgRGF0YSwgTWV0aG9kLCBQcm9wZXJ0eSwgV2lkZ2V0LCBFdmVudCwgUGFyYW0gfSBmcm9tICdiYmotd2lkZ2V0LWJhc2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRHJhd1NjZW5lLCBSZWN0RHJhdyB9IGZyb20gJ2JtYXAtZHJhdyc7XG5kZWNsYXJlIGNvbnN0IG1hcHZnbDtcbmRlY2xhcmUgY29uc3QgQk1hcEdMO1xuY29uc3QgRUFSVEhfUkFESVVTID0gNjM3MTM5MztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NjLWJhaWR1LWZlbmNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhaWR1LWZlbmNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFpZHUtZmVuY2UuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5AV2lkZ2V0KCfnlLXlrZDlm7TmoI8nLCB7XG4gIGdyb3VwOiAnY29tcG9uZW50JyxcbiAgaW1hZ2U6ICcnLFxuICBpY29uOiAnJyxcbiAgaGlkZGVuOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYWlkdUZlbmNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUxheWVyIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvLyBAUHJvcGVydHkoJ+agh+etvuWtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlGb250JywgdmlzaWJsZUlmOiB7IHNob3dMYWJlbDogW3RydWVdIH0gfSB9KVxuICAvLyB0ZXh0Rm9udDogYW55ID0ge1xuICAvLyAgIGZhbWlseTogJycsXG4gIC8vICAgY29sb3I6ICcjMDAwMDAwJyxcbiAgLy8gICB3ZWlnaHQ6ICdub3JtYWwnLFxuICAvLyAgIHNpemU6IDE2LFxuICAvLyAgIHNwYWNlOiAwLFxuICAvLyAgIGxpbmVIZWlnaHQ6IDAsXG4gIC8vIH07XG4gIEBQcm9wZXJ0eSgn57q/5p2h5a695bqmJywge1xuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IDEsIG1heDogNDAsIHN0ZXA6IDEgfSxcbiAgfSlcbiAgbGluZVdpZHRoID0gMjtcbiAgQFByb3BlcnR5KCfnur/mnaHpopzoibInLCB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgdWk6IHtcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxuICAgIH0sXG4gIH0pXG4gIGxpbmVDb2xvciA9ICdyZ2IoNTAsIDEzMywgMjU1KSc7XG4gIEBQcm9wZXJ0eSgn5aGr5YWF6aKc6ImyJywge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcbiAgICB9LFxuICB9KVxuICBmaWxsQ29sb3IgPSAncmdiYSgyNDgsIDIzMSwgMjgsIDAuMiknO1xuICBAUHJvcGVydHkoJ+aYvuekuue7mOWItuaMiemSricsIHsgdHlwZTogJ2Jvb2xlYW4nIH0pXG4gIHNob3dEcmF3QnV0dG9uID0gdHJ1ZTtcbiAgQERhdGEoe1xuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGlkOiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ0lEJyB9LFxuICAgICAgLy8gbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICflm7TmoI/lkI3np7AnIH0sXG4gICAgICB0eXBlOiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+WbtOagj+exu+WeiycgfSxcbiAgICAgIGxuZ2xhdDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfnu4/nuqzluqYnIH0sXG4gICAgICByYWRpdXM6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn5Y2K5b6EJyB9LFxuICAgIH0sXG4gIH0pXG4gIGRhdGE6IGFueVtdID0gW1xuICAgIHtcbiAgICAgIC8vIG5hbWU6ICflpJrovrnlvaInLFxuICAgICAgdHlwZTogJ3BvbHlnb24nLFxuICAgICAgbG5nbGF0OiAnMTIwLjcsMjg7MTIwLjgsMjg7MTIwLjgsMjcuOTsxMjAuNywyNy45JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIG5hbWU6ICflnIblvaInLFxuICAgICAgdHlwZTogJ2NpcmNsZScsXG4gICAgICBsbmdsYXQ6ICcxMjAuNiwyNy45JyxcbiAgICAgIHJhZGl1czogNTAwMCxcbiAgICB9LFxuICBdO1xuICBARXZlbnQoJ+aWsOWinuWbtOagjycsIHtcbiAgICBwYXJhbXM6IHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgdHlwZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICflm7TmoI/nsbvlnosnIH0sXG4gICAgICAgIGxuZ2xhdDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfnu4/nuqzluqYnIH0sXG4gICAgICAgIHJhZGl1czogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICfljYrlvoQnIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4gIGNyZWF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBsYXllcjogYW55O1xuICB0ZXh0TGF5ZXI6IGFueTtcbiAgZWRpdExheWVyOiBhbnk7XG4gIGVkaXREYXRhID0gW107XG4gIHN0b3BFZGl0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGVkaXRMaW5lTGF5ZXI6IGFueTtcbiAgc2VhcmNoVGV4dDogc3RyaW5nO1xuICBwb2x5Z29uOiBhbnk7XG4gIGNpcmNsZTogYW55O1xuICBzY2VuZTogYW55O1xuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIC8vIGF3YWl0IHRoaXMucGFyZW50LmluaXQkO1xuICAgIC8vIHRoaXMuc3RhcnREcmF3KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuc3RvcERyYXcoKTtcbiAgICB0aGlzLnNjZW5lPy5jbGVhckRhdGEoKTtcbiAgfVxuXG4gIGNyZWF0ZUxheWVycygpOiBhbnlbXSB7XG4gICAgdGhpcy5sYXllciA9IG5ldyBtYXB2Z2wuUG9seWdvbkxheWVyKHtcbiAgICAgIHJlbmRlck9yZGVyOiAtMSxcbiAgICAgIGxpbmVDb2xvcjogdGhpcy5saW5lQ29sb3IsXG4gICAgICBsaW5lV2lkdGg6IHRoaXMubGluZVdpZHRoLFxuICAgICAgZmlsbENvbG9yOiB0aGlzLmZpbGxDb2xvcixcbiAgICB9KTtcbiAgICAvLyB0aGlzLnRleHRMYXllciA9IG5ldyBtYXB2Z2wuVGV4dExheWVyKHtcbiAgICAvLyAgIHJlbmRlck9yZGVyOiAtMSxcbiAgICAvLyAgIC4uLnRoaXMuZ2V0VGV4dE9wdGlvbnModGhpcy50ZXh0Rm9udCksXG4gICAgLy8gfSk7XG4gICAgcmV0dXJuIFt0aGlzLmxheWVyXTtcbiAgfVxuICB1cGRhdGVEYXRhKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICB0aGlzLmRhdGEuZm9yRWFjaCgocikgPT4ge1xuICAgICAgaWYgKHIudHlwZSA9PT0gJ2NpcmNsZScpIHtcbiAgICAgICAgaWYgKCFyLnJhZGl1cyB8fCAhci5sbmdsYXQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc3QgcmFkaXVzID0gKHIucmFkaXVzICogMTgwKSAvIEVBUlRIX1JBRElVUyAvIE1hdGguUEk7XG4gICAgICAgIC8vIC8vIGxldCByYWRpdXMgPSBjcmFkaXVzIC8gOTA7XG4gICAgICAgIC8vIGxldCBwb2ludE51bSA9IDkwO1xuICAgICAgICAvLyBsZXQgc3RhcnRBbmdsZSA9IDA7XG4gICAgICAgIC8vIGxldCBlbmRBbmdsZSA9IE1hdGguUEkgKiAyO1xuICAgICAgICAvLyBsZXQgcG9pbnRzID0gW107XG4gICAgICAgIC8vIGNvbnN0IGxuZ2xhdCA9IHIubG5nbGF0LnNwbGl0KCcsJyk7XG4gICAgICAgIC8vIGNvbnN0IGxuZyA9ICtsbmdsYXRbMF07XG4gICAgICAgIC8vIGNvbnN0IGxhdCA9ICtsbmdsYXRbMV07XG4gICAgICAgIC8vIGZvciAodmFyIGkgPSAwOyBpIDw9IHBvaW50TnVtOyBpKyspIHtcbiAgICAgICAgLy8gICBjb25zdCBhbmdsZSA9IHN0YXJ0QW5nbGUgKyAoKGVuZEFuZ2xlIC0gc3RhcnRBbmdsZSkgKiBpKSAvIHBvaW50TnVtO1xuICAgICAgICAvLyAgIGNvbnN0IHggPSBsbmcgKyAocmFkaXVzICogTWF0aC5jb3MoYW5nbGUpKSAvIE1hdGguYWJzKE1hdGguY29zKChsYXQgKiBNYXRoLlBJKSAvIDE4MCkpO1xuICAgICAgICAvLyAgIGNvbnN0IHkgPSBsYXQgKyByYWRpdXMgKiBNYXRoLnNpbihhbmdsZSk7XG4gICAgICAgIC8vICAgcG9pbnRzLnB1c2goW3gsIHldKTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyBkYXRhLnB1c2goe1xuICAgICAgICAvLyAgIGdlb21ldHJ5OiB7XG4gICAgICAgIC8vICAgICB0eXBlOiAnUG9seWdvbicsXG4gICAgICAgIC8vICAgICBjb29yZGluYXRlczogW3BvaW50c10sXG4gICAgICAgIC8vICAgfSxcbiAgICAgICAgLy8gfSk7XG4gICAgICAgIGxldCBwb2ludHNDb3VudCA9IDkwO1xuICAgICAgICBjb25zdCByYWRpdXMgPSByLnJhZGl1cztcbiAgICAgICAgY29uc3QgbG5nbGF0ID0gci5sbmdsYXQuc3BsaXQoJywnKTtcbiAgICAgICAgY29uc3QgY2VudGVyTG5nID0gK2xuZ2xhdFswXTtcbiAgICAgICAgY29uc3QgY2VudGVyTGF0ID0gK2xuZ2xhdFsxXTtcbiAgICAgICAgLy8g6L2s5o2i5Lit5b+D54K557qs5bqm5Li65byn5bqmXG4gICAgICAgIGNvbnN0IGNlbnRlckxhdFJhZCA9IChjZW50ZXJMYXQgKiBNYXRoLlBJKSAvIDE4MDtcbiAgICAgICAgLy8g5a2Y5YKo6L2o6L+554K555qE5pWw57uEXG4gICAgICAgIGNvbnN0IHRyYWplY3RvcnkgPSBbXTtcblxuICAgICAgICAvLyDpgY3ljoYgMH4zNjDCsO+8jOeUn+aIkOetiemXtOmalOeahOeCuVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50c0NvdW50OyBpKyspIHtcbiAgICAgICAgICAvLyDorqHnrpflvZPliY3ngrnnmoTmlrnkvY3op5LvvIjlvKfluqbvvInvvJrku44wwrDliLAzNjDCsO+8jOWdh+WIhnBvaW50c0NvdW505Lu9XG4gICAgICAgICAgY29uc3QgYW5nbGVSYWQgPSAoKChpICogMzYwKSAvIHBvaW50c0NvdW50KSAqIE1hdGguUEkpIC8gMTgwO1xuXG4gICAgICAgICAgLy8g6K6h566X5b2T5YmN54K555u45a+55LqO5Lit5b+D54K555qE57uP57qs5bqm5aKe6YeP77yI5byn5bqm77yJXG4gICAgICAgICAgY29uc3QgZGVsdGFMYXRSYWQgPSAocmFkaXVzICogTWF0aC5jb3MoYW5nbGVSYWQpKSAvIEVBUlRIX1JBRElVUztcbiAgICAgICAgICBjb25zdCBkZWx0YUxuZ1JhZCA9IChyYWRpdXMgKiBNYXRoLnNpbihhbmdsZVJhZCkpIC8gKEVBUlRIX1JBRElVUyAqIE1hdGguY29zKGNlbnRlckxhdFJhZCkpO1xuXG4gICAgICAgICAgLy8g6L2s5o2i5Li66KeS5bqm77yM5bm26K6h566X5paw5Z2Q5qCHXG4gICAgICAgICAgY29uc3QgbmV3TGF0ID0gY2VudGVyTGF0ICsgKGRlbHRhTGF0UmFkICogMTgwKSAvIE1hdGguUEk7XG4gICAgICAgICAgY29uc3QgbmV3TG5nID0gY2VudGVyTG5nICsgKGRlbHRhTG5nUmFkICogMTgwKSAvIE1hdGguUEk7XG5cbiAgICAgICAgICAvLyDmt7vliqDliLDovajov7nmlbDnu4TvvIjkv53nlZk25L2N5bCP5pWw77yM57uP57qs5bqm5bi46KeE57K+5bqm77yJXG4gICAgICAgICAgdHJhamVjdG9yeS5wdXNoKFtwYXJzZUZsb2F0KG5ld0xuZy50b0ZpeGVkKDYpKSwgcGFyc2VGbG9hdChuZXdMYXQudG9GaXhlZCg2KSldKTtcbiAgICAgICAgfVxuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgIGdlb21ldHJ5OiB7XG4gICAgICAgICAgICB0eXBlOiAnUG9seWdvbicsXG4gICAgICAgICAgICBjb29yZGluYXRlczogW3RyYWplY3RvcnldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFyLmxuZ2xhdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IHIubG5nbGF0LnNwbGl0KCc7JykubWFwKChyKSA9PiB7XG4gICAgICAgICAgY29uc3QgbG5nbGF0ID0gci5zcGxpdCgnLCcpO1xuICAgICAgICAgIHJldHVybiBbK2xuZ2xhdFswXSwgK2xuZ2xhdFsxXV07XG4gICAgICAgIH0pO1xuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgIGdlb21ldHJ5OiB7XG4gICAgICAgICAgICB0eXBlOiAnUG9seWdvbicsXG4gICAgICAgICAgICBjb29yZGluYXRlczogW2Nvb3JkaW5hdGVzXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubGF5ZXIuc2V0RGF0YShkYXRhKTtcbiAgfVxuXG4gIEBNZXRob2QoJ+W8gOWni+e7mOWIticpXG4gIGFzeW5jIHN0YXJ0RHJhdyhcbiAgICBAUGFyYW0oJ+exu+WeiycsIHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZW51bTogW1xuICAgICAgICB7IGxhYmVsOiAn5aSa6L655b2iJywgdmFsdWU6ICdwb2x5Z29uJyB9LFxuICAgICAgICB7IGxhYmVsOiAn5ZyG5b2iJywgdmFsdWU6ICdjaXJjbGUnIH0sXG4gICAgICBdLFxuICAgIH0pXG4gICAgdHlwZTogc3RyaW5nLFxuICApIHtcbiAgICBjb25zdCB7IERyYXdTY2VuZSwgUG9seWdvbkRyYXcsIENpcmNsZURyYXcsIE9wZXJhdGVFdmVudFR5cGUgfSA9IGF3YWl0IGltcG9ydCgnYm1hcC1kcmF3Jyk7XG4gICAgaWYgKCF0aGlzLnNjZW5lKSB7XG4gICAgICB0aGlzLnNjZW5lID0gbmV3IERyYXdTY2VuZSh0aGlzLnBhcmVudC5tYXAsIHsgbm9MaW1pdDogdHJ1ZSB9KTtcblxuICAgICAgdGhpcy5zY2VuZS5hZGRFdmVudExpc3RlbmVyKE9wZXJhdGVFdmVudFR5cGUuQ09NUExFVEUsIChlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICBpZiAoZS50YXJnZXQub3ZlcmxheS5yYWRpdXMpIHtcbiAgICAgICAgICBjb25zdCByYWRpdXMgPSBlLnRhcmdldC5vdmVybGF5LnJhZGl1cztcbiAgICAgICAgICBjb25zdCBsbmdsYXQgPSBlLnRhcmdldC5vdmVybGF5LmxhdExuZztcbiAgICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgdHlwZTogJ2NpcmNsZScsXG4gICAgICAgICAgICBsbmdsYXQ6IGAke2xuZ2xhdC5sbmd9LCR7bG5nbGF0LmxhdH1gLFxuICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmNyZWF0ZS5lbWl0KGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGUudGFyZ2V0Lm92ZXJsYXkuZ2V0UG9pbnRzKCk7XG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgdHlwZTogJ3BvbHlnb24nLFxuICAgICAgICAgICAgbG5nbGF0OiBwb2ludHMubWFwKChwKSA9PiBgJHtwLmxhdExuZy5sbmd9LCR7cC5sYXRMbmcubGF0fWApLmpvaW4oJzsnKSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuY3JlYXRlLmVtaXQoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICBpZiAoIXRoaXMucG9seWdvbikge1xuICAgICAgICAgIHRoaXMucG9seWdvbiA9IG5ldyBQb2x5Z29uRHJhdyh0aGlzLnNjZW5lLCB7XG4gICAgICAgICAgICBhdXRvVmlld3BvcnQ6IHRydWUsIC8vIOaYr+WQpuiHquWKqOiwg+aVtOinhumHjlxuICAgICAgICAgICAgaGlkZVRpcDogZmFsc2UsIC8vIOmakOiXj+e7mOWItuaPkOekulxuICAgICAgICAgICAgaXNTZXJpZXM6IHRydWUsIC8vIOaYr+WQpuW8gOWQr+aJuemHj+e7mOWItlxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgYmFzZU9wdHM6IHtcbiAgICAgICAgICAgICAgZmlsbENvbG9yOiB0aGlzLmZpbGxDb2xvcixcbiAgICAgICAgICAgICAgc3Ryb2tlV2VpZ2h0OiB0aGlzLmxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgc3Ryb2tlQ29sb3I6IHRoaXMubGluZUNvbG9yLFxuICAgICAgICAgICAgICAvLyBzdHJva2VPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAvLyBmaWxsT3BhY2l0eTogMC4yLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBvbHlnb24ub3BlbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NpcmNsZSc6XG4gICAgICAgIGlmICghdGhpcy5jaXJjbGUpIHtcbiAgICAgICAgICB0aGlzLmNpcmNsZSA9IG5ldyBDaXJjbGVEcmF3KHRoaXMuc2NlbmUsIHtcbiAgICAgICAgICAgIGF1dG9WaWV3cG9ydDogdHJ1ZSwgLy8g5piv5ZCm6Ieq5Yqo6LCD5pW06KeG6YeOXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICBpc1NlcmllczogdHJ1ZSwgLy8g5piv5ZCm5byA5ZCv5om56YeP57uY5Yi2XG4gICAgICAgICAgICAvLyBsYWJlbE9wdGlvbnM6IHtcbiAgICAgICAgICAgIC8vICAgYm9yZGVyUmFkaXVzOiAnMnB4JyxcbiAgICAgICAgICAgIC8vICAgYmFja2dyb3VuZDogJyNiNWQzZmInLFxuICAgICAgICAgICAgLy8gICBib3JkZXI6ICcxcHggc29saWQgI2I1ZDNmYicsXG4gICAgICAgICAgICAvLyAgIGNvbG9yOiAnIzMzMycsXG4gICAgICAgICAgICAvLyAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgICAvLyAgIGxldHRlclNwYWNpbmc6ICcwJyxcbiAgICAgICAgICAgIC8vICAgcGFkZGluZzogJzVweCcsXG4gICAgICAgICAgICAvLyB9LFxuICAgICAgICAgICAgYmFzZU9wdHM6IHtcbiAgICAgICAgICAgICAgZmlsbENvbG9yOiB0aGlzLmZpbGxDb2xvcixcbiAgICAgICAgICAgICAgc3Ryb2tlV2VpZ2h0OiB0aGlzLmxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgc3Ryb2tlQ29sb3I6IHRoaXMubGluZUNvbG9yLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNpcmNsZS5vcGVuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIHRoaXMuc3RvcERyYXcoKTtcbiAgICAvLyB0aGlzLmVkaXREYXRhID0gW107XG4gICAgLy8gdGhpcy5lZGl0TGF5ZXIgPSBuZXcgbWFwdmdsLkljb25MYXllcih7XG4gICAgLy8gICB3aWR0aDogMjAgLyAyLFxuICAgIC8vICAgaGVpZ2h0OiAzMC42IC8gMixcbiAgICAvLyAgIG9mZnNldDogWzAsIC0zMC42IC8gMiAvIDJdLFxuICAgIC8vICAgaWNvbjogJ2Fzc2V0cy9pbWcvc2NyZWVuL21hcmtlci5wbmcnLFxuICAgIC8vICAgZW5hYmxlUGlja2VkOiB0cnVlLCAvLyDmmK/lkKblj6/ku6Xmi77lj5ZcbiAgICAvLyAgIHNlbGVjdGVkSW5kZXg6IC0xLCAvLyDpgInkuK3poblcbiAgICAvLyAgIHNlbGVjdGVkQ29sb3I6ICcjZmYwMDAwJywgLy8g6YCJ5Lit6aG56aKc6ImyXG4gICAgLy8gICBhdXRvU2VsZWN0OiB0cnVlLCAvLyDmoLnmja7pvKDmoIfkvY3nva7mnaXoh6rliqjorr7nva7pgInkuK3poblcbiAgICAvLyAgIG9uUmlnaHRDbGljazogKGUpID0+IHtcbiAgICAvLyAgICAgY29uc29sZS5sb2coJ3JpZ2h0IGNsaWNrJywgZSk7XG4gICAgLy8gICAgIHRoaXMuZWRpdERhdGEuc3BsaWNlKGUuZGF0YUluZGV4LCAxKTtcbiAgICAvLyAgICAgdGhpcy51cGRhdGVFZGl0RGF0YSgpO1xuICAgIC8vICAgfSxcbiAgICAvLyB9KTtcbiAgICAvLyB0aGlzLnBhcmVudC5hZGRMYXllcih0aGlzLmVkaXRMYXllcik7XG4gICAgLy8gdGhpcy5lZGl0TGluZUxheWVyID0gbmV3IG1hcHZnbC5TaW1wbGVMaW5lTGF5ZXIoe1xuICAgIC8vICAgY29sb3I6ICdyZ2JhKDUwLCA1MCwgMjAwLCAxKScsXG4gICAgLy8gICBibGVuZDogJ2xpZ2h0ZXInLFxuICAgIC8vICAgZGF0YTogW1xuICAgIC8vICAgICB7XG4gICAgLy8gICAgICAgZ2VvbWV0cnk6IHtcbiAgICAvLyAgICAgICAgIHR5cGU6ICdMaW5lU3RyaW5nJyxcbiAgICAvLyAgICAgICAgIGNvb3JkaW5hdGVzOiBbXG4gICAgLy8gICAgICAgICAgIFsxMTYuMzk0MTkxLCAzOS45MTMzNF0sXG4gICAgLy8gICAgICAgICAgIFsxMTYuNDE3MjU5LCAzOS45MTM2NzJdLFxuICAgIC8vICAgICAgICAgXSxcbiAgICAvLyAgICAgICB9LFxuICAgIC8vICAgICB9LFxuICAgIC8vICAgXSxcbiAgICAvLyB9KTtcbiAgICAvLyB0aGlzLnBhcmVudC5hZGRMYXllcih0aGlzLmVkaXRMaW5lTGF5ZXIpO1xuICAgIC8vIHRoaXMucGFyZW50Lm1hcENsaWNrLnBpcGUodGFrZVVudGlsKHRoaXMuc3RvcEVkaXQkKSkuc3Vic2NyaWJlKChwb2ludCkgPT4ge1xuICAgIC8vICAgdGhpcy5lZGl0RGF0YS5wdXNoKFtwb2ludC5sbmcsIHBvaW50LmxhdF0pO1xuICAgIC8vICAgLy8gdGhpcy5lZGl0RGF0YS5wdXNoKHtcbiAgICAvLyAgIC8vICAgZ2VvbWV0cnk6IHtcbiAgICAvLyAgIC8vICAgICB0eXBlOiAnUG9pbnQnLFxuICAgIC8vICAgLy8gICAgIGNvb3JkaW5hdGVzOiBbcG9pbnQubG5nLCBwb2ludC5sYXRdLFxuICAgIC8vICAgLy8gICB9LFxuICAgIC8vICAgLy8gfSk7XG4gICAgLy8gICB0aGlzLnVwZGF0ZUVkaXREYXRhKCk7XG4gICAgLy8gfSk7XG4gIH1cblxuICB1cGRhdGVFZGl0RGF0YSgpIHtcbiAgICBpZiAodGhpcy5lZGl0TGF5ZXIpIHtcbiAgICAgIHRoaXMuZWRpdExheWVyLnNldERhdGEodGhpcy5lZGl0RGF0YS5tYXAoKHIpID0+ICh7IGdlb21ldHJ5OiB7IHR5cGU6ICdQb2ludCcsIGNvb3JkaW5hdGVzOiByIH0gfSkpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZWRpdExpbmVMYXllcikge1xuICAgICAgdGhpcy5lZGl0TGluZUxheWVyLnNldERhdGEoW1xuICAgICAgICB7XG4gICAgICAgICAgZ2VvbWV0cnk6IHtcbiAgICAgICAgICAgIHR5cGU6ICdMaW5lU3RyaW5nJyxcbiAgICAgICAgICAgIGNvb3JkaW5hdGVzOiB0aGlzLmVkaXREYXRhLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9XG4gIH1cblxuICBATWV0aG9kKCfnu5PmnZ/nu5jliLYnKVxuICBzdG9wRHJhdygpIHtcbiAgICB0aGlzLnNjZW5lPy5jbG9zZSgpO1xuICAgIC8vIHRoaXMuc3RvcEVkaXQkLm5leHQoKTtcbiAgICAvLyBpZiAodGhpcy5lZGl0TGF5ZXIpIHtcbiAgICAvLyAgIHRoaXMucGFyZW50LnJlbW92ZUxheWVyKHRoaXMuZWRpdExheWVyKTtcbiAgICAvLyAgIHRoaXMuZWRpdExheWVyID0gbnVsbDtcbiAgICAvLyB9XG4gICAgLy8gaWYgKHRoaXMuZWRpdExpbmVMYXllcikge1xuICAgIC8vICAgdGhpcy5wYXJlbnQucmVtb3ZlTGF5ZXIodGhpcy5lZGl0TGluZUxheWVyKTtcbiAgICAvLyAgIHRoaXMuZWRpdExpbmVMYXllciA9IG51bGw7XG4gICAgLy8gfVxuICAgIC8vIGlmICh0aGlzLmVkaXREYXRhPy5sZW5ndGggPj0gMykge1xuICAgIC8vICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAvLyAgICAgdGhpcy5kYXRhID0gW107XG4gICAgLy8gICB9XG4gICAgLy8gICBjb25zdCBkYXRhID0ge1xuICAgIC8vICAgICB0eXBlOiAncG9seWdvbicsXG4gICAgLy8gICAgIGxuZ2xhdDogdGhpcy5lZGl0RGF0YS5tYXAoKHIpID0+IHIuam9pbignLCcpKS5qb2luKCc7JyksXG4gICAgLy8gICB9O1xuICAgIC8vICAgdGhpcy5kYXRhLnB1c2goZGF0YSk7XG4gICAgLy8gICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgICAvLyAgIHRoaXMuY3JlYXRlLmVtaXQoZGF0YSk7XG4gICAgLy8gfVxuICAgIC8vIHRoaXMuZWRpdERhdGEgPSBudWxsO1xuICB9XG5cbiAgc2VhcmNoKCkge1xuICAgIGlmICghdGhpcy5zZWFyY2hUZXh0KSB7XG4gICAgfVxuICAgIHZhciBsb2NhbCA9IG5ldyBCTWFwR0wuTG9jYWxTZWFyY2godGhpcy5wYXJlbnQubWFwLCB7XG4gICAgICAvL+aZuuiDveaQnOe0olxuICAgICAgb25TZWFyY2hDb21wbGV0ZTogKHJlcykgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhyZXMsIGxvY2FsKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbG9jYWwuc2VhcmNoKHRoaXMuc2VhcmNoVGV4dCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15324,6 +15324,9 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
15324
15324
|
const data = [];
|
|
15325
15325
|
this.data.forEach((r) => {
|
|
15326
15326
|
if (r.type === 'circle') {
|
|
15327
|
+
if (!r.radius || !r.lnglat) {
|
|
15328
|
+
return;
|
|
15329
|
+
}
|
|
15327
15330
|
// const radius = (r.radius * 180) / EARTH_RADIUS / Math.PI;
|
|
15328
15331
|
// // let radius = cradius / 90;
|
|
15329
15332
|
// let pointNum = 90;
|
|
@@ -15357,7 +15360,7 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
15357
15360
|
// 遍历 0~360°,生成等间隔的点
|
|
15358
15361
|
for (let i = 0; i < pointsCount; i++) {
|
|
15359
15362
|
// 计算当前点的方位角(弧度):从0°到360°,均分pointsCount份
|
|
15360
|
-
const angleRad = (i * 360 / pointsCount) * Math.PI / 180;
|
|
15363
|
+
const angleRad = (((i * 360) / pointsCount) * Math.PI) / 180;
|
|
15361
15364
|
// 计算当前点相对于中心点的经纬度增量(弧度)
|
|
15362
15365
|
const deltaLatRad = (radius * Math.cos(angleRad)) / EARTH_RADIUS$1;
|
|
15363
15366
|
const deltaLngRad = (radius * Math.sin(angleRad)) / (EARTH_RADIUS$1 * Math.cos(centerLatRad));
|
|
@@ -15375,6 +15378,9 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
15375
15378
|
});
|
|
15376
15379
|
}
|
|
15377
15380
|
else {
|
|
15381
|
+
if (!r.lnglat) {
|
|
15382
|
+
return;
|
|
15383
|
+
}
|
|
15378
15384
|
const coordinates = r.lnglat.split(';').map((r) => {
|
|
15379
15385
|
const lnglat = r.split(',');
|
|
15380
15386
|
return [+lnglat[0], +lnglat[1]];
|
|
@@ -15404,8 +15410,6 @@ let BaiduFenceComponent = class BaiduFenceComponent extends BaseLayer {
|
|
|
15404
15410
|
lnglat: `${lnglat.lng},${lnglat.lat}`,
|
|
15405
15411
|
radius: radius,
|
|
15406
15412
|
};
|
|
15407
|
-
this.data.push(data);
|
|
15408
|
-
this.updateData();
|
|
15409
15413
|
this.create.emit(data);
|
|
15410
15414
|
}
|
|
15411
15415
|
else {
|