@schneideress/dashboardframework 0.0.244 → 0.0.246
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/bundles/schneideress-dashboardframework.umd.js +884 -4723
- package/bundles/schneideress-dashboardframework.umd.js.map +1 -1
- package/bundles/schneideress-dashboardframework.umd.min.js +2 -2
- package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -1
- package/esm2015/gridster/index.js +1 -6
- package/esm2015/gridster/lib/gridster.component.js +31 -261
- package/esm2015/gridster/lib/gridster.interface.js +1 -83
- package/esm2015/gridster/lib/gridster.module.js +20 -23
- package/esm2015/gridster/lib/gridsterCompact.service.js +12 -74
- package/esm2015/gridster/lib/gridsterConfig.constant.js +1 -77
- package/esm2015/gridster/lib/gridsterConfig.interface.js +27 -220
- package/esm2015/gridster/lib/gridsterConfigS.interface.js +1 -162
- package/esm2015/gridster/lib/gridsterDraggable.service.js +18 -178
- package/esm2015/gridster/lib/gridsterEmptyCell.service.js +17 -119
- package/esm2015/gridster/lib/gridsterItem.component.js +20 -93
- package/esm2015/gridster/lib/gridsterItem.interface.js +1 -47
- package/esm2015/gridster/lib/gridsterItemComponent.interface.js +1 -47
- package/esm2015/gridster/lib/gridsterPreview.component.js +16 -38
- package/esm2015/gridster/lib/gridsterPush.service.js +13 -185
- package/esm2015/gridster/lib/gridsterPushResize.service.js +10 -144
- package/esm2015/gridster/lib/gridsterRenderer.service.js +9 -79
- package/esm2015/gridster/lib/gridsterResizable.service.js +17 -202
- package/esm2015/gridster/lib/gridsterResizeEventType.interface.js +1 -20
- package/esm2015/gridster/lib/gridsterScroll.service.js +5 -82
- package/esm2015/gridster/lib/gridsterSwap.service.js +9 -59
- package/esm2015/gridster/lib/gridsterUtils.service.js +20 -69
- package/esm2015/lib/custom.notifier.options.js +1 -7
- package/esm2015/lib/ra-dashboard-area/ra.dashboard.area.js +137 -447
- package/esm2015/lib/ra-widget-container/lock-tooltip/lock.tooltip.component.js +15 -59
- package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +152 -566
- package/esm2015/lib/ra.base.dashboard.filter.js +32 -92
- package/esm2015/lib/ra.base.dashboard.template.js +18 -58
- package/esm2015/lib/ra.dashbard.event.bus.js +21 -61
- package/esm2015/lib/ra.dashboard.module.js +31 -34
- package/esm2015/lib/ra.dashboard.responsive.service.js +40 -118
- package/esm2015/lib/ra.dashboard.service.js +25 -89
- package/esm2015/lib/ra.event.enum.js +34 -41
- package/esm2015/lib/ra.gridster.config.js +1 -7
- package/esm2015/public-api.js +10 -15
- package/esm2015/schneideress-dashboardframework.js +2 -7
- package/esm5/gridster/index.js +1 -6
- package/esm5/gridster/lib/gridster.component.js +57 -387
- package/esm5/gridster/lib/gridster.interface.js +2 -90
- package/esm5/gridster/lib/gridster.module.js +17 -21
- package/esm5/gridster/lib/gridsterCompact.service.js +18 -109
- package/esm5/gridster/lib/gridsterConfig.constant.js +1 -77
- package/esm5/gridster/lib/gridsterConfig.interface.js +27 -220
- package/esm5/gridster/lib/gridsterConfigS.interface.js +1 -162
- package/esm5/gridster/lib/gridsterDraggable.service.js +26 -220
- package/esm5/gridster/lib/gridsterEmptyCell.service.js +24 -163
- package/esm5/gridster/lib/gridsterItem.component.js +26 -123
- package/esm5/gridster/lib/gridsterItem.interface.js +1 -47
- package/esm5/gridster/lib/gridsterItemComponent.interface.js +2 -54
- package/esm5/gridster/lib/gridsterPreview.component.js +15 -40
- package/esm5/gridster/lib/gridsterPush.service.js +27 -278
- package/esm5/gridster/lib/gridsterPushResize.service.js +20 -218
- package/esm5/gridster/lib/gridsterRenderer.service.js +16 -131
- package/esm5/gridster/lib/gridsterResizable.service.js +34 -291
- package/esm5/gridster/lib/gridsterResizeEventType.interface.js +1 -20
- package/esm5/gridster/lib/gridsterScroll.service.js +5 -82
- package/esm5/gridster/lib/gridsterSwap.service.js +12 -79
- package/esm5/gridster/lib/gridsterUtils.service.js +25 -110
- package/esm5/lib/custom.notifier.options.js +1 -7
- package/esm5/lib/ra-dashboard-area/ra.dashboard.area.js +143 -561
- package/esm5/lib/ra-widget-container/lock-tooltip/lock.tooltip.component.js +15 -68
- package/esm5/lib/ra-widget-container/ra.widget.container.component.js +177 -740
- package/esm5/lib/ra.base.dashboard.filter.js +33 -96
- package/esm5/lib/ra.base.dashboard.template.js +19 -59
- package/esm5/lib/ra.dashbard.event.bus.js +16 -95
- package/esm5/lib/ra.dashboard.module.js +28 -32
- package/esm5/lib/ra.dashboard.responsive.service.js +45 -158
- package/esm5/lib/ra.dashboard.service.js +20 -158
- package/esm5/lib/ra.event.enum.js +34 -41
- package/esm5/lib/ra.gridster.config.js +1 -7
- package/esm5/public-api.js +10 -15
- package/esm5/schneideress-dashboardframework.js +2 -7
- package/fesm2015/schneideress-dashboardframework.js +687 -3585
- package/fesm2015/schneideress-dashboardframework.js.map +1 -1
- package/fesm5/schneideress-dashboardframework.js +862 -4703
- package/fesm5/schneideress-dashboardframework.js.map +1 -1
- package/lib/ra.dashboard.responsive.service.d.ts +2 -2
- package/package.json +1 -1
- package/schneideress-dashboardframework.metadata.json +1 -1
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: gridster/lib/gridsterEmptyCell.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
6
2
|
import { Injectable } from '@angular/core';
|
|
7
3
|
import { GridsterUtils } from './gridsterUtils.service';
|
|
8
4
|
import { GridsterComponentInterface } from './gridster.interface';
|
|
@@ -10,13 +6,7 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
10
6
|
function GridsterEmptyCell(gridster) {
|
|
11
7
|
this.gridster = gridster;
|
|
12
8
|
}
|
|
13
|
-
|
|
14
|
-
* @return {?}
|
|
15
|
-
*/
|
|
16
|
-
GridsterEmptyCell.prototype.destroy = /**
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
function () {
|
|
9
|
+
GridsterEmptyCell.prototype.destroy = function () {
|
|
20
10
|
delete this.initialItem;
|
|
21
11
|
delete this.gridster.movingItem;
|
|
22
12
|
if (this.gridster.previewStyle) {
|
|
@@ -28,13 +18,7 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
28
18
|
this.emptyCellExit = null;
|
|
29
19
|
}
|
|
30
20
|
};
|
|
31
|
-
|
|
32
|
-
* @return {?}
|
|
33
|
-
*/
|
|
34
|
-
GridsterEmptyCell.prototype.updateOptions = /**
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
function () {
|
|
21
|
+
GridsterEmptyCell.prototype.updateOptions = function () {
|
|
38
22
|
var _this = this;
|
|
39
23
|
if (this.gridster.$options.enableEmptyCellClick && !this.emptyCellClick && this.gridster.options.emptyCellClickCallback) {
|
|
40
24
|
this.emptyCellClick = this.gridster.renderer.listen(this.gridster.el, 'click', this.emptyCellClickCb.bind(this));
|
|
@@ -56,19 +40,13 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
56
40
|
}
|
|
57
41
|
if (this.gridster.$options.enableEmptyCellDrop && !this.emptyCellDrop && this.gridster.options.emptyCellDropCallback) {
|
|
58
42
|
this.emptyCellDrop = this.gridster.renderer.listen(this.gridster.el, 'drop', this.emptyCellDragDrop.bind(this));
|
|
59
|
-
this.gridster.zone.runOutsideAngular((
|
|
60
|
-
* @return {?}
|
|
61
|
-
*/
|
|
62
|
-
function () {
|
|
43
|
+
this.gridster.zone.runOutsideAngular(function () {
|
|
63
44
|
_this.emptyCellMove = _this.gridster.renderer.listen(_this.gridster.el, 'dragover', _this.emptyCellDragOver.bind(_this));
|
|
64
|
-
})
|
|
65
|
-
this.emptyCellExit = this.gridster.renderer.listen('document', 'dragend', (
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
|
-
function () {
|
|
45
|
+
});
|
|
46
|
+
this.emptyCellExit = this.gridster.renderer.listen('document', 'dragend', function () {
|
|
69
47
|
_this.gridster.movingItem = null;
|
|
70
48
|
_this.gridster.previewStyle();
|
|
71
|
-
})
|
|
49
|
+
});
|
|
72
50
|
}
|
|
73
51
|
else if (!this.gridster.$options.enableEmptyCellDrop && this.emptyCellDrop && this.emptyCellMove && this.emptyCellExit) {
|
|
74
52
|
this.emptyCellDrop();
|
|
@@ -89,19 +67,10 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
89
67
|
this.emptyCellDragTouch = null;
|
|
90
68
|
}
|
|
91
69
|
};
|
|
92
|
-
|
|
93
|
-
* @param {?} e
|
|
94
|
-
* @return {?}
|
|
95
|
-
*/
|
|
96
|
-
GridsterEmptyCell.prototype.emptyCellClickCb = /**
|
|
97
|
-
* @param {?} e
|
|
98
|
-
* @return {?}
|
|
99
|
-
*/
|
|
100
|
-
function (e) {
|
|
70
|
+
GridsterEmptyCell.prototype.emptyCellClickCb = function (e) {
|
|
101
71
|
if (this.gridster.movingItem || GridsterUtils.checkContentClassForEmptyCellClickEvent(this.gridster, e)) {
|
|
102
72
|
return;
|
|
103
73
|
}
|
|
104
|
-
/** @type {?} */
|
|
105
74
|
var item = this.getValidItemFromEvent(e);
|
|
106
75
|
if (!item) {
|
|
107
76
|
return;
|
|
@@ -111,21 +80,12 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
111
80
|
}
|
|
112
81
|
this.gridster.cdRef.markForCheck();
|
|
113
82
|
};
|
|
114
|
-
|
|
115
|
-
* @param {?} e
|
|
116
|
-
* @return {?}
|
|
117
|
-
*/
|
|
118
|
-
GridsterEmptyCell.prototype.emptyCellContextMenuCb = /**
|
|
119
|
-
* @param {?} e
|
|
120
|
-
* @return {?}
|
|
121
|
-
*/
|
|
122
|
-
function (e) {
|
|
83
|
+
GridsterEmptyCell.prototype.emptyCellContextMenuCb = function (e) {
|
|
123
84
|
if (this.gridster.movingItem || GridsterUtils.checkContentClassForEmptyCellClickEvent(this.gridster, e)) {
|
|
124
85
|
return;
|
|
125
86
|
}
|
|
126
87
|
e.preventDefault();
|
|
127
88
|
e.stopPropagation();
|
|
128
|
-
/** @type {?} */
|
|
129
89
|
var item = this.getValidItemFromEvent(e);
|
|
130
90
|
if (!item) {
|
|
131
91
|
return;
|
|
@@ -135,16 +95,7 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
135
95
|
}
|
|
136
96
|
this.gridster.cdRef.markForCheck();
|
|
137
97
|
};
|
|
138
|
-
|
|
139
|
-
* @param {?} e
|
|
140
|
-
* @return {?}
|
|
141
|
-
*/
|
|
142
|
-
GridsterEmptyCell.prototype.emptyCellDragDrop = /**
|
|
143
|
-
* @param {?} e
|
|
144
|
-
* @return {?}
|
|
145
|
-
*/
|
|
146
|
-
function (e) {
|
|
147
|
-
/** @type {?} */
|
|
98
|
+
GridsterEmptyCell.prototype.emptyCellDragDrop = function (e) {
|
|
148
99
|
var item = this.getValidItemFromEvent(e);
|
|
149
100
|
if (!item) {
|
|
150
101
|
return;
|
|
@@ -154,18 +105,9 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
154
105
|
}
|
|
155
106
|
this.gridster.cdRef.markForCheck();
|
|
156
107
|
};
|
|
157
|
-
|
|
158
|
-
* @param {?} e
|
|
159
|
-
* @return {?}
|
|
160
|
-
*/
|
|
161
|
-
GridsterEmptyCell.prototype.emptyCellDragOver = /**
|
|
162
|
-
* @param {?} e
|
|
163
|
-
* @return {?}
|
|
164
|
-
*/
|
|
165
|
-
function (e) {
|
|
108
|
+
GridsterEmptyCell.prototype.emptyCellDragOver = function (e) {
|
|
166
109
|
e.preventDefault();
|
|
167
110
|
e.stopPropagation();
|
|
168
|
-
/** @type {?} */
|
|
169
111
|
var item = this.getValidItemFromEvent(e);
|
|
170
112
|
if (item) {
|
|
171
113
|
e.dataTransfer.dropEffect = 'move';
|
|
@@ -177,24 +119,14 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
177
119
|
}
|
|
178
120
|
this.gridster.previewStyle();
|
|
179
121
|
};
|
|
180
|
-
|
|
181
|
-
* @param {?} e
|
|
182
|
-
* @return {?}
|
|
183
|
-
*/
|
|
184
|
-
GridsterEmptyCell.prototype.emptyCellMouseDown = /**
|
|
185
|
-
* @param {?} e
|
|
186
|
-
* @return {?}
|
|
187
|
-
*/
|
|
188
|
-
function (e) {
|
|
122
|
+
GridsterEmptyCell.prototype.emptyCellMouseDown = function (e) {
|
|
189
123
|
var _this = this;
|
|
190
124
|
if (GridsterUtils.checkContentClassForEmptyCellClickEvent(this.gridster, e)) {
|
|
191
125
|
return;
|
|
192
126
|
}
|
|
193
127
|
e.preventDefault();
|
|
194
128
|
e.stopPropagation();
|
|
195
|
-
/** @type {?} */
|
|
196
129
|
var item = this.getValidItemFromEvent(e);
|
|
197
|
-
/** @type {?} */
|
|
198
130
|
var leftMouseButtonCode = 1;
|
|
199
131
|
if (!item || e.buttons !== leftMouseButtonCode) {
|
|
200
132
|
return;
|
|
@@ -202,28 +134,16 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
202
134
|
this.initialItem = item;
|
|
203
135
|
this.gridster.movingItem = item;
|
|
204
136
|
this.gridster.previewStyle();
|
|
205
|
-
this.gridster.zone.runOutsideAngular((
|
|
206
|
-
* @return {?}
|
|
207
|
-
*/
|
|
208
|
-
function () {
|
|
137
|
+
this.gridster.zone.runOutsideAngular(function () {
|
|
209
138
|
_this.emptyCellMMove = _this.gridster.renderer.listen('window', 'mousemove', _this.emptyCellMouseMove.bind(_this));
|
|
210
139
|
_this.emptyCellMMoveTouch = _this.gridster.renderer.listen('window', 'touchmove', _this.emptyCellMouseMove.bind(_this));
|
|
211
|
-
})
|
|
140
|
+
});
|
|
212
141
|
this.emptyCellUp = this.gridster.renderer.listen('window', 'mouseup', this.emptyCellMouseUp.bind(this));
|
|
213
142
|
this.emptyCellUpTouch = this.gridster.renderer.listen('window', 'touchend', this.emptyCellMouseUp.bind(this));
|
|
214
143
|
};
|
|
215
|
-
|
|
216
|
-
* @param {?} e
|
|
217
|
-
* @return {?}
|
|
218
|
-
*/
|
|
219
|
-
GridsterEmptyCell.prototype.emptyCellMouseMove = /**
|
|
220
|
-
* @param {?} e
|
|
221
|
-
* @return {?}
|
|
222
|
-
*/
|
|
223
|
-
function (e) {
|
|
144
|
+
GridsterEmptyCell.prototype.emptyCellMouseMove = function (e) {
|
|
224
145
|
e.preventDefault();
|
|
225
146
|
e.stopPropagation();
|
|
226
|
-
/** @type {?} */
|
|
227
147
|
var item = this.getValidItemFromEvent(e, this.initialItem);
|
|
228
148
|
if (!item) {
|
|
229
149
|
return;
|
|
@@ -231,21 +151,12 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
231
151
|
this.gridster.movingItem = item;
|
|
232
152
|
this.gridster.previewStyle();
|
|
233
153
|
};
|
|
234
|
-
|
|
235
|
-
* @param {?} e
|
|
236
|
-
* @return {?}
|
|
237
|
-
*/
|
|
238
|
-
GridsterEmptyCell.prototype.emptyCellMouseUp = /**
|
|
239
|
-
* @param {?} e
|
|
240
|
-
* @return {?}
|
|
241
|
-
*/
|
|
242
|
-
function (e) {
|
|
154
|
+
GridsterEmptyCell.prototype.emptyCellMouseUp = function (e) {
|
|
243
155
|
var _this = this;
|
|
244
156
|
this.emptyCellMMove();
|
|
245
157
|
this.emptyCellMMoveTouch();
|
|
246
158
|
this.emptyCellUp();
|
|
247
159
|
this.emptyCellUpTouch();
|
|
248
|
-
/** @type {?} */
|
|
249
160
|
var item = this.getValidItemFromEvent(e, this.initialItem);
|
|
250
161
|
if (item) {
|
|
251
162
|
this.gridster.movingItem = item;
|
|
@@ -253,39 +164,22 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
253
164
|
if (this.gridster.options.emptyCellDragCallback && this.gridster.movingItem) {
|
|
254
165
|
this.gridster.options.emptyCellDragCallback(e, this.gridster.movingItem);
|
|
255
166
|
}
|
|
256
|
-
setTimeout((
|
|
257
|
-
* @return {?}
|
|
258
|
-
*/
|
|
259
|
-
function () {
|
|
167
|
+
setTimeout(function () {
|
|
260
168
|
_this.initialItem = null;
|
|
261
169
|
if (_this.gridster) {
|
|
262
170
|
_this.gridster.movingItem = null;
|
|
263
171
|
_this.gridster.previewStyle();
|
|
264
172
|
}
|
|
265
|
-
})
|
|
173
|
+
});
|
|
266
174
|
this.gridster.cdRef.markForCheck();
|
|
267
175
|
};
|
|
268
|
-
|
|
269
|
-
* @param {?} e
|
|
270
|
-
* @param {?=} oldItem
|
|
271
|
-
* @return {?}
|
|
272
|
-
*/
|
|
273
|
-
GridsterEmptyCell.prototype.getValidItemFromEvent = /**
|
|
274
|
-
* @param {?} e
|
|
275
|
-
* @param {?=} oldItem
|
|
276
|
-
* @return {?}
|
|
277
|
-
*/
|
|
278
|
-
function (e, oldItem) {
|
|
176
|
+
GridsterEmptyCell.prototype.getValidItemFromEvent = function (e, oldItem) {
|
|
279
177
|
e.preventDefault();
|
|
280
178
|
e.stopPropagation();
|
|
281
179
|
GridsterUtils.checkTouchEvent(e);
|
|
282
|
-
/** @type {?} */
|
|
283
180
|
var rect = this.gridster.el.getBoundingClientRect();
|
|
284
|
-
/** @type {?} */
|
|
285
181
|
var x = e.clientX + this.gridster.el.scrollLeft - rect.left - this.gridster.$options.margin;
|
|
286
|
-
/** @type {?} */
|
|
287
182
|
var y = e.clientY + this.gridster.el.scrollTop - rect.top - this.gridster.$options.margin;
|
|
288
|
-
/** @type {?} */
|
|
289
183
|
var item = {
|
|
290
184
|
x: this.gridster.pixelsToPositionX(x, Math.floor, true),
|
|
291
185
|
y: this.gridster.pixelsToPositionY(y, Math.floor, true),
|
|
@@ -313,47 +207,14 @@ var GridsterEmptyCell = /** @class */ (function () {
|
|
|
313
207
|
}
|
|
314
208
|
return item;
|
|
315
209
|
};
|
|
316
|
-
GridsterEmptyCell.decorators = [
|
|
317
|
-
{ type: Injectable }
|
|
318
|
-
];
|
|
319
|
-
/** @nocollapse */
|
|
320
210
|
GridsterEmptyCell.ctorParameters = function () { return [
|
|
321
211
|
{ type: GridsterComponentInterface }
|
|
322
212
|
]; };
|
|
213
|
+
GridsterEmptyCell = tslib_1.__decorate([
|
|
214
|
+
Injectable(),
|
|
215
|
+
tslib_1.__metadata("design:paramtypes", [GridsterComponentInterface])
|
|
216
|
+
], GridsterEmptyCell);
|
|
323
217
|
return GridsterEmptyCell;
|
|
324
218
|
}());
|
|
325
219
|
export { GridsterEmptyCell };
|
|
326
|
-
if (false) {
|
|
327
|
-
/** @type {?} */
|
|
328
|
-
GridsterEmptyCell.prototype.initialItem;
|
|
329
|
-
/** @type {?} */
|
|
330
|
-
GridsterEmptyCell.prototype.emptyCellClick;
|
|
331
|
-
/** @type {?} */
|
|
332
|
-
GridsterEmptyCell.prototype.emptyCellClickTouch;
|
|
333
|
-
/** @type {?} */
|
|
334
|
-
GridsterEmptyCell.prototype.emptyCellContextMenu;
|
|
335
|
-
/** @type {?} */
|
|
336
|
-
GridsterEmptyCell.prototype.emptyCellDrop;
|
|
337
|
-
/** @type {?} */
|
|
338
|
-
GridsterEmptyCell.prototype.emptyCellDrag;
|
|
339
|
-
/** @type {?} */
|
|
340
|
-
GridsterEmptyCell.prototype.emptyCellDragTouch;
|
|
341
|
-
/** @type {?} */
|
|
342
|
-
GridsterEmptyCell.prototype.emptyCellMMove;
|
|
343
|
-
/** @type {?} */
|
|
344
|
-
GridsterEmptyCell.prototype.emptyCellMMoveTouch;
|
|
345
|
-
/** @type {?} */
|
|
346
|
-
GridsterEmptyCell.prototype.emptyCellUp;
|
|
347
|
-
/** @type {?} */
|
|
348
|
-
GridsterEmptyCell.prototype.emptyCellUpTouch;
|
|
349
|
-
/** @type {?} */
|
|
350
|
-
GridsterEmptyCell.prototype.emptyCellMove;
|
|
351
|
-
/** @type {?} */
|
|
352
|
-
GridsterEmptyCell.prototype.emptyCellExit;
|
|
353
|
-
/**
|
|
354
|
-
* @type {?}
|
|
355
|
-
* @private
|
|
356
|
-
*/
|
|
357
|
-
GridsterEmptyCell.prototype.gridster;
|
|
358
|
-
}
|
|
359
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJFbXB0eUNlbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVyRW1wdHlDZWxsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRTtJQWdCRSwyQkFBb0IsUUFBb0M7UUFBcEMsYUFBUSxHQUFSLFFBQVEsQ0FBNEI7SUFDeEQsQ0FBQzs7OztJQUVELG1DQUFPOzs7SUFBUDtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM5QjtRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzs7OztJQUVELHlDQUFhOzs7SUFBYjtRQUFBLGlCQTJDQztRQTFDQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2SCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENB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SSxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxFQUFFO2dCQUMvRSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwRTtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QyxPQUFPO1NBQ1I7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O2dCQTNORixVQUFVOzs7O2dCQUZILDBCQUEwQjs7SUE4TmxDLHdCQUFDO0NBQUEsQUE1TkQsSUE0TkM7U0EzTlksaUJBQWlCOzs7SUFDNUIsd0NBQWlDOztJQUNqQywyQ0FBZ0M7O0lBQ2hDLGdEQUFxQzs7SUFDckMsaURBQXNDOztJQUN0QywwQ0FBK0I7O0lBQy9CLDBDQUErQjs7SUFDL0IsK0NBQW9DOztJQUNwQywyQ0FBeUI7O0lBQ3pCLGdEQUE4Qjs7SUFDOUIsd0NBQXNCOztJQUN0Qiw2Q0FBMkI7O0lBQzNCLDBDQUErQjs7SUFDL0IsMENBQStCOzs7OztJQUVuQixxQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtHcmlkc3RlclV0aWxzfSBmcm9tICcuL2dyaWRzdGVyVXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7R3JpZHN0ZXJJdGVtfSBmcm9tICcuL2dyaWRzdGVySXRlbS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0dyaWRzdGVyQ29tcG9uZW50SW50ZXJmYWNlfSBmcm9tICcuL2dyaWRzdGVyLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHcmlkc3RlckVtcHR5Q2VsbCB7XHJcbiAgaW5pdGlhbEl0ZW06IEdyaWRzdGVySXRlbSB8IG51bGw7XHJcbiAgZW1wdHlDZWxsQ2xpY2s6IEZ1bmN0aW9uIHwgbnVsbDtcclxuICBlbXB0eUNlbGxDbGlja1RvdWNoOiBGdW5jdGlvbiB8IG51bGw7XHJcbiAgZW1wdHlDZWxsQ29udGV4dE1lbnU6IEZ1bmN0aW9uIHwgbnVsbDtcclxuICBlbXB0eUNlbGxEcm9wOiBGdW5jdGlvbiB8IG51bGw7XHJcbiAgZW1wdHlDZWxsRHJhZzogRnVuY3Rpb24gfCBudWxsO1xyXG4gIGVtcHR5Q2VsbERyYWdUb3VjaDogRnVuY3Rpb24gfCBudWxsO1xyXG4gIGVtcHR5Q2VsbE1Nb3ZlOiBGdW5jdGlvbjtcclxuICBlbXB0eUNlbGxNTW92ZVRvdWNoOiBGdW5jdGlvbjtcclxuICBlbXB0eUNlbGxVcDogRnVuY3Rpb247XHJcbiAgZW1wdHlDZWxsVXBUb3VjaDogRnVuY3Rpb247XHJcbiAgZW1wdHlDZWxsTW92ZTogRnVuY3Rpb24gfCBudWxsO1xyXG4gIGVtcHR5Q2VsbEV4aXQ6IEZ1bmN0aW9uIHwgbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmlkc3RlcjogR3JpZHN0ZXJDb21wb25lbnRJbnRlcmZhY2UpIHtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBkZWxldGUgdGhpcy5pbml0aWFsSXRlbTtcclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW07XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUpIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUoKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVyO1xyXG4gICAgaWYgKHRoaXMuZW1wdHlDZWxsRXhpdCkge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbEV4aXQoKTtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxFeGl0ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZU9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbmFibGVFbXB0eUNlbGxDbGljayAmJiAhdGhpcy5lbXB0eUNlbGxDbGljayAmJiB0aGlzLmdyaWRzdGVyLm9wdGlvbnMuZW1wdHlDZWxsQ2xpY2tDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENsaWNrID0gdGhpcy5ncmlkc3Rlci5yZW5kZXJlci5saXN0ZW4odGhpcy5ncmlkc3Rlci5lbCwgJ2NsaWNrJywgdGhpcy5lbXB0eUNlbGxDbGlja0NiLmJpbmQodGhpcykpO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENsaWNrVG91Y2ggPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmdyaWRzdGVyLmVsLCAndG91Y2hlbmQnLCB0aGlzLmVtcHR5Q2VsbENsaWNrQ2IuYmluZCh0aGlzKSk7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmVuYWJsZUVtcHR5Q2VsbENsaWNrICYmIHRoaXMuZW1wdHlDZWxsQ2xpY2sgJiYgdGhpcy5lbXB0eUNlbGxDbGlja1RvdWNoKSB7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsQ2xpY2soKTtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxDbGlja1RvdWNoKCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsQ2xpY2sgPSBudWxsO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENsaWNrVG91Y2ggPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsQ29udGV4dE1lbnUgJiYgIXRoaXMuZW1wdHlDZWxsQ29udGV4dE1lbnUgJiZcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENvbnRleHRNZW51Q2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxDb250ZXh0TWVudSA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKHRoaXMuZ3JpZHN0ZXIuZWwsICdjb250ZXh0bWVudScsIHRoaXMuZW1wdHlDZWxsQ29udGV4dE1lbnVDYi5iaW5kKHRoaXMpKTtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsQ29udGV4dE1lbnUgJiYgdGhpcy5lbXB0eUNlbGxDb250ZXh0TWVudSkge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENvbnRleHRNZW51KCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsQ29udGV4dE1lbnUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsRHJvcCAmJiAhdGhpcy5lbXB0eUNlbGxEcm9wICYmIHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5lbXB0eUNlbGxEcm9wQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxEcm9wID0gdGhpcy5ncmlkc3Rlci5yZW5kZXJlci5saXN0ZW4odGhpcy5ncmlkc3Rlci5lbCwgJ2Ryb3AnLCB0aGlzLmVtcHR5Q2VsbERyYWdEcm9wLmJpbmQodGhpcykpO1xyXG4gICAgICB0aGlzLmdyaWRzdGVyLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZW1wdHlDZWxsTW92ZSA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKHRoaXMuZ3JpZHN0ZXIuZWwsICdkcmFnb3ZlcicsIHRoaXMuZW1wdHlDZWxsRHJhZ092ZXIuYmluZCh0aGlzKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbEV4aXQgPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnZHJhZ2VuZCcsICgpID0+IHtcclxuICAgICAgICB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbmFibGVFbXB0eUNlbGxEcm9wICYmIHRoaXMuZW1wdHlDZWxsRHJvcCAmJiB0aGlzLmVtcHR5Q2VsbE1vdmUgJiYgdGhpcy5lbXB0eUNlbGxFeGl0KSB7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJvcCgpO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbE1vdmUoKTtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxFeGl0KCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsTW92ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJvcCA9IG51bGw7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRXhpdCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbmFibGVFbXB0eUNlbGxEcmFnICYmICF0aGlzLmVtcHR5Q2VsbERyYWcgJiYgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyYWdDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbERyYWcgPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmdyaWRzdGVyLmVsLCAnbW91c2Vkb3duJywgdGhpcy5lbXB0eUNlbGxNb3VzZURvd24uYmluZCh0aGlzKSk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZ1RvdWNoID0gdGhpcy5ncmlkc3Rlci5yZW5kZXJlci5saXN0ZW4odGhpcy5ncmlkc3Rlci5lbCwgJ3RvdWNoc3RhcnQnLCB0aGlzLmVtcHR5Q2VsbE1vdXNlRG93bi5iaW5kKHRoaXMpKTtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsRHJhZyAmJiB0aGlzLmVtcHR5Q2VsbERyYWcgJiYgdGhpcy5lbXB0eUNlbGxEcmFnVG91Y2gpIHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxEcmFnKCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZ1RvdWNoKCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZyA9IG51bGw7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZ1RvdWNoID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVtcHR5Q2VsbENsaWNrQ2IoZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtIHx8IEdyaWRzdGVyVXRpbHMuY2hlY2tDb250ZW50Q2xhc3NGb3JFbXB0eUNlbGxDbGlja0V2ZW50KHRoaXMuZ3JpZHN0ZXIsIGUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENsaWNrQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENsaWNrQ2FsbGJhY2soZSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyaWRzdGVyLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZW1wdHlDZWxsQ29udGV4dE1lbnVDYihlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gfHwgR3JpZHN0ZXJVdGlscy5jaGVja0NvbnRlbnRDbGFzc0ZvckVtcHR5Q2VsbENsaWNrRXZlbnQodGhpcy5ncmlkc3RlciwgZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENvbnRleHRNZW51Q2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENvbnRleHRNZW51Q2FsbGJhY2soZSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyaWRzdGVyLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZW1wdHlDZWxsRHJhZ0Ryb3AoZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRWYWxpZEl0ZW1Gcm9tRXZlbnQoZSk7XHJcbiAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5lbXB0eUNlbGxEcm9wQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyb3BDYWxsYmFjayhlLCBpdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JpZHN0ZXIuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBlbXB0eUNlbGxEcmFnT3ZlcihlOiBhbnkpOiB2b2lkIHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRWYWxpZEl0ZW1Gcm9tRXZlbnQoZSk7XHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ21vdmUnO1xyXG4gICAgICB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gPSBpdGVtO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdub25lJztcclxuICAgICAgdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgfVxyXG5cclxuICBlbXB0eUNlbGxNb3VzZURvd24oZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoR3JpZHN0ZXJVdGlscy5jaGVja0NvbnRlbnRDbGFzc0ZvckVtcHR5Q2VsbENsaWNrRXZlbnQodGhpcy5ncmlkc3RlciwgZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlKTtcclxuICAgIGNvbnN0IGxlZnRNb3VzZUJ1dHRvbkNvZGUgPSAxO1xyXG4gICAgaWYgKCFpdGVtIHx8IGUuYnV0dG9ucyAhPT0gbGVmdE1vdXNlQnV0dG9uQ29kZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmluaXRpYWxJdGVtID0gaXRlbTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA9IGl0ZW07XHJcbiAgICB0aGlzLmdyaWRzdGVyLnByZXZpZXdTdHlsZSgpO1xyXG4gICAgdGhpcy5ncmlkc3Rlci56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxNTW92ZSA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2Vtb3ZlJywgdGhpcy5lbXB0eUNlbGxNb3VzZU1vdmUuYmluZCh0aGlzKSk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsTU1vdmVUb3VjaCA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAndG91Y2htb3ZlJywgdGhpcy5lbXB0eUNlbGxNb3VzZU1vdmUuYmluZCh0aGlzKSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZW1wdHlDZWxsVXAgPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCB0aGlzLmVtcHR5Q2VsbE1vdXNlVXAuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLmVtcHR5Q2VsbFVwVG91Y2ggPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3RvdWNoZW5kJywgdGhpcy5lbXB0eUNlbGxNb3VzZVVwLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgZW1wdHlDZWxsTW91c2VNb3ZlKGU6IGFueSk6IHZvaWQge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlLCB0aGlzLmluaXRpYWxJdGVtKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtID0gaXRlbTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgfVxyXG5cclxuICBlbXB0eUNlbGxNb3VzZVVwKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lbXB0eUNlbGxNTW92ZSgpO1xyXG4gICAgdGhpcy5lbXB0eUNlbGxNTW92ZVRvdWNoKCk7XHJcbiAgICB0aGlzLmVtcHR5Q2VsbFVwKCk7XHJcbiAgICB0aGlzLmVtcHR5Q2VsbFVwVG91Y2goKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlLCB0aGlzLmluaXRpYWxJdGVtKTtcclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA9IGl0ZW07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyYWdDYWxsYmFjayAmJiB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0pIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyYWdDYWxsYmFjayhlLCB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0pO1xyXG4gICAgfVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbEl0ZW0gPSBudWxsO1xyXG4gICAgICBpZiAodGhpcy5ncmlkc3Rlcikge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdyaWRzdGVyLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsaWRJdGVtRnJvbUV2ZW50KGU6IGFueSwgb2xkSXRlbT86IEdyaWRzdGVySXRlbSB8IG51bGwpOiBHcmlkc3Rlckl0ZW0gfCB1bmRlZmluZWQge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIEdyaWRzdGVyVXRpbHMuY2hlY2tUb3VjaEV2ZW50KGUpO1xyXG4gICAgY29uc3QgcmVjdCA9IHRoaXMuZ3JpZHN0ZXIuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB4ID0gZS5jbGllbnRYICsgdGhpcy5ncmlkc3Rlci5lbC5zY3JvbGxMZWZ0IC0gcmVjdC5sZWZ0IC0gdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5tYXJnaW47XHJcbiAgICBjb25zdCB5ID0gZS5jbGllbnRZICsgdGhpcy5ncmlkc3Rlci5lbC5zY3JvbGxUb3AgLSByZWN0LnRvcCAtIHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMubWFyZ2luO1xyXG4gICAgY29uc3QgaXRlbTogR3JpZHN0ZXJJdGVtID0ge1xyXG4gICAgICB4OiB0aGlzLmdyaWRzdGVyLnBpeGVsc1RvUG9zaXRpb25YKHgsIE1hdGguZmxvb3IsIHRydWUpLFxyXG4gICAgICB5OiB0aGlzLmdyaWRzdGVyLnBpeGVsc1RvUG9zaXRpb25ZKHksIE1hdGguZmxvb3IsIHRydWUpLFxyXG4gICAgICBjb2xzOiB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmRlZmF1bHRJdGVtQ29scyxcclxuICAgICAgcm93czogdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5kZWZhdWx0SXRlbVJvd3NcclxuICAgIH07XHJcbiAgICBpZiAob2xkSXRlbSkge1xyXG4gICAgICBpdGVtLmNvbHMgPSBNYXRoLm1pbihNYXRoLmFicyhvbGRJdGVtLnggLSBpdGVtLngpICsgMSwgdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbXB0eUNlbGxEcmFnTWF4Q29scyk7XHJcbiAgICAgIGl0ZW0ucm93cyA9IE1hdGgubWluKE1hdGguYWJzKG9sZEl0ZW0ueSAtIGl0ZW0ueSkgKyAxLCB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmVtcHR5Q2VsbERyYWdNYXhSb3dzKTtcclxuICAgICAgaWYgKG9sZEl0ZW0ueCA8IGl0ZW0ueCkge1xyXG4gICAgICAgIGl0ZW0ueCA9IG9sZEl0ZW0ueDtcclxuICAgICAgfSBlbHNlIGlmIChvbGRJdGVtLnggLSBpdGVtLnggPiB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmVtcHR5Q2VsbERyYWdNYXhDb2xzIC0gMSkge1xyXG4gICAgICAgIGl0ZW0ueCA9IHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA/IHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbS54IDogMDtcclxuICAgICAgfVxyXG4gICAgICBpZiAob2xkSXRlbS55IDwgaXRlbS55KSB7XHJcbiAgICAgICAgaXRlbS55ID0gb2xkSXRlbS55O1xyXG4gICAgICB9IGVsc2UgaWYgKG9sZEl0ZW0ueSAtIGl0ZW0ueSA+IHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW1wdHlDZWxsRHJhZ01heFJvd3MgLSAxKSB7XHJcbiAgICAgICAgaXRlbS55ID0gdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtID8gdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtLnkgOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5jaGVja0NvbGxpc2lvbihpdGVtKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIl19
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJFbXB0eUNlbGwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVyRW1wdHlDZWxsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2hFO0lBZUUsMkJBQW9CLFFBQW9DO1FBQXBDLGFBQVEsR0FBUixRQUFRLENBQTRCO0lBQ3hELENBQUM7SUFFRCxtQ0FBTyxHQUFQO1FBQ0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQseUNBQWEsR0FBYjtRQUFBLGlCQTJDQztRQTFDQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtZQUN2SCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1B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LENBQUMsQ0FBQyxDQUFDO2FBQ3BCO2lCQUFNLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG9CQUFvQixHQUFHLENBQUMsRUFBRTtnQkFDL0UsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDcEU7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsT0FBTztTQUNSO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztnQkEzTTZCLDBCQUEwQjs7SUFmN0MsaUJBQWlCO1FBRDdCLFVBQVUsRUFBRTtpREFnQm1CLDBCQUEwQjtPQWY3QyxpQkFBaUIsQ0EyTjdCO0lBQUQsd0JBQUM7Q0FBQSxBQTNORCxJQTJOQztTQTNOWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtHcmlkc3RlclV0aWxzfSBmcm9tICcuL2dyaWRzdGVyVXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7R3JpZHN0ZXJJdGVtfSBmcm9tICcuL2dyaWRzdGVySXRlbS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0dyaWRzdGVyQ29tcG9uZW50SW50ZXJmYWNlfSBmcm9tICcuL2dyaWRzdGVyLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHcmlkc3RlckVtcHR5Q2VsbCB7XHJcbiAgaW5pdGlhbEl0ZW06IEdyaWRzdGVySXRlbSB8IG51bGw7XHJcbiAgZW1wdHlDZWxsQ2xpY2s6IEZ1bmN0aW9uIHwgbnVsbDtcclxuICBlbXB0eUNlbGxDbGlja1RvdWNoOiBGdW5jdGlvbiB8IG51bGw7XHJcbiAgZW1wdHlDZWxsQ29udGV4dE1lbnU6IEZ1bmN0aW9uIHwgbnVsbDtcclxuICBlbXB0eUNlbGxEcm9wOiBGdW5jdGlvbiB8IG51bGw7XHJcbiAgZW1wdHlDZWxsRHJhZzogRnVuY3Rpb24gfCBudWxsO1xyXG4gIGVtcHR5Q2VsbERyYWdUb3VjaDogRnVuY3Rpb24gfCBudWxsO1xyXG4gIGVtcHR5Q2VsbE1Nb3ZlOiBGdW5jdGlvbjtcclxuICBlbXB0eUNlbGxNTW92ZVRvdWNoOiBGdW5jdGlvbjtcclxuICBlbXB0eUNlbGxVcDogRnVuY3Rpb247XHJcbiAgZW1wdHlDZWxsVXBUb3VjaDogRnVuY3Rpb247XHJcbiAgZW1wdHlDZWxsTW92ZTogRnVuY3Rpb24gfCBudWxsO1xyXG4gIGVtcHR5Q2VsbEV4aXQ6IEZ1bmN0aW9uIHwgbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmlkc3RlcjogR3JpZHN0ZXJDb21wb25lbnRJbnRlcmZhY2UpIHtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBkZWxldGUgdGhpcy5pbml0aWFsSXRlbTtcclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW07XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUpIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUoKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVyO1xyXG4gICAgaWYgKHRoaXMuZW1wdHlDZWxsRXhpdCkge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbEV4aXQoKTtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxFeGl0ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZU9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbmFibGVFbXB0eUNlbGxDbGljayAmJiAhdGhpcy5lbXB0eUNlbGxDbGljayAmJiB0aGlzLmdyaWRzdGVyLm9wdGlvbnMuZW1wdHlDZWxsQ2xpY2tDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENsaWNrID0gdGhpcy5ncmlkc3Rlci5yZW5kZXJlci5saXN0ZW4odGhpcy5ncmlkc3Rlci5lbCwgJ2NsaWNrJywgdGhpcy5lbXB0eUNlbGxDbGlja0NiLmJpbmQodGhpcykpO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENsaWNrVG91Y2ggPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmdyaWRzdGVyLmVsLCAndG91Y2hlbmQnLCB0aGlzLmVtcHR5Q2VsbENsaWNrQ2IuYmluZCh0aGlzKSk7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmVuYWJsZUVtcHR5Q2VsbENsaWNrICYmIHRoaXMuZW1wdHlDZWxsQ2xpY2sgJiYgdGhpcy5lbXB0eUNlbGxDbGlja1RvdWNoKSB7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsQ2xpY2soKTtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxDbGlja1RvdWNoKCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsQ2xpY2sgPSBudWxsO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENsaWNrVG91Y2ggPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsQ29udGV4dE1lbnUgJiYgIXRoaXMuZW1wdHlDZWxsQ29udGV4dE1lbnUgJiZcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENvbnRleHRNZW51Q2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxDb250ZXh0TWVudSA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKHRoaXMuZ3JpZHN0ZXIuZWwsICdjb250ZXh0bWVudScsIHRoaXMuZW1wdHlDZWxsQ29udGV4dE1lbnVDYi5iaW5kKHRoaXMpKTtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsQ29udGV4dE1lbnUgJiYgdGhpcy5lbXB0eUNlbGxDb250ZXh0TWVudSkge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbENvbnRleHRNZW51KCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsQ29udGV4dE1lbnUgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsRHJvcCAmJiAhdGhpcy5lbXB0eUNlbGxEcm9wICYmIHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5lbXB0eUNlbGxEcm9wQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxEcm9wID0gdGhpcy5ncmlkc3Rlci5yZW5kZXJlci5saXN0ZW4odGhpcy5ncmlkc3Rlci5lbCwgJ2Ryb3AnLCB0aGlzLmVtcHR5Q2VsbERyYWdEcm9wLmJpbmQodGhpcykpO1xyXG4gICAgICB0aGlzLmdyaWRzdGVyLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZW1wdHlDZWxsTW92ZSA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKHRoaXMuZ3JpZHN0ZXIuZWwsICdkcmFnb3ZlcicsIHRoaXMuZW1wdHlDZWxsRHJhZ092ZXIuYmluZCh0aGlzKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbEV4aXQgPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnZHJhZ2VuZCcsICgpID0+IHtcclxuICAgICAgICB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbmFibGVFbXB0eUNlbGxEcm9wICYmIHRoaXMuZW1wdHlDZWxsRHJvcCAmJiB0aGlzLmVtcHR5Q2VsbE1vdmUgJiYgdGhpcy5lbXB0eUNlbGxFeGl0KSB7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJvcCgpO1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbE1vdmUoKTtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxFeGl0KCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsTW92ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJvcCA9IG51bGw7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRXhpdCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbmFibGVFbXB0eUNlbGxEcmFnICYmICF0aGlzLmVtcHR5Q2VsbERyYWcgJiYgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyYWdDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLmVtcHR5Q2VsbERyYWcgPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmdyaWRzdGVyLmVsLCAnbW91c2Vkb3duJywgdGhpcy5lbXB0eUNlbGxNb3VzZURvd24uYmluZCh0aGlzKSk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZ1RvdWNoID0gdGhpcy5ncmlkc3Rlci5yZW5kZXJlci5saXN0ZW4odGhpcy5ncmlkc3Rlci5lbCwgJ3RvdWNoc3RhcnQnLCB0aGlzLmVtcHR5Q2VsbE1vdXNlRG93bi5iaW5kKHRoaXMpKTtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW5hYmxlRW1wdHlDZWxsRHJhZyAmJiB0aGlzLmVtcHR5Q2VsbERyYWcgJiYgdGhpcy5lbXB0eUNlbGxEcmFnVG91Y2gpIHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxEcmFnKCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZ1RvdWNoKCk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZyA9IG51bGw7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsRHJhZ1RvdWNoID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVtcHR5Q2VsbENsaWNrQ2IoZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtIHx8IEdyaWRzdGVyVXRpbHMuY2hlY2tDb250ZW50Q2xhc3NGb3JFbXB0eUNlbGxDbGlja0V2ZW50KHRoaXMuZ3JpZHN0ZXIsIGUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENsaWNrQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENsaWNrQ2FsbGJhY2soZSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyaWRzdGVyLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZW1wdHlDZWxsQ29udGV4dE1lbnVDYihlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gfHwgR3JpZHN0ZXJVdGlscy5jaGVja0NvbnRlbnRDbGFzc0ZvckVtcHR5Q2VsbENsaWNrRXZlbnQodGhpcy5ncmlkc3RlciwgZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENvbnRleHRNZW51Q2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbENvbnRleHRNZW51Q2FsbGJhY2soZSwgaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyaWRzdGVyLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZW1wdHlDZWxsRHJhZ0Ryb3AoZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRWYWxpZEl0ZW1Gcm9tRXZlbnQoZSk7XHJcbiAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5lbXB0eUNlbGxEcm9wQ2FsbGJhY2spIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyb3BDYWxsYmFjayhlLCBpdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JpZHN0ZXIuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBlbXB0eUNlbGxEcmFnT3ZlcihlOiBhbnkpOiB2b2lkIHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRWYWxpZEl0ZW1Gcm9tRXZlbnQoZSk7XHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ21vdmUnO1xyXG4gICAgICB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gPSBpdGVtO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdub25lJztcclxuICAgICAgdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgfVxyXG5cclxuICBlbXB0eUNlbGxNb3VzZURvd24oZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoR3JpZHN0ZXJVdGlscy5jaGVja0NvbnRlbnRDbGFzc0ZvckVtcHR5Q2VsbENsaWNrRXZlbnQodGhpcy5ncmlkc3RlciwgZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlKTtcclxuICAgIGNvbnN0IGxlZnRNb3VzZUJ1dHRvbkNvZGUgPSAxO1xyXG4gICAgaWYgKCFpdGVtIHx8IGUuYnV0dG9ucyAhPT0gbGVmdE1vdXNlQnV0dG9uQ29kZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmluaXRpYWxJdGVtID0gaXRlbTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA9IGl0ZW07XHJcbiAgICB0aGlzLmdyaWRzdGVyLnByZXZpZXdTdHlsZSgpO1xyXG4gICAgdGhpcy5ncmlkc3Rlci56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgdGhpcy5lbXB0eUNlbGxNTW92ZSA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2Vtb3ZlJywgdGhpcy5lbXB0eUNlbGxNb3VzZU1vdmUuYmluZCh0aGlzKSk7XHJcbiAgICAgIHRoaXMuZW1wdHlDZWxsTU1vdmVUb3VjaCA9IHRoaXMuZ3JpZHN0ZXIucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAndG91Y2htb3ZlJywgdGhpcy5lbXB0eUNlbGxNb3VzZU1vdmUuYmluZCh0aGlzKSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZW1wdHlDZWxsVXAgPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCB0aGlzLmVtcHR5Q2VsbE1vdXNlVXAuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLmVtcHR5Q2VsbFVwVG91Y2ggPSB0aGlzLmdyaWRzdGVyLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3RvdWNoZW5kJywgdGhpcy5lbXB0eUNlbGxNb3VzZVVwLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgZW1wdHlDZWxsTW91c2VNb3ZlKGU6IGFueSk6IHZvaWQge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlLCB0aGlzLmluaXRpYWxJdGVtKTtcclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtID0gaXRlbTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgfVxyXG5cclxuICBlbXB0eUNlbGxNb3VzZVVwKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lbXB0eUNlbGxNTW92ZSgpO1xyXG4gICAgdGhpcy5lbXB0eUNlbGxNTW92ZVRvdWNoKCk7XHJcbiAgICB0aGlzLmVtcHR5Q2VsbFVwKCk7XHJcbiAgICB0aGlzLmVtcHR5Q2VsbFVwVG91Y2goKTtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFZhbGlkSXRlbUZyb21FdmVudChlLCB0aGlzLmluaXRpYWxJdGVtKTtcclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA9IGl0ZW07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyYWdDYWxsYmFjayAmJiB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0pIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5vcHRpb25zLmVtcHR5Q2VsbERyYWdDYWxsYmFjayhlLCB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0pO1xyXG4gICAgfVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbEl0ZW0gPSBudWxsO1xyXG4gICAgICBpZiAodGhpcy5ncmlkc3Rlcikge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdyaWRzdGVyLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsaWRJdGVtRnJvbUV2ZW50KGU6IGFueSwgb2xkSXRlbT86IEdyaWRzdGVySXRlbSB8IG51bGwpOiBHcmlkc3Rlckl0ZW0gfCB1bmRlZmluZWQge1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIEdyaWRzdGVyVXRpbHMuY2hlY2tUb3VjaEV2ZW50KGUpO1xyXG4gICAgY29uc3QgcmVjdCA9IHRoaXMuZ3JpZHN0ZXIuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB4ID0gZS5jbGllbnRYICsgdGhpcy5ncmlkc3Rlci5lbC5zY3JvbGxMZWZ0IC0gcmVjdC5sZWZ0IC0gdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5tYXJnaW47XHJcbiAgICBjb25zdCB5ID0gZS5jbGllbnRZICsgdGhpcy5ncmlkc3Rlci5lbC5zY3JvbGxUb3AgLSByZWN0LnRvcCAtIHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMubWFyZ2luO1xyXG4gICAgY29uc3QgaXRlbTogR3JpZHN0ZXJJdGVtID0ge1xyXG4gICAgICB4OiB0aGlzLmdyaWRzdGVyLnBpeGVsc1RvUG9zaXRpb25YKHgsIE1hdGguZmxvb3IsIHRydWUpLFxyXG4gICAgICB5OiB0aGlzLmdyaWRzdGVyLnBpeGVsc1RvUG9zaXRpb25ZKHksIE1hdGguZmxvb3IsIHRydWUpLFxyXG4gICAgICBjb2xzOiB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmRlZmF1bHRJdGVtQ29scyxcclxuICAgICAgcm93czogdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5kZWZhdWx0SXRlbVJvd3NcclxuICAgIH07XHJcbiAgICBpZiAob2xkSXRlbSkge1xyXG4gICAgICBpdGVtLmNvbHMgPSBNYXRoLm1pbihNYXRoLmFicyhvbGRJdGVtLnggLSBpdGVtLngpICsgMSwgdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5lbXB0eUNlbGxEcmFnTWF4Q29scyk7XHJcbiAgICAgIGl0ZW0ucm93cyA9IE1hdGgubWluKE1hdGguYWJzKG9sZEl0ZW0ueSAtIGl0ZW0ueSkgKyAxLCB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmVtcHR5Q2VsbERyYWdNYXhSb3dzKTtcclxuICAgICAgaWYgKG9sZEl0ZW0ueCA8IGl0ZW0ueCkge1xyXG4gICAgICAgIGl0ZW0ueCA9IG9sZEl0ZW0ueDtcclxuICAgICAgfSBlbHNlIGlmIChvbGRJdGVtLnggLSBpdGVtLnggPiB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmVtcHR5Q2VsbERyYWdNYXhDb2xzIC0gMSkge1xyXG4gICAgICAgIGl0ZW0ueCA9IHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSA/IHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbS54IDogMDtcclxuICAgICAgfVxyXG4gICAgICBpZiAob2xkSXRlbS55IDwgaXRlbS55KSB7XHJcbiAgICAgICAgaXRlbS55ID0gb2xkSXRlbS55O1xyXG4gICAgICB9IGVsc2UgaWYgKG9sZEl0ZW0ueSAtIGl0ZW0ueSA+IHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZW1wdHlDZWxsRHJhZ01heFJvd3MgLSAxKSB7XHJcbiAgICAgICAgaXRlbS55ID0gdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtID8gdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtLnkgOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5jaGVja0NvbGxpc2lvbihpdGVtKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIl19
|