raise-common-lib 0.0.237-beta → 0.0.238-beta
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/raise-common-lib.umd.js +144 -44
- package/bundles/raise-common-lib.umd.js.map +1 -1
- package/bundles/raise-common-lib.umd.min.js +1 -1
- package/bundles/raise-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/actions/toolbar-item/index.component.js +1 -1
- package/esm2015/lib/layout/drawer/index.component.js +67 -13
- package/esm2015/lib/layout/rs-stepper/constants.js +1 -1
- package/esm2015/lib/layout/rs-stepper/index.component.js +39 -21
- package/esm2015/lib/service/drawer.service.js +27 -10
- package/esm5/lib/actions/toolbar-item/index.component.js +1 -1
- package/esm5/lib/layout/drawer/index.component.js +79 -14
- package/esm5/lib/layout/rs-stepper/constants.js +1 -1
- package/esm5/lib/layout/rs-stepper/index.component.js +40 -22
- package/esm5/lib/service/drawer.service.js +28 -10
- package/fesm2015/raise-common-lib.js +131 -42
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +145 -45
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/layout/drawer/index.component.d.ts +3 -1
- package/lib/layout/rs-stepper/constants.d.ts +2 -0
- package/lib/layout/rs-stepper/index.component.d.ts +4 -2
- package/package.json +1 -1
- package/raise-common-lib.metadata.json +1 -1
|
@@ -69,7 +69,7 @@ var ToolbarItemComponent = /** @class */ (function () {
|
|
|
69
69
|
{ type: Component, args: [{
|
|
70
70
|
selector: "rs-toolbar-item",
|
|
71
71
|
template: "<button\r\n *ngIf=\"!children.length\"\r\n class=\"toolbar-action-item e-btn text\"\r\n #buttonElement\r\n [disabled]=\"!!disabled\"\r\n>\r\n <span class=\"toolbar-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n </span>\r\n <span>{{ text }}</span>\r\n</button>\r\n\r\n<button\r\n *ngIf=\"children.length\"\r\n class=\"toolbar-action-item e-btn text\"\r\n #buttonElement\r\n mat-menu-item\r\n [matMenuTriggerFor]=\"menu\"\r\n [disabled]=\"!!disabled\"\r\n>\r\n <span class=\"toolbar-action-image\" *ngIf=\"image\" [attr.data-type]=\"image\">\r\n <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n </span>\r\n <span>{{ text }}</span>\r\n <span class=\"toolbar-action-arrow\" *ngIf=\"!hideArrow\">\r\n <img src=\"assets/img/down-arrow.svg\" />\r\n </span>\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"toolbar-action-menu-content\">\r\n <ng-container *ngFor=\"let button of children\">\r\n <button\r\n class=\"toolbar-action-item e-btn text\"\r\n [disabled]=\"(button.key && disabledOptions[button.key]) || false\"\r\n (click)=\"button.action()\"\r\n >\r\n <span\r\n class=\"toolbar-action-image\"\r\n *ngIf=\"button.image\"\r\n [attr.data-type]=\"button.image\"\r\n >\r\n <img *ngIf=\"!ImageType.includes(button.image)\" [src]=\"button.image\" />\r\n </span>\r\n <span>{{ button.text }}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n",
|
|
72
|
-
styles: ["rs-toolbar-item.disabled{pointer-events:none}.toolbar-action-item{padding:4px 8px;font-size:11px!important;line-height:24px!important
|
|
72
|
+
styles: ["rs-toolbar-item.disabled{pointer-events:none}.toolbar-action-item{padding:4px 8px;font-size:11px!important;line-height:24px!important}.toolbar-action-item .toolbar-action-image{height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}.toolbar-action-item .toolbar-action-image::before{display:block;width:16px;height:16px}.toolbar-action-item .toolbar-action-image[data-type=Add]::before{content:url(/assets/img/toolbar-action-add.svg)}.toolbar-action-item .toolbar-action-image[data-type=Delete]::before{content:url(/assets/img/toolbar-action-delete.svg)}.toolbar-action-item .toolbar-action-image[data-type=Import]::before{content:url(/assets/img/toolbar-action-import.svg)}.toolbar-action-item .toolbar-action-image[data-type=Upload]::before{content:url(/assets/img/toolbar-action-upload.svg)}.toolbar-action-item .toolbar-action-image[data-type=Download]::before{content:url(/assets/img/toolbar-action-download.svg)}.toolbar-action-item .toolbar-action-image[data-type=Export]::before{content:url(/assets/img/toolbar-action-export.svg)}.toolbar-action-item .toolbar-action-image[data-type=Duplicate]::before{content:url(/assets/img/toolbar-action-duplicate.svg)}.toolbar-action-item .toolbar-action-image[data-type=Refresh]::before{content:url(/assets/img/toolbar-action-refresh.svg)}.toolbar-action-item .toolbar-action-image[data-type=AddFolder]::before{content:url(/assets/img/toolbar-action-addFolder.svg)}.toolbar-action-item .toolbar-action-image[data-type=Collapse]::before{content:url(/assets/img/toolbar-action-collapse.svg)}.toolbar-action-item .toolbar-action-image[data-type=Combine]::before{content:url(/assets/img/toolbar-action-combine.svg)}.toolbar-action-item .toolbar-action-image[data-type=Edit]::before{content:url(/assets/img/toolbar-action-edit.svg)}.toolbar-action-item .toolbar-action-image[data-type=Lock]::before{content:url(/assets/img/toolbar-action-lock.svg)}.toolbar-action-item .toolbar-action-image[data-type=Expand]::before{content:url(/assets/img/toolbar-action-expand.svg)}.toolbar-action-item .toolbar-action-image[data-type=MoveTo]::before{content:url(/assets/img/toolbar-action-folderMove.svg)}.toolbar-action-item .toolbar-action-image[data-type=Publish]::before{content:url(/assets/img/toolbar-action-publish.svg)}.toolbar-action-item .toolbar-action-image[data-type=Preview]::before{content:url(/assets/img/toolbar-action-preview.svg)}.toolbar-action-item .toolbar-action-image[data-type=ReCalculate]::before{content:url(/assets/img/toolbar-action-calculator.svg)}.toolbar-action-item .toolbar-action-image[data-type=Sync]::before{content:url(/assets/img/toolbar-action-sync.svg)}.toolbar-action-item .toolbar-action-image[data-type=Share]::before{content:url(/assets/img/toolbar-action-share.svg)}.toolbar-action-item .toolbar-action-image[data-type=Rename]::before{content:url(/assets/img/toolbar-action-rename.svg)}.toolbar-action-item .toolbar-action-image[data-type=SaveSequence]::before{content:url(/assets/img/toolbar-action-saveSequence.svg)}.toolbar-action-item .toolbar-action-image[data-type=SubmitForApproval]::before{content:url(/assets/img/toolbar-action-submitForApproval.svg)}.toolbar-action-item .toolbar-action-image[data-type=SendToControlPanel]::before{content:url(/assets/img/toolbar-action-send-file.svg)}.toolbar-action-item .toolbar-action-image[data-type=SetReminders]::before{content:url(/assets/img/toolbar-action-reminders.svg)}.toolbar-action-item .toolbar-action-image[data-type=Settle]::before{content:url(/assets/img/toolbar-action-settle.svg)}.toolbar-action-item .toolbar-action-image[data-type=Template]::before{content:url(/assets/img/toolbar-action-template.svg)}.toolbar-action-item .toolbar-action-image[data-type=Workflow]::before{content:url(/assets/img/toolbar-action-workflow.svg)}.toolbar-action-item .toolbar-action-image[data-type=Update]::before{content:url(/assets/img/toolbar-action-update.svg)}.toolbar-action-item .toolbar-action-image[data-type=FetchData]::before{content:url(/assets/img/toolbar-action-fetchData.svg)}.toolbar-action-item .toolbar-action-image img{height:16px;display:block}.toolbar-action-item.e-btn{width:100%;min-width:auto!important;height:24px!important;justify-content:flex-start}.toolbar-action-item.mat-menu-item::after{display:none}::ng-deep .toolbar-action-menu-content.mat-menu-panel{border-radius:8px;background-color:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.25)}::ng-deep .toolbar-action-menu-content.mat-menu-panel .mat-menu-content{padding:8px}"]
|
|
73
73
|
}] }
|
|
74
74
|
];
|
|
75
75
|
ToolbarItemComponent.propDecorators = {
|
|
@@ -147,7 +147,9 @@ var DrawerComponent = /** @class */ (function () {
|
|
|
147
147
|
*/
|
|
148
148
|
function (config) {
|
|
149
149
|
/** @type {?} */
|
|
150
|
-
var
|
|
150
|
+
var caches = this.componentRefMap.get(this.service.cacheKey) || [];
|
|
151
|
+
/** @type {?} */
|
|
152
|
+
var cache = caches.slice(-1)[0];
|
|
151
153
|
if (cache) {
|
|
152
154
|
cache.config = tslib_1.__assign({}, cache.config, config);
|
|
153
155
|
this.setCache(cache);
|
|
@@ -186,10 +188,15 @@ var DrawerComponent = /** @class */ (function () {
|
|
|
186
188
|
headerEl: headerEl,
|
|
187
189
|
topEl: topEl,
|
|
188
190
|
};
|
|
191
|
+
/** @type {?} */
|
|
192
|
+
var caches = this.componentRefMap.get(this.service.cacheKey) || [];
|
|
193
|
+
this.componentRefMap.set(this.service.cacheKey, tslib_1.__spread(caches, [cache]));
|
|
194
|
+
// 如果是第一个缓存,打开抽屉
|
|
195
|
+
if (caches.length === 0) {
|
|
196
|
+
this.toggleOpenStatus(true, true);
|
|
197
|
+
}
|
|
198
|
+
this.toggleCache(cache);
|
|
189
199
|
this.setComponentData(componentRef, data);
|
|
190
|
-
this.componentRefMap.set(this.service.cacheKey, cache);
|
|
191
|
-
this.setCache(cache);
|
|
192
|
-
this.toggleOpenStatus(true, true);
|
|
193
200
|
return componentRef.instance;
|
|
194
201
|
};
|
|
195
202
|
/**
|
|
@@ -209,43 +216,101 @@ var DrawerComponent = /** @class */ (function () {
|
|
|
209
216
|
*/
|
|
210
217
|
function () {
|
|
211
218
|
this.deleteCache(this.service.cacheKey);
|
|
212
|
-
|
|
219
|
+
// 如果有上一个缓存,设置为当前缓存,否则关闭抽屉
|
|
220
|
+
/** @type {?} */
|
|
221
|
+
var caches = this.componentRefMap.get(this.service.cacheKey) || [];
|
|
222
|
+
/** @type {?} */
|
|
223
|
+
var cache = caches.slice(-1)[0];
|
|
224
|
+
if (cache) {
|
|
225
|
+
this.toggleCache(cache);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
this.toggleOpenStatus(false, true);
|
|
229
|
+
}
|
|
213
230
|
};
|
|
214
231
|
/**
|
|
232
|
+
* @private
|
|
215
233
|
* @param {?} cacheKey
|
|
216
234
|
* @return {?}
|
|
217
235
|
*/
|
|
218
236
|
DrawerComponent.prototype.deleteCache = /**
|
|
237
|
+
* @private
|
|
219
238
|
* @param {?} cacheKey
|
|
220
239
|
* @return {?}
|
|
221
240
|
*/
|
|
222
241
|
function (cacheKey) {
|
|
223
242
|
/** @type {?} */
|
|
224
|
-
var
|
|
243
|
+
var caches = this.componentRefMap.get(cacheKey) || [];
|
|
244
|
+
/** @type {?} */
|
|
245
|
+
var cache = caches.slice(-1)[0];
|
|
225
246
|
if (cache) {
|
|
226
247
|
this.destroyDynamicComponent(cache.ref);
|
|
248
|
+
caches.pop();
|
|
249
|
+
}
|
|
250
|
+
if (caches.length === 0) {
|
|
251
|
+
this.componentRefMap.delete(cacheKey);
|
|
227
252
|
}
|
|
228
|
-
this.componentRefMap.delete(cacheKey);
|
|
229
253
|
};
|
|
230
254
|
/**
|
|
255
|
+
* @private
|
|
256
|
+
* @param {?} cache
|
|
231
257
|
* @return {?}
|
|
232
258
|
*/
|
|
233
|
-
DrawerComponent.prototype.
|
|
259
|
+
DrawerComponent.prototype.toggleCache = /**
|
|
260
|
+
* @private
|
|
261
|
+
* @param {?} cache
|
|
234
262
|
* @return {?}
|
|
235
263
|
*/
|
|
236
|
-
function () {
|
|
264
|
+
function (cache) {
|
|
237
265
|
this.componentRefMap.forEach((/**
|
|
266
|
+
* @param {?} caches
|
|
267
|
+
* @return {?}
|
|
268
|
+
*/
|
|
269
|
+
function (caches) {
|
|
270
|
+
caches.forEach((/**
|
|
271
|
+
* @param {?} c
|
|
272
|
+
* @return {?}
|
|
273
|
+
*/
|
|
274
|
+
function (c) {
|
|
275
|
+
c.ref.location.nativeElement.style.display = c === cache ? "" : "none";
|
|
276
|
+
}));
|
|
277
|
+
}));
|
|
278
|
+
this.setCache(cache);
|
|
279
|
+
};
|
|
280
|
+
/**
|
|
281
|
+
* @param {?} cacheKey
|
|
282
|
+
* @return {?}
|
|
283
|
+
*/
|
|
284
|
+
DrawerComponent.prototype.deleteAllCache = /**
|
|
285
|
+
* @param {?} cacheKey
|
|
286
|
+
* @return {?}
|
|
287
|
+
*/
|
|
288
|
+
function (cacheKey) {
|
|
289
|
+
var _this = this;
|
|
290
|
+
/** @type {?} */
|
|
291
|
+
var caches = this.componentRefMap.get(cacheKey) || [];
|
|
292
|
+
caches.forEach((/**
|
|
238
293
|
* @param {?} cache
|
|
239
294
|
* @return {?}
|
|
240
295
|
*/
|
|
241
296
|
function (cache) {
|
|
242
|
-
cache.ref
|
|
297
|
+
_this.destroyDynamicComponent(cache.ref);
|
|
243
298
|
}));
|
|
299
|
+
this.componentRefMap.delete(cacheKey);
|
|
300
|
+
};
|
|
301
|
+
/**
|
|
302
|
+
* @return {?}
|
|
303
|
+
*/
|
|
304
|
+
DrawerComponent.prototype.onRouteChange = /**
|
|
305
|
+
* @return {?}
|
|
306
|
+
*/
|
|
307
|
+
function () {
|
|
308
|
+
/** @type {?} */
|
|
309
|
+
var caches = this.componentRefMap.get(this.service.cacheKey) || [];
|
|
244
310
|
/** @type {?} */
|
|
245
|
-
var cache =
|
|
311
|
+
var cache = caches.slice(-1)[0];
|
|
246
312
|
if (cache) {
|
|
247
|
-
cache
|
|
248
|
-
this.setCache(cache);
|
|
313
|
+
this.toggleCache(cache);
|
|
249
314
|
this.toggleOpenStatus(true);
|
|
250
315
|
}
|
|
251
316
|
else {
|
|
@@ -360,4 +425,4 @@ if (false) {
|
|
|
360
425
|
*/
|
|
361
426
|
DrawerComponent.prototype.ref;
|
|
362
427
|
}
|
|
363
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixhQUFhLEdBQ2QsTUFBTSw4QkFBOEIsQ0FBQztBQVV0QztJQThCRSx5QkFDVSxRQUFrQyxFQUNsQyxPQUFzQixFQUN0QixHQUFzQjtRQUZ0QixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVmhDLFdBQU0sR0FBaUIsbUJBQW1CLENBQUM7UUFDM0MsaUJBQVksR0FBaUIsS0FBSyxDQUFDO1FBQ25DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFWixvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO0lBTS9ELENBQUM7Ozs7OztJQUVJLGdEQUFzQjs7Ozs7SUFBOUIsVUFBK0IsU0FBc0M7OztZQUU3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUM7O1lBQzFELFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7Ozs7O0lBRU8saURBQXVCOzs7OztJQUEvQixVQUFnQyxZQUErQjtRQUM3RCxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7Ozs7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LFNBQVMsU0FBQywyQkFBMkIsRUFBRTt3QkFDdEMsSUFBSSxFQUFFLGdCQUFnQjt3QkFDdEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2Q7O0lBOEpILHNCQUFDO0NBQUEsQUFsTEQsSUFrTEM7U0E3S1ksZUFBZTs7O0lBQzFCLGtDQUE2RTs7SUFDN0UsaUNBQTJFOztJQUMzRSxpQ0FBMkU7O0lBQzNFLGtDQUE2RTs7SUFFN0Usc0NBQ3dDOztJQUN4QyxxQ0FDdUM7O0lBQ3ZDLGtDQUE2RTs7Ozs7SUFFN0Usb0NBSW9DOztJQUVwQyxpQ0FBMkM7O0lBQzNDLHVDQUFtQzs7SUFDbkMsbUNBQWlCOztJQUNqQix1Q0FBb0I7Ozs7O0lBRXBCLDBDQUFrRTs7Ozs7SUFHaEUsbUNBQTBDOzs7OztJQUMxQyxrQ0FBOEI7Ozs7O0lBQzlCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIERyYXdlckNvbmZpZyxcclxuICBEZWZhdWx0RHJhd2VyQ29uZmlnLFxyXG4gIERyYXdlclNlcnZpY2UsXHJcbn0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2VcIjtcclxuXHJcbnR5cGUgRHJhd2VyQ29tcG9uZW50Q2FjaGUgPSB7XHJcbiAgcmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuICBjb25maWc6IERyYXdlckNvbmZpZztcclxuICB0b29sYmFyRWw6IEhUTUxFbGVtZW50O1xyXG4gIGhlYWRlckVsOiBIVE1MRWxlbWVudDtcclxuICB0b3BFbDogSFRNTEVsZW1lbnQ7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1kcmF3ZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhd2VyQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwiZWxlbWVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImRyYXdlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgZHJhd2VyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiaGVhZGVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBoZWFkZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJjb250ZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChcInRvb2xiYXJTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHRvb2xiYXJTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiaGVhZGVyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBoZWFkZXJTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwidG9wU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdG9wU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyXCIsIHtcclxuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBzdGF0aWM6IGZhbHNlLFxyXG4gIH0pXHJcbiAgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIGNvbmZpZzogRHJhd2VyQ29uZmlnID0gRGVmYXVsdERyYXdlckNvbmZpZztcclxuICB1c2VBbmltYXRpb246IFwieWVzXCIgfCBcIm5vXCIgPSBcInllc1wiO1xyXG4gIGlzT3BlbmVkID0gZmFsc2U7XHJcbiAgaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWZNYXAgPSBuZXcgTWFwPHN0cmluZywgRHJhd2VyQ29tcG9uZW50Q2FjaGU+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpIHtcclxuICAgIC8vIOehruS/neWcqOiwg+eUqOS5i+WJjeebruagh+e7hOS7tuW3sue7j+WcqGVudHJ5Q29tcG9uZW50c+S4reWjsOaYjlxyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4pIHtcclxuICAgIGlmIChjb21wb25lbnRSZWYpIHtcclxuICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29tcG9uZW50RGF0YShcclxuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4sXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApIHtcclxuICAgIC8vIOWmguaenOmcgOimgeS8oOmAkuaVsOaNrue7meWKqOaAgee7hOS7tu+8jOWPr+S7pei/meagt+WBmlxyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Piwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29tcG9uZW50RWwgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIHJldHVybiBjb21wb25lbnRFbC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2xvdEVsZW1lbnQoc2xvdEVsOiBIVE1MRWxlbWVudCwgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb250YWluZXJFbC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgaWYgKHNsb3RFbCkge1xyXG4gICAgICBjb250YWluZXJFbC5hcHBlbmQoc2xvdEVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5zZXRTbG90RWxlbWVudChjYWNoZS50b29sYmFyRWwsIHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLmhlYWRlckVsLCB0aGlzLmhlYWRlclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvcEVsLCB0aGlzLnRvcFNsb3QubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgY29uc3QgZHJhd2VyVG9wID0gY2FjaGUuY29uZmlnLnRvcCA/IGAke2NhY2hlLmNvbmZpZy50b3B9cHhgIDogXCJcIjtcclxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiLS1kcmF3ZXItdG9wXCIsIGRyYXdlclRvcCk7XHJcblxyXG4gICAgaWYgKGNhY2hlLmNvbmZpZy5tb2RlID09PSBcImlubmVyXCIpIHtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb25maWcgPSBjYWNoZS5jb25maWc7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHNldENvbmZpZyhjb25maWc6IFBhcnRpYWw8RHJhd2VyQ29uZmlnPikge1xyXG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICBjYWNoZS5jb25maWcgPSB7IC4uLmNhY2hlLmNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICAgIHRoaXMuc2V0Q2FjaGUoY2FjaGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdzxUPihcclxuICAgIGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCxcclxuICAgIGNvbmZpZzogRHJhd2VyQ29uZmlnLFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNldENvbXBvbmVudERhdGEoY29tcG9uZW50UmVmLCBkYXRhKTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIGNhY2hlKTtcclxuXHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUNhY2hlKHRoaXMuc2VydmljZS5jYWNoZUtleSk7XHJcbiAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQoY2FjaGVLZXkpO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY2FjaGUucmVmKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgfVxyXG5cclxuICBvblJvdXRlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgY2FjaGUucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLnJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcIlwiO1xyXG4gICAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMudXNlQW5pbWF0aW9uID0gXCJub1wiO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3BlblN0YXR1cyhpc09wZW46IGJvb2xlYW4sIHVzZUFuaW1hdGlvbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gaXNPcGVuO1xyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSB1c2VBbmltYXRpb24gPyBcInllc1wiIDogXCJub1wiO1xyXG4gICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSAhaXNPcGVuICYmICF1c2VBbmltYXRpb247XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG9uQW5pbWF0aW9uRW5kKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixhQUFhLEdBQ2QsTUFBTSw4QkFBOEIsQ0FBQztBQVV0QztJQThCRSx5QkFDVSxRQUFrQyxFQUNsQyxPQUFzQixFQUN0QixHQUFzQjtRQUZ0QixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVmhDLFdBQU0sR0FBaUIsbUJBQW1CLENBQUM7UUFDM0MsaUJBQVksR0FBaUIsS0FBSyxDQUFDO1FBQ25DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFWixvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFrQyxDQUFDO0lBTWpFLENBQUM7Ozs7OztJQUVJLGdEQUFzQjs7Ozs7SUFBOUIsVUFBK0IsU0FBc0M7OztZQUU3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUM7O1lBQzFELFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7Ozs7O0lBRU8saURBQXVCOzs7OztJQUEvQixVQUFnQyxZQUErQjtRQUM3RCxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7Ozs7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LFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzhCQUV0QyxTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs2QkFFMUMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MEJBRXpDLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzRCQUV0QyxTQUFTLFNBQUMsMkJBQTJCLEVBQUU7d0JBQ3RDLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxLQUFLO3FCQUNkOztJQTZMSCxzQkFBQztDQUFBLEFBak5ELElBaU5DO1NBNU1ZLGVBQWU7OztJQUMxQixrQ0FBNkU7O0lBQzdFLGlDQUEyRTs7SUFDM0UsaUNBQTJFOztJQUMzRSxrQ0FBNkU7O0lBRTdFLHNDQUN3Qzs7SUFDeEMscUNBQ3VDOztJQUN2QyxrQ0FBNkU7Ozs7O0lBRTdFLG9DQUlvQzs7SUFFcEMsaUNBQTJDOztJQUMzQyx1Q0FBbUM7O0lBQ25DLG1DQUFpQjs7SUFDakIsdUNBQW9COzs7OztJQUVwQiwwQ0FBb0U7Ozs7O0lBR2xFLG1DQUEwQzs7Ozs7SUFDMUMsa0NBQThCOzs7OztJQUM5Qiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBEcmF3ZXJDb25maWcsXHJcbiAgRGVmYXVsdERyYXdlckNvbmZpZyxcclxuICBEcmF3ZXJTZXJ2aWNlLFxyXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcblxyXG50eXBlIERyYXdlckNvbXBvbmVudENhY2hlID0ge1xyXG4gIHJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWc7XHJcbiAgdG9vbGJhckVsOiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgdG9wRWw6IEhUTUxFbGVtZW50O1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0b29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICB0b29sYmFyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgaGVhZGVyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcInRvcFNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRvcFNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclwiLCB7XHJcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgc3RhdGljOiBmYWxzZSxcclxuICB9KVxyXG4gIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBjb25maWc6IERyYXdlckNvbmZpZyA9IERlZmF1bHREcmF3ZXJDb25maWc7XHJcbiAgdXNlQW5pbWF0aW9uOiBcInllc1wiIHwgXCJub1wiID0gXCJ5ZXNcIjtcclxuICBpc09wZW5lZCA9IGZhbHNlO1xyXG4gIGhpZGRlbkRyYXdlciA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmTWFwID0gbmV3IE1hcDxzdHJpbmcsIERyYXdlckNvbXBvbmVudENhY2hlW10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAvLyDnoa7kv53lnKjosIPnlKjkuYvliY3nm67moIfnu4Tku7blt7Lnu4/lnKhlbnRyeUNvbXBvbmVudHPkuK3lo7DmmI5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHluYW1pY0NvbXBvbmVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbXBvbmVudERhdGEoXHJcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG4gICkge1xyXG4gICAgLy8g5aaC5p6c6ZyA6KaB5Lyg6YCS5pWw5o2u57uZ5Yqo5oCB57uE5Lu277yM5Y+v5Lul6L+Z5qC35YGaXHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTbG90RWxlbWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCBzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRFbCA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudEVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTbG90RWxlbWVudChzbG90RWw6IEhUTUxFbGVtZW50LCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnRhaW5lckVsLmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICBpZiAoc2xvdEVsKSB7XHJcbiAgICAgIGNvbnRhaW5lckVsLmFwcGVuZChzbG90RWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGUoY2FjaGU6IERyYXdlckNvbXBvbmVudENhY2hlKSB7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvb2xiYXJFbCwgdGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUuaGVhZGVyRWwsIHRoaXMuaGVhZGVyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUudG9wRWwsIHRoaXMudG9wU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICBjb25zdCBkcmF3ZXJUb3AgPSBjYWNoZS5jb25maWcudG9wID8gYCR7Y2FjaGUuY29uZmlnLnRvcH1weGAgOiBcIlwiO1xyXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLWRyYXdlci10b3BcIiwgZHJhd2VyVG9wKTtcclxuXHJcbiAgICBpZiAoY2FjaGUuY29uZmlnLm1vZGUgPT09IFwiaW5uZXJcIikge1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmFwcGVuZCh0aGlzLnRvb2xiYXJTbG90Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlnID0gY2FjaGUuY29uZmlnO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLmNvbmZpZyA9IHsgLi4uY2FjaGUuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93PFQ+KFxyXG4gICAgY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULFxyXG4gICAgY29uZmlnOiBEcmF3ZXJDb25maWcsXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIFsuLi5jYWNoZXMsIGNhY2hlXSk7XHJcbiAgICAvLyDlpoLmnpzmmK/nrKzkuIDkuKrnvJPlrZjvvIzmiZPlvIDmir3lsYlcclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgdGhpcy5zZXRDb21wb25lbnREYXRhKGNvbXBvbmVudFJlZiwgZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpIHtcclxuICAgIHRoaXMuZGVsZXRlQ2FjaGUodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuXHJcbiAgICAvLyDlpoLmnpzmnInkuIrkuIDkuKrnvJPlrZjvvIzorr7nva7kuLrlvZPliY3nvJPlrZjvvIzlkKbliJnlhbPpl63mir3lsYlcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KGNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLmRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNhY2hlLnJlZik7XHJcbiAgICAgIGNhY2hlcy5wb3AoKTtcclxuICAgIH1cclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGVzKSA9PiB7XHJcbiAgICAgIGNhY2hlcy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgYy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gYyA9PT0gY2FjaGUgPyBcIlwiIDogXCJub25lXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUFsbENhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjYWNoZXMuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3V0ZUNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSBcIm5vXCI7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuU3RhdHVzKGlzT3BlbjogYm9vbGVhbiwgdXNlQW5pbWF0aW9uID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaXNPcGVuZWQgPSBpc09wZW47XHJcbiAgICB0aGlzLnVzZUFuaW1hdGlvbiA9IHVzZUFuaW1hdGlvbiA/IFwieWVzXCIgOiBcIm5vXCI7XHJcbiAgICB0aGlzLmhpZGRlbkRyYXdlciA9ICFpc09wZW4gJiYgIXVzZUFuaW1hdGlvbjtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25BbmltYXRpb25FbmQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcclxuICAgICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Generated from: lib/layout/rs-stepper/constants.ts
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtc3RlcHBlci9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN0ZXBJdGVtID0ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgc3RlcDogbnVtYmVyO1xyXG4gIGRpc3BsYXlUaXRsZT86IHN0cmluZztcclxufTtcclxuXHJcbi8qKiBTdGVwcGVyIGxheW91dDogaG9yaXpvbnRhbCAoZGVmYXVsdCkgb3IgdmVydGljYWwgKi9cclxuZXhwb3J0IHR5cGUgU3RlcHBlck9yaWVudGF0aW9uID0gXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCI7Il19
|
|
@@ -12,6 +12,10 @@ var RSStepperComponent = /** @class */ (function () {
|
|
|
12
12
|
this.ref = ref;
|
|
13
13
|
this.steps = [];
|
|
14
14
|
this.currentStep = 0;
|
|
15
|
+
/**
|
|
16
|
+
* Layout direction: 'horizontal' (default) or 'vertical'
|
|
17
|
+
*/
|
|
18
|
+
this.orientation = "horizontal";
|
|
15
19
|
this.stepClick = new EventEmitter();
|
|
16
20
|
this.unlockedStep = 0; //已解锁的最大步骤
|
|
17
21
|
this.showBtn = false;
|
|
@@ -43,10 +47,12 @@ var RSStepperComponent = /** @class */ (function () {
|
|
|
43
47
|
*/
|
|
44
48
|
function () {
|
|
45
49
|
var _this = this;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
if (this.orientation === "horizontal") {
|
|
51
|
+
setTimeout((/**
|
|
52
|
+
* @return {?}
|
|
53
|
+
*/
|
|
54
|
+
function () { return _this.checkBtnShow(true); }));
|
|
55
|
+
}
|
|
50
56
|
};
|
|
51
57
|
/**
|
|
52
58
|
* @param {?} changes
|
|
@@ -60,14 +66,16 @@ var RSStepperComponent = /** @class */ (function () {
|
|
|
60
66
|
var _this = this;
|
|
61
67
|
if (changes["currentStep"] && !changes["currentStep"].firstChange) {
|
|
62
68
|
this.syncUnlockedStep();
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
if (this.orientation === "horizontal") {
|
|
70
|
+
setTimeout((/**
|
|
71
|
+
* @return {?}
|
|
72
|
+
*/
|
|
73
|
+
function () { return _this.scrollToStep(); }));
|
|
74
|
+
}
|
|
68
75
|
}
|
|
69
|
-
if (
|
|
70
|
-
changes["
|
|
76
|
+
if (this.orientation === "horizontal" &&
|
|
77
|
+
((changes["steps"] && changes["steps"].currentValue) ||
|
|
78
|
+
changes["currentStep"])) {
|
|
71
79
|
setTimeout((/**
|
|
72
80
|
* @return {?}
|
|
73
81
|
*/
|
|
@@ -106,10 +114,12 @@ var RSStepperComponent = /** @class */ (function () {
|
|
|
106
114
|
if (step.step <= this.unlockedStep) {
|
|
107
115
|
this.currentStep = step.step;
|
|
108
116
|
this.stepClick.emit(step);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
117
|
+
if (this.orientation === "horizontal") {
|
|
118
|
+
setTimeout((/**
|
|
119
|
+
* @return {?}
|
|
120
|
+
*/
|
|
121
|
+
function () { return _this.scrollToStep(index); }));
|
|
122
|
+
}
|
|
113
123
|
}
|
|
114
124
|
};
|
|
115
125
|
/**
|
|
@@ -169,15 +179,17 @@ var RSStepperComponent = /** @class */ (function () {
|
|
|
169
179
|
this.onScroll();
|
|
170
180
|
};
|
|
171
181
|
/**
|
|
172
|
-
* @param {?}
|
|
182
|
+
* @param {?} _event
|
|
173
183
|
* @return {?}
|
|
174
184
|
*/
|
|
175
185
|
RSStepperComponent.prototype.onResize = /**
|
|
176
|
-
* @param {?}
|
|
186
|
+
* @param {?} _event
|
|
177
187
|
* @return {?}
|
|
178
188
|
*/
|
|
179
|
-
function (
|
|
180
|
-
this.
|
|
189
|
+
function (_event) {
|
|
190
|
+
if (this.orientation === "horizontal") {
|
|
191
|
+
this.checkBtnShow();
|
|
192
|
+
}
|
|
181
193
|
};
|
|
182
194
|
/**
|
|
183
195
|
* @param {?=} init
|
|
@@ -256,8 +268,8 @@ var RSStepperComponent = /** @class */ (function () {
|
|
|
256
268
|
RSStepperComponent.decorators = [
|
|
257
269
|
{ type: Component, args: [{
|
|
258
270
|
selector: "rs-stepper",
|
|
259
|
-
template: "<div class=\"rs-stepper\">\r\n <div class=\"steps-wrap\">\r\n
|
|
260
|
-
styles: [".rs-stepper{font-family:Arial;width:100
|
|
271
|
+
template: "<div class=\"rs-stepper\" [ngClass]=\"{ 'rs-stepper--vertical': orientation === 'vertical' }\">\r\n <!-- Horizontal stepper -->\r\n <ng-container *ngIf=\"orientation === 'horizontal'\">\r\n <div class=\"steps-wrap\">\r\n <div\r\n class=\"row-btn\"\r\n [class.hidden]=\"isAtStart || !showBtn\"\r\n (click)=\"scrollLeft()\"\r\n >\r\n <div class=\"hover\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n stroke=\"#1F7BFF\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"normal\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M10.4995 3.99955L7.24219 8.24219L10.4995 12.4848\"\r\n stroke=\"#6B6B6B\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n <div\r\n class=\"steps-content\"\r\n [ngClass]=\"{\r\n leftMask: showBtn && !isAtStart,\r\n rightMask: showBtn && !isAtEnd,\r\n bothMask: showBtn && !isAtStart && showBtn && !isAtEnd\r\n }\"\r\n #menu\r\n (scroll)=\"onScroll()\"\r\n >\r\n <ng-container *ngFor=\"let item of steps; let i = index\">\r\n <div\r\n class=\"step\"\r\n [ngClass]=\"{\r\n done: item.step <= unlockedStep,\r\n active: item.step === currentStep\r\n }\"\r\n (click)=\"onStepClick(item, i)\"\r\n >\r\n <div\r\n class=\"step-label\"\r\n [matTooltip]=\"item.label !== item.displayTitle ? item.label : ''\"\r\n matTooltipPosition=\"above\"\r\n >\r\n {{ item.displayTitle }}\r\n </div>\r\n </div>\r\n <div class=\"step-arrow\" *ngIf=\"i < steps.length - 1\">\r\n <img src=\"/assets/img/step-arrow.svg\" />\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div\r\n class=\"row-btn\"\r\n [class.hidden]=\"isAtEnd || !showBtn\"\r\n (click)=\"scrollRight()\"\r\n >\r\n <div class=\"hover\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n stroke=\"#1F7BFF\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"normal\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"17\"\r\n height=\"16\"\r\n viewBox=\"0 0 17 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M7.50045 3.99955L10.7578 8.24219L7.50045 12.4848\"\r\n stroke=\"#6B6B6B\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Vertical stepper (Figma RAISE-UI-Kits: right border, \"Step N\" + title) -->\r\n <div class=\"steps-wrap steps-wrap--vertical\" *ngIf=\"orientation === 'vertical'\">\r\n <ol class=\"steps-vertical\" role=\"list\">\r\n <li\r\n *ngFor=\"let item of steps; let i = index\"\r\n class=\"step-vertical\"\r\n [ngClass]=\"{\r\n 'step-vertical--done': item.step <= unlockedStep,\r\n 'step-vertical--active': item.step === currentStep\r\n }\"\r\n (click)=\"onStepClick(item, i)\"\r\n >\r\n <span class=\"step-vertical__number\">Step {{ item.step + 1 }}</span>\r\n <span\r\n class=\"step-vertical__label\"\r\n [matTooltip]=\"item.label !== (item.displayTitle || item.label) ? item.label : ''\"\r\n matTooltipPosition=\"right\"\r\n >\r\n {{ item.displayTitle || item.label }}\r\n </span>\r\n </li>\r\n </ol>\r\n </div>\r\n</div>\r\n",
|
|
272
|
+
styles: [".rs-stepper{font-family:var(--rs-font-family,Arial);width:100%}.rs-stepper:not(.rs-stepper--vertical){border-bottom:1px solid var(--rs-border-color)}.rs-stepper.rs-stepper--vertical{border-bottom:none}.rs-stepper .steps-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto}.rs-stepper .steps-wrap .steps-content{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;overflow-x:auto;overflow-y:hidden;gap:8px}.rs-stepper .steps-wrap .steps-content.leftMask{-webkit-mask-image:linear-gradient(90deg,transparent,#fff 10%,#d8d3d3 100%);mask-image:linear-gradient(90deg,transparent,#fff 10%,#d8d3d3 100%)}.rs-stepper .steps-wrap .steps-content.rightMask{-webkit-mask-image:linear-gradient(90deg,#fff 0,#fff 90%,transparent);mask-image:linear-gradient(90deg,#fff 0,#fff 90%,transparent)}.rs-stepper .steps-wrap .steps-content.bothMask{-webkit-mask-image:linear-gradient(90deg,transparent,#fff 10%,#fff 90%,transparent)!important;mask-image:linear-gradient(90deg,transparent,#fff 10%,#fff 90%,transparent)!important}.rs-stepper .steps-wrap .steps-content::-webkit-scrollbar{width:0;height:0}.rs-stepper .steps-wrap .step{flex:0 0 auto}.rs-stepper .steps-wrap .step .step-label{color:var(--rs-labels-color);font-size:12px;font-weight:400;line-height:22px;text-align:center;white-space:nowrap;padding:0 12px 12px;display:flex;align-items:center}.rs-stepper .steps-wrap .step.done{cursor:pointer}.rs-stepper .steps-wrap .step.done .step-label{color:var(--rs-active-labels-color)}.rs-stepper .steps-wrap .step.active .step-label{color:var(--rs-active-labels-color);font-weight:700;border-bottom:1px solid var(--rs-active-labels-color)}.rs-stepper .steps-wrap .step-arrow{flex:0 0 auto;padding:0 12px 12px;display:flex;align-items:center}.rs-stepper .row-btn{margin-bottom:12px;display:flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:4px;border:1px solid #bdc4ca;flex-shrink:0;cursor:pointer;visibility:visible}.rs-stepper .row-btn .hover{display:none}.rs-stepper .row-btn .normal{display:flex}.rs-stepper .row-btn:hover{background-color:rgba(31,123,255,.04)}.rs-stepper .row-btn:hover .normal{display:none}.rs-stepper .row-btn:hover .hover{display:flex}.rs-stepper .row-btn.hidden{visibility:hidden}.rs-stepper .steps-wrap--vertical{display:block;padding:0}.rs-stepper .steps-vertical{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.rs-stepper .step-vertical{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:4px 12px 4px 0;border-right:2px solid var(--rs-border-color);cursor:default;text-align:right;font-family:var(--rs-font-family,Arial);font-size:11px;line-height:14px;color:var(--rs-labels-color);transition:background-color .15s,border-radius .15s}.rs-stepper .step-vertical.step-vertical--done{cursor:pointer;border-right-color:var(--rs-active-labels-color);color:var(--rs-active-labels-color)}.rs-stepper .step-vertical.step-vertical--done:hover{background-color:rgba(31,123,255,.04);border-top-left-radius:var(--rs-input-border-radius,4px);border-bottom-left-radius:var(--rs-input-border-radius,4px)}.rs-stepper .step-vertical.step-vertical--active{border-right-color:var(--rs-active-labels-color);color:var(--rs-active-labels-color)}.rs-stepper .step-vertical.step-vertical--active .step-vertical__label{font-weight:700}.rs-stepper .step-vertical__number{flex-shrink:0;font-weight:400}.rs-stepper .step-vertical__label{min-width:0;font-weight:400;word-break:break-word}.rs-stepper .step-vertical--active .step-vertical__label{font-weight:700}"]
|
|
261
273
|
}] }
|
|
262
274
|
];
|
|
263
275
|
/** @nocollapse */
|
|
@@ -269,6 +281,7 @@ var RSStepperComponent = /** @class */ (function () {
|
|
|
269
281
|
menu: [{ type: ViewChild, args: ["menu", { static: false },] }],
|
|
270
282
|
steps: [{ type: Input }],
|
|
271
283
|
currentStep: [{ type: Input }],
|
|
284
|
+
orientation: [{ type: Input }],
|
|
272
285
|
stepClick: [{ type: Output }],
|
|
273
286
|
unlockedStep: [{ type: Input }],
|
|
274
287
|
containerRefId: [{ type: Input }],
|
|
@@ -284,6 +297,11 @@ if (false) {
|
|
|
284
297
|
RSStepperComponent.prototype.steps;
|
|
285
298
|
/** @type {?} */
|
|
286
299
|
RSStepperComponent.prototype.currentStep;
|
|
300
|
+
/**
|
|
301
|
+
* Layout direction: 'horizontal' (default) or 'vertical'
|
|
302
|
+
* @type {?}
|
|
303
|
+
*/
|
|
304
|
+
RSStepperComponent.prototype.orientation;
|
|
287
305
|
/** @type {?} */
|
|
288
306
|
RSStepperComponent.prototype.stepClick;
|
|
289
307
|
/** @type {?} */
|
|
@@ -304,4 +322,4 @@ if (false) {
|
|
|
304
322
|
*/
|
|
305
323
|
RSStepperComponent.prototype.ref;
|
|
306
324
|
}
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtc3RlcHBlci9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUU7SUFTRSw0QkFDUyxFQUF5QixFQUN4QixHQUFzQjtRQUR2QixPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUp2QixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBS3ZCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBQzFDLGlCQUFZLEdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQTJIN0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7SUEvSGIsQ0FBQzs7OztJQUtKLHFDQUFROzs7SUFBUjtRQUFBLGlCQUtDO1FBSkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQyxJQUFJO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFRCw0Q0FBZTs7O0lBQWY7UUFBQSxpQkFFQztRQURDLFVBQVU7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUF2QixDQUF1QixFQUFDLENBQUM7SUFDNUMsQ0FBQzs7Ozs7SUFFRCx3Q0FBVzs7OztJQUFYLFVBQVksT0FBc0I7UUFBbEMsaUJBWUM7UUFYQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDakUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsaUNBQWlDO1lBQ2pDLFVBQVU7OztZQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsWUFBWSxFQUFFLEVBQW5CLENBQW1CLEVBQUMsQ0FBQztTQUN2QztRQUNELElBQ0UsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNuRCxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQ3RCO1lBQ0EsVUFBVTs7O1lBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxZQUFZLEVBQUUsRUFBbkIsQ0FBbUIsRUFBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjs7Ozs7O0lBQ2IsNkNBQWdCOzs7Ozs7SUFBeEI7UUFDRSxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDdEM7SUFDSCxDQUFDOzs7Ozs7SUFFRCx3Q0FBVzs7Ozs7SUFBWCxVQUFZLElBQWMsRUFBRSxLQUFjO1FBQTFDLGlCQU1DO1FBTEMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLFVBQVU7OztZQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUF4QixDQUF3QixFQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDOzs7Ozs7SUFFTyx5Q0FBWTs7Ozs7SUFBcEIsVUFBcUIsS0FBYztRQUFuQyxpQkFvQ0M7UUFuQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPOztZQUU3QyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhOztZQUNoQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQzs7WUFDeEMsV0FBVyxHQUNmLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUksQ0FBQyxXQUFXLEVBQTNCLENBQTJCLEVBQUM7UUFFOUQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxJQUFJLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTTtZQUFFLE9BQU87O1lBRXJELFFBQVEsR0FBRyxtQkFBQSxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQWU7OztZQUc1QyxhQUFhLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFOztZQUM5QyxXQUFXLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFOzs7WUFHOUMsbUJBQW1CLEdBQ3ZCLFdBQVcsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVTs7WUFDckQsWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLOztZQUNoQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVc7OztZQUduQyxhQUFhLEdBQUcsbUJBQW1CLEdBQUcsWUFBWSxHQUFHLENBQUM7OztZQUd0RCxZQUFZLEdBQUcsYUFBYSxHQUFHLGNBQWMsR0FBRyxDQUFDOzs7WUFHakQsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDOztZQUM1RCxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFbEUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Ozs7O0lBR0QscUNBQVE7Ozs7SUFEUixVQUNTLEtBQVk7UUFDbkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7O0lBRUQseUNBQVk7Ozs7SUFBWixVQUFhLElBQWM7UUFBM0IsaUJBd0JDO1FBdkJDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTzs7WUFFN0MsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtRQUM5QixJQUFBLGdDQUFXLEVBQUUsZ0NBQVc7OztZQUc1QixTQUFTLEdBQUcsV0FBVztRQUMzQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7O2dCQUNqQixZQUFZLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2pFLElBQUksWUFBWSxFQUFFO2dCQUNoQixTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMzRDtTQUNGO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBRXZDLGNBQWM7UUFDZCxJQUFJLElBQUksRUFBRTtZQUNSLFVBQVU7OztZQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsWUFBWSxFQUFFLEVBQW5CLENBQW1CLEdBQUUsQ0FBQyxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7O0lBQ0QsdUNBQVU7OztJQUFWO1FBQ1UsSUFBQSwrQ0FBVTs7WUFDWixHQUFHLEdBQUcsVUFBVSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7Ozs7SUFDRCx3Q0FBVzs7O0lBQVg7UUFDUSxJQUFBLDRCQUFrRSxFQUFoRSwwQkFBVSxFQUFFLDRCQUFXLEVBQUUsNEJBQXVDOztZQUNsRSxJQUFJLEdBQUcsV0FBVyxHQUFHLFdBQVcsR0FBRyxVQUFVOztZQUM3QyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs7O0lBS0QscUNBQVE7OztJQUFSO1FBQ1EsSUFBQSw0QkFBa0UsRUFBaEUsMEJBQVUsRUFBRSw0QkFBVyxFQUFFLDRCQUF1QztRQUN4RSxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLEdBQUcsV0FBVyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztnQkFqSkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QiwrOUZBQXFDOztpQkFFdEM7Ozs7Z0JBTlEscUJBQXFCO2dCQUo1QixpQkFBaUI7Ozt1QkFZaEIsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBQ25DLEtBQUs7OEJBQ0wsS0FBSzs0QkFLTCxNQUFNOytCQUNOLEtBQUs7aUNBQ0wsS0FBSzsyQkFnRkwsWUFBWSxTQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7SUFtRDNDLHlCQUFDO0NBQUEsQUFsSkQsSUFrSkM7U0E3SVksa0JBQWtCOzs7SUFDN0Isa0NBQXdEOztJQUN4RCxtQ0FBZ0M7O0lBQ2hDLHlDQUFpQzs7SUFLakMsdUNBQW1EOztJQUNuRCwwQ0FBa0M7O0lBQ2xDLDRDQUF3Qjs7SUEwSHhCLHFDQUFnQjs7SUFDaEIsdUNBQWlCOztJQUNqQixxQ0FBZ0I7O0lBaklkLGdDQUFnQzs7Ozs7SUFDaEMsaUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3RlcEl0ZW0gfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLXN0ZXBwZXJcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUlNTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKFwibWVudVwiLCB7IHN0YXRpYzogZmFsc2UgfSkgbWVudSE6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgc3RlcHM6IFN0ZXBJdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSBjdXJyZW50U3RlcDogbnVtYmVyID0gMDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjZjogQ29tbW9uRnVuY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG4gIEBPdXRwdXQoKSBzdGVwQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFN0ZXBJdGVtPigpO1xyXG4gIEBJbnB1dCgpIHVubG9ja2VkU3RlcDogbnVtYmVyID0gMDsgLy/lt7Lop6PplIHnmoTmnIDlpKfmraXpqqRcclxuICBASW5wdXQoKSBjb250YWluZXJSZWZJZDtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcclxuICAgICAgc3RlcC5kaXNwbGF5VGl0bGUgPSB0aGlzLmNmLnNldE1pZGRsZUVsbGlwc2lzKHN0ZXAubGFiZWwsIDEzMiwgMTIpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnN5bmNVbmxvY2tlZFN0ZXAoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja0J0blNob3codHJ1ZSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJjdXJyZW50U3RlcFwiXSAmJiAhY2hhbmdlc1tcImN1cnJlbnRTdGVwXCJdLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgIHRoaXMuc3luY1VubG9ja2VkU3RlcCgpO1xyXG4gICAgICAvLyDlvZPlpJbpg6jkvKDlhaXnmoQgY3VycmVudFN0ZXAg5Y+Y5YyW5pe277yM5rua5Yqo5Yiw5a+55bqU5q2l6aqkXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIChjaGFuZ2VzW1wic3RlcHNcIl0gJiYgY2hhbmdlc1tcInN0ZXBzXCJdLmN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgY2hhbmdlc1tcImN1cnJlbnRTdGVwXCJdXHJcbiAgICApIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQnRuU2hvdygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIOWQjOatpXVubG9ja2VkU3RlcOeahOacgOWkp+WAvFxyXG4gIHByaXZhdGUgc3luY1VubG9ja2VkU3RlcCgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwID4gdGhpcy51bmxvY2tlZFN0ZXApIHtcclxuICAgICAgdGhpcy51bmxvY2tlZFN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdGVwQ2xpY2soc3RlcDogU3RlcEl0ZW0sIGluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoc3RlcC5zdGVwIDw9IHRoaXMudW5sb2NrZWRTdGVwKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0ZXAgPSBzdGVwLnN0ZXA7XHJcbiAgICAgIHRoaXMuc3RlcENsaWNrLmVtaXQoc3RlcCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoaW5kZXgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG9TdGVwKGluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMubWVudSB8fCAhdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBtZW51RWwgPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGl0ZW1zID0gbWVudUVsLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuc3RlcFwiKTtcclxuICAgIGNvbnN0IHRhcmdldEluZGV4ID1cclxuICAgICAgdHlwZW9mIGluZGV4ID09PSBcIm51bWJlclwiXHJcbiAgICAgICAgPyBpbmRleFxyXG4gICAgICAgIDogdGhpcy5zdGVwcy5maW5kSW5kZXgoKHMpID0+IHMuc3RlcCA9PT0gdGhpcy5jdXJyZW50U3RlcCk7XHJcblxyXG4gICAgaWYgKHRhcmdldEluZGV4IDwgMCB8fCB0YXJnZXRJbmRleCA+PSBpdGVtcy5sZW5ndGgpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB0YXJnZXRFbCA9IGl0ZW1zW3RhcmdldEluZGV4XSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAvL+iOt+WPluebuOWvueS9jee9rlxyXG4gICAgY29uc3QgY29udGFpbmVyUmVjdCA9IG1lbnVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gdGFyZ2V0RWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgLy8g6K6h566X5YWD57Sg55u45a+55LqO5a655Zmo55qE5L2N572uXHJcbiAgICBjb25zdCBlbGVtZW50UmVsYXRpdmVMZWZ0ID1cclxuICAgICAgZWxlbWVudFJlY3QubGVmdCAtIGNvbnRhaW5lclJlY3QubGVmdCArIG1lbnVFbC5zY3JvbGxMZWZ0O1xyXG4gICAgY29uc3QgZWxlbWVudFdpZHRoID0gZWxlbWVudFJlY3Qud2lkdGg7XHJcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IG1lbnVFbC5jbGllbnRXaWR0aDtcclxuXHJcbiAgICAvLyDorqHnrpflhYPntKDkuK3lv4Pngrnnm7jlr7nkuo7lrrnlmajnmoTkvY3nva5cclxuICAgIGNvbnN0IGVsZW1lbnRDZW50ZXIgPSBlbGVtZW50UmVsYXRpdmVMZWZ0ICsgZWxlbWVudFdpZHRoIC8gMjtcclxuXHJcbiAgICAvLyDnm67moIfmu5rliqjkvY3nva7vvJrorqnlhYPntKDkuK3lv4Plh7rnjrDlnKjlj6/op4bljLrln5/kuK3lv4NcclxuICAgIGNvbnN0IHNjcm9sbFRhcmdldCA9IGVsZW1lbnRDZW50ZXIgLSBjb250YWluZXJXaWR0aCAvIDI7XHJcblxyXG4gICAgLy8g6ZmQ5Yi25Zyo5pyJ5pWI5rua5Yqo6IyD5Zu05YaFXHJcbiAgICBjb25zdCBtYXhTY3JvbGwgPSBNYXRoLm1heCgwLCBtZW51RWwuc2Nyb2xsV2lkdGggLSBjb250YWluZXJXaWR0aCk7XHJcbiAgICBjb25zdCBmaW5hbFRhcmdldCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHNjcm9sbFRhcmdldCwgbWF4U2Nyb2xsKSk7XHJcblxyXG4gICAgbWVudUVsLnNjcm9sbFRvKHsgbGVmdDogZmluYWxUYXJnZXQsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xyXG4gICAgdGhpcy5vblNjcm9sbCgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5jaGVja0J0blNob3coKTtcclxuICB9XHJcblxyXG4gIGNoZWNrQnRuU2hvdyhpbml0PzogYm9vbGVhbikge1xyXG4gICAgaWYgKCF0aGlzLm1lbnUgfHwgIXRoaXMubWVudS5uYXRpdmVFbGVtZW50KSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgbWVudUVsID0gdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCB7IHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCB9ID0gbWVudUVsO1xyXG5cclxuICAgIC8vIOWIpOaWreaYr+WQpumcgOimgeaYvuekuua7muWKqOaMiemSrlxyXG4gICAgbGV0IHRocmVzaG9sZCA9IGNsaWVudFdpZHRoO1xyXG4gICAgaWYgKHRoaXMuY29udGFpbmVyUmVmSWQpIHtcclxuICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jb250YWluZXJSZWZJZCk7XHJcbiAgICAgIGlmIChjb250YWluZXJSZWYpIHtcclxuICAgICAgICB0aHJlc2hvbGQgPSBNYXRoLm1heChjb250YWluZXJSZWYub2Zmc2V0V2lkdGggKiAwLjgsIDQwMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dCdG4gPSBzY3JvbGxXaWR0aCA+IHRocmVzaG9sZDtcclxuXHJcbiAgICAvLyDliJ3lp4vljJbml7bmu5rliqjliLDlvZPliY3mraXpqqRcclxuICAgIGlmIChpbml0KSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoKSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vblNjcm9sbCgpO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG4gIHNjcm9sbExlZnQoKSB7XHJcbiAgICBjb25zdCB7IHNjcm9sbExlZnQgfSA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgZGlzID0gc2Nyb2xsTGVmdCAvIDEwMCA8IDIgPyBzY3JvbGxMZWZ0ICsgMTAgOiAxMDA7XHJcbiAgICB0aGlzLm1lbnUubmF0aXZlRWxlbWVudC5zY3JvbGxCeSh7IGxlZnQ6IC1kaXMsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xyXG4gIH1cclxuICBzY3JvbGxSaWdodCgpIHtcclxuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGgsIGNsaWVudFdpZHRoIH0gPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IHJlc3QgPSBzY3JvbGxXaWR0aCAtIGNsaWVudFdpZHRoIC0gc2Nyb2xsTGVmdDtcclxuICAgIGNvbnN0IGRpcyA9IHJlc3QgLyAxMDAgPCAyID8gcmVzdCArIDEwIDogMTAwO1xyXG4gICAgdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyBsZWZ0OiBkaXMsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0J0biA9IGZhbHNlO1xyXG4gIGlzQXRTdGFydCA9IHRydWU7XHJcbiAgaXNBdEVuZCA9IGZhbHNlO1xyXG4gIG9uU2Nyb2xsKCkge1xyXG4gICAgY29uc3QgeyBzY3JvbGxMZWZ0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGggfSA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5pc0F0U3RhcnQgPSBzY3JvbGxMZWZ0IDw9IDE7XHJcbiAgICB0aGlzLmlzQXRFbmQgPSBzY3JvbGxMZWZ0ICsgY2xpZW50V2lkdGggPj0gc2Nyb2xsV2lkdGggLSAxO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
325
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvcnMtc3RlcHBlci9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUU7SUFXRSw0QkFDUyxFQUF5QixFQUN4QixHQUFzQjtRQUR2QixPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQU52QixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDOzs7O1FBRXhCLGdCQUFXLEdBQXVCLFlBQVksQ0FBQztRQUs5QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUMxQyxpQkFBWSxHQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVU7UUFtSTdDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixZQUFPLEdBQUcsS0FBSyxDQUFDO0lBdkliLENBQUM7Ozs7SUFLSixxQ0FBUTs7O0lBQVI7UUFBQSxpQkFLQztRQUpDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTzs7OztRQUFDLFVBQUMsSUFBSTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixD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QVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Ozs7SUFLRCxxQ0FBUTs7O0lBQVI7UUFDUSxJQUFBLDRCQUFrRSxFQUFoRSwwQkFBVSxFQUFFLDRCQUFXLEVBQUUsNEJBQXVDO1FBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsR0FBRyxXQUFXLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7O2dCQTNKRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLGt5SUFBcUM7O2lCQUV0Qzs7OztnQkFOUSxxQkFBcUI7Z0JBSjVCLGlCQUFpQjs7O3VCQVloQixTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt3QkFDbkMsS0FBSzs4QkFDTCxLQUFLOzhCQUVMLEtBQUs7NEJBS0wsTUFBTTsrQkFDTixLQUFLO2lDQUNMLEtBQUs7MkJBc0ZMLFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBcUQzQyx5QkFBQztDQUFBLEFBNUpELElBNEpDO1NBdkpZLGtCQUFrQjs7O0lBQzdCLGtDQUF3RDs7SUFDeEQsbUNBQWdDOztJQUNoQyx5Q0FBaUM7Ozs7O0lBRWpDLHlDQUF3RDs7SUFLeEQsdUNBQW1EOztJQUNuRCwwQ0FBa0M7O0lBQ2xDLDRDQUF3Qjs7SUFrSXhCLHFDQUFnQjs7SUFDaEIsdUNBQWlCOztJQUNqQixxQ0FBZ0I7O0lBeklkLGdDQUFnQzs7Ozs7SUFDaEMsaUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3RlcEl0ZW0sIFN0ZXBwZXJPcmllbnRhdGlvbiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBDb21tb25GdW5jdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtc3RlcHBlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSU1N0ZXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJtZW51XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBtZW51ITogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKSBzdGVwczogU3RlcEl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGN1cnJlbnRTdGVwOiBudW1iZXIgPSAwO1xyXG4gIC8qKiBMYXlvdXQgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgKGRlZmF1bHQpIG9yICd2ZXJ0aWNhbCcgKi9cclxuICBASW5wdXQoKSBvcmllbnRhdGlvbjogU3RlcHBlck9yaWVudGF0aW9uID0gXCJob3Jpem9udGFsXCI7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2Y6IENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuICBAT3V0cHV0KCkgc3RlcENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxTdGVwSXRlbT4oKTtcclxuICBASW5wdXQoKSB1bmxvY2tlZFN0ZXA6IG51bWJlciA9IDA7IC8v5bey6Kej6ZSB55qE5pyA5aSn5q2l6aqkXHJcbiAgQElucHV0KCkgY29udGFpbmVyUmVmSWQ7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwKSA9PiB7XHJcbiAgICAgIHN0ZXAuZGlzcGxheVRpdGxlID0gdGhpcy5jZi5zZXRNaWRkbGVFbGxpcHNpcyhzdGVwLmxhYmVsLCAxMzIsIDEyKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zeW5jVW5sb2NrZWRTdGVwKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQnRuU2hvdyh0cnVlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1tcImN1cnJlbnRTdGVwXCJdICYmICFjaGFuZ2VzW1wiY3VycmVudFN0ZXBcIl0uZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgdGhpcy5zeW5jVW5sb2NrZWRTdGVwKCk7XHJcbiAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgJiZcclxuICAgICAgKChjaGFuZ2VzW1wic3RlcHNcIl0gJiYgY2hhbmdlc1tcInN0ZXBzXCJdLmN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgICBjaGFuZ2VzW1wiY3VycmVudFN0ZXBcIl0pXHJcbiAgICApIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrQnRuU2hvdygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIOWQjOatpXVubG9ja2VkU3RlcOeahOacgOWkp+WAvFxyXG4gIHByaXZhdGUgc3luY1VubG9ja2VkU3RlcCgpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwID4gdGhpcy51bmxvY2tlZFN0ZXApIHtcclxuICAgICAgdGhpcy51bmxvY2tlZFN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdGVwQ2xpY2soc3RlcDogU3RlcEl0ZW0sIGluZGV4PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoc3RlcC5zdGVwIDw9IHRoaXMudW5sb2NrZWRTdGVwKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFN0ZXAgPSBzdGVwLnN0ZXA7XHJcbiAgICAgIHRoaXMuc3RlcENsaWNrLmVtaXQoc3RlcCk7XHJcbiAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb1N0ZXAoaW5kZXgpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzY3JvbGxUb1N0ZXAoaW5kZXg/OiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5tZW51IHx8ICF0aGlzLm1lbnUubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG1lbnVFbCA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgaXRlbXMgPSBtZW51RWwucXVlcnlTZWxlY3RvckFsbChcIi5zdGVwXCIpO1xyXG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPVxyXG4gICAgICB0eXBlb2YgaW5kZXggPT09IFwibnVtYmVyXCJcclxuICAgICAgICA/IGluZGV4XHJcbiAgICAgICAgOiB0aGlzLnN0ZXBzLmZpbmRJbmRleCgocykgPT4gcy5zdGVwID09PSB0aGlzLmN1cnJlbnRTdGVwKTtcclxuXHJcbiAgICBpZiAodGFyZ2V0SW5kZXggPCAwIHx8IHRhcmdldEluZGV4ID49IGl0ZW1zLmxlbmd0aCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEVsID0gaXRlbXNbdGFyZ2V0SW5kZXhdIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIC8v6I635Y+W55u45a+55L2N572uXHJcbiAgICBjb25zdCBjb250YWluZXJSZWN0ID0gbWVudUVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSB0YXJnZXRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAvLyDorqHnrpflhYPntKDnm7jlr7nkuo7lrrnlmajnmoTkvY3nva5cclxuICAgIGNvbnN0IGVsZW1lbnRSZWxhdGl2ZUxlZnQgPVxyXG4gICAgICBlbGVtZW50UmVjdC5sZWZ0IC0gY29udGFpbmVyUmVjdC5sZWZ0ICsgbWVudUVsLnNjcm9sbExlZnQ7XHJcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBlbGVtZW50UmVjdC53aWR0aDtcclxuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gbWVudUVsLmNsaWVudFdpZHRoO1xyXG5cclxuICAgIC8vIOiuoeeul+WFg+e0oOS4reW/g+eCueebuOWvueS6juWuueWZqOeahOS9jee9rlxyXG4gICAgY29uc3QgZWxlbWVudENlbnRlciA9IGVsZW1lbnRSZWxhdGl2ZUxlZnQgKyBlbGVtZW50V2lkdGggLyAyO1xyXG5cclxuICAgIC8vIOebruagh+a7muWKqOS9jee9ru+8muiuqeWFg+e0oOS4reW/g+WHuueOsOWcqOWPr+inhuWMuuWfn+S4reW/g1xyXG4gICAgY29uc3Qgc2Nyb2xsVGFyZ2V0ID0gZWxlbWVudENlbnRlciAtIGNvbnRhaW5lcldpZHRoIC8gMjtcclxuXHJcbiAgICAvLyDpmZDliLblnKjmnInmlYjmu5rliqjojIPlm7TlhoVcclxuICAgIGNvbnN0IG1heFNjcm9sbCA9IE1hdGgubWF4KDAsIG1lbnVFbC5zY3JvbGxXaWR0aCAtIGNvbnRhaW5lcldpZHRoKTtcclxuICAgIGNvbnN0IGZpbmFsVGFyZ2V0ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oc2Nyb2xsVGFyZ2V0LCBtYXhTY3JvbGwpKTtcclxuXHJcbiAgICBtZW51RWwuc2Nyb2xsVG8oeyBsZWZ0OiBmaW5hbFRhcmdldCwgYmVoYXZpb3I6IFwic21vb3RoXCIgfSk7XHJcbiAgICB0aGlzLm9uU2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgb25SZXNpemUoX2V2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09IFwiaG9yaXpvbnRhbFwiKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tCdG5TaG93KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0J0blNob3coaW5pdD86IGJvb2xlYW4pIHtcclxuICAgIGlmICghdGhpcy5tZW51IHx8ICF0aGlzLm1lbnUubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IG1lbnVFbCA9IHRoaXMubWVudS5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgeyBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGggfSA9IG1lbnVFbDtcclxuXHJcbiAgICAvLyDliKTmlq3mmK/lkKbpnIDopoHmmL7npLrmu5rliqjmjInpkq5cclxuICAgIGxldCB0aHJlc2hvbGQgPSBjbGllbnRXaWR0aDtcclxuICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZklkKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29udGFpbmVyUmVmSWQpO1xyXG4gICAgICBpZiAoY29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgdGhyZXNob2xkID0gTWF0aC5tYXgoY29udGFpbmVyUmVmLm9mZnNldFdpZHRoICogMC44LCA0MDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93QnRuID0gc2Nyb2xsV2lkdGggPiB0aHJlc2hvbGQ7XHJcblxyXG4gICAgLy8g5Yid5aeL5YyW5pe25rua5Yqo5Yiw5b2T5YmN5q2l6aqkXHJcbiAgICBpZiAoaW5pdCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2Nyb2xsVG9TdGVwKCksIDApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25TY3JvbGwoKTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuICBzY3JvbGxMZWZ0KCkge1xyXG4gICAgY29uc3QgeyBzY3JvbGxMZWZ0IH0gPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IGRpcyA9IHNjcm9sbExlZnQgLyAxMDAgPCAyID8gc2Nyb2xsTGVmdCArIDEwIDogMTAwO1xyXG4gICAgdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsQnkoeyBsZWZ0OiAtZGlzLCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KTtcclxuICB9XHJcbiAgc2Nyb2xsUmlnaHQoKSB7XHJcbiAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCB9ID0gdGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCByZXN0ID0gc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCAtIHNjcm9sbExlZnQ7XHJcbiAgICBjb25zdCBkaXMgPSByZXN0IC8gMTAwIDwgMiA/IHJlc3QgKyAxMCA6IDEwMDtcclxuICAgIHRoaXMubWVudS5uYXRpdmVFbGVtZW50LnNjcm9sbEJ5KHsgbGVmdDogZGlzLCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KTtcclxuICB9XHJcblxyXG4gIHNob3dCdG4gPSBmYWxzZTtcclxuICBpc0F0U3RhcnQgPSB0cnVlO1xyXG4gIGlzQXRFbmQgPSBmYWxzZTtcclxuICBvblNjcm9sbCgpIHtcclxuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGgsIGNsaWVudFdpZHRoIH0gPSB0aGlzLm1lbnUubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuaXNBdFN0YXJ0ID0gc2Nyb2xsTGVmdCA8PSAxO1xyXG4gICAgdGhpcy5pc0F0RW5kID0gc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoID49IHNjcm9sbFdpZHRoIC0gMTtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Generated from: lib/service/drawer.service.ts
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
|
+
import * as tslib_1 from "tslib";
|
|
6
7
|
import { Injectable } from "@angular/core";
|
|
7
8
|
import { NavigationEnd, Router } from "@angular/router";
|
|
8
9
|
import { filter } from "rxjs/operators";
|
|
@@ -106,9 +107,7 @@ var DrawerService = /** @class */ (function () {
|
|
|
106
107
|
if (data === void 0) { data = {}; }
|
|
107
108
|
/** @type {?} */
|
|
108
109
|
var drawer = this.uniqueDrawerComponent;
|
|
109
|
-
if (!this.checkChange("show", { component: component, config: config, data: data }) ||
|
|
110
|
-
!drawer ||
|
|
111
|
-
drawer.isOpened) {
|
|
110
|
+
if (!this.checkChange("show", { component: component, config: config, data: data }) || !drawer) {
|
|
112
111
|
return {
|
|
113
112
|
instance: null,
|
|
114
113
|
result: null,
|
|
@@ -123,14 +122,29 @@ var DrawerService = /** @class */ (function () {
|
|
|
123
122
|
function (resolve) {
|
|
124
123
|
/** @type {?} */
|
|
125
124
|
var cacheKey = _this.cacheKey;
|
|
126
|
-
|
|
125
|
+
/** @type {?} */
|
|
126
|
+
var resolves = _this.resultPromiseResolveMap.get(cacheKey) || [];
|
|
127
|
+
/** @type {?} */
|
|
128
|
+
var resolveFn = (/**
|
|
127
129
|
* @param {?} value
|
|
128
130
|
* @return {?}
|
|
129
131
|
*/
|
|
130
132
|
function (value) {
|
|
131
133
|
resolve(value);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
/** @type {?} */
|
|
135
|
+
var caches = _this.resultPromiseResolveMap.get(cacheKey) || [];
|
|
136
|
+
/** @type {?} */
|
|
137
|
+
var index = caches.findIndex((/**
|
|
138
|
+
* @param {?} cache
|
|
139
|
+
* @return {?}
|
|
140
|
+
*/
|
|
141
|
+
function (cache) { return cache === resolveFn; }));
|
|
142
|
+
caches.splice(index, 1);
|
|
143
|
+
if (index === 0) {
|
|
144
|
+
_this.resultPromiseResolveMap.delete(cacheKey);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
_this.resultPromiseResolveMap.set(cacheKey, tslib_1.__spread(resolves, [resolveFn]));
|
|
134
148
|
})),
|
|
135
149
|
};
|
|
136
150
|
};
|
|
@@ -144,7 +158,9 @@ var DrawerService = /** @class */ (function () {
|
|
|
144
158
|
/** @type {?} */
|
|
145
159
|
var drawer = this.uniqueDrawerComponent;
|
|
146
160
|
/** @type {?} */
|
|
147
|
-
var
|
|
161
|
+
var resolves = this.resultPromiseResolveMap.get(this.cacheKey) || [];
|
|
162
|
+
/** @type {?} */
|
|
163
|
+
var resolve = resolves.slice(-1)[0];
|
|
148
164
|
if (resolve && this.checkChange("hide")) {
|
|
149
165
|
resolve({ type: "hide" });
|
|
150
166
|
drawer && drawer.back();
|
|
@@ -162,7 +178,9 @@ var DrawerService = /** @class */ (function () {
|
|
|
162
178
|
/** @type {?} */
|
|
163
179
|
var drawer = this.uniqueDrawerComponent;
|
|
164
180
|
/** @type {?} */
|
|
165
|
-
var
|
|
181
|
+
var resolves = this.resultPromiseResolveMap.get(this.cacheKey) || [];
|
|
182
|
+
/** @type {?} */
|
|
183
|
+
var resolve = resolves.slice(-1)[0];
|
|
166
184
|
if (resolve && this.checkChange("complete", { data: data })) {
|
|
167
185
|
resolve({ type: "complete", data: data });
|
|
168
186
|
drawer && drawer.back();
|
|
@@ -192,7 +210,7 @@ var DrawerService = /** @class */ (function () {
|
|
|
192
210
|
function (cacheKey) {
|
|
193
211
|
/** @type {?} */
|
|
194
212
|
var drawer = this.uniqueDrawerComponent;
|
|
195
|
-
drawer && drawer.
|
|
213
|
+
drawer && drawer.deleteAllCache(cacheKey);
|
|
196
214
|
this.resultPromiseResolveMap.delete(cacheKey);
|
|
197
215
|
};
|
|
198
216
|
/**
|
|
@@ -281,4 +299,4 @@ if (false) {
|
|
|
281
299
|
*/
|
|
282
300
|
DrawerService.prototype.router;
|
|
283
301
|
}
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBV3hDLE1BQU0sS0FBTyxtQkFBbUIsR0FBMkI7SUFDekQsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsT0FBTztDQUNkO0FBZUQ7SUFVRSx1QkFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFMMUIsNEJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7UUFHbEUsb0JBQWUsR0FBOEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUUxQixDQUFDO0lBRXRDLHNCQUFJLG1DQUFROzs7O1FBQVo7WUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3pCLENBQUM7OztPQUFBOzs7O0lBRUQsbUNBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFRCwwQ0FBa0I7OztJQUFsQjtRQUFBLGlCQU9DO1FBTkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN6QyxJQUFJLENBQUMsTUFBTTs7OztRQUFDLFVBQUMsS0FBSyxJQUFLLE9BQUEsS0FBSyxZQUFZLGFBQWEsRUFBOUIsQ0FBOEIsRUFBQyxDQUFDO2FBQ3ZELFNBQVM7OztRQUFDOztnQkFDSCxNQUFNLEdBQUcsS0FBSSxDQUFDLHFCQUFxQjtZQUN6QyxNQUFNLElBQUksTUFBTSxDQUFDLGFBQWEs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QyxnREFBMEU7Ozs7O0lBRTFFLDJDQUF5Qzs7Ozs7SUFDekMsd0NBQStEOzs7OztJQUVuRCwrQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vbGF5b3V0L2RyYXdlci9pbmRleC5jb21wb25lbnRcIjtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNvbmZpZyA9IHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nO1xyXG4gIG1vZGU/OiBcIm91dGVyXCIgfCBcImlubmVyXCI7XHJcbiAgdG9wPzogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3ZXJDb25maWc6IFJlYWRvbmx5PERyYXdlckNvbmZpZz4gPSB7XHJcbiAgdGl0bGU6IFwiVGl0bGVcIixcclxuICBtb2RlOiBcImlubmVyXCIsXHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEcmF3ZXJTaG93SW5zdGFuY2U8VD4gPSB7XHJcbiAgaW5zdGFuY2U6IFQ7XHJcbiAgcmVzdWx0OiBQcm9taXNlPHsgdHlwZTogXCJjb21wbGV0ZVwiIHwgXCJoaWRlXCI7IGRhdGE/OiBhbnkgfT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEcmF3ZXJDaGFuZ2VFdmVudCA9IHtcclxuICB0eXBlOiBcInNob3dcIiB8IFwiaGlkZVwiIHwgXCJjb21wbGV0ZVwiO1xyXG4gIGNhbmNlbDogKCkgPT4gdm9pZDtcclxuICBkZXRhaWw6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEcmF3ZXJDaGFuZ2VMaXN0ZW5lciA9IChldmVudDogRHJhd2VyQ2hhbmdlRXZlbnQpID0+IHZvaWQ7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuaXF1ZURyYXdlckNvbXBvbmVudDogRHJhd2VyQ29tcG9uZW50O1xyXG4gIHByaXZhdGUgcmVzdWx0UHJvbWlzZVJlc29sdmVNYXAgPSBuZXcgTWFwPHN0cmluZywgKHZhbHVlOiBhbnkpID0+IHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBMaXN0ZW5DaGFuZ2VDYnM6IFNldDxEcmF3ZXJDaGFuZ2VMaXN0ZW5lcj4gPSBuZXcgU2V0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIGdldCBjYWNoZUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmw7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlRHJhd2VyKCk7XHJcbiAgfVxyXG5cclxuICBsaXN0ZW5Sb3V0ZXJDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgICAgICBkcmF3ZXIgJiYgZHJhd2VyLm9uUm91dGVDaGFuZ2UoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXREcmF3ZXIoY29tcG9uZW50OiBEcmF3ZXJDb21wb25lbnQpIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnJlbW92ZURyYXdlcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgICB0aGlzLmxpc3RlblJvdXRlckNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHJhd2VyKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24gJiYgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHNob3c8VD4oXHJcbiAgICBjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsXHJcbiAgICBjb25maWc6IERyYXdlckNvbmZpZyxcclxuICAgIGRhdGEgPSB7fVxyXG4gICk6IERyYXdlclNob3dJbnN0YW5jZTxUPiB7XHJcbiAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgIGlmIChcclxuICAgICAgIXRoaXMuY2hlY2tDaGFuZ2UoXCJzaG93XCIsIHsgY29tcG9uZW50LCBjb25maWcsIGRhdGEgfSkgfHxcclxuICAgICAgIWRyYXdlciB8fFxyXG4gICAgICBkcmF3ZXIuaXNPcGVuZWRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGluc3RhbmNlOiBudWxsLFxyXG4gICAgICAgIHJlc3VsdDogbnVsbCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGluc3RhbmNlOiBkcmF3ZXIuc2hvdyhjb21wb25lbnQsIGNvbmZpZywgZGF0YSksXHJcbiAgICAgIHJlc3VsdDogbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjb25zdCBjYWNoZUtleSA9IHRoaXMuY2FjaGVLZXk7XHJcbiAgICAgICAgdGhpcy5yZXN1bHRQcm9taXNlUmVzb2x2ZU1hcC5zZXQoY2FjaGVLZXksICh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgIGNvbnN0IHJlc29sdmUgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldCh0aGlzLmNhY2hlS2V5KTtcclxuICAgIGlmIChyZXNvbHZlICYmIHRoaXMuY2hlY2tDaGFuZ2UoXCJoaWRlXCIpKSB7XHJcbiAgICAgIHJlc29sdmUoeyB0eXBlOiBcImhpZGVcIiB9KTtcclxuICAgICAgZHJhd2VyICYmIGRyYXdlci5iYWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wbGV0ZShkYXRhPzogYW55KSB7XHJcbiAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgIGNvbnN0IHJlc29sdmUgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldCh0aGlzLmNhY2hlS2V5KTtcclxuICAgIGlmIChyZXNvbHZlICYmIHRoaXMuY2hlY2tDaGFuZ2UoXCJjb21wbGV0ZVwiLCB7IGRhdGEgfSkpIHtcclxuICAgICAgcmVzb2x2ZSh7IHR5cGU6IFwiY29tcGxldGVcIiwgZGF0YSB9KTtcclxuICAgICAgZHJhd2VyICYmIGRyYXdlci5iYWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudC5zZXRDb25maWcoY29uZmlnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRyYXdlciA9IHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50O1xyXG4gICAgZHJhd2VyICYmIGRyYXdlci5kZWxldGVDYWNoZShjYWNoZUtleSk7XHJcbiAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShjYWxsYmFjazogRHJhd2VyQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgIHRoaXMuTGlzdGVuQ2hhbmdlQ2JzLmFkZChjYWxsYmFjayk7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB0aGlzLkxpc3RlbkNoYW5nZUNicy5kZWxldGUoY2FsbGJhY2spO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tDaGFuZ2UoXHJcbiAgICB0eXBlOiBEcmF3ZXJDaGFuZ2VFdmVudFtcInR5cGVcIl0sXHJcbiAgICBkZXRhaWw6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxyXG4gICkge1xyXG4gICAgbGV0IGNhbmNlbCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZXZlbnQgPSB7IHR5cGUsIGNhbmNlbDogKCkgPT4gKGNhbmNlbCA9IHRydWUpLCBkZXRhaWwgfTtcclxuICAgIHRoaXMuTGlzdGVuQ2hhbmdlQ2JzLmZvckVhY2goKGNiKSA9PiBjYihldmVudCkpO1xyXG4gICAgcmV0dXJuICFjYW5jZWw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVd4QyxNQUFNLEtBQU8sbUJBQW1CLEdBQTJCO0lBQ3pELEtBQUssRUFBRSxPQUFPO0lBQ2QsSUFBSSxFQUFFLE9BQU87Q0FDZDtBQWVEO0lBVUUsdUJBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTDFCLDRCQUF1QixHQUFHLElBQUksR0FBRyxFQUFvQyxDQUFDO1FBR3RFLG9CQUFlLEdBQThCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFMUIsQ0FBQztJQUV0QyxzQkFBSSxtQ0FBUTs7OztRQUFaO1lBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUN6QixDQUFDOzs7T0FBQTs7OztJQUVELG1DQUFXOzs7SUFBWDtRQUNFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsMENBQWtCOzs7SUFBbEI7UUFBQSxpQkFPQztRQU5DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDekMsSUFBSSxDQUFDLE1BQU07Ozs7UUFBQyxVQUFDLEtBQUssSUFBSyxPQUFBLEtBQUssWUFBWSxhQUFhLEVBQTlCLENBQThCLEVBQUMsQ0FBQzthQUN2RCxTQUFTOzs7UUFBQzs7Z0JBQ0gsTUFBTSxHQUFHLEtBQUksQ0FBQyxxQkFBcUI7WUFDekMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxhQUFh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LENBQUMsRUFBQztJQUNKLENBQUM7Ozs7Ozs7SUFFTyxtQ0FBVzs7Ozs7O0lBQW5CLFVBQ0UsSUFBK0IsRUFDL0IsTUFBZ0M7UUFBaEMsdUJBQUEsRUFBQSxXQUFnQzs7WUFFNUIsTUFBTSxHQUFHLEtBQUs7O1lBQ1osS0FBSyxHQUFHLEVBQUUsSUFBSSxNQUFBLEVBQUUsTUFBTTs7O1lBQUUsY0FBTSxPQUFBLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFmLENBQWUsQ0FBQSxFQUFFLE1BQU0sUUFBQSxFQUFFO1FBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTzs7OztRQUFDLFVBQUMsRUFBRSxJQUFLLE9BQUEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFULENBQVMsRUFBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDakIsQ0FBQzs7Z0JBNUhGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBaEN1QixNQUFNOzs7d0JBRDlCO0NBNEpDLEFBN0hELElBNkhDO1NBMUhZLGFBQWE7Ozs7OztJQUN4Qiw4Q0FBK0M7Ozs7O0lBQy9DLGdEQUE4RTs7Ozs7SUFFOUUsMkNBQXlDOzs7OztJQUN6Qyx3Q0FBK0Q7Ozs7O0lBRW5ELCtCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IERyYXdlckNvbXBvbmVudCB9IGZyb20gXCIuLi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJhd2VyQ29uZmlnID0ge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgc3ViVGl0bGU/OiBzdHJpbmc7XHJcbiAgbW9kZT86IFwib3V0ZXJcIiB8IFwiaW5uZXJcIjtcclxuICB0b3A/OiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgRGVmYXVsdERyYXdlckNvbmZpZzogUmVhZG9ubHk8RHJhd2VyQ29uZmlnPiA9IHtcclxuICB0aXRsZTogXCJUaXRsZVwiLFxyXG4gIG1vZGU6IFwiaW5uZXJcIixcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlclNob3dJbnN0YW5jZTxUPiA9IHtcclxuICBpbnN0YW5jZTogVDtcclxuICByZXN1bHQ6IFByb21pc2U8eyB0eXBlOiBcImNvbXBsZXRlXCIgfCBcImhpZGVcIjsgZGF0YT86IGFueSB9PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNoYW5nZUV2ZW50ID0ge1xyXG4gIHR5cGU6IFwic2hvd1wiIHwgXCJoaWRlXCIgfCBcImNvbXBsZXRlXCI7XHJcbiAgY2FuY2VsOiAoKSA9PiB2b2lkO1xyXG4gIGRldGFpbDogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNoYW5nZUxpc3RlbmVyID0gKGV2ZW50OiBEcmF3ZXJDaGFuZ2VFdmVudCkgPT4gdm9pZDtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5pcXVlRHJhd2VyQ29tcG9uZW50OiBEcmF3ZXJDb21wb25lbnQ7XHJcbiAgcHJpdmF0ZSByZXN1bHRQcm9taXNlUmVzb2x2ZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCAoKHZhbHVlOiBhbnkpID0+IHZvaWQpW10+KCk7XHJcblxyXG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBMaXN0ZW5DaGFuZ2VDYnM6IFNldDxEcmF3ZXJDaGFuZ2VMaXN0ZW5lcj4gPSBuZXcgU2V0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gIGdldCBjYWNoZUtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmw7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlRHJhd2VyKCk7XHJcbiAgfVxyXG5cclxuICBsaXN0ZW5Sb3V0ZXJDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBkcmF3ZXIgPSB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudDtcclxuICAgICAgICBkcmF3ZXIgJiYgZHJhd2VyLm9uUm91dGVDaGFuZ2UoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXREcmF3ZXIoY29tcG9uZW50OiBEcmF3ZXJDb21wb25lbnQpIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnJlbW92ZURyYXdlcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQgPSBjb21wb25lbnQ7XHJcbiAgICB0aGlzLmxpc3RlblJvdXRlckNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHJhd2VyKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24gJiYgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHNob3c8VD4oXHJcbiAgICBjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQsXHJcbiAgICBjb25maWc6IERyYXdlckNvbmZpZyxcclxuICAgIGRhdGEgPSB7fSxcclxuICApOiBEcmF3ZXJTaG93SW5zdGFuY2U8VD4ge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBpZiAoIXRoaXMuY2hlY2tDaGFuZ2UoXCJzaG93XCIsIHsgY29tcG9uZW50LCBjb25maWcsIGRhdGEgfSkgfHwgIWRyYXdlcikge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGluc3RhbmNlOiBudWxsLFxyXG4gICAgICAgIHJlc3VsdDogbnVsbCxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGluc3RhbmNlOiBkcmF3ZXIuc2hvdyhjb21wb25lbnQsIGNvbmZpZywgZGF0YSksXHJcbiAgICAgIHJlc3VsdDogbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgICBjb25zdCBjYWNoZUtleSA9IHRoaXMuY2FjaGVLZXk7XHJcbiAgICAgICAgY29uc3QgcmVzb2x2ZXMgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc29sdmVGbiA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBjYWNoZXMgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IGNhY2hlcy5maW5kSW5kZXgoKGNhY2hlKSA9PiBjYWNoZSA9PT0gcmVzb2x2ZUZuKTtcclxuICAgICAgICAgIGNhY2hlcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzdWx0UHJvbWlzZVJlc29sdmVNYXAuZGVsZXRlKGNhY2hlS2V5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLnNldChjYWNoZUtleSwgWy4uLnJlc29sdmVzLCByZXNvbHZlRm5dKTtcclxuICAgICAgfSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgaGlkZSgpIHtcclxuICAgIGNvbnN0IGRyYXdlciA9IHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50O1xyXG4gICAgY29uc3QgcmVzb2x2ZXMgPSB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmdldCh0aGlzLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IHJlc29sdmUgPSByZXNvbHZlcy5zbGljZSgtMSlbMF07XHJcbiAgICBpZiAocmVzb2x2ZSAmJiB0aGlzLmNoZWNrQ2hhbmdlKFwiaGlkZVwiKSkge1xyXG4gICAgICByZXNvbHZlKHsgdHlwZTogXCJoaWRlXCIgfSk7XHJcbiAgICAgIGRyYXdlciAmJiBkcmF3ZXIuYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcGxldGUoZGF0YT86IGFueSkge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBjb25zdCByZXNvbHZlcyA9IHRoaXMucmVzdWx0UHJvbWlzZVJlc29sdmVNYXAuZ2V0KHRoaXMuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgcmVzb2x2ZSA9IHJlc29sdmVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChyZXNvbHZlICYmIHRoaXMuY2hlY2tDaGFuZ2UoXCJjb21wbGV0ZVwiLCB7IGRhdGEgfSkpIHtcclxuICAgICAgcmVzb2x2ZSh7IHR5cGU6IFwiY29tcGxldGVcIiwgZGF0YSB9KTtcclxuICAgICAgZHJhd2VyICYmIGRyYXdlci5iYWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGlmICh0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudC5zZXRDb25maWcoY29uZmlnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGRyYXdlciA9IHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50O1xyXG4gICAgZHJhd2VyICYmIGRyYXdlci5kZWxldGVBbGxDYWNoZShjYWNoZUtleSk7XHJcbiAgICB0aGlzLnJlc3VsdFByb21pc2VSZXNvbHZlTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShjYWxsYmFjazogRHJhd2VyQ2hhbmdlTGlzdGVuZXIpIHtcclxuICAgIHRoaXMuTGlzdGVuQ2hhbmdlQ2JzLmFkZChjYWxsYmFjayk7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICB0aGlzLkxpc3RlbkNoYW5nZUNicy5kZWxldGUoY2FsbGJhY2spO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tDaGFuZ2UoXHJcbiAgICB0eXBlOiBEcmF3ZXJDaGFuZ2VFdmVudFtcInR5cGVcIl0sXHJcbiAgICBkZXRhaWw6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuICApIHtcclxuICAgIGxldCBjYW5jZWwgPSBmYWxzZTtcclxuICAgIGNvbnN0IGV2ZW50ID0geyB0eXBlLCBjYW5jZWw6ICgpID0+IChjYW5jZWwgPSB0cnVlKSwgZGV0YWlsIH07XHJcbiAgICB0aGlzLkxpc3RlbkNoYW5nZUNicy5mb3JFYWNoKChjYikgPT4gY2IoZXZlbnQpKTtcclxuICAgIHJldHVybiAhY2FuY2VsO1xyXG4gIH1cclxufVxyXG4iXX0=
|