@veloceapps/sdk 11.0.0-8 → 11.0.0-80
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/cms/cms.actions.d.ts +92 -29
- package/cms/components/element-renderer/element-renderer.component.d.ts +3 -10
- package/cms/components/preview/preview.component.d.ts +5 -6
- package/cms/components/preview/preview.types.d.ts +0 -4
- package/cms/services/element-context.service.d.ts +0 -1
- package/cms/types/common.types.d.ts +2 -0
- package/cms/types/index.d.ts +0 -1
- package/cms/utils/path.utils.d.ts +1 -2
- package/cms/vendor-map.d.ts +17 -40
- package/core/index.d.ts +1 -1
- package/core/modules/configuration/index.d.ts +3 -4
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +8 -19
- package/core/modules/configuration/services/configuration-state.service.d.ts +8 -8
- package/core/modules/configuration/services/configuration.service.d.ts +23 -47
- package/core/modules/configuration/services/test-mode-configuration.service.d.ts +23 -0
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -5
- package/core/modules/configuration/types/configuration.types.d.ts +4 -2
- package/core/modules/configuration/types/index.d.ts +2 -0
- package/core/modules/flow-configuration/index.d.ts +0 -3
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +11 -38
- package/core/operators/filter-successful-execute.operator.d.ts +3 -0
- package/core/operators/index.d.ts +1 -0
- package/core/services/catalog-products.service.d.ts +11 -0
- package/core/services/flow-info.service.d.ts +27 -12
- package/core/services/flow-state-configuration.service.d.ts +2 -8
- package/core/services/flow-state.service.d.ts +13 -22
- package/core/services/index.d.ts +3 -3
- package/core/services/integration.state.d.ts +1 -1
- package/core/services/product-images.service.d.ts +3 -3
- package/core/services/runtime-settings.service.d.ts +1 -1
- package/core/services/sales-transaction.service.d.ts +27 -0
- package/core/types/flow-customization.types.d.ts +2 -2
- package/core/types/flow-state.types.d.ts +2 -2
- package/core/types/index.d.ts +0 -1
- package/core/utils/index.d.ts +2 -2
- package/core/utils/transaction-item.utils.d.ts +7 -0
- package/core/utils/transaction-item.worker.d.ts +8 -0
- package/esm2020/cms/cms.actions.mjs +93 -71
- package/esm2020/cms/cms.default.mjs +2 -3
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +7 -64
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +3 -3
- package/esm2020/cms/components/preview/preview.component.mjs +19 -28
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/services/element-context.service.mjs +1 -1
- package/esm2020/cms/types/common.types.mjs +1 -1
- package/esm2020/cms/types/index.mjs +1 -2
- package/esm2020/cms/utils/element.utils.mjs +3 -3
- package/esm2020/cms/utils/elements-resolver.mjs +16 -5
- package/esm2020/cms/utils/path.utils.mjs +1 -10
- package/esm2020/cms/vendor-map.mjs +17 -18
- package/esm2020/core/core.module.mjs +7 -7
- package/esm2020/core/index.mjs +2 -2
- package/esm2020/core/modules/configuration/configuration.module.mjs +14 -4
- package/esm2020/core/modules/configuration/index.mjs +4 -5
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +16 -101
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +65 -77
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +109 -223
- package/esm2020/core/modules/configuration/services/test-mode-configuration.service.mjs +74 -0
- package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +1 -1
- package/esm2020/core/modules/configuration/types/configuration.types.mjs +1 -1
- package/esm2020/core/modules/configuration/types/index.mjs +3 -0
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +3 -4
- package/esm2020/core/modules/flow-configuration/index.mjs +1 -4
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +44 -128
- package/esm2020/core/operators/filter-successful-execute.operator.mjs +5 -0
- package/esm2020/core/operators/index.mjs +2 -0
- package/esm2020/core/services/catalog-products.service.mjs +25 -0
- package/esm2020/core/services/flow-info.service.mjs +82 -31
- package/esm2020/core/services/flow-state-configuration.service.mjs +10 -25
- package/esm2020/core/services/flow-state.service.mjs +60 -172
- package/esm2020/core/services/index.mjs +4 -4
- package/esm2020/core/services/integration.state.mjs +2 -2
- package/esm2020/core/services/product-images.service.mjs +8 -8
- package/esm2020/core/services/runtime-settings.service.mjs +3 -3
- package/esm2020/core/services/sales-transaction.service.mjs +62 -0
- package/esm2020/core/types/flow-customization.types.mjs +1 -1
- package/esm2020/core/types/flow-state.types.mjs +1 -1
- package/esm2020/core/types/index.mjs +1 -2
- package/esm2020/core/utils/index.mjs +3 -3
- package/esm2020/core/utils/transaction-item.utils.mjs +60 -0
- package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
- package/esm2020/src/components/flow-header/flow-header.component.mjs +8 -12
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +8 -12
- package/esm2020/src/flow-routing.module.mjs +12 -41
- package/esm2020/src/flow.component.mjs +5 -5
- package/esm2020/src/guards/flow.guard.mjs +13 -14
- package/esm2020/src/guards/product-unload.guard.mjs +7 -9
- package/esm2020/src/index.mjs +1 -3
- package/esm2020/src/pages/assets/assets.component.mjs +8 -9
- package/esm2020/src/pages/catalog/catalog.component.mjs +8 -9
- package/esm2020/src/pages/debug/debug.component.mjs +14 -23
- package/esm2020/src/pages/product/product.component.mjs +12 -89
- package/esm2020/src/pages/product/product.module.mjs +5 -5
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +5 -6
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +8 -9
- package/esm2020/src/resolvers/flow.resolver.mjs +10 -18
- package/esm2020/src/resolvers/pcm-model.resolver.mjs +12 -0
- package/esm2020/src/resolvers/sales-transaction.resolver.mjs +64 -0
- package/esm2020/src/resolvers/ui-definition.resolver.mjs +42 -0
- package/esm2020/src/services/flow-dialog.service.mjs +8 -8
- package/esm2020/src/services/flow-router.service.mjs +16 -33
- package/esm2020/src/services/flow.service.mjs +13 -54
- package/esm2020/src/types/index.mjs +2 -3
- package/esm2020/src/types/route.types.mjs +1 -1
- package/fesm2015/veloceapps-sdk-cms.mjs +162 -309
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +812 -1657
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +188 -801
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +158 -300
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +875 -1741
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +188 -795
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/flow-header/flow-header.component.d.ts +3 -3
- package/src/components/guided-selling/guided-selling.component.d.ts +3 -3
- package/src/flow-routing.module.d.ts +1 -2
- package/src/flow.component.d.ts +2 -2
- package/src/guards/product-unload.guard.d.ts +5 -6
- package/src/index.d.ts +0 -2
- package/src/pages/assets/assets.component.d.ts +3 -3
- package/src/pages/catalog/catalog.component.d.ts +3 -3
- package/src/pages/debug/debug.component.d.ts +2 -5
- package/src/pages/product/product.component.d.ts +5 -14
- package/src/pages/product/product.module.d.ts +1 -1
- package/src/pages/record-not-found/record-not-found.component.d.ts +2 -3
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +3 -3
- package/src/resolvers/flow.resolver.d.ts +5 -6
- package/src/resolvers/pcm-model.resolver.d.ts +3 -0
- package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
- package/src/resolvers/ui-definition.resolver.d.ts +3 -0
- package/src/services/flow-dialog.service.d.ts +5 -4
- package/src/services/flow-router.service.d.ts +4 -6
- package/src/services/flow.service.d.ts +2 -7
- package/src/types/index.d.ts +1 -2
- package/src/types/route.types.d.ts +0 -5
- package/cms/plugins/configuration.plugin.d.ts +0 -23
- package/cms/types/configuration.types.d.ts +0 -21
- package/core/modules/configuration/helpers.d.ts +0 -6
- package/core/modules/configuration/services/runtime-context.service.d.ts +0 -12
- package/core/modules/flow-configuration/services/flow-update.service.d.ts +0 -13
- package/core/modules/flow-configuration/types/update.types.d.ts +0 -12
- package/core/services/context.service.d.ts +0 -23
- package/core/services/quote-draft.service.d.ts +0 -50
- package/core/types/runtime.types.d.ts +0 -30
- package/core/utils/line-item.utils.d.ts +0 -25
- package/core/utils/line-item.worker.d.ts +0 -9
- package/esm2020/cms/plugins/configuration.plugin.mjs +0 -109
- package/esm2020/cms/types/configuration.types.mjs +0 -2
- package/esm2020/core/modules/configuration/helpers.mjs +0 -73
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +0 -45
- package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +0 -138
- package/esm2020/core/modules/flow-configuration/types/update.types.mjs +0 -2
- package/esm2020/core/services/context.service.mjs +0 -91
- package/esm2020/core/services/quote-draft.service.mjs +0 -192
- package/esm2020/core/types/runtime.types.mjs +0 -16
- package/esm2020/core/utils/line-item.utils.mjs +0 -187
- package/esm2020/core/utils/line-item.worker.mjs +0 -19
- package/esm2020/src/guards/context.guard.mjs +0 -91
- package/esm2020/src/guards/index.mjs +0 -2
- package/esm2020/src/pages/remote/remote.component.mjs +0 -342
- package/esm2020/src/pages/remote/remote.module.mjs +0 -20
- package/esm2020/src/pages/remote/remote.types.mjs +0 -2
- package/esm2020/src/resolvers/quote.resolver.mjs +0 -82
- package/esm2020/src/types/context-route.types.mjs +0 -2
- package/esm2020/src/types/metrics.types.mjs +0 -2
- package/esm2020/src/utils/flow.utils.mjs +0 -25
- package/esm2020/src/utils/index.mjs +0 -2
- package/src/guards/context.guard.d.ts +0 -19
- package/src/guards/index.d.ts +0 -1
- package/src/pages/remote/remote.component.d.ts +0 -46
- package/src/pages/remote/remote.module.d.ts +0 -10
- package/src/pages/remote/remote.types.d.ts +0 -4
- package/src/resolvers/quote.resolver.d.ts +0 -19
- package/src/types/context-route.types.d.ts +0 -5
- package/src/types/metrics.types.d.ts +0 -5
- package/src/utils/flow.utils.d.ts +0 -8
- package/src/utils/index.d.ts +0 -1
@@ -1,48 +1,34 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
2
2
|
import { ToastService, ToastType } from '@veloceapps/components';
|
3
|
-
import {
|
4
|
-
import { BehaviorSubject,
|
3
|
+
import { IntegrationState } from '@veloceapps/sdk/core';
|
4
|
+
import { BehaviorSubject, catchError, combineLatest, map, of, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
5
5
|
import { RuntimeService } from '../../modules/runtime/services/runtime.service';
|
6
6
|
import { IOProviderService } from '../../services/io-provider.service';
|
7
7
|
import { TemplatesService } from '../../services/templates.service';
|
8
8
|
import * as i0 from "@angular/core";
|
9
9
|
import * as i1 from "../../modules/runtime/services/runtime.service";
|
10
|
-
import * as i2 from "@veloceapps/
|
11
|
-
import * as i3 from "@veloceapps/
|
10
|
+
import * as i2 from "@veloceapps/components";
|
11
|
+
import * as i3 from "@veloceapps/sdk/core";
|
12
12
|
import * as i4 from "@angular/common";
|
13
13
|
import * as i5 from "../element-renderer/element-renderer.component";
|
14
14
|
export class PreviewComponent {
|
15
|
-
constructor(runtimeService,
|
15
|
+
constructor(runtimeService, toastService, integrationState) {
|
16
16
|
this.runtimeService = runtimeService;
|
17
|
-
this.configurationState = configurationState;
|
18
17
|
this.toastService = toastService;
|
19
18
|
this.integrationState = integrationState;
|
20
19
|
this.state$ = new BehaviorSubject({ loading: true, failure: false });
|
20
|
+
this.elements$ = new BehaviorSubject([]);
|
21
21
|
this.destroy$ = new Subject();
|
22
|
-
this.elements$ = combineLatest([this.state$, this.runtimeService.updated$.pipe(startWith(undefined))]).pipe(switchMap(([{ loading, failure }]) => {
|
23
|
-
if (loading || failure) {
|
24
|
-
return of([]);
|
25
|
-
}
|
26
|
-
const elements = this.runtimeService.applicationTree;
|
27
|
-
// If UI definition contains pages, return page by SelectedPageName
|
28
|
-
if (this.uiDefinition?.pages) {
|
29
|
-
return this.getPages$(elements);
|
30
|
-
}
|
31
|
-
return of(elements);
|
32
|
-
}));
|
33
22
|
}
|
34
23
|
ngOnInit() {
|
35
24
|
if (this.config?.clearStateOnInit) {
|
36
|
-
this.integrationState.
|
25
|
+
this.integrationState.reset();
|
37
26
|
}
|
38
27
|
this.startPreview();
|
39
28
|
}
|
40
29
|
ngOnDestroy() {
|
41
30
|
this.destroy$.next();
|
42
31
|
this.destroy$.complete();
|
43
|
-
if (!this.config?.persistConfigurationState) {
|
44
|
-
this.configurationState.cleanup();
|
45
|
-
}
|
46
32
|
this.runtimeService.clear();
|
47
33
|
}
|
48
34
|
trackBy(_, el) {
|
@@ -51,18 +37,23 @@ export class PreviewComponent {
|
|
51
37
|
startPreview() {
|
52
38
|
const customInit$ = this.config?.init$?.() ?? of(undefined);
|
53
39
|
customInit$
|
54
|
-
.pipe(switchMap(() => this.runtimeService.initialize$(this.uiDefinition, this.config)),
|
40
|
+
.pipe(switchMap(() => this.runtimeService.initialize$(this.uiDefinition, this.config)), switchMap(() => this.getElements$(this.runtimeService.applicationTree)), tap(elements => {
|
41
|
+
this.elements$.next(elements);
|
55
42
|
this.state$.next({ loading: false, failure: false });
|
56
|
-
}), catchError(error => {
|
43
|
+
}), switchMap(() => this.runtimeService.updated$), switchMap(() => this.getElements$(this.runtimeService.applicationTree)), tap(elements => this.elements$.next(elements)), catchError(error => {
|
57
44
|
console.error(error);
|
58
45
|
// we should show toast if initialization failed
|
59
46
|
this.toastService.add({ severity: ToastType.error, summary: error, sticky: true });
|
47
|
+
this.elements$.next([]);
|
60
48
|
this.state$.next({ loading: false, failure: true });
|
61
49
|
return of();
|
62
50
|
}), takeUntil(this.destroy$))
|
63
51
|
.subscribe();
|
64
52
|
}
|
65
|
-
|
53
|
+
getElements$(elements) {
|
54
|
+
if (!this.uiDefinition?.pages) {
|
55
|
+
return of(elements);
|
56
|
+
}
|
66
57
|
return combineLatest([this.runtimeService.selectedPageName$, this.runtimeService.selectedOverlayNames$]).pipe(map(([pageName, overlayNames]) => {
|
67
58
|
const page = elements.find(el => el.name === pageName);
|
68
59
|
const overlayName = overlayNames.at(-1);
|
@@ -71,14 +62,14 @@ export class PreviewComponent {
|
|
71
62
|
}));
|
72
63
|
}
|
73
64
|
}
|
74
|
-
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.RuntimeService }, { token: i2.
|
75
|
-
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PreviewComponent, selector: "vl-cms-preview", inputs: { uiDefinition: "uiDefinition", config: "config" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type:
|
65
|
+
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.RuntimeService }, { token: i2.ToastService }, { token: i3.IntegrationState }], target: i0.ɵɵFactoryTarget.Component });
|
66
|
+
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PreviewComponent, selector: "vl-cms-preview", inputs: { uiDefinition: "uiDefinition", config: "config" }, providers: [IOProviderService, TemplatesService], ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { kind: "component", type: i5.ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
|
76
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PreviewComponent, decorators: [{
|
77
68
|
type: Component,
|
78
69
|
args: [{ selector: 'vl-cms-preview', changeDetection: ChangeDetectionStrategy.OnPush, providers: [IOProviderService, TemplatesService], encapsulation: ViewEncapsulation.ShadowDom, template: "<ng-container *ngIf=\"state$ | async as state\">\n <vl-loader *ngIf=\"state.loading; else content\" [label]=\"'Loading UI'\"></vl-loader>\n\n <ng-template #content>\n <ng-container *ngIf=\"!state.failure\">\n <vl-cms-element-renderer\n *ngFor=\"let el of elements$ | async; trackBy: trackBy\"\n [meta]=\"el\"\n ></vl-cms-element-renderer>\n </ng-container>\n </ng-template>\n</ng-container>\n", styles: [":host{flex-grow:1;display:flex;flex-direction:column;height:100%}\n"] }]
|
79
|
-
}], ctorParameters: function () { return [{ type: i1.RuntimeService }, { type: i2.
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.RuntimeService }, { type: i2.ToastService }, { type: i3.IntegrationState }]; }, propDecorators: { uiDefinition: [{
|
80
71
|
type: Input
|
81
72
|
}], config: [{
|
82
73
|
type: Input
|
83
74
|
}] } });
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFDTCxlQUFlLEVBRWYsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUNILEVBQUUsRUFDRixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFrQnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBNkMsRUFDN0MsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBQzdDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7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QyxpQkFBaUIsQ0FBQyxTQUFTO3VNQUcxQixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU3RhdGVTZXJ2aWNlLCBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2R1bGVzL3J1bnRpbWUvc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuL3ByZXZpZXcudHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICBwdWJsaWMgZWxlbWVudHMkOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlJCwgdGhpcy5ydW50aW1lU2VydmljZS51cGRhdGVkJC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKV0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFt7IGxvYWRpbmcsIGZhaWx1cmUgfV0pID0+IHtcbiAgICAgICAgaWYgKGxvYWRpbmcgfHwgZmFpbHVyZSkge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlO1xuXG4gICAgICAgIC8vIElmIFVJIGRlZmluaXRpb24gY29udGFpbnMgcGFnZXMsIHJldHVybiBwYWdlIGJ5IFNlbGVjdGVkUGFnZU5hbWVcbiAgICAgICAgaWYgKHRoaXMudWlEZWZpbml0aW9uPy5wYWdlcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VzJChlbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YoZWxlbWVudHMpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmNsZWFyU3RhdGVPbkluaXQpIHtcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcmV2aWV3KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpZz8ucGVyc2lzdENvbmZpZ3VyYXRpb25TdGF0ZSkge1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3RhdGUuY2xlYW51cCgpO1xuICAgIH1cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeShfOiBudW1iZXIsIGVsOiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEge1xuICAgIHJldHVybiBlbDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQcmV2aWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IGN1c3RvbUluaXQkID0gdGhpcy5jb25maWc/LmluaXQkPy4oKSA/PyBvZih1bmRlZmluZWQpO1xuXG4gICAgY3VzdG9tSW5pdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXplJCh0aGlzLnVpRGVmaW5pdGlvbiwgdGhpcy5jb25maWcpKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyB3ZSBzaG91bGQgc2hvdyB0b2FzdCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciwgc3RpY2t5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGFBQWEsRUFDYixHQUFHLEVBRUgsRUFBRSxFQUNGLE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQWtCcEUsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUNVLGNBQThCLEVBQzlCLFlBQTBCLEVBQzFCLGdCQUFrQztRQUZsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJyQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxL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U3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlLCBUb2FzdFR5cGUgfSBmcm9tICdAdmVsb2NlYXBwcy9jb21wb25lbnRzJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgSU9Qcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4vcHJldmlldy50eXBlcyc7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGZhaWx1cmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNtcy1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtJT1Byb3ZpZGVyU2VydmljZSwgVGVtcGxhdGVzU2VydmljZV0sXG4gIC8vIHVzZSBzaGFkb3cgRE9NIHRvIHByZXZlbnQgVUkgZnJvbSBiZWluZyBhZmZlY3RlZCBieSBnbG9iYWwgc3R5bGVzXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcbn0pXG5leHBvcnQgY2xhc3MgUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZz86IENNU1ByZXZpZXdDb25maWc7XG5cbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gIHB1YmxpYyBlbGVtZW50cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVsZW1lbnRNZXRhZGF0YVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGludGVncmF0aW9uU3RhdGU6IEludGVncmF0aW9uU3RhdGUsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5jbGVhclN0YXRlT25Jbml0KSB7XG4gICAgICB0aGlzLmludGVncmF0aW9uU3RhdGUucmVzZXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0UHJldmlldygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2UuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5KF86IG51bWJlciwgZWw6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFByZXZpZXcoKTogdm9pZCB7XG4gICAgY29uc3QgY3VzdG9tSW5pdCQgPSB0aGlzLmNvbmZpZz8uaW5pdCQ/LigpID8/IG9mKHVuZGVmaW5lZCk7XG5cbiAgICBjdXN0b21Jbml0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmluaXRpYWxpemUkKHRoaXMudWlEZWZpbml0aW9uLCB0aGlzLmNvbmZpZykpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRFbGVtZW50cyQodGhpcy5ydW50aW1lU2VydmljZS5hcHBsaWNhdGlvblRyZWUpKSxcbiAgICAgICAgdGFwKGVsZW1lbnRzID0+IHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRzJC5uZXh0KGVsZW1lbnRzKTtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucnVudGltZVNlcnZpY2UudXBkYXRlZCQpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRFbGVtZW50cyQodGhpcy5ydW50aW1lU2VydmljZS5hcHBsaWNhdGlvblRyZWUpKSxcbiAgICAgICAgdGFwKGVsZW1lbnRzID0+IHRoaXMuZWxlbWVudHMkLm5leHQoZWxlbWVudHMpKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAvLyB3ZSBzaG91bGQgc2hvdyB0b2FzdCBpZiBpbml0aWFsaXphdGlvbiBmYWlsZWRcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciwgc3RpY2t5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgdGhpcy5lbGVtZW50cyQubmV4dChbXSk7XG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEVsZW1lbnRzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbj8ucGFnZXMpIHtcbiAgICAgIHJldHVybiBvZihlbGVtZW50cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENNU1ByZXZpZXdDb25maWcge1xuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIEludGVncmF0aW9uU3RhdGUgd2lsbCBiZSBjbGVhcmVkIG9uIGNvbXBvbmVudCBpbml0XG4gICAqL1xuICBjbGVhclN0YXRlT25Jbml0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgYWRkcyBhZGRpdGlvbmFsIGNvbXBvbmVudHMvcGx1Z2lucyBuZWVkZWQgZm9yIFVJQnVpbGRlclxuICAgKiAobGlrZSBlbGVtZW50IGhvdmVyL3NlbGVjdGlvbiBvciBEcmFnJkRyb3Agem9uZXMpXG4gICAqL1xuICB1aUJ1aWxkZXJNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgcmVuZGVycyBzZXR0aW5ncyBwYWdlIChlbGVtZW50IHdpdGggYHR5cGU6IENVU1RPTUlaQVRJT05fUEFHRWApXG4gICAqL1xuICBjdXN0b21pemF0aW9uTW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGV4ZWN1dGVkIGJlZm9yZSBzdGFydGluZyBhIHByZXZpZXdcbiAgICovXG4gIGluaXQkPzogKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPjtcbn1cbiJdfQ==
|
@@ -7,4 +7,4 @@ ElementContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
|
|
7
7
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ElementContextService, decorators: [{
|
8
8
|
type: Injectable
|
9
9
|
}] });
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvZWxlbWVudC1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi90eXBlcy9jb21tb24udHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxlbWVudENvbnRleHRTZXJ2aWNlIHtcbiAgcHVibGljIG1ldGFkYXRhPzogRWxlbWVudE1ldGFkYXRhO1xufVxuIl19
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL3R5cGVzL2NvbW1vbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL3BsdWdpbic7XG5pbXBvcnQgeyBQYWdlTGF5b3V0IH0gZnJvbSAnLi9sYXlvdXRzLnR5cGVzJztcbmltcG9ydCB7IFBhZ2VUeXBlIH0gZnJvbSAnLi9wYWdlcy50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEVMRU1FTlRfVFlQRSA9ICdDVVNUT01JWkFUSU9OX1BBR0UnIHwgJ0NVU1RPTScgfCAnQ09OVEFJTkVSJyB8ICdTRVJWSUNFJyB8ICdSRUZFUkVOQ0UnIHwgJ1BBR0UnIHwgJ1JFR0lPTic7XG5cbmV4cG9ydCB0eXBlIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uID0gUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50Q29uZmlnIHtcbiAgY29tcG9uZW50OiB0eXBlb2YgRW50aXR5O1xuICBwbHVnaW5zPzogKHR5cGVvZiBQbHVnaW4pW107XG4gIGRlZmF1bHRUZW1wbGF0ZT86IHN0cmluZztcbiAgc3VwcHJlc3NUZW1wbGF0ZT86IGJvb2xlYW47XG4gIHN1cHByZXNzU3R5bGVzPzogYm9vbGVhbjtcblxuICBidWlsZGVyPzoge1xuICAgIHN1cHByZXNzUmVtb3ZhYmxlPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50TW9kZWwge1xuICAvKipcbiAgICogRGVmaW5lcyBhIHBhdGggZm9yIGFuIGVsZW1lbnQgbW9kZWwuXG4gICAqIEl0J3MgY29tYmluZWQgd2l0aCBhIHBhdGggdG8gYSB0YXJnZXQgZWxlbWVudCBhbmQgYW4gb3V0cHV0IHByb3BlcnR5IG5hbWUuXG4gICAqXG4gICAqIElmIHRhcmdldCB2YWx1ZSBpcyBhbiBBcnJheSwgdGhlbiB0aGUgZWxlbWVudCB3aWxsIGJlIHJlcGVhdGVkIGBuYCB0aW1lcyBhbmQgZWFjaCBpbnN0YW5jZSB3aWxsIGdldCBpdCdzIG93biB2YWx1ZS5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqIC0gYC9Sb290L1NlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0c2BcbiAgICogLSBgLi4vLi4vU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKiAtIGBAU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzYFxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFRvIGJlIHJlbW92ZWQhISFcbiAgICogVXNlZCBvbmx5IHdoZW4gYFVJRGVmaW5pdGlvblR5cGUgPSBDT05GSUdVUkFUSU9OYC5cbiAgICovXG4gIGxpbmVJdGVtPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnREZWZhdWx0TWV0YWRhdGEge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IEVMRU1FTlRfVFlQRTtcbiAgLyoqXG4gICAqIE1ha2UgY29tcG9uZW50IHNoYXJlZFxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSAhPT0gUkVGRVJFTkNFYFxuICAgKi9cbiAgaXNTaGFyZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRWxlbWVudCBtb2R1bGUgbmFtZS4gTW9kdWxlIGlzIHVzZWQgZm9yIHF1aWNrIGFjY2VzcyBmcm9tIG90aGVyIGVsZW1lbnRzLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSB3ZSBoYXZlIGEgYERhdGFTZXJ2aWNlYCBlbGVtZW50LCBhbmQgd2Ugc2F5IGl0J3MgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGUuIFRoZW4gaXQgY2FuIGJlIGFjY2Vzc2VkIGluIG90aGVyIGVsZW1lbnRzIGBtb2RlbGAsIGBpbnB1dHNgIG9yIGBvdXRwdXRzYCBwcm9wZXJ0aWVzIHRoaXMgd2F5OiBgQFNlcnZpY2VzL0RhdGFTZXJ2aWNlYFxuICAgKlxuICAgKi9cbiAgbW9kdWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmaW5lcyBpbnB1dHMgb2YgdGhlIGVsZW1lbnQuIEFuIG9iamVjdCB3aGVyZSBga2V5YCBpcyB0aGUgbmFtZSBvZiB0aGUgaW5wdXQgYW5kIGB2YWx1ZWAgaXMgdGFyZ2V0IHBhdGhcbiAgICpcbiAgICogSWYgYHZhbHVlID09IG51bGxgLCB0aGVuIHRoZSBlbGVtZW50IGFjdHMgbGlrZSBhIHRhcmdldCAtIHdlIGV4cGVjdCBvdGhlciBlbGVtZW50IHRvIGNvbm5lY3QgdG8gaXQuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKlxuICAgKiAxLiBgcHJvZHVjdHM6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZSdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAyLiBgcHJvZHVjdHNMaXN0OiAnL1Jvb3QvU2VydmljZXMvRGF0YVNlcnZpY2UvOnByb2R1Y3RzJ2BcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBwcm9kdWN0c0xpc3RgIGlucHV0IHdoaWNoIHdpbGwgZ2V0IHRoZSBkYXRhIGZyb20gYHByb2R1Y3RzYCBvdXRwdXQgaW4gZGF0YXNlcnZpY2UgZWxlbWVudFxuICAgKlxuICAgKiAzLiBgcHJvZHVjdHNMaXN0OiAnQFNlcnZpY2VzL0RhdGFTZXJ2aWNlLzpwcm9kdWN0cydgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgcHJvZHVjdHNMaXN0YCBpbnB1dCB3aGljaCB3aWxsIGdldCB0aGUgZGF0YSBmcm9tIGBwcm9kdWN0c2Agb3V0cHV0IGluIGRhdGFzZXJ2aWNlIGVsZW1lbnQgd2hpY2ggaXMgZGVjbGFyZWQgaW4gYFNlcnZpY2VzYCBtb2R1bGVcbiAgICpcbiAgICogNC4gYG9uUHJvZHVjdFNlbGVjdDogbnVsbGBcbiAgICogVGhlIGVsZW1lbnQgd2lsbCBoYXZlIGBvblByb2R1Y3RTZWxlY3RgIGlucHV0LCBhbmQgdGhlIHNjcmlwdCBjb3VsZCBoYXZlIGEgbG9naWMgd2hpY2ggd2lsbCBsaXN0ZW4gb24gdGhlIGV2ZW50c1xuICAgKlxuICAgKiBSZWxhdGl2ZSBwYXRocyBhbGxvd2VkOlxuICAgKlxuICAgKiAtIGAuLmBcbiAgICogLSBgLi4vOnByb2R1Y3RzYFxuICAgKiAtIGAuLi8uLi9EYXRhU2VydmljZS86cHJvZHVjdHNgXG4gICAqXG4gICAqIElucHV0IHdoaWNoIG5hbWUgc3RhcnRzIHdpdGggJ0AnIGlzIGJlaW5nIGFkZGVkIHRvIHRoZSBlbGVtZW50IGFzIEFuZ3VsYXIgaW5wdXQgKHN1cHByZXNzaW5nICdAJyBzeW1ib2wpXG4gICAqL1xuICBpbnB1dHM/OiBEaWN0aW9uYXJ5PHN0cmluZyB8IG51bGw+O1xuICAvKipcbiAgICogRGVmaW5lcyBvdXRwdXRzIG9mIHRoZSBlbGVtZW50LiBBbiBvYmplY3Qgd2hlcmUgYGtleWAgaXMgdGhlIG5hbWUgb2YgdGhlIG91dHB1dCBhbmQgYHZhbHVlYCBpcyB0YXJnZXQgcGF0aFxuICAgKlxuICAgKiBJZiBgdmFsdWUgPT0gbnVsbGAsIHRoZW4gdGhlIGVsZW1lbnQgYWN0cyBsaWtlIGEgdGFyZ2V0IC0gd2UgZXhwZWN0IG90aGVyIGVsZW1lbnQgdG8gY29ubmVjdCB0byBpdC5cbiAgICpcbiAgICogRXhhbXBsZXM6XG4gICAqXG4gICAqIDEuIGBvblByb2R1Y3RTZWxlY3Q6ICcvUm9vdC9TZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFRoZSBlbGVtZW50IHdpbGwgaGF2ZSBgb25Qcm9kdWN0U2VsZWN0YCBvdXRwdXQsIHdoaWNoIHdpbGwgZW1pdCBldmVudHMgdG8gdGhlIGBkYXRhc2VydmljZWAgZWxlbWVudCBgaGFuZGxlUHJvZHVjdFNlbGVjdGAgaW5wdXRcbiAgICpcbiAgICogMi4gYG9uUHJvZHVjdFNlbGVjdDogJ0BTZXJ2aWNlcy9EYXRhU2VydmljZS86aGFuZGxlUHJvZHVjdFNlbGVjdCdgXG4gICAqIFNhbWUgb3V0cHV0IGJ1dCBhY2Nlc3NpbmcgZGF0YXNlcnZpY2UgYnkgdGhlIFNlcnZpY2UgbW9kdWxlXG4gICAqXG4gICAqICogT3V0cHV0IHdoaWNoIG5hbWUgc3RhcnRzIHdpdGggJ0AnIGlzIGJlaW5nIGFkZGVkIHRvIHRoZSBlbGVtZW50IGFzIEFuZ3VsYXIgb3V0cHV0IChzdXBwcmVzc2luZyAnQCcgc3ltYm9sKVxuICAgKi9cbiAgb3V0cHV0cz86IERpY3Rpb25hcnk8c3RyaW5nIHwgbnVsbD47XG4gIG1vZGVsPzogRWxlbWVudE1vZGVsO1xuICAvKipcbiAgICogRGVmaW5lcyBhIHNoYXJlZCBjb21wb25lbnQgbmFtZSB0byB1c2UgYXMgYSByZWZlcmVuY2VcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFJFRkVSRU5DRWBcbiAgICovXG4gIHJlZmVyZW5jZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIENvbnRhaW5zIHN0eWxlcyBjb25maWd1cmFibGUgZnJvbSBVSSBidWlsZGVyXG4gICAqL1xuICBjb25maWd1cmVkU3R5bGVzPzogRWxlbWVudFN0eWxlRGVjbGFyYXRpb247XG4gIC8qKlxuICAgKiBQYWdlIGxheW91dFxuICAgKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBgdHlwZSA9PT0gUEFHRWBcbiAgICovXG4gIGxheW91dD86IFBhZ2VMYXlvdXQ7XG4gIC8qKlxuICAgKiBQYWdlIFR5cGVcbiAgICpcbiAgICogVXNlZCBvbmx5IHdoZW4gYHR5cGUgPT09IFBBR0VgXG4gICAqL1xuICBwYWdlVHlwZT86IFBhZ2VUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVsZW1lbnRNZXRhZGF0YSBleHRlbmRzIE9taXQ8RWxlbWVudERlZmF1bHRNZXRhZGF0YSwgJ2NoaWxkcmVuJz4ge1xuICBwYXRoOiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXTtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHN0eWxlcz86IHN0cmluZztcbiAgc2NyaXB0Pzogc3RyaW5nO1xuICBtZXRhZGF0YT86IHN0cmluZztcbn1cbiJdfQ==
|
@@ -1,8 +1,7 @@
|
|
1
1
|
export * from '../modules/runtime/types/compilation.types';
|
2
2
|
export * from './common.types';
|
3
|
-
export * from './configuration.types';
|
4
3
|
export * from './elements.types';
|
5
4
|
export * from './layouts.types';
|
6
5
|
export * from './pages.types';
|
7
6
|
export * from './path.types';
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4uL21vZHVsZXMvcnVudGltZS90eXBlcy9jb21waWxhdGlvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnRzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0cy50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VzLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC50eXBlcyc7XG4iXX0=
|
@@ -59,8 +59,8 @@ export const metadataToElement = (metadata, recursive = true) => {
|
|
59
59
|
export const normalizeElementMetadata = (elementMetadata) => {
|
60
60
|
const metadata = { ...elementMetadata };
|
61
61
|
// model
|
62
|
-
const {
|
63
|
-
const model =
|
62
|
+
const { path } = metadata.model ?? {};
|
63
|
+
const model = path ? { path } : undefined;
|
64
64
|
if (model) {
|
65
65
|
metadata.model = model;
|
66
66
|
}
|
@@ -179,4 +179,4 @@ export function getElementAngularIOs(names) {
|
|
179
179
|
return trunk;
|
180
180
|
}, []);
|
181
181
|
}
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFO0lBQ3ZGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5DLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1B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QU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFlO0lBQ2xELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQWUsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM1QyxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJRWxlbWVudCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgZmxhdHRlbiwgb21pdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgSU9QbHVnaW4gfSBmcm9tICcuLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBFbGVtZW50Q29uZmlnLCBFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRNb2RlbCwgRUxFTUVOVF9UWVBFIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXRvYlNhZmUsIGJ0b2FTYWZlIH0gZnJvbSAnLi9lbmNvZGluZy51dGlscyc7XG5cbmNvbnN0IEVYUE9SVEVEX0NMQVNTX1JFR0VYID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvO1xuY29uc3QgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYID0gL0BFbGVtZW50RGVmaW5pdGlvblxcKChbXFxzXFxTXSspXFwpKFxcbnxcXHJcXG58LikqZXhwb3J0IGNsYXNzL2c7XG5cbmV4cG9ydCBjbGFzcyBVaUJ1aWxkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBhdG9iU2FmZShlbC5zY3JpcHQpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGF0b2JTYWZlKGVsLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gYXRvYlNhZmUoZWwuc3R5bGVzKTtcblxuICBjb25zdCBleHBvcnRlZENsYXNzTmFtZSA9IHNjcmlwdCAmJiAoRVhQT1JURURfQ0xBU1NfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICBpZiAoIWV4cG9ydGVkQ2xhc3NOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiU2NyaXB0IGRvZXNuJ3QgaGF2ZSBleHBvcnRlZCBjbGFzc1wiKTtcbiAgfVxuXG4gIGNvbnN0IGVsZW1lbnRNZXRhZGF0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0IHx8ICcnKTtcbiAgY29uc3QgcGF0aCA9IChwYXJlbnRQYXRoID8gcGFyZW50UGF0aCArICcvJyA6ICcnKSArIGVsZW1lbnRNZXRhZGF0YS5uYW1lO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZWxlbWVudE1ldGFkYXRhLFxuICAgIHBhdGgsXG4gICAgc2NyaXB0OiBzY3JpcHQ/LnJlcGxhY2UoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLCAnZXhwb3J0IGNsYXNzJyksXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiBlbC5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gZWxlbWVudFRvTWV0YWRhdGEoY2hpbGQsIHBhdGgpKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YVRvRWxlbWVudCA9IChtZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhLCByZWN1cnNpdmU6IGJvb2xlYW4gPSB0cnVlKTogVUlFbGVtZW50ID0+IHtcbiAgY29uc3QgY2xlYW5NZXRhZGF0YSA9IG9taXQ8RWxlbWVudE1ldGFkYXRhLCBrZXlvZiBPbWl0PEVsZW1lbnRNZXRhZGF0YSwga2V5b2YgRWxlbWVudERlZmF1bHRNZXRhZGF0YT4+KG1ldGFkYXRhLCBbXG4gICAgJ3BhdGgnLFxuICAgICd0ZW1wbGF0ZScsXG4gICAgJ3N0eWxlcycsXG4gICAgJ3NjcmlwdCcsXG4gICAgJ21ldGFkYXRhJyxcbiAgXSk7XG4gIGNvbnN0IGVsTWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgLi4uY2xlYW5NZXRhZGF0YSxcbiAgICBjaGlsZHJlbjogbWV0YWRhdGEuY2hpbGRyZW4ubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksXG4gIH07XG4gIGNvbnN0IG5vcm1hbGl6ZWRFbE1ldGFkYXRhID0gbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhKGVsTWV0YWRhdGEpO1xuXG4gIGlmICghbWV0YWRhdGEuc2NyaXB0IHx8ICFFWFBPUlRFRF9DTEFTU19SRUdFWC50ZXN0KG1ldGFkYXRhLnNjcmlwdCkpIHtcbiAgICB0aHJvdyBuZXcgVWlCdWlsZEVycm9yKGAnJHttZXRhZGF0YS5wYXRofScgY29tcG9uZW50IHNjcmlwdCBpcyBtaXNzaW5nIGFuIGV4cG9ydGVkIGNsYXNzYCwgbWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0ID0gYnRvYVNhZmUoXG4gICAgbWV0YWRhdGEuc2NyaXB0Py5yZXBsYWNlKFxuICAgICAgRVhQT1JURURfQ0xBU1NfUkVHRVgsXG4gICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgKSxcbiAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBidG9hU2FmZShtZXRhZGF0YS50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGJ0b2FTYWZlKG1ldGFkYXRhLnN0eWxlcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBzY3JpcHQsXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiByZWN1cnNpdmUgPyBtZXRhZGF0YS5jaGlsZHJlbi5tYXAobWV0YSA9PiBtZXRhZGF0YVRvRWxlbWVudChtZXRhKSkgOiBbXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEgPSAoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0geyAuLi5lbGVtZW50TWV0YWRhdGEgfTtcblxuICAvLyBtb2RlbFxuICBjb25zdCB7IGxpbmVJdGVtLCBwYXRoIH0gPSBtZXRhZGF0YS5tb2RlbCA/PyB7fTtcbiAgY29uc3QgbW9kZWw6IEVsZW1lbnRNb2RlbCB8IHVuZGVmaW5lZCA9IGxpbmVJdGVtID8geyBsaW5lSXRlbSB9IDogcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgLy8gY29uZmlndXJlZFN0eWxlc1xuICBpZiAoIW1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcztcbiAgfVxuXG4gIHJldHVybiBtZXRhZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0RWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICByZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dGVuZEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZywgZXh0ZW5kOiBQYXJ0aWFsPEVsZW1lbnREZWZhdWx0TWV0YWRhdGE+KTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIGlmICghbWV0YWRhdGFTdHJpbmcpIHtcbiAgICByZXR1cm4gc2NyaXB0O1xuICB9XG5cbiAgY29uc3QgdXBkYXRlZCA9IHsgLi4ubmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpLCAuLi5leHRlbmQgfTtcbiAgcmV0dXJuIHNjcmlwdC5yZXBsYWNlKG1ldGFkYXRhU3RyaW5nLCBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEodXBkYXRlZCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnRDb25maWcgPSAodHlwZTogRUxFTUVOVF9UWVBFKTogRWxlbWVudENvbmZpZyA9PiB7XG4gIHJldHVybiBDT05GSUdbdHlwZV07XG59O1xuXG5leHBvcnQgY29uc3QgZG9lc0VsZW1lbnRTdXBwb3J0SU8gPSAodHlwZTogRUxFTUVOVF9UWVBFKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBnZXRFbGVtZW50Q29uZmlnKHR5cGUpLnBsdWdpbnM/LmluY2x1ZGVzKElPUGx1Z2luKSA/PyBmYWxzZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgY29uc3QgY2xlYW5lZCA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRNZXRhZGF0YSwgbnVsbCwgMik7XG5cbiAgcmV0dXJuIGNsZWFuZWQucmVwbGFjZSgvXltcXHQgXSpcIlteOlxcblxccl0rKD88IVxcXFwpXCI6L2dtLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICAvLyBQb3RlbnRpYWxseSB0aGVyZSBhcmUgbW9yZSBpbnZhbGlkIGNoYXJhY3RlcnMgd2hpY2ggcmVxdWlyZXMgb2JqZWN0IGtleXMgdG8gYmUgd3JhcHBlZCBpbiBxdW90ZXNcbiAgICBpZiAoIW1hdGNoLmluY2x1ZGVzKCdAJykpIHtcbiAgICAgIHJldHVybiBtYXRjaC5yZXBsYWNlKC9cIi9nLCAnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRTY3JpcHQgPSAoc2NyaXB0Pzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghc2NyaXB0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBtZXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQpO1xuICBpZiAoIW1ldGEubmFtZSB8fCAhbWV0YS50eXBlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4uZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2hhcmVkRWxlbWVudChlbDogRWxlbWVudE1ldGFkYXRhKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5hbWUuc3RhcnRzV2l0aCgnQCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9FbGVtZW50QW5ndWxhcklPKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIWlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUuc2xpY2UoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50QW5ndWxhcklPcyhuYW1lczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBuYW1lcy5yZWR1Y2UoKHRydW5rOiBzdHJpbmdbXSwgbmFtZSkgPT4ge1xuICAgIGNvbnN0IG5nSU8gPSB0b0VsZW1lbnRBbmd1bGFySU8obmFtZSk7XG5cbiAgICBpZiAobmdJTyAhPSBudWxsKSB7XG4gICAgICB0cnVuay5wdXNoKG5nSU8pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVuaztcbiAgfSwgW10pO1xufVxuIl19
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFO0lBQ3ZGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5DLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1B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QUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFlO0lBQ2xELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQWUsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM1QyxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJRWxlbWVudCB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgZmxhdHRlbiwgb21pdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgSU9QbHVnaW4gfSBmcm9tICcuLi9wbHVnaW5zL2lvLnBsdWdpbic7XG5pbXBvcnQgeyBFbGVtZW50Q29uZmlnLCBFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRNb2RlbCwgRUxFTUVOVF9UWVBFIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXRvYlNhZmUsIGJ0b2FTYWZlIH0gZnJvbSAnLi9lbmNvZGluZy51dGlscyc7XG5cbmNvbnN0IEVYUE9SVEVEX0NMQVNTX1JFR0VYID0gL2V4cG9ydCBjbGFzcyAoXFxTKykvO1xuY29uc3QgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYID0gL0BFbGVtZW50RGVmaW5pdGlvblxcKChbXFxzXFxTXSspXFwpKFxcbnxcXHJcXG58LikqZXhwb3J0IGNsYXNzL2c7XG5cbmV4cG9ydCBjbGFzcyBVaUJ1aWxkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGE7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHRoaXMuYWZmZWN0ZWRNZXRhZGF0YSA9IGFmZmVjdGVkTWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGVsZW1lbnRUb01ldGFkYXRhID0gKGVsOiBVSUVsZW1lbnQsIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGEgPT4ge1xuICBjb25zdCBzY3JpcHQgPSBhdG9iU2FmZShlbC5zY3JpcHQpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGF0b2JTYWZlKGVsLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gYXRvYlNhZmUoZWwuc3R5bGVzKTtcblxuICBjb25zdCBleHBvcnRlZENsYXNzTmFtZSA9IHNjcmlwdCAmJiAoRVhQT1JURURfQ0xBU1NfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICBpZiAoIWV4cG9ydGVkQ2xhc3NOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiU2NyaXB0IGRvZXNuJ3QgaGF2ZSBleHBvcnRlZCBjbGFzc1wiKTtcbiAgfVxuXG4gIGNvbnN0IGVsZW1lbnRNZXRhZGF0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0IHx8ICcnKTtcbiAgY29uc3QgcGF0aCA9IChwYXJlbnRQYXRoID8gcGFyZW50UGF0aCArICcvJyA6ICcnKSArIGVsZW1lbnRNZXRhZGF0YS5uYW1lO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZWxlbWVudE1ldGFkYXRhLFxuICAgIHBhdGgsXG4gICAgc2NyaXB0OiBzY3JpcHQ/LnJlcGxhY2UoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLCAnZXhwb3J0IGNsYXNzJyksXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiBlbC5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gZWxlbWVudFRvTWV0YWRhdGEoY2hpbGQsIHBhdGgpKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YVRvRWxlbWVudCA9IChtZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhLCByZWN1cnNpdmU6IGJvb2xlYW4gPSB0cnVlKTogVUlFbGVtZW50ID0+IHtcbiAgY29uc3QgY2xlYW5NZXRhZGF0YSA9IG9taXQ8RWxlbWVudE1ldGFkYXRhLCBrZXlvZiBPbWl0PEVsZW1lbnRNZXRhZGF0YSwga2V5b2YgRWxlbWVudERlZmF1bHRNZXRhZGF0YT4+KG1ldGFkYXRhLCBbXG4gICAgJ3BhdGgnLFxuICAgICd0ZW1wbGF0ZScsXG4gICAgJ3N0eWxlcycsXG4gICAgJ3NjcmlwdCcsXG4gICAgJ21ldGFkYXRhJyxcbiAgXSk7XG4gIGNvbnN0IGVsTWV0YWRhdGE6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPSB7XG4gICAgLi4uY2xlYW5NZXRhZGF0YSxcbiAgICBjaGlsZHJlbjogbWV0YWRhdGEuY2hpbGRyZW4ubWFwKCh7IG5hbWUgfSkgPT4gbmFtZSksXG4gIH07XG4gIGNvbnN0IG5vcm1hbGl6ZWRFbE1ldGFkYXRhID0gbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhKGVsTWV0YWRhdGEpO1xuXG4gIGlmICghbWV0YWRhdGEuc2NyaXB0IHx8ICFFWFBPUlRFRF9DTEFTU19SRUdFWC50ZXN0KG1ldGFkYXRhLnNjcmlwdCkpIHtcbiAgICB0aHJvdyBuZXcgVWlCdWlsZEVycm9yKGAnJHttZXRhZGF0YS5wYXRofScgY29tcG9uZW50IHNjcmlwdCBpcyBtaXNzaW5nIGFuIGV4cG9ydGVkIGNsYXNzYCwgbWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3Qgc2NyaXB0ID0gYnRvYVNhZmUoXG4gICAgbWV0YWRhdGEuc2NyaXB0Py5yZXBsYWNlKFxuICAgICAgRVhQT1JURURfQ0xBU1NfUkVHRVgsXG4gICAgICBgQEVsZW1lbnREZWZpbml0aW9uKCR7c3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKG5vcm1hbGl6ZWRFbE1ldGFkYXRhKX0pXFxuZXhwb3J0IGNsYXNzIFNjcmlwdGAsXG4gICAgKSxcbiAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBidG9hU2FmZShtZXRhZGF0YS50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGJ0b2FTYWZlKG1ldGFkYXRhLnN0eWxlcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBzY3JpcHQsXG4gICAgdGVtcGxhdGUsXG4gICAgc3R5bGVzLFxuICAgIGNoaWxkcmVuOiByZWN1cnNpdmUgPyBtZXRhZGF0YS5jaGlsZHJlbi5tYXAobWV0YSA9PiBtZXRhZGF0YVRvRWxlbWVudChtZXRhKSkgOiBbXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVFbGVtZW50TWV0YWRhdGEgPSAoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0geyAuLi5lbGVtZW50TWV0YWRhdGEgfTtcblxuICAvLyBtb2RlbFxuICBjb25zdCB7IHBhdGggfSA9IG1ldGFkYXRhLm1vZGVsID8/IHt9O1xuICBjb25zdCBtb2RlbDogRWxlbWVudE1vZGVsIHwgdW5kZWZpbmVkID0gcGF0aCA/IHsgcGF0aCB9IDogdW5kZWZpbmVkO1xuICBpZiAobW9kZWwpIHtcbiAgICBtZXRhZGF0YS5tb2RlbCA9IG1vZGVsO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2RlbDtcbiAgfVxuXG4gIC8vIG1vZHVsZVxuICBpZiAoIW1ldGFkYXRhLm1vZHVsZSkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5tb2R1bGU7XG4gIH1cblxuICAvLyByZWZlcmVuY2VcbiAgaWYgKCFtZXRhZGF0YS5yZWZlcmVuY2UpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEucmVmZXJlbmNlO1xuICB9XG5cbiAgLy8gaW5wdXRzXG4gIGNvbnN0IGlucHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLmlucHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAoaW5wdXRzICYmIE9iamVjdC5rZXlzKGlucHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLmlucHV0cyA9IGlucHV0cztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuaW5wdXRzO1xuICB9XG5cbiAgLy8gb3V0cHV0c1xuICBjb25zdCBvdXRwdXRzID0gT2JqZWN0LmVudHJpZXMobWV0YWRhdGEub3V0cHV0cyA/PyB7fSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IHZhbHVlIHx8IG51bGwgfTtcbiAgfSwge30pO1xuICBpZiAob3V0cHV0cyAmJiBPYmplY3Qua2V5cyhvdXRwdXRzKS5sZW5ndGggPiAwKSB7XG4gICAgbWV0YWRhdGEub3V0cHV0cyA9IG91dHB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLm91dHB1dHM7XG4gIH1cblxuICAvLyBjaGlsZHJlblxuICBpZiAoIW1ldGFkYXRhLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY2hpbGRyZW47XG4gIH1cblxuICAvLyBpc1NoYXJlZFxuICBpZiAoIW1ldGFkYXRhLmlzU2hhcmVkKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlzU2hhcmVkO1xuICB9XG5cbiAgLy8gY29uZmlndXJlZFN0eWxlc1xuICBpZiAoIW1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEuY29uZmlndXJlZFN0eWxlcztcbiAgfVxuXG4gIHJldHVybiBtZXRhZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0RWxlbWVudE1ldGFkYXRhID0gKHNjcmlwdDogc3RyaW5nKTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICByZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dGVuZEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZywgZXh0ZW5kOiBQYXJ0aWFsPEVsZW1lbnREZWZhdWx0TWV0YWRhdGE+KTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWV0YWRhdGFTdHJpbmcgPSAoTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgLy8gbmVlZCB0byByZXNldCByZWdleCBsYXN0IGluZGV4IHRvIHByZXZlbnQgbnVsbCByZXN1bHQgZm9yIG5leHQgZXhlY3V0aW9uXG4gIE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5sYXN0SW5kZXggPSAwO1xuXG4gIGlmICghbWV0YWRhdGFTdHJpbmcpIHtcbiAgICByZXR1cm4gc2NyaXB0O1xuICB9XG5cbiAgY29uc3QgdXBkYXRlZCA9IHsgLi4ubmV3IEZ1bmN0aW9uKGByZXR1cm4gJHttZXRhZGF0YVN0cmluZ31gKSgpLCAuLi5leHRlbmQgfTtcbiAgcmV0dXJuIHNjcmlwdC5yZXBsYWNlKG1ldGFkYXRhU3RyaW5nLCBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEodXBkYXRlZCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnRDb25maWcgPSAodHlwZTogRUxFTUVOVF9UWVBFKTogRWxlbWVudENvbmZpZyA9PiB7XG4gIHJldHVybiBDT05GSUdbdHlwZV07XG59O1xuXG5leHBvcnQgY29uc3QgZG9lc0VsZW1lbnRTdXBwb3J0SU8gPSAodHlwZTogRUxFTUVOVF9UWVBFKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBnZXRFbGVtZW50Q29uZmlnKHR5cGUpLnBsdWdpbnM/LmluY2x1ZGVzKElPUGx1Z2luKSA/PyBmYWxzZTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEoZWxlbWVudE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgY29uc3QgY2xlYW5lZCA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRNZXRhZGF0YSwgbnVsbCwgMik7XG5cbiAgcmV0dXJuIGNsZWFuZWQucmVwbGFjZSgvXltcXHQgXSpcIlteOlxcblxccl0rKD88IVxcXFwpXCI6L2dtLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICAvLyBQb3RlbnRpYWxseSB0aGVyZSBhcmUgbW9yZSBpbnZhbGlkIGNoYXJhY3RlcnMgd2hpY2ggcmVxdWlyZXMgb2JqZWN0IGtleXMgdG8gYmUgd3JhcHBlZCBpbiBxdW90ZXNcbiAgICBpZiAoIW1hdGNoLmluY2x1ZGVzKCdAJykpIHtcbiAgICAgIHJldHVybiBtYXRjaC5yZXBsYWNlKC9cIi9nLCAnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRTY3JpcHQgPSAoc2NyaXB0Pzogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghc2NyaXB0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG4gIGlmICghZXhwb3J0ZWRDbGFzc05hbWUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBtZXRhID0gZXh0cmFjdEVsZW1lbnRNZXRhZGF0YShzY3JpcHQpO1xuICBpZiAoIW1ldGEubmFtZSB8fCAhbWV0YS50eXBlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbkVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4uZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2hhcmVkRWxlbWVudChlbDogRWxlbWVudE1ldGFkYXRhKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5hbWUuc3RhcnRzV2l0aCgnQCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9FbGVtZW50QW5ndWxhcklPKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIWlzRWxlbWVudEFuZ3VsYXJJTyhuYW1lKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5hbWUuc2xpY2UoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50QW5ndWxhcklPcyhuYW1lczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBuYW1lcy5yZWR1Y2UoKHRydW5rOiBzdHJpbmdbXSwgbmFtZSkgPT4ge1xuICAgIGNvbnN0IG5nSU8gPSB0b0VsZW1lbnRBbmd1bGFySU8obmFtZSk7XG5cbiAgICBpZiAobmdJTyAhPSBudWxsKSB7XG4gICAgICB0cnVuay5wdXNoKG5nSU8pO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVuaztcbiAgfSwgW10pO1xufVxuIl19
|
@@ -15,10 +15,18 @@ export class ElementsResolver {
|
|
15
15
|
this.config = config;
|
16
16
|
this.renderableElements = [];
|
17
17
|
this.sharedElements = [];
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
const services = [];
|
19
|
+
const shared = [];
|
20
|
+
for (const el of this.flattenElements(elements)) {
|
21
|
+
if (el.type === 'SERVICE') {
|
22
|
+
services.push(el);
|
23
|
+
}
|
24
|
+
else if (this.isSharedElement(el)) {
|
25
|
+
shared.push(el);
|
26
|
+
}
|
27
|
+
}
|
28
|
+
this.sharedElements = shared.concat(sharedElements);
|
29
|
+
this.elements = [...services, ...elements.map(el => this.processElementMetadata(el)).filter(isDefined)];
|
22
30
|
this.renderableElements = this.getRenderableElements(this.elements);
|
23
31
|
this.uiDefMetadata = {
|
24
32
|
...this.uiDef,
|
@@ -80,6 +88,9 @@ export class ElementsResolver {
|
|
80
88
|
}
|
81
89
|
processElementMetadata(sourceElement) {
|
82
90
|
let finalElement;
|
91
|
+
if (sourceElement.type === 'SERVICE') {
|
92
|
+
return;
|
93
|
+
}
|
83
94
|
if (sourceElement.type === 'REFERENCE') {
|
84
95
|
const sharedElement = this.getSharedElement(sourceElement);
|
85
96
|
if (!sharedElement) {
|
@@ -192,4 +203,4 @@ export class ElementsResolver {
|
|
192
203
|
return c && 'default' in c ? c.default : undefined;
|
193
204
|
}
|
194
205
|
}
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQ1UsS0FBMkIsRUFDbkMsUUFBMkIsRUFDM0IsaUJBQW9DLEVBQUUsRUFDOUIsTUFBeUI7UUFIekIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFHM0IsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFSM0IsdUJBQWtCLEdBQXNCLEVBQUUsQ0FBQztRQUMzQyxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFTN0MsSUFBSSxDQUFD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QU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyw0QkFBNEI7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssb0JBQW9CLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbk1ldGFkYXRhLCBpc0RlZmluZWQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIGtlYmFiQ2FzZSwgc2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAqIGFzIHNhc3MgZnJvbSAnc2Fzcyc7XG5pbXBvcnQgeyBERUZBVUxUX1BMVUdJTlMgfSBmcm9tICcuLi9jbXMuZGVmYXVsdCc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuLi9jbXMuZWxlbWVudHMnO1xuaW1wb3J0IHsgTEFZT1VUIH0gZnJvbSAnLi4vY21zLmxheW91dHMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcHJldmlldyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9lbmdpbmUvbW9kZWxzL2VudGl0eSc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0RWxlbWVudEFuZ3VsYXJJT3MgfSBmcm9tICcuL2VsZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgZ2V0U2NyaXB0Q2xhc3MgfSBmcm9tICcuL3NjcmlwdC51dGlscyc7XG5pbXBvcnQgeyBUcmFuc3BpbGF0aW9uV29ya2VyIH0gZnJvbSAnLi90cmFuc3BpbGF0aW9uLXdvcmtlcic7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50c1Jlc29sdmVyIHtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcblxuICBwcml2YXRlIHJlbmRlcmFibGVFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBzaGFyZWRFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSB1aURlZk1ldGFkYXRhOiBVSURlZmluaXRpb25NZXRhZGF0YTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpRGVmOiBVSURlZmluaXRpb25NZXRhZGF0YSxcbiAgICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sXG4gICAgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW10sXG4gICAgcHJpdmF0ZSBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnLFxuICApIHtcbiAgICB0aGlzLnNoYXJlZEVsZW1lbnRzID0gdGhpcy5mbGF0dGVuRWxlbWVudHMoZWxlbWVudHMpXG4gICAgICAuZmlsdGVyKGVsID0+IHRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSlcbiAgICAgIC5jb25jYXQoc2hhcmVkRWxlbWVudHMpO1xuXG4gICAgdGhpcy5lbGVtZW50cyA9IGVsZW1lbnRzLm1hcChlbCA9PiB0aGlzLnByb2Nlc3NFbGVtZW50TWV0YWRhdGEoZWwpKS5maWx0ZXIoaXNEZWZpbmVkKTtcblxuICAgIHRoaXMucmVuZGVyYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRSZW5kZXJhYmxlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG5cbiAgICB0aGlzLnVpRGVmTWV0YWRhdGEgPSB7XG4gICAgICAuLi50aGlzLnVpRGVmLFxuICAgICAgY3VzdG9taXphdGlvbjogdGhpcy51aURlZi5jdXN0b21pemF0aW9uID8/IHRoaXMuZ2V0RGVmYXVsdEN1c3RvbWl6YXRpb25TdGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWRkRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudC5pc1NoYXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IG5ldyBUcmFuc3BpbGF0aW9uV29ya2VyKFtlbGVtZW50XSkuZ2V0KCk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+PiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnJlbmRlcmFibGVFbGVtZW50cywgLi4udGhpcy5zaGFyZWRFbGVtZW50c10uZmlsdGVyKGlzRGVmaW5lZCkucmVkdWNlKFxuICAgICAgKHRydW5rLCBlbCkgPT4gKHtcbiAgICAgICAgLi4udHJ1bmssXG4gICAgICAgIFtlbC5wYXRoXTogdGhpcy5yZXNvbHZlRWxlbWVudChlbCksXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4udGhpcy5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICBjb25zdCByZW5kZXJhYmxlOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiBlbGVtZW50cykge1xuICAgICAgLy8gSW4gYGN1c3RvbWl6YXRpb25Nb2RlYCByZW5kZXIgb25seSBlbGVtZW50IHdpdGggQ1VTVE9NSVpBVElPTl9QQUdFIHR5cGVcbiAgICAgIGNvbnN0IHR5cGVQZXJNb2RlID0gQm9vbGVhbih0aGlzLmNvbmZpZz8uY3VzdG9taXphdGlvbk1vZGUpID09PSAoZWwudHlwZSA9PT0gJ0NVU1RPTUlaQVRJT05fUEFHRScpO1xuICAgICAgaWYgKCF0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkgJiYgdHlwZVBlck1vZGUpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIXRoaXMuaXNTaGFyZWRFbGVtZW50KGNoaWxkKSk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmFibGVDaGlsZHJlbiA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGNoaWxkcmVuKTtcbiAgICAgICAgcmVuZGVyYWJsZS5wdXNoKHsgLi4uZWwsIGNoaWxkcmVuIH0sIC4uLnJlbmRlcmFibGVDaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlcmFibGU7XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZEVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWVsZW1lbnQucmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRWxlbWVudHMuZmluZChlbCA9PiBlbGVtZW50LnJlZmVyZW5jZSA9PT0gZWwubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50VGVtcGxhdGUoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9ICFjb25maWcuc3VwcHJlc3NUZW1wbGF0ZSA/IGVsZW1lbnQudGVtcGxhdGUgOiAnJztcblxuICAgIHJldHVybiB0ZW1wbGF0ZSB8fCBjb25maWcuZGVmYXVsdFRlbXBsYXRlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGxldCBzdHlsZXMgPSAhY29uZmlnLnN1cHByZXNzU3R5bGVzID8gZWxlbWVudC5zdHlsZXMgPz8gJycgOiAnJztcblxuICAgIGNvbnN0IGxheW91dCA9IGVsZW1lbnQubGF5b3V0ICYmIExBWU9VVFtlbGVtZW50LmxheW91dF07XG4gICAgaWYgKGxheW91dD8uc3R5bGVzKSB7XG4gICAgICBzdHlsZXMgKz0gbGF5b3V0LnN0eWxlcztcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRWxlbWVudE1ldGFkYXRhKHNvdXJjZUVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGZpbmFsRWxlbWVudDogRWxlbWVudE1ldGFkYXRhO1xuXG4gICAgaWYgKHNvdXJjZUVsZW1lbnQudHlwZSA9PT0gJ1JFRkVSRU5DRScpIHtcbiAgICAgIGNvbnN0IHNoYXJlZEVsZW1lbnQgPSB0aGlzLmdldFNoYXJlZEVsZW1lbnQoc291cmNlRWxlbWVudCk7XG5cbiAgICAgIGlmICghc2hhcmVkRWxlbWVudCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFNoYXJlZCBlbGVtZW50IFwiJHtzb3VyY2VFbGVtZW50LnJlZmVyZW5jZX1cIiBub3QgZm91bmRgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaW5hbEVsZW1lbnQgPSB7XG4gICAgICAgIC4uLnNvdXJjZUVsZW1lbnQsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKHNoYXJlZEVsZW1lbnQuY2hpbGRyZW4sIHNvdXJjZUVsZW1lbnQucGF0aCksXG4gICAgICAgIHR5cGU6IHNoYXJlZEVsZW1lbnQudHlwZSxcbiAgICAgICAgdGVtcGxhdGU6IHNoYXJlZEVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAgIHN0eWxlczogKHNoYXJlZEVsZW1lbnQuc3R5bGVzID8/ICcnKSArICdcXG4nICsgKHNvdXJjZUVsZW1lbnQuc3R5bGVzID8/ICcnKSxcbiAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5pbnB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5pbnB1dHMsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluYWxFbGVtZW50ID0gc291cmNlRWxlbWVudDtcbiAgICAgIGRlbGV0ZSBzb3VyY2VFbGVtZW50LnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICBmaW5hbEVsZW1lbnQudGVtcGxhdGUgPSB0aGlzLnJlc29sdmVFbGVtZW50VGVtcGxhdGUoZmluYWxFbGVtZW50KTtcbiAgICBmaW5hbEVsZW1lbnQuc3R5bGVzID0gdGhpcy5yZXNvbHZlRWxlbWVudFN0eWxlcyhmaW5hbEVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZpbmFsRWxlbWVudCxcbiAgICAgIGNoaWxkcmVuOiBmaW5hbEVsZW1lbnQuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShjaGlsZCkpLmZpbHRlcihpc0RlZmluZWQpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZENoaWxkcmVuKGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXSwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gY2hpbGRyZW4ubWFwKGMgPT4ge1xuICAgICAgaWYgKCFjLnBhdGgpIHtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtlbE5hbWVdID0gYy5wYXRoLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgICAgY29uc3QgcGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBlbE5hbWU7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKGMuY2hpbGRyZW4sIHBhdGgpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogVHlwZTxFbnRpdHk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCBkZWZhdWx0UGx1Z2lucyA9IERFRkFVTFRfUExVR0lOU1t0aGlzLnVpRGVmTWV0YWRhdGEudHlwZV0gPz8gW107XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVsZW1lbnQgdHlwZSBcIiR7ZWxlbWVudC50eXBlfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnQgPSB7XG4gICAgICBzZWxlY3RvcjogZWxlbWVudC5pc1NoYXJlZCA/IGB2bGMtJHtrZWJhYkNhc2UoZWxlbWVudC5uYW1lKX1gIDogJ3ZsLWVsZW1lbnQnLFxuICAgICAgdGVtcGxhdGU6IGVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAuLi4oc3R5bGVzID8geyBzdHlsZXM6IFtzdHlsZXNdIH0gOiB7fSksXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBERUZBVUxUX1BMVUdJTlNfVE9LRU4sIHVzZVZhbHVlOiBkZWZhdWx0UGx1Z2lucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVJX0RFRklOSVRJT05fTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLnVpRGVmTWV0YWRhdGEgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgIF0sXG4gICAgICBpbnB1dHM6IGdldEVsZW1lbnRBbmd1bGFySU9zKE9iamVjdC5rZXlzKGVsZW1lbnQuaW5wdXRzID8/IHt9KSksXG4gICAgICBvdXRwdXRzOiBnZXRFbGVtZW50QW5ndWxhcklPcyhPYmplY3Qua2V5cyhlbGVtZW50Lm91dHB1dHMgPz8ge30pKSxcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gQ29tcG9uZW50KGNvbXBvbmVudCkoY2xhc3MgQyBleHRlbmRzIGNvbmZpZy5jb21wb25lbnQge30pO1xuXG4gICAgc2V0KGNtcCwgJ3BhdGgnLCBlbGVtZW50LnBhdGgpO1xuXG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgIGNvbnN0IGNvbmZpZ3VyZWRTdHlsZXMgPSB0aGlzLmNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhlbGVtZW50LmNvbmZpZ3VyZWRTdHlsZXMpO1xuICAgIGlmIChjb25maWd1cmVkU3R5bGVzKSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQ6IHN0eWxlcyB3cml0dGVuIGJ5IHVzZXIgaW4gQ1NTIGNvZGUgc2hvdWxkIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgIHJlc3VsdCArPSBjb25maWd1cmVkU3R5bGVzO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnN0eWxlcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ICs9IHNhc3MuY29tcGlsZVN0cmluZyhlbGVtZW50LnN0eWxlcykuY3NzO1xuICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0Q3VzdG9taXphdGlvblN0YXRlKCk6IHVua25vd24ge1xuICAgIGNvbnN0IGN1c3RvbWl6YXRpb25QYWdlID0gdGhpcy5lbGVtZW50cy5maW5kKGVsID0+IGVsLnR5cGUgPT09ICdDVVNUT01JWkFUSU9OX1BBR0UnKTtcbiAgICBpZiAoIWN1c3RvbWl6YXRpb25QYWdlPy5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjID0gZ2V0U2NyaXB0Q2xhc3MoY3VzdG9taXphdGlvblBhZ2UpO1xuICAgIHJldHVybiBjICYmICdkZWZhdWx0JyBpbiBjID8gYy5kZWZhdWx0IDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUF3QixNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTzNCLFlBQ1UsS0FBMkIsRUFDbkMsUUFBMkIsRUFDM0IsaUJBQW9DLEVBQUUsRUFDOUIsTUFBeUI7UUFIekIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFHM0IsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFSM0IsdUJBQWtCLEdBQXNCLEVBQUUsQ0FBQztRQUMzQyxtQkFBYyxHQUFzQixFQUFFLENBQUM7UUFTN0MsTUFBTSxRQUFR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QUFNLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFFekIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUVoQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFFRCxNQUFNLENBQUMsR0FBRyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxPQUFPLENBQUMsSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0RlZmluZWQsIFVJRGVmaW5pdGlvbk1ldGFkYXRhIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBmbGF0dGVuLCBrZWJhYkNhc2UsIHNldCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgKiBhcyBzYXNzIGZyb20gJ3Nhc3MnO1xuaW1wb3J0IHsgREVGQVVMVF9QTFVHSU5TIH0gZnJvbSAnLi4vY21zLmRlZmF1bHQnO1xuaW1wb3J0IHsgQ09ORklHIH0gZnJvbSAnLi4vY21zLmVsZW1lbnRzJztcbmltcG9ydCB7IExBWU9VVCB9IGZyb20gJy4uL2Ntcy5sYXlvdXRzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL3ByZXZpZXcnO1xuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vZW5naW5lL21vZGVscy9lbnRpdHknO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9QTFVHSU5TX1RPS0VOLFxuICBFTEVNRU5UX0NPTkZJRyxcbiAgRUxFTUVOVF9NRVRBREFUQSxcbiAgU0hBUkVEX0VMRU1FTlRfTUVUQURBVEEsXG4gIFVJX0RFRklOSVRJT05fTUVUQURBVEEsXG59IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldEVsZW1lbnRBbmd1bGFySU9zIH0gZnJvbSAnLi9lbGVtZW50LnV0aWxzJztcbmltcG9ydCB7IGdldFNjcmlwdENsYXNzIH0gZnJvbSAnLi9zY3JpcHQudXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNwaWxhdGlvbldvcmtlciB9IGZyb20gJy4vdHJhbnNwaWxhdGlvbi13b3JrZXInO1xuXG5leHBvcnQgY2xhc3MgRWxlbWVudHNSZXNvbHZlciB7XG4gIHB1YmxpYyBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW107XG5cbiAgcHJpdmF0ZSByZW5kZXJhYmxlRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHByaXZhdGUgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gIHByaXZhdGUgdWlEZWZNZXRhZGF0YTogVUlEZWZpbml0aW9uTWV0YWRhdGE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1aURlZjogVUlEZWZpbml0aW9uTWV0YWRhdGEsXG4gICAgZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdLFxuICAgIHNoYXJlZEVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdLFxuICAgIHByaXZhdGUgY29uZmlnPzogQ01TUHJldmlld0NvbmZpZyxcbiAgKSB7XG4gICAgY29uc3Qgc2VydmljZXM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW107XG4gICAgY29uc3Qgc2hhcmVkOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgZWwgb2YgdGhpcy5mbGF0dGVuRWxlbWVudHMoZWxlbWVudHMpKSB7XG4gICAgICBpZiAoZWwudHlwZSA9PT0gJ1NFUlZJQ0UnKSB7XG4gICAgICAgIHNlcnZpY2VzLnB1c2goZWwpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkpIHtcbiAgICAgICAgc2hhcmVkLnB1c2goZWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2hhcmVkRWxlbWVudHMgPSBzaGFyZWQuY29uY2F0KHNoYXJlZEVsZW1lbnRzKTtcbiAgICB0aGlzLmVsZW1lbnRzID0gWy4uLnNlcnZpY2VzLCAuLi5lbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCldO1xuICAgIHRoaXMucmVuZGVyYWJsZUVsZW1lbnRzID0gdGhpcy5nZXRSZW5kZXJhYmxlRWxlbWVudHModGhpcy5lbGVtZW50cyk7XG5cbiAgICB0aGlzLnVpRGVmTWV0YWRhdGEgPSB7XG4gICAgICAuLi50aGlzLnVpRGVmLFxuICAgICAgY3VzdG9taXphdGlvbjogdGhpcy51aURlZi5jdXN0b21pemF0aW9uID8/IHRoaXMuZ2V0RGVmYXVsdEN1c3RvbWl6YXRpb25TdGF0ZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWRkRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudC5pc1NoYXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IG5ldyBUcmFuc3BpbGF0aW9uV29ya2VyKFtlbGVtZW50XSkuZ2V0KCk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogUmVjb3JkPHN0cmluZywgVHlwZTxFbnRpdHk+PiB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnJlbmRlcmFibGVFbGVtZW50cywgLi4udGhpcy5zaGFyZWRFbGVtZW50c10uZmlsdGVyKGlzRGVmaW5lZCkucmVkdWNlKFxuICAgICAgKHRydW5rLCBlbCkgPT4gKHtcbiAgICAgICAgLi4udHJ1bmssXG4gICAgICAgIFtlbC5wYXRoXTogdGhpcy5yZXNvbHZlRWxlbWVudChlbCksXG4gICAgICB9KSxcbiAgICAgIHt9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGZsYXR0ZW4oZWxlbWVudHMubWFwKGVsID0+IFtlbCwgLi4udGhpcy5mbGF0dGVuRWxlbWVudHMoZWwuY2hpbGRyZW4pXSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKGVsLmlzU2hhcmVkKSAmJiBlbC50eXBlICE9PSAnUkVGRVJFTkNFJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICBjb25zdCByZW5kZXJhYmxlOiBFbGVtZW50TWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBlbCBvZiBlbGVtZW50cykge1xuICAgICAgLy8gSW4gYGN1c3RvbWl6YXRpb25Nb2RlYCByZW5kZXIgb25seSBlbGVtZW50IHdpdGggQ1VTVE9NSVpBVElPTl9QQUdFIHR5cGVcbiAgICAgIGNvbnN0IHR5cGVQZXJNb2RlID0gQm9vbGVhbih0aGlzLmNvbmZpZz8uY3VzdG9taXphdGlvbk1vZGUpID09PSAoZWwudHlwZSA9PT0gJ0NVU1RPTUlaQVRJT05fUEFHRScpO1xuICAgICAgaWYgKCF0aGlzLmlzU2hhcmVkRWxlbWVudChlbCkgJiYgdHlwZVBlck1vZGUpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIXRoaXMuaXNTaGFyZWRFbGVtZW50KGNoaWxkKSk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmFibGVDaGlsZHJlbiA9IHRoaXMuZ2V0UmVuZGVyYWJsZUVsZW1lbnRzKGNoaWxkcmVuKTtcbiAgICAgICAgcmVuZGVyYWJsZS5wdXNoKHsgLi4uZWwsIGNoaWxkcmVuIH0sIC4uLnJlbmRlcmFibGVDaGlsZHJlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlcmFibGU7XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZEVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWVsZW1lbnQucmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2hhcmVkRWxlbWVudHMuZmluZChlbCA9PiBlbGVtZW50LnJlZmVyZW5jZSA9PT0gZWwubmFtZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50VGVtcGxhdGUoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCB0ZW1wbGF0ZSA9ICFjb25maWcuc3VwcHJlc3NUZW1wbGF0ZSA/IGVsZW1lbnQudGVtcGxhdGUgOiAnJztcblxuICAgIHJldHVybiB0ZW1wbGF0ZSB8fCBjb25maWcuZGVmYXVsdFRlbXBsYXRlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGxldCBzdHlsZXMgPSAhY29uZmlnLnN1cHByZXNzU3R5bGVzID8gZWxlbWVudC5zdHlsZXMgPz8gJycgOiAnJztcblxuICAgIGNvbnN0IGxheW91dCA9IGVsZW1lbnQubGF5b3V0ICYmIExBWU9VVFtlbGVtZW50LmxheW91dF07XG4gICAgaWYgKGxheW91dD8uc3R5bGVzKSB7XG4gICAgICBzdHlsZXMgKz0gbGF5b3V0LnN0eWxlcztcbiAgICB9XG5cbiAgICByZXR1cm4gc3R5bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzRWxlbWVudE1ldGFkYXRhKHNvdXJjZUVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGZpbmFsRWxlbWVudDogRWxlbWVudE1ldGFkYXRhO1xuXG4gICAgaWYgKHNvdXJjZUVsZW1lbnQudHlwZSA9PT0gJ1NFUlZJQ0UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZUVsZW1lbnQudHlwZSA9PT0gJ1JFRkVSRU5DRScpIHtcbiAgICAgIGNvbnN0IHNoYXJlZEVsZW1lbnQgPSB0aGlzLmdldFNoYXJlZEVsZW1lbnQoc291cmNlRWxlbWVudCk7XG5cbiAgICAgIGlmICghc2hhcmVkRWxlbWVudCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFNoYXJlZCBlbGVtZW50IFwiJHtzb3VyY2VFbGVtZW50LnJlZmVyZW5jZX1cIiBub3QgZm91bmRgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmaW5hbEVsZW1lbnQgPSB7XG4gICAgICAgIC4uLnNvdXJjZUVsZW1lbnQsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKHNoYXJlZEVsZW1lbnQuY2hpbGRyZW4sIHNvdXJjZUVsZW1lbnQucGF0aCksXG4gICAgICAgIHR5cGU6IHNoYXJlZEVsZW1lbnQudHlwZSxcbiAgICAgICAgdGVtcGxhdGU6IHNoYXJlZEVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAgIHN0eWxlczogKHNoYXJlZEVsZW1lbnQuc3R5bGVzID8/ICcnKSArICdcXG4nICsgKHNvdXJjZUVsZW1lbnQuc3R5bGVzID8/ICcnKSxcbiAgICAgICAgaW5wdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5pbnB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5pbnB1dHMsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgICAgLi4uc291cmNlRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmluYWxFbGVtZW50ID0gc291cmNlRWxlbWVudDtcbiAgICAgIGRlbGV0ZSBzb3VyY2VFbGVtZW50LnJlZmVyZW5jZTtcbiAgICB9XG5cbiAgICBmaW5hbEVsZW1lbnQudGVtcGxhdGUgPSB0aGlzLnJlc29sdmVFbGVtZW50VGVtcGxhdGUoZmluYWxFbGVtZW50KTtcbiAgICBmaW5hbEVsZW1lbnQuc3R5bGVzID0gdGhpcy5yZXNvbHZlRWxlbWVudFN0eWxlcyhmaW5hbEVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZpbmFsRWxlbWVudCxcbiAgICAgIGNoaWxkcmVuOiBmaW5hbEVsZW1lbnQuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShjaGlsZCkpLmZpbHRlcihpc0RlZmluZWQpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFNoYXJlZENoaWxkcmVuKGNoaWxkcmVuOiBFbGVtZW50TWV0YWRhdGFbXSwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gY2hpbGRyZW4ubWFwKGMgPT4ge1xuICAgICAgaWYgKCFjLnBhdGgpIHtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtlbE5hbWVdID0gYy5wYXRoLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgICAgY29uc3QgcGF0aCA9IHBhcmVudFBhdGggKyAnLycgKyBlbE5hbWU7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmMsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGNoaWxkcmVuOiB0aGlzLmdldFNoYXJlZENoaWxkcmVuKGMuY2hpbGRyZW4sIHBhdGgpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnQoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogVHlwZTxFbnRpdHk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBjb25zdCBkZWZhdWx0UGx1Z2lucyA9IERFRkFVTFRfUExVR0lOU1t0aGlzLnVpRGVmTWV0YWRhdGEudHlwZV0gPz8gW107XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVsZW1lbnQgdHlwZSBcIiR7ZWxlbWVudC50eXBlfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnQgPSB7XG4gICAgICBzZWxlY3RvcjogZWxlbWVudC5pc1NoYXJlZCA/IGB2bGMtJHtrZWJhYkNhc2UoZWxlbWVudC5uYW1lKX1gIDogJ3ZsLWVsZW1lbnQnLFxuICAgICAgdGVtcGxhdGU6IGVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAuLi4oc3R5bGVzID8geyBzdHlsZXM6IFtzdHlsZXNdIH0gOiB7fSksXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBERUZBVUxUX1BMVUdJTlNfVE9LRU4sIHVzZVZhbHVlOiBkZWZhdWx0UGx1Z2lucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVJX0RFRklOSVRJT05fTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLnVpRGVmTWV0YWRhdGEgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgIF0sXG4gICAgICBpbnB1dHM6IGdldEVsZW1lbnRBbmd1bGFySU9zKE9iamVjdC5rZXlzKGVsZW1lbnQuaW5wdXRzID8/IHt9KSksXG4gICAgICBvdXRwdXRzOiBnZXRFbGVtZW50QW5ndWxhcklPcyhPYmplY3Qua2V5cyhlbGVtZW50Lm91dHB1dHMgPz8ge30pKSxcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gQ29tcG9uZW50KGNvbXBvbmVudCkoY2xhc3MgQyBleHRlbmRzIGNvbmZpZy5jb21wb25lbnQge30pO1xuXG4gICAgc2V0KGNtcCwgJ3BhdGgnLCBlbGVtZW50LnBhdGgpO1xuXG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgIGNvbnN0IGNvbmZpZ3VyZWRTdHlsZXMgPSB0aGlzLmNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhlbGVtZW50LmNvbmZpZ3VyZWRTdHlsZXMpO1xuICAgIGlmIChjb25maWd1cmVkU3R5bGVzKSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQ6IHN0eWxlcyB3cml0dGVuIGJ5IHVzZXIgaW4gQ1NTIGNvZGUgc2hvdWxkIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgIHJlc3VsdCArPSBjb25maWd1cmVkU3R5bGVzO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnN0eWxlcykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0ICs9IHNhc3MuY29tcGlsZVN0cmluZyhlbGVtZW50LnN0eWxlcykuY3NzO1xuICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0Q3VzdG9taXphdGlvblN0YXRlKCk6IHVua25vd24ge1xuICAgIGNvbnN0IGN1c3RvbWl6YXRpb25QYWdlID0gdGhpcy5lbGVtZW50cy5maW5kKGVsID0+IGVsLnR5cGUgPT09ICdDVVNUT01JWkFUSU9OX1BBR0UnKTtcbiAgICBpZiAoIWN1c3RvbWl6YXRpb25QYWdlPy5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjID0gZ2V0U2NyaXB0Q2xhc3MoY3VzdG9taXphdGlvblBhZ2UpO1xuICAgIHJldHVybiBjICYmICdkZWZhdWx0JyBpbiBjID8gYy5kZWZhdWx0IDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
@@ -1,13 +1,4 @@
|
|
1
|
-
import { compact } from 'lodash';
|
2
1
|
import { findElementByModule } from './ui-definition.utils';
|
3
|
-
export const parseBoundPath = (path) => {
|
4
|
-
const regexp = new RegExp(`(?:\\/)(?:\\w+)(?:\\/)(?:ports|attributes)(?:\\/)(?:\\w+)|(?:\\/)(?:\\w+)`, 'g');
|
5
|
-
const blocks = path.match(regexp)?.map(match => {
|
6
|
-
const [type, property, name] = compact(match.split('/'));
|
7
|
-
return { type: type ?? '', property, name };
|
8
|
-
}) ?? [];
|
9
|
-
return blocks;
|
10
|
-
};
|
11
2
|
export const parsePath = (path) => {
|
12
3
|
const segments = path.split('/');
|
13
4
|
let module;
|
@@ -50,4 +41,4 @@ export const getAbsolutePath = (elements, subject, path) => {
|
|
50
41
|
}
|
51
42
|
return subjectSegments.join('/');
|
52
43
|
};
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9wYXRoLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBZSxFQUFFO0lBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsSUFBSSxNQUEwQixDQUFDO0lBQy9CLElBQUksUUFBNEIsQ0FBQztJQUVqQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDaEMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO1FBQzlDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxELElBQUksQ0FBQyxVQUFVLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO1FBQzlDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0tBQzFCO0lBRUQsT0FBTztRQUNMLFVBQVU7UUFDVixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLE1BQU07UUFDTixRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixRQUEyQixFQUMzQixPQUF3QixFQUN4QixJQUFpQixFQUNHLEVBQUU7SUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ2YsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQztLQUNqRjtJQUVELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXBDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNuQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDM0I7SUFFRCxPQUFPLFFBQVEsQ0FBQyxNQUFNLEVBQUU7UUFDdEIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWpDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtZQUNwQixlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDdkI7YUFBTSxJQUFJLE9BQU8sRUFBRTtZQUNsQixlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9CO0tBQ0Y7SUFFRCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhLCBFbGVtZW50UGF0aCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGZpbmRFbGVtZW50QnlNb2R1bGUgfSBmcm9tICcuL3VpLWRlZmluaXRpb24udXRpbHMnO1xuXG5leHBvcnQgY29uc3QgcGFyc2VQYXRoID0gKHBhdGg6IHN0cmluZyk6IEVsZW1lbnRQYXRoID0+IHtcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gIGxldCBtb2R1bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgbGV0IHZhcmlhYmxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgaWYgKHNlZ21lbnRzWzBdPy5zdGFydHNXaXRoKCdAJykpIHtcbiAgICBtb2R1bGUgPSBzZWdtZW50cy5zaGlmdCgpPy5zdWJzdHJpbmcoMSk7XG4gIH1cblxuICBpZiAoc2VnbWVudHNbc2VnbWVudHMubGVuZ3RoIC0gMV0/LlswXSA9PT0gJzonKSB7XG4gICAgdmFyaWFibGUgPSBzZWdtZW50cy5wb3AoKT8uc3Vic3RyaW5nKDEpO1xuICB9XG5cbiAgY29uc3QgaXNBYnNvbHV0ZSA9ICFzZWdtZW50c1swXTtcbiAgY29uc3Qgbm9uRW1wdHlTZWdtZW50cyA9IHNlZ21lbnRzLmZpbHRlcihCb29sZWFuKTtcblxuICBpZiAoIWlzQWJzb2x1dGUgJiYgbm9uRW1wdHlTZWdtZW50c1swXSA9PT0gJy4nKSB7XG4gICAgbm9uRW1wdHlTZWdtZW50cy5zaGlmdCgpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpc0Fic29sdXRlLFxuICAgIHNlZ21lbnRzOiBub25FbXB0eVNlZ21lbnRzLFxuICAgIG1vZHVsZSxcbiAgICB2YXJpYWJsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBYnNvbHV0ZVBhdGggPSAoXG4gIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSxcbiAgc3ViamVjdDogRWxlbWVudE1ldGFkYXRhLFxuICBwYXRoOiBFbGVtZW50UGF0aCxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChwYXRoLm1vZHVsZSkge1xuICAgIHJldHVybiBmaW5kRWxlbWVudEJ5TW9kdWxlKGVsZW1lbnRzLCBwYXRoLm1vZHVsZSwgcGF0aC5zZWdtZW50c1swXSA/PyAnJyk/LnBhdGg7XG4gIH1cblxuICBjb25zdCBzdWJqZWN0U2VnbWVudHMgPSBzdWJqZWN0LnBhdGg/LnNwbGl0KCcvJykgPz8gW107XG4gIGNvbnN0IHNlZ21lbnRzID0gWy4uLnBhdGguc2VnbWVudHNdO1xuXG4gIGlmIChwYXRoLmlzQWJzb2x1dGUpIHtcbiAgICByZXR1cm4gc2VnbWVudHMuam9pbignLycpO1xuICB9XG5cbiAgd2hpbGUgKHNlZ21lbnRzLmxlbmd0aCkge1xuICAgIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50cy5zaGlmdCgpO1xuXG4gICAgaWYgKHNlZ21lbnQgPT09ICcuLicpIHtcbiAgICAgIHN1YmplY3RTZWdtZW50cy5wb3AoKTtcbiAgICB9IGVsc2UgaWYgKHNlZ21lbnQpIHtcbiAgICAgIHN1YmplY3RTZWdtZW50cy5wdXNoKHNlZ21lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJqZWN0U2VnbWVudHMuam9pbignLycpO1xufTtcbiJdfQ==
|