bbj-screen-widget 2.4.65 → 2.4.67
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.d.ts +34 -33
- package/bbj-screen-widget.metadata.json +1 -1
- package/bundles/bbj-screen-widget-core.umd.js +1 -1
- package/bundles/bbj-screen-widget-core.umd.js.map +1 -1
- package/bundles/bbj-screen-widget-core.umd.min.js +1 -1
- package/bundles/bbj-screen-widget-core.umd.min.js.map +1 -1
- package/bundles/bbj-screen-widget.umd.js +737 -356
- 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/bbj-screen-widget.js +35 -34
- package/esm2015/core/service/baidu-map.service.js +2 -2
- package/esm2015/lib/custom-baidu-map/baidu-fence/baidu-fence.component.js +175 -91
- package/esm2015/lib/custom-baidu-map/baidu-lushu/baidu-lushu.component.js +222 -0
- package/esm2015/lib/custom-baidu-map/custom-baidu-map.component.js +2 -1
- package/esm2015/lib/custom-baidu-map/custom-baidu-map.module.js +6 -1
- package/fesm2015/bbj-screen-widget-core.js +1 -1
- package/fesm2015/bbj-screen-widget-core.js.map +1 -1
- package/fesm2015/bbj-screen-widget.js +392 -90
- package/fesm2015/bbj-screen-widget.js.map +1 -1
- package/lib/custom-baidu-map/baidu-fence/baidu-fence.component.d.ts +20 -2
- package/lib/custom-baidu-map/baidu-lushu/baidu-lushu.component.d.ts +31 -0
- package/package.json +1 -1
- package/src/assets/img/screen/car.png +0 -0
- package/src/assets/js/BMapGL/Lushu.js +815 -0
- package/src/assets/js/BMapGL/Lushu.min.js +1 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { __awaiter, __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Component, NgZone } from '@angular/core';
|
|
3
|
+
import { LazyService } from '@delon/util';
|
|
4
|
+
import { Data, Method, Property, Widget } from 'bbj-widget-base';
|
|
5
|
+
import { CustomBaiduMapComponent } from '../custom-baidu-map.component';
|
|
6
|
+
let BaiduLushuComponent = class BaiduLushuComponent {
|
|
7
|
+
constructor(parent, lazy, zone) {
|
|
8
|
+
this.parent = parent;
|
|
9
|
+
this.lazy = lazy;
|
|
10
|
+
this.zone = zone;
|
|
11
|
+
this.speed = 500;
|
|
12
|
+
this.iconWidth = 32;
|
|
13
|
+
this.iconHeight = 32;
|
|
14
|
+
this.showPolyline = true;
|
|
15
|
+
this.polylineColor = '#111';
|
|
16
|
+
this.autoStart = true;
|
|
17
|
+
// @Property('自动视野调整', { type: 'boolean' })
|
|
18
|
+
// autoView = true;
|
|
19
|
+
this.enableRotation = true;
|
|
20
|
+
this.defaultContent = '行驶中';
|
|
21
|
+
this.data = [
|
|
22
|
+
{
|
|
23
|
+
lng: '120.7',
|
|
24
|
+
lat: '28',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
lng: '120.71',
|
|
28
|
+
lat: '28.01',
|
|
29
|
+
landmark: '加油站',
|
|
30
|
+
pauseTime: 2,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
lng: '120.79',
|
|
34
|
+
lat: '28.1',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
this.lushu = null;
|
|
38
|
+
this.inited = false;
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.zone.runOutsideAngular(() => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
yield this.parent.init$;
|
|
43
|
+
yield this.lazy.loadScript('/assets/js/BMapGL/Lushu.js');
|
|
44
|
+
this.inited = true;
|
|
45
|
+
this.update();
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
ngOnChanges(changes) {
|
|
49
|
+
if (this.inited) {
|
|
50
|
+
this.zone.runOutsideAngular(() => {
|
|
51
|
+
this.update();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
this.clear();
|
|
57
|
+
}
|
|
58
|
+
update() {
|
|
59
|
+
var _a;
|
|
60
|
+
this.clear();
|
|
61
|
+
if (!((_a = this.data) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const landmarkPois = [];
|
|
65
|
+
const arrPois = this.data.map((item) => {
|
|
66
|
+
if (item.landmark || item.pauseTime) {
|
|
67
|
+
landmarkPois.push({
|
|
68
|
+
lng: Number(item.lng),
|
|
69
|
+
lat: Number(item.lat),
|
|
70
|
+
html: item.landmark,
|
|
71
|
+
pauseTime: item.pauseTime ? Number(item.pauseTime) : 0,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return new BMapGL.Point(item.lng, item.lat);
|
|
75
|
+
});
|
|
76
|
+
if (this.showPolyline) {
|
|
77
|
+
this.polyline = new BMapGL.Polyline(arrPois, { strokeColor: this.polylineColor });
|
|
78
|
+
this.parent.map.addOverlay(this.polyline);
|
|
79
|
+
}
|
|
80
|
+
this.lushu = new BMapGLLib.LuShu(this.parent.map, arrPois, {
|
|
81
|
+
defaultContent: this.defaultContent || '',
|
|
82
|
+
autoView: false,
|
|
83
|
+
icon: new BMapGL.Icon(this.icon || '/assets/img/screen/car.png', new BMapGL.Size(this.iconWidth, this.iconHeight), {
|
|
84
|
+
anchor: new BMapGL.Size(10, 10),
|
|
85
|
+
}),
|
|
86
|
+
speed: this.speed,
|
|
87
|
+
enableRotation: this.enableRotation,
|
|
88
|
+
// defaultContent不为空时才会显示
|
|
89
|
+
landmarkPois: landmarkPois,
|
|
90
|
+
});
|
|
91
|
+
if (this.autoStart) {
|
|
92
|
+
this.start();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
start() {
|
|
96
|
+
if (this.lushu) {
|
|
97
|
+
this.parent.map.setViewport(this.lushu.path);
|
|
98
|
+
this.lushu.start();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
stop() {
|
|
102
|
+
if (this.lushu) {
|
|
103
|
+
this.lushu.stop();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
pause() {
|
|
107
|
+
if (this.lushu) {
|
|
108
|
+
this.lushu.pause();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
clear() {
|
|
112
|
+
if (this.lushu) {
|
|
113
|
+
this.lushu.clear();
|
|
114
|
+
this.lushu = null;
|
|
115
|
+
}
|
|
116
|
+
if (this.polyline) {
|
|
117
|
+
this.parent.map.removeOverlay(this.polyline);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
setSpeed(speed) {
|
|
121
|
+
if (speed) {
|
|
122
|
+
this.speed = speed;
|
|
123
|
+
this.update();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
BaiduLushuComponent.decorators = [
|
|
128
|
+
{ type: Component, args: [{
|
|
129
|
+
selector: 'sc-baidu-lushu',
|
|
130
|
+
template: "",
|
|
131
|
+
styles: [""]
|
|
132
|
+
},] }
|
|
133
|
+
];
|
|
134
|
+
BaiduLushuComponent.ctorParameters = () => [
|
|
135
|
+
{ type: CustomBaiduMapComponent },
|
|
136
|
+
{ type: LazyService },
|
|
137
|
+
{ type: NgZone }
|
|
138
|
+
];
|
|
139
|
+
__decorate([
|
|
140
|
+
Property('速度', { type: 'number' }),
|
|
141
|
+
__metadata("design:type", Object)
|
|
142
|
+
], BaiduLushuComponent.prototype, "speed", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
Property('图标', { type: 'string', ui: { widget: 'myPicture' } }),
|
|
145
|
+
__metadata("design:type", String)
|
|
146
|
+
], BaiduLushuComponent.prototype, "icon", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
Property('图标宽度', { type: 'number' }),
|
|
149
|
+
__metadata("design:type", Number)
|
|
150
|
+
], BaiduLushuComponent.prototype, "iconWidth", void 0);
|
|
151
|
+
__decorate([
|
|
152
|
+
Property('图标高度', { type: 'number' }),
|
|
153
|
+
__metadata("design:type", Number)
|
|
154
|
+
], BaiduLushuComponent.prototype, "iconHeight", void 0);
|
|
155
|
+
__decorate([
|
|
156
|
+
Property('显示轨迹', { type: 'boolean' }),
|
|
157
|
+
__metadata("design:type", Object)
|
|
158
|
+
], BaiduLushuComponent.prototype, "showPolyline", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
Property('轨迹颜色', { type: 'string', ui: { widget: 'myColor', visibleIf: { showPolyline: [true] } } }),
|
|
161
|
+
__metadata("design:type", String)
|
|
162
|
+
], BaiduLushuComponent.prototype, "polylineColor", void 0);
|
|
163
|
+
__decorate([
|
|
164
|
+
Property('自动播放', { type: 'boolean' }),
|
|
165
|
+
__metadata("design:type", Object)
|
|
166
|
+
], BaiduLushuComponent.prototype, "autoStart", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
Property('自动转向', { type: 'boolean' }),
|
|
169
|
+
__metadata("design:type", Object)
|
|
170
|
+
], BaiduLushuComponent.prototype, "enableRotation", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
Property('默认内容', { type: 'string' }),
|
|
173
|
+
__metadata("design:type", Object)
|
|
174
|
+
], BaiduLushuComponent.prototype, "defaultContent", void 0);
|
|
175
|
+
__decorate([
|
|
176
|
+
Data({
|
|
177
|
+
properties: {
|
|
178
|
+
lng: { type: 'number', title: '经度' },
|
|
179
|
+
lat: { type: 'number', title: '纬度' },
|
|
180
|
+
landmark: { type: 'string', title: '标记点' },
|
|
181
|
+
pauseTime: { type: 'number', title: '暂停时间' },
|
|
182
|
+
},
|
|
183
|
+
}),
|
|
184
|
+
__metadata("design:type", Array)
|
|
185
|
+
], BaiduLushuComponent.prototype, "data", void 0);
|
|
186
|
+
__decorate([
|
|
187
|
+
Method('播放'),
|
|
188
|
+
__metadata("design:type", Function),
|
|
189
|
+
__metadata("design:paramtypes", []),
|
|
190
|
+
__metadata("design:returntype", void 0)
|
|
191
|
+
], BaiduLushuComponent.prototype, "start", null);
|
|
192
|
+
__decorate([
|
|
193
|
+
Method('停止'),
|
|
194
|
+
__metadata("design:type", Function),
|
|
195
|
+
__metadata("design:paramtypes", []),
|
|
196
|
+
__metadata("design:returntype", void 0)
|
|
197
|
+
], BaiduLushuComponent.prototype, "stop", null);
|
|
198
|
+
__decorate([
|
|
199
|
+
Method('暂停'),
|
|
200
|
+
__metadata("design:type", Function),
|
|
201
|
+
__metadata("design:paramtypes", []),
|
|
202
|
+
__metadata("design:returntype", void 0)
|
|
203
|
+
], BaiduLushuComponent.prototype, "pause", null);
|
|
204
|
+
__decorate([
|
|
205
|
+
Method('设置速度'),
|
|
206
|
+
__metadata("design:type", Function),
|
|
207
|
+
__metadata("design:paramtypes", [Number]),
|
|
208
|
+
__metadata("design:returntype", void 0)
|
|
209
|
+
], BaiduLushuComponent.prototype, "setSpeed", null);
|
|
210
|
+
BaiduLushuComponent = __decorate([
|
|
211
|
+
Widget('轨迹', {
|
|
212
|
+
group: 'component',
|
|
213
|
+
image: '',
|
|
214
|
+
icon: '',
|
|
215
|
+
hidden: true,
|
|
216
|
+
}),
|
|
217
|
+
__metadata("design:paramtypes", [CustomBaiduMapComponent,
|
|
218
|
+
LazyService,
|
|
219
|
+
NgZone])
|
|
220
|
+
], BaiduLushuComponent);
|
|
221
|
+
export { BaiduLushuComponent };
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFpZHUtbHVzaHUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL2N1c3RvbS1iYWlkdS1tYXAvYmFpZHUtbHVzaHUvYmFpZHUtbHVzaHUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFnQixNQUFNLGlCQUFpQixDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0lBZ0IzRCxtQkFBbUIsU0FBbkIsbUJBQW1CO0lBZ0Q5QixZQUNVLE1BQStCLEVBQy9CLElBQWlCLEVBQ2pCLElBQVk7UUFGWixXQUFNLEdBQU4sTUFBTSxDQUF5QjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQVE7UUFqRHRCLFVBQUssR0FBRyxHQUFHLENBQUM7UUFJWixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRXZCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFFeEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFcEIsa0JBQWEsR0FBVyxNQUFNLENBQUM7UUFFL0IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQiwyQ0FBMkM7UUFDM0MsbUJBQW1CO1FBRW5CLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXRCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBU3ZCLFNBQUksR0FBVTtZQUNaO2dCQUNFLEdBQUcsRUFBRSxPQUFPO2dCQUNaLEdBQUcsRUFBRSxJQUFJO2FBQ1Y7WUFDRDtnQkFDRSxHQUFHLEVBQUUsUUFBUTtnQkFDYixH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QU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzs7MkRBQ2Q7QUFTdkI7SUFSQyxJQUFJLENBQUM7UUFDSixVQUFVLEVBQUU7WUFDVixHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDcEMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ3BDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtZQUMxQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7U0FDN0M7S0FDRixDQUFDOztpREFnQkE7QUF3RUY7SUFEQyxNQUFNLENBQUMsSUFBSSxDQUFDOzs7O2dEQU1aO0FBR0Q7SUFEQyxNQUFNLENBQUMsSUFBSSxDQUFDOzs7OytDQUtaO0FBRUQ7SUFEQyxNQUFNLENBQUMsSUFBSSxDQUFDOzs7O2dEQUtaO0FBYUQ7SUFEQyxNQUFNLENBQUMsTUFBTSxDQUFDOzs7O21EQU1kO0FBeEpVLG1CQUFtQjtJQU4vQixNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ1osS0FBSyxFQUFFLFdBQVc7UUFDbEIsS0FBSyxFQUFFLEVBQUU7UUFDVCxJQUFJLEVBQUUsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQztxQ0FrRGtCLHVCQUF1QjtRQUN6QixXQUFXO1FBQ1gsTUFBTTtHQW5EWCxtQkFBbUIsQ0F5Si9CO1NBekpZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgTmdab25lLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXp5U2VydmljZSB9IGZyb20gJ0BkZWxvbi91dGlsJztcbmltcG9ydCB7IERhdGEsIE1ldGhvZCwgUHJvcGVydHksIFdpZGdldCwgRXZlbnQsIFBhcmFtIH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcbmltcG9ydCB7IEN1c3RvbUJhaWR1TWFwQ29tcG9uZW50IH0gZnJvbSAnLi4vY3VzdG9tLWJhaWR1LW1hcC5jb21wb25lbnQnO1xuZGVjbGFyZSBjb25zdCBCTWFwR0w7XG5kZWNsYXJlIGNvbnN0IEJNYXBHTExpYjtcbmRlY2xhcmUgY29uc3QgQk1BUF9TVEFUVVNfU1VDQ0VTUztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2MtYmFpZHUtbHVzaHUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFpZHUtbHVzaHUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYWlkdS1sdXNodS5jb21wb25lbnQubGVzcyddLFxufSlcbkBXaWRnZXQoJ+i9qOi/uScsIHtcbiAgZ3JvdXA6ICdjb21wb25lbnQnLFxuICBpbWFnZTogJycsXG4gIGljb246ICcnLFxuICBoaWRkZW46IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJhaWR1THVzaHVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQFByb3BlcnR5KCfpgJ/luqYnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gIHNwZWVkID0gNTAwO1xuICBAUHJvcGVydHkoJ+WbvuaghycsIHsgdHlwZTogJ3N0cmluZycsIHVpOiB7IHdpZGdldDogJ215UGljdHVyZScgfSB9KVxuICBpY29uOiBzdHJpbmc7XG4gIEBQcm9wZXJ0eSgn5Zu+5qCH5a695bqmJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICBpY29uV2lkdGg6IG51bWJlciA9IDMyO1xuICBAUHJvcGVydHkoJ+Wbvuagh+mrmOW6picsIHsgdHlwZTogJ251bWJlcicgfSlcbiAgaWNvbkhlaWdodDogbnVtYmVyID0gMzI7XG4gIEBQcm9wZXJ0eSgn5pi+56S66L2o6L+5JywgeyB0eXBlOiAnYm9vbGVhbicgfSlcbiAgc2hvd1BvbHlsaW5lID0gdHJ1ZTtcbiAgQFByb3BlcnR5KCfovajov7npopzoibInLCB7IHR5cGU6ICdzdHJpbmcnLCB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJywgdmlzaWJsZUlmOiB7IHNob3dQb2x5bGluZTogW3RydWVdIH0gfSB9KVxuICBwb2x5bGluZUNvbG9yOiBzdHJpbmcgPSAnIzExMSc7XG4gIEBQcm9wZXJ0eSgn6Ieq5Yqo5pKt5pS+JywgeyB0eXBlOiAnYm9vbGVhbicgfSlcbiAgYXV0b1N0YXJ0ID0gdHJ1ZTtcbiAgLy8gQFByb3BlcnR5KCfoh6rliqjop4bph47osIPmlbQnLCB7IHR5cGU6ICdib29sZWFuJyB9KVxuICAvLyBhdXRvVmlldyA9IHRydWU7XG4gIEBQcm9wZXJ0eSgn6Ieq5Yqo6L2s5ZCRJywgeyB0eXBlOiAnYm9vbGVhbicgfSlcbiAgZW5hYmxlUm90YXRpb24gPSB0cnVlO1xuICBAUHJvcGVydHkoJ+m7mOiupOWGheWuuScsIHsgdHlwZTogJ3N0cmluZycgfSlcbiAgZGVmYXVsdENvbnRlbnQgPSAn6KGM6am25LitJztcbiAgQERhdGEoe1xuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGxuZzogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICfnu4/luqYnIH0sXG4gICAgICBsYXQ6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57qs5bqmJyB9LFxuICAgICAgbGFuZG1hcms6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn5qCH6K6w54K5JyB9LFxuICAgICAgcGF1c2VUaW1lOiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+aaguWBnOaXtumXtCcgfSxcbiAgICB9LFxuICB9KVxuICBkYXRhOiBhbnlbXSA9IFtcbiAgICB7XG4gICAgICBsbmc6ICcxMjAuNycsXG4gICAgICBsYXQ6ICcyOCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBsbmc6ICcxMjAuNzEnLFxuICAgICAgbGF0OiAnMjguMDEnLFxuICAgICAgbGFuZG1hcms6ICfliqDmsrnnq5knLFxuICAgICAgcGF1c2VUaW1lOiAyLFxuICAgIH0sXG4gICAge1xuICAgICAgbG5nOiAnMTIwLjc5JyxcbiAgICAgIGxhdDogJzI4LjEnLFxuICAgIH0sXG4gIF07XG4gIGx1c2h1OiBhbnkgPSBudWxsO1xuICBpbml0ZWQgPSBmYWxzZTtcbiAgcG9seWxpbmU6IGFueTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwYXJlbnQ6IEN1c3RvbUJhaWR1TWFwQ29tcG9uZW50LFxuICAgIHByaXZhdGUgbGF6eTogTGF6eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5wYXJlbnQuaW5pdCQ7XG4gICAgICBhd2FpdCB0aGlzLmxhenkubG9hZFNjcmlwdCgnL2Fzc2V0cy9qcy9CTWFwR0wvTHVzaHUuanMnKTtcbiAgICAgIHRoaXMuaW5pdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuaW5pdGVkKSB7XG4gICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXIoKTtcbiAgfVxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy5jbGVhcigpO1xuICAgIGlmICghdGhpcy5kYXRhPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbGFuZG1hcmtQb2lzID0gW107XG4gICAgY29uc3QgYXJyUG9pcyA9IHRoaXMuZGF0YS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLmxhbmRtYXJrIHx8IGl0ZW0ucGF1c2VUaW1lKSB7XG4gICAgICAgIGxhbmRtYXJrUG9pcy5wdXNoKHtcbiAgICAgICAgICBsbmc6IE51bWJlcihpdGVtLmxuZyksXG4gICAgICAgICAgbGF0OiBOdW1iZXIoaXRlbS5sYXQpLFxuICAgICAgICAgIGh0bWw6IGl0ZW0ubGFuZG1hcmssXG4gICAgICAgICAgcGF1c2VUaW1lOiBpdGVtLnBhdXNlVGltZSA/IE51bWJlcihpdGVtLnBhdXNlVGltZSkgOiAwLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgQk1hcEdMLlBvaW50KGl0ZW0ubG5nLCBpdGVtLmxhdCk7XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuc2hvd1BvbHlsaW5lKSB7XG4gICAgICB0aGlzLnBvbHlsaW5lID0gbmV3IEJNYXBHTC5Qb2x5bGluZShhcnJQb2lzLCB7IHN0cm9rZUNvbG9yOiB0aGlzLnBvbHlsaW5lQ29sb3IgfSk7XG4gICAgICB0aGlzLnBhcmVudC5tYXAuYWRkT3ZlcmxheSh0aGlzLnBvbHlsaW5lKTtcbiAgICB9XG5cbiAgICB0aGlzLmx1c2h1ID0gbmV3IEJNYXBHTExpYi5MdVNodSh0aGlzLnBhcmVudC5tYXAsIGFyclBvaXMsIHtcbiAgICAgIGRlZmF1bHRDb250ZW50OiB0aGlzLmRlZmF1bHRDb250ZW50IHx8ICcnLFxuICAgICAgYXV0b1ZpZXc6IGZhbHNlLFxuICAgICAgaWNvbjogbmV3IEJNYXBHTC5JY29uKFxuICAgICAgICB0aGlzLmljb24gfHwgJy9hc3NldHMvaW1nL3NjcmVlbi9jYXIucG5nJyxcbiAgICAgICAgbmV3IEJNYXBHTC5TaXplKHRoaXMuaWNvbldpZHRoLCB0aGlzLmljb25IZWlnaHQpLFxuICAgICAgICB7XG4gICAgICAgICAgYW5jaG9yOiBuZXcgQk1hcEdMLlNpemUoMTAsIDEwKSxcbiAgICAgICAgfSxcbiAgICAgICksXG4gICAgICBzcGVlZDogdGhpcy5zcGVlZCxcbiAgICAgIGVuYWJsZVJvdGF0aW9uOiB0aGlzLmVuYWJsZVJvdGF0aW9uLCAvLyDmmK/lkKborr7nva5tYXJrZXLpmo/nnYDpgZPot6/nmoTotbDlkJHov5vooYzml4vovaxcbiAgICAgIC8vIGRlZmF1bHRDb250ZW505LiN5Li656m65pe25omN5Lya5pi+56S6XG4gICAgICBsYW5kbWFya1BvaXM6IGxhbmRtYXJrUG9pcyxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5hdXRvU3RhcnQpIHtcbiAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICB9XG4gIH1cblxuICBATWV0aG9kKCfmkq3mlL4nKVxuICBzdGFydCgpIHtcbiAgICBpZiAodGhpcy5sdXNodSkge1xuICAgICAgdGhpcy5wYXJlbnQubWFwLnNldFZpZXdwb3J0KHRoaXMubHVzaHUucGF0aCk7XG4gICAgICB0aGlzLmx1c2h1LnN0YXJ0KCk7XG4gICAgfVxuICB9XG5cbiAgQE1ldGhvZCgn5YGc5q2iJylcbiAgc3RvcCgpIHtcbiAgICBpZiAodGhpcy5sdXNodSkge1xuICAgICAgdGhpcy5sdXNodS5zdG9wKCk7XG4gICAgfVxuICB9XG4gIEBNZXRob2QoJ+aaguWBnCcpXG4gIHBhdXNlKCkge1xuICAgIGlmICh0aGlzLmx1c2h1KSB7XG4gICAgICB0aGlzLmx1c2h1LnBhdXNlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgaWYgKHRoaXMubHVzaHUpIHtcbiAgICAgIHRoaXMubHVzaHUuY2xlYXIoKTtcbiAgICAgIHRoaXMubHVzaHUgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5wb2x5bGluZSkge1xuICAgICAgdGhpcy5wYXJlbnQubWFwLnJlbW92ZU92ZXJsYXkodGhpcy5wb2x5bGluZSk7XG4gICAgfVxuICB9XG5cbiAgQE1ldGhvZCgn6K6+572u6YCf5bqmJylcbiAgc2V0U3BlZWQoc3BlZWQ6IG51bWJlcikge1xuICAgIGlmIChzcGVlZCkge1xuICAgICAgdGhpcy5zcGVlZCA9IHNwZWVkO1xuICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -667,6 +667,7 @@ CustomBaiduMapComponent = __decorate([
|
|
|
667
667
|
'sc-wind-layer',
|
|
668
668
|
'sc-typhoon-area-layer',
|
|
669
669
|
'sc-baidu-fence',
|
|
670
|
+
'sc-baidu-lushu',
|
|
670
671
|
],
|
|
671
672
|
description: 'hasChildItem',
|
|
672
673
|
}),
|
|
@@ -679,4 +680,4 @@ CustomBaiduMapComponent = __decorate([
|
|
|
679
680
|
WidgetRef])
|
|
680
681
|
], CustomBaiduMapComponent);
|
|
681
682
|
export { CustomBaiduMapComponent };
|
|
682
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJhaWR1LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvY3VzdG9tLWJhaWR1LW1hcC9jdXN0b20tYmFpZHUtbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosV0FBVyxFQUdYLE1BQU0sRUFJTixRQUFRLEVBRVIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVd6RCxNQUFNLFdBQVcsR0FBRztJQUNsQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtJQUNoQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUM5QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtJQUNuQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtDQUNsQyxDQUFDO0lBMkJXLHVCQUF1QixTQUF2Qix1QkFBdUI7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OzsyREFDbUM7QUFJckM7SUFIQyxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2IsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtLQUN2RyxDQUFDOzt5REFDaUM7QUF6SnhCLHVCQUF1QjtJQXJCbkMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNkLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxvQ0FBb0M7UUFDM0MsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUk7Z0JBQ1osU0FBUyxFQUFFLElBQUk7YUFDaEI7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLHVCQUF1QjtZQUN2Qix5QkFBeUI7WUFDekIsZUFBZTtZQUNmLHVCQUF1QjtZQUN2QixnQkFBZ0I7U0FDakI7UUFDRCxXQUFXLEVBQUUsY0FBYztLQUNyQixDQUFDO3FDQXFMb0IsZUFBZTtRQUMxQixVQUFVO1FBQ0osVUFBVTtRQUNoQixNQUFNO1FBQ1EsWUFBWTtRQUM1QixpQkFBaUI7UUFDVixTQUFTO0dBMUxuQix1QkFBdUIsQ0FnbEJuQztTQWhsQlksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNjYWxlU3ViamVjdCwgVGVtcGxhdGVVdGlsLCBXaWRnZXRSZWYgfSBmcm9tICdiYmotd2lkZ2V0LWJhc2UnO1xyXG5pbXBvcnQgeyBEYXRhLCBEYXRhT3V0cHV0LCBQcm9wZXJ0eSwgV2lkZ2V0LCBFdmVudCB9IGZyb20gJ2Jiai13aWRnZXQtYmFzZSc7XHJcbmltcG9ydCB7IEJhaWR1TWFwU2VydmljZSB9IGZyb20gJ2Jiai1zY3JlZW4td2lkZ2V0L2NvcmUnO1xyXG5cclxuLy8gZGVjbGFyZSBjb25zdCBCTWFwO1xyXG5kZWNsYXJlIGNvbnN0IEJNYXBHTDogYW55O1xyXG4vLyBkZWNsYXJlIGNvbnN0IEJNYXBHTExpYjtcclxuLy8gZGVjbGFyZSBjb25zdCBCTWFwTGliO1xyXG4vLyBkZWNsYXJlIGNvbnN0IEJNQVBfQU5DSE9SX0JPVFRPTV9MRUZUOiBudW1iZXI7XHJcbmRlY2xhcmUgY29uc3QgQk1BUF9BTkNIT1JfVE9QX0xFRlQ6IG51bWJlcjtcclxuZGVjbGFyZSBjb25zdCBtYXB2Z2w6IGFueTtcclxuZGVjbGFyZSBjb25zdCBCTUFQX1NBVEVMTElURV9NQVA6IG51bWJlcjtcclxuZGVjbGFyZSBjb25zdCBCTUFQX05PUk1BTF9NQVA6IG51bWJlcjtcclxuY29uc3QgTWFwVHlwZUVudW0gPSBbXHJcbiAgeyBsYWJlbDogJ+aZrumAmicsIHZhbHVlOiAnbm9ybWFsJyB9LFxyXG4gIHsgbGFiZWw6ICfmt7HoibInLCB2YWx1ZTogJ2RhcmsnIH0sXHJcbiAgeyBsYWJlbDogJ+WNq+aYnycsIHZhbHVlOiAnc2F0ZWxsaXRlJyB9LFxyXG4gIHsgbGFiZWw6ICfoh6rlrprkuYknLCB2YWx1ZTogJ2N1c3RvbScgfSxcclxuXTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1jdXN0b20tYmFpZHUtbWFwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWJhaWR1LW1hcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWJhaWR1LW1hcC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5AV2lkZ2V0KCfnmb7luqblnLDlm74nLCB7XHJcbiAgZ3JvdXA6ICdjb21wb25lbnQnLFxyXG4gIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vbXktYmFpZHUtbWFwLnBuZycsXHJcbiAgY2hpbGRyZW46IFtcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICfmoIforrDlsYInLFxyXG4gICAgICB0eXBlOiAnc2MtYmFpZHUtbWFya2VyLWxheWVyJyxcclxuICAgICAgb3B0aW9uOiB7fSxcclxuICAgICAgaGlkZGVuOiB0cnVlLFxyXG4gICAgICBoaWRlQ2hpbGQ6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbiAgY2hpbGRUeXBlczogW1xyXG4gICAgJ3NjLWJhaWR1LW1hcmtlci1sYXllcicsXHJcbiAgICAnc2MtYmFpZHUtcG9seWxpbmUtbGF5ZXInLFxyXG4gICAgJ3NjLXdpbmQtbGF5ZXInLFxyXG4gICAgJ3NjLXR5cGhvb24tYXJlYS1sYXllcicsXHJcbiAgICAnc2MtYmFpZHUtZmVuY2UnLFxyXG4gIF0sXHJcbiAgZGVzY3JpcHRpb246ICdoYXNDaGlsZEl0ZW0nLFxyXG59IGFzIGFueSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbUJhaWR1TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgLy8gQFByb3BlcnR5KCflrZfkvZMnLCB7IHVpOiB7IHdpZGdldDogJ215Rm9udCcgfSB9KVxyXG4gIC8vIGZvbnQ6IGFueSA9IHtcclxuICAvLyAgIGZhbWlseTogJycsXHJcbiAgLy8gICBjb2xvcjogJyMwMDAwMDAnLFxyXG4gIC8vICAgd2VpZ2h0OiAnbm9ybWFsJyxcclxuICAvLyAgIHNpemU6IDE2LFxyXG4gIC8vICAgc3BhY2U6IDAsXHJcbiAgLy8gICBsaW5lSGVpZ2h0OiAwLFxyXG4gIC8vIH07XHJcbiAgQFByb3BlcnR5KCflnLDlm77nsbvlnosnLCB7XHJcbiAgICBlbnVtOiBNYXBUeXBlRW51bSxcclxuICB9KVxyXG4gIG1hcFR5cGUgPSAnbm9ybWFsJztcclxuICBtYXBUeXBlVmFsdWU6IHN0cmluZztcclxuICBAUHJvcGVydHkoJ+S4iuS8oOagt+W8jycsIHsgdHlwZTogJ3N0cmluZycsIHVpOiB7IHdpZGdldDogJ215VXBsb2FkQXVkaW8nLCB2aXNpYmxlSWY6IHsgbWFwVHlwZTogWydjdXN0b20nXSB9IH0gfSlcclxuICB1cGxvYWRTdHlsZTogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5YiH5o2i5oyJ6ZKuJylcclxuICBzaG93TWFwVHlwZVJhZGlvOiBib29sZWFuO1xyXG4gIEBQcm9wZXJ0eSgn5YWo5pmv5Zyw5Zu+JywgeyB0eXBlOiAnYm9vbGVhbicgfSlcclxuICBtaW5NYXBTaG93ID0gZmFsc2U7XHJcbiAgQFByb3BlcnR5KCfmmL7npLrkv6Hmga8nLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnIH0sXHJcbiAgICBlbnVtOiBbXHJcbiAgICAgIHsgbGFiZWw6ICfngrnlh7snLCB2YWx1ZTogJ2NsaWNrJyB9LFxyXG4gICAgICB7IGxhYmVsOiAn5oKs5YGcJywgdmFsdWU6ICdtb3VzZW92ZXInIH0sXHJcbiAgICBdLFxyXG4gIH0pXHJcbiAgc2hvd1R5cGUgPSAnY2xpY2snO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX6IOM5pmvJywgeyB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9IH0pXHJcbiAgaW5mb1dpbmRvd0JhY2tncm91bmQ6IHN0cmluZztcclxuICBAUHJvcGVydHkoJ+S/oeaBr+eql+Wtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSB9KVxyXG4gIGluZm9XaW5kb3dDb2xvcjogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX5a695bqmJylcclxuICBpbmZvV2luZG93V2lkdGg6IG51bWJlcjtcclxuICBAUHJvcGVydHkoJ+S/oeaBr+eql+mrmOW6picpXHJcbiAgaW5mb1dpbmRvd0hlaWdodDogbnVtYmVyO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX5qih5p2/JywgeyB1aTogeyB3aWRnZXQ6ICd0ZXh0YXJlYScgfSB9KVxyXG4gIGluZm9XaW5kb3dUZW1wbGF0ZTogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX6L655qGGJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgaW5mb1dpbmRvd0JvcmRlckNvbG9yOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfpmpDol4/lsJbop5InKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZUluZm9XaW5kb3dUYWlsJylcclxuICBoaWRlSW5mb1dpbmRvd1RhaWw6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCfpmpDol4/lhbPpl63mjInpkq4nKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZUluZm9XaW5kb3dUb3AnKVxyXG4gIGhpZGVJbmZvV2luZG93VG9wOiBib29sZWFuO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5ouW5YqoJywgeyB0eXBlOiAnYm9vbGVhbicgfSlcclxuICBkcmFnZ2luZyA9IHRydWU7XHJcblxyXG4gIEBQcm9wZXJ0eSgn6YGu572p6aKc6ImyJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgc2hhZGVDb2xvciA9ICcjMDA0Mzk1JztcclxuICBAUHJvcGVydHkoJ+iDjOaZr+minOiJsicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215Q29sb3InIH0sXHJcbiAgICBleGFtcGxlOiBbJyNmZmZmZmYnLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCBudWxsXSxcclxuICB9KVxyXG4gIG1hcEJhY2tDb2xvcjogc3RyaW5nO1xyXG5cclxuICBAUHJvcGVydHkoJ+Wkmui+uee6v+iJsicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215Q29sb3InIH0sXHJcbiAgICBleGFtcGxlOiBbJyNmZmZmZmYnLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCBudWxsXSxcclxuICB9KVxyXG4gIG1hcENpdHlDb2xvciA9ICcjNDFiN2ZmJztcclxuICBAUHJvcGVydHkoJ+WcsOWbvue8qeaUvicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IDEsIG1heDogNDAsIHN0ZXA6IDEgfSxcclxuICB9KVxyXG4gIHpvb20gPSAxMjtcclxuICAvLyBAUHJvcGVydHkoJ+aUvuWkp+avlOS+iycsIHsgdHlwZTogJ251bWJlcicgfSlcclxuICAvLyBzY2FsZSA9IDE7XHJcbiAgQFByb3BlcnR5KCfpga7nvanpgI/mmI4nLCB7IHR5cGU6ICdudW1iZXInIH0pXHJcbiAgZmlsbE9wYWNpdHkgPSAwO1xyXG4gIEBQcm9wZXJ0eSgn5aSa6L6557q/57KXJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxyXG4gIHN0cm9rZXNpemUgPSAyO1xyXG4gIEBQcm9wZXJ0eSgn6buR5aSc5qih5byPJywgeyB0eXBlOiAnYm9vbGVhbicsIHVpOiB7IGhpZGRlbjogdHJ1ZSB9IH0pXHJcbiAgbmlnaHRNb2RlID0gZmFsc2U7XHJcbiAgQFByb3BlcnR5KCczROinhuinkicpXHJcbiAgZW5hYmxlM0Q6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCflrprkvY3mjqfku7YnKVxyXG4gIHNob3dMb2NhdGlvbkNvbnRyb2w6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCfliJ3lp4vop5LluqYnLCB7IHR5cGU6ICdudW1iZXInLCB1aTogeyB2aXNpYmxlSWY6IHsgZW5hYmxlM0Q6IFt0cnVlXSB9IH0gfSlcclxuICB0aWx0ID0gNzM7XHJcbiAgLy8gQFByb3BlcnR5KCfkuK3lv4Pnu4/luqYnLCB7XHJcbiAgLy8gICB1aToge3dpZGdldDogJ215UmFuZ2UnLCBtaW46IC0xODAsIG1heDogMTgwLCBzdGVwOiAxfSxcclxuICAvLyB9KVxyXG4gIGNlbnRlckxuZyA9IDEyMC43O1xyXG4gIC8vIEBQcm9wZXJ0eSgn5Lit5b+D57qs5bqmJywge1xyXG4gIC8vICAgdWk6IHt3aWRnZXQ6ICdteVJhbmdlJywgbWluOiAtOTAsIG1heDogOTAsIHN0ZXA6IDF9LFxyXG4gIC8vIH0pXHJcbiAgY2VudGVyTGF0ID0gMjg7XHJcbiAgQFByb3BlcnR5KCfmmL7npLrnnIHluIInLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteVVybFNlbGVjdCcsXHJcbiAgICAgIGFsbG93Q2xlYXI6IHRydWUsXHJcbiAgICAgIHVybDogJy9hc3NldHMvbWFwTGlzdEl0ZW0uanNvbicsXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgY2l0eU5hbWUgPSBudWxsO1xyXG4gIHBvaW50OiBhbnk7XHJcblxyXG4gIC8vIF9kYXRhID0gW1xyXG4gIC8vICAge1xyXG4gIC8vICAgICBvcHRpb25zOiB7XHJcbiAgLy8gICAgICAgaWNvbjoge1xyXG4gIC8vICAgICAgICAgaW1hZ2VVcmw6ICdhc3NldHMvaW1nL3NjcmVlbi9udW1iZXItZmxvcC5wbmcnLFxyXG4gIC8vICAgICAgICAgc2l6ZToge1xyXG4gIC8vICAgICAgICAgICBoZWlnaHQ6IDI2MCxcclxuICAvLyAgICAgICAgICAgd2lkdGg6IDI1MFxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSxcclxuICAvLyAgICAgcG9pbnQ6IHtcclxuICAvLyAgICAgICBsbmc6IDEyMC43LCAgIC8vIOe7j+W6plxyXG4gIC8vICAgICAgIGxhdDogMjgsICAgIC8vIOe6rOW6plxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9LFxyXG4gIC8vIF07XHJcbiAgLy8g5paH5a2X5qCH5rOoXHJcblxyXG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcbiAgLy8gX2NoaWxkcmVuID0gW107XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG1hcDogYW55O1xyXG4gIGVkaXQ6IGJvb2xlYW47XHJcbiAgLy8gbWFya2VyVGllckNsaWNrOiBhbnk7XHJcbiAgLy8gcGluZ3lhbmcgPSAnJztcclxuICAvLyBydWlhbiA9ICcnO1xyXG4gIEBEYXRhKHtcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgbG5nOiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+e7j+W6picgfSxcclxuICAgICAgbGF0OiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+e6rOW6picgfSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBfZGF0YTogYW55W10gPSBbeyBsbmc6IDEyMC43LCBsYXQ6IDI4IH1dO1xyXG4gIEBEYXRhT3V0cHV0KFsnbG5nJywgJ2xhdCddKVxyXG4gIEBFdmVudCgn5Lit5b+D54K55pS55Y+YJywge1xyXG4gICAgcGFyYW1zOiB7IHByb3BlcnRpZXM6IHsgbG5nOiB7IHRpdGxlOiAn57uP5bqmJywgdHlwZTogJ251bWJlcicgfSwgbGF0OiB7IHRpdGxlOiAn57qs5bqmJywgdHlwZTogJ251bWJlcicgfSB9IH0sXHJcbiAgfSlcclxuICBkYXRhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBEYXRhT3V0cHV0KCfnvKnmlL7nrYnnuqcnKVxyXG4gIEBFdmVudCgn57yp5pS+Jywge1xyXG4gICAgcGFyYW1zOiAn57yp5pS+562J57qnJyxcclxuICB9KVxyXG4gIHpvb21DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBARXZlbnQoJ+WcsOWbvueCueWHuycsIHtcclxuICAgIHBhcmFtczogeyBwcm9wZXJ0aWVzOiB7IGxuZzogeyB0aXRsZTogJ+e7j+W6picsIHR5cGU6ICdudW1iZXInIH0sIGxhdDogeyB0aXRsZTogJ+e6rOW6picsIHR5cGU6ICdudW1iZXInIH0gfSB9LFxyXG4gIH0pXHJcbiAgbWFwQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBjb250YWluZXI6IEVsZW1lbnRSZWY7XHJcbiAgY2hpbGRyZW46IGFueVtdO1xyXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBkZXN0cm95ZWQ6IGJvb2xlYW47XHJcbiAgLy8gY29udGFpbmVyU3R5bGU6IGFueSA9IHt9O1xyXG4gIC8vIHVubG9hZGVkQ2hpbGRyZW4gPSB7fTtcclxuICBvdmVybGF5c01hcCA9IHt9O1xyXG5cclxuICAvLyBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGVJbmZvV2luZG93VGFpbCcpXHJcbiAgLy8gaGlkZUluZm9XaW5kb3dUYWlsOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIGluaXRlZDogKG1hcDogYW55KSA9PiB2b2lkO1xyXG4gIGluaXQkID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgIHRoaXMuaW5pdGVkID0gcmVzb2x2ZTtcclxuICB9KTtcclxuICB2aWV3OiBhbnk7XHJcbiAgcGlja2VyRXZlbnQ6IGFueTtcclxuICBwaWNrZXJJdGVtOiBhbnk7XHJcbiAgcGlja2VyVGltZW91dDogYW55O1xyXG4gIG1hcFR5cGVFbnVtID0gTWFwVHlwZUVudW0uc2xpY2UoMCwgMyk7XHJcbiAgZGFya1N0eWxlOiBhbnk7XHJcbiAgZmlyc3RPcGVuOiBib29sZWFuO1xyXG4gIGZpcnN0T3BlblByb21pc2U6IFByb21pc2U8dm9pZD47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGJhaWR1TWFwU2VydmljZTogQmFpZHVNYXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHNjYWxlJDogU2NhbGVTdWJqZWN0LFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHdpZGdldFJlZjogV2lkZ2V0UmVmLFxyXG4gICkge31cclxuXHJcbiAgZ2V0IGVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgYWRkTGF5ZXIobGF5ZXI6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICB0aGlzLnZpZXcuYWRkTGF5ZXIobGF5ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTGF5ZXIobGF5ZXI6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICB0aGlzLnZpZXcucmVtb3ZlTGF5ZXIobGF5ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuX2RhdGEgJiYgdGhpcy5fZGF0YVswXSkge1xyXG4gICAgICB0aGlzLmNlbnRlckxuZyA9ICt0aGlzLl9kYXRhWzBdLmxuZztcclxuICAgICAgdGhpcy5jZW50ZXJMYXQgPSArdGhpcy5fZGF0YVswXS5sYXQ7XHJcbiAgICAgIHRoaXMuc2V0Q2VudGVyKHRoaXMuY2VudGVyTG5nLCB0aGlzLmNlbnRlckxhdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNjYWxlJCkge1xyXG4gICAgICAvLyDov5nmmK/kuLrkuobop6PlhrPlnLDlm77nvKnmlL7kuK3lv4PkuI3lnKjpvKDmoIfmiYDlnKjkvY3nva7nmoTpl67pophcclxuICAgICAgdGhpcy5zY2FsZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoc2NhbGUpID0+IHtcclxuICAgICAgICBjb25zdCB7IHg6IHN4LCB5OiBzeSwgc2NhbGVDb250ZW50IH0gPSBzY2FsZSBhcyBhbnk7XHJcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLmVsZW1lbnQuc3R5bGU7XHJcbiAgICAgICAgaWYgKHNjYWxlQ29udGVudCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgIHRoaXMuem9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWxlbWVudC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSAvdHJhbnNsYXRlXFwoKFstXFxkLl0rKXB4LCAoWy1cXGQuXSspcHhcXCkvLmV4ZWMocGFyZW50LnN0eWxlLnRyYW5zZm9ybSk7XHJcbiAgICAgICAgICAgICAgaWYgKG1hdGNoKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXRYID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXRZID0gcGFyc2VGbG9hdChtYXRjaFsyXSk7XHJcbiAgICAgICAgICAgICAgICBzdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7LW9mZnNldFh9cHgsJHstb2Zmc2V0WX1weClgO1xyXG4gICAgICAgICAgICAgICAgc3R5bGUuaGVpZ2h0ID0gcGFyZW50LmNsaWVudEhlaWdodCArIG9mZnNldFkgKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgc3R5bGUud2lkdGggPSBwYXJlbnQuY2xpZW50V2lkdGggKyBvZmZzZXRYICsgJ3B4JztcclxuICAgICAgICAgICAgICAgIHN0eWxlLnBhZGRpbmcgPSBgJHtvZmZzZXRZfXB4IDAgMCAke29mZnNldFh9cHhgO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5jb250YWluZXJTdHlsZSA9IHtcclxuICAgICAgICAgICAgICAgIC8vICAgdHJhbnNmb3JtT3JpZ2luOiBgMCAwYCxcclxuICAgICAgICAgICAgICAgIC8vICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlKCR7LW9mZnNldFh9cHgsJHstb2Zmc2V0WX1weClgLFxyXG4gICAgICAgICAgICAgICAgLy8gICBoZWlnaHQ6IHBhcmVudC5jbGllbnRIZWlnaHQgKyBvZmZzZXRZICsgJ3B4JyxcclxuICAgICAgICAgICAgICAgIC8vICAgd2lkdGg6IHBhcmVudC5jbGllbnRXaWR0aCArIG9mZnNldFggKyAncHgnLFxyXG4gICAgICAgICAgICAgICAgLy8gICBwYWRkaW5nOiBgJHtvZmZzZXRZfXB4IDAgMCAke29mZnNldFh9cHhgLFxyXG4gICAgICAgICAgICAgICAgLy8gfTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgeyBwb3NpdGlvbiwgc2l6ZSB9ID0gdGhpcy53aWRnZXRSZWYud2lkZ2V0IGFzIGFueTtcclxuICAgICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gcG9zaXRpb247XHJcbiAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHNpemU7XHJcbiAgICAgICAgICBzdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7LXh9cHgsJHsteX1weCkgc2NhbGUoJHsxIC8gc3h9LCR7MSAvIHN5fSlgO1xyXG4gICAgICAgICAgc3R5bGUuaGVpZ2h0ID0gKHkgKyBoZWlnaHQpICogc3kgKyAncHgnO1xyXG4gICAgICAgICAgc3R5bGUud2lkdGggPSAoeCArIHdpZHRoKSAqIHN4ICsgJ3B4JztcclxuICAgICAgICAgIHN0eWxlLnBhZGRpbmcgPSBgJHt5ICogc3l9cHggMCAwICR7eCAqIHN4fXB4YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5pbml0TWFwKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBpbml0TWFwKCkge1xyXG4gICAgYXdhaXQgdGhpcy5iYWlkdU1hcFNlcnZpY2UubG9hZE1hcEdMKCk7XHJcbiAgICBhd2FpdCB0aGlzLmJhaWR1TWFwU2VydmljZS5sb2FkTWFwVkdMKCk7XHJcbiAgICB0aGlzLm1hcFR5cGVWYWx1ZSA9IHRoaXMubWFwVHlwZTtcclxuICAgIC8vIOWFvOWuueiAgeeahOmFjee9rlxyXG4gICAgaWYgKHRoaXMubWFwVHlwZSA9PSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLnVwbG9hZFN0eWxlKSB7XHJcbiAgICAgICAgdGhpcy5tYXBUeXBlVmFsdWUgPSAnY3VzdG9tJztcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm5pZ2h0TW9kZSkge1xyXG4gICAgICAgIHRoaXMubWFwVHlwZVZhbHVlID0gJ2RhcmsnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuZGVzdHJveWVkKSB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tYXAgPSBuZXcgQk1hcEdMLk1hcCh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB7IHJlc3RyaWN0Q2VudGVyOiBmYWxzZSB9KTtcclxuICAgICAgICB0aGlzLm1hcC5jZW50ZXJBbmRab29tKG5ldyBCTWFwR0wuUG9pbnQodGhpcy5jZW50ZXJMbmcsIHRoaXMuY2VudGVyTGF0KSwgdGhpcy56b29tKTsgLy8g6K6+572u5Lit5b+D54K55ZKM57yp5pS+57qn5YirXHJcbiAgICAgICAgdGhpcy5tYXAuZW5hYmxlU2Nyb2xsV2hlZWxab29tKCk7IC8vIOWQr+eUqOa7mui9rui/m+ihjOe8qeaUvuWKn+iDvVxyXG4gICAgICAgIC8vIHZhciBkaXN0ID0gbmV3IEJNYXBHTC5EaXN0cmljdExheWVyKHtcclxuICAgICAgICAvLyAgIG5hbWU6ICco5rip5bee5biCKScsXHJcbiAgICAgICAgLy8gICBraW5kOiAxLFxyXG4gICAgICAgIC8vICAgIGZpbGxDb2xvcjogJyNmZmYnLFxyXG4gICAgICAgIC8vICAgZmlsbE9wYWNpdHk6IDAuMSxcclxuICAgICAgICAvLyAgIHN0cm9rZUNvbG9yOiAnI2RhZWFmYScsXHJcbiAgICAgICAgLy8gICB2aWV3cG9ydDogdHJ1ZSxcclxuICAgICAgICAvLyB9KTtcclxuICAgICAgICAvLyB0aGlzLm1hcC5hZGREaXN0cmljdExheWVyKGRpc3QpO1xyXG4gICAgICAgIHRoaXMubWFwVHlwZUNoYW5nZSh0aGlzLm1hcFR5cGVWYWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuZWRpdCB8fCB0aGlzLmRyYWdnaW5nID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgdGhpcy5tYXAuZGlzYWJsZURyYWdnaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZTNEKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXRUaWx0KHRoaXMudGlsdCA9PSBudWxsID8gNzMgOiB0aGlzLnRpbHQsIHsgbm9BbmltYXRpb246IHRydWUgfSk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXREaXNwbGF5T3B0aW9ucyh7IHNreUNvbG9yczogWydyZ2JhKDAsIDAsIDAsIDApJ10gfSk7IC8vIOmakOiXj+WkqeepulxyXG4gICAgICAgICAgLy8gY29uc3QgbmF2aTNEQ3RybCA9IG5ldyBCTWFwR0wuTmF2aWdhdGlvbkNvbnRyb2wzRCgpOyAvLyDmt7vliqAzROaOp+S7tlxyXG4gICAgICAgICAgLy8gdGhpcy5tYXAuYWRkQ29udHJvbChuYXZpM0RDdHJsKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5tYXAuZGlzYWJsZVRpbHQoKTtcclxuICAgICAgICAgIHRoaXMubWFwLmRpc2FibGVSb3RhdGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0xvY2F0aW9uQ29udHJvbCkge1xyXG4gICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgLy8g5o6n5Lu255qE5YGc6Z2g5L2N572u77yI5Y+v6YCJ77yM6buY6K6k5bem5LiK6KeS77yJXHJcbiAgICAgICAgICAgIGFuY2hvcjogQk1BUF9BTkNIT1JfVE9QX0xFRlQsXHJcbiAgICAgICAgICAgIC8vIOaOp+S7tuWfuuS6juWBnOmdoOS9jee9rueahOWBj+enu+mHj++8iOWPr+mAie+8iVxyXG4gICAgICAgICAgICBvZmZzZXQ6IG5ldyBCTWFwR0wuU2l6ZSgyMCwgMjApLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGxldCBsb2NhdGlvbkNvbnRyb2wgPSBuZXcgQk1hcEdMLkxvY2F0aW9uQ29udHJvbChvcHRpb25zKTtcclxuICAgICAgICAgIC8vIOWwhuaOp+S7tua3u+WKoOWIsOWcsOWbvuS4ilxyXG4gICAgICAgICAgdGhpcy5tYXAuYWRkQ29udHJvbChsb2NhdGlvbkNvbnRyb2wpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5taW5NYXBTaG93KSB7XHJcbiAgICAgICAgICBjb25zdCBzdEN0cmwgPSBuZXcgQk1hcEdMLlBhbm9yYW1hQ29udHJvbCgpO1xyXG4gICAgICAgICAgc3RDdHJsLnNldE9mZnNldChuZXcgQk1hcEdMLlNpemUoMjAsIDIwKSk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5hZGRDb250cm9sKHN0Q3RybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmluZm9XaW5kb3dCYWNrZ3JvdW5kKSB7XHJcbiAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0taW5mby13aW5kb3ctYmFja2dyb3VuZCcsIHRoaXMuaW5mb1dpbmRvd0JhY2tncm91bmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pbmZvV2luZG93Q29sb3IpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1pbmZvLXdpbmRvdy1jb2xvcicsIHRoaXMuaW5mb1dpbmRvd0NvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaW5mb1dpbmRvd0JvcmRlckNvbG9yKSB7XHJcbiAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0taW5mby13aW5kb3ctYm9yZGVyLWNvbG9yJywgdGhpcy5pbmZvV2luZG93Qm9yZGVyQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1hcC5hZGRFdmVudExpc3RlbmVyKCdtb3ZlZW5kJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZS5lbWl0KGNlbnRlcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5tYXAuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcclxuICAgICAgICAgIHRoaXMubWFwQ2xpY2suZW1pdChldmVudC5sYXRsbmcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMubWFwLmFkZEV2ZW50TGlzdGVuZXIoJ3pvb21lbmQnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIHRoaXMuem9vbUNoYW5nZS5lbWl0KHRoaXMubWFwLmdldFpvb20oKSk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2UuZW1pdCh0aGlzLm1hcC5nZXRDZW50ZXIoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52aWV3ID0gbmV3IG1hcHZnbC5WaWV3KHtcclxuICAgICAgICAgIG1hcDogdGhpcy5tYXAsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5tYXBMb2FkZWQodGhpcy5tYXApO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5pbml0ZWQodGhpcy5tYXApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2VudGVyKGxuZzogbnVtYmVyLCBsYXQ6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMubWFwICYmIGxuZyAmJiBsYXQpIHtcclxuICAgICAgY29uc3QgY2VudGVyID0gdGhpcy5tYXAuZ2V0Q2VudGVyKCk7XHJcbiAgICAgIGlmIChjZW50ZXIubG5nICE9IGxuZyB8fCBjZW50ZXIubGF0ICE9IGxhdCkge1xyXG4gICAgICAgIHRoaXMuc2V0Q2VudGVyQW5kWm9vbShsbmcsIGxhdCwgdGhpcy5tYXAuZ2V0Wm9vbSgpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2VudGVyQW5kWm9vbShsbmc6IG51bWJlciwgbGF0OiBudW1iZXIsIHpvb206IG51bWJlcikge1xyXG4gICAgY29uc3QgY2VudGVyID0gdGhpcy5tYXAuZ2V0Q2VudGVyKCk7XHJcbiAgICBjb25zdCBjdXJyZW50Wm9vbSA9IHRoaXMubWFwLmdldFpvb20oKTtcclxuICAgIC8vIOivr+W3ruiMg+WbtOWGheS4jeenu+WKqCzpmLLmraLog4zmma/mipbliqhcclxuICAgIGlmICh6b29tICE9IGN1cnJlbnRab29tIHx8IE1hdGguYWJzKGxuZyAtIGNlbnRlci5sbmcpID4gMWUtMTMgfHwgTWF0aC5hYnMobGF0IC0gY2VudGVyLmxhdCkgPiAxZS03KSB7XHJcbiAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEJNYXBHTC5Qb2ludChsbmcsIGxhdCk7XHJcbiAgICAgIHRoaXMubWFwLmNlbnRlckFuZFpvb20ocG9pbnQsIHpvb20sIHsgdGlsdDogdGhpcy5tYXAuZ2V0VGlsdCgpIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5qC55o2u57uP57qs5bqm6IyD5Zu06K6+572u5Lit5b+D5ZKM57yp5pS+562J57qnXHJcbiAgICogQHBhcmFtIG1pbkxuZ1xyXG4gICAqIEBwYXJhbSBtYXhMbmdcclxuICAgKiBAcGFyYW0gbWluTGF0XHJcbiAgICogQHBhcmFtIG1heExhdFxyXG4gICAqL1xyXG4gIHNldFJlY3RDZW50ZXJBbmRab29tKG1pbkxuZzogbnVtYmVyLCBtYXhMbmc6IG51bWJlciwgbWluTGF0OiBudW1iZXIsIG1heExhdDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnNldENlbnRlckFuZFpvb20oKG1heExuZyArIG1pbkxuZykgLyAyLCAobWF4TGF0ICsgbWluTGF0KSAvIDIsIHRoaXMuZ2V0Wm9vbShtYXhMbmcsIG1pbkxuZywgbWF4TGF0LCBtaW5MYXQpKTtcclxuICB9XHJcblxyXG4gIGdldFpvb20obWF4TG5nOiBudW1iZXIsIG1pbkxuZzogbnVtYmVyLCBtYXhMYXQ6IG51bWJlciwgbWluTGF0OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHpvb21zID0gW1xyXG4gICAgICA1MCwgMTAwLCAyMDAsIDUwMCwgMTAwMCwgMjAwMCwgNTAwMCwgMTAwMDAsIDIwMDAwLCAyNTAwMCwgNTAwMDAsIDEwMDAwMCwgMjAwMDAwLCA1MDAwMDAsIDEwMDAwMDAsIDIwMDAwMDAsXHJcbiAgICBdOyAvL+e6p+WIqzE45YiwM+OAglxyXG4gICAgY29uc3QgcG9pbnRBID0gbmV3IEJNYXBHTC5Qb2ludChtYXhMbmcsIG1heExhdCk7IC8vIOWIm+W7uueCueWdkOagh0FcclxuICAgIGNvbnN0IHBvaW50QiA9IG5ldyBCTWFwR0wuUG9pbnQobWluTG5nLCBtaW5MYXQpOyAvLyDliJvlu7rngrnlnZDmoIdCXHJcbiAgICBjb25zdCBkaXN0YW5jZSA9ICt0aGlzLm1hcC5nZXREaXN0YW5jZShwb2ludEEsIHBvaW50QikudG9GaXhlZCgxKTsgLy/ojrflj5bkuKTngrnot53nprss5L+d55WZ5bCP5pWw54K55ZCO5Lik5L2NXHJcbiAgICBjb25zdCBpID0gem9vbXMuZmluZEluZGV4KCh6b29tKSA9PiB6b29tIC0gZGlzdGFuY2UgPiAwKTtcclxuICAgIGlmIChpID09PSAtMSkge1xyXG4gICAgICByZXR1cm4gNTtcclxuICAgIH1cclxuICAgIC8v5LmL5omA5Lul5Lya5aSaM++8jOaYr+WboOS4uuWcsOWbvuiMg+WbtOW4uOW4uOaYr+avlOS+i+Wwuui3neemu+eahDEw5YCN5Lul5LiK44CC5omA5Lul57qn5Yir5Lya5aKe5YqgM+OAglxyXG4gICAgcmV0dXJuIDE4IC0gaSArIDM7XHJcbiAgfVxyXG5cclxuICBvcGVuSW5mb1dpbmRvdyhkYXRhOiBhbnksIGxuZzogbnVtYmVyLCBsYXQ6IG51bWJlcikge1xyXG4gICAgaWYgKGRhdGEuaW5mb3JtYXRpb24gfHwgdGhpcy5pbmZvV2luZG93VGVtcGxhdGUpIHtcclxuICAgICAgY29uc3QgcG9pbnQgPSBuZXcgQk1hcEdMLlBvaW50KCtsbmcsICtsYXQpO1xyXG4gICAgICAvLyBsZXQgb2Zmc2V0WSA9IC0yNTtcclxuICAgICAgLy8gaWYgKHRoaXMuaGlkZUluZm9XaW5kb3dUYWlsKSB7XHJcbiAgICAgIC8vICAgb2Zmc2V0WSA9IDA7XHJcbiAgICAgIC8vIH1cclxuICAgICAgbGV0IGluZm9ybWF0aW9uID0gZGF0YS5pbmZvcm1hdGlvbjtcclxuICAgICAgaWYgKHRoaXMuaW5mb1dpbmRvd1RlbXBsYXRlKSB7XHJcbiAgICAgICAgaW5mb3JtYXRpb24gPSBUZW1wbGF0ZVV0aWwucGFyc2UodGhpcy5pbmZvV2luZG93VGVtcGxhdGUsIGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgb2Zmc2V0OiBuZXcgQk1hcEdMLlNpemUoMCwgMCksXHJcbiAgICAgICAgd2lkdGg6IHRoaXMuaW5mb1dpbmRvd1dpZHRoIHx8IDAsXHJcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmluZm9XaW5kb3dIZWlnaHQgfHwgMCxcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgaW5mb1dpbmRvdyA9IG5ldyBCTWFwR0wuSW5mb1dpbmRvdyhpbmZvcm1hdGlvbiwgb3B0aW9ucyk7XHJcbiAgICAgIC8vIOesrOS4gOasoeaJk+W8gOS/oeaBr+eql+WPo+WQjuWcqOefreaXtumXtOWFs+mXreaIlumHjeaWsOaJk+W8gOS8muWvvOiHtGNsaWNr5LqL5Lu25aSx5pWI77yM5Li05pe26Kej5Yaz5pa55qGI5piv56ys5LiA5qyh5omT5byA5ZCOMC4156eS5YaF5LiN5YWz6ZetXHJcbiAgICAgIGlmICghdGhpcy5maXJzdE9wZW4pIHtcclxuICAgICAgICBpZiAodGhpcy5maXJzdE9wZW5Qcm9taXNlKSB7XHJcbiAgICAgICAgICB0aGlzLmZpcnN0T3BlblByb21pc2UudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubWFwLm9wZW5JbmZvV2luZG93KGluZm9XaW5kb3csIHBvaW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZpcnN0T3BlblByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmZpcnN0T3BlbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5maXJzdE9wZW5Qcm9taXNlID0gbnVsbDtcclxuICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMubWFwLm9wZW5JbmZvV2luZG93KGluZm9XaW5kb3csIHBvaW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcmF3Q2xvc2UgPSBpbmZvV2luZG93LmNsb3NlO1xyXG4gICAgICAgIGluZm9XaW5kb3cuY2xvc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5maXJzdE9wZW5Qcm9taXNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlyc3RPcGVuUHJvbWlzZS50aGVuKCgpID0+IHJhd0Nsb3NlLmNhbGwoaW5mb1dpbmRvdykpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmF3Q2xvc2UuY2FsbChpbmZvV2luZG93KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWFwLm9wZW5JbmZvV2luZG93KGluZm9XaW5kb3csIHBvaW50KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gaW5mb1dpbmRvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENhbnZhc092ZXJsYXkoY2hpbGQ6IGFueSkge1xyXG4gICAgbGV0IGNhbnZhc092ZXJsYXk7XHJcbiAgICBpZiAodGhpcy5lbmFibGUzRCkge1xyXG4gICAgICBjb25zdCBpdGVtID0gY2hpbGQuaXRlbTtcclxuICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICB2YXIgcFN0YXJ0ID0gbmV3IEJNYXBHTC5Qb2ludChpdGVtLnN0YXJ0LmxuZywgaXRlbS5zdGFydC5sYXQpO1xyXG4gICAgICAgIHZhciBwRW5kID0gbmV3IEJNYXBHTC5Qb2ludChpdGVtLmVuZC5sbmcsIGl0ZW0uZW5kLmxhdCk7XHJcbiAgICAgICAgdmFyIGJvdW5kcyA9IG5ldyBCTWFwR0wuQm91bmRzKG5ldyBCTWFwR0wuUG9pbnQocFN0YXJ0LmxuZywgcEVuZC5sYXQpLCBuZXcgQk1hcEdMLlBvaW50KHBFbmQubG5nLCBwU3RhcnQubGF0KSk7XHJcbiAgICAgICAgY2FudmFzT3ZlcmxheSA9IG5ldyBCTWFwR0wuR3JvdW5kT3ZlcmxheShib3VuZHMsIHtcclxuICAgICAgICAgIHR5cGU6ICdjYW52YXMnLFxyXG4gICAgICAgICAgdXJsOiBpdGVtLmNhbnZhcyxcclxuICAgICAgICAgIG9wYWNpdHk6IDEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHBvaW50VG9QaXhlbCA9IChkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgQk1hcEdMLlBvaW50KGRhdGEubG5nLCBkYXRhLmxhdCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwLnBvaW50VG9QaXhlbChwb2ludCk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNhbnZhc092ZXJsYXkgPSBuZXcgQk1hcEdMLkNhbnZhc0xheWVyKHtcclxuICAgICAgICBwYW5lTmFtZTogJ21hcmtlclNoYWRvdycsXHJcbiAgICAgICAgdXBkYXRlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICB2YXIgY3R4ID0gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgICAgICAgIGlmICghY3R4KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgY3R4LmNhbnZhcy53aWR0aCwgY3R4LmNhbnZhcy5oZWlnaHQpO1xyXG4gICAgICAgICAgY2hpbGQudXBkYXRlKGN0eCwgcG9pbnRUb1BpeGVsKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBjYW52YXNPdmVybGF5O1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnZpZXcpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLnZpZXcuZGVzdHJveSgpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubWFwKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5tYXAuZGVzdHJveSgpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgbWFwTG9hZGVkKG1hcDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jaXR5TmFtZSkge1xyXG4gICAgICBpZiAodGhpcy5jaXR5TmFtZSA9PT0gJ+a4qeW3nicpIHtcclxuICAgICAgICB0aGlzLmNpdHlOYW1lID0gJ3dlbnpob3UnO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGpzb246IGFueSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyB0aGlzLmNpdHlOYW1lICsgJy5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgICAgIGNvbnN0IHBvbHlnb25EYXRhID0gW107XHJcbiAgICAgIGxldCBlbmNvZGVTY2FsZSA9IGpzb24uVVRGOFNjYWxlIHx8IDEwMjQ7XHJcbiAgICAgIGpzb24uZmVhdHVyZXMuZm9yRWFjaCgoeyBnZW9tZXRyeSB9KSA9PiB7XHJcbiAgICAgICAgZ2VvbWV0cnkuY29vcmRpbmF0ZXMgPSAoZ2VvbWV0cnkuY29vcmRpbmF0ZXMgYXMgYW55W10pLmZvckVhY2goKGNvb3JkaW5hdGUsIGkpID0+IHtcclxuICAgICAgICAgIGlmIChnZW9tZXRyeS50eXBlID09PSAnTXVsdGlQb2x5Z29uJykge1xyXG4gICAgICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IChjb29yZGluYXRlIGFzIGFueVtdKS5tYXAoKHBvaW50cywgaikgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChqc29uLlVURjhFbmNvZGluZykge1xyXG4gICAgICAgICAgICAgICAgcG9pbnRzID0gdGhpcy5kZWNvZGVQb2x5Z29uKHBvaW50cywgZ2VvbWV0cnkuZW5jb2RlT2Zmc2V0c1tpXVtqXSwgZW5jb2RlU2NhbGUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gcG9pbnRzO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcG9seWdvbkRhdGEucHVzaChjb29yZGluYXRlcyk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoanNvbi5VVEY4RW5jb2RpbmcpIHtcclxuICAgICAgICAgICAgICBjb29yZGluYXRlID0gdGhpcy5kZWNvZGVQb2x5Z29uKGNvb3JkaW5hdGUsIGdlb21ldHJ5LmVuY29kZU9mZnNldHNbaV0sIGVuY29kZVNjYWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwb2x5Z29uRGF0YS5wdXNoKFtjb29yZGluYXRlXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBkYXRhID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGdlb21ldHJ5OiB7XHJcbiAgICAgICAgICAgIHR5cGU6ICdNdWx0aVBvbHlnb24nLFxyXG4gICAgICAgICAgICBjb29yZGluYXRlczogcG9seWdvbkRhdGEsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcbiAgICAgIHZhciBsYXllciA9IG5ldyBtYXB2Z2wuUG9seWdvbkxheWVyKHtcclxuICAgICAgICBsaW5lQ29sb3I6IHRoaXMubWFwQ2l0eUNvbG9yLFxyXG4gICAgICAgIGxpbmVXaWR0aDogdGhpcy5zdHJva2VzaXplIHx8IDIsXHJcbiAgICAgICAgZmlsbENvbG9yOiB0aGlzLnNoYWRlQ29sb3IsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICByZW5kZXJPcmRlcjogLTIsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnZpZXcuYWRkTGF5ZXIobGF5ZXIpO1xyXG4gICAgICBpZiAodGhpcy5tYXBCYWNrQ29sb3IgJiYgIXRoaXMubWFwQmFja0NvbG9yLm1hdGNoKC9yZ2JhXFwoXFxkKyxcXGQrLFxcZCssMFxcKS8pKSB7XHJcbiAgICAgICAgdmFyIG1hc2tMYXllciA9IG5ldyBtYXB2Z2wuTWFza0xheWVyKHtcclxuICAgICAgICAgIGNvbG9yOiB0aGlzLm1hcEJhY2tDb2xvcixcclxuICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICByZW5kZXJPcmRlcjogLTMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52aWV3LmFkZExheWVyKG1hc2tMYXllcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlY29kZVBvbHlnb24oY29vcmRpbmF0ZTogc3RyaW5nLCBlbmNvZGVPZmZzZXRzOiBudW1iZXJbXSwgZW5jb2RlU2NhbGU6IG51bWJlcikge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gW107XHJcbiAgICBsZXQgcHJldlggPSBlbmNvZGVPZmZzZXRzWzBdO1xyXG4gICAgbGV0IHByZXZZID0gZW5jb2RlT2Zmc2V0c1sxXTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvb3JkaW5hdGUubGVuZ3RoOyBpICs9IDIpIHtcclxuICAgICAgdmFyIHggPSBjb29yZGluYXRlLmNoYXJDb2RlQXQoaSkgLSA2NDtcclxuICAgICAgdmFyIHkgPSBjb29yZGluYXRlLmNoYXJDb2RlQXQoaSArIDEpIC0gNjQ7XHJcbiAgICAgIC8vIFppZ1phZyBkZWNvZGluZ1xyXG4gICAgICB4ID0gKHggPj4gMSkgXiAtKHggJiAxKTtcclxuICAgICAgeSA9ICh5ID4+IDEpIF4gLSh5ICYgMSk7XHJcbiAgICAgIC8vIERlbHRhIGRlb2NkaW5nXHJcbiAgICAgIHggKz0gcHJldlg7XHJcbiAgICAgIHkgKz0gcHJldlk7XHJcblxyXG4gICAgICBwcmV2WCA9IHg7XHJcbiAgICAgIHByZXZZID0geTtcclxuICAgICAgLy8gRGVxdWFudGl6ZVxyXG4gICAgICByZXN1bHQucHVzaChbeCAvIGVuY29kZVNjYWxlLCB5IC8gZW5jb2RlU2NhbGVdKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbWFwVHlwZUNoYW5nZShtYXBUeXBlOiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaCAobWFwVHlwZSkge1xyXG4gICAgICBjYXNlICdkYXJrJzpcclxuICAgICAgICBpZiAoIXRoaXMuZGFya1N0eWxlKSB7XHJcbiAgICAgICAgICB0aGlzLmRhcmtTdHlsZSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uL2N1c3RvbV9tYXAuanNvbicpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfTk9STUFMX01BUCk7XHJcbiAgICAgICAgdGhpcy5tYXAuc2V0TWFwU3R5bGVWMih7IHN0eWxlSnNvbjogdGhpcy5kYXJrU3R5bGUgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NhdGVsbGl0ZSc6XHJcbiAgICAgICAgdGhpcy5tYXAuc2V0TWFwVHlwZShCTUFQX1NBVEVMTElURV9NQVApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjdXN0b20nOlxyXG4gICAgICAgIGlmICh0aGlzLnVwbG9hZFN0eWxlKSB7XHJcbiAgICAgICAgICBjb25zdCBzdHlsZUpzb24gPSBhd2FpdCB0aGlzLmh0dHAuZ2V0KHRoaXMudXBsb2FkU3R5bGUpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgICAgdGhpcy5tYXAuc2V0TWFwVHlwZShCTUFQX05PUk1BTF9NQVApO1xyXG4gICAgICAgICAgdGhpcy5tYXAuc2V0TWFwU3R5bGVWMih7IHN0eWxlSnNvbiB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5tYXAuc2V0TWFwVHlwZShCTUFQX05PUk1BTF9NQVApO1xyXG4gICAgICAgIHRoaXMubWFwLnNldE1hcFN0eWxlVjIoeyBzdHlsZUpzb246IG51bGwgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
683
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJhaWR1LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvY3VzdG9tLWJhaWR1LW1hcC9jdXN0b20tYmFpZHUtbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosV0FBVyxFQUdYLE1BQU0sRUFJTixRQUFRLEVBRVIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVd6RCxNQUFNLFdBQVcsR0FBRztJQUNsQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtJQUNoQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUM5QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtJQUNuQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtDQUNsQyxDQUFDO0lBNEJXLHVCQUF1QixTQUF2Qix1QkFBdUI7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OzsyREFDbUM7QUFJckM7SUFIQyxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2IsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtLQUN2RyxDQUFDOzt5REFDaUM7QUF6SnhCLHVCQUF1QjtJQXRCbkMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNkLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxvQ0FBb0M7UUFDM0MsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUk7Z0JBQ1osU0FBUyxFQUFFLElBQUk7YUFDaEI7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLHVCQUF1QjtZQUN2Qix5QkFBeUI7WUFDekIsZUFBZTtZQUNmLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFLGNBQWM7S0FDckIsQ0FBQztxQ0FxTG9CLGVBQWU7UUFDMUIsVUFBVTtRQUNKLFVBQVU7UUFDaEIsTUFBTTtRQUNRLFlBQVk7UUFDNUIsaUJBQWlCO1FBQ1YsU0FBUztHQTFMbkIsdUJBQXVCLENBZ2xCbkM7U0FobEJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTY2FsZVN1YmplY3QsIFRlbXBsYXRlVXRpbCwgV2lkZ2V0UmVmIH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcclxuaW1wb3J0IHsgRGF0YSwgRGF0YU91dHB1dCwgUHJvcGVydHksIFdpZGdldCwgRXZlbnQgfSBmcm9tICdiYmotd2lkZ2V0LWJhc2UnO1xyXG5pbXBvcnQgeyBCYWlkdU1hcFNlcnZpY2UgfSBmcm9tICdiYmotc2NyZWVuLXdpZGdldC9jb3JlJztcclxuXHJcbi8vIGRlY2xhcmUgY29uc3QgQk1hcDtcclxuZGVjbGFyZSBjb25zdCBCTWFwR0w6IGFueTtcclxuLy8gZGVjbGFyZSBjb25zdCBCTWFwR0xMaWI7XHJcbi8vIGRlY2xhcmUgY29uc3QgQk1hcExpYjtcclxuLy8gZGVjbGFyZSBjb25zdCBCTUFQX0FOQ0hPUl9CT1RUT01fTEVGVDogbnVtYmVyO1xyXG5kZWNsYXJlIGNvbnN0IEJNQVBfQU5DSE9SX1RPUF9MRUZUOiBudW1iZXI7XHJcbmRlY2xhcmUgY29uc3QgbWFwdmdsOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgQk1BUF9TQVRFTExJVEVfTUFQOiBudW1iZXI7XHJcbmRlY2xhcmUgY29uc3QgQk1BUF9OT1JNQUxfTUFQOiBudW1iZXI7XHJcbmNvbnN0IE1hcFR5cGVFbnVtID0gW1xyXG4gIHsgbGFiZWw6ICfmma7pgJonLCB2YWx1ZTogJ25vcm1hbCcgfSxcclxuICB7IGxhYmVsOiAn5rex6ImyJywgdmFsdWU6ICdkYXJrJyB9LFxyXG4gIHsgbGFiZWw6ICfljavmmJ8nLCB2YWx1ZTogJ3NhdGVsbGl0ZScgfSxcclxuICB7IGxhYmVsOiAn6Ieq5a6a5LmJJywgdmFsdWU6ICdjdXN0b20nIH0sXHJcbl07XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtY3VzdG9tLWJhaWR1LW1hcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1iYWlkdS1tYXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1iYWlkdS1tYXAuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuQFdpZGdldCgn55m+5bqm5Zyw5Zu+Jywge1xyXG4gIGdyb3VwOiAnY29tcG9uZW50JyxcclxuICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL215LWJhaWR1LW1hcC5wbmcnLFxyXG4gIGNoaWxkcmVuOiBbXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAn5qCH6K6w5bGCJyxcclxuICAgICAgdHlwZTogJ3NjLWJhaWR1LW1hcmtlci1sYXllcicsXHJcbiAgICAgIG9wdGlvbjoge30sXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgaGlkZUNoaWxkOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoaWxkVHlwZXM6IFtcclxuICAgICdzYy1iYWlkdS1tYXJrZXItbGF5ZXInLFxyXG4gICAgJ3NjLWJhaWR1LXBvbHlsaW5lLWxheWVyJyxcclxuICAgICdzYy13aW5kLWxheWVyJyxcclxuICAgICdzYy10eXBob29uLWFyZWEtbGF5ZXInLFxyXG4gICAgJ3NjLWJhaWR1LWZlbmNlJyxcclxuICAgICdzYy1iYWlkdS1sdXNodScsXHJcbiAgXSxcclxuICBkZXNjcmlwdGlvbjogJ2hhc0NoaWxkSXRlbScsXHJcbn0gYXMgYW55KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tQmFpZHVNYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICAvLyBAUHJvcGVydHkoJ+Wtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlGb250JyB9IH0pXHJcbiAgLy8gZm9udDogYW55ID0ge1xyXG4gIC8vICAgZmFtaWx5OiAnJyxcclxuICAvLyAgIGNvbG9yOiAnIzAwMDAwMCcsXHJcbiAgLy8gICB3ZWlnaHQ6ICdub3JtYWwnLFxyXG4gIC8vICAgc2l6ZTogMTYsXHJcbiAgLy8gICBzcGFjZTogMCxcclxuICAvLyAgIGxpbmVIZWlnaHQ6IDAsXHJcbiAgLy8gfTtcclxuICBAUHJvcGVydHkoJ+WcsOWbvuexu+WeiycsIHtcclxuICAgIGVudW06IE1hcFR5cGVFbnVtLFxyXG4gIH0pXHJcbiAgbWFwVHlwZSA9ICdub3JtYWwnO1xyXG4gIG1hcFR5cGVWYWx1ZTogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5LiK5Lyg5qC35byPJywgeyB0eXBlOiAnc3RyaW5nJywgdWk6IHsgd2lkZ2V0OiAnbXlVcGxvYWRBdWRpbycsIHZpc2libGVJZjogeyBtYXBUeXBlOiBbJ2N1c3RvbSddIH0gfSB9KVxyXG4gIHVwbG9hZFN0eWxlOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfliIfmjaLmjInpkq4nKVxyXG4gIHNob3dNYXBUeXBlUmFkaW86IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCflhajmma/lnLDlm74nLCB7IHR5cGU6ICdib29sZWFuJyB9KVxyXG4gIG1pbk1hcFNob3cgPSBmYWxzZTtcclxuICBAUHJvcGVydHkoJ+aYvuekuuS/oeaBrycsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcclxuICAgIGVudW06IFtcclxuICAgICAgeyBsYWJlbDogJ+eCueWHuycsIHZhbHVlOiAnY2xpY2snIH0sXHJcbiAgICAgIHsgbGFiZWw6ICfmgqzlgZwnLCB2YWx1ZTogJ21vdXNlb3ZlcicgfSxcclxuICAgIF0sXHJcbiAgfSlcclxuICBzaG93VHlwZSA9ICdjbGljayc7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpfog4zmma8nLCB7IHVpOiB7IHdpZGdldDogJ215Q29sb3InIH0gfSlcclxuICBpbmZvV2luZG93QmFja2dyb3VuZDogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX5a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9IH0pXHJcbiAgaW5mb1dpbmRvd0NvbG9yOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpflrr3luqYnKVxyXG4gIGluZm9XaW5kb3dXaWR0aDogbnVtYmVyO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX6auY5bqmJylcclxuICBpbmZvV2luZG93SGVpZ2h0OiBudW1iZXI7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpfmqKHmnb8nLCB7IHVpOiB7IHdpZGdldDogJ3RleHRhcmVhJyB9IH0pXHJcbiAgaW5mb1dpbmRvd1RlbXBsYXRlOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpfovrnmoYYnLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9LFxyXG4gICAgZXhhbXBsZTogWycjZmZmZmZmJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgbnVsbF0sXHJcbiAgfSlcclxuICBpbmZvV2luZG93Qm9yZGVyQ29sb3I6IHN0cmluZztcclxuICBAUHJvcGVydHkoJ+makOiXj+WwluinkicpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlSW5mb1dpbmRvd1RhaWwnKVxyXG4gIGhpZGVJbmZvV2luZG93VGFpbDogYm9vbGVhbjtcclxuICBAUHJvcGVydHkoJ+makOiXj+WFs+mXreaMiemSricpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlSW5mb1dpbmRvd1RvcCcpXHJcbiAgaGlkZUluZm9XaW5kb3dUb3A6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCflnLDlm77mi5bliqgnLCB7IHR5cGU6ICdib29sZWFuJyB9KVxyXG4gIGRyYWdnaW5nID0gdHJ1ZTtcclxuXHJcbiAgQFByb3BlcnR5KCfpga7nvanpopzoibInLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9LFxyXG4gICAgZXhhbXBsZTogWycjZmZmZmZmJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgbnVsbF0sXHJcbiAgfSlcclxuICBzaGFkZUNvbG9yID0gJyMwMDQzOTUnO1xyXG4gIEBQcm9wZXJ0eSgn6IOM5pmv6aKc6ImyJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgbWFwQmFja0NvbG9yOiBzdHJpbmc7XHJcblxyXG4gIEBQcm9wZXJ0eSgn5aSa6L6557q/6ImyJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgbWFwQ2l0eUNvbG9yID0gJyM0MWI3ZmYnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+57yp5pS+Jywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogMSwgbWF4OiA0MCwgc3RlcDogMSB9LFxyXG4gIH0pXHJcbiAgem9vbSA9IDEyO1xyXG4gIC8vIEBQcm9wZXJ0eSgn5pS+5aSn5q+U5L6LJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxyXG4gIC8vIHNjYWxlID0gMTtcclxuICBAUHJvcGVydHkoJ+mBrue9qemAj+aYjicsIHsgdHlwZTogJ251bWJlcicgfSlcclxuICBmaWxsT3BhY2l0eSA9IDA7XHJcbiAgQFByb3BlcnR5KCflpJrovrnnur/nspcnLCB7IHR5cGU6ICdudW1iZXInIH0pXHJcbiAgc3Ryb2tlc2l6ZSA9IDI7XHJcbiAgQFByb3BlcnR5KCfpu5HlpJzmqKHlvI8nLCB7IHR5cGU6ICdib29sZWFuJywgdWk6IHsgaGlkZGVuOiB0cnVlIH0gfSlcclxuICBuaWdodE1vZGUgPSBmYWxzZTtcclxuICBAUHJvcGVydHkoJzNE6KeG6KeSJylcclxuICBlbmFibGUzRDogYm9vbGVhbjtcclxuICBAUHJvcGVydHkoJ+WumuS9jeaOp+S7ticpXHJcbiAgc2hvd0xvY2F0aW9uQ29udHJvbDogYm9vbGVhbjtcclxuICBAUHJvcGVydHkoJ+WIneWni+inkuW6picsIHsgdHlwZTogJ251bWJlcicsIHVpOiB7IHZpc2libGVJZjogeyBlbmFibGUzRDogW3RydWVdIH0gfSB9KVxyXG4gIHRpbHQgPSA3MztcclxuICAvLyBAUHJvcGVydHkoJ+S4reW/g+e7j+W6picsIHtcclxuICAvLyAgIHVpOiB7d2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogLTE4MCwgbWF4OiAxODAsIHN0ZXA6IDF9LFxyXG4gIC8vIH0pXHJcbiAgY2VudGVyTG5nID0gMTIwLjc7XHJcbiAgLy8gQFByb3BlcnR5KCfkuK3lv4PnuqzluqYnLCB7XHJcbiAgLy8gICB1aToge3dpZGdldDogJ215UmFuZ2UnLCBtaW46IC05MCwgbWF4OiA5MCwgc3RlcDogMX0sXHJcbiAgLy8gfSlcclxuICBjZW50ZXJMYXQgPSAyODtcclxuICBAUHJvcGVydHkoJ+aYvuekuuecgeW4gicsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215VXJsU2VsZWN0JyxcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgICAgdXJsOiAnL2Fzc2V0cy9tYXBMaXN0SXRlbS5qc29uJyxcclxuICAgIH0sXHJcbiAgfSlcclxuICBjaXR5TmFtZSA9IG51bGw7XHJcbiAgcG9pbnQ6IGFueTtcclxuXHJcbiAgLy8gX2RhdGEgPSBbXHJcbiAgLy8gICB7XHJcbiAgLy8gICAgIG9wdGlvbnM6IHtcclxuICAvLyAgICAgICBpY29uOiB7XHJcbiAgLy8gICAgICAgICBpbWFnZVVybDogJ2Fzc2V0cy9pbWcvc2NyZWVuL251bWJlci1mbG9wLnBuZycsXHJcbiAgLy8gICAgICAgICBzaXplOiB7XHJcbiAgLy8gICAgICAgICAgIGhlaWdodDogMjYwLFxyXG4gIC8vICAgICAgICAgICB3aWR0aDogMjUwXHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9LFxyXG4gIC8vICAgICBwb2ludDoge1xyXG4gIC8vICAgICAgIGxuZzogMTIwLjcsICAgLy8g57uP5bqmXHJcbiAgLy8gICAgICAgbGF0OiAyOCwgICAgLy8g57qs5bqmXHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH0sXHJcbiAgLy8gXTtcclxuICAvLyDmloflrZfmoIfms6hcclxuXHJcbiAgcHVibGljIHRleHQ6IHN0cmluZztcclxuICAvLyBfY2hpbGRyZW4gPSBbXTtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWFwOiBhbnk7XHJcbiAgZWRpdDogYm9vbGVhbjtcclxuICAvLyBtYXJrZXJUaWVyQ2xpY2s6IGFueTtcclxuICAvLyBwaW5neWFuZyA9ICcnO1xyXG4gIC8vIHJ1aWFuID0gJyc7XHJcbiAgQERhdGEoe1xyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICBsbmc6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57uP5bqmJyB9LFxyXG4gICAgICBsYXQ6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57qs5bqmJyB9LFxyXG4gICAgfSxcclxuICB9KVxyXG4gIF9kYXRhOiBhbnlbXSA9IFt7IGxuZzogMTIwLjcsIGxhdDogMjggfV07XHJcbiAgQERhdGFPdXRwdXQoWydsbmcnLCAnbGF0J10pXHJcbiAgQEV2ZW50KCfkuK3lv4PngrnmlLnlj5gnLCB7XHJcbiAgICBwYXJhbXM6IHsgcHJvcGVydGllczogeyBsbmc6IHsgdGl0bGU6ICfnu4/luqYnLCB0eXBlOiAnbnVtYmVyJyB9LCBsYXQ6IHsgdGl0bGU6ICfnuqzluqYnLCB0eXBlOiAnbnVtYmVyJyB9IH0gfSxcclxuICB9KVxyXG4gIGRhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQERhdGFPdXRwdXQoJ+e8qeaUvuetiee6pycpXHJcbiAgQEV2ZW50KCfnvKnmlL4nLCB7XHJcbiAgICBwYXJhbXM6ICfnvKnmlL7nrYnnuqcnLFxyXG4gIH0pXHJcbiAgem9vbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBFdmVudCgn5Zyw5Zu+54K55Ye7Jywge1xyXG4gICAgcGFyYW1zOiB7IHByb3BlcnRpZXM6IHsgbG5nOiB7IHRpdGxlOiAn57uP5bqmJywgdHlwZTogJ251bWJlcicgfSwgbGF0OiB7IHRpdGxlOiAn57qs5bqmJywgdHlwZTogJ251bWJlcicgfSB9IH0sXHJcbiAgfSlcclxuICBtYXBDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuICBjaGlsZHJlbjogYW55W107XHJcbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGRlc3Ryb3llZDogYm9vbGVhbjtcclxuICAvLyBjb250YWluZXJTdHlsZTogYW55ID0ge307XHJcbiAgLy8gdW5sb2FkZWRDaGlsZHJlbiA9IHt9O1xyXG4gIG92ZXJsYXlzTWFwID0ge307XHJcblxyXG4gIC8vIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZUluZm9XaW5kb3dUYWlsJylcclxuICAvLyBoaWRlSW5mb1dpbmRvd1RhaWw6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgaW5pdGVkOiAobWFwOiBhbnkpID0+IHZvaWQ7XHJcbiAgaW5pdCQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgdGhpcy5pbml0ZWQgPSByZXNvbHZlO1xyXG4gIH0pO1xyXG4gIHZpZXc6IGFueTtcclxuICBwaWNrZXJFdmVudDogYW55O1xyXG4gIHBpY2tlckl0ZW06IGFueTtcclxuICBwaWNrZXJUaW1lb3V0OiBhbnk7XHJcbiAgbWFwVHlwZUVudW0gPSBNYXBUeXBlRW51bS5zbGljZSgwLCAzKTtcclxuICBkYXJrU3R5bGU6IGFueTtcclxuICBmaXJzdE9wZW46IGJvb2xlYW47XHJcbiAgZmlyc3RPcGVuUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYmFpZHVNYXBTZXJ2aWNlOiBCYWlkdU1hcFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc2NhbGUkOiBTY2FsZVN1YmplY3QsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgd2lkZ2V0UmVmOiBXaWRnZXRSZWYsXHJcbiAgKSB7fVxyXG5cclxuICBnZXQgZWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBhZGRMYXllcihsYXllcjogYW55KSB7XHJcbiAgICBpZiAodGhpcy52aWV3KSB7XHJcbiAgICAgIHRoaXMudmlldy5hZGRMYXllcihsYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVMYXllcihsYXllcjogYW55KSB7XHJcbiAgICBpZiAodGhpcy52aWV3KSB7XHJcbiAgICAgIHRoaXMudmlldy5yZW1vdmVMYXllcihsYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5fZGF0YSAmJiB0aGlzLl9kYXRhWzBdKSB7XHJcbiAgICAgIHRoaXMuY2VudGVyTG5nID0gK3RoaXMuX2RhdGFbMF0ubG5nO1xyXG4gICAgICB0aGlzLmNlbnRlckxhdCA9ICt0aGlzLl9kYXRhWzBdLmxhdDtcclxuICAgICAgdGhpcy5zZXRDZW50ZXIodGhpcy5jZW50ZXJMbmcsIHRoaXMuY2VudGVyTGF0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuc2NhbGUkKSB7XHJcbiAgICAgIC8vIOi/meaYr+S4uuS6huino+WGs+WcsOWbvue8qeaUvuS4reW/g+S4jeWcqOm8oOagh+aJgOWcqOS9jee9rueahOmXrumimFxyXG4gICAgICB0aGlzLnNjYWxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzY2FsZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgeDogc3gsIHk6IHN5LCBzY2FsZUNvbnRlbnQgfSA9IHNjYWxlIGFzIGFueTtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IHRoaXMuZWxlbWVudC5zdHlsZTtcclxuICAgICAgICBpZiAoc2NhbGVDb250ZW50ID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgdGhpcy56b25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IC90cmFuc2xhdGVcXCgoWy1cXGQuXSspcHgsIChbLVxcZC5dKylweFxcKS8uZXhlYyhwYXJlbnQuc3R5bGUudHJhbnNmb3JtKTtcclxuICAgICAgICAgICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFggPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFkgPSBwYXJzZUZsb2F0KG1hdGNoWzJdKTtcclxuICAgICAgICAgICAgICAgIHN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHstb2Zmc2V0WH1weCwkey1vZmZzZXRZfXB4KWA7XHJcbiAgICAgICAgICAgICAgICBzdHlsZS5oZWlnaHQgPSBwYXJlbnQuY2xpZW50SGVpZ2h0ICsgb2Zmc2V0WSArICdweCc7XHJcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IHBhcmVudC5jbGllbnRXaWR0aCArIG9mZnNldFggKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgc3R5bGUucGFkZGluZyA9IGAke29mZnNldFl9cHggMCAwICR7b2Zmc2V0WH1weGA7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmNvbnRhaW5lclN0eWxlID0ge1xyXG4gICAgICAgICAgICAgICAgLy8gICB0cmFuc2Zvcm1PcmlnaW46IGAwIDBgLFxyXG4gICAgICAgICAgICAgICAgLy8gICB0cmFuc2Zvcm06IGB0cmFuc2xhdGUoJHstb2Zmc2V0WH1weCwkey1vZmZzZXRZfXB4KWAsXHJcbiAgICAgICAgICAgICAgICAvLyAgIGhlaWdodDogcGFyZW50LmNsaWVudEhlaWdodCArIG9mZnNldFkgKyAncHgnLFxyXG4gICAgICAgICAgICAgICAgLy8gICB3aWR0aDogcGFyZW50LmNsaWVudFdpZHRoICsgb2Zmc2V0WCArICdweCcsXHJcbiAgICAgICAgICAgICAgICAvLyAgIHBhZGRpbmc6IGAke29mZnNldFl9cHggMCAwICR7b2Zmc2V0WH1weGAsXHJcbiAgICAgICAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB7IHBvc2l0aW9uLCBzaXplIH0gPSB0aGlzLndpZGdldFJlZi53aWRnZXQgYXMgYW55O1xyXG4gICAgICAgICAgY29uc3QgeyB4LCB5IH0gPSBwb3NpdGlvbjtcclxuICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gc2l6ZTtcclxuICAgICAgICAgIHN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHsteH1weCwkey15fXB4KSBzY2FsZSgkezEgLyBzeH0sJHsxIC8gc3l9KWA7XHJcbiAgICAgICAgICBzdHlsZS5oZWlnaHQgPSAoeSArIGhlaWdodCkgKiBzeSArICdweCc7XHJcbiAgICAgICAgICBzdHlsZS53aWR0aCA9ICh4ICsgd2lkdGgpICogc3ggKyAncHgnO1xyXG4gICAgICAgICAgc3R5bGUucGFkZGluZyA9IGAke3kgKiBzeX1weCAwIDAgJHt4ICogc3h9cHhgO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmluaXRNYXAoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRNYXAoKSB7XHJcbiAgICBhd2FpdCB0aGlzLmJhaWR1TWFwU2VydmljZS5sb2FkTWFwR0woKTtcclxuICAgIGF3YWl0IHRoaXMuYmFpZHVNYXBTZXJ2aWNlLmxvYWRNYXBWR0woKTtcclxuICAgIHRoaXMubWFwVHlwZVZhbHVlID0gdGhpcy5tYXBUeXBlO1xyXG4gICAgLy8g5YW85a656ICB55qE6YWN572uXHJcbiAgICBpZiAodGhpcy5tYXBUeXBlID09IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMudXBsb2FkU3R5bGUpIHtcclxuICAgICAgICB0aGlzLm1hcFR5cGVWYWx1ZSA9ICdjdXN0b20nO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubmlnaHRNb2RlKSB7XHJcbiAgICAgICAgdGhpcy5tYXBUeXBlVmFsdWUgPSAnZGFyayc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcclxuICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICB0aGlzLm1hcCA9IG5ldyBCTWFwR0wuTWFwKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHsgcmVzdHJpY3RDZW50ZXI6IGZhbHNlIH0pO1xyXG4gICAgICAgIHRoaXMubWFwLmNlbnRlckFuZFpvb20obmV3IEJNYXBHTC5Qb2ludCh0aGlzLmNlbnRlckxuZywgdGhpcy5jZW50ZXJMYXQpLCB0aGlzLnpvb20pOyAvLyDorr7nva7kuK3lv4PngrnlkoznvKnmlL7nuqfliKtcclxuICAgICAgICB0aGlzLm1hcC5lbmFibGVTY3JvbGxXaGVlbFpvb20oKTsgLy8g5ZCv55So5rua6L2u6L+b6KGM57yp5pS+5Yqf6IO9XHJcbiAgICAgICAgLy8gdmFyIGRpc3QgPSBuZXcgQk1hcEdMLkRpc3RyaWN0TGF5ZXIoe1xyXG4gICAgICAgIC8vICAgbmFtZTogJyjmuKnlt57luIIpJyxcclxuICAgICAgICAvLyAgIGtpbmQ6IDEsXHJcbiAgICAgICAgLy8gICAgZmlsbENvbG9yOiAnI2ZmZicsXHJcbiAgICAgICAgLy8gICBmaWxsT3BhY2l0eTogMC4xLFxyXG4gICAgICAgIC8vICAgc3Ryb2tlQ29sb3I6ICcjZGFlYWZhJyxcclxuICAgICAgICAvLyAgIHZpZXdwb3J0OiB0cnVlLFxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIHRoaXMubWFwLmFkZERpc3RyaWN0TGF5ZXIoZGlzdCk7XHJcbiAgICAgICAgdGhpcy5tYXBUeXBlQ2hhbmdlKHRoaXMubWFwVHlwZVZhbHVlKTtcclxuICAgICAgICBpZiAodGhpcy5lZGl0IHx8IHRoaXMuZHJhZ2dpbmcgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5kaXNhYmxlRHJhZ2dpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlM0QpIHtcclxuICAgICAgICAgIHRoaXMubWFwLnNldFRpbHQodGhpcy50aWx0ID09IG51bGwgPyA3MyA6IHRoaXMudGlsdCwgeyBub0FuaW1hdGlvbjogdHJ1ZSB9KTtcclxuICAgICAgICAgIHRoaXMubWFwLnNldERpc3BsYXlPcHRpb25zKHsgc2t5Q29sb3JzOiBbJ3JnYmEoMCwgMCwgMCwgMCknXSB9KTsgLy8g6ZqQ6JeP5aSp56m6XHJcbiAgICAgICAgICAvLyBjb25zdCBuYXZpM0RDdHJsID0gbmV3IEJNYXBHTC5OYXZpZ2F0aW9uQ29udHJvbDNEKCk7IC8vIOa3u+WKoDNE5o6n5Lu2XHJcbiAgICAgICAgICAvLyB0aGlzLm1hcC5hZGRDb250cm9sKG5hdmkzREN0cmwpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5kaXNhYmxlVGlsdCgpO1xyXG4gICAgICAgICAgdGhpcy5tYXAuZGlzYWJsZVJvdGF0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93TG9jYXRpb25Db250cm9sKSB7XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgICAvLyDmjqfku7bnmoTlgZzpnaDkvY3nva7vvIjlj6/pgInvvIzpu5jorqTlt6bkuIrop5LvvIlcclxuICAgICAgICAgICAgYW5jaG9yOiBCTUFQX0FOQ0hPUl9UT1BfTEVGVCxcclxuICAgICAgICAgICAgLy8g5o6n5Lu25Z+65LqO5YGc6Z2g5L2N572u55qE5YGP56e76YeP77yI5Y+v6YCJ77yJXHJcbiAgICAgICAgICAgIG9mZnNldDogbmV3IEJNYXBHTC5TaXplKDIwLCAyMCksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgbGV0IGxvY2F0aW9uQ29udHJvbCA9IG5ldyBCTWFwR0wuTG9jYXRpb25Db250cm9sKG9wdGlvbnMpO1xyXG4gICAgICAgICAgLy8g5bCG5o6n5Lu25re75Yqg5Yiw5Zyw5Zu+5LiKXHJcbiAgICAgICAgICB0aGlzLm1hcC5hZGRDb250cm9sKGxvY2F0aW9uQ29udHJvbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1pbk1hcFNob3cpIHtcclxuICAgICAgICAgIGNvbnN0IHN0Q3RybCA9IG5ldyBCTWFwR0wuUGFub3JhbWFDb250cm9sKCk7XHJcbiAgICAgICAgICBzdEN0cmwuc2V0T2Zmc2V0KG5ldyBCTWFwR0wuU2l6ZSgyMCwgMjApKTtcclxuICAgICAgICAgIHRoaXMubWFwLmFkZENvbnRyb2woc3RDdHJsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaW5mb1dpbmRvd0JhY2tncm91bmQpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1pbmZvLXdpbmRvdy1iYWNrZ3JvdW5kJywgdGhpcy5pbmZvV2luZG93QmFja2dyb3VuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmluZm9XaW5kb3dDb2xvcikge1xyXG4gICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWluZm8td2luZG93LWNvbG9yJywgdGhpcy5pbmZvV2luZG93Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pbmZvV2luZG93Qm9yZGVyQ29sb3IpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1pbmZvLXdpbmRvdy1ib3JkZXItY29sb3InLCB0aGlzLmluZm9XaW5kb3dCb3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdmVlbmQnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNlbnRlciA9IHRoaXMubWFwLmdldENlbnRlcigpO1xyXG4gICAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLmVtaXQoY2VudGVyKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1hcC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgICAgICAgdGhpcy5tYXBDbGljay5lbWl0KGV2ZW50LmxhdGxuZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5tYXAuYWRkRXZlbnRMaXN0ZW5lcignem9vbWVuZCcsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy56b29tQ2hhbmdlLmVtaXQodGhpcy5tYXAuZ2V0Wm9vbSgpKTtcclxuICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZS5lbWl0KHRoaXMubWFwLmdldENlbnRlcigpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZpZXcgPSBuZXcgbWFwdmdsLlZpZXcoe1xyXG4gICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1hcExvYWRlZCh0aGlzLm1hcCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmluaXRlZCh0aGlzLm1hcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDZW50ZXIobG5nOiBudW1iZXIsIGxhdDogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5tYXAgJiYgbG5nICYmIGxhdCkge1xyXG4gICAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgICAgaWYgKGNlbnRlci5sbmcgIT0gbG5nIHx8IGNlbnRlci5sYXQgIT0gbGF0KSB7XHJcbiAgICAgICAgdGhpcy5zZXRDZW50ZXJBbmRab29tKGxuZywgbGF0LCB0aGlzLm1hcC5nZXRab29tKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDZW50ZXJBbmRab29tKGxuZzogbnVtYmVyLCBsYXQ6IG51bWJlciwgem9vbTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRab29tID0gdGhpcy5tYXAuZ2V0Wm9vbSgpO1xyXG4gICAgLy8g6K+v5beu6IyD5Zu05YaF5LiN56e75YqoLOmYsuatouiDjOaZr+aKluWKqFxyXG4gICAgaWYgKHpvb20gIT0gY3VycmVudFpvb20gfHwgTWF0aC5hYnMobG5nIC0gY2VudGVyLmxuZykgPiAxZS0xMyB8fCBNYXRoLmFicyhsYXQgLSBjZW50ZXIubGF0KSA+IDFlLTcpIHtcclxuICAgICAgY29uc3QgcG9pbnQgPSBuZXcgQk1hcEdMLlBvaW50KGxuZywgbGF0KTtcclxuICAgICAgdGhpcy5tYXAuY2VudGVyQW5kWm9vbShwb2ludCwgem9vbSwgeyB0aWx0OiB0aGlzLm1hcC5nZXRUaWx0KCkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoLnmja7nu4/nuqzluqbojIPlm7Torr7nva7kuK3lv4PlkoznvKnmlL7nrYnnuqdcclxuICAgKiBAcGFyYW0gbWluTG5nXHJcbiAgICogQHBhcmFtIG1heExuZ1xyXG4gICAqIEBwYXJhbSBtaW5MYXRcclxuICAgKiBAcGFyYW0gbWF4TGF0XHJcbiAgICovXHJcbiAgc2V0UmVjdENlbnRlckFuZFpvb20obWluTG5nOiBudW1iZXIsIG1heExuZzogbnVtYmVyLCBtaW5MYXQ6IG51bWJlciwgbWF4TGF0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2V0Q2VudGVyQW5kWm9vbSgobWF4TG5nICsgbWluTG5nKSAvIDIsIChtYXhMYXQgKyBtaW5MYXQpIC8gMiwgdGhpcy5nZXRab29tKG1heExuZywgbWluTG5nLCBtYXhMYXQsIG1pbkxhdCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Wm9vbShtYXhMbmc6IG51bWJlciwgbWluTG5nOiBudW1iZXIsIG1heExhdDogbnVtYmVyLCBtaW5MYXQ6IG51bWJlcikge1xyXG4gICAgY29uc3Qgem9vbXMgPSBbXHJcbiAgICAgIDUwLCAxMDAsIDIwMCwgNTAwLCAxMDAwLCAyMDAwLCA1MDAwLCAxMDAwMCwgMjAwMDAsIDI1MDAwLCA1MDAwMCwgMTAwMDAwLCAyMDAwMDAsIDUwMDAwMCwgMTAwMDAwMCwgMjAwMDAwMCxcclxuICAgIF07IC8v57qn5YirMTjliLAz44CCXHJcbiAgICBjb25zdCBwb2ludEEgPSBuZXcgQk1hcEdMLlBvaW50KG1heExuZywgbWF4TGF0KTsgLy8g5Yib5bu654K55Z2Q5qCHQVxyXG4gICAgY29uc3QgcG9pbnRCID0gbmV3IEJNYXBHTC5Qb2ludChtaW5MbmcsIG1pbkxhdCk7IC8vIOWIm+W7uueCueWdkOagh0JcclxuICAgIGNvbnN0IGRpc3RhbmNlID0gK3RoaXMubWFwLmdldERpc3RhbmNlKHBvaW50QSwgcG9pbnRCKS50b0ZpeGVkKDEpOyAvL+iOt+WPluS4pOeCuei3neemuyzkv53nlZnlsI/mlbDngrnlkI7kuKTkvY1cclxuICAgIGNvbnN0IGkgPSB6b29tcy5maW5kSW5kZXgoKHpvb20pID0+IHpvb20gLSBkaXN0YW5jZSA+IDApO1xyXG4gICAgaWYgKGkgPT09IC0xKSB7XHJcbiAgICAgIHJldHVybiA1O1xyXG4gICAgfVxyXG4gICAgLy/kuYvmiYDku6XkvJrlpJoz77yM5piv5Zug5Li65Zyw5Zu+6IyD5Zu05bi45bi45piv5q+U5L6L5bC66Led56a755qEMTDlgI3ku6XkuIrjgILmiYDku6XnuqfliKvkvJrlop7liqAz44CCXHJcbiAgICByZXR1cm4gMTggLSBpICsgMztcclxuICB9XHJcblxyXG4gIG9wZW5JbmZvV2luZG93KGRhdGE6IGFueSwgbG5nOiBudW1iZXIsIGxhdDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZGF0YS5pbmZvcm1hdGlvbiB8fCB0aGlzLmluZm9XaW5kb3dUZW1wbGF0ZSkge1xyXG4gICAgICBjb25zdCBwb2ludCA9IG5ldyBCTWFwR0wuUG9pbnQoK2xuZywgK2xhdCk7XHJcbiAgICAgIC8vIGxldCBvZmZzZXRZID0gLTI1O1xyXG4gICAgICAvLyBpZiAodGhpcy5oaWRlSW5mb1dpbmRvd1RhaWwpIHtcclxuICAgICAgLy8gICBvZmZzZXRZID0gMDtcclxuICAgICAgLy8gfVxyXG4gICAgICBsZXQgaW5mb3JtYXRpb24gPSBkYXRhLmluZm9ybWF0aW9uO1xyXG4gICAgICBpZiAodGhpcy5pbmZvV2luZG93VGVtcGxhdGUpIHtcclxuICAgICAgICBpbmZvcm1hdGlvbiA9IFRlbXBsYXRlVXRpbC5wYXJzZSh0aGlzLmluZm9XaW5kb3dUZW1wbGF0ZSwgZGF0YSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgICBvZmZzZXQ6IG5ldyBCTWFwR0wuU2l6ZSgwLCAwKSxcclxuICAgICAgICB3aWR0aDogdGhpcy5pbmZvV2luZG93V2lkdGggfHwgMCxcclxuICAgICAgICBoZWlnaHQ6IHRoaXMuaW5mb1dpbmRvd0hlaWdodCB8fCAwLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBpbmZvV2luZG93ID0gbmV3IEJNYXBHTC5JbmZvV2luZG93KGluZm9ybWF0aW9uLCBvcHRpb25zKTtcclxuICAgICAgLy8g56ys5LiA5qyh5omT5byA5L+h5oGv56qX5Y+j5ZCO5Zyo55+t5pe26Ze05YWz6Zet5oiW6YeN5paw5omT5byA5Lya5a+86Ie0Y2xpY2vkuovku7blpLHmlYjvvIzkuLTml7bop6PlhrPmlrnmoYjmmK/nrKzkuIDmrKHmiZPlvIDlkI4wLjXnp5LlhoXkuI3lhbPpl61cclxuICAgICAgaWYgKCF0aGlzLmZpcnN0T3Blbikge1xyXG4gICAgICAgIGlmICh0aGlzLmZpcnN0T3BlblByb21pc2UpIHtcclxuICAgICAgICAgIHRoaXMuZmlyc3RPcGVuUHJvbWlzZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZmlyc3RPcGVuUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZmlyc3RPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmZpcnN0T3BlblByb21pc2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByYXdDbG9zZSA9IGluZm9XaW5kb3cuY2xvc2U7XHJcbiAgICAgICAgaW5mb1dpbmRvdy5jbG9zZSA9ICgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmZpcnN0T3BlblByb21pc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5maXJzdE9wZW5Qcm9taXNlLnRoZW4oKCkgPT4gcmF3Q2xvc2UuY2FsbChpbmZvV2luZG93KSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByYXdDbG9zZS5jYWxsKGluZm9XaW5kb3cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBpbmZvV2luZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FudmFzT3ZlcmxheShjaGlsZDogYW55KSB7XHJcbiAgICBsZXQgY2FudmFzT3ZlcmxheTtcclxuICAgIGlmICh0aGlzLmVuYWJsZTNEKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBjaGlsZC5pdGVtO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIHZhciBwU3RhcnQgPSBuZXcgQk1hcEdMLlBvaW50KGl0ZW0uc3RhcnQubG5nLCBpdGVtLnN0YXJ0LmxhdCk7XHJcbiAgICAgICAgdmFyIHBFbmQgPSBuZXcgQk1hcEdMLlBvaW50KGl0ZW0uZW5kLmxuZywgaXRlbS5lbmQubGF0KTtcclxuICAgICAgICB2YXIgYm91bmRzID0gbmV3IEJNYXBHTC5Cb3VuZHMobmV3IEJNYXBHTC5Qb2ludChwU3RhcnQubG5nLCBwRW5kLmxhdCksIG5ldyBCTWFwR0wuUG9pbnQocEVuZC5sbmcsIHBTdGFydC5sYXQpKTtcclxuICAgICAgICBjYW52YXNPdmVybGF5ID0gbmV3IEJNYXBHTC5Hcm91bmRPdmVybGF5KGJvdW5kcywge1xyXG4gICAgICAgICAgdHlwZTogJ2NhbnZhcycsXHJcbiAgICAgICAgICB1cmw6IGl0ZW0uY2FudmFzLFxyXG4gICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcG9pbnRUb1BpeGVsID0gKGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBCTWFwR0wuUG9pbnQoZGF0YS5sbmcsIGRhdGEubGF0KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXAucG9pbnRUb1BpeGVsKHBvaW50KTtcclxuICAgICAgfTtcclxuICAgICAgY2FudmFzT3ZlcmxheSA9IG5ldyBCTWFwR0wuQ2FudmFzTGF5ZXIoe1xyXG4gICAgICAgIHBhbmVOYW1lOiAnbWFya2VyU2hhZG93JyxcclxuICAgICAgICB1cGRhdGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHZhciBjdHggPSB0aGlzLmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgICAgaWYgKCFjdHgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjdHguY2FudmFzLndpZHRoLCBjdHguY2FudmFzLmhlaWdodCk7XHJcbiAgICAgICAgICBjaGlsZC51cGRhdGUoY3R4LCBwb2ludFRvUGl4ZWwpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhbnZhc092ZXJsYXk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMudmlldy5kZXN0cm95KCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tYXApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLm1hcC5kZXN0cm95KCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBtYXBMb2FkZWQobWFwOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNpdHlOYW1lKSB7XHJcbiAgICAgIGlmICh0aGlzLmNpdHlOYW1lID09PSAn5rip5beeJykge1xyXG4gICAgICAgIHRoaXMuY2l0eU5hbWUgPSAnd2VuemhvdSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QganNvbjogYW55ID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vJyArIHRoaXMuY2l0eU5hbWUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAgICAgY29uc3QgcG9seWdvbkRhdGEgPSBbXTtcclxuICAgICAgbGV0IGVuY29kZVNjYWxlID0ganNvbi5VVEY4U2NhbGUgfHwgMTAyNDtcclxuICAgICAganNvbi5mZWF0dXJlcy5mb3JFYWNoKCh7IGdlb21ldHJ5IH0pID0+IHtcclxuICAgICAgICBnZW9tZXRyeS5jb29yZGluYXRlcyA9IChnZW9tZXRyeS5jb29yZGluYXRlcyBhcyBhbnlbXSkuZm9yRWFjaCgoY29vcmRpbmF0ZSwgaSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdNdWx0aVBvbHlnb24nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gKGNvb3JkaW5hdGUgYXMgYW55W10pLm1hcCgocG9pbnRzLCBqKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGpzb24uVVRGOEVuY29kaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwb2ludHMgPSB0aGlzLmRlY29kZVBvbHlnb24ocG9pbnRzLCBnZW9tZXRyeS5lbmNvZGVPZmZzZXRzW2ldW2pdLCBlbmNvZGVTY2FsZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiBwb2ludHM7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBwb2x5Z29uRGF0YS5wdXNoKGNvb3JkaW5hdGVzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChqc29uLlVURjhFbmNvZGluZykge1xyXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGUgPSB0aGlzLmRlY29kZVBvbHlnb24oY29vcmRpbmF0ZSwgZ2VvbWV0cnkuZW5jb2RlT2Zmc2V0c1tpXSwgZW5jb2RlU2NhbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBvbHlnb25EYXRhLnB1c2goW2Nvb3JkaW5hdGVdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZ2VvbWV0cnk6IHtcclxuICAgICAgICAgICAgdHlwZTogJ011bHRpUG9seWdvbicsXHJcbiAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBwb2x5Z29uRGF0YSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgdmFyIGxheWVyID0gbmV3IG1hcHZnbC5Qb2x5Z29uTGF5ZXIoe1xyXG4gICAgICAgIGxpbmVDb2xvcjogdGhpcy5tYXBDaXR5Q29sb3IsXHJcbiAgICAgICAgbGluZVdpZHRoOiB0aGlzLnN0cm9rZXNpemUgfHwgMixcclxuICAgICAgICBmaWxsQ29sb3I6IHRoaXMuc2hhZGVDb2xvcixcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIHJlbmRlck9yZGVyOiAtMixcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudmlldy5hZGRMYXllcihsYXllcik7XHJcbiAgICAgIGlmICh0aGlzLm1hcEJhY2tDb2xvciAmJiAhdGhpcy5tYXBCYWNrQ29sb3IubWF0Y2goL3JnYmFcXChcXGQrLFxcZCssXFxkKywwXFwpLykpIHtcclxuICAgICAgICB2YXIgbWFza0xheWVyID0gbmV3IG1hcHZnbC5NYXNrTGF5ZXIoe1xyXG4gICAgICAgICAgY29sb3I6IHRoaXMubWFwQmFja0NvbG9yLFxyXG4gICAgICAgICAgZGF0YSxcclxuICAgICAgICAgIHJlbmRlck9yZGVyOiAtMyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZpZXcuYWRkTGF5ZXIobWFza0xheWVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVjb2RlUG9seWdvbihjb29yZGluYXRlOiBzdHJpbmcsIGVuY29kZU9mZnNldHM6IG51bWJlcltdLCBlbmNvZGVTY2FsZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcclxuICAgIGxldCBwcmV2WCA9IGVuY29kZU9mZnNldHNbMF07XHJcbiAgICBsZXQgcHJldlkgPSBlbmNvZGVPZmZzZXRzWzFdO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29vcmRpbmF0ZS5sZW5ndGg7IGkgKz0gMikge1xyXG4gICAgICB2YXIgeCA9IGNvb3JkaW5hdGUuY2hhckNvZGVBdChpKSAtIDY0O1xyXG4gICAgICB2YXIgeSA9IGNvb3JkaW5hdGUuY2hhckNvZGVBdChpICsgMSkgLSA2NDtcclxuICAgICAgLy8gWmlnWmFnIGRlY29kaW5nXHJcbiAgICAgIHggPSAoeCA+PiAxKSBeIC0oeCAmIDEpO1xyXG4gICAgICB5ID0gKHkgPj4gMSkgXiAtKHkgJiAxKTtcclxuICAgICAgLy8gRGVsdGEgZGVvY2RpbmdcclxuICAgICAgeCArPSBwcmV2WDtcclxuICAgICAgeSArPSBwcmV2WTtcclxuXHJcbiAgICAgIHByZXZYID0geDtcclxuICAgICAgcHJldlkgPSB5O1xyXG4gICAgICAvLyBEZXF1YW50aXplXHJcbiAgICAgIHJlc3VsdC5wdXNoKFt4IC8gZW5jb2RlU2NhbGUsIHkgLyBlbmNvZGVTY2FsZV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBhc3luYyBtYXBUeXBlQ2hhbmdlKG1hcFR5cGU6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChtYXBUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2RhcmsnOlxyXG4gICAgICAgIGlmICghdGhpcy5kYXJrU3R5bGUpIHtcclxuICAgICAgICAgIHRoaXMuZGFya1N0eWxlID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vY3VzdG9tX21hcC5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFwLnNldE1hcFR5cGUoQk1BUF9OT1JNQUxfTUFQKTtcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBTdHlsZVYyKHsgc3R5bGVKc29uOiB0aGlzLmRhcmtTdHlsZSB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc2F0ZWxsaXRlJzpcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfU0FURUxMSVRFX01BUCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XHJcbiAgICAgICAgaWYgKHRoaXMudXBsb2FkU3R5bGUpIHtcclxuICAgICAgICAgIGNvbnN0IHN0eWxlSnNvbiA9IGF3YWl0IHRoaXMuaHR0cC5nZXQodGhpcy51cGxvYWRTdHlsZSkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfTk9STUFMX01BUCk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXRNYXBTdHlsZVYyKHsgc3R5bGVKc29uIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfTk9STUFMX01BUCk7XHJcbiAgICAgICAgdGhpcy5tYXAuc2V0TWFwU3R5bGVWMih7IHN0eWxlSnNvbjogbnVsbCB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -13,6 +13,8 @@ import { FormsModule } from '@angular/forms';
|
|
|
13
13
|
import { TyphoonAreaLayerComponent } from './typhoon-area-layer/typhoon-area-layer.component';
|
|
14
14
|
import { BaiduFenceComponent } from './baidu-fence/baidu-fence.component';
|
|
15
15
|
import { NzButtonModule } from 'ng-zorro-antd/button';
|
|
16
|
+
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
17
|
+
import { BaiduLushuComponent } from './baidu-lushu/baidu-lushu.component';
|
|
16
18
|
export class CustomBaiduMapModule {
|
|
17
19
|
constructor(widgetService) {
|
|
18
20
|
widgetService.register(CustomBaiduMapComponent, { scaleContent: false });
|
|
@@ -21,6 +23,7 @@ export class CustomBaiduMapModule {
|
|
|
21
23
|
widgetService.register(WindLayerComponent);
|
|
22
24
|
widgetService.register(TyphoonAreaLayerComponent);
|
|
23
25
|
widgetService.register(BaiduFenceComponent);
|
|
26
|
+
widgetService.register(BaiduLushuComponent);
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
CustomBaiduMapModule.decorators = [
|
|
@@ -32,6 +35,7 @@ CustomBaiduMapModule.decorators = [
|
|
|
32
35
|
WindLayerComponent,
|
|
33
36
|
TyphoonAreaLayerComponent,
|
|
34
37
|
BaiduFenceComponent,
|
|
38
|
+
BaiduLushuComponent,
|
|
35
39
|
],
|
|
36
40
|
imports: [
|
|
37
41
|
CommonModule,
|
|
@@ -42,10 +46,11 @@ CustomBaiduMapModule.decorators = [
|
|
|
42
46
|
NzRadioModule,
|
|
43
47
|
FormsModule,
|
|
44
48
|
NzButtonModule,
|
|
49
|
+
NzInputModule,
|
|
45
50
|
],
|
|
46
51
|
},] }
|
|
47
52
|
];
|
|
48
53
|
CustomBaiduMapModule.ctorParameters = () => [
|
|
49
54
|
{ type: WidgetService }
|
|
50
55
|
];
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJhaWR1LW1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvY3VzdG9tLWJhaWR1LW1hcC9jdXN0b20tYmFpZHUtbWFwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQXdCMUUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFZLGFBQTRCO1FBQ3RDLGFBQWEsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RSxhQUFhLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDbEQsYUFBYSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3BELGFBQWEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMzQyxhQUFhLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDbEQsYUFBYSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVDLGFBQWEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUEvQkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWix1QkFBdUI7b0JBQ3ZCLHlCQUF5QjtvQkFDekIsMkJBQTJCO29CQUMzQixrQkFBa0I7b0JBQ2xCLHlCQUF5QjtvQkFDekIsbUJBQW1CO29CQUNuQixtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixXQUFXO29CQUNYLGNBQWM7b0JBQ2QsYUFBYTtpQkFDZDthQUNGOzs7WUFwQzBCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEN1c3RvbUJhaWR1TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tYmFpZHUtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXRCYXNlTW9kdWxlLCBXaWRnZXRTZXJ2aWNlIH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcbmltcG9ydCB7IFdpbmRMYXllckNvbXBvbmVudCB9IGZyb20gJy4vd2luZC1sYXllci93aW5kLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYWlkdU1hcmtlckxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9iYWlkdS1tYXJrZXItbGF5ZXIvYmFpZHUtbWFya2VyLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYWlkdVBvbHlsaW5lTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL2JhaWR1LXBvbHlsaW5lLWxheWVyL2JhaWR1LXBvbHlsaW5lLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOekRyb3BEb3duTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9kcm9wZG93bic7XG5pbXBvcnQgeyBOek5vQW5pbWF0aW9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL25vLWFuaW1hdGlvbic7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IE56UmFkaW9Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3JhZGlvJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHlwaG9vbkFyZWFMYXllckNvbXBvbmVudCB9IGZyb20gJy4vdHlwaG9vbi1hcmVhLWxheWVyL3R5cGhvb24tYXJlYS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFpZHVGZW5jZUNvbXBvbmVudCB9IGZyb20gJy4vYmFpZHUtZmVuY2UvYmFpZHUtZmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IE56QnV0dG9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9idXR0b24nO1xuaW1wb3J0IHsgTnpJbnB1dE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaW5wdXQnO1xuaW1wb3J0IHsgQmFpZHVMdXNodUNvbXBvbmVudCB9IGZyb20gJy4vYmFpZHUtbHVzaHUvYmFpZHUtbHVzaHUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ3VzdG9tQmFpZHVNYXBDb21wb25lbnQsXG4gICAgQmFpZHVNYXJrZXJMYXllckNvbXBvbmVudCxcbiAgICBCYWlkdVBvbHlsaW5lTGF5ZXJDb21wb25lbnQsXG4gICAgV2luZExheWVyQ29tcG9uZW50LFxuICAgIFR5cGhvb25BcmVhTGF5ZXJDb21wb25lbnQsXG4gICAgQmFpZHVGZW5jZUNvbXBvbmVudCxcbiAgICBCYWlkdUx1c2h1Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFdpZGdldEJhc2VNb2R1bGUsXG4gICAgTnpEcm9wRG93bk1vZHVsZSxcbiAgICBOek5vQW5pbWF0aW9uTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBOelJhZGlvTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE56QnV0dG9uTW9kdWxlLFxuICAgIE56SW5wdXRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUJhaWR1TWFwTW9kdWxlIHtcbiAgY29uc3RydWN0b3Iod2lkZ2V0U2VydmljZTogV2lkZ2V0U2VydmljZSkge1xuICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoQ3VzdG9tQmFpZHVNYXBDb21wb25lbnQsIHsgc2NhbGVDb250ZW50OiBmYWxzZSB9KTtcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKEJhaWR1TWFya2VyTGF5ZXJDb21wb25lbnQpO1xuICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoQmFpZHVQb2x5bGluZUxheWVyQ29tcG9uZW50KTtcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFdpbmRMYXllckNvbXBvbmVudCk7XG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihUeXBob29uQXJlYUxheWVyQ29tcG9uZW50KTtcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKEJhaWR1RmVuY2VDb21wb25lbnQpO1xuICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoQmFpZHVMdXNodUNvbXBvbmVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,7 +9,7 @@ class BaiduMapService {
|
|
|
9
9
|
constructor(lazy, config) {
|
|
10
10
|
this.lazy = lazy;
|
|
11
11
|
this.config = config;
|
|
12
|
-
this.ak = '
|
|
12
|
+
this.ak = 'pLeoKEjQUcij1is3778ssPLrPfNg1Hjf';
|
|
13
13
|
}
|
|
14
14
|
loadScript(url, callback) {
|
|
15
15
|
return new Promise((resolve) => {
|