@alfresco/adf-process-services-cloud 6.9.0-9000964813 → 6.9.0-9014783054
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/form/components/form-cloud.component.mjs +20 -14
- package/esm2020/lib/form/components/spinner/form-spinner.component.mjs +34 -0
- package/esm2020/lib/form/form-cloud.module.mjs +14 -5
- package/esm2020/lib/form/services/spinner/form-cloud-spinner.service.mjs +50 -0
- package/esm2020/lib/process/start-process/components/start-process-cloud.component.mjs +15 -7
- package/esm2020/lib/services/notification-cloud.service.mjs +1 -1
- package/fesm2015/adf-process-services-cloud.mjs +144 -50
- package/fesm2015/adf-process-services-cloud.mjs.map +1 -1
- package/fesm2020/adf-process-services-cloud.mjs +143 -50
- package/fesm2020/adf-process-services-cloud.mjs.map +1 -1
- package/lib/form/components/form-cloud.component.d.ts +3 -1
- package/lib/form/components/spinner/form-spinner.component.d.ts +6 -0
- package/lib/form/components/spinner/form-spinner.component.scss +20 -0
- package/lib/form/form-cloud.module.d.ts +12 -10
- package/lib/form/services/spinner/form-cloud-spinner.service.d.ts +10 -0
- package/lib/process/start-process/components/start-process-cloud.component.d.ts +3 -1
- package/package.json +4 -4
|
@@ -24,26 +24,29 @@ import { ConfirmDialogComponent } from '@alfresco/adf-content-services';
|
|
|
24
24
|
import { v4 as uuidGeneration } from 'uuid';
|
|
25
25
|
import { FormCloudDisplayMode } from '../../services/form-fields.interfaces';
|
|
26
26
|
import { DisplayModeService } from '../public-api';
|
|
27
|
+
import { FormCloudSpinnerService } from '../services/spinner/form-cloud-spinner.service';
|
|
27
28
|
import * as i0 from "@angular/core";
|
|
28
29
|
import * as i1 from "../services/form-cloud.service";
|
|
29
30
|
import * as i2 from "@alfresco/adf-core";
|
|
30
31
|
import * as i3 from "@angular/material/dialog";
|
|
31
32
|
import * as i4 from "../public-api";
|
|
32
|
-
import * as i5 from "
|
|
33
|
-
import * as i6 from "@angular/
|
|
34
|
-
import * as i7 from "@angular/material/
|
|
35
|
-
import * as i8 from "@angular/material/
|
|
36
|
-
import * as i9 from "@angular/material/
|
|
37
|
-
import * as i10 from "@angular/
|
|
38
|
-
import * as i11 from "@
|
|
33
|
+
import * as i5 from "../services/spinner/form-cloud-spinner.service";
|
|
34
|
+
import * as i6 from "@angular/common";
|
|
35
|
+
import * as i7 from "@angular/material/button";
|
|
36
|
+
import * as i8 from "@angular/material/card";
|
|
37
|
+
import * as i9 from "@angular/material/icon";
|
|
38
|
+
import * as i10 from "@angular/material/tooltip";
|
|
39
|
+
import * as i11 from "@angular/cdk/a11y";
|
|
40
|
+
import * as i12 from "@ngx-translate/core";
|
|
39
41
|
export class FormCloudComponent extends FormBaseComponent {
|
|
40
|
-
constructor(formCloudService, formService, dialog, visibilityService, displayModeService) {
|
|
42
|
+
constructor(formCloudService, formService, dialog, visibilityService, displayModeService, spinnerService) {
|
|
41
43
|
super();
|
|
42
44
|
this.formCloudService = formCloudService;
|
|
43
45
|
this.formService = formService;
|
|
44
46
|
this.dialog = dialog;
|
|
45
47
|
this.visibilityService = visibilityService;
|
|
46
48
|
this.displayModeService = displayModeService;
|
|
49
|
+
this.spinnerService = spinnerService;
|
|
47
50
|
/** App name to fetch corresponding form and values. */
|
|
48
51
|
this.appName = '';
|
|
49
52
|
/** FormFieldValidator allow to override the form field validators provided. */
|
|
@@ -64,6 +67,7 @@ export class FormCloudComponent extends FormBaseComponent {
|
|
|
64
67
|
this.displayModeOff = new EventEmitter();
|
|
65
68
|
this.subscriptions = [];
|
|
66
69
|
this.onDestroy$ = new Subject();
|
|
70
|
+
this.spinnerService.initSpinnerHandling(this.onDestroy$);
|
|
67
71
|
this.id = uuidGeneration();
|
|
68
72
|
this.formService.formContentClicked.pipe(takeUntil(this.onDestroy$)).subscribe((content) => {
|
|
69
73
|
if (content instanceof UploadWidgetContentLinkModel) {
|
|
@@ -280,8 +284,10 @@ export class FormCloudComponent extends FormBaseComponent {
|
|
|
280
284
|
}
|
|
281
285
|
refreshFormData() {
|
|
282
286
|
this.form = this.parseForm(this.formCloudRepresentationJSON);
|
|
283
|
-
|
|
284
|
-
|
|
287
|
+
if (this.form) {
|
|
288
|
+
this.onFormLoaded(this.form);
|
|
289
|
+
this.onFormDataRefreshed(this.form);
|
|
290
|
+
}
|
|
285
291
|
}
|
|
286
292
|
onFormLoaded(form) {
|
|
287
293
|
if (form) {
|
|
@@ -326,12 +332,12 @@ export class FormCloudComponent extends FormBaseComponent {
|
|
|
326
332
|
return this.displayModeService.findConfiguration(FormCloudDisplayMode[displayMode], this.displayModeConfigurations);
|
|
327
333
|
}
|
|
328
334
|
}
|
|
329
|
-
FormCloudComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudComponent, deps: [{ token: i1.FormCloudService }, { token: i2.FormService }, { token: i3.MatDialog }, { token: i2.WidgetVisibilityService }, { token: i4.DisplayModeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
330
|
-
FormCloudComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: FormCloudComponent, selector: "adf-cloud-form", inputs: { appName: "appName", appVersion: "appVersion", formId: "formId", processInstanceId: "processInstanceId", form: "form", taskId: "taskId", data: "data", fieldValidators: "fieldValidators", displayModeConfigurations: "displayModeConfigurations" }, outputs: { formSaved: "formSaved", formCompleted: "formCompleted", formLoaded: "formLoaded", formDataRefreshed: "formDataRefreshed", formContentClicked: "formContentClicked", displayModeOn: "displayModeOn", displayModeOff: "displayModeOff" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!hasForm()\">\n <ng-content select=\"[empty-form]\">\n </ng-content>\n</div>\n\n<div *ngIf=\"hasForm()\" class=\"adf-cloud-form-container adf-cloud-form-{{displayMode?.toLowerCase() || 'inline'}}-container\">\n <div class=\"adf-cloud-form-content\"\n [cdkTrapFocus]=\"displayMode === 'fullScreen'\"\n cdkTrapFocusAutoCapture>\n\n <adf-toolbar class=\"adf-cloud-form-toolbar\" *ngIf=\"displayMode === 'fullScreen' && findDisplayConfiguration('fullScreen')?.options?.displayToolbar\">\n <div class=\"adf-cloud-form__form-title\">\n <span class=\"adf-cloud-form__display-name\" [matTooltip]=\"form.taskName\">\n {{form.taskName}}\n <ng-container *ngIf=\"!form.taskName\">\n {{'FORM.FORM_RENDERER.NAMELESS_TASK' | translate}}\n </ng-container>\n </span>\n </div>\n\n <adf-toolbar-divider></adf-toolbar-divider>\n <button class=\"adf-cloud-form-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n [attr.data-automation-id]=\"'adf-cloud-form-close-button'\"\n [matTooltip]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"switchToDisplayMode()\">\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar>\n\n <mat-card [class.adf-cloud-form-content-card]=\"displayMode === 'fullScreen'\">\n <div class=\"adf-cloud-form-content-card-container\">\n <mat-card-header *ngIf=\"showTitle || showRefreshButton || showValidationIcon\">\n <mat-card-title>\n <h4>\n <div *ngIf=\"showValidationIcon\" class=\"adf-form-validation-button\">\n <i id=\"adf-valid-form-icon\" class=\"material-icons\"\n *ngIf=\"form.isValid; else no_valid_form\">check_circle</i>\n <ng-template #no_valid_form>\n <i id=\"adf-invalid-form-icon\" class=\"material-icons adf-invalid-color\">error</i>\n </ng-template>\n </div>\n <div *ngIf=\"displayMode !== 'fullScreen' && findDisplayConfiguration('fullScreen')\" class=\"adf-cloud-form-fullscreen-button\">\n <button mat-icon-button (click)=\"switchToDisplayMode('fullScreen')\" [attr.data-automation-id]=\"'adf-cloud-form-fullscreen-button'\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n </div>\n <div *ngIf=\"showRefreshButton\" class=\"adf-cloud-form-reload-button\" [matTooltip]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <button mat-icon-button (click)=\"onRefreshClicked()\" [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <span *ngIf=\"isTitleEnabled()\" class=\"adf-cloud-form-title\" [matTooltip]=\"form.taskName\">\n {{form.taskName}}\n <ng-container *ngIf=\"!form.taskName\">\n {{'FORM.FORM_RENDERER.NAMELESS_TASK' | translate}}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"adf-form-container-card-content\">\n <adf-form-renderer [formDefinition]=\"form\">\n </adf-form-renderer>\n </mat-card-content>\n <mat-card-actions *ngIf=\"form.hasOutcomes()\" class=\"adf-form-mat-card-actions\">\n <ng-content select=\"adf-cloud-form-custom-outcomes\"></ng-content>\n <ng-container *ngFor=\"let outcome of form.outcomes\">\n <button *ngIf=\"outcome.isVisible\" [id]=\"'adf-form-'+ outcome.name | formatSpace\" [color]=\"getColorForOutcome(outcome.name)\"\n mat-button [disabled]=\"!isOutcomeButtonEnabled(outcome)\"\n [class.adf-form-hide-button]=\"!isOutcomeButtonVisible(outcome, form.readOnly)\"\n (click)=\"onOutcomeClicked(outcome)\">\n {{outcome.name | translate | uppercase }}\n </button>\n </ng-container>\n </mat-card-actions>\n </div>\n </mat-card>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-cloud-form-inline-container,.adf-cloud-form-container .adf-cloud-form-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-cloud-form-container .adf-cloud-form-content{flex:1;flex-direction:column;display:flex}.adf-cloud-form-fullscreen-container .adf-cloud-form-content{position:fixed;top:0;left:0;z-index:100000}.adf-cloud-form-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-cloud-form-fullscreen-button{position:absolute;right:70px;top:30px}.adf-cloud-form__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;max-width:400px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-cloud-form__form-title{text-align:center;flex:1 1 auto}.adf-cloud-form-content-card{padding:0;height:100%;width:100%}.adf-cloud-form-content-card .adf-cloud-form-content-card-container{display:flex;flex-direction:column;height:100%}.adf-cloud-form-content-card .adf-cloud-form-content-card-container mat-card-content{height:100%;overflow:hidden auto}.adf-cloud-form-content-card .adf-cloud-form-content-card-container mat-card-actions{display:flex;justify-content:flex-end}.adf-cloud-form-sidebars{display:flex;flex:1 1 auto}.adf-cloud-form-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}\n"], dependencies: [{ kind: "directive", type:
|
|
335
|
+
FormCloudComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudComponent, deps: [{ token: i1.FormCloudService }, { token: i2.FormService }, { token: i3.MatDialog }, { token: i2.WidgetVisibilityService }, { token: i4.DisplayModeService }, { token: i5.FormCloudSpinnerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
336
|
+
FormCloudComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: FormCloudComponent, selector: "adf-cloud-form", inputs: { appName: "appName", appVersion: "appVersion", formId: "formId", processInstanceId: "processInstanceId", form: "form", taskId: "taskId", data: "data", fieldValidators: "fieldValidators", displayModeConfigurations: "displayModeConfigurations" }, outputs: { formSaved: "formSaved", formCompleted: "formCompleted", formLoaded: "formLoaded", formDataRefreshed: "formDataRefreshed", formContentClicked: "formContentClicked", displayModeOn: "displayModeOn", displayModeOff: "displayModeOff" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!hasForm()\">\n <ng-content select=\"[empty-form]\">\n </ng-content>\n</div>\n\n<div *ngIf=\"hasForm()\" class=\"adf-cloud-form-container adf-cloud-form-{{displayMode?.toLowerCase() || 'inline'}}-container\">\n <div class=\"adf-cloud-form-content\"\n [cdkTrapFocus]=\"displayMode === 'fullScreen'\"\n cdkTrapFocusAutoCapture>\n\n <adf-toolbar class=\"adf-cloud-form-toolbar\" *ngIf=\"displayMode === 'fullScreen' && findDisplayConfiguration('fullScreen')?.options?.displayToolbar\">\n <div class=\"adf-cloud-form__form-title\">\n <span class=\"adf-cloud-form__display-name\" [matTooltip]=\"form.taskName\">\n {{form.taskName}}\n <ng-container *ngIf=\"!form.taskName\">\n {{'FORM.FORM_RENDERER.NAMELESS_TASK' | translate}}\n </ng-container>\n </span>\n </div>\n\n <adf-toolbar-divider></adf-toolbar-divider>\n <button class=\"adf-cloud-form-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n [attr.data-automation-id]=\"'adf-cloud-form-close-button'\"\n [matTooltip]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"switchToDisplayMode()\">\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar>\n\n <mat-card [class.adf-cloud-form-content-card]=\"displayMode === 'fullScreen'\">\n <div class=\"adf-cloud-form-content-card-container\">\n <mat-card-header *ngIf=\"showTitle || showRefreshButton || showValidationIcon\">\n <mat-card-title>\n <h4>\n <div *ngIf=\"showValidationIcon\" class=\"adf-form-validation-button\">\n <i id=\"adf-valid-form-icon\" class=\"material-icons\"\n *ngIf=\"form.isValid; else no_valid_form\">check_circle</i>\n <ng-template #no_valid_form>\n <i id=\"adf-invalid-form-icon\" class=\"material-icons adf-invalid-color\">error</i>\n </ng-template>\n </div>\n <div *ngIf=\"displayMode !== 'fullScreen' && findDisplayConfiguration('fullScreen')\" class=\"adf-cloud-form-fullscreen-button\">\n <button mat-icon-button (click)=\"switchToDisplayMode('fullScreen')\" [attr.data-automation-id]=\"'adf-cloud-form-fullscreen-button'\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n </div>\n <div *ngIf=\"showRefreshButton\" class=\"adf-cloud-form-reload-button\" [matTooltip]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <button mat-icon-button (click)=\"onRefreshClicked()\" [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <span *ngIf=\"isTitleEnabled()\" class=\"adf-cloud-form-title\" [matTooltip]=\"form.taskName\">\n {{form.taskName}}\n <ng-container *ngIf=\"!form.taskName\">\n {{'FORM.FORM_RENDERER.NAMELESS_TASK' | translate}}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"adf-form-container-card-content\">\n <adf-form-renderer [formDefinition]=\"form\">\n </adf-form-renderer>\n </mat-card-content>\n <mat-card-actions *ngIf=\"form.hasOutcomes()\" class=\"adf-form-mat-card-actions\">\n <ng-content select=\"adf-cloud-form-custom-outcomes\"></ng-content>\n <ng-container *ngFor=\"let outcome of form.outcomes\">\n <button *ngIf=\"outcome.isVisible\" [id]=\"'adf-form-'+ outcome.name | formatSpace\" [color]=\"getColorForOutcome(outcome.name)\"\n mat-button [disabled]=\"!isOutcomeButtonEnabled(outcome)\"\n [class.adf-form-hide-button]=\"!isOutcomeButtonVisible(outcome, form.readOnly)\"\n (click)=\"onOutcomeClicked(outcome)\">\n {{outcome.name | translate | uppercase }}\n </button>\n </ng-container>\n </mat-card-actions>\n </div>\n </mat-card>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-cloud-form-inline-container,.adf-cloud-form-container .adf-cloud-form-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-cloud-form-container .adf-cloud-form-content{flex:1;flex-direction:column;display:flex}.adf-cloud-form-fullscreen-container .adf-cloud-form-content{position:fixed;top:0;left:0;z-index:100000}.adf-cloud-form-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-cloud-form-fullscreen-button{position:absolute;right:70px;top:30px}.adf-cloud-form__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;max-width:400px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-cloud-form__form-title{text-align:center;flex:1 1 auto}.adf-cloud-form-content-card{padding:0;height:100%;width:100%}.adf-cloud-form-content-card .adf-cloud-form-content-card-container{display:flex;flex-direction:column;height:100%}.adf-cloud-form-content-card .adf-cloud-form-content-card-container mat-card-content{height:100%;overflow:hidden auto}.adf-cloud-form-content-card .adf-cloud-form-content-card-container mat-card-actions{display:flex;justify-content:flex-end}.adf-cloud-form-sidebars{display:flex;flex:1 1 auto}.adf-cloud-form-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.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"] }, { kind: "component", type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i8.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i2.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: i2.ToolbarDividerComponent, selector: "adf-toolbar-divider" }, { kind: "component", type: i2.FormRendererComponent, selector: "adf-form-renderer", inputs: ["showDebugButton", "formDefinition"] }, { kind: "directive", type: i11.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2.FormatSpacePipe, name: "formatSpace" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
|
|
331
337
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudComponent, decorators: [{
|
|
332
338
|
type: Component,
|
|
333
339
|
args: [{ selector: 'adf-cloud-form', template: "<div *ngIf=\"!hasForm()\">\n <ng-content select=\"[empty-form]\">\n </ng-content>\n</div>\n\n<div *ngIf=\"hasForm()\" class=\"adf-cloud-form-container adf-cloud-form-{{displayMode?.toLowerCase() || 'inline'}}-container\">\n <div class=\"adf-cloud-form-content\"\n [cdkTrapFocus]=\"displayMode === 'fullScreen'\"\n cdkTrapFocusAutoCapture>\n\n <adf-toolbar class=\"adf-cloud-form-toolbar\" *ngIf=\"displayMode === 'fullScreen' && findDisplayConfiguration('fullScreen')?.options?.displayToolbar\">\n <div class=\"adf-cloud-form__form-title\">\n <span class=\"adf-cloud-form__display-name\" [matTooltip]=\"form.taskName\">\n {{form.taskName}}\n <ng-container *ngIf=\"!form.taskName\">\n {{'FORM.FORM_RENDERER.NAMELESS_TASK' | translate}}\n </ng-container>\n </span>\n </div>\n\n <adf-toolbar-divider></adf-toolbar-divider>\n <button class=\"adf-cloud-form-close-button\"\n data-automation-id=\"adf-toolbar-right-back\"\n [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n [attr.data-automation-id]=\"'adf-cloud-form-close-button'\"\n [matTooltip]=\"'ADF_VIEWER.ACTIONS.CLOSE' | translate\"\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\"\n (click)=\"switchToDisplayMode()\">\n <mat-icon>close</mat-icon>\n </button>\n </adf-toolbar>\n\n <mat-card [class.adf-cloud-form-content-card]=\"displayMode === 'fullScreen'\">\n <div class=\"adf-cloud-form-content-card-container\">\n <mat-card-header *ngIf=\"showTitle || showRefreshButton || showValidationIcon\">\n <mat-card-title>\n <h4>\n <div *ngIf=\"showValidationIcon\" class=\"adf-form-validation-button\">\n <i id=\"adf-valid-form-icon\" class=\"material-icons\"\n *ngIf=\"form.isValid; else no_valid_form\">check_circle</i>\n <ng-template #no_valid_form>\n <i id=\"adf-invalid-form-icon\" class=\"material-icons adf-invalid-color\">error</i>\n </ng-template>\n </div>\n <div *ngIf=\"displayMode !== 'fullScreen' && findDisplayConfiguration('fullScreen')\" class=\"adf-cloud-form-fullscreen-button\">\n <button mat-icon-button (click)=\"switchToDisplayMode('fullScreen')\" [attr.data-automation-id]=\"'adf-cloud-form-fullscreen-button'\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n </div>\n <div *ngIf=\"showRefreshButton\" class=\"adf-cloud-form-reload-button\" [matTooltip]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <button mat-icon-button (click)=\"onRefreshClicked()\" [attr.aria-label]=\"'ADF_VIEWER.ACTIONS.FULLSCREEN' | translate\">\n <mat-icon>refresh</mat-icon>\n </button>\n </div>\n <span *ngIf=\"isTitleEnabled()\" class=\"adf-cloud-form-title\" [matTooltip]=\"form.taskName\">\n {{form.taskName}}\n <ng-container *ngIf=\"!form.taskName\">\n {{'FORM.FORM_RENDERER.NAMELESS_TASK' | translate}}\n </ng-container>\n </span>\n </h4>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"adf-form-container-card-content\">\n <adf-form-renderer [formDefinition]=\"form\">\n </adf-form-renderer>\n </mat-card-content>\n <mat-card-actions *ngIf=\"form.hasOutcomes()\" class=\"adf-form-mat-card-actions\">\n <ng-content select=\"adf-cloud-form-custom-outcomes\"></ng-content>\n <ng-container *ngFor=\"let outcome of form.outcomes\">\n <button *ngIf=\"outcome.isVisible\" [id]=\"'adf-form-'+ outcome.name | formatSpace\" [color]=\"getColorForOutcome(outcome.name)\"\n mat-button [disabled]=\"!isOutcomeButtonEnabled(outcome)\"\n [class.adf-form-hide-button]=\"!isOutcomeButtonVisible(outcome, form.readOnly)\"\n (click)=\"onOutcomeClicked(outcome)\">\n {{outcome.name | translate | uppercase }}\n </button>\n </ng-container>\n </mat-card-actions>\n </div>\n </mat-card>\n </div>\n</div>\n", styles: [".adf-full-screen,.adf-cloud-form-inline-container,.adf-cloud-form-container .adf-cloud-form-content{width:100%;height:100%;background-color:var(--adf-theme-background-card-color)}.adf-cloud-form-container .adf-cloud-form-content{flex:1;flex-direction:column;display:flex}.adf-cloud-form-fullscreen-container .adf-cloud-form-content{position:fixed;top:0;left:0;z-index:100000}.adf-cloud-form-toolbar .mat-toolbar{background-color:var(--adf-theme-background-card-color-087)}.adf-cloud-form-fullscreen-button{position:absolute;right:70px;top:30px}.adf-cloud-form__display-name{font-size:var(--theme-subheading-2-font-size);opacity:.87;line-height:1.5;letter-spacing:-.4px;font-weight:400;font-style:normal;font-stretch:normal;max-width:400px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:middle;color:var(--adf-theme-foreground-text-color)}.adf-cloud-form__form-title{text-align:center;flex:1 1 auto}.adf-cloud-form-content-card{padding:0;height:100%;width:100%}.adf-cloud-form-content-card .adf-cloud-form-content-card-container{display:flex;flex-direction:column;height:100%}.adf-cloud-form-content-card .adf-cloud-form-content-card-container mat-card-content{height:100%;overflow:hidden auto}.adf-cloud-form-content-card .adf-cloud-form-content-card-container mat-card-actions{display:flex;justify-content:flex-end}.adf-cloud-form-sidebars{display:flex;flex:1 1 auto}.adf-cloud-form-sidebars adf-viewer-render{order:1;flex:1 1 auto;display:flex}\n"] }]
|
|
334
|
-
}], ctorParameters: function () { return [{ type: i1.FormCloudService }, { type: i2.FormService }, { type: i3.MatDialog }, { type: i2.WidgetVisibilityService }, { type: i4.DisplayModeService }]; }, propDecorators: { appName: [{
|
|
340
|
+
}], ctorParameters: function () { return [{ type: i1.FormCloudService }, { type: i2.FormService }, { type: i3.MatDialog }, { type: i2.WidgetVisibilityService }, { type: i4.DisplayModeService }, { type: i5.FormCloudSpinnerService }]; }, propDecorators: { appName: [{
|
|
335
341
|
type: Input
|
|
336
342
|
}], appVersion: [{
|
|
337
343
|
type: Input
|
|
@@ -367,4 +373,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
367
373
|
type: HostListener,
|
|
368
374
|
args: ['keydown', ['$event']]
|
|
369
375
|
}] } });
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tY2xvdWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBNEIsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFDSCxpQkFBaUIsRUFFakIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLHFCQUFxQixFQUdyQixTQUFTLEVBRVQsNEJBQTRCLEVBQzVCLFNBQVMsRUFDWixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsRUFBRSxJQUFJLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQXFDLE1BQU0sdUNBQXVD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a0JBTDlCLFNBQVM7K0JBQ0ksZ0JBQWdCO2dPQU8xQixPQUFPO3NCQUROLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQU9OLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFLTixTQUFTO3NCQURSLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixNQUFNO2dCQUtQLFVBQVU7c0JBRFQsTUFBTTtnQkFLUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBS1Asa0JBQWtCO3NCQURqQixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxjQUFjO3NCQURiLE1BQU07Z0JBNkNQLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSwgSG9zdExpc3RlbmVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmb3JrSm9pbiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgbWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIEZvcm1CYXNlQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZE1vZGVsLFxuICAgIEZvcm1PdXRjb21lRXZlbnQsXG4gICAgRm9ybU91dGNvbWVNb2RlbCxcbiAgICBXaWRnZXRWaXNpYmlsaXR5U2VydmljZSxcbiAgICBGb3JtU2VydmljZSxcbiAgICBGT1JNX0ZJRUxEX1ZBTElEQVRPUlMsXG4gICAgRm9ybUZpZWxkVmFsaWRhdG9yLFxuICAgIEZvcm1WYWx1ZXMsXG4gICAgRm9ybU1vZGVsLFxuICAgIENvbnRlbnRMaW5rTW9kZWwsXG4gICAgVXBsb2FkV2lkZ2V0Q29udGVudExpbmtNb2RlbCxcbiAgICBGb3JtRXZlbnRcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEZvcm1DbG91ZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLWNsb3VkLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza1ZhcmlhYmxlQ2xvdWQgfSBmcm9tICcuLi9tb2RlbHMvdGFzay12YXJpYWJsZS1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBUYXNrRGV0YWlsc0Nsb3VkTW9kZWwgfSBmcm9tICcuLi8uLi90YXNrL3N0YXJ0LXRhc2svbW9kZWxzL3Rhc2stZGV0YWlscy1jbG91ZC5tb2RlbCc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkR2VuZXJhdGlvbiB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRm9ybUNsb3VkRGlzcGxheU1vZGUsIEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tZmllbGRzLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGlzcGxheU1vZGVTZXJ2aWNlIH0gZnJvbSAnLi4vcHVibGljLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNsb3VkLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWNsb3VkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLWNsb3VkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUNsb3VkQ29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogQXBwIG5hbWUgdG8gZmV0Y2ggY29ycmVzcG9uZGluZyBmb3JtIGFuZCB2YWx1ZXMuICovXG4gICAgQElucHV0KClcbiAgICBhcHBOYW1lOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBUaGUgYXBwbGljYXRpb24gdmVyc2lvbiB0byB1c2Ugd2hlbiBmZXRjaGluZyBkYXRhICovXG4gICAgQElucHV0KClcbiAgICBhcHBWZXJzaW9uPzogbnVtYmVyO1xuXG4gICAgLyoqIFRhc2sgaWQgdG8gZmV0Y2ggY29ycmVzcG9uZGluZyBmb3JtIGFuZCB2YWx1ZXMuICovXG4gICAgQElucHV0KClcbiAgICBmb3JtSWQ6IHN0cmluZztcblxuICAgIC8qKiBQcm9jZXNzSW5zdGFuY2VJZCBpZCB0byBmZXRjaCBjb3JyZXNwb25kaW5nIGZvcm0gYW5kIHZhbHVlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHByb2Nlc3NJbnN0YW5jZUlkOiBzdHJpbmc7XG5cbiAgICAvKiogVW5kZXJseWluZyBmb3JtIG1vZGVsIGluc3RhbmNlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9ybTogRm9ybU1vZGVsO1xuXG4gICAgLyoqIFRhc2sgaWQgdG8gZmV0Y2ggY29ycmVzcG9uZGluZyBmb3JtIGFuZCB2YWx1ZXMuICovXG4gICAgQElucHV0KClcbiAgICB0YXNrSWQ6IHN0cmluZztcblxuICAgIC8qKiBDdXN0b20gZm9ybSB2YWx1ZXMgbWFwIHRvIGJlIHVzZWQgd2l0aCB0aGUgcmVuZGVyZWQgZm9ybS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRhdGE6IFRhc2tWYXJpYWJsZUNsb3VkW107XG5cbiAgICAvKiogRm9ybUZpZWxkVmFsaWRhdG9yIGFsbG93IHRvIG92ZXJyaWRlIHRoZSBmb3JtIGZpZWxkIHZhbGlkYXRvcnMgcHJvdmlkZWQuICovXG4gICAgQElucHV0KClcbiAgICBmaWVsZFZhbGlkYXRvcnM6IEZvcm1GaWVsZFZhbGlkYXRvcltdID0gWy4uLkZPUk1fRklFTERfVkFMSURBVE9SU107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYXZhaWxhYmxlIGRpc3BsYXkgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBmb3JtXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zOiBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25bXTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkIHdpdGggdGhlIGBTYXZlYCBvciBjdXN0b20gb3V0Y29tZXMuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybVNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCB3aXRoIHRoZSBgQ29tcGxldGVgIG91dGNvbWUuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybU1vZGVsPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBsb2FkZWQgb3IgcmVsb2FkZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybU1vZGVsPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBmb3JtIHZhbHVlcyBhcmUgcmVmcmVzaGVkIGR1ZSB0byBhIGRhdGEgcHJvcGVydHkgY2hhbmdlLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1EYXRhUmVmcmVzaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGZvcm0gY29udGVudCBpcyBjbGlja2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1Db250ZW50Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGVudExpbmtNb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYSBkaXNwbGF5IG1vZGUgY29uZmlndXJhdGlvbiBpcyB0dXJuZWQgb24uICovXG4gICAgQE91dHB1dCgpXG4gICAgZGlzcGxheU1vZGVPbiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIGRpc3BsYXkgbW9kZSBjb25maWd1cmF0aW9uIGlzIHR1cm5lZCBvZmYuICovXG4gICAgQE91dHB1dCgpXG4gICAgZGlzcGxheU1vZGVPZmYgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbj4oKTtcblxuICAgIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICAgIG5vZGVJZDogc3RyaW5nO1xuICAgIGZvcm1DbG91ZFJlcHJlc2VudGF0aW9uSlNPTjogYW55O1xuXG4gICAgcHJvdGVjdGVkIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TW9kZTogRm9ybUNsb3VkRGlzcGxheU1vZGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1DbG91ZFNlcnZpY2U6IEZvcm1DbG91ZFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgIHByb3RlY3RlZCB2aXNpYmlsaXR5U2VydmljZTogV2lkZ2V0VmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlzcGxheU1vZGVTZXJ2aWNlOiBEaXNwbGF5TW9kZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5pZCA9IHV1aWRHZW5lcmF0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5mb3JtU2VydmljZS5mb3JtQ29udGVudENsaWNrZWQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFVwbG9hZFdpZGdldENvbnRlbnRMaW5rTW9kZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0uc2V0Tm9kZUlkVmFsdWVGb3JWaWV3ZXJzTGlua2VkVG9VcGxvYWRXaWRnZXQoY29udGVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkZvcm1EYXRhUmVmcmVzaGVkKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtU2VydmljZS5mb3JtRGF0YVJlZnJlc2hlZC5uZXh0KG5ldyBGb3JtRXZlbnQodGhpcy5mb3JtKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRlbnRDbGlja2VkLmVtaXQoY29udGVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybVNlcnZpY2UudXBkYXRlRm9ybVZhbHVlc1JlcXVlc3RlZC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlc1RvU2V0SWZOb3RQcmVzZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uYWRkVmFsdWVzTm90UHJlc2VudCh2YWx1ZXNUb1NldElmTm90UHJlc2VudCk7XG4gICAgICAgICAgICB0aGlzLm9uRm9ybURhdGFSZWZyZXNoZWQodGhpcy5mb3JtKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb3JtU2VydmljZS5mb3JtRmllbGRWYWx1ZUNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVTYXZlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBjb25zdCBhcHBOYW1lID0gY2hhbmdlc1snYXBwTmFtZSddO1xuXG4gICAgICAgIGlmIChhcHBOYW1lPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhc2tJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Rm9ybUJ5VGFza0lkKGFwcE5hbWUuY3VycmVudFZhbHVlLCB0aGlzLnRhc2tJZCwgdGhpcy5hcHBWZXJzaW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZvcm1CeUlkKGFwcE5hbWUuY3VycmVudFZhbHVlLCB0aGlzLmZvcm1JZCwgdGhpcy5hcHBWZXJzaW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1JZCA9IGNoYW5nZXNbJ2Zvcm1JZCddO1xuICAgICAgICBpZiAoZm9ybUlkPy5jdXJyZW50VmFsdWUgJiYgdGhpcy5hcHBOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmdldEZvcm1CeUlkKHRoaXMuYXBwTmFtZSwgZm9ybUlkLmN1cnJlbnRWYWx1ZSwgdGhpcy5hcHBWZXJzaW9uKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhc2tJZCA9IGNoYW5nZXNbJ3Rhc2tJZCddO1xuICAgICAgICBpZiAodGFza0lkPy5jdXJyZW50VmFsdWUgJiYgdGhpcy5hcHBOYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmdldEZvcm1CeVRhc2tJZCh0aGlzLmFwcE5hbWUsIHRhc2tJZC5jdXJyZW50VmFsdWUsIHRoaXMuYXBwVmVyc2lvbik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhID0gY2hhbmdlc1snZGF0YSddO1xuICAgICAgICBpZiAoZGF0YT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hGb3JtRGF0YSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZm9ybVJlcHJlc2VudGF0aW9uID0gY2hhbmdlc1snZm9ybSddO1xuICAgICAgICBpZiAoZm9ybVJlcHJlc2VudGF0aW9uPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm1SZXByZXNlbnRhdGlvbi5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uRm9ybUxvYWRlZCh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIERpc3BsYXlNb2RlU2VydmljZS5kaXNwbGF5TW9kZSRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoY2hhbmdlKSA9PiBjaGFuZ2UuaWQgPT09IHRoaXMuaWQpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkaXNwbGF5TW9kZUNoYW5nZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9sZERpc3BsYXlNb2RlID0gdGhpcy5kaXNwbGF5TW9kZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID0gZGlzcGxheU1vZGVDaGFuZ2UuZGlzcGxheU1vZGU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBvbGREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24gPSB0aGlzLmRpc3BsYXlNb2RlU2VydmljZS5maW5kQ29uZmlndXJhdGlvbihvbGREaXNwbGF5TW9kZSwgdGhpcy5kaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdEaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24gPSB0aGlzLmRpc3BsYXlNb2RlU2VydmljZS5maW5kQ29uZmlndXJhdGlvbihcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheU1vZGVDaGFuZ2UuZGlzcGxheU1vZGUsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGVDb25maWd1cmF0aW9uc1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZiAob2xkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uPy5kaXNwbGF5TW9kZSAhPT0gbmV3RGlzcGxheU1vZGVDb25maWd1cmF0aW9uPy5kaXNwbGF5TW9kZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAob2xkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlT2ZmLmVtaXQob2xkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobmV3RGlzcGxheU1vZGVDb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlT24uZW1pdChuZXdEaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlZCB3aGVuIHVzZXIgY2xpY2tzIGZvcm0gcmVmcmVzaCBidXR0b24uXG4gICAgICovXG4gICAgb25SZWZyZXNoQ2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5sb2FkRm9ybSgpO1xuICAgIH1cblxuICAgIGxvYWRGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5hcHBOYW1lICYmIHRoaXMudGFza0lkKSB7XG4gICAgICAgICAgICB0aGlzLmdldEZvcm1CeVRhc2tJZCh0aGlzLmFwcE5hbWUsIHRoaXMudGFza0lkLCB0aGlzLmFwcFZlcnNpb24pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYXBwTmFtZSAmJiB0aGlzLmZvcm1JZCkge1xuICAgICAgICAgICAgdGhpcy5nZXRGb3JtQnlJZCh0aGlzLmFwcE5hbWUsIHRoaXMuZm9ybUlkLCB0aGlzLmFwcFZlcnNpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZFByb2Nlc3NWYXJpYWJsZXNCeVRhc2tJZChhcHBOYW1lOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxUYXNrVmFyaWFibGVDbG91ZFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1DbG91ZFNlcnZpY2UuZ2V0VGFzayhhcHBOYW1lLCB0YXNrSWQpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRhc2spID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FQcm9jZXNzVGFzayh0YXNrKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtQ2xvdWRTZXJ2aWNlLmdldFRhc2tWYXJpYWJsZXMoYXBwTmFtZSwgdGFza0lkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaXNBUHJvY2Vzc1Rhc2sodGFza1JlcHJlc2VudGF0aW9uOiBUYXNrRGV0YWlsc0Nsb3VkTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRhc2tSZXByZXNlbnRhdGlvbi5wcm9jZXNzRGVmaW5pdGlvbklkICYmIHRhc2tSZXByZXNlbnRhdGlvbi5wcm9jZXNzRGVmaW5pdGlvbkRlcGxveW1lbnRJZCAhPT0gJ251bGwnO1xuICAgIH1cblxuICAgIGdldEZvcm1CeVRhc2tJZChhcHBOYW1lOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nLCB2ZXJzaW9uPzogbnVtYmVyKTogUHJvbWlzZTxGb3JtTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPEZvcm1Nb2RlbD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGZvcmtKb2luKHRoaXMuZm9ybUNsb3VkU2VydmljZS5nZXRUYXNrRm9ybShhcHBOYW1lLCB0YXNrSWQsIHZlcnNpb24pLCB0aGlzLmZvcm1DbG91ZFNlcnZpY2UuZ2V0VGFza1ZhcmlhYmxlcyhhcHBOYW1lLCB0YXNrSWQpKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1DbG91ZFJlcHJlc2VudGF0aW9uSlNPTiA9IGRhdGFbMF07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNsb3VkUmVwcmVzZW50YXRpb25KU09OLnByb2Nlc3NWYXJpYWJsZXMgPSBkYXRhWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YVsxXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkRm9ybSA9IHRoaXMucGFyc2VGb3JtKHRoaXMuZm9ybUNsb3VkUmVwcmVzZW50YXRpb25KU09OKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eVNlcnZpY2UucmVmcmVzaFZpc2liaWxpdHkocGFyc2VkRm9ybSwgdGhpcy5kYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZEZvcm0udmFsaWRhdGVGb3JtKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0gPSBwYXJzZWRGb3JtO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLm5vZGVJZCA9ICctbXktJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25Gb3JtTG9hZGVkKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Rm9ybUJ5SWQoYXBwTmFtZTogc3RyaW5nLCBmb3JtSWQ6IHN0cmluZywgYXBwVmVyc2lvbj86IG51bWJlcikge1xuICAgICAgICB0aGlzLmZvcm1DbG91ZFNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRGb3JtKGFwcE5hbWUsIGZvcm1JZCwgYXBwVmVyc2lvbilcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoZm9ybSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmbGF0dGVuRm9ybSA9IHsgLi4uZm9ybS5mb3JtUmVwcmVzZW50YXRpb24sIC4uLmZvcm0uZm9ybVJlcHJlc2VudGF0aW9uLmZvcm1EZWZpbml0aW9uIH07XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmbGF0dGVuRm9ybS5mb3JtRGVmaW5pdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZsYXR0ZW5Gb3JtO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChmb3JtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNsb3VkUmVwcmVzZW50YXRpb25KU09OID0gZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkRm9ybSA9IHRoaXMucGFyc2VGb3JtKGZvcm0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlTZXJ2aWNlLnJlZnJlc2hWaXNpYmlsaXR5KHBhcnNlZEZvcm0pO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWRGb3JtPy52YWxpZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gcGFyc2VkRm9ybTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLm5vZGVJZCA9ICctbXktJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkZvcm1Mb2FkZWQodGhpcy5mb3JtKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHNhdmVUYXNrRm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSAmJiB0aGlzLmFwcE5hbWUgJiYgdGhpcy50YXNrSWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNsb3VkU2VydmljZVxuICAgICAgICAgICAgICAgIC5zYXZlVGFza0Zvcm0odGhpcy5hcHBOYW1lLCB0aGlzLnRhc2tJZCwgdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCwgYCR7dGhpcy5mb3JtLmlkfWAsIHRoaXMuZm9ybS52YWx1ZXMpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhc2tTYXZlZCh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHRoaXMub25UYXNrU2F2ZWRFcnJvcihlcnJvcilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZVNlcnZpY2Uub25TYXZlVGFzayh0aGlzLmlkLCB0aGlzLmRpc3BsYXlNb2RlLCB0aGlzLmRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29tcGxldGVUYXNrRm9ybShvdXRjb21lPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0/LmNvbmZpcm1NZXNzYWdlPy5zaG93ID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuZm9ybS5jb25maXJtTWVzc2FnZS5tZXNzYWdlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzQ1MHB4J1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlRm9ybShvdXRjb21lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29tcGxldGVGb3JtKG91dGNvbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlzcGxheU1vZGVTZXJ2aWNlLm9uQ29tcGxldGVUYXNrKHRoaXMuaWQsIHRoaXMuZGlzcGxheU1vZGUsIHRoaXMuZGlzcGxheU1vZGVDb25maWd1cmF0aW9ucyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wbGV0ZUZvcm0ob3V0Y29tZT86IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5mb3JtICYmIHRoaXMuYXBwTmFtZSAmJiB0aGlzLnRhc2tJZCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmNvbXBsZXRlVGFza0Zvcm0odGhpcy5hcHBOYW1lLCB0aGlzLnRhc2tJZCwgdGhpcy5wcm9jZXNzSW5zdGFuY2VJZCwgYCR7dGhpcy5mb3JtLmlkfWAsIHRoaXMuZm9ybS52YWx1ZXMsIG91dGNvbWUsIHRoaXMuYXBwVmVyc2lvbilcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFza0NvbXBsZXRlZCh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHRoaXMub25UYXNrQ29tcGxldGVkRXJyb3IoZXJyb3IpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhcnNlRm9ybShmb3JtQ2xvdWRSZXByZXNlbnRhdGlvbkpTT04/OiBhbnkpOiBGb3JtTW9kZWwgfCBudWxsIHtcbiAgICAgICAgaWYgKGZvcm1DbG91ZFJlcHJlc2VudGF0aW9uSlNPTikge1xuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlczogRm9ybVZhbHVlcyA9IHt9O1xuICAgICAgICAgICAgKHRoaXMuZGF0YSB8fCBbXSkuZm9yRWFjaCgodmFyaWFibGUpID0+IHtcbiAgICAgICAgICAgICAgICBmb3JtVmFsdWVzW3ZhcmlhYmxlLm5hbWVdID0gdmFyaWFibGUudmFsdWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgZm9ybSA9IG5ldyBGb3JtTW9kZWwoZm9ybUNsb3VkUmVwcmVzZW50YXRpb25KU09OLCBmb3JtVmFsdWVzLCB0aGlzLnJlYWRPbmx5LCB0aGlzLmZvcm1TZXJ2aWNlKTtcbiAgICAgICAgICAgIGlmICghZm9ybSkge1xuICAgICAgICAgICAgICAgIGZvcm0ub3V0Y29tZXMgPSB0aGlzLmdldEZvcm1EZWZpbml0aW9uT3V0Y29tZXMoZm9ybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZFZhbGlkYXRvcnMgJiYgdGhpcy5maWVsZFZhbGlkYXRvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvcm0uZmllbGRWYWxpZGF0b3JzID0gdGhpcy5maWVsZFZhbGlkYXRvcnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZm9ybTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY3VzdG9tIHNldCBvZiBvdXRjb21lcyBmb3IgYSBGb3JtIERlZmluaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZm9ybSBGb3JtIGRlZmluaXRpb24gbW9kZWwuXG4gICAgICogQHJldHVybnMgbGlzdCBvZiBmb3JtIG91dGNvbWVzXG4gICAgICovXG4gICAgZ2V0Rm9ybURlZmluaXRpb25PdXRjb21lcyhmb3JtOiBGb3JtTW9kZWwpOiBGb3JtT3V0Y29tZU1vZGVsW10ge1xuICAgICAgICByZXR1cm4gW25ldyBGb3JtT3V0Y29tZU1vZGVsKGZvcm0sIHsgaWQ6ICckc2F2ZScsIG5hbWU6IEZvcm1PdXRjb21lTW9kZWwuU0FWRV9BQ1RJT04sIGlzU3lzdGVtOiB0cnVlIH0pXTtcbiAgICB9XG5cbiAgICBjaGVja1Zpc2liaWxpdHkoZmllbGQ6IEZvcm1GaWVsZE1vZGVsKSB7XG4gICAgICAgIGlmIChmaWVsZD8uZm9ybSkge1xuICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5U2VydmljZS5yZWZyZXNoVmlzaWJpbGl0eShmaWVsZC5mb3JtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaEZvcm1EYXRhKCkge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLnBhcnNlRm9ybSh0aGlzLmZvcm1DbG91ZFJlcHJlc2VudGF0aW9uSlNPTik7XG4gICAgICAgIHRoaXMub25Gb3JtTG9hZGVkKHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMub25Gb3JtRGF0YVJlZnJlc2hlZCh0aGlzLmZvcm0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvcm1Mb2FkZWQoZm9ybTogRm9ybU1vZGVsKSB7XG4gICAgICAgIGlmIChmb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMgPSB0aGlzLmRpc3BsYXlNb2RlU2VydmljZS5nZXREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zKHRoaXMuZGlzcGxheU1vZGVDb25maWd1cmF0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlID0gdGhpcy5kaXNwbGF5TW9kZVNlcnZpY2Uuc3dpdGNoVG9EaXNwbGF5TW9kZShcbiAgICAgICAgICAgICAgICB0aGlzLmlkLFxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5qc29uLmRpc3BsYXlNb2RlLFxuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUsXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZU9uLmVtaXQodGhpcy5kaXNwbGF5TW9kZVNlcnZpY2UuZmluZENvbmZpZ3VyYXRpb24odGhpcy5kaXNwbGF5TW9kZSwgdGhpcy5kaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm1Mb2FkZWQuZW1pdChmb3JtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb3JtRGF0YVJlZnJlc2hlZChmb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5mb3JtRGF0YVJlZnJlc2hlZC5lbWl0KGZvcm0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRhc2tTYXZlZChmb3JtOiBGb3JtTW9kZWwpIHtcbiAgICAgICAgdGhpcy5mb3JtU2F2ZWQuZW1pdChmb3JtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25UYXNrU2F2ZWRFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRhc2tDb21wbGV0ZWQoZm9ybTogRm9ybU1vZGVsKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbXBsZXRlZC5lbWl0KGZvcm0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRhc2tDb21wbGV0ZWRFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkV4ZWN1dGVPdXRjb21lKG91dGNvbWU6IEZvcm1PdXRjb21lTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYXJncyA9IG5ldyBGb3JtT3V0Y29tZUV2ZW50KG91dGNvbWUpO1xuXG4gICAgICAgIGlmIChhcmdzLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhlY3V0ZU91dGNvbWUuZW1pdChhcmdzKTtcbiAgICAgICAgcmV0dXJuICFhcmdzLmRlZmF1bHRQcmV2ZW50ZWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN0b3JlRm9ybUFzTWV0YWRhdGEoKSB7fVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBzd2l0Y2hUb0Rpc3BsYXlNb2RlKG5ld0Rpc3BsYXlNb2RlPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheU1vZGVTZXJ2aWNlLnN3aXRjaFRvRGlzcGxheU1vZGUodGhpcy5pZCwgRm9ybUNsb3VkRGlzcGxheU1vZGVbbmV3RGlzcGxheU1vZGVdLCB0aGlzLmRpc3BsYXlNb2RlLCB0aGlzLmRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMpO1xuICAgIH1cblxuICAgIGZpbmREaXNwbGF5Q29uZmlndXJhdGlvbihkaXNwbGF5TW9kZT86IHN0cmluZyk6IEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlNb2RlU2VydmljZS5maW5kQ29uZmlndXJhdGlvbihGb3JtQ2xvdWREaXNwbGF5TW9kZVtkaXNwbGF5TW9kZV0sIHRoaXMuZGlzcGxheU1vZGVDb25maWd1cmF0aW9ucyk7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cIiFoYXNGb3JtKClcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW1wdHktZm9ybV1cIj5cbiAgICA8L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImhhc0Zvcm0oKVwiIGNsYXNzPVwiYWRmLWNsb3VkLWZvcm0tY29udGFpbmVyIGFkZi1jbG91ZC1mb3JtLXt7ZGlzcGxheU1vZGU/LnRvTG93ZXJDYXNlKCkgfHwgJ2lubGluZSd9fS1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWNsb3VkLWZvcm0tY29udGVudFwiXG4gICAgICAgIFtjZGtUcmFwRm9jdXNdPVwiZGlzcGxheU1vZGUgPT09ICdmdWxsU2NyZWVuJ1wiXG4gICAgICAgIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlPlxuXG4gICAgICAgIDxhZGYtdG9vbGJhciBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLXRvb2xiYXJcIiAqbmdJZj1cImRpc3BsYXlNb2RlID09PSAnZnVsbFNjcmVlbicgJiYgZmluZERpc3BsYXlDb25maWd1cmF0aW9uKCdmdWxsU2NyZWVuJyk/Lm9wdGlvbnM/LmRpc3BsYXlUb29sYmFyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNsb3VkLWZvcm1fX2Zvcm0tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtX19kaXNwbGF5LW5hbWVcIiBbbWF0VG9vbHRpcF09XCJmb3JtLnRhc2tOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7Zm9ybS50YXNrTmFtZX19XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZm9ybS50YXNrTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3snRk9STS5GT1JNX1JFTkRFUkVSLk5BTUVMRVNTX1RBU0snIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxhZGYtdG9vbGJhci1kaXZpZGVyPjwvYWRmLXRvb2xiYXItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWRmLWNsb3VkLWZvcm0tY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10b29sYmFyLXJpZ2h0LWJhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1jbG91ZC1mb3JtLWNsb3NlLWJ1dHRvbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5DTE9TRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hUb0Rpc3BsYXlNb2RlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9hZGYtdG9vbGJhcj5cblxuICAgICAgICA8bWF0LWNhcmQgW2NsYXNzLmFkZi1jbG91ZC1mb3JtLWNvbnRlbnQtY2FyZF09XCJkaXNwbGF5TW9kZSA9PT0gJ2Z1bGxTY3JlZW4nXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNsb3VkLWZvcm0tY29udGVudC1jYXJkLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlciAqbmdJZj1cInNob3dUaXRsZSB8fCBzaG93UmVmcmVzaEJ1dHRvbiB8fCBzaG93VmFsaWRhdGlvbkljb25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxoND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93VmFsaWRhdGlvbkljb25cIiBjbGFzcz1cImFkZi1mb3JtLXZhbGlkYXRpb24tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgaWQ9XCJhZGYtdmFsaWQtZm9ybS1pY29uXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5pc1ZhbGlkOyBlbHNlIG5vX3ZhbGlkX2Zvcm1cIj5jaGVja19jaXJjbGU8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub192YWxpZF9mb3JtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBpZD1cImFkZi1pbnZhbGlkLWZvcm0taWNvblwiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgYWRmLWludmFsaWQtY29sb3JcIj5lcnJvcjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGlzcGxheU1vZGUgIT09ICdmdWxsU2NyZWVuJyAmJiBmaW5kRGlzcGxheUNvbmZpZ3VyYXRpb24oJ2Z1bGxTY3JlZW4nKVwiIGNsYXNzPVwiYWRmLWNsb3VkLWZvcm0tZnVsbHNjcmVlbi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVG9EaXNwbGF5TW9kZSgnZnVsbFNjcmVlbicpXCIgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY2xvdWQtZm9ybS1mdWxsc2NyZWVuLWJ1dHRvbidcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmZ1bGxzY3JlZW48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1JlZnJlc2hCdXR0b25cIiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLXJlbG9hZC1idXR0b25cIiBbbWF0VG9vbHRpcF09XCInQURGX1ZJRVdFUi5BQ1RJT05TLkZVTExTQ1JFRU4nIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uUmVmcmVzaENsaWNrZWQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5GVUxMU0NSRUVOJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cmVmcmVzaDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNUaXRsZUVuYWJsZWQoKVwiIGNsYXNzPVwiYWRmLWNsb3VkLWZvcm0tdGl0bGVcIiBbbWF0VG9vbHRpcF09XCJmb3JtLnRhc2tOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tmb3JtLnRhc2tOYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZvcm0udGFza05hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snRk9STS5GT1JNX1JFTkRFUkVSLk5BTUVMRVNTX1RBU0snIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImFkZi1mb3JtLWNvbnRhaW5lci1jYXJkLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8YWRmLWZvcm0tcmVuZGVyZXIgW2Zvcm1EZWZpbml0aW9uXT1cImZvcm1cIj5cbiAgICAgICAgICAgICAgICA8L2FkZi1mb3JtLXJlbmRlcmVyPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgKm5nSWY9XCJmb3JtLmhhc091dGNvbWVzKClcIiBjbGFzcz1cImFkZi1mb3JtLW1hdC1jYXJkLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhZGYtY2xvdWQtZm9ybS1jdXN0b20tb3V0Y29tZXNcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3V0Y29tZSBvZiBmb3JtLm91dGNvbWVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJvdXRjb21lLmlzVmlzaWJsZVwiIFtpZF09XCInYWRmLWZvcm0tJysgb3V0Y29tZS5uYW1lICB8IGZvcm1hdFNwYWNlXCIgW2NvbG9yXT1cImdldENvbG9yRm9yT3V0Y29tZShvdXRjb21lLm5hbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1idXR0b24gW2Rpc2FibGVkXT1cIiFpc091dGNvbWVCdXR0b25FbmFibGVkKG91dGNvbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hZGYtZm9ybS1oaWRlLWJ1dHRvbl09XCIhaXNPdXRjb21lQnV0dG9uVmlzaWJsZShvdXRjb21lLCBmb3JtLnJlYWRPbmx5KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25PdXRjb21lQ2xpY2tlZChvdXRjb21lKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tvdXRjb21lLm5hbWUgfCB0cmFuc2xhdGUgfCB1cHBlcmNhc2UgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
376
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLWNsb3VkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tY2xvdWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBNEIsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFDSCxpQkFBaUIsRUFFakIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLHFCQUFxQixFQUdyQixTQUFTLEVBRVQsNEJBQTRCLEVBQzVCLFNBQVMsRUFDWixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsRUFBRSxJQUFJLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQXFDLE1BQU0sdUNBQXVD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d0IsQ0FBQyxXQUFvQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN4SCxDQUFDOzsrR0FuYVEsa0JBQWtCO21HQUFsQixrQkFBa0IsNG9CQ2xEL0IseTNKQW1GQTsyRkRqQ2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNJLGdCQUFnQjtzUUFPMUIsT0FBTztzQkFETixLQUFLO2dCQUtOLFVBQVU7c0JBRFQsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFPTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBS04sU0FBUztzQkFEUixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxVQUFVO3NCQURULE1BQU07Z0JBS1AsaUJBQWlCO3NCQURoQixNQUFNO2dCQUtQLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFLUCxhQUFhO3NCQURaLE1BQU07Z0JBS1AsY0FBYztzQkFEYixNQUFNO2dCQWlEUCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBPbkRlc3Ryb3ksIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgZm9ya0pvaW4sIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlVW50aWwsIG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBGb3JtQmFzZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRNb2RlbCxcbiAgICBGb3JtT3V0Y29tZUV2ZW50LFxuICAgIEZvcm1PdXRjb21lTW9kZWwsXG4gICAgV2lkZ2V0VmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgRm9ybVNlcnZpY2UsXG4gICAgRk9STV9GSUVMRF9WQUxJREFUT1JTLFxuICAgIEZvcm1GaWVsZFZhbGlkYXRvcixcbiAgICBGb3JtVmFsdWVzLFxuICAgIEZvcm1Nb2RlbCxcbiAgICBDb250ZW50TGlua01vZGVsLFxuICAgIFVwbG9hZFdpZGdldENvbnRlbnRMaW5rTW9kZWwsXG4gICAgRm9ybUV2ZW50XG59IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBGb3JtQ2xvdWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1jbG91ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhc2tWYXJpYWJsZUNsb3VkIH0gZnJvbSAnLi4vbW9kZWxzL3Rhc2stdmFyaWFibGUtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgVGFza0RldGFpbHNDbG91ZE1vZGVsIH0gZnJvbSAnLi4vLi4vdGFzay9zdGFydC10YXNrL21vZGVscy90YXNrLWRldGFpbHMtY2xvdWQubW9kZWwnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZEdlbmVyYXRpb24gfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEZvcm1DbG91ZERpc3BsYXlNb2RlLCBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkcy5pbnRlcmZhY2VzJztcbmltcG9ydCB7IERpc3BsYXlNb2RlU2VydmljZSB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRm9ybUNsb3VkU3Bpbm5lclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zcGlubmVyL2Zvcm0tY2xvdWQtc3Bpbm5lci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtY2xvdWQtZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tY2xvdWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tY2xvdWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ2xvdWRDb21wb25lbnQgZXh0ZW5kcyBGb3JtQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBBcHAgbmFtZSB0byBmZXRjaCBjb3JyZXNwb25kaW5nIGZvcm0gYW5kIHZhbHVlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcE5hbWU6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIFRoZSBhcHBsaWNhdGlvbiB2ZXJzaW9uIHRvIHVzZSB3aGVuIGZldGNoaW5nIGRhdGEgKi9cbiAgICBASW5wdXQoKVxuICAgIGFwcFZlcnNpb24/OiBudW1iZXI7XG5cbiAgICAvKiogVGFzayBpZCB0byBmZXRjaCBjb3JyZXNwb25kaW5nIGZvcm0gYW5kIHZhbHVlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZvcm1JZDogc3RyaW5nO1xuXG4gICAgLyoqIFByb2Nlc3NJbnN0YW5jZUlkIGlkIHRvIGZldGNoIGNvcnJlc3BvbmRpbmcgZm9ybSBhbmQgdmFsdWVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHJvY2Vzc0luc3RhbmNlSWQ6IHN0cmluZztcblxuICAgIC8qKiBVbmRlcmx5aW5nIGZvcm0gbW9kZWwgaW5zdGFuY2UuICovXG4gICAgQElucHV0KClcbiAgICBmb3JtOiBGb3JtTW9kZWw7XG5cbiAgICAvKiogVGFzayBpZCB0byBmZXRjaCBjb3JyZXNwb25kaW5nIGZvcm0gYW5kIHZhbHVlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRhc2tJZDogc3RyaW5nO1xuXG4gICAgLyoqIEN1c3RvbSBmb3JtIHZhbHVlcyBtYXAgdG8gYmUgdXNlZCB3aXRoIHRoZSByZW5kZXJlZCBmb3JtLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGF0YTogVGFza1ZhcmlhYmxlQ2xvdWRbXTtcblxuICAgIC8qKiBGb3JtRmllbGRWYWxpZGF0b3IgYWxsb3cgdG8gb3ZlcnJpZGUgdGhlIGZvcm0gZmllbGQgdmFsaWRhdG9ycyBwcm92aWRlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkVmFsaWRhdG9yczogRm9ybUZpZWxkVmFsaWRhdG9yW10gPSBbLi4uRk9STV9GSUVMRF9WQUxJREFUT1JTXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBhdmFpbGFibGUgZGlzcGxheSBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGZvcm1cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnM6IEZvcm1DbG91ZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbltdO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWQgd2l0aCB0aGUgYFNhdmVgIG9yIGN1c3RvbSBvdXRjb21lcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Nb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkIHdpdGggdGhlIGBDb21wbGV0ZWAgb3V0Y29tZS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtQ29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIGxvYWRlZCBvciByZWxvYWRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb3JtTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtTW9kZWw+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGZvcm0gdmFsdWVzIGFyZSByZWZyZXNoZWQgZHVlIHRvIGEgZGF0YSBwcm9wZXJ0eSBjaGFuZ2UuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybURhdGFSZWZyZXNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Nb2RlbD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gZm9ybSBjb250ZW50IGlzIGNsaWNrZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUNvbnRlbnRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDb250ZW50TGlua01vZGVsPigpO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIGRpc3BsYXkgbW9kZSBjb25maWd1cmF0aW9uIGlzIHR1cm5lZCBvbi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBkaXNwbGF5TW9kZU9uID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZGlzcGxheSBtb2RlIGNvbmZpZ3VyYXRpb24gaXMgdHVybmVkIG9mZi4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBkaXNwbGF5TW9kZU9mZiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybUNsb3VkRGlzcGxheU1vZGVDb25maWd1cmF0aW9uPigpO1xuXG4gICAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gICAgbm9kZUlkOiBzdHJpbmc7XG4gICAgZm9ybUNsb3VkUmVwcmVzZW50YXRpb25KU09OOiBhbnk7XG5cbiAgICBwcm90ZWN0ZWQgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICByZWFkb25seSBpZDogc3RyaW5nO1xuICAgIGRpc3BsYXlNb2RlOiBGb3JtQ2xvdWREaXNwbGF5TW9kZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZm9ybUNsb3VkU2VydmljZTogRm9ybUNsb3VkU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJvdGVjdGVkIHZpc2liaWxpdHlTZXJ2aWNlOiBXaWRnZXRWaXNpYmlsaXR5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkaXNwbGF5TW9kZVNlcnZpY2U6IERpc3BsYXlNb2RlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzcGlubmVyU2VydmljZTogRm9ybUNsb3VkU3Bpbm5lclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmluaXRTcGlubmVySGFuZGxpbmcodGhpcy5vbkRlc3Ryb3kkKTtcblxuICAgICAgICB0aGlzLmlkID0gdXVpZEdlbmVyYXRpb24oKTtcblxuICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLmZvcm1Db250ZW50Q2xpY2tlZC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGNvbnRlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgVXBsb2FkV2lkZ2V0Q29udGVudExpbmtNb2RlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5zZXROb2RlSWRWYWx1ZUZvclZpZXdlcnNMaW5rZWRUb1VwbG9hZFdpZGdldChjb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRm9ybURhdGFSZWZyZXNoZWQodGhpcy5mb3JtKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLmZvcm1EYXRhUmVmcmVzaGVkLm5leHQobmV3IEZvcm1FdmVudCh0aGlzLmZvcm0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udGVudENsaWNrZWQuZW1pdChjb250ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb3JtU2VydmljZS51cGRhdGVGb3JtVmFsdWVzUmVxdWVzdGVkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWVzVG9TZXRJZk5vdFByZXNlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5hZGRWYWx1ZXNOb3RQcmVzZW50KHZhbHVlc1RvU2V0SWZOb3RQcmVzZW50KTtcbiAgICAgICAgICAgIHRoaXMub25Gb3JtRGF0YVJlZnJlc2hlZCh0aGlzLmZvcm0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZvcm1TZXJ2aWNlLmZvcm1GaWVsZFZhbHVlQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZVNhdmVCdXR0b24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IGFwcE5hbWUgPSBjaGFuZ2VzWydhcHBOYW1lJ107XG5cbiAgICAgICAgaWYgKGFwcE5hbWU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMudGFza0lkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRGb3JtQnlUYXNrSWQoYXBwTmFtZS5jdXJyZW50VmFsdWUsIHRoaXMudGFza0lkLCB0aGlzLmFwcFZlcnNpb24pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZvcm1JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Rm9ybUJ5SWQoYXBwTmFtZS5jdXJyZW50VmFsdWUsIHRoaXMuZm9ybUlkLCB0aGlzLmFwcFZlcnNpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZm9ybUlkID0gY2hhbmdlc1snZm9ybUlkJ107XG4gICAgICAgIGlmIChmb3JtSWQ/LmN1cnJlbnRWYWx1ZSAmJiB0aGlzLmFwcE5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9ybUJ5SWQodGhpcy5hcHBOYW1lLCBmb3JtSWQuY3VycmVudFZhbHVlLCB0aGlzLmFwcFZlcnNpb24pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFza0lkID0gY2hhbmdlc1sndGFza0lkJ107XG4gICAgICAgIGlmICh0YXNrSWQ/LmN1cnJlbnRWYWx1ZSAmJiB0aGlzLmFwcE5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9ybUJ5VGFza0lkKHRoaXMuYXBwTmFtZSwgdGFza0lkLmN1cnJlbnRWYWx1ZSwgdGhpcy5hcHBWZXJzaW9uKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGEgPSBjaGFuZ2VzWydkYXRhJ107XG4gICAgICAgIGlmIChkYXRhPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEZvcm1EYXRhKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtUmVwcmVzZW50YXRpb24gPSBjaGFuZ2VzWydmb3JtJ107XG4gICAgICAgIGlmIChmb3JtUmVwcmVzZW50YXRpb24/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybVJlcHJlc2VudGF0aW9uLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMub25Gb3JtTG9hZGVkKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgRGlzcGxheU1vZGVTZXJ2aWNlLmRpc3BsYXlNb2RlJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChjaGFuZ2UpID0+IGNoYW5nZS5pZCA9PT0gdGhpcy5pZCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpc3BsYXlNb2RlQ2hhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkRGlzcGxheU1vZGUgPSB0aGlzLmRpc3BsYXlNb2RlO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGUgPSBkaXNwbGF5TW9kZUNoYW5nZS5kaXNwbGF5TW9kZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG9sZERpc3BsYXlNb2RlQ29uZmlndXJhdGlvbiA9IHRoaXMuZGlzcGxheU1vZGVTZXJ2aWNlLmZpbmRDb25maWd1cmF0aW9uKG9sZERpc3BsYXlNb2RlLCB0aGlzLmRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0Rpc3BsYXlNb2RlQ29uZmlndXJhdGlvbiA9IHRoaXMuZGlzcGxheU1vZGVTZXJ2aWNlLmZpbmRDb25maWd1cmF0aW9uKFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TW9kZUNoYW5nZS5kaXNwbGF5TW9kZSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmIChvbGREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24/LmRpc3BsYXlNb2RlICE9PSBuZXdEaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24/LmRpc3BsYXlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvbGREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGVPZmYuZW1pdChvbGREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdEaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGVPbi5lbWl0KG5ld0Rpc3BsYXlNb2RlQ29uZmlndXJhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZva2VkIHdoZW4gdXNlciBjbGlja3MgZm9ybSByZWZyZXNoIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBvblJlZnJlc2hDbGlja2VkKCkge1xuICAgICAgICB0aGlzLmxvYWRGb3JtKCk7XG4gICAgfVxuXG4gICAgbG9hZEZvcm0oKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcE5hbWUgJiYgdGhpcy50YXNrSWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9ybUJ5VGFza0lkKHRoaXMuYXBwTmFtZSwgdGhpcy50YXNrSWQsIHRoaXMuYXBwVmVyc2lvbik7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hcHBOYW1lICYmIHRoaXMuZm9ybUlkKSB7XG4gICAgICAgICAgICB0aGlzLmdldEZvcm1CeUlkKHRoaXMuYXBwTmFtZSwgdGhpcy5mb3JtSWQsIHRoaXMuYXBwVmVyc2lvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmaW5kUHJvY2Vzc1ZhcmlhYmxlc0J5VGFza0lkKGFwcE5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRhc2tWYXJpYWJsZUNsb3VkW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUNsb3VkU2VydmljZS5nZXRUYXNrKGFwcE5hbWUsIHRhc2tJZCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodGFzaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQVByb2Nlc3NUYXNrKHRhc2spKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1DbG91ZFNlcnZpY2UuZ2V0VGFza1ZhcmlhYmxlcyhhcHBOYW1lLCB0YXNrSWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpc0FQcm9jZXNzVGFzayh0YXNrUmVwcmVzZW50YXRpb246IFRhc2tEZXRhaWxzQ2xvdWRNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGFza1JlcHJlc2VudGF0aW9uLnByb2Nlc3NEZWZpbml0aW9uSWQgJiYgdGFza1JlcHJlc2VudGF0aW9uLnByb2Nlc3NEZWZpbml0aW9uRGVwbG95bWVudElkICE9PSAnbnVsbCc7XG4gICAgfVxuXG4gICAgZ2V0Rm9ybUJ5VGFza0lkKGFwcE5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHZlcnNpb24/OiBudW1iZXIpOiBQcm9taXNlPEZvcm1Nb2RlbD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Rm9ybU1vZGVsPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgZm9ya0pvaW4odGhpcy5mb3JtQ2xvdWRTZXJ2aWNlLmdldFRhc2tGb3JtKGFwcE5hbWUsIHRhc2tJZCwgdmVyc2lvbiksIHRoaXMuZm9ybUNsb3VkU2VydmljZS5nZXRUYXNrVmFyaWFibGVzKGFwcE5hbWUsIHRhc2tJZCkpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNsb3VkUmVwcmVzZW50YXRpb25KU09OID0gZGF0YVswXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ2xvdWRSZXByZXNlbnRhdGlvbkpTT04ucHJvY2Vzc1ZhcmlhYmxlcyA9IGRhdGFbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhWzFdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRGb3JtID0gdGhpcy5wYXJzZUZvcm0odGhpcy5mb3JtQ2xvdWRSZXByZXNlbnRhdGlvbkpTT04pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmlsaXR5U2VydmljZS5yZWZyZXNoVmlzaWJpbGl0eShwYXJzZWRGb3JtLCB0aGlzLmRhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VkRm9ybS52YWxpZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybSA9IHBhcnNlZEZvcm07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0ubm9kZUlkID0gJy1teS0nO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkZvcm1Mb2FkZWQodGhpcy5mb3JtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5mb3JtKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRGb3JtQnlJZChhcHBOYW1lOiBzdHJpbmcsIGZvcm1JZDogc3RyaW5nLCBhcHBWZXJzaW9uPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZm9ybUNsb3VkU2VydmljZVxuICAgICAgICAgICAgLmdldEZvcm0oYXBwTmFtZSwgZm9ybUlkLCBhcHBWZXJzaW9uKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChmb3JtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsYXR0ZW5Gb3JtID0geyAuLi5mb3JtLmZvcm1SZXByZXNlbnRhdGlvbiwgLi4uZm9ybS5mb3JtUmVwcmVzZW50YXRpb24uZm9ybURlZmluaXRpb24gfTtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGZsYXR0ZW5Gb3JtLmZvcm1EZWZpbml0aW9uO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmxhdHRlbkZvcm07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGZvcm0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ2xvdWRSZXByZXNlbnRhdGlvbkpTT04gPSBmb3JtO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRGb3JtID0gdGhpcy5wYXJzZUZvcm0oZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eVNlcnZpY2UucmVmcmVzaFZpc2liaWxpdHkocGFyc2VkRm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIHBhcnNlZEZvcm0/LnZhbGlkYXRlRm9ybSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0gPSBwYXJzZWRGb3JtO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0ubm9kZUlkID0gJy1teS0nO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRm9ybUxvYWRlZCh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgc2F2ZVRhc2tGb3JtKCkge1xuICAgICAgICBpZiAodGhpcy5mb3JtICYmIHRoaXMuYXBwTmFtZSAmJiB0aGlzLnRhc2tJZCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ2xvdWRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLnNhdmVUYXNrRm9ybSh0aGlzLmFwcE5hbWUsIHRoaXMudGFza0lkLCB0aGlzLnByb2Nlc3NJbnN0YW5jZUlkLCBgJHt0aGlzLmZvcm0uaWR9YCwgdGhpcy5mb3JtLnZhbHVlcylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFza1NhdmVkKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcikgPT4gdGhpcy5vblRhc2tTYXZlZEVycm9yKGVycm9yKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlU2VydmljZS5vblNhdmVUYXNrKHRoaXMuaWQsIHRoaXMuZGlzcGxheU1vZGUsIHRoaXMuZGlzcGxheU1vZGVDb25maWd1cmF0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wbGV0ZVRhc2tGb3JtKG91dGNvbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybT8uY29uZmlybU1lc3NhZ2U/LnNob3cgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5mb3JtLmNvbmZpcm1NZXNzYWdlLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnNDUwcHgnXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVGb3JtKG91dGNvbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb21wbGV0ZUZvcm0ob3V0Y29tZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwbGF5TW9kZVNlcnZpY2Uub25Db21wbGV0ZVRhc2sodGhpcy5pZCwgdGhpcy5kaXNwbGF5TW9kZSwgdGhpcy5kaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXBsZXRlRm9ybShvdXRjb21lPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0gJiYgdGhpcy5hcHBOYW1lICYmIHRoaXMudGFza0lkKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1DbG91ZFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuY29tcGxldGVUYXNrRm9ybSh0aGlzLmFwcE5hbWUsIHRoaXMudGFza0lkLCB0aGlzLnByb2Nlc3NJbnN0YW5jZUlkLCBgJHt0aGlzLmZvcm0uaWR9YCwgdGhpcy5mb3JtLnZhbHVlcywgb3V0Y29tZSwgdGhpcy5hcHBWZXJzaW9uKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25UYXNrQ29tcGxldGVkKHRoaXMuZm9ybSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcikgPT4gdGhpcy5vblRhc2tDb21wbGV0ZWRFcnJvcihlcnJvcilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFyc2VGb3JtKGZvcm1DbG91ZFJlcHJlc2VudGF0aW9uSlNPTj86IGFueSk6IEZvcm1Nb2RlbCB8IG51bGwge1xuICAgICAgICBpZiAoZm9ybUNsb3VkUmVwcmVzZW50YXRpb25KU09OKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtVmFsdWVzOiBGb3JtVmFsdWVzID0ge307XG4gICAgICAgICAgICAodGhpcy5kYXRhIHx8IFtdKS5mb3JFYWNoKCh2YXJpYWJsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGZvcm1WYWx1ZXNbdmFyaWFibGUubmFtZV0gPSB2YXJpYWJsZS52YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1Nb2RlbChmb3JtQ2xvdWRSZXByZXNlbnRhdGlvbkpTT04sIGZvcm1WYWx1ZXMsIHRoaXMucmVhZE9ubHksIHRoaXMuZm9ybVNlcnZpY2UpO1xuICAgICAgICAgICAgaWYgKCFmb3JtKSB7XG4gICAgICAgICAgICAgICAgZm9ybS5vdXRjb21lcyA9IHRoaXMuZ2V0Rm9ybURlZmluaXRpb25PdXRjb21lcyhmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkVmFsaWRhdG9ycyAmJiB0aGlzLmZpZWxkVmFsaWRhdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9ybS5maWVsZFZhbGlkYXRvcnMgPSB0aGlzLmZpZWxkVmFsaWRhdG9ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmb3JtO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGN1c3RvbSBzZXQgb2Ygb3V0Y29tZXMgZm9yIGEgRm9ybSBEZWZpbml0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm0gRm9ybSBkZWZpbml0aW9uIG1vZGVsLlxuICAgICAqIEByZXR1cm5zIGxpc3Qgb2YgZm9ybSBvdXRjb21lc1xuICAgICAqL1xuICAgIGdldEZvcm1EZWZpbml0aW9uT3V0Y29tZXMoZm9ybTogRm9ybU1vZGVsKTogRm9ybU91dGNvbWVNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIFtuZXcgRm9ybU91dGNvbWVNb2RlbChmb3JtLCB7IGlkOiAnJHNhdmUnLCBuYW1lOiBGb3JtT3V0Y29tZU1vZGVsLlNBVkVfQUNUSU9OLCBpc1N5c3RlbTogdHJ1ZSB9KV07XG4gICAgfVxuXG4gICAgY2hlY2tWaXNpYmlsaXR5KGZpZWxkOiBGb3JtRmllbGRNb2RlbCkge1xuICAgICAgICBpZiAoZmllbGQ/LmZvcm0pIHtcbiAgICAgICAgICAgIHRoaXMudmlzaWJpbGl0eVNlcnZpY2UucmVmcmVzaFZpc2liaWxpdHkoZmllbGQuZm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hGb3JtRGF0YSgpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5wYXJzZUZvcm0odGhpcy5mb3JtQ2xvdWRSZXByZXNlbnRhdGlvbkpTT04pO1xuICAgICAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICAgICAgICB0aGlzLm9uRm9ybUxvYWRlZCh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgdGhpcy5vbkZvcm1EYXRhUmVmcmVzaGVkKHRoaXMuZm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb3JtTG9hZGVkKGZvcm06IEZvcm1Nb2RlbCkge1xuICAgICAgICBpZiAoZm9ybSkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zID0gdGhpcy5kaXNwbGF5TW9kZVNlcnZpY2UuZ2V0RGlzcGxheU1vZGVDb25maWd1cmF0aW9ucyh0aGlzLmRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TW9kZSA9IHRoaXMuZGlzcGxheU1vZGVTZXJ2aWNlLnN3aXRjaFRvRGlzcGxheU1vZGUoXG4gICAgICAgICAgICAgICAgdGhpcy5pZCxcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0uanNvbi5kaXNwbGF5TW9kZSxcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlNb2RlLFxuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGVDb25maWd1cmF0aW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheU1vZGVPbi5lbWl0KHRoaXMuZGlzcGxheU1vZGVTZXJ2aWNlLmZpbmRDb25maWd1cmF0aW9uKHRoaXMuZGlzcGxheU1vZGUsIHRoaXMuZGlzcGxheU1vZGVDb25maWd1cmF0aW9ucykpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtTG9hZGVkLmVtaXQoZm9ybSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9ybURhdGFSZWZyZXNoZWQoZm9ybTogRm9ybU1vZGVsKSB7XG4gICAgICAgIHRoaXMuZm9ybURhdGFSZWZyZXNoZWQuZW1pdChmb3JtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25UYXNrU2F2ZWQoZm9ybTogRm9ybU1vZGVsKSB7XG4gICAgICAgIHRoaXMuZm9ybVNhdmVkLmVtaXQoZm9ybSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVGFza1NhdmVkRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25UYXNrQ29tcGxldGVkKGZvcm06IEZvcm1Nb2RlbCkge1xuICAgICAgICB0aGlzLmZvcm1Db21wbGV0ZWQuZW1pdChmb3JtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25UYXNrQ29tcGxldGVkRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25FeGVjdXRlT3V0Y29tZShvdXRjb21lOiBGb3JtT3V0Y29tZU1vZGVsKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBuZXcgRm9ybU91dGNvbWVFdmVudChvdXRjb21lKTtcblxuICAgICAgICBpZiAoYXJncy5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4ZWN1dGVPdXRjb21lLmVtaXQoYXJncyk7XG4gICAgICAgIHJldHVybiAhYXJncy5kZWZhdWx0UHJldmVudGVkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdG9yZUZvcm1Bc01ldGFkYXRhKCkge31cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgc3dpdGNoVG9EaXNwbGF5TW9kZShuZXdEaXNwbGF5TW9kZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLmRpc3BsYXlNb2RlU2VydmljZS5zd2l0Y2hUb0Rpc3BsYXlNb2RlKHRoaXMuaWQsIEZvcm1DbG91ZERpc3BsYXlNb2RlW25ld0Rpc3BsYXlNb2RlXSwgdGhpcy5kaXNwbGF5TW9kZSwgdGhpcy5kaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb25zKTtcbiAgICB9XG5cbiAgICBmaW5kRGlzcGxheUNvbmZpZ3VyYXRpb24oZGlzcGxheU1vZGU/OiBzdHJpbmcpOiBGb3JtQ2xvdWREaXNwbGF5TW9kZUNvbmZpZ3VyYXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5TW9kZVNlcnZpY2UuZmluZENvbmZpZ3VyYXRpb24oRm9ybUNsb3VkRGlzcGxheU1vZGVbZGlzcGxheU1vZGVdLCB0aGlzLmRpc3BsYXlNb2RlQ29uZmlndXJhdGlvbnMpO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhaGFzRm9ybSgpXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VtcHR5LWZvcm1dXCI+XG4gICAgPC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJoYXNGb3JtKClcIiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLWNvbnRhaW5lciBhZGYtY2xvdWQtZm9ybS17e2Rpc3BsYXlNb2RlPy50b0xvd2VyQ2FzZSgpIHx8ICdpbmxpbmUnfX0tY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLWNvbnRlbnRcIlxuICAgICAgICBbY2RrVHJhcEZvY3VzXT1cImRpc3BsYXlNb2RlID09PSAnZnVsbFNjcmVlbidcIlxuICAgICAgICBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cblxuICAgICAgICA8YWRmLXRvb2xiYXIgY2xhc3M9XCJhZGYtY2xvdWQtZm9ybS10b29sYmFyXCIgKm5nSWY9XCJkaXNwbGF5TW9kZSA9PT0gJ2Z1bGxTY3JlZW4nICYmIGZpbmREaXNwbGF5Q29uZmlndXJhdGlvbignZnVsbFNjcmVlbicpPy5vcHRpb25zPy5kaXNwbGF5VG9vbGJhclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtX19mb3JtLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtY2xvdWQtZm9ybV9fZGlzcGxheS1uYW1lXCIgW21hdFRvb2x0aXBdPVwiZm9ybS50YXNrTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICB7e2Zvcm0udGFza05hbWV9fVxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZvcm0udGFza05hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7J0ZPUk0uRk9STV9SRU5ERVJFUi5OQU1FTEVTU19UQVNLJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8YWRmLXRvb2xiYXItZGl2aWRlcj48L2FkZi10b29sYmFyLWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdG9vbGJhci1yaWdodC1iYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5DTE9TRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY2xvdWQtZm9ybS1jbG9zZS1idXR0b24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidBREZfVklFV0VSLkFDVElPTlMuQ0xPU0UnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVG9EaXNwbGF5TW9kZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvYWRmLXRvb2xiYXI+XG5cbiAgICAgICAgPG1hdC1jYXJkIFtjbGFzcy5hZGYtY2xvdWQtZm9ybS1jb250ZW50LWNhcmRdPVwiZGlzcGxheU1vZGUgPT09ICdmdWxsU2NyZWVuJ1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLWNvbnRlbnQtY2FyZC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXIgKm5nSWY9XCJzaG93VGl0bGUgfHwgc2hvd1JlZnJlc2hCdXR0b24gfHwgc2hvd1ZhbGlkYXRpb25JY29uXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8aDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1ZhbGlkYXRpb25JY29uXCIgY2xhc3M9XCJhZGYtZm9ybS12YWxpZGF0aW9uLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGlkPVwiYWRmLXZhbGlkLWZvcm0taWNvblwiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0uaXNWYWxpZDsgZWxzZSBub192YWxpZF9mb3JtXCI+Y2hlY2tfY2lyY2xlPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9fdmFsaWRfZm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgaWQ9XCJhZGYtaW52YWxpZC1mb3JtLWljb25cIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGFkZi1pbnZhbGlkLWNvbG9yXCI+ZXJyb3I8L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlNb2RlICE9PSAnZnVsbFNjcmVlbicgJiYgZmluZERpc3BsYXlDb25maWd1cmF0aW9uKCdmdWxsU2NyZWVuJylcIiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLWZ1bGxzY3JlZW4tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInN3aXRjaFRvRGlzcGxheU1vZGUoJ2Z1bGxTY3JlZW4nKVwiIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYWRmLWNsb3VkLWZvcm0tZnVsbHNjcmVlbi1idXR0b24nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5mdWxsc2NyZWVuPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dSZWZyZXNoQnV0dG9uXCIgY2xhc3M9XCJhZGYtY2xvdWQtZm9ybS1yZWxvYWQtYnV0dG9uXCIgW21hdFRvb2x0aXBdPVwiJ0FERl9WSUVXRVIuQUNUSU9OUy5GVUxMU0NSRUVOJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvblJlZnJlc2hDbGlja2VkKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfVklFV0VSLkFDVElPTlMuRlVMTFNDUkVFTicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnJlZnJlc2g8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVGl0bGVFbmFibGVkKClcIiBjbGFzcz1cImFkZi1jbG91ZC1mb3JtLXRpdGxlXCIgW21hdFRvb2x0aXBdPVwiZm9ybS50YXNrTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Zm9ybS50YXNrTmFtZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmb3JtLnRhc2tOYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0ZPUk0uRk9STV9SRU5ERVJFUi5OQU1FTEVTU19UQVNLJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJhZGYtZm9ybS1jb250YWluZXItY2FyZC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGFkZi1mb3JtLXJlbmRlcmVyIFtmb3JtRGVmaW5pdGlvbl09XCJmb3JtXCI+XG4gICAgICAgICAgICAgICAgPC9hZGYtZm9ybS1yZW5kZXJlcj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zICpuZ0lmPVwiZm9ybS5oYXNPdXRjb21lcygpXCIgY2xhc3M9XCJhZGYtZm9ybS1tYXQtY2FyZC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYWRmLWNsb3VkLWZvcm0tY3VzdG9tLW91dGNvbWVzXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG91dGNvbWUgb2YgZm9ybS5vdXRjb21lc1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwib3V0Y29tZS5pc1Zpc2libGVcIiBbaWRdPVwiJ2FkZi1mb3JtLScrIG91dGNvbWUubmFtZSAgfCBmb3JtYXRTcGFjZVwiIFtjb2xvcl09XCJnZXRDb2xvckZvck91dGNvbWUob3V0Y29tZS5uYW1lKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtYnV0dG9uIFtkaXNhYmxlZF09XCIhaXNPdXRjb21lQnV0dG9uRW5hYmxlZChvdXRjb21lKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWRmLWZvcm0taGlkZS1idXR0b25dPVwiIWlzT3V0Y29tZUJ1dHRvblZpc2libGUob3V0Y29tZSwgZm9ybS5yZWFkT25seSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3V0Y29tZUNsaWNrZWQob3V0Y29tZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7b3V0Y29tZS5uYW1lIHwgdHJhbnNsYXRlIHwgdXBwZXJjYXNlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Component, Input } from '@angular/core';
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
20
|
+
import * as i2 from "@ngx-translate/core";
|
|
21
|
+
export class FormSpinnerComponent {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.message = '';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
FormSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
FormSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: FormSpinnerComponent, selector: "ng-component", inputs: { message: "message" }, ngImport: i0, template: "<div class=\"adf-cloud-form-spinner\">\n <div class=\"adf-cloud-form-spinner-content\">\n <mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n ></mat-progress-spinner>\n <span class=\"adf-cloud-form-spinner-content-message\">\n {{message | translate}}\n </span>\n </div>\n</div>\n", styles: [".adf-cloud-form-spinner{position:fixed;inset:0;display:flex;place-content:center center}.adf-cloud-form-spinner-content{display:flex;flex-flow:column wrap;place-content:center center;row-gap:25px;align-items:center}.adf-cloud-form-spinner-content-message{font-size:var(--theme-body-4-font-size)}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormSpinnerComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ template: "<div class=\"adf-cloud-form-spinner\">\n <div class=\"adf-cloud-form-spinner-content\">\n <mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n ></mat-progress-spinner>\n <span class=\"adf-cloud-form-spinner-content-message\">\n {{message | translate}}\n </span>\n </div>\n</div>\n", styles: [".adf-cloud-form-spinner{position:fixed;inset:0;display:flex;place-content:center center}.adf-cloud-form-spinner-content{display:flex;flex-flow:column wrap;place-content:center center;row-gap:25px;align-items:center}.adf-cloud-form-spinner-content-message{font-size:var(--theme-body-4-font-size)}\n"] }]
|
|
31
|
+
}], propDecorators: { message: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3NwaW5uZXIvZm9ybS1zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzLWNsb3VkL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3NwaW5uZXIvZm9ybS1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTWpELE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFLYSxZQUFPLEdBQUcsRUFBRSxDQUFDO0tBQ3pCOztpSEFGWSxvQkFBb0I7cUdBQXBCLG9CQUFvQixvRkN2QmpDLDZXQVdBOzJGRFlhLG9CQUFvQjtrQkFKaEMsU0FBUzs7OEJBS0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXNwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tc3Bpbm5lci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1TcGlubmVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLWNsb3VkLWZvcm0tc3Bpbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGYtY2xvdWQtZm9ybS1zcGlubmVyLWNvbnRlbnRcIj5cbiAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICA+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtY2xvdWQtZm9ybS1zcGlubmVyLWNvbnRlbnQtbWVzc2FnZVwiPlxuICAgICAgICAgICAge3ttZXNzYWdlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -39,6 +39,9 @@ import { FileViewerWidgetComponent } from './components/widgets/file-viewer/file
|
|
|
39
39
|
import { DisplayRichTextWidgetComponent } from './components/widgets/display-rich-text/display-rich-text.widget';
|
|
40
40
|
import { RichTextEditorModule } from '../rich-text-editor';
|
|
41
41
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
42
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
43
|
+
import { FormSpinnerComponent } from './components/spinner/form-spinner.component';
|
|
44
|
+
import { FormCloudSpinnerService } from './services/spinner/form-cloud-spinner.service';
|
|
42
45
|
import * as i0 from "@angular/core";
|
|
43
46
|
export class FormCloudModule {
|
|
44
47
|
}
|
|
@@ -57,7 +60,9 @@ FormCloudModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
57
60
|
PropertiesViewerWidgetComponent,
|
|
58
61
|
FilePropertiesTableCloudComponent,
|
|
59
62
|
FileViewerWidgetComponent,
|
|
60
|
-
DisplayRichTextWidgetComponent
|
|
63
|
+
DisplayRichTextWidgetComponent,
|
|
64
|
+
FormSpinnerComponent], imports: [CommonModule,
|
|
65
|
+
OverlayModule,
|
|
61
66
|
MaterialModule,
|
|
62
67
|
FormsModule,
|
|
63
68
|
ReactiveFormsModule,
|
|
@@ -84,7 +89,8 @@ FormCloudModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
|
|
|
84
89
|
PropertiesViewerWidgetComponent,
|
|
85
90
|
FileViewerWidgetComponent,
|
|
86
91
|
DisplayRichTextWidgetComponent] });
|
|
87
|
-
FormCloudModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudModule, imports: [CommonModule,
|
|
92
|
+
FormCloudModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudModule, providers: [FormCloudSpinnerService], imports: [CommonModule,
|
|
93
|
+
OverlayModule,
|
|
88
94
|
MaterialModule,
|
|
89
95
|
FormsModule,
|
|
90
96
|
ReactiveFormsModule,
|
|
@@ -103,6 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
103
109
|
args: [{
|
|
104
110
|
imports: [
|
|
105
111
|
CommonModule,
|
|
112
|
+
OverlayModule,
|
|
106
113
|
MaterialModule,
|
|
107
114
|
FormsModule,
|
|
108
115
|
ReactiveFormsModule,
|
|
@@ -133,7 +140,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
133
140
|
PropertiesViewerWidgetComponent,
|
|
134
141
|
FilePropertiesTableCloudComponent,
|
|
135
142
|
FileViewerWidgetComponent,
|
|
136
|
-
DisplayRichTextWidgetComponent
|
|
143
|
+
DisplayRichTextWidgetComponent,
|
|
144
|
+
FormSpinnerComponent
|
|
137
145
|
],
|
|
138
146
|
exports: [
|
|
139
147
|
FormCloudComponent,
|
|
@@ -149,7 +157,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
149
157
|
PropertiesViewerWidgetComponent,
|
|
150
158
|
FileViewerWidgetComponent,
|
|
151
159
|
DisplayRichTextWidgetComponent
|
|
152
|
-
]
|
|
160
|
+
],
|
|
161
|
+
providers: [FormCloudSpinnerService]
|
|
153
162
|
}]
|
|
154
163
|
}] });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vZm9ybS1jbG91ZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdEksT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbkcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFckgsT0FBTyxFQUFFLDBC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Q0FBZ0M7d0JBQ2hDLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLDhCQUE4QjtxQkFDakM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgRm9ybWF0U3BhY2VQaXBlLCBUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybUNsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1EZWZpbml0aW9uU2VsZWN0b3JDbG91ZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWRlZmluaXRpb24tc2VsZWN0b3ItY2xvdWQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1DdXN0b21PdXRjb21lc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWNsb3VkLWN1c3RvbS1vdXRjb21lcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxmcmVzY29WaWV3ZXJNb2R1bGUsIENvbnRlbnRNZXRhZGF0YU1vZHVsZSwgQ29udGVudE5vZGVTZWxlY3Rvck1vZHVsZSwgVXBsb2FkTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcblxuaW1wb3J0IHsgRGF0ZUNsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZGF0ZS9kYXRlLWNsb3VkLndpZGdldCc7XG5pbXBvcnQgeyBEcm9wZG93bkNsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZHJvcGRvd24vZHJvcGRvd24tY2xvdWQud2lkZ2V0JztcbmltcG9ydCB7IEdyb3VwQ2xvdWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9ncm91cC9ncm91cC1jbG91ZC53aWRnZXQnO1xuaW1wb3J0IHsgUGVvcGxlQ2xvdWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9wZW9wbGUvcGVvcGxlLWNsb3VkLndpZGdldCc7XG5pbXBvcnQgeyBBdHRhY2hGaWxlQ2xvdWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9hdHRhY2gtZmlsZS9hdHRhY2gtZmlsZS1jbG91ZC13aWRnZXQuY29tcG9uZW50JztcblxuaW1wb3J0IHsgVXBsb2FkQ2xvdWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9hdHRhY2gtZmlsZS91cGxvYWQtY2xvdWQud2lkZ2V0JztcbmltcG9ydCB7IFBlb3BsZUNsb3VkTW9kdWxlIH0gZnJvbSAnLi4vcGVvcGxlL3Blb3BsZS1jbG91ZC5tb2R1bGUnO1xuaW1wb3J0IHsgR3JvdXBDbG91ZE1vZHVsZSB9IGZyb20gJy4uL2dyb3VwL2dyb3VwLWNsb3VkLm1vZHVsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0aWVzVmlld2VyV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcHJvcGVydGllcy12aWV3ZXIvcHJvcGVydGllcy12aWV3ZXIud2lkZ2V0JztcbmltcG9ydCB7IFByb3BlcnRpZXNWaWV3ZXJXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcHJvcGVydGllcy12aWV3ZXIvcHJvcGVydGllcy12aWV3ZXItd3JhcHBlci9wcm9wZXJ0aWVzLXZpZXdlci13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbnNDbG91ZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3JhZGlvLWJ1dHRvbnMvcmFkaW8tYnV0dG9ucy1jbG91ZC53aWRnZXQnO1xuaW1wb3J0IHsgRmlsZVByb3BlcnRpZXNUYWJsZUNsb3VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYXR0YWNoLWZpbGUvZmlsZS1wcm9wZXJ0aWVzLXRhYmxlLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVmlld2VyV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIud2lkZ2V0JztcbmltcG9ydCB7IERpc3BsYXlSaWNoVGV4dFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2Rpc3BsYXktcmljaC10ZXh0L2Rpc3BsYXktcmljaC10ZXh0LndpZGdldCc7XG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvck1vZHVsZSB9IGZyb20gJy4uL3JpY2gtdGV4dC1lZGl0b3InO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDb3JlTW9kdWxlLFxuICAgICAgICBDb250ZW50Tm9kZVNlbGVjdG9yTW9kdWxlLFxuICAgICAgICBQZW9wbGVDbG91ZE1vZHVsZSxcbiAgICAgICAgR3JvdXBDbG91ZE1vZHVsZSxcbiAgICAgICAgQ29udGVudE1ldGFkYXRhTW9kdWxlLFxuICAgICAgICBVcGxvYWRNb2R1bGUsXG4gICAgICAgIEFsZnJlc2NvVmlld2VyTW9kdWxlLFxuICAgICAgICBSaWNoVGV4dEVkaXRvck1vZHVsZSxcbiAgICAgICAgVG9vbGJhck1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgRm9ybWF0U3BhY2VQaXBlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRm9ybUNsb3VkQ29tcG9uZW50LFxuICAgICAgICBVcGxvYWRDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgRm9ybURlZmluaXRpb25TZWxlY3RvckNsb3VkQ29tcG9uZW50LFxuICAgICAgICBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIFJhZGlvQnV0dG9uc0Nsb3VkV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBBdHRhY2hGaWxlQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIERhdGVDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgUGVvcGxlQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIEdyb3VwQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIFByb3BlcnRpZXNWaWV3ZXJXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBQcm9wZXJ0aWVzVmlld2VyV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBGaWxlUHJvcGVydGllc1RhYmxlQ2xvdWRDb21wb25lbnQsXG4gICAgICAgIEZpbGVWaWV3ZXJXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIERpc3BsYXlSaWNoVGV4dFdpZGdldENvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGb3JtQ2xvdWRDb21wb25lbnQsXG4gICAgICAgIFVwbG9hZENsb3VkV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBGb3JtRGVmaW5pdGlvblNlbGVjdG9yQ2xvdWRDb21wb25lbnQsXG4gICAgICAgIEZvcm1DdXN0b21PdXRjb21lc0NvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25DbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgUmFkaW9CdXR0b25zQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIEF0dGFjaEZpbGVDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgRGF0ZUNsb3VkV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBQZW9wbGVDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgR3JvdXBDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgUHJvcGVydGllc1ZpZXdlcldpZGdldENvbXBvbmVudCxcbiAgICAgICAgRmlsZVZpZXdlcldpZGdldENvbXBvbmVudCxcbiAgICAgICAgRGlzcGxheVJpY2hUZXh0V2lkZ2V0Q29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ2xvdWRNb2R1bGUge31cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vZm9ybS1jbG91ZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdEksT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbkcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFckgsT0FBTyxFQUFFLDBC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O3dCQUN4QiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsZ0NBQWdDO3dCQUNoQywrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMseUJBQXlCO3dCQUN6Qiw4QkFBOEI7d0JBQzlCLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQixvQ0FBb0M7d0JBQ3BDLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLDhCQUE4Qjt3QkFDOUIsd0JBQXdCO3dCQUN4QiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQix5QkFBeUI7d0JBQ3pCLDhCQUE4QjtxQkFDakM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIEZvcm1hdFNwYWNlUGlwZSwgVG9vbGJhck1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IEZvcm1DbG91ZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRGVmaW5pdGlvblNlbGVjdG9yQ2xvdWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1kZWZpbml0aW9uLXNlbGVjdG9yLWNsb3VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1jbG91ZC1jdXN0b20tb3V0Y29tZXMuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZnJlc2NvVmlld2VyTW9kdWxlLCBDb250ZW50TWV0YWRhdGFNb2R1bGUsIENvbnRlbnROb2RlU2VsZWN0b3JNb2R1bGUsIFVwbG9hZE1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5cbmltcG9ydCB7IERhdGVDbG91ZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2RhdGUvZGF0ZS1jbG91ZC53aWRnZXQnO1xuaW1wb3J0IHsgRHJvcGRvd25DbG91ZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWNsb3VkLndpZGdldCc7XG5pbXBvcnQgeyBHcm91cENsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZ3JvdXAvZ3JvdXAtY2xvdWQud2lkZ2V0JztcbmltcG9ydCB7IFBlb3BsZUNsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvcGVvcGxlL3Blb3BsZS1jbG91ZC53aWRnZXQnO1xuaW1wb3J0IHsgQXR0YWNoRmlsZUNsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYXR0YWNoLWZpbGUvYXR0YWNoLWZpbGUtY2xvdWQtd2lkZ2V0LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFVwbG9hZENsb3VkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYXR0YWNoLWZpbGUvdXBsb2FkLWNsb3VkLndpZGdldCc7XG5pbXBvcnQgeyBQZW9wbGVDbG91ZE1vZHVsZSB9IGZyb20gJy4uL3Blb3BsZS9wZW9wbGUtY2xvdWQubW9kdWxlJztcbmltcG9ydCB7IEdyb3VwQ2xvdWRNb2R1bGUgfSBmcm9tICcuLi9ncm91cC9ncm91cC1jbG91ZC5tb2R1bGUnO1xuaW1wb3J0IHsgUHJvcGVydGllc1ZpZXdlcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3Byb3BlcnRpZXMtdmlld2VyL3Byb3BlcnRpZXMtdmlld2VyLndpZGdldCc7XG5pbXBvcnQgeyBQcm9wZXJ0aWVzVmlld2VyV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3Byb3BlcnRpZXMtdmlld2VyL3Byb3BlcnRpZXMtdmlld2VyLXdyYXBwZXIvcHJvcGVydGllcy12aWV3ZXItd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25zQ2xvdWRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9yYWRpby1idXR0b25zL3JhZGlvLWJ1dHRvbnMtY2xvdWQud2lkZ2V0JztcbmltcG9ydCB7IEZpbGVQcm9wZXJ0aWVzVGFibGVDbG91ZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2F0dGFjaC1maWxlL2ZpbGUtcHJvcGVydGllcy10YWJsZS1jbG91ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVZpZXdlcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2ZpbGUtdmlld2VyL2ZpbGUtdmlld2VyLndpZGdldCc7XG5pbXBvcnQgeyBEaXNwbGF5UmljaFRleHRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9kaXNwbGF5LXJpY2gtdGV4dC9kaXNwbGF5LXJpY2gtdGV4dC53aWRnZXQnO1xuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JNb2R1bGUgfSBmcm9tICcuLi9yaWNoLXRleHQtZWRpdG9yJztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRm9ybVNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lci9mb3JtLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1DbG91ZFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zcGlubmVyL2Zvcm0tY2xvdWQtc3Bpbm5lci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcbiAgICAgICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDb3JlTW9kdWxlLFxuICAgICAgICBDb250ZW50Tm9kZVNlbGVjdG9yTW9kdWxlLFxuICAgICAgICBQZW9wbGVDbG91ZE1vZHVsZSxcbiAgICAgICAgR3JvdXBDbG91ZE1vZHVsZSxcbiAgICAgICAgQ29udGVudE1ldGFkYXRhTW9kdWxlLFxuICAgICAgICBVcGxvYWRNb2R1bGUsXG4gICAgICAgIEFsZnJlc2NvVmlld2VyTW9kdWxlLFxuICAgICAgICBSaWNoVGV4dEVkaXRvck1vZHVsZSxcbiAgICAgICAgVG9vbGJhck1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgRm9ybWF0U3BhY2VQaXBlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRm9ybUNsb3VkQ29tcG9uZW50LFxuICAgICAgICBVcGxvYWRDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgRm9ybURlZmluaXRpb25TZWxlY3RvckNsb3VkQ29tcG9uZW50LFxuICAgICAgICBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIFJhZGlvQnV0dG9uc0Nsb3VkV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBBdHRhY2hGaWxlQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIERhdGVDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgUGVvcGxlQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIEdyb3VwQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIFByb3BlcnRpZXNWaWV3ZXJXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBQcm9wZXJ0aWVzVmlld2VyV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBGaWxlUHJvcGVydGllc1RhYmxlQ2xvdWRDb21wb25lbnQsXG4gICAgICAgIEZpbGVWaWV3ZXJXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIERpc3BsYXlSaWNoVGV4dFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgRm9ybVNwaW5uZXJDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRm9ybUNsb3VkQ29tcG9uZW50LFxuICAgICAgICBVcGxvYWRDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgRm9ybURlZmluaXRpb25TZWxlY3RvckNsb3VkQ29tcG9uZW50LFxuICAgICAgICBGb3JtQ3VzdG9tT3V0Y29tZXNDb21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIFJhZGlvQnV0dG9uc0Nsb3VkV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBBdHRhY2hGaWxlQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIERhdGVDbG91ZFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgUGVvcGxlQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIEdyb3VwQ2xvdWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIFByb3BlcnRpZXNWaWV3ZXJXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIEZpbGVWaWV3ZXJXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIERpc3BsYXlSaWNoVGV4dFdpZGdldENvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbRm9ybUNsb3VkU3Bpbm5lclNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1DbG91ZE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Injectable, inject } from '@angular/core';
|
|
18
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
19
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
20
|
+
import { FormService } from '@alfresco/adf-core';
|
|
21
|
+
import { takeUntil } from 'rxjs/operators';
|
|
22
|
+
import { FormSpinnerComponent } from '../../components/spinner/form-spinner.component';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
export class FormCloudSpinnerService {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.formService = inject(FormService);
|
|
27
|
+
this.overlay = inject(Overlay);
|
|
28
|
+
}
|
|
29
|
+
initSpinnerHandling(onDestroy$) {
|
|
30
|
+
this.formService.toggleFormSpinner.pipe(takeUntil(onDestroy$)).subscribe((event) => {
|
|
31
|
+
if (event?.payload.showSpinner) {
|
|
32
|
+
this.overlayRef = this.overlay.create({
|
|
33
|
+
hasBackdrop: true
|
|
34
|
+
});
|
|
35
|
+
const userProfilePortal = new ComponentPortal(FormSpinnerComponent);
|
|
36
|
+
const componentRef = this.overlayRef.attach(userProfilePortal);
|
|
37
|
+
componentRef.instance.message = event.payload.message;
|
|
38
|
+
}
|
|
39
|
+
else if (event?.payload.showSpinner === false) {
|
|
40
|
+
this.overlayRef?.detach();
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
FormCloudSpinnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudSpinnerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
FormCloudSpinnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudSpinnerService });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FormCloudSpinnerService, decorators: [{
|
|
48
|
+
type: Injectable
|
|
49
|
+
}] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jbG91ZC1zcGlubmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy1jbG91ZC9zcmMvbGliL2Zvcm0vc2VydmljZXMvc3Bpbm5lci9mb3JtLWNsb3VkLXNwaW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFFbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQUd2RixNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRVksZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztLQW1CckM7SUFmRyxtQkFBbUIsQ0FBQyxVQUErQjtRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUU7WUFDakcsSUFBSSxLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDbEMsV0FBVyxFQUFFLElBQUk7aUJBQ3BCLENBQUMsQ0FBQztnQkFFSCxNQUFNLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQy9ELFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQ3pEO2lCQUFNLElBQUksS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQzdCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEFwQlEsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBGb3JtU2VydmljZSwgRm9ybVNwaW5uZXJFdmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc3Bpbm5lci9mb3JtLXNwaW5uZXIuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1DbG91ZFNwaW5uZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGZvcm1TZXJ2aWNlID0gaW5qZWN0KEZvcm1TZXJ2aWNlKTtcbiAgICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cbiAgICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gICAgaW5pdFNwaW5uZXJIYW5kbGluZyhvbkRlc3Ryb3kkOiBPYnNlcnZhYmxlPGJvb2xlYW4+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybVNlcnZpY2UudG9nZ2xlRm9ybVNwaW5uZXIucGlwZSh0YWtlVW50aWwob25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvcm1TcGlubmVyRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudD8ucGF5bG9hZC5zaG93U3Bpbm5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdXNlclByb2ZpbGVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKEZvcm1TcGlubmVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubWVzc2FnZSA9IGV2ZW50LnBheWxvYWQubWVzc2FnZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQ/LnBheWxvYWQuc2hvd1NwaW5uZXIgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|