@smartbit4all/ng-client 1.0.12 → 1.0.13
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/esm2020/lib/smart-client/smart-component-api-client.mjs +36 -14
- package/esm2020/lib/smart-client/smart.component.mjs +12 -13
- package/esm2020/lib/smart-client/smart.service.mjs +12 -13
- package/esm2020/lib/view-context/api/api/view.service.mjs +118 -1
- package/esm2020/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +13 -13
- package/esm2020/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
- package/esm2020/lib/view-context/smart-ui-action/ui-action.service.mjs +26 -19
- package/esm2020/lib/view-context/smart-view-context.service.mjs +37 -33
- package/fesm2015/smartbit4all-ng-client.mjs +236 -77
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +225 -76
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-client/smart-component-api-client.d.ts +14 -6
- package/lib/smart-client/smart.component.d.ts +4 -5
- package/lib/smart-client/smart.service.d.ts +4 -5
- package/lib/view-context/api/api/view.service.d.ts +41 -0
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +5 -5
- package/lib/view-context/smart-ui-action/ui-action.model.d.ts +4 -2
- package/lib/view-context/smart-ui-action/ui-action.service.d.ts +16 -6
- package/lib/view-context/smart-view-context.service.d.ts +10 -7
- package/package.json +1 -1
- package/smartbit4all-ng-client-1.0.13.tgz +0 -0
- package/smartbit4all-ng-client-1.0.12.tgz +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Component, Input } from
|
|
2
|
-
import { UiActionButtonIconPos, UiActionButtonType } from
|
|
3
|
-
import { Subject, takeUntil } from
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { UiActionButtonIconPos, UiActionButtonType } from '../api';
|
|
3
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./ui-action.service";
|
|
6
6
|
import * as i2 from "./ui-action.descriptor.service";
|
|
@@ -20,7 +20,7 @@ export class UiActionToolbarComponent {
|
|
|
20
20
|
this.setUp();
|
|
21
21
|
}
|
|
22
22
|
ngOnChanges(changes) {
|
|
23
|
-
let uiActionModels = changes[
|
|
23
|
+
let uiActionModels = changes['uiActionModels'].currentValue;
|
|
24
24
|
if (uiActionModels) {
|
|
25
25
|
this.uiActionModels = uiActionModels;
|
|
26
26
|
this.setUp();
|
|
@@ -43,19 +43,19 @@ export class UiActionToolbarComponent {
|
|
|
43
43
|
getType(uiActionModel) {
|
|
44
44
|
switch (uiActionModel.descriptor?.type) {
|
|
45
45
|
case UiActionButtonType.Normal:
|
|
46
|
-
return
|
|
46
|
+
return 'mat-button';
|
|
47
47
|
case UiActionButtonType.Flat:
|
|
48
|
-
return
|
|
48
|
+
return 'mat-flat-button';
|
|
49
49
|
case UiActionButtonType.Raised:
|
|
50
|
-
return
|
|
50
|
+
return 'mat-raised-button';
|
|
51
51
|
case UiActionButtonType.Stroked:
|
|
52
|
-
return
|
|
52
|
+
return 'mat-stroked-button';
|
|
53
53
|
case UiActionButtonType.Icon:
|
|
54
|
-
return
|
|
54
|
+
return 'mat-icon-button';
|
|
55
55
|
case UiActionButtonType.MiniFab:
|
|
56
|
-
return
|
|
56
|
+
return 'mat-mini-fab';
|
|
57
57
|
case UiActionButtonType.Fab:
|
|
58
|
-
return
|
|
58
|
+
return 'mat-fab';
|
|
59
59
|
default:
|
|
60
60
|
console.log(`Unhandled action button type case: ${uiActionModel.descriptor?.type}`);
|
|
61
61
|
return `mat-button`;
|
|
@@ -74,8 +74,8 @@ UiActionToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
|
|
|
74
74
|
UiActionToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"uiActionButtonsContainer\">\n <button\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\n mat-button\n [ngClass]=\"getType(uiActionModel)\"\n class=\"{{ uiActionModel.cssClass }}\"\n [color]=\"uiActionModel.descriptor?.color\"\n (click)=\"onActionClicked($event, uiActionModel)\"\n >\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\n <ng-template #iconOnly>\n <smart-icon\n *ngIf=\"uiActionModel.descriptor?.icon\"\n [icon]=\"uiActionModel.descriptor!.icon!\"\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\n ></smart-icon>\n </ng-template>\n <ng-template #text>\n <smart-icon\n *ngIf=\"\n uiActionModel.descriptor?.icon &&\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\n \"\n [icon]=\"uiActionModel.descriptor!.icon!\"\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\n ></smart-icon>\n {{ uiActionModel.descriptor?.title }}\n <smart-icon\n *ngIf=\"\n uiActionModel.descriptor?.icon &&\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\n \"\n [icon]=\"uiActionModel.descriptor!.icon!\"\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\n ></smart-icon>\n </ng-template>\n </button>\n</div>\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap;min-height:2.25rem}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
75
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
|
|
76
76
|
type: Component,
|
|
77
|
-
args: [{ selector:
|
|
77
|
+
args: [{ selector: 'smart-ui-action-toolbar', template: "<div class=\"uiActionButtonsContainer\">\n <button\n *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions\"\n mat-button\n [ngClass]=\"getType(uiActionModel)\"\n class=\"{{ uiActionModel.cssClass }}\"\n [color]=\"uiActionModel.descriptor?.color\"\n (click)=\"onActionClicked($event, uiActionModel)\"\n >\n <div *ngIf=\"isOnlyIcon(uiActionModel); then iconOnly; else text\"></div>\n <ng-template #iconOnly>\n <smart-icon\n *ngIf=\"uiActionModel.descriptor?.icon\"\n [icon]=\"uiActionModel.descriptor!.icon!\"\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\n ></smart-icon>\n </ng-template>\n <ng-template #text>\n <smart-icon\n *ngIf=\"\n uiActionModel.descriptor?.icon &&\n uiActionModel.descriptor?.iconPosition === iconPosition().Pre\n \"\n [icon]=\"uiActionModel.descriptor!.icon!\"\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\n ></smart-icon>\n {{ uiActionModel.descriptor?.title }}\n <smart-icon\n *ngIf=\"\n uiActionModel.descriptor?.icon &&\n uiActionModel.descriptor?.iconPosition === iconPosition().Post\n \"\n [icon]=\"uiActionModel.descriptor!.icon!\"\n [color]=\"uiActionModel.descriptor?.iconColor ?? uiActionModel.descriptor?.color\"\n ></smart-icon>\n </ng-template>\n </button>\n</div>\n", styles: [".uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap;min-height:2.25rem}\n"] }]
|
|
78
78
|
}], ctorParameters: function () { return [{ type: i1.UiActionService }, { type: i2.UiActionDescriptorService }]; }, propDecorators: { uiActionModels: [{
|
|
79
79
|
type: Input
|
|
80
80
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjtJQU9qQyxZQUFvQixPQUF3QixFQUFVLE9BQWtDO1FBQXBFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFOaEYsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBTzdDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksY0FBYyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUM1RCxJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztZQUNyQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1AsSUFBSSxDQUFDLDhCQUE4QixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGFBQTRCLEVBQUUsRUFBRTtZQUMzRCxhQUFhLENBQUMsVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDN0QsYUFBYSxDQUFDLFFBQVEsQ0FDekIsQ0FBQztZQUVGLE9BQU8sYUFBYSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVUsRUFBRSxhQUE0QjtRQUNwRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxDQUFDLGFBQTRCO1FBQ2hDLFFBQVEsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUU7WUFDcEMsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUMxQixPQUFPLFlBQVksQ0FBQztZQUN4QixLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQ3hCLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUMxQixPQUFPLG1CQUFtQixDQUFDO1lBQy9CLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDM0IsT0FBTyxvQkFBb0IsQ0FBQztZQUNoQyxLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQ3hCLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO2dCQUMzQixPQUFPLGNBQWMsQ0FBQztZQUMxQixLQUFLLGtCQUFrQixDQUFDLEdBQUc7Z0JBQ3ZCLE9BQU8sU0FBUyxDQUFDO1lBQ3JCO2dCQUNJLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDcEYsT0FBTyxZQUFZLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8scUJBQXFCLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVUsQ0FBQyxhQUE0QjtRQUNuQyxPQUFPLENBQ0gsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEtBQUssa0JBQWtCLENBQUMsSUFBSTtZQUMxRCxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO1lBQzdELGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FDNUQsQ0FBQztJQUNOLENBQUM7O3NIQTlFUSx3QkFBd0I7MEdBQXhCLHdCQUF3QixrSUNackMsZ3FEQXNDQTs0RkQxQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLHlCQUF5Qjs4SUFPMUIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVWlBY3Rpb25CdXR0b25JY29uUG9zLCBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tIFwiLi4vYXBpXCI7XG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlIH0gZnJvbSBcIi4vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZVwiO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gXCIuL3VpLWFjdGlvbi5tb2RlbFwiO1xuaW1wb3J0IHsgVWlBY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4vdWktYWN0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInNtYXJ0LXVpLWFjdGlvbi10b29sYmFyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBASW5wdXQoKSB1aUFjdGlvbk1vZGVscyE6IFVpQWN0aW9uTW9kZWxbXTtcblxuICAgIHVpQWN0aW9uTW9kZWxzV2l0aERlc2NyaXB0aW9ucz86IFVpQWN0aW9uTW9kZWxbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogVWlBY3Rpb25TZXJ2aWNlLCBwcml2YXRlIG1hbmFnZXI6IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5tYW5hZ2VyLmxhbmd1YWdlQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFVwKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFVwKCk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgbGV0IHVpQWN0aW9uTW9kZWxzID0gY2hhbmdlc1tcInVpQWN0aW9uTW9kZWxzXCJdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgaWYgKHVpQWN0aW9uTW9kZWxzKSB7XG4gICAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdWlBY3Rpb25Nb2RlbHM7XG4gICAgICAgICAgICB0aGlzLnNldFVwKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB9XG5cbiAgICBhc3luYyBzZXRVcCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy51aUFjdGlvbk1vZGVsc1dpdGhEZXNjcmlwdGlvbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMubWFwKGFzeW5jICh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yID0gYXdhaXQgdGhpcy5tYW5hZ2VyLmdldEFjdGlvbkRlc2NyaXB0b3IoXG4gICAgICAgICAgICAgICAgICAgIHVpQWN0aW9uTW9kZWwudWlBY3Rpb25cbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVpQWN0aW9uTW9kZWw7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uQWN0aW9uQ2xpY2tlZChldmVudDogYW55LCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuc2VydmljZS51aUFjdGlvbk1vZGVsID0gdWlBY3Rpb25Nb2RlbDtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmV4ZWN1dGUodWlBY3Rpb25Nb2RlbC51aUFjdGlvbik7XG4gICAgfVxuXG4gICAgZ2V0VHlwZSh1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoICh1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk5vcm1hbDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJtYXQtYnV0dG9uXCI7XG4gICAgICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GbGF0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm1hdC1mbGF0LWJ1dHRvblwiO1xuICAgICAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuUmFpc2VkOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm1hdC1yYWlzZWQtYnV0dG9uXCI7XG4gICAgICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5TdHJva2VkOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm1hdC1zdHJva2VkLWJ1dHRvblwiO1xuICAgICAgICAgICAgY2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSWNvbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJtYXQtaWNvbi1idXR0b25cIjtcbiAgICAgICAgICAgIGNhc2UgVWlBY3Rpb25CdXR0b25UeXBlLk1pbmlGYWI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibWF0LW1pbmktZmFiXCI7XG4gICAgICAgICAgICBjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GYWI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibWF0LWZhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgVW5oYW5kbGVkIGFjdGlvbiBidXR0b24gdHlwZSBjYXNlOiAke3VpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udHlwZX1gKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYG1hdC1idXR0b25gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWNvblBvc2l0aW9uKCk6IHR5cGVvZiBVaUFjdGlvbkJ1dHRvbkljb25Qb3Mge1xuICAgICAgICByZXR1cm4gVWlBY3Rpb25CdXR0b25JY29uUG9zO1xuICAgIH1cblxuICAgIGlzT25seUljb24odWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSWNvbiB8fFxuICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuTWluaUZhYiB8fFxuICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRmFiXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInVpQWN0aW9uQnV0dG9uc0NvbnRhaW5lclwiPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IHVpQWN0aW9uTW9kZWwgb2YgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zXCJcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBbbmdDbGFzc109XCJnZXRUeXBlKHVpQWN0aW9uTW9kZWwpXCJcbiAgICAgICAgY2xhc3M9XCJ7eyB1aUFjdGlvbk1vZGVsLmNzc0NsYXNzIH19XCJcbiAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxuICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxuICAgID5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlzT25seUljb24odWlBY3Rpb25Nb2RlbCk7IHRoZW4gaWNvbk9ubHk7IGVsc2UgdGV4dFwiPjwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2ljb25Pbmx5PlxuICAgICAgICAgICAgPHNtYXJ0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxuICAgICAgICAgICAgPjwvc21hcnQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0PlxuICAgICAgICAgICAgPHNtYXJ0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcbiAgICAgICAgICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uUG9zaXRpb24gPT09IGljb25Qb3NpdGlvbigpLlByZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxuICAgICAgICAgICAgPjwvc21hcnQtaWNvbj5cbiAgICAgICAgICAgIHt7IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udGl0bGUgfX1cbiAgICAgICAgICAgIDxzbWFydC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uICYmXG4gICAgICAgICAgICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5Qb3N0XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXG4gICAgICAgICAgICA+PC9zbWFydC1pY29uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjtJQU9wQyxZQUFvQixPQUF3QixFQUFVLE9BQWtDO1FBQXBFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFOaEYsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBT2hELElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNqQyxJQUFJLGNBQWMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDNUQsSUFBSSxjQUFjLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7WUFDckMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2I7SUFDRixDQUFDO0lBQ0QsV0FBVztRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1YsSUFBSSxDQUFDLDhCQUE4QixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDdEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLGFBQTRCLEVBQUUsRUFBRTtZQUM5RCxhQUFhLENBQUMsVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFMUYsT0FBTyxhQUFhLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVSxFQUFFLGFBQTRCO1FBQ3ZELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsYUFBNEI7UUFDbkMsUUFBUSxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRTtZQUN2QyxLQUFLLGtCQUFrQixDQUFDLE1BQU07Z0JBQzdCLE9BQU8sWUFBWSxDQUFDO1lBQ3JCLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDM0IsT0FBTyxpQkFBaUIsQ0FBQztZQUMxQixLQUFLLGtCQUFrQixDQUFDLE1BQU07Z0JBQzdCLE9BQU8sbUJBQW1CLENBQUM7WUFDNUIsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO2dCQUM5QixPQUFPLG9CQUFvQixDQUFDO1lBQzdCLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDM0IsT0FBTyxpQkFBaUIsQ0FBQztZQUMxQixLQUFLLGtCQUFrQixDQUFDLE9BQU87Z0JBQzlCLE9BQU8sY0FBYyxDQUFDO1lBQ3ZCLEtBQUssa0JBQWtCLENBQUMsR0FBRztnQkFDMUIsT0FBTyxTQUFTLENBQUM7WUFDbEI7Z0JBQ0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRixPQUFPLFlBQVksQ0FBQztTQUNyQjtJQUNGLENBQUM7SUFFRCxZQUFZO1FBQ1gsT0FBTyxxQkFBcUIsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVSxDQUFDLGFBQTRCO1FBQ3RDLE9BQU8sQ0FDTixhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxJQUFJO1lBQzFELGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLGtCQUFrQixDQUFDLE9BQU87WUFDN0QsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEtBQUssa0JBQWtCLENBQUMsR0FBRyxDQUN6RCxDQUFDO0lBQ0gsQ0FBQzs7c0hBNUVXLHdCQUF3QjswR0FBeEIsd0JBQXdCLGtJQ1pyQyxncURBc0NBOzRGRDFCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0MseUJBQXlCOzhJQU8xQixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVWlBY3Rpb25CdXR0b25JY29uUG9zLCBVaUFjdGlvbkJ1dHRvblR5cGUgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSB9IGZyb20gJy4vdWktYWN0aW9uLmRlc2NyaXB0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi91aS1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgVWlBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi91aS1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnc21hcnQtdWktYWN0aW9uLXRvb2xiYXInLFxuXHR0ZW1wbGF0ZVVybDogJy4vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXHRwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cblx0QElucHV0KCkgdWlBY3Rpb25Nb2RlbHMhOiBVaUFjdGlvbk1vZGVsW107XG5cblx0dWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zPzogVWlBY3Rpb25Nb2RlbFtdO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogVWlBY3Rpb25TZXJ2aWNlLCBwcml2YXRlIG1hbmFnZXI6IFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpIHtcblx0XHR0aGlzLm1hbmFnZXIubGFuZ3VhZ2VDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdHRoaXMuc2V0VXAoKTtcblx0XHR9KTtcblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuc2V0VXAoKTtcblx0fVxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0bGV0IHVpQWN0aW9uTW9kZWxzID0gY2hhbmdlc1sndWlBY3Rpb25Nb2RlbHMnXS5jdXJyZW50VmFsdWU7XG5cdFx0aWYgKHVpQWN0aW9uTW9kZWxzKSB7XG5cdFx0XHR0aGlzLnVpQWN0aW9uTW9kZWxzID0gdWlBY3Rpb25Nb2RlbHM7XG5cdFx0XHR0aGlzLnNldFVwKCk7XG5cdFx0fVxuXHR9XG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcblx0fVxuXG5cdGFzeW5jIHNldFVwKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHRoaXMudWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0aGlzLnVpQWN0aW9uTW9kZWxzLm1hcChhc3luYyAodWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCkgPT4ge1xuXHRcdFx0XHR1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IgPSBhd2FpdCB0aGlzLm1hbmFnZXIuZ2V0QWN0aW9uRGVzY3JpcHRvcih1aUFjdGlvbk1vZGVsLnVpQWN0aW9uKTtcblxuXHRcdFx0XHRyZXR1cm4gdWlBY3Rpb25Nb2RlbDtcblx0XHRcdH0pXG5cdFx0KTtcblx0fVxuXG5cdG9uQWN0aW9uQ2xpY2tlZChldmVudDogYW55LCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsKTogdm9pZCB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cblx0XHR0aGlzLnNlcnZpY2UudWlBY3Rpb25Nb2RlbCA9IHVpQWN0aW9uTW9kZWw7XG5cdFx0dGhpcy5zZXJ2aWNlLmV4ZWN1dGUodWlBY3Rpb25Nb2RlbC51aUFjdGlvbik7XG5cdH1cblxuXHRnZXRUeXBlKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBzdHJpbmcge1xuXHRcdHN3aXRjaCAodWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlKSB7XG5cdFx0XHRjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5Ob3JtYWw6XG5cdFx0XHRcdHJldHVybiAnbWF0LWJ1dHRvbic7XG5cdFx0XHRjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5GbGF0OlxuXHRcdFx0XHRyZXR1cm4gJ21hdC1mbGF0LWJ1dHRvbic7XG5cdFx0XHRjYXNlIFVpQWN0aW9uQnV0dG9uVHlwZS5SYWlzZWQ6XG5cdFx0XHRcdHJldHVybiAnbWF0LXJhaXNlZC1idXR0b24nO1xuXHRcdFx0Y2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuU3Ryb2tlZDpcblx0XHRcdFx0cmV0dXJuICdtYXQtc3Ryb2tlZC1idXR0b24nO1xuXHRcdFx0Y2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuSWNvbjpcblx0XHRcdFx0cmV0dXJuICdtYXQtaWNvbi1idXR0b24nO1xuXHRcdFx0Y2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuTWluaUZhYjpcblx0XHRcdFx0cmV0dXJuICdtYXQtbWluaS1mYWInO1xuXHRcdFx0Y2FzZSBVaUFjdGlvbkJ1dHRvblR5cGUuRmFiOlxuXHRcdFx0XHRyZXR1cm4gJ21hdC1mYWInO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y29uc29sZS5sb2coYFVuaGFuZGxlZCBhY3Rpb24gYnV0dG9uIHR5cGUgY2FzZTogJHt1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LnR5cGV9YCk7XG5cdFx0XHRcdHJldHVybiBgbWF0LWJ1dHRvbmA7XG5cdFx0fVxuXHR9XG5cblx0aWNvblBvc2l0aW9uKCk6IHR5cGVvZiBVaUFjdGlvbkJ1dHRvbkljb25Qb3Mge1xuXHRcdHJldHVybiBVaUFjdGlvbkJ1dHRvbkljb25Qb3M7XG5cdH1cblxuXHRpc09ubHlJY29uKHVpQWN0aW9uTW9kZWw6IFVpQWN0aW9uTW9kZWwpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0dWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuSWNvbiB8fFxuXHRcdFx0dWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuTWluaUZhYiB8fFxuXHRcdFx0dWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy50eXBlID09PSBVaUFjdGlvbkJ1dHRvblR5cGUuRmFiXG5cdFx0KTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cInVpQWN0aW9uQnV0dG9uc0NvbnRhaW5lclwiPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IHVpQWN0aW9uTW9kZWwgb2YgdWlBY3Rpb25Nb2RlbHNXaXRoRGVzY3JpcHRpb25zXCJcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICBbbmdDbGFzc109XCJnZXRUeXBlKHVpQWN0aW9uTW9kZWwpXCJcbiAgICAgICAgY2xhc3M9XCJ7eyB1aUFjdGlvbk1vZGVsLmNzc0NsYXNzIH19XCJcbiAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxuICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGlja2VkKCRldmVudCwgdWlBY3Rpb25Nb2RlbClcIlxuICAgID5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlzT25seUljb24odWlBY3Rpb25Nb2RlbCk7IHRoZW4gaWNvbk9ubHk7IGVsc2UgdGV4dFwiPjwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2ljb25Pbmx5PlxuICAgICAgICAgICAgPHNtYXJ0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxuICAgICAgICAgICAgPjwvc21hcnQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0PlxuICAgICAgICAgICAgPHNtYXJ0LWljb25cbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICB1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/Lmljb24gJiZcbiAgICAgICAgICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uUG9zaXRpb24gPT09IGljb25Qb3NpdGlvbigpLlByZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yIS5pY29uIVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvbkNvbG9yID8/IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uY29sb3JcIlxuICAgICAgICAgICAgPjwvc21hcnQtaWNvbj5cbiAgICAgICAgICAgIHt7IHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8udGl0bGUgfX1cbiAgICAgICAgICAgIDxzbWFydC1pY29uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uICYmXG4gICAgICAgICAgICAgICAgICAgIHVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uaWNvblBvc2l0aW9uID09PSBpY29uUG9zaXRpb24oKS5Qb3N0XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJ1aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3IhLmljb24hXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwidWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5pY29uQ29sb3IgPz8gdWlBY3Rpb25Nb2RlbC5kZXNjcmlwdG9yPy5jb2xvclwiXG4gICAgICAgICAgICA+PC9zbWFydC1pY29uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -4,4 +4,4 @@ export var UiActionDialogType;
|
|
|
4
4
|
UiActionDialogType["confirmDialog"] = "confirmDialog";
|
|
5
5
|
UiActionDialogType["dialog"] = "dialog";
|
|
6
6
|
})(UiActionDialogType || (UiActionDialogType = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUNBLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDN0IsaURBQTJCLENBQUE7SUFDM0IscURBQStCLENBQUE7SUFDL0IsdUNBQWlCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVaUFjdGlvbiwgVWlBY3Rpb25EZXNjcmlwdG9yLCBVaUFjdGlvblJlcXVlc3QgfSBmcm9tICcuLi9hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVpQWN0aW9uTW9kZWwge1xuXHR1aUFjdGlvbjogVWlBY3Rpb247XG5cdHNlcnZpY2VUb1VzZTogVXNlVWlBY3Rpb247XG5cdGV4Y2VwdGlvbj86IGJvb2xlYW47XG5cdGRlc2NyaXB0b3I/OiBVaUFjdGlvbkRlc2NyaXB0b3I7XG5cdGNzc0NsYXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZVVpQWN0aW9uIHtcblx0c3VibWl0OiBTdWJqZWN0PHZvaWQ+O1xuXHRyZVN1YnNjcmliZVRvQ2hhbmdlOiBTdWJqZWN0PHZvaWQ+O1xuXHRnZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uOiBVaUFjdGlvbik6IFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcztcblx0Z2V0TW9kZWwoKTogYW55O1xuXHRwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxhbnk+O1xuXHRwZXJmb3JtV2lkZ2V0QWN0aW9uUmVxdWVzdCh1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCwgd2lkZ2V0SWQ6IHN0cmluZywgbm9kZUlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG5cdHBlcmZvcm1XaWRnZXRNYWluQWN0aW9uUmVxdWVzdCh1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCwgd2lkZ2V0SWQ6IHN0cmluZyk6IFByb21pc2U8YW55Pjtcblx0aGFuZGxlU3BlY2lmaWNEZW1hbmRzQXN5bmNocm9ub3VzbHkoXG5cdFx0dWlBY3Rpb246IFVpQWN0aW9uLFxuXHRcdHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG5cdCk6IFByb21pc2U8VWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVaUFjdGlvblNwZWNpZmljRGVtYW5kUmVzcG9uc2Uge1xuXHRzaG91bGRQZXJmb3JtQWN0aW9uOiBib29sZWFuO1xuXHR1aUFjdGlvblJlcXVlc3Q/OiBVaUFjdGlvblJlcXVlc3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcblx0Zm9yVGV4dEZpZWxkPzogc3RyaW5nO1xuXHRmb3JUZXh0QXJlYT86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gVWlBY3Rpb25EaWFsb2dUeXBlIHtcblx0aW5wdXREaWFsb2cgPSAnaW5wdXREaWFsb2cnLFxuXHRjb25maXJtRGlhbG9nID0gJ2NvbmZpcm1EaWFsb2cnLFxuXHRkaWFsb2cgPSAnZGlhbG9nJyxcbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Injectable } from
|
|
2
|
-
import { Subject } from
|
|
3
|
-
import { UiActionFeedbackType, UiActionInputType } from
|
|
4
|
-
import { SuccessSnackBarComponent } from
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { UiActionFeedbackType, UiActionInputType } from '../api';
|
|
4
|
+
import { SuccessSnackBarComponent } from './components/success-snack-bar/success-snack-bar.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service";
|
|
7
7
|
import * as i2 from "./dialogs/ui-action-input-dialog/ui-action-input-dialog.service";
|
|
@@ -12,7 +12,7 @@ export class UiActionService {
|
|
|
12
12
|
this.textFieldDialogService = textFieldDialogService;
|
|
13
13
|
this._snackBar = _snackBar;
|
|
14
14
|
}
|
|
15
|
-
async execute(uiAction) {
|
|
15
|
+
async execute(uiAction, options) {
|
|
16
16
|
let uiActionRequest;
|
|
17
17
|
uiActionRequest = {
|
|
18
18
|
code: uiAction.code,
|
|
@@ -43,7 +43,7 @@ export class UiActionService {
|
|
|
43
43
|
}
|
|
44
44
|
// InputType
|
|
45
45
|
if (uiAction.inputType) {
|
|
46
|
-
uiActionRequest = await this.handleInputType(uiAction.inputType, uiAction, uiActionRequest,
|
|
46
|
+
uiActionRequest = await this.handleInputType(uiAction.inputType, uiAction, uiActionRequest, 'inputDialog');
|
|
47
47
|
if (!uiActionRequest) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
@@ -51,7 +51,7 @@ export class UiActionService {
|
|
|
51
51
|
}
|
|
52
52
|
// Input2Type
|
|
53
53
|
if (uiAction.input2Type) {
|
|
54
|
-
uiActionRequest = await this.handleInputType(uiAction.input2Type, uiAction, uiActionRequest,
|
|
54
|
+
uiActionRequest = await this.handleInputType(uiAction.input2Type, uiAction, uiActionRequest, 'input2Dialog');
|
|
55
55
|
if (!uiActionRequest) {
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
@@ -63,7 +63,7 @@ export class UiActionService {
|
|
|
63
63
|
}
|
|
64
64
|
uiActionRequest = response.uiActionRequest;
|
|
65
65
|
}
|
|
66
|
-
this.performAction(uiAction, uiActionRequest);
|
|
66
|
+
this.performAction(uiAction, uiActionRequest, options);
|
|
67
67
|
}
|
|
68
68
|
async handleInputType(inputType, uiAction, uiActionRequest, inputTypeName) {
|
|
69
69
|
switch (inputType) {
|
|
@@ -80,7 +80,7 @@ export class UiActionService {
|
|
|
80
80
|
}
|
|
81
81
|
async handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest) {
|
|
82
82
|
let additionalParams = this.uiActionModel.serviceToUse.getAdditionalParams(uiAction);
|
|
83
|
-
let inputType = inputTypeName ===
|
|
83
|
+
let inputType = inputTypeName === 'inputDialog' ? 'inputType' : 'input2Type';
|
|
84
84
|
if (uiAction[inputType] === UiActionInputType.Textfield) {
|
|
85
85
|
this.textFieldDialogService.nodeName = additionalParams.forTextField;
|
|
86
86
|
}
|
|
@@ -93,7 +93,7 @@ export class UiActionService {
|
|
|
93
93
|
await this.textFieldDialogService.onAction.toPromise();
|
|
94
94
|
let params = this.textFieldDialogService.params;
|
|
95
95
|
if (!params) {
|
|
96
|
-
console.error(
|
|
96
|
+
console.error('There was no response from InputDialog');
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
uiActionRequest.params = {
|
|
@@ -110,18 +110,25 @@ export class UiActionService {
|
|
|
110
110
|
uiActionRequest = response.uiActionRequest;
|
|
111
111
|
return uiActionRequest;
|
|
112
112
|
}
|
|
113
|
-
async performAction(uiAction, uiActionRequest) {
|
|
114
|
-
if (!uiActionRequest.params ||
|
|
115
|
-
(uiActionRequest.params && !Object.keys(uiActionRequest.params).length)) {
|
|
113
|
+
async performAction(uiAction, uiActionRequest, options) {
|
|
114
|
+
if (!uiActionRequest.params || (uiActionRequest.params && !Object.keys(uiActionRequest.params).length)) {
|
|
116
115
|
uiActionRequest.params = {
|
|
117
116
|
model: this.uiActionModel.serviceToUse.getModel(),
|
|
118
117
|
};
|
|
119
118
|
}
|
|
120
119
|
else if (uiAction.submit) {
|
|
121
|
-
uiActionRequest.params[
|
|
120
|
+
uiActionRequest.params['model'] = this.uiActionModel.serviceToUse.getModel();
|
|
122
121
|
}
|
|
123
122
|
try {
|
|
124
|
-
|
|
123
|
+
if (options && options.nodeId && options.widgetId) {
|
|
124
|
+
await this.uiActionModel.serviceToUse.performWidgetActionRequest(uiActionRequest, options.widgetId, options.nodeId);
|
|
125
|
+
}
|
|
126
|
+
else if (options && options.widgetId) {
|
|
127
|
+
await this.uiActionModel.serviceToUse.performWidgetMainActionRequest(uiActionRequest, options.widgetId);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
await this.uiActionModel.serviceToUse.performUiActionRequest(uiActionRequest);
|
|
131
|
+
}
|
|
125
132
|
if (this.uiActionModel.descriptor?.feedbackType === UiActionFeedbackType.Snackbar) {
|
|
126
133
|
this.showSavedSnackbar(uiAction);
|
|
127
134
|
}
|
|
@@ -133,17 +140,17 @@ export class UiActionService {
|
|
|
133
140
|
showSavedSnackbar(uiAction) {
|
|
134
141
|
this._snackBar.openFromComponent(SuccessSnackBarComponent, {
|
|
135
142
|
duration: 5 * 1000,
|
|
136
|
-
panelClass: [
|
|
143
|
+
panelClass: ['backgroundColor-accent'],
|
|
137
144
|
data: uiAction,
|
|
138
145
|
});
|
|
139
146
|
}
|
|
140
147
|
}
|
|
141
148
|
UiActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, deps: [{ token: i1.UiActionConfirmDialogService }, { token: i2.UiActionInputDialogService }, { token: i3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
142
|
-
UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, providedIn:
|
|
149
|
+
UiActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, providedIn: 'root' });
|
|
143
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UiActionService, decorators: [{
|
|
144
151
|
type: Injectable,
|
|
145
152
|
args: [{
|
|
146
|
-
providedIn:
|
|
153
|
+
providedIn: 'root',
|
|
147
154
|
}]
|
|
148
155
|
}], ctorParameters: function () { return [{ type: i1.UiActionConfirmDialogService }, { type: i2.UiActionInputDialogService }, { type: i3.MatSnackBar }]; } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQVksb0JBQW9CLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sUUFBUSxDQUFDO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7OztBQVV0RyxNQUFNLE9BQU8sZUFBZTtJQUd4QixZQUNZLG9CQUFrRCxFQUNsRCxzQkFBa0QsRUFDbEQsU0FBc0I7UUFGdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE4QjtRQUNsRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQTRCO1FBQ2xELGNBQVMsR0FBVCxTQUFTLENBQWE7SUFDL0IsQ0FBQztJQUVKLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBa0I7UUFDNUIsSUFBSSxlQUE0QyxDQUFDO1FBRWpELGVBQWUsR0FBRztZQUNkLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSztZQUNwQixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7WUFDL0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLElBQUksRUFBRTtTQUNoQyxDQUFDO1FBRUYsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QyxJQUFJO2dCQUNBLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dC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UUFBQyxPQUFPLEtBQVUsRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWtCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsd0JBQXdCLEVBQUU7WUFDdkQsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ3RDLElBQUksRUFBRSxRQUFRO1NBQ2pCLENBQUMsQ0FBQztJQUNQLENBQUM7OzZHQWpNUSxlQUFlO2lIQUFmLGVBQWUsY0FGWixNQUFNOzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBVaUFjdGlvbiwgVWlBY3Rpb25GZWVkYmFja1R5cGUsIFVpQWN0aW9uSW5wdXRUeXBlLCBVaUFjdGlvblJlcXVlc3QgfSBmcm9tIFwiLi4vYXBpXCI7XG5pbXBvcnQgeyBTdWNjZXNzU25hY2tCYXJDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3N1Y2Nlc3Mtc25hY2stYmFyL3N1Y2Nlc3Mtc25hY2stYmFyLmNvbXBvbmVudFwiO1xuXG5pbXBvcnQgeyBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSB9IGZyb20gXCIuL2RpYWxvZ3MvdWktYWN0aW9uLWlucHV0LWRpYWxvZy91aS1hY3Rpb24taW5wdXQtZGlhbG9nLnNlcnZpY2VcIjtcbmltcG9ydCB7IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UgfSBmcm9tIFwiLi9kaWFsb2dzL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cuc2VydmljZVwiO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gXCIuL3VpLWFjdGlvbi5tb2RlbFwiO1xuaW1wb3J0IHsgTCB9IGZyb20gXCJAYW5ndWxhci9jZGsva2V5Y29kZXNcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBVaUFjdGlvblNlcnZpY2Uge1xuICAgIHVpQWN0aW9uTW9kZWwhOiBVaUFjdGlvbk1vZGVsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlybURpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uQ29uZmlybURpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGV4dEZpZWxkRGlhbG9nU2VydmljZTogVWlBY3Rpb25JbnB1dERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3NuYWNrQmFyOiBNYXRTbmFja0JhclxuICAgICkge31cblxuICAgIGFzeW5jIGV4ZWN1dGUodWlBY3Rpb246IFVpQWN0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGxldCB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZDtcblxuICAgICAgICB1aUFjdGlvblJlcXVlc3QgPSB7XG4gICAgICAgICAgICBjb2RlOiB1aUFjdGlvbi5jb2RlISxcbiAgICAgICAgICAgIGlkZW50aWZpZXI6IHVpQWN0aW9uLmlkZW50aWZpZXIsXG4gICAgICAgICAgICBwYXJhbXM6IHVpQWN0aW9uLnBhcmFtcyA/PyB7fSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodWlBY3Rpb24uc3VibWl0KSB7XG4gICAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdC5uZXh0KCk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0LnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0ID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0ID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnJlU3Vic2NyaWJlVG9DaGFuZ2UubmV4dCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1aUFjdGlvbi5jb25maXJtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLmFjdGlvbiA9IHVpQWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5jb25maXJtRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9uQWN0aW9uLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLnNob3VsZERvQWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5wdXRUeXBlXG4gICAgICAgIGlmICh1aUFjdGlvbi5pbnB1dFR5cGUpIHtcbiAgICAgICAgICAgIHVpQWN0aW9uUmVxdWVzdCA9IGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlKFxuICAgICAgICAgICAgICAgIHVpQWN0aW9uLmlucHV0VHlwZSxcbiAgICAgICAgICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgICAgICAgICB1aUFjdGlvblJlcXVlc3QsXG4gICAgICAgICAgICAgICAgXCJpbnB1dERpYWxvZ1wiXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyNTApKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJbnB1dDJUeXBlXG4gICAgICAgIGlmICh1aUFjdGlvbi5pbnB1dDJUeXBlKSB7XG4gICAgICAgICAgICB1aUFjdGlvblJlcXVlc3QgPSBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZShcbiAgICAgICAgICAgICAgICB1aUFjdGlvbi5pbnB1dDJUeXBlLFxuICAgICAgICAgICAgICAgIHVpQWN0aW9uLFxuICAgICAgICAgICAgICAgIHVpQWN0aW9uUmVxdWVzdCxcbiAgICAgICAgICAgICAgICBcImlucHV0MkRpYWxvZ1wiXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKCF1aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy51aUFjdGlvbk1vZGVsLmV4Y2VwdGlvbikge1xuICAgICAgICAgICAgbGV0IHJlc3BvbnNlID1cbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxuICAgICAgICAgICAgICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgdWlBY3Rpb25SZXF1ZXN0XG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1aUFjdGlvblJlcXVlc3QgPSByZXNwb25zZS51aUFjdGlvblJlcXVlc3Q7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBlcmZvcm1BY3Rpb24odWlBY3Rpb24sIHVpQWN0aW9uUmVxdWVzdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGUoXG4gICAgICAgIGlucHV0VHlwZTogVWlBY3Rpb25JbnB1dFR5cGUsXG4gICAgICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXG4gICAgICAgIGlucHV0VHlwZU5hbWU6IFwiaW5wdXREaWFsb2dcIiB8IFwiaW5wdXQyRGlhbG9nXCJcbiAgICApOiBQcm9taXNlPFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBzd2l0Y2ggKGlucHV0VHlwZSkge1xuICAgICAgICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5Ob25lOlxuICAgICAgICAgICAgICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG4gICAgICAgICAgICBjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRleHRhcmVhOlxuICAgICAgICAgICAgY2FzZSBVaUFjdGlvbklucHV0VHlwZS5UZXh0ZmllbGQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKFxuICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgdWlBY3Rpb25SZXF1ZXN0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVXNlclNlbGVjdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KFxuICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICB1aUFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgdWlBY3Rpb25SZXF1ZXN0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVpQWN0aW9uUmVxdWVzdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlVGV4dEZpZWxkKFxuICAgICAgICBpbnB1dFR5cGVOYW1lOiBcImlucHV0RGlhbG9nXCIgfCBcImlucHV0MkRpYWxvZ1wiLFxuICAgICAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgbGV0IGFkZGl0aW9uYWxQYXJhbXMgPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb24pO1xuICAgICAgICBsZXQgaW5wdXRUeXBlOiBcImlucHV0VHlwZVwiIHwgXCJpbnB1dDJUeXBlXCIgPVxuICAgICAgICAgICAgaW5wdXRUeXBlTmFtZSA9PT0gXCJpbnB1dERpYWxvZ1wiID8gXCJpbnB1dFR5cGVcIiA6IFwiaW5wdXQyVHlwZVwiO1xuXG4gICAgICAgIGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5UZXh0ZmllbGQpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEZpZWxkO1xuICAgICAgICB9IGVsc2UgaWYgKHVpQWN0aW9uW2lucHV0VHlwZV0gPT09IFVpQWN0aW9uSW5wdXRUeXBlLlRleHRhcmVhKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uubm9kZU5hbWUgPSBhZGRpdGlvbmFsUGFyYW1zLmZvclRleHRBcmVhO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLmlucHV0VHlwZU5hbWUgPSBpbnB1dFR5cGVOYW1lO1xuICAgICAgICB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2UuYWN0aW9uID0gdWlBY3Rpb247XG5cbiAgICAgICAgdGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKTtcblxuICAgICAgICBhd2FpdCB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG4gICAgICAgIGxldCBwYXJhbXMgPSB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2UucGFyYW1zO1xuXG4gICAgICAgIGlmICghcGFyYW1zKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiVGhlcmUgd2FzIG5vIHJlc3BvbnNlIGZyb20gSW5wdXREaWFsb2dcIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KFxuICAgICAgICBpbnB1dFR5cGVOYW1lOiBcImlucHV0RGlhbG9nXCIgfCBcImlucHV0MkRpYWxvZ1wiLFxuICAgICAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICAgKTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcbiAgICAgICAgICAgIHVpQWN0aW9uLFxuICAgICAgICAgICAgdWlBY3Rpb25SZXF1ZXN0XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB1aUFjdGlvblJlcXVlc3QgPSByZXNwb25zZS51aUFjdGlvblJlcXVlc3Q7XG4gICAgICAgIHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBwZXJmb3JtQWN0aW9uKFxuICAgICAgICB1aUFjdGlvbjogVWlBY3Rpb24sXG4gICAgICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF1aUFjdGlvblJlcXVlc3QucGFyYW1zIHx8XG4gICAgICAgICAgICAodWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyAmJiAhT2JqZWN0LmtleXModWlBY3Rpb25SZXF1ZXN0LnBhcmFtcykubGVuZ3RoKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHVpQWN0aW9uUmVxdWVzdC5wYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgbW9kZWw6IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0TW9kZWwoKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAodWlBY3Rpb24uc3VibWl0KSB7XG4gICAgICAgICAgICB1aUFjdGlvblJlcXVlc3QucGFyYW1zW1wibW9kZWxcIl0gPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5wZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHVpQWN0aW9uUmVxdWVzdCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnVpQWN0aW9uTW9kZWwuZGVzY3JpcHRvcj8uZmVlZGJhY2tUeXBlID09PSBVaUFjdGlvbkZlZWRiYWNrVHlwZS5TbmFja2Jhcikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NhdmVkU25hY2tiYXIodWlBY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dTYXZlZFNuYWNrYmFyKHVpQWN0aW9uOiBVaUFjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChTdWNjZXNzU25hY2tCYXJDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGR1cmF0aW9uOiA1ICogMTAwMCxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFtcImJhY2tncm91bmRDb2xvci1hY2NlbnRcIl0sXG4gICAgICAgICAgICBkYXRhOiB1aUFjdGlvbixcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQVksb0JBQW9CLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sUUFBUSxDQUFDO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7OztBQW9CdEcsTUFBTSxPQUFPLGVBQWU7SUFHM0IsWUFDUyxvQkFBa0QsRUFDbEQsc0JBQWtELEVBQ2xELFNBQXNCO1FBRnRCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBOEI7UUFDbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUE0QjtRQUNsRCxjQUFTLEdBQVQsU0FBUyxDQUFhO0lBQzVCLENBQUM7SUFFSixLQUFLLENBQUMsT0FBTyxDQUFDLFFBQWtCLEVBQUUsT0FBZ0M7UUFDakUsSUFBSSxlQUE0QyxDQUFDO1FBRWpELGVBQWUsR0FBRztZQUNqQixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUs7WUFDcEIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO1lBQy9CLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxJQUFJLEVBQUU7U0FDN0IsQ0FBQztRQUVGLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSTtnQkFDSCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFT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Q0FBQzthQUNGO2lCQUFNLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3ZDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN4RztpQkFBTTtnQkFDTixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQzlFO1lBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxZQUFZLEtBQUssb0JBQW9CLENBQUMsUUFBUSxFQUFFO2dCQUNsRixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDakM7U0FDRDtRQUFDLE9BQU8sS0FBVSxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7SUFDRixDQUFDO0lBRUQsaUJBQWlCLENBQUMsUUFBa0I7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRTtZQUMxRCxRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUk7WUFDbEIsVUFBVSxFQUFFLENBQUMsd0JBQXdCLENBQUM7WUFDdEMsSUFBSSxFQUFFLFFBQVE7U0FDZCxDQUFDLENBQUM7SUFDSixDQUFDOzs2R0ExTFcsZUFBZTtpSEFBZixlQUFlLGNBRmYsTUFBTTs0RkFFTixlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVWlBY3Rpb24sIFVpQWN0aW9uRmVlZGJhY2tUeXBlLCBVaUFjdGlvbklucHV0VHlwZSwgVWlBY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IFN1Y2Nlc3NTbmFja0JhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdWNjZXNzLXNuYWNrLWJhci9zdWNjZXNzLXNuYWNrLWJhci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBVaUFjdGlvbkNvbmZpcm1EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9kaWFsb2dzL3VpLWFjdGlvbi1jb25maXJtLWRpYWxvZy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBVaUFjdGlvbklucHV0RGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBVaUFjdGlvbk1vZGVsIH0gZnJvbSAnLi91aS1hY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVVaUFjdGlvbk9wdGlvbnMge1xuXHQvKipcblx0ICogSW4gY2FzZSBvZiB1c2luZyBhIGdyaWQ6IGdyaWQuaWRlbnRpZmllclxuXHQgKi9cblx0d2lkZ2V0SWQ/OiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBJbiBjYXNlIG9mIHVzaW5nIGEgZ3JpZDogZ3JpZFJvdy5pZFxuXHQgKi9cblx0bm9kZUlkPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVWlBY3Rpb25TZXJ2aWNlIHtcblx0dWlBY3Rpb25Nb2RlbCE6IFVpQWN0aW9uTW9kZWw7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBjb25maXJtRGlhbG9nU2VydmljZTogVWlBY3Rpb25Db25maXJtRGlhbG9nU2VydmljZSxcblx0XHRwcml2YXRlIHRleHRGaWVsZERpYWxvZ1NlcnZpY2U6IFVpQWN0aW9uSW5wdXREaWFsb2dTZXJ2aWNlLFxuXHRcdHByaXZhdGUgX3NuYWNrQmFyOiBNYXRTbmFja0JhclxuXHQpIHt9XG5cblx0YXN5bmMgZXhlY3V0ZSh1aUFjdGlvbjogVWlBY3Rpb24sIG9wdGlvbnM/OiBFeGVjdXRlVWlBY3Rpb25PcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0bGV0IHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0IHwgdW5kZWZpbmVkO1xuXG5cdFx0dWlBY3Rpb25SZXF1ZXN0ID0ge1xuXHRcdFx0Y29kZTogdWlBY3Rpb24uY29kZSEsXG5cdFx0XHRpZGVudGlmaWVyOiB1aUFjdGlvbi5pZGVudGlmaWVyLFxuXHRcdFx0cGFyYW1zOiB1aUFjdGlvbi5wYXJhbXMgPz8ge30sXG5cdFx0fTtcblxuXHRcdGlmICh1aUFjdGlvbi5zdWJtaXQpIHtcblx0XHRcdHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0Lm5leHQoKTtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2Uuc3VibWl0LnRvUHJvbWlzZSgpO1xuXHRcdFx0XHR0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdCA9IG5ldyBTdWJqZWN0KCk7XG5cdFx0XHRcdHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucmVTdWJzY3JpYmVUb0NoYW5nZS5uZXh0KCk7XG5cdFx0XHR9IGNhdGNoIChlcnJvcjogYW55KSB7XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXHRcdFx0XHR0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLnN1Ym1pdCA9IG5ldyBTdWJqZWN0KCk7XG5cdFx0XHRcdHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucmVTdWJzY3JpYmVUb0NoYW5nZS5uZXh0KCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodWlBY3Rpb24uY29uZmlybSkge1xuXHRcdFx0dGhpcy5jb25maXJtRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcblx0XHRcdHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZygpO1xuXHRcdFx0YXdhaXQgdGhpcy5jb25maXJtRGlhbG9nU2VydmljZS5vbkFjdGlvbi50b1Byb21pc2UoKTtcblx0XHRcdGlmICghdGhpcy5jb25maXJtRGlhbG9nU2VydmljZS5zaG91bGREb0FjdGlvbikge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gSW5wdXRUeXBlXG5cdFx0aWYgKHVpQWN0aW9uLmlucHV0VHlwZSkge1xuXHRcdFx0dWlBY3Rpb25SZXF1ZXN0ID0gYXdhaXQgdGhpcy5oYW5kbGVJbnB1dFR5cGUodWlBY3Rpb24uaW5wdXRUeXBlLCB1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCAnaW5wdXREaWFsb2cnKTtcblx0XHRcdGlmICghdWlBY3Rpb25SZXF1ZXN0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpO1xuXHRcdH1cblx0XHQvLyBJbnB1dDJUeXBlXG5cdFx0aWYgKHVpQWN0aW9uLmlucHV0MlR5cGUpIHtcblx0XHRcdHVpQWN0aW9uUmVxdWVzdCA9IGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlKFxuXHRcdFx0XHR1aUFjdGlvbi5pbnB1dDJUeXBlLFxuXHRcdFx0XHR1aUFjdGlvbixcblx0XHRcdFx0dWlBY3Rpb25SZXF1ZXN0LFxuXHRcdFx0XHQnaW5wdXQyRGlhbG9nJ1xuXHRcdFx0KTtcblx0XHRcdGlmICghdWlBY3Rpb25SZXF1ZXN0KSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy51aUFjdGlvbk1vZGVsLmV4Y2VwdGlvbikge1xuXHRcdFx0bGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5oYW5kbGVTcGVjaWZpY0RlbWFuZHNBc3luY2hyb25vdXNseShcblx0XHRcdFx0dWlBY3Rpb24sXG5cdFx0XHRcdHVpQWN0aW9uUmVxdWVzdFxuXHRcdFx0KTtcblxuXHRcdFx0aWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xuXHRcdH1cblxuXHRcdHRoaXMucGVyZm9ybUFjdGlvbih1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0LCBvcHRpb25zKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgaGFuZGxlSW5wdXRUeXBlKFxuXHRcdGlucHV0VHlwZTogVWlBY3Rpb25JbnB1dFR5cGUsXG5cdFx0dWlBY3Rpb246IFVpQWN0aW9uLFxuXHRcdHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuXHRcdGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJ1xuXHQpOiBQcm9taXNlPFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZD4ge1xuXHRcdHN3aXRjaCAoaW5wdXRUeXBlKSB7XG5cdFx0XHRjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLk5vbmU6XG5cdFx0XHRcdHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG5cdFx0XHRjYXNlIFVpQWN0aW9uSW5wdXRUeXBlLlRleHRhcmVhOlxuXHRcdFx0Y2FzZSBVaUFjdGlvbklucHV0VHlwZS5UZXh0ZmllbGQ6XG5cdFx0XHRcdHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZUlucHV0VHlwZVRleHRGaWVsZChpbnB1dFR5cGVOYW1lLCB1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0KTtcblx0XHRcdGNhc2UgVWlBY3Rpb25JbnB1dFR5cGUuVXNlclNlbGVjdDpcblx0XHRcdFx0cmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlSW5wdXRUeXBlVXNlclNlbGVjdChpbnB1dFR5cGVOYW1lLCB1aUFjdGlvbiwgdWlBY3Rpb25SZXF1ZXN0KTtcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVUZXh0RmllbGQoXG5cdFx0aW5wdXRUeXBlTmFtZTogJ2lucHV0RGlhbG9nJyB8ICdpbnB1dDJEaWFsb2cnLFxuXHRcdHVpQWN0aW9uOiBVaUFjdGlvbixcblx0XHR1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxuXHQpOiBQcm9taXNlPFVpQWN0aW9uUmVxdWVzdCB8IHVuZGVmaW5lZD4ge1xuXHRcdGxldCBhZGRpdGlvbmFsUGFyYW1zID0gdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5nZXRBZGRpdGlvbmFsUGFyYW1zKHVpQWN0aW9uKTtcblx0XHRsZXQgaW5wdXRUeXBlOiAnaW5wdXRUeXBlJyB8ICdpbnB1dDJUeXBlJyA9IGlucHV0VHlwZU5hbWUgPT09ICdpbnB1dERpYWxvZycgPyAnaW5wdXRUeXBlJyA6ICdpbnB1dDJUeXBlJztcblxuXHRcdGlmICh1aUFjdGlvbltpbnB1dFR5cGVdID09PSBVaUFjdGlvbklucHV0VHlwZS5UZXh0ZmllbGQpIHtcblx0XHRcdHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEZpZWxkO1xuXHRcdH0gZWxzZSBpZiAodWlBY3Rpb25baW5wdXRUeXBlXSA9PT0gVWlBY3Rpb25JbnB1dFR5cGUuVGV4dGFyZWEpIHtcblx0XHRcdHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5ub2RlTmFtZSA9IGFkZGl0aW9uYWxQYXJhbXMuZm9yVGV4dEFyZWE7XG5cdFx0fVxuXG5cdFx0dGhpcy50ZXh0RmllbGREaWFsb2dTZXJ2aWNlLmlucHV0VHlwZU5hbWUgPSBpbnB1dFR5cGVOYW1lO1xuXHRcdHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5hY3Rpb24gPSB1aUFjdGlvbjtcblxuXHRcdHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKCk7XG5cblx0XHRhd2FpdCB0aGlzLnRleHRGaWVsZERpYWxvZ1NlcnZpY2Uub25BY3Rpb24udG9Qcm9taXNlKCk7XG5cdFx0bGV0IHBhcmFtcyA9IHRoaXMudGV4dEZpZWxkRGlhbG9nU2VydmljZS5wYXJhbXM7XG5cblx0XHRpZiAoIXBhcmFtcykge1xuXHRcdFx0Y29uc29sZS5lcnJvcignVGhlcmUgd2FzIG5vIHJlc3BvbnNlIGZyb20gSW5wdXREaWFsb2cnKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcblx0XHRcdC4uLnVpQWN0aW9uUmVxdWVzdC5wYXJhbXMsXG5cdFx0XHQuLi5wYXJhbXMsXG5cdFx0fTtcblx0XHRyZXR1cm4gdWlBY3Rpb25SZXF1ZXN0O1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBoYW5kbGVJbnB1dFR5cGVVc2VyU2VsZWN0KFxuXHRcdGlucHV0VHlwZU5hbWU6ICdpbnB1dERpYWxvZycgfCAnaW5wdXQyRGlhbG9nJyxcblx0XHR1aUFjdGlvbjogVWlBY3Rpb24sXG5cdFx0dWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3Rcblx0KTogUHJvbWlzZTxVaUFjdGlvblJlcXVlc3QgfCB1bmRlZmluZWQ+IHtcblx0XHRsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxuXHRcdFx0dWlBY3Rpb24sXG5cdFx0XHR1aUFjdGlvblJlcXVlc3Rcblx0XHQpO1xuXG5cdFx0aWYgKCFyZXNwb25zZS5zaG91bGRQZXJmb3JtQWN0aW9uIHx8ICFyZXNwb25zZS51aUFjdGlvblJlcXVlc3QpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dWlBY3Rpb25SZXF1ZXN0ID0gcmVzcG9uc2UudWlBY3Rpb25SZXF1ZXN0O1xuXHRcdHJldHVybiB1aUFjdGlvblJlcXVlc3Q7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHBlcmZvcm1BY3Rpb24oXG5cdFx0dWlBY3Rpb246IFVpQWN0aW9uLFxuXHRcdHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxuXHRcdG9wdGlvbnM/OiBFeGVjdXRlVWlBY3Rpb25PcHRpb25zXG5cdCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICghdWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyB8fCAodWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyAmJiAhT2JqZWN0LmtleXModWlBY3Rpb25SZXF1ZXN0LnBhcmFtcykubGVuZ3RoKSkge1xuXHRcdFx0dWlBY3Rpb25SZXF1ZXN0LnBhcmFtcyA9IHtcblx0XHRcdFx0bW9kZWw6IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UuZ2V0TW9kZWwoKSxcblx0XHRcdH07XG5cdFx0fSBlbHNlIGlmICh1aUFjdGlvbi5zdWJtaXQpIHtcblx0XHRcdHVpQWN0aW9uUmVxdWVzdC5wYXJhbXNbJ21vZGVsJ10gPSB0aGlzLnVpQWN0aW9uTW9kZWwuc2VydmljZVRvVXNlLmdldE1vZGVsKCk7XG5cdFx0fVxuXG5cdFx0dHJ5IHtcblx0XHRcdGlmIChvcHRpb25zICYmIG9wdGlvbnMubm9kZUlkICYmIG9wdGlvbnMud2lkZ2V0SWQpIHtcblx0XHRcdFx0YXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5wZXJmb3JtV2lkZ2V0QWN0aW9uUmVxdWVzdChcblx0XHRcdFx0XHR1aUFjdGlvblJlcXVlc3QsXG5cdFx0XHRcdFx0b3B0aW9ucy53aWRnZXRJZCxcblx0XHRcdFx0XHRvcHRpb25zLm5vZGVJZFxuXHRcdFx0XHQpO1xuXHRcdFx0fSBlbHNlIGlmIChvcHRpb25zICYmIG9wdGlvbnMud2lkZ2V0SWQpIHtcblx0XHRcdFx0YXdhaXQgdGhpcy51aUFjdGlvbk1vZGVsLnNlcnZpY2VUb1VzZS5wZXJmb3JtV2lkZ2V0TWFpbkFjdGlvblJlcXVlc3QodWlBY3Rpb25SZXF1ZXN0LCBvcHRpb25zLndpZGdldElkKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGF3YWl0IHRoaXMudWlBY3Rpb25Nb2RlbC5zZXJ2aWNlVG9Vc2UucGVyZm9ybVVpQWN0aW9uUmVxdWVzdCh1aUFjdGlvblJlcXVlc3QpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodGhpcy51aUFjdGlvbk1vZGVsLmRlc2NyaXB0b3I/LmZlZWRiYWNrVHlwZSA9PT0gVWlBY3Rpb25GZWVkYmFja1R5cGUuU25hY2tiYXIpIHtcblx0XHRcdFx0dGhpcy5zaG93U2F2ZWRTbmFja2Jhcih1aUFjdGlvbik7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyb3I6IGFueSkge1xuXHRcdFx0Y29uc29sZS5lcnJvcihlcnJvcik7XG5cdFx0fVxuXHR9XG5cblx0c2hvd1NhdmVkU25hY2tiYXIodWlBY3Rpb246IFVpQWN0aW9uKTogdm9pZCB7XG5cdFx0dGhpcy5fc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoU3VjY2Vzc1NuYWNrQmFyQ29tcG9uZW50LCB7XG5cdFx0XHRkdXJhdGlvbjogNSAqIDEwMDAsXG5cdFx0XHRwYW5lbENsYXNzOiBbJ2JhY2tncm91bmRDb2xvci1hY2NlbnQnXSxcblx0XHRcdGRhdGE6IHVpQWN0aW9uLFxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|