@veloceapps/sdk 7.0.2-10 → 7.0.2-12
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/components/element-tools-panel/element-tools-panel.component.d.ts +14 -0
- package/cms/components/preview/preview.module.d.ts +2 -1
- package/cms/modules/runtime/services/runtime-editor.service.d.ts +6 -4
- package/cms/modules/runtime/types/runtime.actions.d.ts +5 -2
- package/cms/plugins/element-hover.plugin.d.ts +30 -0
- package/cms/types/common.types.d.ts +3 -0
- package/cms/vendor-map.d.ts +2 -1
- package/esm2020/cms/cms.elements.mjs +14 -3
- package/esm2020/cms/components/element-drop-handle/element-drop-handle.component.mjs +2 -2
- package/esm2020/cms/components/element-tools-panel/element-tools-panel.component.mjs +35 -0
- package/esm2020/cms/components/preview/preview.module.mjs +22 -4
- package/esm2020/cms/modules/runtime/services/runtime-editor.service.mjs +5 -3
- package/esm2020/cms/modules/runtime/types/runtime.actions.mjs +1 -1
- package/esm2020/cms/plugins/element-hover.plugin.mjs +104 -0
- package/esm2020/cms/types/common.types.mjs +1 -1
- package/esm2020/cms/vendor-map.mjs +3 -2
- package/fesm2015/veloceapps-sdk-cms.mjs +167 -9
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +163 -9
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RuntimeEditorService } from '../../modules/runtime';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ElementToolsPanelComponent {
|
|
4
|
+
private readonly metadata;
|
|
5
|
+
private readonly config;
|
|
6
|
+
private readonly elementRef;
|
|
7
|
+
runtimeEditorService?: RuntimeEditorService;
|
|
8
|
+
showDeleteButton: boolean;
|
|
9
|
+
constructor();
|
|
10
|
+
deleteHandler(): void;
|
|
11
|
+
showSettingsHandler(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElementToolsPanelComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ElementToolsPanelComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -5,8 +5,9 @@ import * as i3 from "@veloceapps/components";
|
|
|
5
5
|
import * as i4 from "../element-renderer/element-renderer.module";
|
|
6
6
|
import * as i5 from "../element-children/element-children.module";
|
|
7
7
|
import * as i6 from "../element-drop-handle/element-drop-handle.module";
|
|
8
|
+
import * as i7 from "../element-tools-panel/element-tools-panel.component";
|
|
8
9
|
export declare class PreviewModule {
|
|
9
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<PreviewModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<PreviewModule, [typeof i1.PreviewComponent], [typeof i2.CommonModule, typeof i3.LoaderModule, typeof i4.ElementRendererModule, typeof i5.ElementChildrenModule, typeof i6.ElementDropHandleModule], [typeof i1.PreviewComponent]>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PreviewModule, [typeof i1.PreviewComponent], [typeof i2.CommonModule, typeof i3.LoaderModule, typeof i4.ElementRendererModule, typeof i5.ElementChildrenModule, typeof i6.ElementDropHandleModule, typeof i7.ElementToolsPanelComponent], [typeof i1.PreviewComponent]>;
|
|
11
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<PreviewModule>;
|
|
12
13
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Patch } from 'rfc6902';
|
|
2
2
|
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
|
|
3
|
-
import {
|
|
3
|
+
import { RuntimeElementDeleteEvent, RuntimeElementDropEvent, RuntimeShowSettingsEvent } from '../types/runtime.actions';
|
|
4
4
|
import { RuntimeService } from './runtime.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class RuntimeEditorService {
|
|
7
7
|
private runtimeService;
|
|
8
8
|
private editorModeSubj$;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
onElementDropped$: ReplaySubject<RuntimeElementDropEvent>;
|
|
10
|
+
onElementDeleted$: ReplaySubject<RuntimeElementDeleteEvent>;
|
|
11
|
+
onElementSettingsToggled$: ReplaySubject<RuntimeShowSettingsEvent>;
|
|
12
12
|
editorMode$: Observable<boolean>;
|
|
13
|
+
dragMode$: BehaviorSubject<boolean>;
|
|
14
|
+
selectedElementPath$: BehaviorSubject<string | null>;
|
|
13
15
|
constructor(runtimeService: RuntimeService);
|
|
14
16
|
applyPatch$(patch: Patch): Observable<void>;
|
|
15
17
|
toggleEditorMode(): void;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { ElementMetadata } from '../../../types';
|
|
2
|
-
export interface
|
|
2
|
+
export interface RuntimeElementDropEvent {
|
|
3
3
|
element: ElementMetadata;
|
|
4
4
|
path: string;
|
|
5
5
|
index: number;
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface RuntimeElementDeleteEvent {
|
|
8
|
+
path: string;
|
|
9
|
+
}
|
|
10
|
+
export interface RuntimeShowSettingsEvent {
|
|
8
11
|
path: string;
|
|
9
12
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { ElementComponent } from '../components/element.component';
|
|
3
|
+
import { PluginComponent } from '../components/plugin.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ElementHoverPlugin implements PluginComponent, OnDestroy {
|
|
6
|
+
host: ElementComponent;
|
|
7
|
+
private readonly hoverClassName;
|
|
8
|
+
private readonly metadata;
|
|
9
|
+
private readonly appRef;
|
|
10
|
+
private readonly el;
|
|
11
|
+
private readonly document;
|
|
12
|
+
private readonly runtimeEditorService;
|
|
13
|
+
private overlayEl?;
|
|
14
|
+
private isHovered$;
|
|
15
|
+
private isSelected$;
|
|
16
|
+
private destroyed$;
|
|
17
|
+
private mouseOverListenerBound;
|
|
18
|
+
private mouseLeaveListenerBound;
|
|
19
|
+
constructor(host: ElementComponent);
|
|
20
|
+
ngOnDestroy(): void;
|
|
21
|
+
private attachListeners;
|
|
22
|
+
private detachListeners;
|
|
23
|
+
private mouseOverListener;
|
|
24
|
+
private mouseLeaveListener;
|
|
25
|
+
private addHighlight;
|
|
26
|
+
private removeHighlight;
|
|
27
|
+
private updateHighlight;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ElementHoverPlugin, never>;
|
|
29
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ElementHoverPlugin>;
|
|
30
|
+
}
|
package/cms/vendor-map.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as angularCore from '@angular/core';
|
|
2
2
|
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
|
-
import { ToastService } from '@veloceapps/components';
|
|
4
|
+
import { ToastService, ToastType } from '@veloceapps/components';
|
|
5
5
|
import { Operator, Predicate, parseJsonSafely } from '@veloceapps/core';
|
|
6
6
|
import { ConfigurationService, ContextService, FlowConfigurationService, LineItemWorker, ProductImagesService, QuoteDraftService } from '@veloceapps/sdk/core';
|
|
7
7
|
import lodash from 'lodash';
|
|
@@ -25,6 +25,7 @@ export declare const vendorMap: {
|
|
|
25
25
|
};
|
|
26
26
|
'@veloceapps/components': {
|
|
27
27
|
ToastService: typeof ToastService;
|
|
28
|
+
ToastType: typeof ToastType;
|
|
28
29
|
};
|
|
29
30
|
'@veloceapps/api': {
|
|
30
31
|
SalesforceApiService: typeof SalesforceApiService;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ElementComponent } from './components/element.component';
|
|
2
|
+
import { ElementHoverPlugin } from './plugins/element-hover.plugin';
|
|
2
3
|
import { IOPlugin } from './plugins/io.plugin';
|
|
3
4
|
import { RegionPlugin } from './plugins/region.plugin';
|
|
4
5
|
import { ScriptPlugin } from './plugins/script.plugin';
|
|
@@ -8,33 +9,43 @@ import { ScriptPlugin } from './plugins/script.plugin';
|
|
|
8
9
|
export const CONFIG = {
|
|
9
10
|
CUSTOM: {
|
|
10
11
|
component: ElementComponent,
|
|
11
|
-
plugins: [IOPlugin, ScriptPlugin],
|
|
12
|
+
plugins: [IOPlugin, ElementHoverPlugin, ScriptPlugin],
|
|
13
|
+
builder: {},
|
|
12
14
|
},
|
|
13
15
|
CONTAINER: {
|
|
14
16
|
component: ElementComponent,
|
|
15
17
|
defaultTemplate: '<element-children></element-children>',
|
|
16
18
|
plugins: [ScriptPlugin],
|
|
19
|
+
builder: {},
|
|
17
20
|
},
|
|
18
21
|
SERVICE: {
|
|
19
22
|
component: ElementComponent,
|
|
20
23
|
plugins: [IOPlugin, ScriptPlugin],
|
|
21
24
|
suppressTemplate: true,
|
|
22
25
|
suppressStyles: true,
|
|
26
|
+
builder: {},
|
|
23
27
|
},
|
|
24
28
|
REFERENCE: {
|
|
25
29
|
component: ElementComponent,
|
|
26
30
|
plugins: [IOPlugin, ScriptPlugin],
|
|
27
31
|
suppressTemplate: true,
|
|
32
|
+
builder: {},
|
|
28
33
|
},
|
|
29
34
|
PAGE: {
|
|
30
35
|
component: ElementComponent,
|
|
31
36
|
defaultTemplate: '<element-children></element-children>',
|
|
32
37
|
plugins: [IOPlugin, ScriptPlugin],
|
|
38
|
+
builder: {
|
|
39
|
+
suppressRemovable: true,
|
|
40
|
+
},
|
|
33
41
|
},
|
|
34
42
|
REGION: {
|
|
35
43
|
component: ElementComponent,
|
|
36
44
|
defaultTemplate: '<element-children></element-children>',
|
|
37
|
-
plugins: [IOPlugin,
|
|
45
|
+
plugins: [IOPlugin, RegionPlugin, ElementHoverPlugin, ScriptPlugin],
|
|
46
|
+
builder: {
|
|
47
|
+
suppressRemovable: true,
|
|
48
|
+
},
|
|
38
49
|
},
|
|
39
50
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLmVsZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2Ntcy5lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RDs7R0FFRztBQUVILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBNkM7SUFDOUQsTUFBTSxFQUFFO1FBQ04sU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxDQUFDO1FBQ3JELE9BQU8sRUFBRSxFQUFFO0tBQ1o7SUFDRCxTQUFTLEVBQUU7UUFDVCxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLGVBQWUsRUFBRSx1Q0FBdUM7UUFDeEQsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxFQUFFO0tBQ1o7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7UUFDakMsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixjQUFjLEVBQUUsSUFBSTtRQUNwQixPQUFPLEVBQUUsRUFBRTtLQUNaO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2pDLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsT0FBTyxFQUFFLEVBQUU7S0FDWjtJQUNELElBQUksRUFBRTtRQUNKLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsZUFBZSxFQUFFLHVDQUF1QztRQUN4RCxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQ2pDLE9BQU8sRUFBRTtZQUNQLGlCQUFpQixFQUFFLElBQUk7U0FDeEI7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsZUFBZSxFQUFFLHVDQUF1QztRQUN4RCxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFlBQVksQ0FBQztRQUNuRSxPQUFPLEVBQUU7WUFDUCxpQkFBaUIsRUFBRSxJQUFJO1NBQ3hCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50SG92ZXJQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvZWxlbWVudC1ob3Zlci5wbHVnaW4nO1xuaW1wb3J0IHsgSU9QbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMvaW8ucGx1Z2luJztcbmltcG9ydCB7IFJlZ2lvblBsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9yZWdpb24ucGx1Z2luJztcbmltcG9ydCB7IFNjcmlwdFBsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9zY3JpcHQucGx1Z2luJztcbmltcG9ydCB7IEVMRU1FTlRfVFlQRSwgRWxlbWVudENvbmZpZyB9IGZyb20gJy4vdHlwZXMvY29tbW9uLnR5cGVzJztcblxuLypcbiAqIFNjcmlwdFBsdWdpbiBtdXN0IGFsd2F5cyBiZSB0aGUgbGFzdCBwbHVnaW4gaW4gdGhlIGxpc3QgdG8gbWFrZSBzdXJlIHVzZXIgY29kZSBpcyBydW5uaW5nIGFmdGVyIGFsbCBwcmUtaW5pdGlhbGl6ZXJzLlxuICovXG5cbmV4cG9ydCBjb25zdCBDT05GSUc6IHsgW2tleSBpbiBFTEVNRU5UX1RZUEVdOiBFbGVtZW50Q29uZmlnIH0gPSB7XG4gIENVU1RPTToge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBwbHVnaW5zOiBbSU9QbHVnaW4sIEVsZW1lbnRIb3ZlclBsdWdpbiwgU2NyaXB0UGx1Z2luXSxcbiAgICBidWlsZGVyOiB7fSxcbiAgfSxcbiAgQ09OVEFJTkVSOiB7XG4gICAgY29tcG9uZW50OiBFbGVtZW50Q29tcG9uZW50LFxuICAgIGRlZmF1bHRUZW1wbGF0ZTogJzxlbGVtZW50LWNoaWxkcmVuPjwvZWxlbWVudC1jaGlsZHJlbj4nLFxuICAgIHBsdWdpbnM6IFtTY3JpcHRQbHVnaW5dLFxuICAgIGJ1aWxkZXI6IHt9LFxuICB9LFxuICBTRVJWSUNFOiB7XG4gICAgY29tcG9uZW50OiBFbGVtZW50Q29tcG9uZW50LFxuICAgIHBsdWdpbnM6IFtJT1BsdWdpbiwgU2NyaXB0UGx1Z2luXSxcbiAgICBzdXBwcmVzc1RlbXBsYXRlOiB0cnVlLFxuICAgIHN1cHByZXNzU3R5bGVzOiB0cnVlLFxuICAgIGJ1aWxkZXI6IHt9LFxuICB9LFxuICBSRUZFUkVOQ0U6IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICAgIHN1cHByZXNzVGVtcGxhdGU6IHRydWUsXG4gICAgYnVpbGRlcjoge30sXG4gIH0sXG4gIFBBR0U6IHtcbiAgICBjb21wb25lbnQ6IEVsZW1lbnRDb21wb25lbnQsXG4gICAgZGVmYXVsdFRlbXBsYXRlOiAnPGVsZW1lbnQtY2hpbGRyZW4+PC9lbGVtZW50LWNoaWxkcmVuPicsXG4gICAgcGx1Z2luczogW0lPUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICAgIGJ1aWxkZXI6IHtcbiAgICAgIHN1cHByZXNzUmVtb3ZhYmxlOiB0cnVlLFxuICAgIH0sXG4gIH0sXG4gIFJFR0lPTjoge1xuICAgIGNvbXBvbmVudDogRWxlbWVudENvbXBvbmVudCxcbiAgICBkZWZhdWx0VGVtcGxhdGU6ICc8ZWxlbWVudC1jaGlsZHJlbj48L2VsZW1lbnQtY2hpbGRyZW4+JyxcbiAgICBwbHVnaW5zOiBbSU9QbHVnaW4sIFJlZ2lvblBsdWdpbiwgRWxlbWVudEhvdmVyUGx1Z2luLCBTY3JpcHRQbHVnaW5dLFxuICAgIGJ1aWxkZXI6IHtcbiAgICAgIHN1cHByZXNzUmVtb3ZhYmxlOiB0cnVlLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
|
|
@@ -8,7 +8,7 @@ export class ElementDropHandleComponent {
|
|
|
8
8
|
this.runtimeService = runtimeService;
|
|
9
9
|
}
|
|
10
10
|
handleDrop(e) {
|
|
11
|
-
this.runtimeService.
|
|
11
|
+
this.runtimeService.onElementDropped$.next({
|
|
12
12
|
element: e.data,
|
|
13
13
|
index: this.index,
|
|
14
14
|
path: this.parentPath,
|
|
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
25
25
|
}], parentPath: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1kcm9wLWhhbmRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvY29tcG9uZW50cy9lbGVtZW50LWRyb3AtaGFuZGxlL2VsZW1lbnQtZHJvcC1oYW5kbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL2NvbXBvbmVudHMvZWxlbWVudC1kcm9wLWhhbmRsZS9lbGVtZW50LWRyb3AtaGFuZGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7O0FBUzdGLE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFBb0IsY0FBb0M7UUFBcEMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO0lBQUcsQ0FBQztJQUVyRCxVQUFVLENBQUMsQ0FBZTtRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUN6QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQXVCO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7dUhBWlUsMEJBQTBCOzJHQUExQiwwQkFBMEIsb0hDWHZDLGtIQUdBOzJGRFFhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07MkdBRy9CLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEbmREcm9wRXZlbnQgfSBmcm9tICduZ3gtZHJhZy1kcm9wJztcbmltcG9ydCB7IFJ1bnRpbWVFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9ydW50aW1lL3NlcnZpY2VzL3J1bnRpbWUtZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudE1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZWxlbWVudC1kcm9wLWhhbmRsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGVtZW50LWRyb3AtaGFuZGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxlbWVudC1kcm9wLWhhbmRsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudERyb3BIYW5kbGVDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgaW5kZXghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJlbnRQYXRoITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcnVudGltZVNlcnZpY2U6IFJ1bnRpbWVFZGl0b3JTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBoYW5kbGVEcm9wKGU6IERuZERyb3BFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucnVudGltZVNlcnZpY2Uub25FbGVtZW50RHJvcHBlZCQubmV4dCh7XG4gICAgICBlbGVtZW50OiBlLmRhdGEgYXMgRWxlbWVudE1ldGFkYXRhLFxuICAgICAgaW5kZXg6IHRoaXMuaW5kZXgsXG4gICAgICBwYXRoOiB0aGlzLnBhcmVudFBhdGgsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBkbmREcm9wem9uZSAoZG5kRHJvcCk9XCJoYW5kbGVEcm9wKCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cImhhbmRsZVwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|