@veloceapps/sdk 7.0.2-72 → 7.0.2-74
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/components/preview/preview.component.d.ts +6 -9
- package/cms/components/preview/preview.types.d.ts +5 -0
- package/cms/services/resources.service.d.ts +9 -0
- package/cms/utils/encoding.utils.d.ts +2 -0
- package/cms/vendor-map.d.ts +2 -1
- package/core/modules/configuration/index.d.ts +1 -0
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +4 -3
- package/core/modules/configuration/services/configuration.service.d.ts +6 -4
- package/core/modules/configuration/services/configuration.state.d.ts +30 -0
- package/core/modules/configuration/services/runtime-context.service.d.ts +1 -1
- package/core/types/runtime.types.d.ts +2 -2
- package/esm2020/cms/components/preview/preview.component.mjs +17 -37
- package/esm2020/cms/components/preview/preview.types.mjs +1 -1
- package/esm2020/cms/services/resources.service.mjs +19 -1
- package/esm2020/cms/utils/element.utils.mjs +8 -8
- package/esm2020/cms/utils/encoding.utils.mjs +28 -0
- package/esm2020/cms/vendor-map.mjs +3 -2
- package/esm2020/core/modules/configuration/configuration.module.mjs +4 -1
- package/esm2020/core/modules/configuration/index.mjs +2 -1
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +27 -19
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +41 -29
- package/esm2020/core/modules/configuration/services/configuration.state.mjs +142 -0
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +10 -11
- package/esm2020/core/services/quote-draft.service.mjs +1 -1
- package/esm2020/core/types/runtime.types.mjs +1 -1
- package/esm2020/src/components/doc-gen/doc-gen.component.mjs +1 -1
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +1 -1
- package/esm2020/src/pages/assets/assets.component.mjs +1 -1
- package/esm2020/src/pages/catalog/catalog.component.mjs +1 -1
- package/esm2020/src/pages/legacy-product/legacy-product.component.mjs +4 -4
- package/esm2020/src/pages/product/product.component.mjs +50 -66
- package/esm2020/src/pages/remote/remote.component.mjs +19 -19
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +1 -1
- package/esm2020/src/types/flow-customization.types.mjs +1 -1
- package/fesm2015/veloceapps-sdk-cms.mjs +79 -50
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +214 -59
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +67 -80
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +76 -50
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +206 -55
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +64 -76
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
- package/src/pages/product/product.component.d.ts +10 -21
- package/src/pages/remote/remote.component.d.ts +3 -4
- package/src/types/flow-customization.types.d.ts +3 -3
@@ -1,7 +1,7 @@
|
|
1
1
|
import { OnDestroy, OnInit } from '@angular/core';
|
2
|
+
import { ToastService } from '@veloceapps/components';
|
2
3
|
import { UIDefinition } from '@veloceapps/core';
|
3
|
-
import {
|
4
|
-
import { MessageService } from 'primeng/api';
|
4
|
+
import { ConfigurationState } from '@veloceapps/sdk/core';
|
5
5
|
import { BehaviorSubject, Observable } from 'rxjs';
|
6
6
|
import { RuntimeService } from '../../modules/runtime/services/runtime.service';
|
7
7
|
import { IntegrationState } from '../../services';
|
@@ -14,24 +14,21 @@ interface State {
|
|
14
14
|
}
|
15
15
|
export declare class PreviewComponent implements OnInit, OnDestroy {
|
16
16
|
private runtimeService;
|
17
|
-
private
|
18
|
-
private
|
19
|
-
private configurationRuntimeService;
|
17
|
+
private configurationState;
|
18
|
+
private toastService;
|
20
19
|
private integrationState;
|
21
|
-
modelId?: string;
|
22
20
|
uiDefinition?: UIDefinition;
|
23
21
|
config?: CMSPreviewConfig;
|
24
22
|
state$: BehaviorSubject<State>;
|
25
23
|
elements$: Observable<ElementMetadata[]>;
|
26
24
|
private destroy$;
|
27
|
-
constructor(runtimeService: RuntimeService,
|
25
|
+
constructor(runtimeService: RuntimeService, configurationState: ConfigurationState, toastService: ToastService, integrationState: IntegrationState);
|
28
26
|
ngOnInit(): void;
|
29
27
|
ngOnDestroy(): void;
|
30
28
|
trackBy(_: number, el: ElementMetadata): ElementMetadata;
|
31
|
-
private initializeConfiguration$;
|
32
29
|
private startPreview;
|
33
30
|
private getPages$;
|
34
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<PreviewComponent, never>;
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PreviewComponent, "vl-cms-preview", never, { "
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PreviewComponent, "vl-cms-preview", never, { "uiDefinition": "uiDefinition"; "config": "config"; }, {}, never, never, false, never>;
|
36
33
|
}
|
37
34
|
export {};
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { Observable } from 'rxjs';
|
1
2
|
export interface CMSPreviewConfig {
|
2
3
|
/**
|
3
4
|
* When `true`, IntegrationState will be cleared on component init
|
@@ -12,4 +13,8 @@ export interface CMSPreviewConfig {
|
|
12
13
|
* When `true`, preview renders settings page (element with `type: CUSTOMIZATION_PAGE`)
|
13
14
|
*/
|
14
15
|
customizationMode?: boolean;
|
16
|
+
/**
|
17
|
+
* Custom initialization function which will be executed before starting a preview
|
18
|
+
*/
|
19
|
+
init$?: () => Observable<void>;
|
15
20
|
}
|
@@ -3,8 +3,17 @@ import * as i0 from "@angular/core";
|
|
3
3
|
export declare class ResourcesService {
|
4
4
|
private scripts;
|
5
5
|
private loaded$;
|
6
|
+
/**
|
7
|
+
* ngx-monaco-editor adds amd-loader library for loading resources when first time initialized
|
8
|
+
* Which breaks further loading of 3rd party libaries.
|
9
|
+
*
|
10
|
+
* To handle this issue, in case 'amd' is defined, we clear it, and then restore when the script is loaded
|
11
|
+
*/
|
12
|
+
private amd;
|
6
13
|
loadScript(url: string): Observable<void>;
|
7
14
|
loadStyles(url: string): Observable<void>;
|
15
|
+
private persistAMDLoader;
|
16
|
+
private restoreAMDLoader;
|
8
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResourcesService, never>;
|
9
18
|
static ɵprov: i0.ɵɵInjectableDeclaration<ResourcesService>;
|
10
19
|
}
|
package/cms/vendor-map.d.ts
CHANGED
@@ -3,7 +3,7 @@ import * as angularForms from '@angular/forms';
|
|
3
3
|
import { CatalogApiService, ConfigurationSettingsApiService, DeltaApiService, DocumentAttachmentApiService, DocumentTemplatesApiService, GuidedSellingApiService, PicklistsApiService, PriceApiService, QuoteApiService, RampApiService, SalesforceApiService, ShoppingCartSettingsApiService } from '@veloceapps/api';
|
4
4
|
import { ToastService, ToastType } from '@veloceapps/components';
|
5
5
|
import { Operator, Predicate, parseJsonSafely } from '@veloceapps/core';
|
6
|
-
import { ConfigurationService, ContextService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService, RuntimeSettingsService } from '@veloceapps/sdk/core';
|
6
|
+
import { ConfigurationService, ConfigurationState, ContextService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService, RuntimeSettingsService } from '@veloceapps/sdk/core';
|
7
7
|
import lodash from 'lodash';
|
8
8
|
import * as rxjs from 'rxjs';
|
9
9
|
import * as rxjsOperators from 'rxjs/operators';
|
@@ -68,6 +68,7 @@ export declare const vendorMap: {
|
|
68
68
|
name: string;
|
69
69
|
}>(attributes: T_2[]) => T_2[];
|
70
70
|
ConfigurationService: typeof ConfigurationService;
|
71
|
+
ConfigurationState: typeof ConfigurationState;
|
71
72
|
QuoteDraftService: typeof QuoteDraftService;
|
72
73
|
FlowConfigurationService: typeof FlowConfigurationService;
|
73
74
|
LineItemWorker: typeof LineItemWorker;
|
@@ -1,5 +1,6 @@
|
|
1
1
|
export * from './helpers';
|
2
2
|
export * from './services/configuration-runtime.service';
|
3
3
|
export * from './services/configuration.service';
|
4
|
+
export * from './services/configuration.state';
|
4
5
|
export * from './types/configuration-runtime.types';
|
5
6
|
export * from './types/configuration.types';
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ConfigurationApiService } from '@veloceapps/api';
|
2
|
-
import { RuntimeModel,
|
2
|
+
import { RuntimeModel, UIDefinitionContainer, UIDefinitionProps } from '@veloceapps/core';
|
3
3
|
import { Observable } from 'rxjs';
|
4
4
|
import { ContextService } from '../../../services/context.service';
|
5
5
|
import { RuntimeContext } from '../../../types';
|
@@ -16,8 +16,9 @@ export declare class ConfigurationRuntimeService {
|
|
16
16
|
uiDefinitionProperties: UIDefinitionProps;
|
17
17
|
constructor(apiService: ConfigurationApiService, contextService: ContextService, runtimeContextService: RuntimeContextService);
|
18
18
|
reset(): void;
|
19
|
-
initTestMode(
|
20
|
-
init(props: RuntimeInitializationProps): Observable<RuntimeContext
|
19
|
+
initTestMode(uiDefinitionContainer: UIDefinitionContainer): Observable<RuntimeContext>;
|
20
|
+
init(props: RuntimeInitializationProps): Observable<RuntimeContext>;
|
21
|
+
overrideUIDefinition(uiDefinitionContainer: UIDefinitionContainer): void;
|
21
22
|
private id15to18;
|
22
23
|
get isInitialized(): boolean;
|
23
24
|
get runtimeModel(): RuntimeModel | undefined;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { ConfigurationApiService } from '@veloceapps/api';
|
2
|
-
import { Charge, CompiledPricePlan, ConfigurationContext, ConfigurePrice, LineItem, PatchLineItemOptions, RuntimeModel } from '@veloceapps/core';
|
2
|
+
import { Charge, CompiledPricePlan, ConfigurationContext, ConfigurationRequest, ConfigurePrice, LineItem, PatchLineItemOptions, RuntimeModel } from '@veloceapps/core';
|
3
3
|
import { Dictionary } from 'lodash';
|
4
4
|
import { MessageService } from 'primeng/api';
|
5
5
|
import { DialogService } from 'primeng/dynamicdialog';
|
@@ -30,8 +30,8 @@ export declare class ConfigurationService {
|
|
30
30
|
setConfigurableRamp(lineItem: LineItem): void;
|
31
31
|
get(): Observable<LineItem | undefined>;
|
32
32
|
getSnapshot(): LineItem | undefined;
|
33
|
-
getRuntimeModel(): RuntimeModel
|
34
|
-
getRuntimeContext(): RuntimeContext
|
33
|
+
getRuntimeModel(): RuntimeModel;
|
34
|
+
getRuntimeContext(): RuntimeContext;
|
35
35
|
get contextSnapshot(): ConfigurationContext;
|
36
36
|
get context$(): Observable<ConfigurationContext>;
|
37
37
|
get charges$(): Observable<Dictionary<Charge>>;
|
@@ -39,9 +39,11 @@ export declare class ConfigurationService {
|
|
39
39
|
get pricePlans$(): Observable<Dictionary<CompiledPricePlan>>;
|
40
40
|
get pricePlansSnapshot(): Dictionary<CompiledPricePlan>;
|
41
41
|
configure(): Observable<LineItem>;
|
42
|
+
configureRequest$(configurationRequest: ConfigurationRequest): Observable<LineItem>;
|
42
43
|
configureExternal$(props: ExternalConfigurationProps): Observable<LineItem>;
|
43
44
|
configureGuidedSelling$(data: GuidedSellingSubmitData): Observable<ConfigurePrice>;
|
44
|
-
|
45
|
+
generateRequest(): ConfigurationRequest;
|
46
|
+
private getUIDefinitionProperties;
|
45
47
|
private showInactiveProductsConfirmation;
|
46
48
|
private getAsset;
|
47
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService, never>;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { StatefulConfigurationApiService } from '@veloceapps/api';
|
2
|
+
import { ToastService } from '@veloceapps/components';
|
3
|
+
import { ConfigurationExecuteRequest } from '@veloceapps/core';
|
4
|
+
import { Observable } from 'rxjs';
|
5
|
+
import { ConfigurationRuntimeService } from './configuration-runtime.service';
|
6
|
+
import { ConfigurationService } from './configuration.service';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
export declare class ConfigurationState {
|
9
|
+
private statefulConfigurationApiService;
|
10
|
+
private runtimeService;
|
11
|
+
private configurationService;
|
12
|
+
private toastService;
|
13
|
+
private readonly stateSubj$;
|
14
|
+
state$: Observable<Record<string, unknown>>;
|
15
|
+
private stateId;
|
16
|
+
constructor(statefulConfigurationApiService: StatefulConfigurationApiService, runtimeService: ConfigurationRuntimeService, configurationService: ConfigurationService, toastService: ToastService);
|
17
|
+
init$(): Observable<void>;
|
18
|
+
cleanup(): void;
|
19
|
+
execute$(req: ConfigurationExecuteRequest): Observable<void>;
|
20
|
+
dispatch$(actionName: string, inputData: unknown): Observable<void>;
|
21
|
+
select$(selectorName: string, inputData: unknown): Observable<unknown>;
|
22
|
+
private get isStatefulConfiguration();
|
23
|
+
private executeStateless$;
|
24
|
+
private executeStateful$;
|
25
|
+
private executeActionScript;
|
26
|
+
private executeSelectorScript;
|
27
|
+
private executeProcessorScript;
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationState, never>;
|
29
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationState>;
|
30
|
+
}
|
@@ -6,7 +6,7 @@ export declare class RuntimeContextService {
|
|
6
6
|
private configurationApiService;
|
7
7
|
constructor(configurationApiService: ConfigurationApiService);
|
8
8
|
getRuntimeContext(productId: string, offeringId?: string): Observable<RuntimeContext>;
|
9
|
-
private
|
9
|
+
private getUIDefinitionContainer;
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeContextService, never>;
|
11
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeContextService>;
|
12
12
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ContextProperties, RuntimeModel,
|
1
|
+
import { ContextProperties, RuntimeModel, UIDefinitionContainer } from '@veloceapps/core';
|
2
2
|
export declare enum RuntimeMode {
|
3
3
|
TEST = 0,
|
4
4
|
PROD = 1
|
@@ -19,7 +19,7 @@ export interface RuntimeContext {
|
|
19
19
|
modelId: string;
|
20
20
|
runtimeMode: RuntimeMode;
|
21
21
|
runtimeModel: RuntimeModel;
|
22
|
-
|
22
|
+
uiDefinitionContainer?: UIDefinitionContainer;
|
23
23
|
productId?: string;
|
24
24
|
productName?: string;
|
25
25
|
productType?: string;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import { BehaviorSubject, Subject, catchError, combineLatest,
|
2
|
+
import { ToastService, ToastType } from '@veloceapps/components';
|
3
|
+
import { ConfigurationState } from '@veloceapps/sdk/core';
|
4
|
+
import { BehaviorSubject, Subject, catchError, combineLatest, map, of, startWith, switchMap, takeUntil, tap, } from 'rxjs';
|
5
5
|
import { RuntimeService } from '../../modules/runtime/services/runtime.service';
|
6
6
|
import { IntegrationState } from '../../services';
|
7
7
|
import { IOProviderService } from '../../services/io-provider.service';
|
@@ -9,17 +9,15 @@ import { TemplatesService } from '../../services/templates.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
10
10
|
import * as i1 from "../../modules/runtime/services/runtime.service";
|
11
11
|
import * as i2 from "@veloceapps/sdk/core";
|
12
|
-
import * as i3 from "
|
12
|
+
import * as i3 from "@veloceapps/components";
|
13
13
|
import * as i4 from "../../services";
|
14
14
|
import * as i5 from "@angular/common";
|
15
|
-
import * as i6 from "
|
16
|
-
import * as i7 from "../element-renderer/element-renderer.component";
|
15
|
+
import * as i6 from "../element-renderer/element-renderer.component";
|
17
16
|
export class PreviewComponent {
|
18
|
-
constructor(runtimeService,
|
17
|
+
constructor(runtimeService, configurationState, toastService, integrationState) {
|
19
18
|
this.runtimeService = runtimeService;
|
20
|
-
this.
|
21
|
-
this.
|
22
|
-
this.configurationRuntimeService = configurationRuntimeService;
|
19
|
+
this.configurationState = configurationState;
|
20
|
+
this.toastService = toastService;
|
23
21
|
this.integrationState = integrationState;
|
24
22
|
this.state$ = new BehaviorSubject({ loading: true, failure: false });
|
25
23
|
this.destroy$ = new Subject();
|
@@ -44,37 +42,21 @@ export class PreviewComponent {
|
|
44
42
|
ngOnDestroy() {
|
45
43
|
this.destroy$.next();
|
46
44
|
this.destroy$.complete();
|
47
|
-
this.
|
45
|
+
this.configurationState.cleanup();
|
48
46
|
this.runtimeService.clear();
|
49
47
|
}
|
50
48
|
trackBy(_, el) {
|
51
49
|
return el;
|
52
50
|
}
|
53
|
-
initializeConfiguration$() {
|
54
|
-
const isAlreadyInitialized = this.configurationRuntimeService.isInitialized;
|
55
|
-
if (!this.uiDefinition || this.uiDefinition.type !== 'CONFIGURATION' || isAlreadyInitialized) {
|
56
|
-
return of({});
|
57
|
-
}
|
58
|
-
if (!this.modelId) {
|
59
|
-
console.warn(`No modelId is given for uiDefinition with '${this.uiDefinition.type}' type`);
|
60
|
-
return of({});
|
61
|
-
}
|
62
|
-
// If still not initialized - init configuration in Test mode
|
63
|
-
return this.configurationRuntimeService
|
64
|
-
.initTestMode(this.modelId, this.uiDefinition)
|
65
|
-
.pipe(switchMap(() => this.configurationService.configure()));
|
66
|
-
}
|
67
51
|
startPreview() {
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
forkJoin([this.runtimeService.initialize$(this.uiDefinition, this.config), this.initializeConfiguration$()])
|
72
|
-
.pipe(tap(() => {
|
52
|
+
const customInit$ = this.config?.init$?.() ?? of(undefined);
|
53
|
+
customInit$
|
54
|
+
.pipe(switchMap(() => this.runtimeService.initialize$(this.uiDefinition, this.config)), tap(() => {
|
73
55
|
this.state$.next({ loading: false, failure: false });
|
74
56
|
}), catchError(error => {
|
75
57
|
console.error(error);
|
76
58
|
if (!this.uiDefinition?.properties?.suppressToastMessages) {
|
77
|
-
this.
|
59
|
+
this.toastService.add({ severity: ToastType.error, summary: error });
|
78
60
|
}
|
79
61
|
this.state$.next({ loading: false, failure: true });
|
80
62
|
return of();
|
@@ -90,16 +72,14 @@ export class PreviewComponent {
|
|
90
72
|
}));
|
91
73
|
}
|
92
74
|
}
|
93
|
-
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.RuntimeService }, { token: i2.
|
94
|
-
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: PreviewComponent, selector: "vl-cms-preview", inputs: {
|
75
|
+
PreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PreviewComponent, deps: [{ token: i1.RuntimeService }, { token: i2.ConfigurationState }, { token: i3.ToastService }, { token: i4.IntegrationState }], target: i0.ɵɵFactoryTarget.Component });
|
76
|
+
PreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", 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: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.LoaderComponent, selector: "vl-loader", inputs: ["label", "overlayVisible"] }, { kind: "component", type: i6.ElementRendererComponent, selector: "vl-cms-element-renderer", inputs: ["meta"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ShadowDom });
|
95
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: PreviewComponent, decorators: [{
|
96
78
|
type: Component,
|
97
79
|
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"] }]
|
98
|
-
}], ctorParameters: function () { return [{ type: i1.RuntimeService }, { type: i2.
|
99
|
-
type: Input
|
100
|
-
}], uiDefinition: [{
|
80
|
+
}], ctorParameters: function () { return [{ type: i1.RuntimeService }, { type: i2.ConfigurationState }, { type: i3.ToastService }, { type: i4.IntegrationState }]; }, propDecorators: { uiDefinition: [{
|
101
81
|
type: Input
|
102
82
|
}], config: [{
|
103
83
|
type: Input
|
104
84
|
}] } });
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFDTCxlQUFlLEVBRWYsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEVBQ2IsUUFBUSxFQUNSLEdBQUcsRUFDSCxFQUFFLEVBQ0YsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFrQnBFLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxjQUE4QixFQUM5QixvQkFBMEMsRUFDMUMsY0FBOEIsRUFDOUIsMkJBQXdELEVBQ3hELGdCQUFrQztRQUpsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtR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RCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUM7WUFFN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7NkdBN0dVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHlIQUpoQixDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLDBCQ25DbEQsMmFBWUE7MkZEMkJhLGdCQUFnQjtrQkFUNUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLGlCQUVqQyxpQkFBaUIsQ0FBQyxTQUFTOzhPQUcxQixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLCBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBmb3JrSm9pbixcbiAgbWFwLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblN0YXRlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgSU9Qcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pby1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZXMnO1xuaW1wb3J0IHsgQ01TUHJldmlld0NvbmZpZyB9IGZyb20gJy4vcHJldmlldy50eXBlcyc7XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGZhaWx1cmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNtcy1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtJT1Byb3ZpZGVyU2VydmljZSwgVGVtcGxhdGVzU2VydmljZV0sXG4gIC8vIHVzZSBzaGFkb3cgRE9NIHRvIHByZXZlbnQgVUkgZnJvbSBiZWluZyBhZmZlY3RlZCBieSBnbG9iYWwgc3R5bGVzXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcbn0pXG5leHBvcnQgY2xhc3MgUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsSWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICBwdWJsaWMgZWxlbWVudHMkOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZTogQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZWdyYXRpb25TdGF0ZTogSW50ZWdyYXRpb25TdGF0ZSxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlJCwgdGhpcy5ydW50aW1lU2VydmljZS51cGRhdGVkJC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKV0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFt7IGxvYWRpbmcsIGZhaWx1cmUgfV0pID0+IHtcbiAgICAgICAgaWYgKGxvYWRpbmcgfHwgZmFpbHVyZSkge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMucnVudGltZVNlcnZpY2UuYXBwbGljYXRpb25UcmVlO1xuXG4gICAgICAgIC8vIElmIFVJIGRlZmluaXRpb24gY29udGFpbnMgcGFnZXMsIHJldHVybiBwYWdlIGJ5IFNlbGVjdGVkUGFnZU5hbWVcbiAgICAgICAgaWYgKHRoaXMudWlEZWZpbml0aW9uPy5wYWdlcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VzJChlbGVtZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YoZWxlbWVudHMpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmNsZWFyU3RhdGVPbkluaXQpIHtcbiAgICAgIHRoaXMuaW50ZWdyYXRpb25TdGF0ZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRQcmV2aWV3KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5yZXNldCgpO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5KF86IG51bWJlciwgZWw6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ29uZmlndXJhdGlvbiQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBpc0FscmVhZHlJbml0aWFsaXplZCA9IHRoaXMuY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLmlzSW5pdGlhbGl6ZWQ7XG4gICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbiB8fCB0aGlzLnVpRGVmaW5pdGlvbi50eXBlICE9PSAnQ09ORklHVVJBVElPTicgfHwgaXNBbHJlYWR5SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBvZih7fSk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsSWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gbW9kZWxJZCBpcyBnaXZlbiBmb3IgdWlEZWZpbml0aW9uIHdpdGggJyR7dGhpcy51aURlZmluaXRpb24udHlwZX0nIHR5cGVgKTtcbiAgICAgIHJldHVybiBvZih7fSk7XG4gICAgfVxuXG4gICAgLy8gSWYgc3RpbGwgbm90IGluaXRpYWxpemVkIC0gaW5pdCBjb25maWd1cmF0aW9uIGluIFRlc3QgbW9kZVxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZVxuICAgICAgLmluaXRUZXN0TW9kZSh0aGlzLm1vZGVsSWQsIHRoaXMudWlEZWZpbml0aW9uKVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UuY29uZmlndXJlKCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQcmV2aWV3KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy51aURlZmluaXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3JrSm9pbihbdGhpcy5ydW50aW1lU2VydmljZS5pbml0aWFsaXplJCh0aGlzLnVpRGVmaW5pdGlvbiwgdGhpcy5jb25maWcpLCB0aGlzLmluaXRpYWxpemVDb25maWd1cmF0aW9uJCgpXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogZmFsc2UgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICAgIGlmICghdGhpcy51aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiB0cnVlIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhZ2VzJChlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRQYWdlTmFtZSQsIHRoaXMucnVudGltZVNlcnZpY2Uuc2VsZWN0ZWRPdmVybGF5TmFtZXMkXSkucGlwZShcbiAgICAgIG1hcCgoW3BhZ2VOYW1lLCBvdmVybGF5TmFtZXNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IHBhZ2VOYW1lKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5TmFtZSA9IG92ZXJsYXlOYW1lcy5hdCgtMSk7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBlbGVtZW50cy5maW5kKGVsID0+IGVsLm5hbWUgPT09IG92ZXJsYXlOYW1lKTtcblxuICAgICAgICByZXR1cm4gWy4uLihwYWdlID8gW3BhZ2VdIDogZWxlbWVudHMuc2xpY2UoMCwgMSkpLCAuLi4ob3ZlcmxheSA/IFtvdmVybGF5XSA6IFtdKV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUkIHwgYXN5bmMgYXMgc3RhdGVcIj5cbiAgPHZsLWxvYWRlciAqbmdJZj1cInN0YXRlLmxvYWRpbmc7IGVsc2UgY29udGVudFwiIFtsYWJlbF09XCInTG9hZGluZyBVSSdcIj48L3ZsLWxvYWRlcj5cblxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdGF0ZS5mYWlsdXJlXCI+XG4gICAgICA8dmwtY21zLWVsZW1lbnQtcmVuZGVyZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGVsIG9mIGVsZW1lbnRzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgW21ldGFdPVwiZWxcIlxuICAgICAgPjwvdmwtY21zLWVsZW1lbnQtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9wcmV2aWV3L3ByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvcHJldmlldy9wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFDTCxlQUFlLEVBRWYsT0FBTyxFQUNQLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUNILEVBQUUsRUFDRixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBa0JwRSxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQ1UsY0FBOEIsRUFDOUIsa0JBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLGdCQUFrQztRQUhsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FB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QixDQUFDLGlCQUVqQyxpQkFBaUIsQ0FBQyxTQUFTO2dNQUcxQixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU3RhdGUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG1hcCxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL21vZHVsZXMvcnVudGltZS9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25TdGF0ZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IElPUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW8tcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcbmltcG9ydCB7IENNU1ByZXZpZXdDb25maWcgfSBmcm9tICcuL3ByZXZpZXcudHlwZXMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1jbXMtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbSU9Qcm92aWRlclNlcnZpY2UsIFRlbXBsYXRlc1NlcnZpY2VdLFxuICAvLyB1c2Ugc2hhZG93IERPTSB0byBwcmV2ZW50IFVJIGZyb20gYmVpbmcgYWZmZWN0ZWQgYnkgZ2xvYmFsIHN0eWxlc1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc/OiBDTVNQcmV2aWV3Q29uZmlnO1xuXG4gIHB1YmxpYyBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0YXRlPih7IGxvYWRpbmc6IHRydWUsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICBwdWJsaWMgZWxlbWVudHMkOiBPYnNlcnZhYmxlPEVsZW1lbnRNZXRhZGF0YVtdPjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdGF0ZTogQ29uZmlndXJhdGlvblN0YXRlLFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnRlZ3JhdGlvblN0YXRlOiBJbnRlZ3JhdGlvblN0YXRlLFxuICApIHtcbiAgICB0aGlzLmVsZW1lbnRzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RhdGUkLCB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVwZGF0ZWQkLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoW3sgbG9hZGluZywgZmFpbHVyZSB9XSkgPT4ge1xuICAgICAgICBpZiAobG9hZGluZyB8fCBmYWlsdXJlKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5ydW50aW1lU2VydmljZS5hcHBsaWNhdGlvblRyZWU7XG5cbiAgICAgICAgLy8gSWYgVUkgZGVmaW5pdGlvbiBjb250YWlucyBwYWdlcywgcmV0dXJuIHBhZ2UgYnkgU2VsZWN0ZWRQYWdlTmFtZVxuICAgICAgICBpZiAodGhpcy51aURlZmluaXRpb24/LnBhZ2VzKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFnZXMkKGVsZW1lbnRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvZihlbGVtZW50cyk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZz8uY2xlYXJTdGF0ZU9uSW5pdCkge1xuICAgICAgdGhpcy5pbnRlZ3JhdGlvblN0YXRlLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydFByZXZpZXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdGF0ZS5jbGVhbnVwKCk7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnkoXzogbnVtYmVyLCBlbDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHtcbiAgICByZXR1cm4gZWw7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UHJldmlldygpOiB2b2lkIHtcbiAgICBjb25zdCBjdXN0b21Jbml0JCA9IHRoaXMuY29uZmlnPy5pbml0JD8uKCkgPz8gb2YodW5kZWZpbmVkKTtcblxuICAgIGN1c3RvbUluaXQkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucnVudGltZVNlcnZpY2UuaW5pdGlhbGl6ZSQodGhpcy51aURlZmluaXRpb24sIHRoaXMuY29uZmlnKSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh7IGxvYWRpbmc6IGZhbHNlLCBmYWlsdXJlOiBmYWxzZSB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcz8uc3VwcHJlc3NUb2FzdE1lc3NhZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5hZGQoeyBzZXZlcml0eTogVG9hc3RUeXBlLmVycm9yLCBzdW1tYXJ5OiBlcnJvciB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IHRydWUgfSk7XG5cbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFnZXMkKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IE9ic2VydmFibGU8RWxlbWVudE1ldGFkYXRhW10+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5ydW50aW1lU2VydmljZS5zZWxlY3RlZFBhZ2VOYW1lJCwgdGhpcy5ydW50aW1lU2VydmljZS5zZWxlY3RlZE92ZXJsYXlOYW1lcyRdKS5waXBlKFxuICAgICAgbWFwKChbcGFnZU5hbWUsIG92ZXJsYXlOYW1lc10pID0+IHtcbiAgICAgICAgY29uc3QgcGFnZSA9IGVsZW1lbnRzLmZpbmQoZWwgPT4gZWwubmFtZSA9PT0gcGFnZU5hbWUpO1xuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlOYW1lID0gb3ZlcmxheU5hbWVzLmF0KC0xKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IGVsZW1lbnRzLmZpbmQoZWwgPT4gZWwubmFtZSA9PT0gb3ZlcmxheU5hbWUpO1xuXG4gICAgICAgIHJldHVybiBbLi4uKHBhZ2UgPyBbcGFnZV0gOiBlbGVtZW50cy5zbGljZSgwLCAxKSksIC4uLihvdmVybGF5ID8gW292ZXJsYXldIDogW10pXTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICA8dmwtbG9hZGVyICpuZ0lmPVwic3RhdGUubG9hZGluZzsgZWxzZSBjb250ZW50XCIgW2xhYmVsXT1cIidMb2FkaW5nIFVJJ1wiPjwvdmwtbG9hZGVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN0YXRlLmZhaWx1cmVcIj5cbiAgICAgIDx2bC1jbXMtZWxlbWVudC1yZW5kZXJlclxuICAgICAgICAqbmdGb3I9XCJsZXQgZWwgb2YgZWxlbWVudHMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlcIlxuICAgICAgICBbbWV0YV09XCJlbFwiXG4gICAgICA+PC92bC1jbXMtZWxlbWVudC1yZW5kZXJlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENNU1ByZXZpZXdDb25maWcge1xuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIEludGVncmF0aW9uU3RhdGUgd2lsbCBiZSBjbGVhcmVkIG9uIGNvbXBvbmVudCBpbml0XG4gICAqL1xuICBjbGVhclN0YXRlT25Jbml0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgYWRkcyBhZGRpdGlvbmFsIGNvbXBvbmVudHMvcGx1Z2lucyBuZWVkZWQgZm9yIFVJQnVpbGRlclxuICAgKiAobGlrZSBlbGVtZW50IGhvdmVyL3NlbGVjdGlvbiBvciBEcmFnJkRyb3Agem9uZXMpXG4gICAqL1xuICB1aUJ1aWxkZXJNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBgdHJ1ZWAsIHByZXZpZXcgcmVuZGVycyBzZXR0aW5ncyBwYWdlIChlbGVtZW50IHdpdGggYHR5cGU6IENVU1RPTUlaQVRJT05fUEFHRWApXG4gICAqL1xuICBjdXN0b21pemF0aW9uTW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGV4ZWN1dGVkIGJlZm9yZSBzdGFydGluZyBhIHByZXZpZXdcbiAgICovXG4gIGluaXQkPzogKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPjtcbn1cbiJdfQ==
|
@@ -15,7 +15,11 @@ export class ResourcesService {
|
|
15
15
|
this.scripts.set(url, false);
|
16
16
|
const script = document.createElement('script');
|
17
17
|
script.src = url;
|
18
|
+
// Hacky fix
|
19
|
+
this.persistAMDLoader();
|
18
20
|
script.onload = () => {
|
21
|
+
// Hacky fix
|
22
|
+
this.restoreAMDLoader();
|
19
23
|
this.scripts.set(url, true);
|
20
24
|
this.loaded$.next();
|
21
25
|
};
|
@@ -39,6 +43,20 @@ export class ResourcesService {
|
|
39
43
|
rootEl.appendChild(link);
|
40
44
|
});
|
41
45
|
}
|
46
|
+
persistAMDLoader() {
|
47
|
+
// Do nothing if AMD loader is not defined
|
48
|
+
if (!window.define?.amd) {
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
this.amd = window.define.amd;
|
52
|
+
window.define.amd = undefined;
|
53
|
+
}
|
54
|
+
restoreAMDLoader() {
|
55
|
+
if (window.define && this.amd) {
|
56
|
+
window.define.amd = this.amd;
|
57
|
+
this.amd = undefined;
|
58
|
+
}
|
59
|
+
}
|
42
60
|
}
|
43
61
|
ResourcesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ResourcesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
44
62
|
ResourcesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ResourcesService, providedIn: 'root' });
|
@@ -46,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
46
64
|
type: Injectable,
|
47
65
|
args: [{ providedIn: 'root' }]
|
48
66
|
}] });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvc2VydmljZXMvcmVzb3VyY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBU3pFLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFVSxZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7UUFDckMsWUFBTyxHQUFHLElBQUksYUFBYSxFQUFRLENBQUM7S0EyRTdDO0lBakVRLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtZQUNuQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ25CO1FBRUQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUU3QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBRWpCLFlBQVk7WUFDWixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUV4QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsWUFBWTtnQkFDWixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFFeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQztZQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25DO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVztRQUMzQixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLFVBQVUsSUFBSSxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQztRQUVuRSxPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ2pCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDdkIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7NkdBNUVVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZsV2luZG93IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG5vb3AsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdyAmIHtcbiAgZGVmaW5lPzoge1xuICAgIGFtZD86IHVua25vd247XG4gIH07XG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlc1NlcnZpY2Uge1xuICBwcml2YXRlIHNjcmlwdHMgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBsb2FkZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oKTtcblxuICAvKipcbiAgICogbmd4LW1vbmFjby1lZGl0b3IgYWRkcyBhbWQtbG9hZGVyIGxpYnJhcnkgZm9yIGxvYWRpbmcgcmVzb3VyY2VzIHdoZW4gZmlyc3QgdGltZSBpbml0aWFsaXplZFxuICAgKiBXaGljaCBicmVha3MgZnVydGhlciBsb2FkaW5nIG9mIDNyZCBwYXJ0eSBsaWJhcmllcy5cbiAgICpcbiAgICogVG8gaGFuZGxlIHRoaXMgaXNzdWUsIGluIGNhc2UgJ2FtZCcgaXMgZGVmaW5lZCwgd2UgY2xlYXIgaXQsIGFuZCB0aGVuIHJlc3RvcmUgd2hlbiB0aGUgc2NyaXB0IGlzIGxvYWRlZFxuICAgKi9cbiAgcHJpdmF0ZSBhbWQ6IHVua25vd247XG5cbiAgcHVibGljIGxvYWRTY3JpcHQodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBsb2FkZWQgPSB0aGlzLnNjcmlwdHMuZ2V0KHVybCk7XG4gICAgaWYgKGxvYWRlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIG9mKG5vb3AoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRlZCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnNjcmlwdHMuc2V0KHVybCwgZmFsc2UpO1xuXG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5zcmMgPSB1cmw7XG5cbiAgICAgIC8vIEhhY2t5IGZpeFxuICAgICAgdGhpcy5wZXJzaXN0QU1ETG9hZGVyKCk7XG5cbiAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIC8vIEhhY2t5IGZpeFxuICAgICAgICB0aGlzLnJlc3RvcmVBTURMb2FkZXIoKTtcblxuICAgICAgICB0aGlzLnNjcmlwdHMuc2V0KHVybCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMubG9hZGVkJC5uZXh0KCk7XG4gICAgICB9O1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxvYWRlZCQucGlwZShcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnNjcmlwdHMuZ2V0KHVybCkgPT09IHRydWUpLFxuICAgICAgdGFrZSgxKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRTdHlsZXModXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBwcmV2aWV3RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd2bC1jbXMtcHJldmlldycpO1xuICAgIGNvbnN0IHJvb3RFbCA9IHByZXZpZXdFbD8uc2hhZG93Um9vdCA/PyBwcmV2aWV3RWwgPz8gZG9jdW1lbnQuYm9keTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVyID0+IHtcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgIGxpbmsudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgICBsaW5rLm1lZGlhID0gJ2FsbCc7XG4gICAgICBsaW5rLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KCk7XG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIH07XG4gICAgICByb290RWwuYXBwZW5kQ2hpbGQobGluayk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RBTURMb2FkZXIoKTogdm9pZCB7XG4gICAgLy8gRG8gbm90aGluZyBpZiBBTUQgbG9hZGVyIGlzIG5vdCBkZWZpbmVkXG4gICAgaWYgKCF3aW5kb3cuZGVmaW5lPy5hbWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFtZCA9IHdpbmRvdy5kZWZpbmUuYW1kO1xuICAgIHdpbmRvdy5kZWZpbmUuYW1kID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSByZXN0b3JlQU1ETG9hZGVyKCk6IHZvaWQge1xuICAgIGlmICh3aW5kb3cuZGVmaW5lICYmIHRoaXMuYW1kKSB7XG4gICAgICB3aW5kb3cuZGVmaW5lLmFtZCA9IHRoaXMuYW1kO1xuICAgICAgdGhpcy5hbWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { flatten, omit } from 'lodash';
|
2
2
|
import { CONFIG } from '../cms.elements';
|
3
3
|
import { IOPlugin } from '../plugins/io.plugin';
|
4
|
+
import { atobSafe, btoaSafe } from './encoding.utils';
|
4
5
|
const EXPORTED_CLASS_REGEX = /export class (\S+)/;
|
5
6
|
const METADATA_DECORATOR_REGEX = /@ElementDefinition\(([\s\S]+)\)(\n|\r\n|.)*export class/g;
|
6
7
|
export class UiBuildError extends Error {
|
@@ -11,9 +12,9 @@ export class UiBuildError extends Error {
|
|
11
12
|
}
|
12
13
|
}
|
13
14
|
export const elementToMetadata = (el, parentPath) => {
|
14
|
-
const script =
|
15
|
-
const template =
|
16
|
-
const styles =
|
15
|
+
const script = atobSafe(el.script);
|
16
|
+
const template = atobSafe(el.template);
|
17
|
+
const styles = atobSafe(el.styles);
|
17
18
|
const exportedClassName = script && (EXPORTED_CLASS_REGEX.exec(script) ?? [])[1];
|
18
19
|
if (!exportedClassName) {
|
19
20
|
throw new Error("Script doesn't have exported class");
|
@@ -45,10 +46,9 @@ export const metadataToElement = (metadata, recursive = true) => {
|
|
45
46
|
if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {
|
46
47
|
throw new UiBuildError(`'${metadata.name}' component script is missing an exported class`, metadata);
|
47
48
|
}
|
48
|
-
const script = metadata.script
|
49
|
-
|
50
|
-
const
|
51
|
-
const styles = metadata.styles && window.btoa(metadata.styles);
|
49
|
+
const script = btoaSafe(metadata.script?.replace(EXPORTED_CLASS_REGEX, `@ElementDefinition(${stringifyElementMetadata(normalizedElMetadata)})\nexport class Script`));
|
50
|
+
const template = btoaSafe(metadata.template);
|
51
|
+
const styles = btoaSafe(metadata.styles);
|
52
52
|
return {
|
53
53
|
script,
|
54
54
|
template,
|
@@ -157,4 +157,4 @@ export function flattenElements(elements) {
|
|
157
157
|
export function isSharedElement(el) {
|
158
158
|
return Boolean(el.isShared) && el.type !== 'REFERENCE';
|
159
159
|
}
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsTUFBTSxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztBQUNsRCxNQUFNLHdCQUF3QixHQUFHLDBEQUEwRCxDQUFDO0FBRTVGLE1BQU0sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUVyQyxZQUFZLE9BQWUsRUFBRSxnQkFBaUM7UUFDNUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFhLEVBQUUsVUFBbUIsRUFBbUIsRUFBRTtJQUN2RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqRixJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsTUFBTSxlQUFlLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO0lBRXpFLE9BQU87UUFDTCxHQUFHLGVBQWU7UUFDbEIsSUFBSTtRQUNKLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixFQUFFLGNBQWMsQ0FBQztRQUNqRSxRQUFRO1FBQ1IsTUFBTTtRQUNOLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNuRSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxRQUF5QixFQUFFLFlBQXFCLElBQUksRUFBYSxFQUFFO0lBQ25HLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBNkUsUUFBUSxFQUFFO1FBQy9HLE1BQU07UUFDTixVQUFVO1FBQ1YsUUFBUTtRQUNSLFFBQVE7UUFDUixVQUFVO0tBQ1gsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxVQUFVLEdBQTJCO1FBQ3pDLEdBQUcsYUFBYTtRQUNoQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7S0FDcEQsQ0FBQztJQUNGLE1BQU0sb0JBQW9CLEdBQUcsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ25FLE1BQU0sSUFBSSxZQUFZLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxpREFBaUQsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUN0RztJQUVELE1BQU0sTUFBTSxHQUNWLFFBQVEsQ0FBQyxNQUFNO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FDVCxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDckIsb0JBQW9CLEVBQ3BCLHNCQUFzQix3QkFBd0IsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsQ0FDN0YsQ0FDRixDQUFDO0lBQ0osTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9ELE9BQU87UUFDTCxNQUFNO1FBQ04sUUFBUTtRQUNSLE1BQU07UUFDTixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDbEYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsZUFBdUMsRUFBMEIsRUFBRTtJQUMxRyxNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFFeEMsUUFBUTtJQUNSLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDaEQsTUFBTSxLQUFLLEdBQTZCLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUYsSUFBSSxLQUFLLEVBQUU7UUFDVCxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztLQUN4QjtTQUFNO1FBQ0wsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0tBQ3ZCO0lBRUQsU0FBUztJQUNULElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQ3BCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztLQUN4QjtJQUVELFlBQVk7SUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtRQUN2QixPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUM7S0FDM0I7SUFFRCxTQUFTO0lBQ1QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1FBQ2hGLE9BQU8sRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDNUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7S0FDMUI7U0FBTTtRQUNMLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztLQUN4QjtJQUVELFVBQVU7SUFDVixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDbEYsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNQLElBQUksT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUM5QyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztLQUM1QjtTQUFNO1FBQ0wsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0tBQ3pCO0lBRUQsV0FBVztJQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtRQUM5QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7S0FDMUI7SUFFRCxXQUFXO0lBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7UUFDdEIsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO0tBQzFCO0lBRUQsbUJBQW1CO0lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7UUFDOUIsT0FBTyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7S0FDbEM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQWMsRUFBMEIsRUFBRTtJQUMvRSxNQUFNLGNBQWMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV4RSwyRUFBMkU7SUFDM0Usd0JBQXdCLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUV2QyxPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsY0FBYyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBYyxFQUFFLE1BQXVDLEVBQVUsRUFBRTtJQUN2RyxNQUFNLGNBQWMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV4RSwyRUFBMkU7SUFDM0Usd0JBQXdCLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUV2QyxJQUFJLENBQUMsY0FBYyxFQUFFO1FBQ25CLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsVUFBVSxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUM3RSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFrQixFQUFpQixFQUFFO0lBQ3BFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBa0IsRUFBVyxFQUFFO0lBQ2xFLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUM7QUFDckUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLGVBQXVDO0lBQzlFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV6RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsOEJBQThCLEVBQUUsVUFBVSxLQUFLO1FBQ3BFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBZSxFQUFXLEVBQUU7SUFDeEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQTJCO0lBQ3pELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsRUFBbUI7SUFDakQsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUVsZW1lbnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIG9taXQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ09ORklHIH0gZnJvbSAnLi4vY21zLmVsZW1lbnRzJztcbmltcG9ydCB7IElPUGx1Z2luIH0gZnJvbSAnLi4vcGx1Z2lucy9pby5wbHVnaW4nO1xuaW1wb3J0IHsgRUxFTUVOVF9UWVBFLCBFbGVtZW50Q29uZmlnLCBFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgRVhQT1JURURfQ0xBU1NfUkVHRVggPSAvZXhwb3J0IGNsYXNzIChcXFMrKS87XG5jb25zdCBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVggPSAvQEVsZW1lbnREZWZpbml0aW9uXFwoKFtcXHNcXFNdKylcXCkoXFxufFxcclxcbnwuKSpleHBvcnQgY2xhc3MvZztcblxuZXhwb3J0IGNsYXNzIFVpQnVpbGRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIGFmZmVjdGVkTWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YTtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBhZmZlY3RlZE1ldGFkYXRhOiBFbGVtZW50TWV0YWRhdGEpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgdGhpcy5hZmZlY3RlZE1ldGFkYXRhID0gYWZmZWN0ZWRNZXRhZGF0YTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZWxlbWVudFRvTWV0YWRhdGEgPSAoZWw6IFVJRWxlbWVudCwgcGFyZW50UGF0aD86IHN0cmluZyk6IEVsZW1lbnRNZXRhZGF0YSA9PiB7XG4gIGNvbnN0IHNjcmlwdCA9IGVsLnNjcmlwdCAmJiB3aW5kb3cuYXRvYihlbC5zY3JpcHQpO1xuICBjb25zdCB0ZW1wbGF0ZSA9IGVsLnRlbXBsYXRlICYmIHdpbmRvdy5hdG9iKGVsLnRlbXBsYXRlKTtcbiAgY29uc3Qgc3R5bGVzID0gZWwuc3R5bGVzICYmIHdpbmRvdy5hdG9iKGVsLnN0eWxlcyk7XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgaWYgKCFleHBvcnRlZENsYXNzTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNjcmlwdCBkb2Vzbid0IGhhdmUgZXhwb3J0ZWQgY2xhc3NcIik7XG4gIH1cblxuICBjb25zdCBlbGVtZW50TWV0YWRhdGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCB8fCAnJyk7XG4gIGNvbnN0IHBhdGggPSAocGFyZW50UGF0aCA/IHBhcmVudFBhdGggKyAnLycgOiAnJykgKyBlbGVtZW50TWV0YWRhdGEubmFtZTtcblxuICByZXR1cm4ge1xuICAgIC4uLmVsZW1lbnRNZXRhZGF0YSxcbiAgICBwYXRoLFxuICAgIHNjcmlwdDogc2NyaXB0Py5yZXBsYWNlKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWCwgJ2V4cG9ydCBjbGFzcycpLFxuICAgIHRlbXBsYXRlLFxuICAgIHN0eWxlcyxcbiAgICBjaGlsZHJlbjogZWwuY2hpbGRyZW4ubWFwKGNoaWxkID0+IGVsZW1lbnRUb01ldGFkYXRhKGNoaWxkLCBwYXRoKSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgbWV0YWRhdGFUb0VsZW1lbnQgPSAobWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSwgcmVjdXJzaXZlOiBib29sZWFuID0gdHJ1ZSk6IFVJRWxlbWVudCA9PiB7XG4gIGNvbnN0IGNsZWFuTWV0YWRhdGEgPSBvbWl0PEVsZW1lbnRNZXRhZGF0YSwga2V5b2YgT21pdDxFbGVtZW50TWV0YWRhdGEsIGtleW9mIEVsZW1lbnREZWZhdWx0TWV0YWRhdGE+PihtZXRhZGF0YSwgW1xuICAgICdwYXRoJyxcbiAgICAndGVtcGxhdGUnLFxuICAgICdzdHlsZXMnLFxuICAgICdzY3JpcHQnLFxuICAgICdtZXRhZGF0YScsXG4gIF0pO1xuICBjb25zdCBlbE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0ge1xuICAgIC4uLmNsZWFuTWV0YWRhdGEsXG4gICAgY2hpbGRyZW46IG1ldGFkYXRhLmNoaWxkcmVuLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpLFxuICB9O1xuICBjb25zdCBub3JtYWxpemVkRWxNZXRhZGF0YSA9IG5vcm1hbGl6ZUVsZW1lbnRNZXRhZGF0YShlbE1ldGFkYXRhKTtcblxuICBpZiAoIW1ldGFkYXRhLnNjcmlwdCB8fCAhRVhQT1JURURfQ0xBU1NfUkVHRVgudGVzdChtZXRhZGF0YS5zY3JpcHQpKSB7XG4gICAgdGhyb3cgbmV3IFVpQnVpbGRFcnJvcihgJyR7bWV0YWRhdGEubmFtZX0nIGNvbXBvbmVudCBzY3JpcHQgaXMgbWlzc2luZyBhbiBleHBvcnRlZCBjbGFzc2AsIG1ldGFkYXRhKTtcbiAgfVxuXG4gIGNvbnN0IHNjcmlwdCA9XG4gICAgbWV0YWRhdGEuc2NyaXB0ICYmXG4gICAgd2luZG93LmJ0b2EoXG4gICAgICBtZXRhZGF0YS5zY3JpcHQucmVwbGFjZShcbiAgICAgICAgRVhQT1JURURfQ0xBU1NfUkVHRVgsXG4gICAgICAgIGBARWxlbWVudERlZmluaXRpb24oJHtzdHJpbmdpZnlFbGVtZW50TWV0YWRhdGEobm9ybWFsaXplZEVsTWV0YWRhdGEpfSlcXG5leHBvcnQgY2xhc3MgU2NyaXB0YCxcbiAgICAgICksXG4gICAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSBtZXRhZGF0YS50ZW1wbGF0ZSAmJiB3aW5kb3cuYnRvYShtZXRhZGF0YS50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IG1ldGFkYXRhLnN0eWxlcyAmJiB3aW5kb3cuYnRvYShtZXRhZGF0YS5zdHlsZXMpO1xuXG4gIHJldHVybiB7XG4gICAgc2NyaXB0LFxuICAgIHRlbXBsYXRlLFxuICAgIHN0eWxlcyxcbiAgICBjaGlsZHJlbjogcmVjdXJzaXZlID8gbWV0YWRhdGEuY2hpbGRyZW4ubWFwKG1ldGEgPT4gbWV0YWRhdGFUb0VsZW1lbnQobWV0YSkpIDogW10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhID0gKGVsZW1lbnRNZXRhZGF0YTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSk6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IHsgLi4uZWxlbWVudE1ldGFkYXRhIH07XG5cbiAgLy8gbW9kZWxcbiAgY29uc3QgeyBsaW5lSXRlbSwgcGF0aCB9ID0gbWV0YWRhdGEubW9kZWwgPz8ge307XG4gIGNvbnN0IG1vZGVsOiBFbGVtZW50TW9kZWwgfCB1bmRlZmluZWQgPSBsaW5lSXRlbSA/IHsgbGluZUl0ZW0gfSA6IHBhdGggPyB7IHBhdGggfSA6IHVuZGVmaW5lZDtcbiAgaWYgKG1vZGVsKSB7XG4gICAgbWV0YWRhdGEubW9kZWwgPSBtb2RlbDtcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEubW9kZWw7XG4gIH1cblxuICAvLyBtb2R1bGVcbiAgaWYgKCFtZXRhZGF0YS5tb2R1bGUpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEubW9kdWxlO1xuICB9XG5cbiAgLy8gcmVmZXJlbmNlXG4gIGlmICghbWV0YWRhdGEucmVmZXJlbmNlKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLnJlZmVyZW5jZTtcbiAgfVxuXG4gIC8vIGlucHV0c1xuICBjb25zdCBpbnB1dHMgPSBPYmplY3QuZW50cmllcyhtZXRhZGF0YS5pbnB1dHMgPz8ge30pLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB2YWx1ZSB8fCBudWxsIH07XG4gIH0sIHt9KTtcbiAgaWYgKGlucHV0cyAmJiBPYmplY3Qua2V5cyhpbnB1dHMpLmxlbmd0aCA+IDApIHtcbiAgICBtZXRhZGF0YS5pbnB1dHMgPSBpbnB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlucHV0cztcbiAgfVxuXG4gIC8vIG91dHB1dHNcbiAgY29uc3Qgb3V0cHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLm91dHB1dHMgPz8ge30pLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB2YWx1ZSB8fCBudWxsIH07XG4gIH0sIHt9KTtcbiAgaWYgKG91dHB1dHMgJiYgT2JqZWN0LmtleXMob3V0cHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLm91dHB1dHMgPSBvdXRwdXRzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5vdXRwdXRzO1xuICB9XG5cbiAgLy8gY2hpbGRyZW5cbiAgaWYgKCFtZXRhZGF0YS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmNoaWxkcmVuO1xuICB9XG5cbiAgLy8gaXNTaGFyZWRcbiAgaWYgKCFtZXRhZGF0YS5pc1NoYXJlZCkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5pc1NoYXJlZDtcbiAgfVxuXG4gIC8vIGNvbmZpZ3VyZWRTdHlsZXNcbiAgaWYgKCFtZXRhZGF0YS5jb25maWd1cmVkU3R5bGVzKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXM7XG4gIH1cblxuICByZXR1cm4gbWV0YWRhdGE7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZyk6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPT4ge1xuICBjb25zdCBtZXRhZGF0YVN0cmluZyA9IChNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICAvLyBuZWVkIHRvIHJlc2V0IHJlZ2V4IGxhc3QgaW5kZXggdG8gcHJldmVudCBudWxsIHJlc3VsdCBmb3IgbmV4dCBleGVjdXRpb25cbiAgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmxhc3RJbmRleCA9IDA7XG5cbiAgcmV0dXJuIG5ldyBGdW5jdGlvbihgcmV0dXJuICR7bWV0YWRhdGFTdHJpbmd9YCkoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRlbmRFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcsIGV4dGVuZDogUGFydGlhbDxFbGVtZW50RGVmYXVsdE1ldGFkYXRhPik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICBpZiAoIW1ldGFkYXRhU3RyaW5nKSB7XG4gICAgcmV0dXJuIHNjcmlwdDtcbiAgfVxuXG4gIGNvbnN0IHVwZGF0ZWQgPSB7IC4uLm5ldyBGdW5jdGlvbihgcmV0dXJuICR7bWV0YWRhdGFTdHJpbmd9YCkoKSwgLi4uZXh0ZW5kIH07XG4gIHJldHVybiBzY3JpcHQucmVwbGFjZShtZXRhZGF0YVN0cmluZywgc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKHVwZGF0ZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50Q29uZmlnID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IEVsZW1lbnRDb25maWcgPT4ge1xuICByZXR1cm4gQ09ORklHW3R5cGVdO1xufTtcblxuZXhwb3J0IGNvbnN0IGRvZXNFbGVtZW50U3VwcG9ydElPID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gZ2V0RWxlbWVudENvbmZpZyh0eXBlKS5wbHVnaW5zPy5pbmNsdWRlcyhJT1BsdWdpbikgPz8gZmFsc2U7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKGVsZW1lbnRNZXRhZGF0YTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSk6IHN0cmluZyB7XG4gIGNvbnN0IGNsZWFuZWQgPSBKU09OLnN0cmluZ2lmeShlbGVtZW50TWV0YWRhdGEsIG51bGwsIDIpO1xuXG4gIHJldHVybiBjbGVhbmVkLnJlcGxhY2UoL15bXFx0IF0qXCJbXjpcXG5cXHJdKyg/PCFcXFxcKVwiOi9nbSwgZnVuY3Rpb24gKG1hdGNoKSB7XG4gICAgcmV0dXJuIG1hdGNoLnJlcGxhY2UoL1wiL2csICcnKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkU2NyaXB0ID0gKHNjcmlwdD86IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIXNjcmlwdCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuICBpZiAoIWV4cG9ydGVkQ2xhc3NOYW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWV0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0KTtcbiAgaWYgKCFtZXRhLm5hbWUgfHwgIW1ldGEudHlwZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gIHJldHVybiBmbGF0dGVuKGVsZW1lbnRzLm1hcChlbCA9PiBbZWwsIC4uLmZsYXR0ZW5FbGVtZW50cyhlbC5jaGlsZHJlbildKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihlbC5pc1NoYXJlZCkgJiYgZWwudHlwZSAhPT0gJ1JFRkVSRU5DRSc7XG59XG4iXX0=
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy91dGlscy9lbGVtZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBQ2xELE1BQU0sd0JBQXdCLEdBQUcsMERBQTBELENBQUM7QUFFNUYsTUFBTSxPQUFPLFlBQWEsU0FBUSxLQUFLO0lBRXJDLFlBQVksT0FBZSxFQUFFLGdCQUFpQztRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQWEsRUFBRSxVQUFtQixFQUFtQixFQUFFO0lBQ3ZGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5DLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1B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LE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixJQUFJLENBQUMsaUJBQWlCLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQTJCO0lBQ3pELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsRUFBbUI7SUFDakQsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUVsZW1lbnQgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIG9taXQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ09ORklHIH0gZnJvbSAnLi4vY21zLmVsZW1lbnRzJztcbmltcG9ydCB7IElPUGx1Z2luIH0gZnJvbSAnLi4vcGx1Z2lucy9pby5wbHVnaW4nO1xuaW1wb3J0IHsgRUxFTUVOVF9UWVBFLCBFbGVtZW50Q29uZmlnLCBFbGVtZW50RGVmYXVsdE1ldGFkYXRhLCBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGF0b2JTYWZlLCBidG9hU2FmZSB9IGZyb20gJy4vZW5jb2RpbmcudXRpbHMnO1xuXG5jb25zdCBFWFBPUlRFRF9DTEFTU19SRUdFWCA9IC9leHBvcnQgY2xhc3MgKFxcUyspLztcbmNvbnN0IE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWCA9IC9ARWxlbWVudERlZmluaXRpb25cXCgoW1xcc1xcU10rKVxcKShcXG58XFxyXFxufC4pKmV4cG9ydCBjbGFzcy9nO1xuXG5leHBvcnQgY2xhc3MgVWlCdWlsZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgYWZmZWN0ZWRNZXRhZGF0YTogRWxlbWVudE1ldGFkYXRhO1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIGFmZmVjdGVkTWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICB0aGlzLmFmZmVjdGVkTWV0YWRhdGEgPSBhZmZlY3RlZE1ldGFkYXRhO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBlbGVtZW50VG9NZXRhZGF0YSA9IChlbDogVUlFbGVtZW50LCBwYXJlbnRQYXRoPzogc3RyaW5nKTogRWxlbWVudE1ldGFkYXRhID0+IHtcbiAgY29uc3Qgc2NyaXB0ID0gYXRvYlNhZmUoZWwuc2NyaXB0KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBhdG9iU2FmZShlbC50ZW1wbGF0ZSk7XG4gIGNvbnN0IHN0eWxlcyA9IGF0b2JTYWZlKGVsLnN0eWxlcyk7XG5cbiAgY29uc3QgZXhwb3J0ZWRDbGFzc05hbWUgPSBzY3JpcHQgJiYgKEVYUE9SVEVEX0NMQVNTX1JFR0VYLmV4ZWMoc2NyaXB0KSA/PyBbXSlbMV07XG5cbiAgaWYgKCFleHBvcnRlZENsYXNzTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNjcmlwdCBkb2Vzbid0IGhhdmUgZXhwb3J0ZWQgY2xhc3NcIik7XG4gIH1cblxuICBjb25zdCBlbGVtZW50TWV0YWRhdGEgPSBleHRyYWN0RWxlbWVudE1ldGFkYXRhKHNjcmlwdCB8fCAnJyk7XG4gIGNvbnN0IHBhdGggPSAocGFyZW50UGF0aCA/IHBhcmVudFBhdGggKyAnLycgOiAnJykgKyBlbGVtZW50TWV0YWRhdGEubmFtZTtcblxuICByZXR1cm4ge1xuICAgIC4uLmVsZW1lbnRNZXRhZGF0YSxcbiAgICBwYXRoLFxuICAgIHNjcmlwdDogc2NyaXB0Py5yZXBsYWNlKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWCwgJ2V4cG9ydCBjbGFzcycpLFxuICAgIHRlbXBsYXRlLFxuICAgIHN0eWxlcyxcbiAgICBjaGlsZHJlbjogZWwuY2hpbGRyZW4ubWFwKGNoaWxkID0+IGVsZW1lbnRUb01ldGFkYXRhKGNoaWxkLCBwYXRoKSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgbWV0YWRhdGFUb0VsZW1lbnQgPSAobWV0YWRhdGE6IEVsZW1lbnRNZXRhZGF0YSwgcmVjdXJzaXZlOiBib29sZWFuID0gdHJ1ZSk6IFVJRWxlbWVudCA9PiB7XG4gIGNvbnN0IGNsZWFuTWV0YWRhdGEgPSBvbWl0PEVsZW1lbnRNZXRhZGF0YSwga2V5b2YgT21pdDxFbGVtZW50TWV0YWRhdGEsIGtleW9mIEVsZW1lbnREZWZhdWx0TWV0YWRhdGE+PihtZXRhZGF0YSwgW1xuICAgICdwYXRoJyxcbiAgICAndGVtcGxhdGUnLFxuICAgICdzdHlsZXMnLFxuICAgICdzY3JpcHQnLFxuICAgICdtZXRhZGF0YScsXG4gIF0pO1xuICBjb25zdCBlbE1ldGFkYXRhOiBFbGVtZW50RGVmYXVsdE1ldGFkYXRhID0ge1xuICAgIC4uLmNsZWFuTWV0YWRhdGEsXG4gICAgY2hpbGRyZW46IG1ldGFkYXRhLmNoaWxkcmVuLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpLFxuICB9O1xuICBjb25zdCBub3JtYWxpemVkRWxNZXRhZGF0YSA9IG5vcm1hbGl6ZUVsZW1lbnRNZXRhZGF0YShlbE1ldGFkYXRhKTtcblxuICBpZiAoIW1ldGFkYXRhLnNjcmlwdCB8fCAhRVhQT1JURURfQ0xBU1NfUkVHRVgudGVzdChtZXRhZGF0YS5zY3JpcHQpKSB7XG4gICAgdGhyb3cgbmV3IFVpQnVpbGRFcnJvcihgJyR7bWV0YWRhdGEubmFtZX0nIGNvbXBvbmVudCBzY3JpcHQgaXMgbWlzc2luZyBhbiBleHBvcnRlZCBjbGFzc2AsIG1ldGFkYXRhKTtcbiAgfVxuXG4gIGNvbnN0IHNjcmlwdCA9IGJ0b2FTYWZlKFxuICAgIG1ldGFkYXRhLnNjcmlwdD8ucmVwbGFjZShcbiAgICAgIEVYUE9SVEVEX0NMQVNTX1JFR0VYLFxuICAgICAgYEBFbGVtZW50RGVmaW5pdGlvbigke3N0cmluZ2lmeUVsZW1lbnRNZXRhZGF0YShub3JtYWxpemVkRWxNZXRhZGF0YSl9KVxcbmV4cG9ydCBjbGFzcyBTY3JpcHRgLFxuICAgICksXG4gICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gYnRvYVNhZmUobWV0YWRhdGEudGVtcGxhdGUpO1xuICBjb25zdCBzdHlsZXMgPSBidG9hU2FmZShtZXRhZGF0YS5zdHlsZXMpO1xuXG4gIHJldHVybiB7XG4gICAgc2NyaXB0LFxuICAgIHRlbXBsYXRlLFxuICAgIHN0eWxlcyxcbiAgICBjaGlsZHJlbjogcmVjdXJzaXZlID8gbWV0YWRhdGEuY2hpbGRyZW4ubWFwKG1ldGEgPT4gbWV0YWRhdGFUb0VsZW1lbnQobWV0YSkpIDogW10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplRWxlbWVudE1ldGFkYXRhID0gKGVsZW1lbnRNZXRhZGF0YTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSk6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPT4ge1xuICBjb25zdCBtZXRhZGF0YSA9IHsgLi4uZWxlbWVudE1ldGFkYXRhIH07XG5cbiAgLy8gbW9kZWxcbiAgY29uc3QgeyBsaW5lSXRlbSwgcGF0aCB9ID0gbWV0YWRhdGEubW9kZWwgPz8ge307XG4gIGNvbnN0IG1vZGVsOiBFbGVtZW50TW9kZWwgfCB1bmRlZmluZWQgPSBsaW5lSXRlbSA/IHsgbGluZUl0ZW0gfSA6IHBhdGggPyB7IHBhdGggfSA6IHVuZGVmaW5lZDtcbiAgaWYgKG1vZGVsKSB7XG4gICAgbWV0YWRhdGEubW9kZWwgPSBtb2RlbDtcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgbWV0YWRhdGEubW9kZWw7XG4gIH1cblxuICAvLyBtb2R1bGVcbiAgaWYgKCFtZXRhZGF0YS5tb2R1bGUpIHtcbiAgICBkZWxldGUgbWV0YWRhdGEubW9kdWxlO1xuICB9XG5cbiAgLy8gcmVmZXJlbmNlXG4gIGlmICghbWV0YWRhdGEucmVmZXJlbmNlKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLnJlZmVyZW5jZTtcbiAgfVxuXG4gIC8vIGlucHV0c1xuICBjb25zdCBpbnB1dHMgPSBPYmplY3QuZW50cmllcyhtZXRhZGF0YS5pbnB1dHMgPz8ge30pLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB2YWx1ZSB8fCBudWxsIH07XG4gIH0sIHt9KTtcbiAgaWYgKGlucHV0cyAmJiBPYmplY3Qua2V5cyhpbnB1dHMpLmxlbmd0aCA+IDApIHtcbiAgICBtZXRhZGF0YS5pbnB1dHMgPSBpbnB1dHM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmlucHV0cztcbiAgfVxuXG4gIC8vIG91dHB1dHNcbiAgY29uc3Qgb3V0cHV0cyA9IE9iamVjdC5lbnRyaWVzKG1ldGFkYXRhLm91dHB1dHMgPz8ge30pLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICByZXR1cm4geyAuLi5hY2MsIFtrZXldOiB2YWx1ZSB8fCBudWxsIH07XG4gIH0sIHt9KTtcbiAgaWYgKG91dHB1dHMgJiYgT2JqZWN0LmtleXMob3V0cHV0cykubGVuZ3RoID4gMCkge1xuICAgIG1ldGFkYXRhLm91dHB1dHMgPSBvdXRwdXRzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5vdXRwdXRzO1xuICB9XG5cbiAgLy8gY2hpbGRyZW5cbiAgaWYgKCFtZXRhZGF0YS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmNoaWxkcmVuO1xuICB9XG5cbiAgLy8gaXNTaGFyZWRcbiAgaWYgKCFtZXRhZGF0YS5pc1NoYXJlZCkge1xuICAgIGRlbGV0ZSBtZXRhZGF0YS5pc1NoYXJlZDtcbiAgfVxuXG4gIC8vIGNvbmZpZ3VyZWRTdHlsZXNcbiAgaWYgKCFtZXRhZGF0YS5jb25maWd1cmVkU3R5bGVzKSB7XG4gICAgZGVsZXRlIG1ldGFkYXRhLmNvbmZpZ3VyZWRTdHlsZXM7XG4gIH1cblxuICByZXR1cm4gbWV0YWRhdGE7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdEVsZW1lbnRNZXRhZGF0YSA9IChzY3JpcHQ6IHN0cmluZyk6IEVsZW1lbnREZWZhdWx0TWV0YWRhdGEgPT4ge1xuICBjb25zdCBtZXRhZGF0YVN0cmluZyA9IChNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVguZXhlYyhzY3JpcHQpID8/IFtdKVsxXTtcblxuICAvLyBuZWVkIHRvIHJlc2V0IHJlZ2V4IGxhc3QgaW5kZXggdG8gcHJldmVudCBudWxsIHJlc3VsdCBmb3IgbmV4dCBleGVjdXRpb25cbiAgTUVUQURBVEFfREVDT1JBVE9SX1JFR0VYLmxhc3RJbmRleCA9IDA7XG5cbiAgcmV0dXJuIG5ldyBGdW5jdGlvbihgcmV0dXJuICR7bWV0YWRhdGFTdHJpbmd9YCkoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRlbmRFbGVtZW50TWV0YWRhdGEgPSAoc2NyaXB0OiBzdHJpbmcsIGV4dGVuZDogUGFydGlhbDxFbGVtZW50RGVmYXVsdE1ldGFkYXRhPik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhU3RyaW5nID0gKE1FVEFEQVRBX0RFQ09SQVRPUl9SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuXG4gIC8vIG5lZWQgdG8gcmVzZXQgcmVnZXggbGFzdCBpbmRleCB0byBwcmV2ZW50IG51bGwgcmVzdWx0IGZvciBuZXh0IGV4ZWN1dGlvblxuICBNRVRBREFUQV9ERUNPUkFUT1JfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuICBpZiAoIW1ldGFkYXRhU3RyaW5nKSB7XG4gICAgcmV0dXJuIHNjcmlwdDtcbiAgfVxuXG4gIGNvbnN0IHVwZGF0ZWQgPSB7IC4uLm5ldyBGdW5jdGlvbihgcmV0dXJuICR7bWV0YWRhdGFTdHJpbmd9YCkoKSwgLi4uZXh0ZW5kIH07XG4gIHJldHVybiBzY3JpcHQucmVwbGFjZShtZXRhZGF0YVN0cmluZywgc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKHVwZGF0ZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50Q29uZmlnID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IEVsZW1lbnRDb25maWcgPT4ge1xuICByZXR1cm4gQ09ORklHW3R5cGVdO1xufTtcblxuZXhwb3J0IGNvbnN0IGRvZXNFbGVtZW50U3VwcG9ydElPID0gKHR5cGU6IEVMRU1FTlRfVFlQRSk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gZ2V0RWxlbWVudENvbmZpZyh0eXBlKS5wbHVnaW5zPy5pbmNsdWRlcyhJT1BsdWdpbikgPz8gZmFsc2U7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5RWxlbWVudE1ldGFkYXRhKGVsZW1lbnRNZXRhZGF0YTogRWxlbWVudERlZmF1bHRNZXRhZGF0YSk6IHN0cmluZyB7XG4gIGNvbnN0IGNsZWFuZWQgPSBKU09OLnN0cmluZ2lmeShlbGVtZW50TWV0YWRhdGEsIG51bGwsIDIpO1xuXG4gIHJldHVybiBjbGVhbmVkLnJlcGxhY2UoL15bXFx0IF0qXCJbXjpcXG5cXHJdKyg/PCFcXFxcKVwiOi9nbSwgZnVuY3Rpb24gKG1hdGNoKSB7XG4gICAgcmV0dXJuIG1hdGNoLnJlcGxhY2UoL1wiL2csICcnKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkU2NyaXB0ID0gKHNjcmlwdD86IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIXNjcmlwdCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGV4cG9ydGVkQ2xhc3NOYW1lID0gc2NyaXB0ICYmIChFWFBPUlRFRF9DTEFTU19SRUdFWC5leGVjKHNjcmlwdCkgPz8gW10pWzFdO1xuICBpZiAoIWV4cG9ydGVkQ2xhc3NOYW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWV0YSA9IGV4dHJhY3RFbGVtZW50TWV0YWRhdGEoc2NyaXB0KTtcbiAgaWYgKCFtZXRhLm5hbWUgfHwgIW1ldGEudHlwZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5FbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gIHJldHVybiBmbGF0dGVuKGVsZW1lbnRzLm1hcChlbCA9PiBbZWwsIC4uLmZsYXR0ZW5FbGVtZW50cyhlbC5jaGlsZHJlbildKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NoYXJlZEVsZW1lbnQoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihlbC5pc1NoYXJlZCkgJiYgZWwudHlwZSAhPT0gJ1JFRkVSRU5DRSc7XG59XG4iXX0=
|
@@ -0,0 +1,28 @@
|
|
1
|
+
export function btoaSafe(str) {
|
2
|
+
if (!str) {
|
3
|
+
return '';
|
4
|
+
}
|
5
|
+
try {
|
6
|
+
const encoder = new TextEncoder();
|
7
|
+
const charCodes = encoder.encode(str);
|
8
|
+
return window.btoa(String.fromCharCode(...charCodes)) || '';
|
9
|
+
}
|
10
|
+
catch (e) {
|
11
|
+
return '';
|
12
|
+
}
|
13
|
+
}
|
14
|
+
export function atobSafe(str) {
|
15
|
+
if (!str) {
|
16
|
+
return '';
|
17
|
+
}
|
18
|
+
try {
|
19
|
+
const binary = window.atob(str);
|
20
|
+
const bytes = Uint8Array.from({ length: binary.length }, (_, index) => binary.charCodeAt(index));
|
21
|
+
const decoder = new TextDecoder('utf-8');
|
22
|
+
return decoder.decode(bytes);
|
23
|
+
}
|
24
|
+
catch (e) {
|
25
|
+
return '';
|
26
|
+
}
|
27
|
+
}
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZW5jb2RpbmcudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFZO0lBQ25DLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsSUFBSTtRQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzdEO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLEVBQUUsQ0FBQztLQUNYO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBWTtJQUNuQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM5QjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxFQUFFLENBQUM7S0FDWDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYnRvYVNhZmUoc3RyPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFzdHIpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgY29uc3QgY2hhckNvZGVzID0gZW5jb2Rlci5lbmNvZGUoc3RyKTtcbiAgICByZXR1cm4gd2luZG93LmJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5jaGFyQ29kZXMpKSB8fCAnJztcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXRvYlNhZmUoc3RyPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFzdHIpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBiaW5hcnkgPSB3aW5kb3cuYXRvYihzdHIpO1xuICAgIGNvbnN0IGJ5dGVzID0gVWludDhBcnJheS5mcm9tKHsgbGVuZ3RoOiBiaW5hcnkubGVuZ3RoIH0sIChfLCBpbmRleCkgPT4gYmluYXJ5LmNoYXJDb2RlQXQoaW5kZXgpKTtcbiAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCd1dGYtOCcpO1xuICAgIHJldHVybiBkZWNvZGVyLmRlY29kZShieXRlcyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==
|