@testgorilla/tgo-ui 2.33.18 → 2.33.19
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/components/button/button.component.d.ts +1 -1
- package/components/confirm-dialog/confirm-dialog.component.d.ts +5 -0
- package/components/confirm-dialog/confirm-dialog.model.d.ts +5 -0
- package/components/dialog/dialog.component.d.ts +8 -1
- package/components/scale/scale.component.d.ts +1 -0
- package/esm2022/components/button/button.component.mjs +1 -8
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +6 -3
- package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +1 -1
- package/esm2022/components/dialog/dialog.component.mjs +12 -5
- package/esm2022/components/scale/scale.component.mjs +15 -3
- package/fesm2022/testgorilla-tgo-ui.mjs +30 -15
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,8 @@ import { MatDialogRef } from '@angular/material/dialog';
|
|
|
2
2
|
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
3
3
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
4
4
|
import { ConfirmDialogData } from './confirm-dialog.model';
|
|
5
|
+
import { ButtonColor } from '../button/button.model';
|
|
6
|
+
import { IconName } from '../icon/icon.model';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
export declare class ConfirmDialogComponent {
|
|
7
9
|
private readonly defaultAppTheme;
|
|
@@ -17,6 +19,9 @@ export declare class ConfirmDialogComponent {
|
|
|
17
19
|
showCloseButton: boolean;
|
|
18
20
|
showSecondaryButton: boolean;
|
|
19
21
|
color: string | null;
|
|
22
|
+
primaryButtonType: ButtonColor;
|
|
23
|
+
secondaryButtonType: ButtonColor;
|
|
24
|
+
primaryButtonIconName: IconName | undefined;
|
|
20
25
|
primaryButtonDataTestId: string;
|
|
21
26
|
secondaryButtonDataTestId: string;
|
|
22
27
|
/**
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Language } from '../../utils/localization/language.model';
|
|
2
|
+
import { ButtonColor } from '../button/button.model';
|
|
3
|
+
import { IconName } from '../icon/icon.model';
|
|
2
4
|
export interface ConfirmDialogData {
|
|
3
5
|
message: string;
|
|
4
6
|
confirmButtonText?: string;
|
|
@@ -9,6 +11,9 @@ export interface ConfirmDialogData {
|
|
|
9
11
|
messageHtml?: string;
|
|
10
12
|
showCloseButton?: boolean;
|
|
11
13
|
showSecondaryButton?: boolean;
|
|
14
|
+
primaryButtonType?: ButtonColor;
|
|
15
|
+
secondaryButtonType?: ButtonColor;
|
|
16
|
+
primaryButtonIconName?: IconName;
|
|
12
17
|
primaryButtonDataTestId?: string;
|
|
13
18
|
secondaryButtonDataTestId?: string;
|
|
14
19
|
}
|
|
@@ -3,6 +3,7 @@ import { MatDialogRef } from '@angular/material/dialog';
|
|
|
3
3
|
import { ButtonColor } from '../button/button.model';
|
|
4
4
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
5
5
|
import { ButtonComponent } from '../button/button.component';
|
|
6
|
+
import { IconName } from '../icon/icon.model';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class DialogComponent implements OnInit, OnChanges, AfterViewInit {
|
|
8
9
|
private readonly defaultAppTheme;
|
|
@@ -38,6 +39,12 @@ export declare class DialogComponent implements OnInit, OnChanges, AfterViewInit
|
|
|
38
39
|
* @memberof DialogComponent
|
|
39
40
|
*/
|
|
40
41
|
primaryButtonLabel?: string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Primary button icon name
|
|
44
|
+
*
|
|
45
|
+
* @memberof DialogComponent
|
|
46
|
+
*/
|
|
47
|
+
primaryButtonIconName?: IconName | '';
|
|
41
48
|
/**
|
|
42
49
|
* Secondary button type
|
|
43
50
|
*
|
|
@@ -145,5 +152,5 @@ export declare class DialogComponent implements OnInit, OnChanges, AfterViewInit
|
|
|
145
152
|
onSecondaryButtonClick(event: Event): void;
|
|
146
153
|
onPrimaryButtonClick(event: Event): void;
|
|
147
154
|
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, [{ optional: true; }, null, null]>;
|
|
148
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "ui-dialog", never, { "title": { "alias": "title"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "canCloseFn": { "alias": "canCloseFn"; "required": false; }; "secondaryButtonLabel": { "alias": "secondaryButtonLabel"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "secondaryButtonType": { "alias": "secondaryButtonType"; "required": false; }; "primaryButtonType": { "alias": "primaryButtonType"; "required": false; }; "primaryButtonDataTestId": { "alias": "primaryButtonDataTestId"; "required": false; }; "secondaryButtonDataTestId": { "alias": "secondaryButtonDataTestId"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "disablePrimaryButton": { "alias": "disablePrimaryButton"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "shouldDisableButtons": { "alias": "shouldDisableButtons"; "required": false; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "keyboardOpen": { "alias": "keyboardOpen"; "required": false; }; }, { "closeEvent": "closeEvent"; "secondaryButtonClickEvent": "secondaryButtonClickEvent"; "primaryButtonClickEvent": "primaryButtonClickEvent"; }, ["customHeader"], ["[dialogHeader]", "*"], false, never>;
|
|
155
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "ui-dialog", never, { "title": { "alias": "title"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "canCloseFn": { "alias": "canCloseFn"; "required": false; }; "secondaryButtonLabel": { "alias": "secondaryButtonLabel"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "primaryButtonIconName": { "alias": "primaryButtonIconName"; "required": false; }; "secondaryButtonType": { "alias": "secondaryButtonType"; "required": false; }; "primaryButtonType": { "alias": "primaryButtonType"; "required": false; }; "primaryButtonDataTestId": { "alias": "primaryButtonDataTestId"; "required": false; }; "secondaryButtonDataTestId": { "alias": "secondaryButtonDataTestId"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "disablePrimaryButton": { "alias": "disablePrimaryButton"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "shouldDisableButtons": { "alias": "shouldDisableButtons"; "required": false; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "keyboardOpen": { "alias": "keyboardOpen"; "required": false; }; }, { "closeEvent": "closeEvent"; "secondaryButtonClickEvent": "secondaryButtonClickEvent"; "primaryButtonClickEvent": "primaryButtonClickEvent"; }, ["customHeader"], ["[dialogHeader]", "*"], false, never>;
|
|
149
156
|
}
|
|
@@ -48,6 +48,7 @@ export declare class ScaleComponent implements OnInit, OnChanges {
|
|
|
48
48
|
focusItem(index: number): void;
|
|
49
49
|
getAriaLabel(index: number): string;
|
|
50
50
|
private setCompanyColor;
|
|
51
|
+
onFocus(item: number): void;
|
|
51
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScaleComponent, [{ optional: true; }]>;
|
|
52
53
|
static ɵcmp: i0.ɵɵComponentDeclaration<ScaleComponent, "ui-scale", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "length": { "alias": "length"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; }, never, never, false, never>;
|
|
53
54
|
}
|
|
@@ -58,13 +58,6 @@ export class ButtonComponent {
|
|
|
58
58
|
* @memberof ButtonComponent
|
|
59
59
|
*/
|
|
60
60
|
this.justIcon = false;
|
|
61
|
-
/**
|
|
62
|
-
* Name of ui-icon
|
|
63
|
-
*
|
|
64
|
-
* @type {IconName}
|
|
65
|
-
* @memberof ButtonComponent
|
|
66
|
-
*/
|
|
67
|
-
this.iconName = '';
|
|
68
61
|
/**
|
|
69
62
|
* Indicator if the button should be disabled
|
|
70
63
|
*
|
|
@@ -446,4 +439,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
446
439
|
type: HostBinding,
|
|
447
440
|
args: ['style.--color']
|
|
448
441
|
}] } });
|
|
449
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBVzdELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQTZORCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBZUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDNkUsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBcFA5Rzs7Ozs7V0FLRztRQUNNLFNBQUksR0FBZSxLQUFLLENBQUM7UUFDbEM7Ozs7O1dBS0c7UUFHSCxZQUFPLEdBQWdCLFNBQVMsQ0FBQztRQUVqQzs7OztX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S0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsT0FBTztzQkFBZixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBU0csSUFBSTtzQkFBWixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQVdOLGdCQUFnQjtzQkFGZixXQUFXO3VCQUFDLFlBQVk7O3NCQUN4QixLQUFLO2dCQVVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csY0FBYztzQkFBdEIsS0FBSztnQkFRRyxlQUFlO3NCQUF2QixLQUFLO2dCQU9rQyxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU9FLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTdCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRXdDLGFBQWE7c0JBQTNELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFRekMsU0FBUztzQkFEWixXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvdXNlLWxpZmVjeWNsZS1pbnRlcmZhY2UgKi9cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgQnV0dG9uQmFkZ2VDb25maWcsXG4gIEJ1dHRvbkNvbG9yLFxuICBCdXR0b25JY29uUG9zaXRpb24sXG4gIEJ1dHRvblNpemUsXG4gIEJ1dHRvblN0YXRlLFxuICBCdXR0b25UeXBlLFxuICBJY29uQnV0dG9uU2l6ZSxcbiAgTGlua1VybFRhcmdldFxufSBmcm9tICcuL2J1dHRvbi5tb2RlbCc7XG5pbXBvcnQgeyBhZGp1c3RMaWdodG5lc3MgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvci1jb250cmFzdCc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEZvY3VzT3JpZ2luIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9hMTF5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvaW50ZXItZXZlbnRzJylcbiAgZ2V0IGVuYWJsZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcEVsZW1lbnQnKSB0b29sdGlwRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgLyoqXG4gICAqIERlZmluZSBidXR0b24gaGVpZ2h0XG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25TaXplfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBCdXR0b25TaXplID0gJ2JpZyc7XG4gIC8qKlxuICAgKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gd2hpbGUgaW4gYWN0aXZlIHN0YXRlXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25Db2xvcn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmJ0bi12YXJpYW50JylcbiAgQElucHV0KClcbiAgdmFyaWFudDogQnV0dG9uQ29sb3IgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIFRleHQgY29udGVudCB0byBhcHBlYXIgb24gdGhlIGJ1dHRvblxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbmluZyBvZiB0aGUgaWNvbiAod2hlbiBleGlzdGFudClcbiAgICpcbiAgICogQHR5cGUge0J1dHRvbkljb25Qb3NpdGlvbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvblBvc2l0aW9uPzogQnV0dG9uSWNvblBvc2l0aW9uID0gJ3JpZ2h0JztcblxuICAvKipcbiAgICogRGVmaW5lIGlmIGJ1dHRvbiBoYXMgb25seSBpY29uIHdpdGhvdXQgdGV4dFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBqdXN0SWNvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHVpLWljb25cbiAgICpcbiAgICogQHR5cGUge0ljb25OYW1lfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpY29uTmFtZTogSWNvbk5hbWUgPSAnJztcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBidXR0b24gc2hvdWxkIGJlIGRpc2FibGVkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgbG9hZGluZyBpY29uIHNob3VsZCBiZSBzaG93blxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBvZiB0aGUgYnV0dG9uIHdpZHRoXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVcmwgb2YgYnV0dG9uIGlmIGl0IGlzIGEgbGlua1xuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVybCdzIHRhcmdldCBvZiBidXR0b24gaWYgaXQgaXMgYSBsaW5rXG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1VybFRhcmdldH19XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHVybFRhcmdldD86IExpbmtVcmxUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiB2YWx1ZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IHRvb2x0aXBcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0b29sdGlwIHRoYXQgaXMgZGlzcGxheWVkIG9uIGhvdmVyLiBSZXF1aXJlZCBmb3IgaWNvbi1idXR0b24gdHlwZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBpc1ByZW1pdW1cbiAgICogQGRlc2NyaXB0aW9uIFRoZSBpY29uIHRoYXQgaXMgZGlzcGxheWVkIGZvciBQcmVtaXVtIGJ1dHRvblxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNQcmVtaXVtID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBidXR0b24uXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25UeXBlfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqIEBkZWZhdWx0ICdidXR0b24nXG4gICAqL1xuICBASW5wdXQoKSB0eXBlOiBCdXR0b25UeXBlID0gJ2J1dHRvbic7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24uXG4gICAqIERlZmF1bHRzIHRvIFRlc3QgR29yaWxsYSBwcmltYXJ5IGNvbG9yLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb21wYW55Q29sb3I6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAvKipcbiAgICogQ29uZmlnIGZvciB0aGUgYnV0dG9uIGJhZGdlIHZhcmlhdGlvblxuICAgKiBAdHlwZSB7QnV0dG9uQmFkZ2VDb25maWd9XG4gICAqIEBwcm9wZXJ0eSBiYWRnZVR5cGUgVHlwZSBvZiBiYWRnZSBvbiB0aGUgYnV0dG9uXG4gICAqIEBwcm9wZXJ0eSBiYWRnZUxhYmVsIExhYmVsIHRleHQgZm9yIHRoZSBiYWRnZVxuICAgKiBAcHJvcGVydHkgYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgVGhlIGFtb3VudCBmb3Igbm90aWZpY2F0aW9uIGluIHRoZSBiYWRnZVxuICAgKi9cbiAgQElucHV0KCkgYnV0dG9uQmFkZ2VDb25maWc6IEJ1dHRvbkJhZGdlQ29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZSB3aGVyZSBidXR0b25zIGlzIHVzZWRcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50aGVtZScpXG4gIEBJbnB1dCgpXG4gIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEaXNhYmxlZCBidXR0b24gc2NhbGUgb24gY2xpY2tcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkU2NhbGVPbkNsaWNrID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSBsYWJlbCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBsYWJlbCBpcyB1c2VkIHRvIHByb3ZpZGUgYW4gYWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRieSA9ICcnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcblxuICAvKipcbiAgICogUHJldmVudHMgZGVmYXVsdCBidXR0b24gY2xpY2sgYmVoYXZpb3JcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBHaG9zdCB2YXJpYW50IHdpdGggd2hpdGUgYmFja2dyb3VuZFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0JhY2tncm91bmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0cyB0b29sdGlwIHBvc2l0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtUb29sdGlwUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ2JlbG93JztcblxuICBASW5wdXQoKSByb2xlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkhvdmVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgYnV0dG9uRWxlbWVudDogTWF0QnV0dG9uO1xuXG5cbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29sb3InKVxuICBnZXQgY29tcENvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLmdldENvbXBhbnlDb2xvcjtcbiAgfVxuXG4gIGNsYXNzQ3NzOiBzdHJpbmc7XG4gIHN0eWxlQ3NzOiBhbnk7XG4gIGlzQnV0dG9uTGluazogYm9vbGVhbjtcbiAgaXNMYWJlbDogYm9vbGVhbjtcbiAgYnV0dG9uU3RhdGU6IEJ1dHRvblN0YXRlO1xuICBob3ZlciA9IGZhbHNlO1xuICBpY29uQnV0dG9uU2l6ZTogSWNvbkJ1dHRvblNpemUgPSAnNDAnO1xuICBhbGxvd0J1dHRvblR5cGVGb3JQcmVtaXVtOiBCdXR0b25Db2xvcltdID0gWydzZWNvbmRhcnknLCAncHJpbWFyeScsICdnaG9zdCcsICdvdXRsaW5lZCcsICdkZXN0cnVjdGl2ZSddO1xuICBpc0ZpbGxlZEljb246IGJvb2xlYW47XG4gIGNvbG9yZWRJY29ucyA9IFsnR29vZ2xlLWluLWxpbmUnLCAnR29vZ2xlJywgJ0dvb2dsZS1maWxsZWQnXTtcbiAgbGFiZWxFbGxpcHNpcyA9IGZhbHNlO1xuICBpY29uOiBJY29uTmFtZSA9ICcnO1xuXG4gIGdldCB0eXBlSW5jbHVkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dCdXR0b25UeXBlRm9yUHJlbWl1bS5pbmNsdWRlcyh0aGlzLnZhcmlhbnQpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc0NzcyA9IHRoaXMuc2V0Q3NzQ2xhc3MoKTtcbiAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIHRoaXMuaXNCdXR0b25MaW5rID0gdGhpcy5zaG93QnV0dG9uTGluaygpO1xuICAgIHRoaXMuaXNMYWJlbCA9IHRoaXMuc2hvd0xhYmVsKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gICAgfVxuICAgIGlmICghdGhpcy5hcHBsaWNhdGlvblRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sndHlwZSddKSB7XG4gICAgICB0aGlzLmlzQnV0dG9uTGluayA9IHRoaXMuc2hvd0J1dHRvbkxpbmsoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2xvYWRpbmcnXSkge1xuICAgICAgdGhpcy5pc0xhYmVsID0gdGhpcy5zaG93TGFiZWwoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2ljb25OYW1lJ10pIHtcbiAgICAgIHRoaXMuaWNvbiA9IGNoYW5nZXNbJ2ljb25OYW1lJ10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWyd0eXBlJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2Z1bGxXaWR0aCddIHx8XG4gICAgICBjaGFuZ2VzWydpY29uTmFtZSddIHx8XG4gICAgICBjaGFuZ2VzWydqdXN0SWNvbiddIHx8XG4gICAgICBjaGFuZ2VzWydpY29uUG9zaXRpb24nXSB8fFxuICAgICAgY2hhbmdlc1snZGlzYWJsZWQnXSB8fFxuICAgICAgY2hhbmdlc1snY29tcGFueUNvbG9yJ10gfHxcbiAgICAgIGNoYW5nZXNbJ3ZhcmlhbnQnXSB8fFxuICAgICAgY2hhbmdlc1snYXBwbGljYXRpb25UaGVtZSddXG4gICAgKSB7XG4gICAgICB0aGlzLmNsYXNzQ3NzID0gdGhpcy5zZXRDc3NDbGFzcygpO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3ZhcmlhbnQnXT8uY3VycmVudFZhbHVlID09PSAnaWNvbi1idXR0b24nIHx8IChjaGFuZ2VzWyd2YXJpYW50J10/LmN1cnJlbnRWYWx1ZSA9PT0gJ21lbnVUcmlnZ2VyJyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJykpIHtcbiAgICAgIHRoaXMuaWNvbkJ1dHRvblNpemUgPSB0aGlzLnNldEljb25CdXR0b25TaXplKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc0ZpbGxlZEljb24gPSB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAodGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5Jyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9uY2xpY2sgPSBldiA9PiB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nICYmICF0aGlzLnRvb2x0aXApIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgICBbdG9vbHRpcF0gaXMgcmVxdWlyZWQgZm9yIFt0eXBlXSBpY29uLWJ1dHRvbiEnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2Rlc3RydWN0aXZlJyAmJiAhdGhpcy5pY29uICYmICF0aGlzLmxvYWRpbmcgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycpIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgW2ljb25dIGlzIHJlcXVpcmVkIGZvciBbdHlwZV0gZGVzdHJ1Y3RpdmUnKTtcbiAgICB9XG4gIH1cblxuICBidXR0b25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcmV2ZW50RGVmYXVsdCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmJ1dHRvbkNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBidXR0b25Ib3ZlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZW50ZXInKSB7XG4gICAgICB0aGlzLmhvdmVyID0gdHJ1ZTtcbiAgICAgIHRoaXMuYnV0dG9uSG92ZXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnaG92ZXInO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkQ2hhbmdlRmlsbGVkU3RhdHVzICYmIHRoaXMuaWNvbikge1xuICAgICAgICB0aGlzLmljb24gPSB0aGlzLmdldEljb25OYW1lKHRoaXMuaWNvbk5hbWUsICctZmlsbGVkJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG92ZXIgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb24pIHtcbiAgICAgICAgdGhpcy5pY29uID0gdGhpcy5pY29uTmFtZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIGxhYmVsXG4gIHNob3dMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubG9hZGluZztcbiAgfVxuXG4gIC8vU2V0IGNzcyBjbGFzcyBhY2NvcmRpbmcgaW5wdXRzXG4gIHNldENzc0NsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmZ1bGxXaWR0aCA/ICdmdWxsLXdpZHRoJyA6ICcnO1xuICAgIGNvbnN0IGhhc0ljb24gPSB0aGlzLmljb25OYW1lID09PSBudWxsID8gJycgOiAnaWNvbic7XG4gICAgY29uc3QganVzdEljb24gPSB0aGlzLmp1c3RJY29uIHx8IHRoaXMudmFyaWFudCA9PT0gJ2ljb24tYnV0dG9uJyA/ICdvbmx5LWljb24nIDogJyc7XG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gdGhpcy5pY29uUG9zaXRpb24gPT09IHVuZGVmaW5lZCA/ICcnIDogdGhpcy5pY29uUG9zaXRpb247XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkICYmIHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ3ByaW1hcnktZGlzYWJsZWQnIDogJyc7XG4gICAgY29uc3QgdmFyaWFudCA9IHRoaXMudmFyaWFudCA9PT0gJ2dob3N0JyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdvdXRsaW5lZCcgOiB0aGlzLnZhcmlhbnQ7XG4gICAgY29uc3QgY29tcGFueUNvbG9yID0gdGhpcy5jb21wYW55Q29sb3IgPyAnaGFzLWNvbXBhbnktY29sb3InIDogJyc7XG4gICAgcmV0dXJuIGAke3RoaXMuc2l6ZX0gJHtpY29uUG9zaXRpb259ICR7dmFyaWFudH0gJHt3aWR0aH0gJHtoYXNJY29ufSAke2p1c3RJY29ufSAke2Rpc2FibGVkfSAke2NvbXBhbnlDb2xvcn0gJHt0aGlzLmFwcGxpY2F0aW9uVGhlbWV9LXRoZW1lYDtcbiAgfVxuXG4gIHNldENzc1N0eWxlKCk6IGFueSB7XG4gICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogdGhpcy5idXR0b25TdGF0ZTtcbiAgICBjb25zdCBzdHlsZU9iajogYW55ID0ge307XG5cbiAgICBpZiAoKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAodGhpcy5idXR0b25TdGF0ZSA9PT0gJ2hvdmVyJyB8fCB0aGlzLmJ1dHRvblN0YXRlID09PSAncHJlc3NlZCcpKSB7XG4gICAgICBzdHlsZU9ialt0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdiYWNrZ3JvdW5kLWNvbG9yJyA6ICdjb2xvciddID0gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlKTtcbiAgICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICd0ZXh0Jykge1xuICAgICAgICBzdHlsZU9ialsnLS1hY3RpdmUtY29sb3InXSA9IHRoaXMuY29tcGFueUNvbG9yID8gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlKSA6ICcjNjY2NjY2JztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCh0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICd0ZXh0JykgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgJiYgdGhpcy5idXR0b25TdGF0ZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICBzdHlsZU9ialt0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdiYWNrZ3JvdW5kLWNvbG9yJyA6ICdjb2xvciddID0gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlLCAnY2xhc3NpYycpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5nZXRDb21wYW55Q29sb3IgJiYgKHRoaXMudmFyaWFudCA9PT0gJ2xpbmsnIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RlcnRpYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdpY29uLWJ1dHRvbicpKSB7XG4gICAgICBzdHlsZU9ialsnY29sb3InXSA9IHRoaXMuZ2V0Q29tcGFueUNvbG9yO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNCYWNrZ3JvdW5kKSB7XG4gICAgICBzdHlsZU9ialsnLS1naG9zdC1iYWNrZ3JvdW5kJ10gPSAnI2ZmZmZmZic7XG4gICAgfVxuICAgIHJldHVybiBzdHlsZU9iajtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIHNwaW5uZXJcbiAgZ2V0IHNob3dTcGlubmVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzTm90VGFiID0gdGhpcy52YXJpYW50ICE9PSAndGFiJztcbiAgICBjb25zdCBpc05vdExpbmsgPSB0aGlzLnZhcmlhbnQgIT09ICdsaW5rJztcbiAgICBjb25zdCBpc0xvYWRpbmcgPSB0aGlzLmxvYWRpbmcgPT09IHRydWU7XG4gICAgcmV0dXJuIGlzTG9hZGluZyAmJiBpc05vdFRhYiAmJiBpc05vdExpbms7XG4gIH1cblxuICAvL1Nob3cgYnV0dG9uIHdpdGggPGJ1dHRvbj4gb3IgPGE+IHRhZ1xuICBzaG93QnV0dG9uTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYW50ICE9PSAnbGluayc7XG4gIH1cblxuICBzZXRJY29uQnV0dG9uU2l6ZSgpOiBJY29uQnV0dG9uU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2JpZycgPyAnNDAnIDogdGhpcy5zaXplID09PSAnc21hbGwnID8gJzI0JyA6ICczMic7XG4gIH1cblxuICBvblByZXNzZWQoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2LnR5cGUgPT09ICdtb3VzZWRvd24nKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ3ByZXNzZWQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5ob3ZlciA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25FbGVtZW50LmZvY3VzKG9yaWdpbilcbiAgfVxuXG4gIGdldCBnZXRDb21wYW55Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21wYW55Q29sb3IgfHwgKHRoaXMudmFyaWFudCA9PT0gJ3RleHQnID8gdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnZGFyaycgPyAnI2ZmZmZmZicgOiAnIzI0MjQyNCcgOiAodGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnIzQ2QTk5NycgOiAnI0Q0MTBBQScpKTtcbiAgfVxuXG4gIGdldCBzaG91bGRDaGFuZ2VGaWxsZWRTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmIHRoaXMudmFyaWFudCAhPT0gJ3ByaW1hcnknICYmIHRoaXMudmFyaWFudCAhPT0gJ3NlY29uZGFyeScgJiYgIXRoaXMuY29sb3JlZEljb25zLmluY2x1ZGVzKHRoaXMuaWNvbik7XG4gIH1cblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB0YXJnZXQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ3ByZXNzZWQnO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuaG92ZXIgPyAnaG92ZXInIDogJ2RlZmF1bHQnO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBvbkxhYmVsRWxsaXBzaXNDaGFuZ2Uoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsRWxsaXBzaXMgPSBzdGF0ZTtcbiAgfVxuXG4gIGdldEljb25OYW1lKGljb25OYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogSWNvbk5hbWUge1xuICAgIGlmIChpY29uTmFtZS5pbmNsdWRlcygnZmlsbGVkJykpIHtcbiAgICAgIHJldHVybiBpY29uTmFtZS5yZXBsYWNlKC9maWxsZWQvLCAnaW4tbGluZScpIGFzIEljb25OYW1lXG4gICAgfSBlbHNlIGlmIChpY29uTmFtZS5pbmNsdWRlcygnaW4tbGluZScpKSB7XG4gICAgICByZXR1cm4gaWNvbk5hbWUucmVwbGFjZSgvaW4tbGluZS8sICdmaWxsZWQnKSBhcyBJY29uTmFtZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaWNvbk5hbWUgKyBkZWZhdWx0VmFsdWUgYXMgSWNvbk5hbWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICN0b29sdGlwRWxlbWVudCBjbGFzcz1cInRvb2x0aXBcIlxuICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwID8gdG9vbHRpcCA6IGxhYmVsRWxsaXBzaXMgPyBsYWJlbCA6ICcnXCJcbiAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbj48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJidXR0b24td3JhcHBlclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2Z1bGwtd2lkdGgnOiBmdWxsV2lkdGgsICdyb3VuZGVkLWljb24nOiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgaWNvbiAmJiAhbGFiZWwsIGxpbms6ICFpc0J1dHRvbkxpbmsgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcbiAgICAgICBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZCc6IGRpc2FibGVkLCAnYnV0dG9uLXNjYWxlJzogYnV0dG9uU3RhdGUgPT09ICdwcmVzc2VkJyAmJiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgIWRpc2FibGVkU2NhbGVPbkNsaWNrIH1cIlxuICA+XG4gICAgIDxzcGFuICpuZ0lmPVwiaXNQcmVtaXVtICYmIHR5cGVJbmNsdWRlZFwiIGNsYXNzPVwicmlnaHQtdG9wXCI+XG4gICAgIDxpbWcgW2F0dHIuc3JjXT1cIicvaW1hZ2VzL3ByZW1pdW0uc3ZnJ1wiIFthbHRdPVwiJ3ByZW1pdW0taWNvbidcIj5cbiAgIDwvc3Bhbj5cbiAgICA8dWktYmFkZ2VcbiAgICAgIGlkPVwiYmFkZ2VcIlxuICAgICAgKm5nSWY9XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VUeXBlXCJcbiAgICAgIFtyZWJyYW5kQ29sb3JdPVwiYnV0dG9uQmFkZ2VDb25maWc/LnJlYnJhbmRDb2xvciA/PyAnYnJhbmQnXCJcbiAgICAgIFt2YXJpYW50XT1cImJ1dHRvbkJhZGdlQ29uZmlnIS5iYWRnZVR5cGUhXCJcbiAgICAgIFtsYWJlbF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VMYWJlbCA/PyAnJ1wiXG4gICAgICBbbm90aWZpY2F0aW9uc0Ftb3VudF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgPz8gMFwiXG4gICAgICBjbGFzcz1cInJpZ2h0LXRvcFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdiYWRnZS1wcmltYXJ5JzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ3ByaW1hcnknLCAnYmFkZ2Utbm90aWZpY2F0aW9uJzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ25vdGlmaWNhdGlvbicgfVwiXG4gICAgPjwvdWktYmFkZ2U+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlXT1cIictLWljb24tYnV0dG9uLXNpemU6JyArIGljb25CdXR0b25TaXplICsgJ3B4J1wiXG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VlbnRlcik9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAqbmdJZj1cImlzQnV0dG9uTGlua1wiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwiYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgICAgbWF0LWZsYXQtYnV0dG9uPlxuICAgICAgPHNwYW4gaWQ9XCJkZXNjcmliZWRieVwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyAoaXNQcmVtaXVtID8gKGxhYmVsICsgJyAnICsgKCdCVVRUT04uUFJFTUlVTV9GRUFUVVJFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpKSA6IGFyaWFEZXNjcmliZWRieSkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGlkPVwibGFiZWxsZWRieVwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhTGFiZWxsZWRieSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTcGlubmVyOyBlbHNlIGljb25zXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci13cmFwcGVyXCI+XG4gICAgICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPVwicG9zaXRpb24tc3Bpbm5lclwiIGFyaWEtbGFiZWw9XCJsb2FkaW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBkaWFtZXRlcj1cIjI0XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2ljb25zPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLW9ubHktd3JhcHBlclwiICpuZ0lmPVwianVzdEljb24gJiYgISFpY29uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJpY29uIG9ubHlcIlxuICAgICAgICAgIHJvbGU9XCJsYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgW2NvbG9yXT1cIidpbmhlcml0J1wiXG4gICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImljb25cIlxuICAgICAgICAgICAgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb25cIlxuICAgICAgICAgICAgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiXG4gICAgICAgICAgPjwvdWktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1sYWJlbC13cmFwcGVyXCIgW25nQ2xhc3NdPVwieydjZW50ZXItdGV4dCc6IGljb25OYW1lID09PSAnJ31cIiAqbmdJZj1cIiFqdXN0SWNvblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdsZWZ0JyAmJiAhIWljb25OYW1lXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgIFtjb2xvcl09XCInaW5oZXJpdCdcIlxuICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJpY29uXCJcbiAgICAgICAgICAgIFtmaWxsZWRdPVwiaXNGaWxsZWRJY29uXCJcbiAgICAgICAgICAgIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnc21hbGwnID8gJzE2JyA6ICcyNCdcIlxuICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImlzTGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPVwibGFiZWxcIlxuICAgICAgICAgIHVpRWxsaXBzZVRleHRcbiAgICAgICAgICBbaXNNdWx0aWxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlVGV4dFN0YXRlKT1cIm9uTGFiZWxFbGxpcHNpc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgISFpY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVpLWljb25cbiAgICAgICAgICBbY29sb3JdPVwiJ2luaGVyaXQnXCIgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cImljb25cIiBbZmlsbGVkXT1cImlzRmlsbGVkSWNvblwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3NtYWxsJyA/ICcxNicgOiAnMjQnXCIgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCI+PC91aS1pY29uPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9idXR0b24+XG4gICAgPGFcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlZW50ZXIpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudCk7XCJcbiAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAqbmdJZj1cIiFpc0J1dHRvbkxpbmtcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJhcmlhUmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCA/IHRvb2x0aXAgOiBsYWJlbEVsbGlwc2lzID8gbGFiZWwgOiAnJ1wiXG4gICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgW2hyZWZdPVwidXJsXCJcbiAgICAgIFt0YXJnZXRdPVwidXJsVGFyZ2V0XCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvbj5cbiAgICAgIDxzcGFuIGlkPVwiZGVzY3JpYmVkYnktbGlua1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhRGVzY3JpYmVkYnkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGlkPVwibGFiZWxsZWRieS1saW5rXCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCI+XG4gICAgICAgIHt7IGFyaWFMYWJlbGxlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24tbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
442
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBVzdELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQTZORCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBZUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDNkUsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBcFA5Rzs7Ozs7V0FLRztRQUNNLFNBQUksR0FBZSxLQUFLLENBQUM7UUFDbEM7Ozs7O1dBS0c7UUFHSCxZQUFPLEdBQWdCLFNBQVMsQ0FBQztRQUVqQzs7OztX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c0JBQWYsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVNHLElBQUk7c0JBQVosS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQVNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFXTixnQkFBZ0I7c0JBRmYsV0FBVzt1QkFBQyxZQUFZOztzQkFDeEIsS0FBSztnQkFVRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQVNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSztnQkFPa0MsY0FBYztzQkFBckQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFPRSxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVE3QixlQUFlO3NCQUF2QixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUV3QyxhQUFhO3NCQUEzRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBUXpDLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L3VzZS1saWZlY3ljbGUtaW50ZXJmYWNlICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7XG4gIEJ1dHRvbkJhZGdlQ29uZmlnLFxuICBCdXR0b25Db2xvcixcbiAgQnV0dG9uSWNvblBvc2l0aW9uLFxuICBCdXR0b25TaXplLFxuICBCdXR0b25TdGF0ZSxcbiAgQnV0dG9uVHlwZSxcbiAgSWNvbkJ1dHRvblNpemUsXG4gIExpbmtVcmxUYXJnZXQsXG59IGZyb20gJy4vYnV0dG9uLm1vZGVsJztcbmltcG9ydCB7IGFkanVzdExpZ2h0bmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yLWNvbnRyYXN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgRm9jdXNPcmlnaW4gfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9pbnRlci1ldmVudHMnKVxuICBnZXQgZW5hYmxlZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCc7XG4gIH1cblxuICBAVmlld0NoaWxkKCd0b29sdGlwRWxlbWVudCcpIHRvb2x0aXBFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAvKipcbiAgICogRGVmaW5lIGJ1dHRvbiBoZWlnaHRcbiAgICpcbiAgICogQHR5cGUge0J1dHRvblNpemV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6IEJ1dHRvblNpemUgPSAnYmlnJztcbiAgLyoqXG4gICAqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiB3aGlsZSBpbiBhY3RpdmUgc3RhdGVcbiAgICpcbiAgICogQHR5cGUge0J1dHRvbkNvbG9yfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYnRuLXZhcmlhbnQnKVxuICBASW5wdXQoKVxuICB2YXJpYW50OiBCdXR0b25Db2xvciA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogVGV4dCBjb250ZW50IHRvIGFwcGVhciBvbiB0aGUgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uaW5nIG9mIHRoZSBpY29uICh3aGVuIGV4aXN0YW50KVxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uSWNvblBvc2l0aW9ufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpY29uUG9zaXRpb24/OiBCdXR0b25JY29uUG9zaXRpb24gPSAncmlnaHQnO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgaWYgYnV0dG9uIGhhcyBvbmx5IGljb24gd2l0aG91dCB0ZXh0XG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGp1c3RJY29uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdWktaWNvblxuICAgKlxuICAgKiBAdHlwZSB7SWNvbk5hbWV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25OYW1lOiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBidXR0b24gc2hvdWxkIGJlIGRpc2FibGVkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgbG9hZGluZyBpY29uIHNob3VsZCBiZSBzaG93blxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBvZiB0aGUgYnV0dG9uIHdpZHRoXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVcmwgb2YgYnV0dG9uIGlmIGl0IGlzIGEgbGlua1xuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVybCdzIHRhcmdldCBvZiBidXR0b24gaWYgaXQgaXMgYSBsaW5rXG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1VybFRhcmdldH19XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHVybFRhcmdldD86IExpbmtVcmxUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiB2YWx1ZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IHRvb2x0aXBcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0b29sdGlwIHRoYXQgaXMgZGlzcGxheWVkIG9uIGhvdmVyLiBSZXF1aXJlZCBmb3IgaWNvbi1idXR0b24gdHlwZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBpc1ByZW1pdW1cbiAgICogQGRlc2NyaXB0aW9uIFRoZSBpY29uIHRoYXQgaXMgZGlzcGxheWVkIGZvciBQcmVtaXVtIGJ1dHRvblxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNQcmVtaXVtID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBidXR0b24uXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25UeXBlfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqIEBkZWZhdWx0ICdidXR0b24nXG4gICAqL1xuICBASW5wdXQoKSB0eXBlOiBCdXR0b25UeXBlID0gJ2J1dHRvbic7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24uXG4gICAqIERlZmF1bHRzIHRvIFRlc3QgR29yaWxsYSBwcmltYXJ5IGNvbG9yLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb21wYW55Q29sb3I6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAvKipcbiAgICogQ29uZmlnIGZvciB0aGUgYnV0dG9uIGJhZGdlIHZhcmlhdGlvblxuICAgKiBAdHlwZSB7QnV0dG9uQmFkZ2VDb25maWd9XG4gICAqIEBwcm9wZXJ0eSBiYWRnZVR5cGUgVHlwZSBvZiBiYWRnZSBvbiB0aGUgYnV0dG9uXG4gICAqIEBwcm9wZXJ0eSBiYWRnZUxhYmVsIExhYmVsIHRleHQgZm9yIHRoZSBiYWRnZVxuICAgKiBAcHJvcGVydHkgYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgVGhlIGFtb3VudCBmb3Igbm90aWZpY2F0aW9uIGluIHRoZSBiYWRnZVxuICAgKi9cbiAgQElucHV0KCkgYnV0dG9uQmFkZ2VDb25maWc6IEJ1dHRvbkJhZGdlQ29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZSB3aGVyZSBidXR0b25zIGlzIHVzZWRcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50aGVtZScpXG4gIEBJbnB1dCgpXG4gIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEaXNhYmxlZCBidXR0b24gc2NhbGUgb24gY2xpY2tcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkU2NhbGVPbkNsaWNrID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSBsYWJlbCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBsYWJlbCBpcyB1c2VkIHRvIHByb3ZpZGUgYW4gYWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRieSA9ICcnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcblxuICAvKipcbiAgICogUHJldmVudHMgZGVmYXVsdCBidXR0b24gY2xpY2sgYmVoYXZpb3JcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBHaG9zdCB2YXJpYW50IHdpdGggd2hpdGUgYmFja2dyb3VuZFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0JhY2tncm91bmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0cyB0b29sdGlwIHBvc2l0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtUb29sdGlwUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ2JlbG93JztcblxuICBASW5wdXQoKSByb2xlOiBzdHJpbmcgPSAnYnV0dG9uJztcblxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkhvdmVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgYnV0dG9uRWxlbWVudDogTWF0QnV0dG9uO1xuXG5cbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29sb3InKVxuICBnZXQgY29tcENvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLmdldENvbXBhbnlDb2xvcjtcbiAgfVxuXG4gIGNsYXNzQ3NzOiBzdHJpbmc7XG4gIHN0eWxlQ3NzOiBhbnk7XG4gIGlzQnV0dG9uTGluazogYm9vbGVhbjtcbiAgaXNMYWJlbDogYm9vbGVhbjtcbiAgYnV0dG9uU3RhdGU6IEJ1dHRvblN0YXRlO1xuICBob3ZlciA9IGZhbHNlO1xuICBpY29uQnV0dG9uU2l6ZTogSWNvbkJ1dHRvblNpemUgPSAnNDAnO1xuICBhbGxvd0J1dHRvblR5cGVGb3JQcmVtaXVtOiBCdXR0b25Db2xvcltdID0gWydzZWNvbmRhcnknLCAncHJpbWFyeScsICdnaG9zdCcsICdvdXRsaW5lZCcsICdkZXN0cnVjdGl2ZSddO1xuICBpc0ZpbGxlZEljb246IGJvb2xlYW47XG4gIGNvbG9yZWRJY29ucyA9IFsnR29vZ2xlLWluLWxpbmUnLCAnR29vZ2xlJywgJ0dvb2dsZS1maWxsZWQnXTtcbiAgbGFiZWxFbGxpcHNpcyA9IGZhbHNlO1xuICBpY29uOiBJY29uTmFtZSA9ICcnO1xuXG4gIGdldCB0eXBlSW5jbHVkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dCdXR0b25UeXBlRm9yUHJlbWl1bS5pbmNsdWRlcyh0aGlzLnZhcmlhbnQpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc0NzcyA9IHRoaXMuc2V0Q3NzQ2xhc3MoKTtcbiAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIHRoaXMuaXNCdXR0b25MaW5rID0gdGhpcy5zaG93QnV0dG9uTGluaygpO1xuICAgIHRoaXMuaXNMYWJlbCA9IHRoaXMuc2hvd0xhYmVsKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gICAgfVxuICAgIGlmICghdGhpcy5hcHBsaWNhdGlvblRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sndHlwZSddKSB7XG4gICAgICB0aGlzLmlzQnV0dG9uTGluayA9IHRoaXMuc2hvd0J1dHRvbkxpbmsoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2xvYWRpbmcnXSkge1xuICAgICAgdGhpcy5pc0xhYmVsID0gdGhpcy5zaG93TGFiZWwoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2ljb25OYW1lJ10pIHtcbiAgICAgIHRoaXMuaWNvbiA9IGNoYW5nZXNbJ2ljb25OYW1lJ10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWyd0eXBlJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2Z1bGxXaWR0aCddIHx8XG4gICAgICBjaGFuZ2VzWydpY29uTmFtZSddIHx8XG4gICAgICBjaGFuZ2VzWydqdXN0SWNvbiddIHx8XG4gICAgICBjaGFuZ2VzWydpY29uUG9zaXRpb24nXSB8fFxuICAgICAgY2hhbmdlc1snZGlzYWJsZWQnXSB8fFxuICAgICAgY2hhbmdlc1snY29tcGFueUNvbG9yJ10gfHxcbiAgICAgIGNoYW5nZXNbJ3ZhcmlhbnQnXSB8fFxuICAgICAgY2hhbmdlc1snYXBwbGljYXRpb25UaGVtZSddXG4gICAgKSB7XG4gICAgICB0aGlzLmNsYXNzQ3NzID0gdGhpcy5zZXRDc3NDbGFzcygpO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3ZhcmlhbnQnXT8uY3VycmVudFZhbHVlID09PSAnaWNvbi1idXR0b24nIHx8IChjaGFuZ2VzWyd2YXJpYW50J10/LmN1cnJlbnRWYWx1ZSA9PT0gJ21lbnVUcmlnZ2VyJyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJykpIHtcbiAgICAgIHRoaXMuaWNvbkJ1dHRvblNpemUgPSB0aGlzLnNldEljb25CdXR0b25TaXplKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc0ZpbGxlZEljb24gPSB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAodGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5Jyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b29sdGlwRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9uY2xpY2sgPSBldiA9PiB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nICYmICF0aGlzLnRvb2x0aXApIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgICBbdG9vbHRpcF0gaXMgcmVxdWlyZWQgZm9yIFt0eXBlXSBpY29uLWJ1dHRvbiEnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2Rlc3RydWN0aXZlJyAmJiAhdGhpcy5pY29uICYmICF0aGlzLmxvYWRpbmcgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycpIHtcbiAgICAgIGNvbnNvbGUud2FybigndWktYnV0dG9uIEJ1dHRvbkNvbXBvbmVudFxcbiAgW2ljb25dIGlzIHJlcXVpcmVkIGZvciBbdHlwZV0gZGVzdHJ1Y3RpdmUnKTtcbiAgICB9XG4gIH1cblxuICBidXR0b25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcmV2ZW50RGVmYXVsdCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmJ1dHRvbkNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBidXR0b25Ib3ZlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZW50ZXInKSB7XG4gICAgICB0aGlzLmhvdmVyID0gdHJ1ZTtcbiAgICAgIHRoaXMuYnV0dG9uSG92ZXJFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnaG92ZXInO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkQ2hhbmdlRmlsbGVkU3RhdHVzICYmIHRoaXMuaWNvbikge1xuICAgICAgICB0aGlzLmljb24gPSB0aGlzLmdldEljb25OYW1lKHRoaXMuaWNvbk5hbWUgYXMgSWNvbk5hbWUsICctZmlsbGVkJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG92ZXIgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb24pIHtcbiAgICAgICAgdGhpcy5pY29uID0gdGhpcy5pY29uTmFtZSBhcyBJY29uTmFtZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIGxhYmVsXG4gIHNob3dMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubG9hZGluZztcbiAgfVxuXG4gIC8vU2V0IGNzcyBjbGFzcyBhY2NvcmRpbmcgaW5wdXRzXG4gIHNldENzc0NsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmZ1bGxXaWR0aCA/ICdmdWxsLXdpZHRoJyA6ICcnO1xuICAgIGNvbnN0IGhhc0ljb24gPSB0aGlzLmljb25OYW1lID09PSBudWxsID8gJycgOiAnaWNvbic7XG4gICAgY29uc3QganVzdEljb24gPSB0aGlzLmp1c3RJY29uIHx8IHRoaXMudmFyaWFudCA9PT0gJ2ljb24tYnV0dG9uJyA/ICdvbmx5LWljb24nIDogJyc7XG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gdGhpcy5pY29uUG9zaXRpb24gPT09IHVuZGVmaW5lZCA/ICcnIDogdGhpcy5pY29uUG9zaXRpb247XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkICYmIHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ3ByaW1hcnktZGlzYWJsZWQnIDogJyc7XG4gICAgY29uc3QgdmFyaWFudCA9IHRoaXMudmFyaWFudCA9PT0gJ2dob3N0JyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdvdXRsaW5lZCcgOiB0aGlzLnZhcmlhbnQ7XG4gICAgY29uc3QgY29tcGFueUNvbG9yID0gdGhpcy5jb21wYW55Q29sb3IgPyAnaGFzLWNvbXBhbnktY29sb3InIDogJyc7XG4gICAgcmV0dXJuIGAke3RoaXMuc2l6ZX0gJHtpY29uUG9zaXRpb259ICR7dmFyaWFudH0gJHt3aWR0aH0gJHtoYXNJY29ufSAke2p1c3RJY29ufSAke2Rpc2FibGVkfSAke2NvbXBhbnlDb2xvcn0gJHt0aGlzLmFwcGxpY2F0aW9uVGhlbWV9LXRoZW1lYDtcbiAgfVxuXG4gIHNldENzc1N0eWxlKCk6IGFueSB7XG4gICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogdGhpcy5idXR0b25TdGF0ZTtcbiAgICBjb25zdCBzdHlsZU9iajogYW55ID0ge307XG5cbiAgICBpZiAoKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAodGhpcy5idXR0b25TdGF0ZSA9PT0gJ2hvdmVyJyB8fCB0aGlzLmJ1dHRvblN0YXRlID09PSAncHJlc3NlZCcpKSB7XG4gICAgICBzdHlsZU9ialt0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdiYWNrZ3JvdW5kLWNvbG9yJyA6ICdjb2xvciddID0gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlKTtcbiAgICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICd0ZXh0Jykge1xuICAgICAgICBzdHlsZU9ialsnLS1hY3RpdmUtY29sb3InXSA9IHRoaXMuY29tcGFueUNvbG9yID8gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlKSA6ICcjNjY2NjY2JztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCh0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICd0ZXh0JykgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgJiYgdGhpcy5idXR0b25TdGF0ZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICBzdHlsZU9ialt0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdiYWNrZ3JvdW5kLWNvbG9yJyA6ICdjb2xvciddID0gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlLCAnY2xhc3NpYycpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5nZXRDb21wYW55Q29sb3IgJiYgKHRoaXMudmFyaWFudCA9PT0gJ2xpbmsnIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RlcnRpYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdpY29uLWJ1dHRvbicpKSB7XG4gICAgICBzdHlsZU9ialsnY29sb3InXSA9IHRoaXMuZ2V0Q29tcGFueUNvbG9yO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNCYWNrZ3JvdW5kKSB7XG4gICAgICBzdHlsZU9ialsnLS1naG9zdC1iYWNrZ3JvdW5kJ10gPSAnI2ZmZmZmZic7XG4gICAgfVxuICAgIHJldHVybiBzdHlsZU9iajtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIHNwaW5uZXJcbiAgZ2V0IHNob3dTcGlubmVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzTm90VGFiID0gdGhpcy52YXJpYW50ICE9PSAndGFiJztcbiAgICBjb25zdCBpc05vdExpbmsgPSB0aGlzLnZhcmlhbnQgIT09ICdsaW5rJztcbiAgICBjb25zdCBpc0xvYWRpbmcgPSB0aGlzLmxvYWRpbmcgPT09IHRydWU7XG4gICAgcmV0dXJuIGlzTG9hZGluZyAmJiBpc05vdFRhYiAmJiBpc05vdExpbms7XG4gIH1cblxuICAvL1Nob3cgYnV0dG9uIHdpdGggPGJ1dHRvbj4gb3IgPGE+IHRhZ1xuICBzaG93QnV0dG9uTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYW50ICE9PSAnbGluayc7XG4gIH1cblxuICBzZXRJY29uQnV0dG9uU2l6ZSgpOiBJY29uQnV0dG9uU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2JpZycgPyAnNDAnIDogdGhpcy5zaXplID09PSAnc21hbGwnID8gJzI0JyA6ICczMic7XG4gIH1cblxuICBvblByZXNzZWQoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2LnR5cGUgPT09ICdtb3VzZWRvd24nKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ3ByZXNzZWQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5ob3ZlciA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25FbGVtZW50LmZvY3VzKG9yaWdpbilcbiAgfVxuXG4gIGdldCBnZXRDb21wYW55Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21wYW55Q29sb3IgfHwgKHRoaXMudmFyaWFudCA9PT0gJ3RleHQnID8gdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnZGFyaycgPyAnI2ZmZmZmZicgOiAnIzI0MjQyNCcgOiAodGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnIzQ2QTk5NycgOiAnI0Q0MTBBQScpKTtcbiAgfVxuXG4gIGdldCBzaG91bGRDaGFuZ2VGaWxsZWRTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmIHRoaXMudmFyaWFudCAhPT0gJ3ByaW1hcnknICYmIHRoaXMudmFyaWFudCAhPT0gJ3NlY29uZGFyeScgJiYgIXRoaXMuY29sb3JlZEljb25zLmluY2x1ZGVzKHRoaXMuaWNvbik7XG4gIH1cblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB0YXJnZXQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ3ByZXNzZWQnO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuaG92ZXIgPyAnaG92ZXInIDogJ2RlZmF1bHQnO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBvbkxhYmVsRWxsaXBzaXNDaGFuZ2Uoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsRWxsaXBzaXMgPSBzdGF0ZTtcbiAgfVxuXG4gIGdldEljb25OYW1lKGljb25OYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogSWNvbk5hbWUge1xuICAgIGlmIChpY29uTmFtZS5pbmNsdWRlcygnZmlsbGVkJykpIHtcbiAgICAgIHJldHVybiBpY29uTmFtZS5yZXBsYWNlKC9maWxsZWQvLCAnaW4tbGluZScpIGFzIEljb25OYW1lXG4gICAgfSBlbHNlIGlmIChpY29uTmFtZS5pbmNsdWRlcygnaW4tbGluZScpKSB7XG4gICAgICByZXR1cm4gaWNvbk5hbWUucmVwbGFjZSgvaW4tbGluZS8sICdmaWxsZWQnKSBhcyBJY29uTmFtZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaWNvbk5hbWUgKyBkZWZhdWx0VmFsdWUgYXMgSWNvbk5hbWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICN0b29sdGlwRWxlbWVudCBjbGFzcz1cInRvb2x0aXBcIlxuICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwID8gdG9vbHRpcCA6IGxhYmVsRWxsaXBzaXMgPyBsYWJlbCA6ICcnXCJcbiAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbj48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJidXR0b24td3JhcHBlclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2Z1bGwtd2lkdGgnOiBmdWxsV2lkdGgsICdyb3VuZGVkLWljb24nOiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgaWNvbiAmJiAhbGFiZWwsIGxpbms6ICFpc0J1dHRvbkxpbmsgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcbiAgICAgICBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZCc6IGRpc2FibGVkLCAnYnV0dG9uLXNjYWxlJzogYnV0dG9uU3RhdGUgPT09ICdwcmVzc2VkJyAmJiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgIWRpc2FibGVkU2NhbGVPbkNsaWNrIH1cIlxuICA+XG4gICAgIDxzcGFuICpuZ0lmPVwiaXNQcmVtaXVtICYmIHR5cGVJbmNsdWRlZFwiIGNsYXNzPVwicmlnaHQtdG9wXCI+XG4gICAgIDxpbWcgW2F0dHIuc3JjXT1cIicvaW1hZ2VzL3ByZW1pdW0uc3ZnJ1wiIFthbHRdPVwiJ3ByZW1pdW0taWNvbidcIj5cbiAgIDwvc3Bhbj5cbiAgICA8dWktYmFkZ2VcbiAgICAgIGlkPVwiYmFkZ2VcIlxuICAgICAgKm5nSWY9XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VUeXBlXCJcbiAgICAgIFtyZWJyYW5kQ29sb3JdPVwiYnV0dG9uQmFkZ2VDb25maWc/LnJlYnJhbmRDb2xvciA/PyAnYnJhbmQnXCJcbiAgICAgIFt2YXJpYW50XT1cImJ1dHRvbkJhZGdlQ29uZmlnIS5iYWRnZVR5cGUhXCJcbiAgICAgIFtsYWJlbF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VMYWJlbCA/PyAnJ1wiXG4gICAgICBbbm90aWZpY2F0aW9uc0Ftb3VudF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgPz8gMFwiXG4gICAgICBjbGFzcz1cInJpZ2h0LXRvcFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdiYWRnZS1wcmltYXJ5JzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ3ByaW1hcnknLCAnYmFkZ2Utbm90aWZpY2F0aW9uJzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ25vdGlmaWNhdGlvbicgfVwiXG4gICAgPjwvdWktYmFkZ2U+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlXT1cIictLWljb24tYnV0dG9uLXNpemU6JyArIGljb25CdXR0b25TaXplICsgJ3B4J1wiXG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VlbnRlcik9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAqbmdJZj1cImlzQnV0dG9uTGlua1wiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwiYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgICAgbWF0LWZsYXQtYnV0dG9uPlxuICAgICAgPHNwYW4gaWQ9XCJkZXNjcmliZWRieVwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyAoaXNQcmVtaXVtID8gKGxhYmVsICsgJyAnICsgKCdCVVRUT04uUFJFTUlVTV9GRUFUVVJFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpKSA6IGFyaWFEZXNjcmliZWRieSkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGlkPVwibGFiZWxsZWRieVwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhTGFiZWxsZWRieSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTcGlubmVyOyBlbHNlIGljb25zXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci13cmFwcGVyXCI+XG4gICAgICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPVwicG9zaXRpb24tc3Bpbm5lclwiIGFyaWEtbGFiZWw9XCJsb2FkaW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBkaWFtZXRlcj1cIjI0XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2ljb25zPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLW9ubHktd3JhcHBlclwiICpuZ0lmPVwianVzdEljb24gJiYgISFpY29uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJpY29uIG9ubHlcIlxuICAgICAgICAgIHJvbGU9XCJsYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgW2NvbG9yXT1cIidpbmhlcml0J1wiXG4gICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImljb25cIlxuICAgICAgICAgICAgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb25cIlxuICAgICAgICAgICAgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiXG4gICAgICAgICAgPjwvdWktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1sYWJlbC13cmFwcGVyXCIgW25nQ2xhc3NdPVwieydjZW50ZXItdGV4dCc6IGljb25OYW1lID09PSAnJ31cIiAqbmdJZj1cIiFqdXN0SWNvblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdsZWZ0JyAmJiAhIWljb25OYW1lXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgIFtjb2xvcl09XCInaW5oZXJpdCdcIlxuICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJpY29uXCJcbiAgICAgICAgICAgIFtmaWxsZWRdPVwiaXNGaWxsZWRJY29uXCJcbiAgICAgICAgICAgIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnc21hbGwnID8gJzE2JyA6ICcyNCdcIlxuICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImlzTGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPVwibGFiZWxcIlxuICAgICAgICAgIHVpRWxsaXBzZVRleHRcbiAgICAgICAgICBbaXNNdWx0aWxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlVGV4dFN0YXRlKT1cIm9uTGFiZWxFbGxpcHNpc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgISFpY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVpLWljb25cbiAgICAgICAgICBbY29sb3JdPVwiJ2luaGVyaXQnXCIgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cImljb25cIiBbZmlsbGVkXT1cImlzRmlsbGVkSWNvblwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3NtYWxsJyA/ICcxNicgOiAnMjQnXCIgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCI+PC91aS1pY29uPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9idXR0b24+XG4gICAgPGFcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlZW50ZXIpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudCk7XCJcbiAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAqbmdJZj1cIiFpc0J1dHRvbkxpbmtcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJhcmlhUmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCA/IHRvb2x0aXAgOiBsYWJlbEVsbGlwc2lzID8gbGFiZWwgOiAnJ1wiXG4gICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgW2hyZWZdPVwidXJsXCJcbiAgICAgIFt0YXJnZXRdPVwidXJsVGFyZ2V0XCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvbj5cbiAgICAgIDxzcGFuIGlkPVwiZGVzY3JpYmVkYnktbGlua1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhRGVzY3JpYmVkYnkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGlkPVwibGFiZWxsZWRieS1saW5rXCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCI+XG4gICAgICAgIHt7IGFyaWFMYWJlbGxlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24tbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -37,6 +37,9 @@ export class ConfirmDialogComponent {
|
|
|
37
37
|
this.showCloseButton = data.showCloseButton ?? false;
|
|
38
38
|
this.showSecondaryButton = data.showSecondaryButton ?? true;
|
|
39
39
|
this.color = data.color ?? null;
|
|
40
|
+
this.primaryButtonType = data.primaryButtonType ?? 'primary';
|
|
41
|
+
this.secondaryButtonType = data.secondaryButtonType ?? 'ghost';
|
|
42
|
+
this.primaryButtonIconName = data.primaryButtonIconName ?? undefined;
|
|
40
43
|
this.primaryButtonDataTestId = data.primaryButtonDataTestId ?? 'confirm-dialog.confirm-button';
|
|
41
44
|
this.secondaryButtonDataTestId = data.secondaryButtonDataTestId ?? 'confirm-dialog.cancel-button';
|
|
42
45
|
if (defaultAppTheme) {
|
|
@@ -44,11 +47,11 @@ export class ConfirmDialogComponent {
|
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ConfirmDialogComponent, selector: "ui-confirm-dialog", inputs: { applicationTheme: "applicationTheme" }, ngImport: i0, template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? ('COMMON.CONFIRM' | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? ('COMMON.YES' | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"\n showSecondaryButton ? cancelButtonText ?? ('COMMON.CANCEL' | uiTranslate | async)! : undefined\n \"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n primaryButtonType=\"
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ConfirmDialogComponent, selector: "ui-confirm-dialog", inputs: { applicationTheme: "applicationTheme" }, ngImport: i0, template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? ('COMMON.CONFIRM' | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? ('COMMON.YES' | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"\n showSecondaryButton ? cancelButtonText ?? ('COMMON.CANCEL' | uiTranslate | async)! : undefined\n \"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n [primaryButtonType]=\"primaryButtonType\"\n [primaryButtonIconName]=\"primaryButtonIconName\"\n [secondaryButtonType]=\"secondaryButtonType\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"showCloseButton\"\n [companyColor]=\"color\"\n [primaryButtonDataTestId]=\"primaryButtonDataTestId\"\n [secondaryButtonDataTestId]=\"secondaryButtonDataTestId\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"], dependencies: [{ kind: "component", type: i3.DialogComponent, selector: "ui-dialog", inputs: ["title", "showCloseButton", "canCloseFn", "secondaryButtonLabel", "primaryButtonLabel", "primaryButtonIconName", "secondaryButtonType", "primaryButtonType", "primaryButtonDataTestId", "secondaryButtonDataTestId", "companyColor", "applicationTheme", "disablePrimaryButton", "disableClose", "shouldDisableButtons", "ariaLabelledby", "ariaDescribedby", "keyboardOpen"], outputs: ["closeEvent", "secondaryButtonClickEvent", "primaryButtonClickEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }] }); }
|
|
48
51
|
}
|
|
49
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
50
53
|
type: Component,
|
|
51
|
-
args: [{ selector: 'ui-confirm-dialog', template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? ('COMMON.CONFIRM' | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? ('COMMON.YES' | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"\n showSecondaryButton ? cancelButtonText ?? ('COMMON.CANCEL' | uiTranslate | async)! : undefined\n \"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n primaryButtonType=\"
|
|
54
|
+
args: [{ selector: 'ui-confirm-dialog', template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? ('COMMON.CONFIRM' | uiTranslate | async)!\"\n [primaryButtonLabel]=\"confirmButtonText ?? ('COMMON.YES' | uiTranslate | async)!\"\n [secondaryButtonLabel]=\"\n showSecondaryButton ? cancelButtonText ?? ('COMMON.CANCEL' | uiTranslate | async)! : undefined\n \"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n (closeEvent)=\"dialogRef.close(null)\"\n [primaryButtonType]=\"primaryButtonType\"\n [primaryButtonIconName]=\"primaryButtonIconName\"\n [secondaryButtonType]=\"secondaryButtonType\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"showCloseButton\"\n [companyColor]=\"color\"\n [primaryButtonDataTestId]=\"primaryButtonDataTestId\"\n [secondaryButtonDataTestId]=\"secondaryButtonDataTestId\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"] }]
|
|
52
55
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
53
56
|
type: Optional
|
|
54
57
|
}, {
|
|
@@ -60,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
60
63
|
}] }, { type: i2.DomSanitizer }], propDecorators: { applicationTheme: [{
|
|
61
64
|
type: Input
|
|
62
65
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7O0FBVTVFLE1BQU0sT0FBTyxzQkFBc0I7SUF5QmpDLFlBQzZFLGVBQWlDLEVBQ3JHLFNBQStDLEVBQ3JCLElBQXVCLEVBQzlDLFlBQTBCO1FBSHVDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNyRyxjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUM5QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXhCdEMsU0FBSSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFFdkMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBSzNCLDRCQUF1QixHQUFHLCtCQUErQixDQUFDO1FBQzFELDhCQUF5QixHQUFHLDhCQUE4QixDQUFDO1FBRTNEOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFRcEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUM7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDN0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLFNBQVMsQ0FBQztRQUM3RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQztRQUMvRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixJQUFJLFNBQVMsQ0FBQztRQUNyRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixJQUFJLCtCQUErQixDQUFDO1FBQy9GLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLElBQUksOEJBQThCLENBQUM7UUFFbEcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDOytHQW5EVSxzQkFBc0Isa0JBMEJYLG9DQUFvQyx5REFFaEQsZUFBZTttR0E1QmQsc0JBQXNCLDJHQ2RuQyxna0NBeUJBOzs0RkRYYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1COzswQkE4QjFCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DOzswQkFFdkQsTUFBTTsyQkFBQyxlQUFlO29FQUxoQixnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2FsaXphdGlvbi9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dEYXRhIH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy5tb2RlbCc7XG5pbXBvcnQgeyBCdXR0b25Db2xvciB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kZWwnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1jb25maXJtLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dDb21wb25lbnQge1xuICBjb25maXJtTWVzc2FnZTogc3RyaW5nO1xuICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGxhbmcgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuICBjb25maXJtTWVzc2FnZUh0bWw6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xuICBzaG93Q2xvc2VCdXR0b24gPSBmYWxzZTtcbiAgc2hvd1NlY29uZGFyeUJ1dHRvbiA9IHRydWU7XG4gIGNvbG9yOiBzdHJpbmcgfCBudWxsO1xuICBwcmltYXJ5QnV0dG9uVHlwZTogQnV0dG9uQ29sb3I7XG4gIHNlY29uZGFyeUJ1dHRvblR5cGU6IEJ1dHRvbkNvbG9yO1xuICBwcmltYXJ5QnV0dG9uSWNvbk5hbWU6IEljb25OYW1lIHwgdW5kZWZpbmVkO1xuICBwcmltYXJ5QnV0dG9uRGF0YVRlc3RJZCA9ICdjb25maXJtLWRpYWxvZy5jb25maXJtLWJ1dHRvbic7XG4gIHNlY29uZGFyeUJ1dHRvbkRhdGFUZXN0SWQgPSAnY29uZmlybS1kaWFsb2cuY2FuY2VsLWJ1dHRvbic7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbmZpcm1EaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IENvbmZpcm1EaWFsb2dEYXRhLFxuICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHtcbiAgICB0aGlzLmNvbmZpcm1NZXNzYWdlID0gZGF0YS5tZXNzYWdlO1xuICAgIHRoaXMuY29uZmlybUJ1dHRvblRleHQgPSBkYXRhLmNvbmZpcm1CdXR0b25UZXh0O1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IGRhdGEuY2FuY2VsQnV0dG9uVGV4dDtcbiAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcbiAgICB0aGlzLmxhbmcgPSBkYXRhLmxhbmd1YWdlID8/IExhbmd1YWdlU2VydmljZS5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgdGhpcy5jb25maXJtTWVzc2FnZUh0bWwgPSBkYXRhLm1lc3NhZ2VIdG1sXG4gICAgICA/IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEubWVzc2FnZUh0bWwpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNob3dDbG9zZUJ1dHRvbiA9IGRhdGEuc2hvd0Nsb3NlQnV0dG9uID8/IGZhbHNlO1xuICAgIHRoaXMuc2hvd1NlY29uZGFyeUJ1dHRvbiA9IGRhdGEuc2hvd1NlY29uZGFyeUJ1dHRvbiA/PyB0cnVlO1xuICAgIHRoaXMuY29sb3IgPSBkYXRhLmNvbG9yID8/IG51bGw7XG4gICAgdGhpcy5wcmltYXJ5QnV0dG9uVHlwZSA9IGRhdGEucHJpbWFyeUJ1dHRvblR5cGUgPz8gJ3ByaW1hcnknO1xuICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVHlwZSA9IGRhdGEuc2Vjb25kYXJ5QnV0dG9uVHlwZSA/PyAnZ2hvc3QnO1xuICAgIHRoaXMucHJpbWFyeUJ1dHRvbkljb25OYW1lID0gZGF0YS5wcmltYXJ5QnV0dG9uSWNvbk5hbWUgPz8gdW5kZWZpbmVkO1xuICAgIHRoaXMucHJpbWFyeUJ1dHRvbkRhdGFUZXN0SWQgPSBkYXRhLnByaW1hcnlCdXR0b25EYXRhVGVzdElkID8/ICdjb25maXJtLWRpYWxvZy5jb25maXJtLWJ1dHRvbic7XG4gICAgdGhpcy5zZWNvbmRhcnlCdXR0b25EYXRhVGVzdElkID0gZGF0YS5zZWNvbmRhcnlCdXR0b25EYXRhVGVzdElkID8/ICdjb25maXJtLWRpYWxvZy5jYW5jZWwtYnV0dG9uJztcblxuICAgIGlmIChkZWZhdWx0QXBwVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDx1aS1kaWFsb2dcbiAgICBbdGl0bGVdPVwidGl0bGUgPz8gKCdDT01NT04uQ09ORklSTScgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgIFtwcmltYXJ5QnV0dG9uTGFiZWxdPVwiY29uZmlybUJ1dHRvblRleHQgPz8gKCdDT01NT04uWUVTJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgW3NlY29uZGFyeUJ1dHRvbkxhYmVsXT1cIlxuICAgICAgc2hvd1NlY29uZGFyeUJ1dHRvbiA/IGNhbmNlbEJ1dHRvblRleHQgPz8gKCdDT01NT04uQ0FOQ0VMJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpISA6IHVuZGVmaW5lZFxuICAgIFwiXG4gICAgKHByaW1hcnlCdXR0b25DbGlja0V2ZW50KT1cImRpYWxvZ1JlZi5jbG9zZSh0cnVlKVwiXG4gICAgKHNlY29uZGFyeUJ1dHRvbkNsaWNrRXZlbnQpPVwiZGlhbG9nUmVmLmNsb3NlKGZhbHNlKVwiXG4gICAgKGNsb3NlRXZlbnQpPVwiZGlhbG9nUmVmLmNsb3NlKG51bGwpXCJcbiAgICBbcHJpbWFyeUJ1dHRvblR5cGVdPVwicHJpbWFyeUJ1dHRvblR5cGVcIlxuICAgIFtwcmltYXJ5QnV0dG9uSWNvbk5hbWVdPVwicHJpbWFyeUJ1dHRvbkljb25OYW1lXCJcbiAgICBbc2Vjb25kYXJ5QnV0dG9uVHlwZV09XCJzZWNvbmRhcnlCdXR0b25UeXBlXCJcbiAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICBbc2hvd0Nsb3NlQnV0dG9uXT1cInNob3dDbG9zZUJ1dHRvblwiXG4gICAgW2NvbXBhbnlDb2xvcl09XCJjb2xvclwiXG4gICAgW3ByaW1hcnlCdXR0b25EYXRhVGVzdElkXT1cInByaW1hcnlCdXR0b25EYXRhVGVzdElkXCJcbiAgICBbc2Vjb25kYXJ5QnV0dG9uRGF0YVRlc3RJZF09XCJzZWNvbmRhcnlCdXR0b25EYXRhVGVzdElkXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+e3sgY29uZmlybU1lc3NhZ2UgfX08L2Rpdj5cbiAgICBAaWYgKGNvbmZpcm1NZXNzYWdlSHRtbCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VcIiBbaW5uZXJIVE1MXT1cImNvbmZpcm1NZXNzYWdlSHRtbFwiPjwvZGl2PlxuICAgIH1cbiAgPC91aS1kaWFsb2c+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLm1vZGVsJztcbmltcG9ydCB7IEJ1dHRvbkNvbG9yIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2RlbCc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybURpYWxvZ0RhdGEge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGNvbmZpcm1CdXR0b25UZXh0Pzogc3RyaW5nO1xuICBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGxhbmd1YWdlPzogTGFuZ3VhZ2U7XG4gIG1lc3NhZ2VIdG1sPzogc3RyaW5nO1xuICBzaG93Q2xvc2VCdXR0b24/OiBib29sZWFuO1xuICBzaG93U2Vjb25kYXJ5QnV0dG9uPzogYm9vbGVhbjtcbiAgcHJpbWFyeUJ1dHRvblR5cGU/OiBCdXR0b25Db2xvcjtcbiAgc2Vjb25kYXJ5QnV0dG9uVHlwZT86IEJ1dHRvbkNvbG9yO1xuICBwcmltYXJ5QnV0dG9uSWNvbk5hbWU/OiBJY29uTmFtZTtcbiAgcHJpbWFyeUJ1dHRvbkRhdGFUZXN0SWQ/OiBzdHJpbmc7XG4gIHNlY29uZGFyeUJ1dHRvbkRhdGFUZXN0SWQ/OiBzdHJpbmc7XG59XG4iXX0=
|