@arsedizioni/ars-utils 18.2.512 → 18.2.513
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/clipper.ui/ui/document-menu/document-menu.component.d.ts +5 -5
- package/clipper.ui/ui/search-result-item/search-result-item.component.d.ts +3 -4
- package/esm2022/clipper.ui/ui/document-menu/document-menu.component.mjs +4 -3
- package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +1 -1
- package/esm2022/evolution.common/common/definitions.mjs +13 -13
- package/esm2022/help/components/help-viewer/help-viewer.component.mjs +1 -1
- package/evolution.common/common/definitions.d.ts +12 -12
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +3 -2
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +13 -13
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
- package/help/components/help-viewer/help-viewer.component.d.ts +2 -2
- package/package.json +7 -7
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { MatMenuTrigger } from '@angular/material/menu';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
3
|
import { ClipperDocumentInfo } from '@arsedizioni/ars-utils/clipper.common';
|
|
5
4
|
import { ClipperSearchResultManager } from '../search-result-manager/search-result-manager';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
@@ -9,10 +8,11 @@ export declare class ClipperDocumentMenuComponent implements OnInit, OnDestroy {
|
|
|
9
8
|
private linksMenuTrigger;
|
|
10
9
|
private allMenuTriggers;
|
|
11
10
|
private renderer2;
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
private unsubscribe;
|
|
12
|
+
private changeDetector;
|
|
13
|
+
private clipperService;
|
|
14
14
|
useSelections: import("@angular/core").InputSignal<boolean>;
|
|
15
|
-
selectionSource: import("@angular/core").InputSignal<"
|
|
15
|
+
selectionSource: import("@angular/core").InputSignal<"bag" | "selection" | "none">;
|
|
16
16
|
protected selection: () => ClipperDocumentInfo[];
|
|
17
17
|
parent: import("@angular/core").InputSignal<ClipperSearchResultManager>;
|
|
18
18
|
item: import("@angular/core").InputSignal<ClipperDocumentInfo>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
2
|
import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
|
|
3
3
|
import { ClipperDocumentInfo, ClipperModel } from '@arsedizioni/ars-utils/clipper.common';
|
|
4
4
|
import { BroadcastService, ScreenService } from '@arsedizioni/ars-utils/core';
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
5
|
import { ClipperSearchResultManager } from '../search-result-manager/search-result-manager';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export declare enum ClipperSearchResultItemDisplayMode {
|
|
@@ -11,10 +10,10 @@ export declare enum ClipperSearchResultItemDisplayMode {
|
|
|
11
10
|
}
|
|
12
11
|
export declare class ClipperSearchResultItemComponent implements OnInit {
|
|
13
12
|
contextMenuTrigger: MatMenuTrigger;
|
|
14
|
-
|
|
13
|
+
private unsubscribe;
|
|
15
14
|
protected screenService: ScreenService;
|
|
16
15
|
protected broadcastService: BroadcastService;
|
|
17
|
-
|
|
16
|
+
private changeDetector;
|
|
18
17
|
parent: import("@angular/core").InputSignal<ClipperSearchResultManager>;
|
|
19
18
|
item: import("@angular/core").InputSignal<ClipperDocumentInfo>;
|
|
20
19
|
actions: import("@angular/core").InputSignal<MatMenu>;
|
|
@@ -5,7 +5,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
5
5
|
import { MatMenuModule } from '@angular/material/menu';
|
|
6
6
|
import { FlexModule } from '@ngbracket/ngx-layout';
|
|
7
7
|
import { Subject, takeUntil } from 'rxjs';
|
|
8
|
-
import { ClipperModel, ClipperUtils } from '@arsedizioni/ars-utils/clipper.common';
|
|
8
|
+
import { ClipperModel, ClipperService, ClipperUtils } from '@arsedizioni/ars-utils/clipper.common';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@ngbracket/ngx-layout/flex";
|
|
11
11
|
import * as i2 from "@angular/material/menu";
|
|
@@ -23,6 +23,7 @@ export class ClipperDocumentMenuComponent {
|
|
|
23
23
|
this.renderer2 = inject(Renderer2);
|
|
24
24
|
this.unsubscribe = new Subject();
|
|
25
25
|
this.changeDetector = inject(ChangeDetectorRef);
|
|
26
|
+
this.clipperService = inject(ClipperService);
|
|
26
27
|
this.useSelections = input(false);
|
|
27
28
|
this.selectionSource = input('selection');
|
|
28
29
|
this.selection = () => {
|
|
@@ -87,7 +88,7 @@ export class ClipperDocumentMenuComponent {
|
|
|
87
88
|
};
|
|
88
89
|
this.canAccessRS = () => {
|
|
89
90
|
const items = this.getMultipleSelection();
|
|
90
|
-
return this.parent()?.RS_enabled(items) === true && !this.useSelections();
|
|
91
|
+
return this.clipperService.supportsRS() && this.parent()?.RS_enabled(items) === true && !this.useSelections();
|
|
91
92
|
};
|
|
92
93
|
}
|
|
93
94
|
ngOnInit() {
|
|
@@ -204,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
204
205
|
type: Component,
|
|
205
206
|
args: [{ selector: 'clipper-document-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FlexModule, MatMenuModule, MatIconModule, MatDividerModule, MatTooltipModule], template: "@if (canDeselectAll()) {\r\n<button mat-menu-item (click)=\"parent().selection?.clear()\" [attr.aria-label]=\"'Deseleziona tutti'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>clear</mat-icon>Deseleziona tutti\r\n</button>\r\n} @else if (canManageBag()) {\r\n<button mat-menu-item (click)=\"parent().openBag()\" [attr.aria-label]=\"'Gestisci documenti di lavoro'\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Gestisci documenti di lavoro\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Apri documento'\" (mouseenter)=\"showSubMenu()\"\r\n (click)=\"open(getSingleSelection())\">\r\n <mat-icon></mat-icon>Apri\r\n</button>\r\n}\r\n@if (canAddToWorkingDocuments()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi ai documenti di lavoro'\"\r\n (click)=\"parent().addItemsToBag(getMultipleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>work_outline</mat-icon>Aggiungi ai documenti di lavoro\r\n</button>\r\n}\r\n@if(canPrint()) {\r\n<button mat-menu-item (click)=\"parent().print()\" [attr.aria-label]=\"'Stampa documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>print</mat-icon>\r\n <div>Stampa</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+P</div>\r\n </div>\r\n</button>\r\n}\r\n@if(canFind()) {\r\n<button mat-menu-item (click)=\"parent().find()\" [attr.aria-label]=\"'Trova nel documento'\" (mouseenter)=\"showSubMenu()\">\r\n <div fxLayout=\"row\" fxLayoutGap=\"20px\" fxLayoutAlign=\"start center\" fxFill>\r\n <div fxFlex=\"*\" fxLayout=\"row\" fxFill fxLayoutAlign=\"start center\">\r\n <mat-icon>find_in_page</mat-icon>\r\n <div>Trova nel documento</div>\r\n </div>\r\n <div class=\"accent small bold\">CTRL+F</div>\r\n </div>\r\n</button>\r\n}\r\n@if (canSendByEmail()) {\r\n<button mat-menu-item (click)=\"parent().sendItemsTo(getMultipleSelection())\"\r\n [attr.aria-label]=\"'Invia documento per email'\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>send</mat-icon>Invia per email\r\n</button>\r\n}\r\n@if (canAddToArchive()) {\r\n<button mat-menu-item (click)=\"parent().addToArchive(getMultipleSelection())\" [attr.aria-label]=\"'Archivia'\">\r\n <mat-icon>account_tree</mat-icon>Archivia\r\n</button>\r\n}\r\n@if (canSaveAsPdf()) {\r\n<button mat-menu-item (click)=\"parent().exportPdf(getSingleSelection())\" (mouseenter)=\"showSubMenu()\"\r\n [attr.aria-label]=\"'Salva documento in pdf'\">\r\n <mat-icon>save_alt</mat-icon>Salva in pdf\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Genera un link permanente da utilizzare esternamente'\"\r\n (click)=\"parent().showLink(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>link</mat-icon>Link\r\n</button>\r\n}\r\n@if (canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Copia metadati negli appunti'\"\r\n (click)=\"parent().copyMetadataToClipboard(getSingleSelection())\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>content_copy</mat-icon>Copia metadati\r\n</button>\r\n}\r\n@if (!isReference() && canOpen()) {\r\n<button mat-menu-item [matMenuTriggerFor]=\"linksMenu\" #linksMenuTrigger=\"matMenuTrigger\"\r\n (mouseenter)=\"showSubMenu(linksMenuTrigger)\" (mouseleave)=\"resetSubMenu(linksMenuTrigger)\">\r\n <mat-icon>compare_arrows</mat-icon>Collegamenti\r\n</button>\r\n<mat-menu #linksMenu=\"matMenu\">\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti richiamati da questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 1)\">\r\n Documenti richiamati\r\n </button>\r\n }\r\n @if (!isReference() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra i documenti che richiamano questo'\"\r\n (click)=\"openReferences(getSingleSelection(), 2)\">\r\n Documenti che richiamano\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra giurisprudenza'\" (click)=\"openReferences(getSingleSelection(), 4)\">\r\n Juris\r\n </button>\r\n }\r\n @if (!isReference() && isLawInForce() && canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Mostra modifiche normative'\"\r\n (click)=\"openReferences(getSingleSelection(), 3)\">\r\n Modifiche\r\n </button>\r\n }\r\n</mat-menu>\r\n}\r\n@if (canAddToCalendar()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Aggiungi al calendario'\"\r\n (click)=\"parent().addToCalendar(getSingleSelection())\">\r\n <mat-icon>alarm</mat-icon> Crea scadenza\r\n</button>\r\n}\r\n@if (canExportCalendar()) {\r\n@if(useSelections()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportResults(2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n} @else if (item()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Importa in Oultook (iCalandar)'\" (click)=\"parent().exportItems([item().documentId], null, 2)\">\r\n <mat-icon>mail_outline</mat-icon>Importa in Outlook (iCalendar)\r\n</button>\r\n}\r\n}\r\n@if (canSetAsUnread()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come da leggere'\" (click)=\"setRead(false)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>outlined_flag</mat-icon>Segna come da leggere\r\n</button>\r\n}\r\n@if (canSetAsRead()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Segna come gi\u00E0 letto'\" (click)=\"setRead(true)\" (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>flag</mat-icon>Segna come gi\u00E0 letto\r\n</button>\r\n}\r\n\r\n\r\n@if (isLawInForce() && canOpen()) {\r\n<button mat-menu-item [attr.aria-label]=\"'Mostra report utilizzo'\" (click)=\"parent().report(getSingleSelection())\"\r\n (mouseenter)=\"showSubMenu()\">\r\n <mat-icon>assignment</mat-icon>Report\r\n</button>\r\n}\r\n\r\n@if (canAccessRS()) {\r\n<mat-divider></mat-divider>\r\n<button mat-menu-item matTooltip=\"Registro & Scadenzario\" [attr.aria-label]=\"'Opzioni di Registro & Scadenzario'\"\r\n [matMenuTriggerFor]=\"rsMenu\" #rsMenuTrigger=\"matMenuTrigger\" (mouseenter)=\"showSubMenu(rsMenuTrigger)\"\r\n (mouseleave)=\"resetSubMenu(rsMenuTrigger)\">\r\n <mat-icon>alarm_on</mat-icon>\r\n Registro e scadenzario\r\n</button>\r\n<mat-menu #rsMenu=\"matMenu\">\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova legge'\" (click)=\"parent().RS_newLaw(getMultipleSelection())\">\r\n Nuova legge\r\n </button>\r\n @if (canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Nuova attivit\u00E0'\" (click)=\"parent().RS_newActivity(getSingleSelection())\">\r\n Nuova attivit\u00E0\r\n </button>\r\n }\r\n @if (canOpen()) {\r\n <button mat-menu-item [attr.aria-label]=\"'Report utilizzo norma'\"\r\n (click)=\"parent().RS_usageReport(getSingleSelection())\">\r\n Report utilizzo norma\r\n </button>\r\n }\r\n</mat-menu>\r\n}" }]
|
|
206
207
|
}] });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC1tZW51L2RvY3VtZW50LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQtbWVudS9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUF1QixZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFZeEcsTUFBTSxPQUFPLDRCQUE0QjtJQVR6QztRQVdVLGtCQUFhLEdBQXVDLFNBQVMsQ0FBaUIsZUFBZSxDQUFDLENBQUM7UUFDL0YscUJBQWdCLEdBQXVDLFNBQVMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztRQUNyRyxvQkFBZSxHQUF5QztZQUM5RCxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FB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LE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztLQUlDO0lBQ1MsY0FBYyxDQUFDLElBQXlCLEVBQUUsSUFBWTtRQUM5RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7OEdBL0xVLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHl5RENuQnpDLHc2TkFxS0MseUREckpXLFVBQVUsdTZFQUFFLGFBQWEsNnZCQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLGtJQUFFLGdCQUFnQjs7MkZBRzNFLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgU2lnbmFsLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvLCBDbGlwcGVyTW9kZWwsIENsaXBwZXJVdGlscyB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24nO1xyXG5pbXBvcnQgeyBDbGlwcGVyU2VhcmNoUmVzdWx0TWFuYWdlciB9IGZyb20gJy4uL3NlYXJjaC1yZXN1bHQtbWFuYWdlci9zZWFyY2gtcmVzdWx0LW1hbmFnZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbGlwcGVyLWRvY3VtZW50LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbRmxleE1vZHVsZSwgTWF0TWVudU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlwcGVyRG9jdW1lbnRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIHJzTWVudVRyaWdnZXI6IFNpZ25hbDxNYXRNZW51VHJpZ2dlciB8IHVuZGVmaW5lZD4gPSB2aWV3Q2hpbGQ8TWF0TWVudVRyaWdnZXI+KCdyc01lbnVUcmlnZ2VyJyk7XHJcbiAgcHJpdmF0ZSBsaW5rc01lbnVUcmlnZ2VyOiBTaWduYWw8TWF0TWVudVRyaWdnZXIgfCB1bmRlZmluZWQ+ID0gdmlld0NoaWxkPE1hdE1lbnVUcmlnZ2VyPignbGlua3NNZW51VHJpZ2dlcicpO1xyXG4gIHByaXZhdGUgYWxsTWVudVRyaWdnZXJzOiBTaWduYWw8TWF0TWVudVRyaWdnZXIgfCB1bmRlZmluZWQ+W10gPSBbXHJcbiAgICB0aGlzLmxpbmtzTWVudVRyaWdnZXIsXHJcbiAgICB0aGlzLnJzTWVudVRyaWdnZXJcclxuICBdXHJcbiAgcHJpdmF0ZSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICBwcm90ZWN0ZWQgdW5zdWJzY3JpYmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgdXNlU2VsZWN0aW9ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBzZWxlY3Rpb25Tb3VyY2UgPSBpbnB1dDwnYmFnJyB8ICdzZWxlY3Rpb24nIHwgJ25vbmUnIHwgbnVsbD4oJ3NlbGVjdGlvbicpO1xyXG4gIHByb3RlY3RlZCBzZWxlY3Rpb24gPSAoKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdID0+IHtcclxuICAgIGlmICh0aGlzLnVzZVNlbGVjdGlvbnMoKSkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0aW9uU291cmNlKCkpIHtcclxuICAgICAgICBjYXNlICdiYWcnOlxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50KCk/LmNsaXBwZXJTZXJ2aWNlLmJhZygpID8/IFtdO1xyXG4gICAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5hbGwgPz8gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9O1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGlzUmVmZXJlbmNlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzUmVhZGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBpc0xhd0luRm9yY2UgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuUHJpbnQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuRmluZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VDYWxlbmRhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VBcmNoaXZlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHByb3RlY3RlZCBjYW5EZXNlbGVjdEFsbCA9ICgpOiBib29sZWFuID0+IHRoaXMuc2VsZWN0aW9uU291cmNlKCkgPT09ICdzZWxlY3Rpb24nICYmIHRoaXMuc2VsZWN0aW9uKCkubGVuZ3RoID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuTWFuYWdlQmFnID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSA9PT0gJ2JhZyc7XHJcbiAgcHJvdGVjdGVkIGNhbk9wZW4gPSAoKTogYm9vbGVhbiA9PiAodGhpcy5nZXRTaW5nbGVTZWxlY3Rpb24oKT8uZG9jdW1lbnRJZD8ubGVuZ3RoID8/IDApID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSAhPT0gJ2JhZycgJiYgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhblNlbmRCeUVtYWlsID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhbkFkZFRvQXJjaGl2ZSA9ICgpOiBib29sZWFuID0+IHRoaXMuY2FuVXNlQXJjaGl2ZSgpICYmIHRoaXMuY2FuU2VuZEJ5RW1haWwoKTtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9DYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5BZGQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gOSAmJiBuLm1vZGVsICE9PSAyICYmIG4ubW9kZWwgIT09IDEwICYmIG4ubW9kZWwgIT09IDIwKSB7XHJcbiAgICAgICAgY2FuQWRkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjYW5BZGQgJiYgdGhpcy5jYW5Vc2VDYWxlbmRhcigpICYmICF0aGlzLmlzUmVmZXJlbmNlKCk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBjYW5FeHBvcnRDYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5FeHBvcnQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gMTAgJiYgbi5tb2RlbCAhPT0gMjApIHtcclxuICAgICAgICBjYW5FeHBvcnQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNhbkV4cG9ydCAmJiB0aGlzLmNhblVzZUNhbGVuZGFyKCkgJiYgIXRoaXMuaXNSZWZlcmVuY2UoKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIGNhblNhdmVBc1BkZiA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIGl0ZW0gIT09IG51bGwgJiYgaXRlbT8ubW9kZWwgIT09IENsaXBwZXJNb2RlbC5Db29yZGluYW1lbnRvO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNSZWFkID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldE11bHRpcGxlU2VsZWN0aW9uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgKGl0ZW1zLmxlbmd0aCA+IDEgfHwgKGl0ZW1zLmxlbmd0aCA9PT0gMSAmJiBpdGVtc1swXS5pc1JlYWQgIT09IHRydWUgJiZcclxuICAgICAgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUoaXRlbXNbMF0ubW9kZWwpKSk7XHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNVbnJlYWQgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTtcclxuICAgIHJldHVybiB0aGlzLmlzUmVhZGFibGUoKSAmJiAoaXRlbXMubGVuZ3RoID4gMSB8fCAoaXRlbXMubGVuZ3RoID09PSAxICYmIGl0ZW1zWzBdLmlzUmVhZCA9PT0gdHJ1ZSAmJlxyXG4gICAgICBDbGlwcGVyVXRpbHMuaXNDbGlwcGVyTW9kZWxSZWFkYWJsZShpdGVtc1swXS5tb2RlbCkpKTtcclxuICB9O1xyXG4gIHByb3RlY3RlZCBjYW5BY2Nlc3NSUyA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50KCk/LlJTX2VuYWJsZWQoaXRlbXMpID09PSB0cnVlICYmICF0aGlzLnVzZVNlbGVjdGlvbnMoKTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvblNvdXJjZSgpID09PSBcInNlbGVjdGlvblwiKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uY2hhbmdlZFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYSBzaW5nbGUgc2VsZWN0aW9uXHJcbiAgICogQHJldHVybnMgdGhlIHNpbmdsZSBzZWxlY3Rpb24gb3IgbnVsbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRTaW5nbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mbyB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuaXRlbSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW0oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3Rpb24oKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKClbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBtdWx0aXBsZSBzZWxlY3Rpb25cclxuICAgKiBAcmV0dXJucyA6IHRoZSBtdWx0aXBsZSBzZWxlY3Rpb24gb3IgYXJyYXkgZW1wdHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgcmV0dXJuIFtpdGVtXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGlvbigpLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogU2hvdyBhbmQgaGlkZSBzdWIgbWVudXNcclxuICAgKiBAcGFyYW0gdHJpZ2dlcjogdGhlIHRyaWdnZXIgdG8gdXNlIG9yIG51bGwgdG8gZGVzZWxlY3RcclxuICAqL1xyXG4gIHByb3RlY3RlZCBzaG93U3ViTWVudSh0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlciB8IG51bGwgPSBudWxsKSB7XHJcbiAgICB0aGlzLmFsbE1lbnVUcmlnZ2Vycy5mb3JFYWNoKG1lbnVUcmlnZ2VyID0+IHtcclxuICAgICAgY29uc3QgbWVudSA9IG1lbnVUcmlnZ2VyKCk7XHJcbiAgICAgIGlmIChtZW51KSB7XHJcbiAgICAgICAgaWYgKG1lbnUubWVudU9wZW4pIHtcclxuICAgICAgICAgIG1lbnUuY2xvc2VNZW51KCk7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0U3ViTWVudShtZW51KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdHJpZ2dlcj8ub3Blbk1lbnUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHN1YiBtZW51XHJcbiAgICogQHBhcmFtIHRyaWdnZXI6IHRoZSB0cmlnZ2VyIHRvIHVzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZXNldFN1Yk1lbnUodHJpZ2dlcjogTWF0TWVudVRyaWdnZXIpIHtcclxuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRyaWdnZXJbJ19lbGVtZW50J10ubmF0aXZlRWxlbWVudCwgJ2Nkay1mb2N1c2VkJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDbGFzcyh0cmlnZ2VyWydfZWxlbWVudCddLm5hdGl2ZUVsZW1lbnQsICdjZGstcHJvZ3JhbS1mb2N1c2VkJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjdXJyZW50IGl0ZW0gb3Igc2VsZWN0aW9uIGlzIHJlYWRcclxuICAgKiBAcmV0dXJucyAwIGlmIG5vdCByZWFkLCAxIGlmIHJlYWQsIDIgaWYgdW5rbm93blxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc1JlYWQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkgcmV0dXJuIHRoaXMuaXRlbSgpPy5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIGlmICh0aGlzLnBhcmVudCgpPy5oYXNBbnlTZWxlY3Rpb24oKSkgcmV0dXJuIDI7XHJcbiAgICBjb25zdCBmaXJzdFNlbGVjdGlvbiA9IHRoaXMucGFyZW50KCk/LmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgaWYgKGZpcnN0U2VsZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBmaXJzdFNlbGVjdGlvbi5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBpcyByZWFkIGZsYWcgdmFsdWVcclxuICAgKiBAcGFyYW0gdmFsdWU6IHRydWUgb3IgZmFsc2VcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2V0UmVhZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5wYXJlbnQoKT8uc2V0UmVhZCh2YWx1ZSwgdGhpcy5pdGVtKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBhIGRvY3VtZW50XHJcbiAgICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb3BlbihpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvKSB7XHJcbiAgICBpZiAoaXRlbS5kb2N1bWVudElkKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/Lm9wZW4oaXRlbS5kb2N1bWVudElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBPcGVuIGRvY3VtZW50IHJlZmVyZW5jZXNcclxuICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICogQHBhcmFtIG1vZGU6IHRoZSBtb2RlXHJcbiAqL1xyXG4gIHByb3RlY3RlZCBvcGVuUmVmZXJlbmNlcyhpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvLCBtb2RlOiBudW1iZXIpIHtcclxuICAgIGlmIChpdGVtLmRvY3VtZW50SWQpIHtcclxuICAgICAgdGhpcy5wYXJlbnQoKT8ub3BlblJlZmVyZW5jZXMoaXRlbS5kb2N1bWVudElkLCBtb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIkBpZiAoY2FuRGVzZWxlY3RBbGwoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLnNlbGVjdGlvbj8uY2xlYXIoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rlc2VsZXppb25hIHR1dHRpJ1wiXHJcbiAgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+RGVzZWxlemlvbmEgdHV0dGlcclxuPC9idXR0b24+XHJcbn0gQGVsc2UgaWYgKGNhbk1hbmFnZUJhZygpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkub3BlbkJhZygpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR2VzdGlzY2kgZG9jdW1lbnRpIGRpIGxhdm9ybydcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5HZXN0aXNjaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpIGRvY3VtZW50bydcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICAoY2xpY2spPVwib3BlbihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICA8bWF0LWljb24+PC9tYXQtaWNvbj5BcHJpXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FnZ2l1bmdpIGFpIGRvY3VtZW50aSBkaSBsYXZvcm8nXCJcclxuICAoY2xpY2spPVwicGFyZW50KCkuYWRkSXRlbXNUb0JhZyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5BZ2dpdW5naSBhaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZihjYW5QcmludCgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkucHJpbnQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1N0YW1wYSBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+cHJpbnQ8L21hdC1pY29uPlxyXG4gICAgICA8ZGl2PlN0YW1wYTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjZW50IHNtYWxsIGJvbGRcIj5DVFJMK1A8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9idXR0b24+XHJcbn1cclxuQGlmKGNhbkZpbmQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmZpbmQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Ryb3ZhIG5lbCBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+ZmluZF9pbl9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgPGRpdj5Ucm92YSBuZWwgZG9jdW1lbnRvPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NlbnQgc21hbGwgYm9sZFwiPkNUUkwrRjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhblNlbmRCeUVtYWlsKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKS5zZW5kSXRlbXNUbyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCInSW52aWEgZG9jdW1lbnRvIHBlciBlbWFpbCdcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPkludmlhIHBlciBlbWFpbFxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbkFkZFRvQXJjaGl2ZSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkuYWRkVG9BcmNoaXZlKGdldE11bHRpcGxlU2VsZWN0aW9uKCkpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQXJjaGl2aWEnXCI+XHJcbiAgPG1hdC1pY29uPmFjY291bnRfdHJlZTwvbWF0LWljb24+QXJjaGl2aWFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5TYXZlQXNQZGYoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydFBkZihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTYWx2YSBkb2N1bWVudG8gaW4gcGRmJ1wiPlxyXG4gIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+U2FsdmEgaW4gcGRmXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidHZW5lcmEgdW4gbGluayBwZXJtYW5lbnRlIGRhIHV0aWxpenphcmUgZXN0ZXJuYW1lbnRlJ1wiXHJcbiAgKGNsaWNrKT1cInBhcmVudCgpLnNob3dMaW5rKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+bGluazwvbWF0LWljb24+TGlua1xyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbk9wZW4oKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQ29waWEgbWV0YWRhdGkgbmVnbGkgYXBwdW50aSdcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5jb3B5TWV0YWRhdGFUb0NsaXBib2FyZChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+Q29waWEgbWV0YWRhdGlcclxuPC9idXR0b24+XHJcbn1cclxuQGlmICghaXNSZWZlcmVuY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJsaW5rc01lbnVcIiAjbGlua3NNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5jb21wYXJlX2Fycm93czwvbWF0LWljb24+Q29sbGVnYW1lbnRpXHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI2xpbmtzTWVudT1cIm1hdE1lbnVcIj5cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgaSBkb2N1bWVudGkgcmljaGlhbWF0aSBkYSBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMSlcIj5cclxuICAgIERvY3VtZW50aSByaWNoaWFtYXRpXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlKCkgJiYgY2FuT3BlbigpKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSBpIGRvY3VtZW50aSBjaGUgcmljaGlhbWFubyBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMilcIj5cclxuICAgIERvY3VtZW50aSBjaGUgcmljaGlhbWFub1xyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGlzTGF3SW5Gb3JjZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgZ2l1cmlzcHJ1ZGVuemEnXCIgKGNsaWNrKT1cIm9wZW5SZWZlcmVuY2VzKGdldFNpbmdsZVNlbGVjdGlvbigpLCA0KVwiPlxyXG4gICAgSnVyaXNcclxuICA8L2J1dHRvbj5cclxuICB9XHJcbiAgQGlmICghaXNSZWZlcmVuY2UoKSAmJiBpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIG1vZGlmaWNoZSBub3JtYXRpdmUnXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMylcIj5cclxuICAgIE1vZGlmaWNoZVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufVxyXG5AaWYgKGNhbkFkZFRvQ2FsZW5kYXIoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQWdnaXVuZ2kgYWwgY2FsZW5kYXJpbydcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5hZGRUb0NhbGVuZGFyKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybTwvbWF0LWljb24+IENyZWEgc2NhZGVuemFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5FeHBvcnRDYWxlbmRhcigpKSB7XHJcbkBpZih1c2VTZWxlY3Rpb25zKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0ltcG9ydGEgaW4gT3VsdG9vayAoaUNhbGFuZGFyKSdcIiAoY2xpY2spPVwicGFyZW50KCkuZXhwb3J0UmVzdWx0cygyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufSBAZWxzZSBpZiAoaXRlbSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidJbXBvcnRhIGluIE91bHRvb2sgKGlDYWxhbmRhciknXCIgKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydEl0ZW1zKFtpdGVtKCkuZG9jdW1lbnRJZF0sIG51bGwsICAyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufVxyXG59XHJcbkBpZiAoY2FuU2V0QXNVbnJlYWQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInU2VnbmEgY29tZSBkYSBsZWdnZXJlJ1wiIChjbGljayk9XCJzZXRSZWFkKGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+b3V0bGluZWRfZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBkYSBsZWdnZXJlXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuU2V0QXNSZWFkKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlZ25hIGNvbWUgZ2nDoCBsZXR0bydcIiAoY2xpY2spPVwic2V0UmVhZCh0cnVlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+ZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBnacOgIGxldHRvXHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5cclxuQGlmIChpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSByZXBvcnQgdXRpbGl6em8nXCIgKGNsaWNrKT1cInBhcmVudCgpLnJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+YXNzaWdubWVudDwvbWF0LWljb24+UmVwb3J0XHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5AaWYgKGNhbkFjY2Vzc1JTKCkpIHtcclxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBtYXRUb29sdGlwPVwiUmVnaXN0cm8gJiBTY2FkZW56YXJpb1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wemlvbmkgZGkgUmVnaXN0cm8gJiBTY2FkZW56YXJpbydcIlxyXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJyc01lbnVcIiAjcnNNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUocnNNZW51VHJpZ2dlcilcIlxyXG4gIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShyc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybV9vbjwvbWF0LWljb24+XHJcbiAgUmVnaXN0cm8gZSBzY2FkZW56YXJpb1xyXG48L2J1dHRvbj5cclxuPG1hdC1tZW51ICNyc01lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ051b3ZhIGxlZ2dlJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdMYXcoZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGxlZ2dlXHJcbiAgPC9idXR0b24+XHJcbiAgQGlmIChjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTnVvdmEgYXR0aXZpdMOgJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdBY3Rpdml0eShnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGF0dGl2aXTDoFxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnQgdXRpbGl6em8gbm9ybWEnXCJcclxuICAgIChjbGljayk9XCJwYXJlbnQoKS5SU191c2FnZVJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIFJlcG9ydCB1dGlsaXp6byBub3JtYVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufSJdfQ==
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY2xpcHBlci51aS91aS9kb2N1bWVudC1tZW51L2RvY3VtZW50LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvZG9jdW1lbnQtbWVudS9kb2N1bWVudC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUF1QixZQUFZLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBWXhILE1BQU0sT0FBTyw0QkFBNEI7SUFUekM7UUFXVSxrQkFBYSxHQUF1QyxTQUFTLENBQWlCLGVBQWUsQ0FBQyxDQUFDO1FBQy9GLHFCQUFnQixHQUF1QyxTQUFTLENBQWlCLGtCQUFrQixDQUFDLENBQUM7UUFDckcsb0JBQWUsR0FBeUM7WUFDOUQsSUFBSSxDQUFDLGdCQUFnQjtZQUNy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QUM7SUFFRDs7O09BR0c7SUFDTyxJQUFJLENBQUMsSUFBeUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztLQUlDO0lBQ1MsY0FBYyxDQUFDLElBQXlCLEVBQUUsSUFBWTtRQUM5RCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7OEdBaE1VLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHl5RENuQnpDLHc2TkFxS0MseUREckpXLFVBQVUsdTZFQUFFLGFBQWEsNnZCQUFFLGFBQWEsbUxBQUUsZ0JBQWdCLGtJQUFFLGdCQUFnQjs7MkZBRzNFLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiwgU2lnbmFsLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgRmxleE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvLCBDbGlwcGVyTW9kZWwsIENsaXBwZXJTZXJ2aWNlLCBDbGlwcGVyVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NsaXBwZXIuY29tbW9uJztcclxuaW1wb3J0IHsgQ2xpcHBlclNlYXJjaFJlc3VsdE1hbmFnZXIgfSBmcm9tICcuLi9zZWFyY2gtcmVzdWx0LW1hbmFnZXIvc2VhcmNoLXJlc3VsdC1tYW5hZ2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2xpcHBlci1kb2N1bWVudC1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnQtbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW0ZsZXhNb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpcHBlckRvY3VtZW50TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSByc01lbnVUcmlnZ2VyOiBTaWduYWw8TWF0TWVudVRyaWdnZXIgfCB1bmRlZmluZWQ+ID0gdmlld0NoaWxkPE1hdE1lbnVUcmlnZ2VyPigncnNNZW51VHJpZ2dlcicpO1xyXG4gIHByaXZhdGUgbGlua3NNZW51VHJpZ2dlcjogU2lnbmFsPE1hdE1lbnVUcmlnZ2VyIHwgdW5kZWZpbmVkPiA9IHZpZXdDaGlsZDxNYXRNZW51VHJpZ2dlcj4oJ2xpbmtzTWVudVRyaWdnZXInKTtcclxuICBwcml2YXRlIGFsbE1lbnVUcmlnZ2VyczogU2lnbmFsPE1hdE1lbnVUcmlnZ2VyIHwgdW5kZWZpbmVkPltdID0gW1xyXG4gICAgdGhpcy5saW5rc01lbnVUcmlnZ2VyLFxyXG4gICAgdGhpcy5yc01lbnVUcmlnZ2VyXHJcbiAgXVxyXG4gIHByaXZhdGUgcmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSBjbGlwcGVyU2VydmljZSA9IGluamVjdChDbGlwcGVyU2VydmljZSk7XHJcbiAgdXNlU2VsZWN0aW9ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBzZWxlY3Rpb25Tb3VyY2UgPSBpbnB1dDwnYmFnJyB8ICdzZWxlY3Rpb24nIHwgJ25vbmUnIHwgbnVsbD4oJ3NlbGVjdGlvbicpO1xyXG4gIHByb3RlY3RlZCBzZWxlY3Rpb24gPSAoKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdID0+IHtcclxuICAgIGlmICh0aGlzLnVzZVNlbGVjdGlvbnMoKSkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuc2VsZWN0aW9uU291cmNlKCkpIHtcclxuICAgICAgICBjYXNlICdiYWcnOlxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50KCk/LmNsaXBwZXJTZXJ2aWNlLmJhZygpID8/IFtdO1xyXG4gICAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5hbGwgPz8gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9O1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGlzUmVmZXJlbmNlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGlzUmVhZGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBpc0xhd0luRm9yY2UgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuUHJpbnQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgY2FuRmluZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VDYWxlbmRhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBjYW5Vc2VBcmNoaXZlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHByb3RlY3RlZCBjYW5EZXNlbGVjdEFsbCA9ICgpOiBib29sZWFuID0+IHRoaXMuc2VsZWN0aW9uU291cmNlKCkgPT09ICdzZWxlY3Rpb24nICYmIHRoaXMuc2VsZWN0aW9uKCkubGVuZ3RoID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuTWFuYWdlQmFnID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSA9PT0gJ2JhZyc7XHJcbiAgcHJvdGVjdGVkIGNhbk9wZW4gPSAoKTogYm9vbGVhbiA9PiAodGhpcy5nZXRTaW5nbGVTZWxlY3Rpb24oKT8uZG9jdW1lbnRJZD8ubGVuZ3RoID8/IDApID4gMDtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5zZWxlY3Rpb25Tb3VyY2UoKSAhPT0gJ2JhZycgJiYgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhblNlbmRCeUVtYWlsID0gKCk6IGJvb2xlYW4gPT4gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpLmxlbmd0aCA+IDA7XHJcbiAgcHJvdGVjdGVkIGNhbkFkZFRvQXJjaGl2ZSA9ICgpOiBib29sZWFuID0+IHRoaXMuY2FuVXNlQXJjaGl2ZSgpICYmIHRoaXMuY2FuU2VuZEJ5RW1haWwoKTtcclxuICBwcm90ZWN0ZWQgY2FuQWRkVG9DYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5BZGQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gOSAmJiBuLm1vZGVsICE9PSAyICYmIG4ubW9kZWwgIT09IDEwICYmIG4ubW9kZWwgIT09IDIwKSB7XHJcbiAgICAgICAgY2FuQWRkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjYW5BZGQgJiYgdGhpcy5jYW5Vc2VDYWxlbmRhcigpICYmICF0aGlzLmlzUmVmZXJlbmNlKCk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBjYW5FeHBvcnRDYWxlbmRhciA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGxldCBjYW5FeHBvcnQgPSB0cnVlO1xyXG4gICAgdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpPy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBpZiAobi5tb2RlbCAhPT0gMTAgJiYgbi5tb2RlbCAhPT0gMjApIHtcclxuICAgICAgICBjYW5FeHBvcnQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNhbkV4cG9ydCAmJiB0aGlzLmNhblVzZUNhbGVuZGFyKCkgJiYgIXRoaXMuaXNSZWZlcmVuY2UoKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIGNhblNhdmVBc1BkZiA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIGl0ZW0gIT09IG51bGwgJiYgaXRlbT8ubW9kZWwgIT09IENsaXBwZXJNb2RlbC5Db29yZGluYW1lbnRvO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNSZWFkID0gKCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldE11bHRpcGxlU2VsZWN0aW9uKCk7XHJcbiAgICByZXR1cm4gdGhpcy5pc1JlYWRhYmxlKCkgJiYgKGl0ZW1zLmxlbmd0aCA+IDEgfHwgKGl0ZW1zLmxlbmd0aCA9PT0gMSAmJiBpdGVtc1swXS5pc1JlYWQgIT09IHRydWUgJiZcclxuICAgICAgQ2xpcHBlclV0aWxzLmlzQ2xpcHBlck1vZGVsUmVhZGFibGUoaXRlbXNbMF0ubW9kZWwpKSk7XHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgY2FuU2V0QXNVbnJlYWQgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTtcclxuICAgIHJldHVybiB0aGlzLmlzUmVhZGFibGUoKSAmJiAoaXRlbXMubGVuZ3RoID4gMSB8fCAoaXRlbXMubGVuZ3RoID09PSAxICYmIGl0ZW1zWzBdLmlzUmVhZCA9PT0gdHJ1ZSAmJlxyXG4gICAgICBDbGlwcGVyVXRpbHMuaXNDbGlwcGVyTW9kZWxSZWFkYWJsZShpdGVtc1swXS5tb2RlbCkpKTtcclxuICB9O1xyXG4gIHByb3RlY3RlZCBjYW5BY2Nlc3NSUyA9ICgpOiBib29sZWFuID0+IHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRNdWx0aXBsZVNlbGVjdGlvbigpO1xyXG4gICAgcmV0dXJuIHRoaXMuY2xpcHBlclNlcnZpY2Uuc3VwcG9ydHNSUygpICYmIHRoaXMucGFyZW50KCk/LlJTX2VuYWJsZWQoaXRlbXMpID09PSB0cnVlICYmICF0aGlzLnVzZVNlbGVjdGlvbnMoKTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvblNvdXJjZSgpID09PSBcInNlbGVjdGlvblwiKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uY2hhbmdlZFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYSBzaW5nbGUgc2VsZWN0aW9uXHJcbiAgICogQHJldHVybnMgdGhlIHNpbmdsZSBzZWxlY3Rpb24gb3IgbnVsbFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRTaW5nbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mbyB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuaXRlbSgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLml0ZW0oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3Rpb24oKS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKClbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBtdWx0aXBsZSBzZWxlY3Rpb25cclxuICAgKiBAcmV0dXJucyA6IHRoZSBtdWx0aXBsZSBzZWxlY3Rpb24gb3IgYXJyYXkgZW1wdHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKTogQ2xpcHBlckRvY3VtZW50SW5mb1tdIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgcmV0dXJuIFtpdGVtXTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGlvbigpLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogU2hvdyBhbmQgaGlkZSBzdWIgbWVudXNcclxuICAgKiBAcGFyYW0gdHJpZ2dlcjogdGhlIHRyaWdnZXIgdG8gdXNlIG9yIG51bGwgdG8gZGVzZWxlY3RcclxuICAqL1xyXG4gIHByb3RlY3RlZCBzaG93U3ViTWVudSh0cmlnZ2VyOiBNYXRNZW51VHJpZ2dlciB8IG51bGwgPSBudWxsKSB7XHJcbiAgICB0aGlzLmFsbE1lbnVUcmlnZ2Vycy5mb3JFYWNoKG1lbnVUcmlnZ2VyID0+IHtcclxuICAgICAgY29uc3QgbWVudSA9IG1lbnVUcmlnZ2VyKCk7XHJcbiAgICAgIGlmIChtZW51KSB7XHJcbiAgICAgICAgaWYgKG1lbnUubWVudU9wZW4pIHtcclxuICAgICAgICAgIG1lbnUuY2xvc2VNZW51KCk7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0U3ViTWVudShtZW51KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdHJpZ2dlcj8ub3Blbk1lbnUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHN1YiBtZW51XHJcbiAgICogQHBhcmFtIHRyaWdnZXI6IHRoZSB0cmlnZ2VyIHRvIHVzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZXNldFN1Yk1lbnUodHJpZ2dlcjogTWF0TWVudVRyaWdnZXIpIHtcclxuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRyaWdnZXJbJ19lbGVtZW50J10ubmF0aXZlRWxlbWVudCwgJ2Nkay1mb2N1c2VkJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDbGFzcyh0cmlnZ2VyWydfZWxlbWVudCddLm5hdGl2ZUVsZW1lbnQsICdjZGstcHJvZ3JhbS1mb2N1c2VkJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiBjdXJyZW50IGl0ZW0gb3Igc2VsZWN0aW9uIGlzIHJlYWRcclxuICAgKiBAcmV0dXJucyAwIGlmIG5vdCByZWFkLCAxIGlmIHJlYWQsIDIgaWYgdW5rbm93blxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc1JlYWQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLml0ZW0oKSkgcmV0dXJuIHRoaXMuaXRlbSgpPy5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIGlmICh0aGlzLnBhcmVudCgpPy5oYXNBbnlTZWxlY3Rpb24oKSkgcmV0dXJuIDI7XHJcbiAgICBjb25zdCBmaXJzdFNlbGVjdGlvbiA9IHRoaXMucGFyZW50KCk/LmdldFNpbmdsZVNlbGVjdGlvbigpO1xyXG4gICAgaWYgKGZpcnN0U2VsZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiBmaXJzdFNlbGVjdGlvbi5pc1JlYWQgPT09IHRydWUgPyAxIDogMDtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBpcyByZWFkIGZsYWcgdmFsdWVcclxuICAgKiBAcGFyYW0gdmFsdWU6IHRydWUgb3IgZmFsc2VcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2V0UmVhZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5wYXJlbnQoKT8uc2V0UmVhZCh2YWx1ZSwgdGhpcy5pdGVtKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBhIGRvY3VtZW50XHJcbiAgICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb3BlbihpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvKSB7XHJcbiAgICBpZiAoaXRlbS5kb2N1bWVudElkKSB7XHJcbiAgICAgIHRoaXMucGFyZW50KCk/Lm9wZW4oaXRlbS5kb2N1bWVudElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBPcGVuIGRvY3VtZW50IHJlZmVyZW5jZXNcclxuICogQHBhcmFtIGl0ZW0gOiB0aGUgaXRlbSBcclxuICogQHBhcmFtIG1vZGU6IHRoZSBtb2RlXHJcbiAqL1xyXG4gIHByb3RlY3RlZCBvcGVuUmVmZXJlbmNlcyhpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvLCBtb2RlOiBudW1iZXIpIHtcclxuICAgIGlmIChpdGVtLmRvY3VtZW50SWQpIHtcclxuICAgICAgdGhpcy5wYXJlbnQoKT8ub3BlblJlZmVyZW5jZXMoaXRlbS5kb2N1bWVudElkLCBtb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIkBpZiAoY2FuRGVzZWxlY3RBbGwoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLnNlbGVjdGlvbj8uY2xlYXIoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rlc2VsZXppb25hIHR1dHRpJ1wiXHJcbiAgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+RGVzZWxlemlvbmEgdHV0dGlcclxuPC9idXR0b24+XHJcbn0gQGVsc2UgaWYgKGNhbk1hbmFnZUJhZygpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkub3BlbkJhZygpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR2VzdGlzY2kgZG9jdW1lbnRpIGRpIGxhdm9ybydcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5HZXN0aXNjaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidBcHJpIGRvY3VtZW50bydcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICAoY2xpY2spPVwib3BlbihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICA8bWF0LWljb24+PC9tYXQtaWNvbj5BcHJpXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuQWRkVG9Xb3JraW5nRG9jdW1lbnRzKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FnZ2l1bmdpIGFpIGRvY3VtZW50aSBkaSBsYXZvcm8nXCJcclxuICAoY2xpY2spPVwicGFyZW50KCkuYWRkSXRlbXNUb0JhZyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+d29ya19vdXRsaW5lPC9tYXQtaWNvbj5BZ2dpdW5naSBhaSBkb2N1bWVudGkgZGkgbGF2b3JvXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZihjYW5QcmludCgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkucHJpbnQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1N0YW1wYSBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+cHJpbnQ8L21hdC1pY29uPlxyXG4gICAgICA8ZGl2PlN0YW1wYTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjZW50IHNtYWxsIGJvbGRcIj5DVFJMK1A8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9idXR0b24+XHJcbn1cclxuQGlmKGNhbkZpbmQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmZpbmQoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Ryb3ZhIG5lbCBkb2N1bWVudG8nXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUoKVwiPlxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjIwcHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsPlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeEZpbGwgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiPlxyXG4gICAgICA8bWF0LWljb24+ZmluZF9pbl9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgPGRpdj5Ucm92YSBuZWwgZG9jdW1lbnRvPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2NlbnQgc21hbGwgYm9sZFwiPkNUUkwrRjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhblNlbmRCeUVtYWlsKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwYXJlbnQoKS5zZW5kSXRlbXNUbyhnZXRNdWx0aXBsZVNlbGVjdGlvbigpKVwiXHJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCInSW52aWEgZG9jdW1lbnRvIHBlciBlbWFpbCdcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPkludmlhIHBlciBlbWFpbFxyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbkFkZFRvQXJjaGl2ZSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGFyZW50KCkuYWRkVG9BcmNoaXZlKGdldE11bHRpcGxlU2VsZWN0aW9uKCkpXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQXJjaGl2aWEnXCI+XHJcbiAgPG1hdC1pY29uPmFjY291bnRfdHJlZTwvbWF0LWljb24+QXJjaGl2aWFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5TYXZlQXNQZGYoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydFBkZihnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCJcclxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTYWx2YSBkb2N1bWVudG8gaW4gcGRmJ1wiPlxyXG4gIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+U2FsdmEgaW4gcGRmXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuT3BlbigpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidHZW5lcmEgdW4gbGluayBwZXJtYW5lbnRlIGRhIHV0aWxpenphcmUgZXN0ZXJuYW1lbnRlJ1wiXHJcbiAgKGNsaWNrKT1cInBhcmVudCgpLnNob3dMaW5rKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+bGluazwvbWF0LWljb24+TGlua1xyXG48L2J1dHRvbj5cclxufVxyXG5AaWYgKGNhbk9wZW4oKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQ29waWEgbWV0YWRhdGkgbmVnbGkgYXBwdW50aSdcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5jb3B5TWV0YWRhdGFUb0NsaXBib2FyZChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIiAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudSgpXCI+XHJcbiAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+Q29waWEgbWV0YWRhdGlcclxuPC9idXR0b24+XHJcbn1cclxuQGlmICghaXNSZWZlcmVuY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJsaW5rc01lbnVcIiAjbGlua3NNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAobW91c2VlbnRlcik9XCJzaG93U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShsaW5rc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5jb21wYXJlX2Fycm93czwvbWF0LWljb24+Q29sbGVnYW1lbnRpXHJcbjwvYnV0dG9uPlxyXG48bWF0LW1lbnUgI2xpbmtzTWVudT1cIm1hdE1lbnVcIj5cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgaSBkb2N1bWVudGkgcmljaGlhbWF0aSBkYSBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMSlcIj5cclxuICAgIERvY3VtZW50aSByaWNoaWFtYXRpXHJcbiAgPC9idXR0b24+XHJcbiAgfVxyXG4gIEBpZiAoIWlzUmVmZXJlbmNlKCkgJiYgY2FuT3BlbigpKSB7XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSBpIGRvY3VtZW50aSBjaGUgcmljaGlhbWFubyBxdWVzdG8nXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMilcIj5cclxuICAgIERvY3VtZW50aSBjaGUgcmljaGlhbWFub1xyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKCFpc1JlZmVyZW5jZSgpICYmIGlzTGF3SW5Gb3JjZSgpICYmIGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidNb3N0cmEgZ2l1cmlzcHJ1ZGVuemEnXCIgKGNsaWNrKT1cIm9wZW5SZWZlcmVuY2VzKGdldFNpbmdsZVNlbGVjdGlvbigpLCA0KVwiPlxyXG4gICAgSnVyaXNcclxuICA8L2J1dHRvbj5cclxuICB9XHJcbiAgQGlmICghaXNSZWZlcmVuY2UoKSAmJiBpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTW9zdHJhIG1vZGlmaWNoZSBub3JtYXRpdmUnXCJcclxuICAgIChjbGljayk9XCJvcGVuUmVmZXJlbmNlcyhnZXRTaW5nbGVTZWxlY3Rpb24oKSwgMylcIj5cclxuICAgIE1vZGlmaWNoZVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufVxyXG5AaWYgKGNhbkFkZFRvQ2FsZW5kYXIoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInQWdnaXVuZ2kgYWwgY2FsZW5kYXJpbydcIlxyXG4gIChjbGljayk9XCJwYXJlbnQoKS5hZGRUb0NhbGVuZGFyKGdldFNpbmdsZVNlbGVjdGlvbigpKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybTwvbWF0LWljb24+IENyZWEgc2NhZGVuemFcclxuPC9idXR0b24+XHJcbn1cclxuQGlmIChjYW5FeHBvcnRDYWxlbmRhcigpKSB7XHJcbkBpZih1c2VTZWxlY3Rpb25zKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0ltcG9ydGEgaW4gT3VsdG9vayAoaUNhbGFuZGFyKSdcIiAoY2xpY2spPVwicGFyZW50KCkuZXhwb3J0UmVzdWx0cygyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufSBAZWxzZSBpZiAoaXRlbSgpKSB7XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidJbXBvcnRhIGluIE91bHRvb2sgKGlDYWxhbmRhciknXCIgKGNsaWNrKT1cInBhcmVudCgpLmV4cG9ydEl0ZW1zKFtpdGVtKCkuZG9jdW1lbnRJZF0sIG51bGwsICAyKVwiPlxyXG4gIDxtYXQtaWNvbj5tYWlsX291dGxpbmU8L21hdC1pY29uPkltcG9ydGEgaW4gT3V0bG9vayAoaUNhbGVuZGFyKVxyXG48L2J1dHRvbj5cclxufVxyXG59XHJcbkBpZiAoY2FuU2V0QXNVbnJlYWQoKSkge1xyXG48YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInU2VnbmEgY29tZSBkYSBsZWdnZXJlJ1wiIChjbGljayk9XCJzZXRSZWFkKGZhbHNlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+b3V0bGluZWRfZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBkYSBsZWdnZXJlXHJcbjwvYnV0dG9uPlxyXG59XHJcbkBpZiAoY2FuU2V0QXNSZWFkKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlZ25hIGNvbWUgZ2nDoCBsZXR0bydcIiAoY2xpY2spPVwic2V0UmVhZCh0cnVlKVwiIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+ZmxhZzwvbWF0LWljb24+U2VnbmEgY29tZSBnacOgIGxldHRvXHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5cclxuQGlmIChpc0xhd0luRm9yY2UoKSAmJiBjYW5PcGVuKCkpIHtcclxuPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01vc3RyYSByZXBvcnQgdXRpbGl6em8nXCIgKGNsaWNrKT1cInBhcmVudCgpLnJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIlxyXG4gIChtb3VzZWVudGVyKT1cInNob3dTdWJNZW51KClcIj5cclxuICA8bWF0LWljb24+YXNzaWdubWVudDwvbWF0LWljb24+UmVwb3J0XHJcbjwvYnV0dG9uPlxyXG59XHJcblxyXG5AaWYgKGNhbkFjY2Vzc1JTKCkpIHtcclxuPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbjxidXR0b24gbWF0LW1lbnUtaXRlbSBtYXRUb29sdGlwPVwiUmVnaXN0cm8gJiBTY2FkZW56YXJpb1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09wemlvbmkgZGkgUmVnaXN0cm8gJiBTY2FkZW56YXJpbydcIlxyXG4gIFttYXRNZW51VHJpZ2dlckZvcl09XCJyc01lbnVcIiAjcnNNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgKG1vdXNlZW50ZXIpPVwic2hvd1N1Yk1lbnUocnNNZW51VHJpZ2dlcilcIlxyXG4gIChtb3VzZWxlYXZlKT1cInJlc2V0U3ViTWVudShyc01lbnVUcmlnZ2VyKVwiPlxyXG4gIDxtYXQtaWNvbj5hbGFybV9vbjwvbWF0LWljb24+XHJcbiAgUmVnaXN0cm8gZSBzY2FkZW56YXJpb1xyXG48L2J1dHRvbj5cclxuPG1hdC1tZW51ICNyc01lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ051b3ZhIGxlZ2dlJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdMYXcoZ2V0TXVsdGlwbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGxlZ2dlXHJcbiAgPC9idXR0b24+XHJcbiAgQGlmIChjYW5PcGVuKCkpIHtcclxuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInTnVvdmEgYXR0aXZpdMOgJ1wiIChjbGljayk9XCJwYXJlbnQoKS5SU19uZXdBY3Rpdml0eShnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIE51b3ZhIGF0dGl2aXTDoFxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuICBAaWYgKGNhbk9wZW4oKSkge1xyXG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnQgdXRpbGl6em8gbm9ybWEnXCJcclxuICAgIChjbGljayk9XCJwYXJlbnQoKS5SU191c2FnZVJlcG9ydChnZXRTaW5nbGVTZWxlY3Rpb24oKSlcIj5cclxuICAgIFJlcG9ydCB1dGlsaXp6byBub3JtYVxyXG4gIDwvYnV0dG9uPlxyXG4gIH1cclxuPC9tYXQtbWVudT5cclxufSJdfQ==
|
|
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
106
106
|
type: ViewChild,
|
|
107
107
|
args: ['contextMenuTrigger']
|
|
108
108
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1yZXN1bHQtaXRlbS9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLXJlc3VsdC1pdGVtL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBVyxhQUFhLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUF1QixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0csT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBSTFD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QUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsVUFBVTtxQkFDWDs4QkFJZ0Msa0JBQWtCO3NCQUFsRCxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvLCBDbGlwcGVyTWVzc2FnZXMsIENsaXBwZXJNb2RlbCB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24nO1xyXG5pbXBvcnQgeyBCcm9hZGNhc3RTZXJ2aWNlLCBGb3JtYXRQaXBlLCBTY3JlZW5TZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbGlwcGVyU2VhcmNoUmVzdWx0TWFuYWdlciB9IGZyb20gJy4uL3NlYXJjaC1yZXN1bHQtbWFuYWdlci9zZWFyY2gtcmVzdWx0LW1hbmFnZXInO1xyXG5cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGUge1xyXG4gIExpc3QgPSAxLFxyXG4gIFRpbGUgPSAyXHJcbn1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzZWxlY3RvcjogJ2NsaXBwZXItc2VhcmNoLXJlc3VsdC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBGb3JtYXRQaXBlXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnVUcmlnZ2VyJykgY29udGV4dE1lbnVUcmlnZ2VyITogTWF0TWVudVRyaWdnZXI7XHJcbiAgcHJvdGVjdGVkIHVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcm90ZWN0ZWQgc2NyZWVuU2VydmljZSA9IGluamVjdChTY3JlZW5TZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgYnJvYWRjYXN0U2VydmljZSA9IGluamVjdChCcm9hZGNhc3RTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHBhcmVudCA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJTZWFyY2hSZXN1bHRNYW5hZ2VyPigpO1xyXG4gIGl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxDbGlwcGVyRG9jdW1lbnRJbmZvPigpO1xyXG4gIGFjdGlvbnMgPSBpbnB1dC5yZXF1aXJlZDxNYXRNZW51PigpO1xyXG4gIHRpbGVOb1BpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgdGlsZVBpY3R1cmVVcmwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgaXNTZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgaXNSZWFkYWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGRpc3BsYXlNb2RlbE5hbWUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcbiAgZGlzcGxheU1vZGUgPSBpbnB1dDxDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlPihDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlLkxpc3QpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBkaXNwbGF5TW9kZXNFbnVtOiB0eXBlb2YgQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZSA9IENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGU7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVsc0VudW06IHR5cGVvZiBDbGlwcGVyTW9kZWwgPSBDbGlwcGVyTW9kZWw7XHJcbiAgcHJvdGVjdGVkIGNvbnRleHRNZW51UG9zaXRpb24gPSB7IHg6ICcwcHgnLCB5OiAnMHB4JyB9O1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uY2hhbmdlZFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIC8vIFJlYWN0IHRvIG1lc3NhZ2UgYnJvYWRjYXN0aW5nXHJcbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UuZ2V0TWVzc2FnZSgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZShtZXNzYWdlID0+IHtcclxuICAgICAgICBpZiAobWVzc2FnZS5pZCA9PT0gQ2xpcHBlck1lc3NhZ2VzLkRPQ1VNRU5UX05BVklHQVRFRCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNSZWFkYWJsZSgpICYmIHRoaXMuaXRlbSgpLmRvY3VtZW50SWQgPT09IG1lc3NhZ2UuZGF0YS5kb2N1bWVudC5kb2N1bWVudElkICYmICF0aGlzLml0ZW0oKS5pc1JlYWQpIHtcclxuICAgICAgICAgICAgdGhpcy5wYXJlbnQoKT8uc2V0UmVhZCh0cnVlLCB0aGlzLml0ZW0oKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChtZXNzYWdlLmlkID09PSBDbGlwcGVyTWVzc2FnZXMuRE9DVU1FTlRfUkVBRCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuaXNSZWFkYWJsZSgpICYmIHRoaXMuaXRlbSgpLmRvY3VtZW50SWQgPT09IG1lc3NhZ2UuZGF0YS5kb2N1bWVudC5kb2N1bWVudElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbSgpLmlzUmVhZCA9IG1lc3NhZ2UuZGF0YS52YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Db250ZXh0TWVudShldmVudDogTW91c2VFdmVudCwgaXRlbTogQ2xpcHBlckRvY3VtZW50SW5mbykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbi54ID0gZXZlbnQuY2xpZW50WCArICdweCc7XHJcbiAgICB0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueSA9IGV2ZW50LmNsaWVudFkgKyAncHgnO1xyXG4gICAgdGhpcy5jb250ZXh0TWVudVRyaWdnZXIubWVudURhdGEgPSB7IGl0ZW06IGl0ZW0gfTtcclxuICAgIHRoaXMuY29udGV4dE1lbnVUcmlnZ2VyLm9wZW5NZW51KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgY3VycmVudCBpdGVtIGlzIHNlbGVjdGVkXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBjdXJyZW50IGl0ZW0gaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzU2VsZWN0YWJsZSgpICYmIHRoaXMucGFyZW50KCk/LnNlbGVjdGlvbj8uaXNTZWxlY3RlZCh0aGlzLml0ZW0oKS5kb2N1bWVudElkKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgY3VycmVudCBpdGVtIGlzIGlzUmVhZGFibGVcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGN1cnJlbnQgaXRlbSBpcyBpc1JlYWRhYmxlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGlzUmVhZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzUmVhZGFibGUoKSAmJiB0aGlzLml0ZW0oKS5pc1JlYWQgPT09IHRydWU7XHJcbiAgfTtcclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICBAaWYgKGRpc3BsYXlNb2RlKCkgPT09IGRpc3BsYXlNb2Rlc0VudW0uTGlzdCApIHtcclxuICA8ZGl2IGNsYXNzPVwiaXRlbVwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCI2cHhcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhGaWxsXHJcbiAgICBbbmdDbGFzc109XCJ7J2l0ZW0tc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKCkgfVwiIChjb250ZXh0bWVudSk9XCJvbkNvbnRleHRNZW51KCRldmVudCwgaXRlbSgpKVwiXHJcbiAgICAobW91c2VlbnRlcik9XCJpdGVtKCkuaXNPdmVyID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cIml0ZW0oKS5pc092ZXIgPSBmYWxzZVwiPlxyXG4gICAgPGRpdiBmeEZsZXg9XCI2cHhcIiBmeEZsZXhBbGlnbj1cInN0cmV0Y2hcIiBbbmdDbGFzc109XCJwYXJlbnQoKS5nZXRJdGVtU3RhdGVDc3NDbGFzcyhpdGVtKCkpXCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwicGFyZW50KCkuZ2V0SXRlbVN0YXRlVG9vbHRpcChpdGVtKCkpXCI+PHNwYW4+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IFtmeEZsZXhdPVwiaXNTZWxlY3RhYmxlKCkgPyAnNDhweCcgOiAnMThweCdcIiBmeExheW91dEFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgIEBpZiAoaXNTZWxlY3RhYmxlKCkgJiYgKHNjcmVlblNlcnZpY2UuaXNUb3VjaGFibGUgfHwgaXRlbSgpLmlzT3ZlciB8fCBpc1NlbGVjdGVkKCkpKSB7XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBwYXJlbnQoKS5zZWxlY3Rpb24/LnRvZ2dsZShpdGVtKCksIGl0ZW0oKS5kb2N1bWVudElkKSA6IG51bGxcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKClcIj5cclxuICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBmeEZsZXg9XCIqXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbnRlbnRcIj5cclxuICAgICAgICBAaWYgKGRpc3BsYXlNb2RlbE5hbWUoKSAmJiBpdGVtKCkubW9kZWxOYW1lKSB7XHJcbiAgICAgICAgQGlmIChpdGVtKCkub3JpZ2luID09PSAnR0MnIHx8IGl0ZW0oKS5vcmlnaW4gPT09ICdHTicpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0yXCI+R0lVUklTUFJVREVOWkE8L2Rpdj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0yXCI+e3tpdGVtKCkubW9kZWxOYW1lfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgKGl0ZW0oKS5pbmZvICYmIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5RdWVzaXRpKSB7XHJcbiAgICAgICAgQGlmKGl0ZW0oKS5pbmZvKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLmluZm99fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9QGVsc2UgaWYoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLk5vcm1hdGl2YVZpZ2VudGUgfHxcclxuICAgICAgICBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQWdnaW9ybmFtZW50b05vcm1hdGl2byB8fFxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5HaXVyaXNwcnVkZW56YVJlY2VudGUgfHxcclxuICAgICAgICBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uSnVyaXMpIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS5hdXRob3IgJiYgKGl0ZW0oKS5vcmlnaW4gPT09ICdMUicgfHwgaXRlbSgpLm9yaWdpbiA9PT0gJ0dDJyB8fCBpdGVtKCkub3JpZ2luXHJcbiAgICAgICAgPT09ICdHTicpKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLmF1dGhvcn19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1AZWxzZSBpZiAoaXRlbSgpLmRhdGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkuZGF0ZSB8IGZvcm1hdDonRCc6J2QgTU1NIHl5eXknfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwibGlua1wiIChjbGljayk9XCJwYXJlbnQoKS5vcGVuKGl0ZW0oKS5kb2N1bWVudElkKVwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FwcmkgZG9jdW1lbnRvICcgKyBpdGVtKCkudGl0bGUxXCI+e3tpdGVtKCkudGl0bGUxID8/IGl0ZW0oKS50aXRsZTJ9fTwvYT5cclxuICAgICAgICAgIEBpZiAoaXRlbSgpLnBhcnQgPiAwKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlXCI+UEFSVEUge3tpdGVtKCkucGFydH19PC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGlmIChpdGVtKCkuaXNDb21tZW50ZWQpIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIj5DT01NRU5UQVRBPC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGlmIChpdGVtKCkudmFsaWRpdHlTdGF0ZSA+IDApIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UtcmVkXCI+e3tpdGVtKCkudmFsaWRpdHlEZXNjcmlwdGlvbn19PC9zcGFuPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihpdGVtKCkuZGVzY3JpcHRpb24gJiYgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkNvb3JkaW5hbWVudG8pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2l0ZW0oKS5kZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLnRpdGxlMiAmJlxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5Db29yZGluYW1lbnRvICYmXHJcbiAgICAgICAgaXRlbSgpLm1vZGVsICE9PSBtb2RlbHNFbnVtLkFsbGVydGVBbGltZW50YXJpICYmXHJcbiAgICAgICAgaXRlbSgpLm1vZGVsICE9PSBtb2RlbHNFbnVtLlNjYWRlbnplICYmXHJcbiAgICAgICAgaXRlbSgpLm1vZGVsICE9PSBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aXRlbSgpLnRpdGxlMn19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm9yaWdpbkRlc2NyaXB0aW9uICkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj5cclxuICAgICAgICAgIHt7aXRlbSgpLm9yaWdpbkRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkuYW5jaG9ycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+REVUVEFHTElPPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgQGZvciAoYSBvZiBpdGVtKCkuYW5jaG9yczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgIEBpZiAoYS51cmkgJiYgYS50ZXh0KSB7XHJcbiAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInBhcmVudCgpLm9wZW4oYS5kb2N1bWVudElkICsgJyMnICsgYS51cmkpXCIgW21hdFRvb2x0aXBdPVwiYS50aXRsZVwiPnt7YS50ZXh0fX0gQGlmXHJcbiAgICAgICAgICAgICAgICAoYS52ZXJ5UmVsZXZhbnQpIHtcclxuICAgICAgICAgICAgICAgIDxzdXA+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT0nZm9udC1zaXplOngtc21hbGw7IGhlaWdodDogMTBweDsgd2lkdGg6MTBweCcgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiTW9sdG8gcmlsZXZhbnRlXCI+dGh1bWJfdXBfYWx0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvc3VwPlxyXG4gICAgICAgICAgICAgICAgfTwvYT5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGlmICghYS51cmkgJiYgYS50ZXh0KSB7XHJcbiAgICAgICAgICAgICAgPHNwYW4+e3thLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLnRheG9ub215Py5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+QVJHT01FTlRJPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgQGZvciAobiBvZiBpdGVtKCkudGF4b25vbXk/LnNwbGl0KCdcXHJcXG4nKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rXCI+XHJcbiAgICAgICAgICAgICAge3tufX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5OZXdzIHx8IGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5BcnRpY29saSB8fCBpdGVtKCkubW9kZWwgPT09XHJcbiAgICAgICAgbW9kZWxzRW51bS5KdXJpcykge1xyXG4gICAgICAgIEBpZiAoIWRpc3BsYXlNb2RlbE5hbWUoKSAmJiBpdGVtKCkubW9kZWxOYW1lKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPnt7aXRlbSgpLm1vZGVsTmFtZX19PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLmluZm8pe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PkFSR09NRU5USTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkuaW5mb319PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkNvb3JkaW5hbWVudG8pIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS50aXRsZTIpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5USVRPTE8gRE9DVU1FTlRPIE1PRElGSUNBVE88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7aXRlbSgpLnRpdGxlMn19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNjYWRlbnplIHx8IGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5TZWduYWxhemlvbmkpIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS5leHBpcmluZ0Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+UFJPU1NJTUEgU0NBREVOWkE8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICA8ZGl2Pnt7aXRlbSgpLmV4cGlyaW5nRGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgZnhGbGV4PVwiNDhweFwiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIj5cclxuICAgICAgQGlmIChpdGVtKCkuaXNPdmVyIHx8IGl0ZW0oKS5pc01lbnVPcGVuKSB7XHJcbiAgICAgIEBpZiAoaXNSZWFkYWJsZSgpICYmICFpc1JlYWQoKSAmJiBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2NhZGVuemUgJiYgaXRlbSgpLm1vZGVsICE9PVxyXG4gICAgICBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSlcclxuICAgICAge1xyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIlNlZ25hIGNvbWUgZ2nDoCBsZXR0YVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlZ25hIGNvbWUgZ2nDoCBsZXR0YSdcIlxyXG4gICAgICAgIChjbGljayk9XCJwYXJlbnQoKS50b2dnbGVSZWFkKGl0ZW0oKSwgJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5mbGFnPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmKGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5TY2FkZW56ZSB8fCBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2VnbmFsYXppb25pKSB7XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPVwiQWdnaXVuZ2kgYWwgdHVvIGNhbGVuZGFyaW9cIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FnZ2l1bmdpIGFsIHR1byBjYWxlbmRhcmlvJ1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICA8YnV0dG9uIGZ4RmxleEFsaWduPVwiY2VudGVyXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPVwiTWVudVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01lbnUgb3B6aW9uaSdcIlxyXG4gICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJhY3Rpb25zKClcIiBbbWF0TWVudVRyaWdnZXJEYXRhXT1cIntpdGVtOiBpdGVtKCl9XCIgKGNsaWNrKT1cIml0ZW0oKS5pc01lbnVPcGVuID0gdHJ1ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgPGRpdiBjbGFzcz1cInRpbGVcIiAoY29udGV4dG1lbnUpPVwib25Db250ZXh0TWVudSgkZXZlbnQsIGl0ZW0oKSlcIiAobW91c2VlbnRlcik9XCJpdGVtKCkuaXNPdmVyID0gdHJ1ZVwiXHJcbiAgICAobW91c2VsZWF2ZSk9XCJpdGVtKCkuaXNPdmVyID0gZmFsc2VcIiBbbmdDbGFzc109XCJ7J2l0ZW0tc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKCksIFxyXG4gICAgJ2l0ZW0tdW5yZWFkJzogaXNSZWFkKCl9XCIgKGNsaWNrKT1cInBhcmVudCgpLm9wZW4oaXRlbSgpLmRvY3VtZW50SWQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtbWFya1wiIFtuZ0NsYXNzXT1cInsnaW1hZ2UtbWFyay11bnJlYWQnOiAhaXNSZWFkKCl9XCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cclxuICAgICAgQGlmIChpc1JlYWRhYmxlKCkgfHwgaXNTZWxlY3RhYmxlKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICBAaWYgKGlzUmVhZGFibGUoKSAmJiAhaXNSZWFkKCkgJiYgaXRlbSgpLmlzT3ZlciA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwicmVhZFwiIG1hdFRvb2x0aXA9XCJTZWduYSBjb21lIGdpw6AgbGV0dG9cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInBhcmVudCgpLnRvZ2dsZVJlYWQoaXRlbSgpLCAkZXZlbnQpXCI+PG1hdC1pY29uPmZsYWc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGlzU2VsZWN0YWJsZSgpICYmIChpc1NlbGVjdGVkKCkgfHwgaXRlbSgpLmlzT3ZlciA9PT0gdHJ1ZSkpIHtcclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImNoZWNrXCIgW25nQ2xhc3NdPVwieydjaGVjay1zZWxlY3RlZCc6IGlzU2VsZWN0ZWQoKX1cIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcD1cIlNlbGV6aW9uYS9EZXNlbGV6aW9uYVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwicGFyZW50KCkudG9nZ2xlU2VsZWN0aW9uKGl0ZW0oKSwgJGV2ZW50KVwiPjxtYXQtaWNvbj5jaGVjazwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkubW9kZWxOYW1lfX08L2Rpdj5cclxuICAgICAgQGlmIChpdGVtKCkuaW5mbykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby0yXCI+e3tpdGVtKCkuaW5mb319PC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChpdGVtKCkucGljdHVyZUlkICYmIHRpbGVQaWN0dXJlVXJsKCkpIHtcclxuICAgICAgPGltZyBkZWNvZGluZz1cImFzeW5jXCIgbG9hZGluZz1cImxhenlcIiBbc3JjXT1cInRpbGVQaWN0dXJlVXJsKCkgKyAnP2lkPScgKyBpdGVtKCkucGljdHVyZUlkXCIgW2FsdF09XCJpdGVtKCkudGl0bGUyXCIgLz5cclxuICAgICAgfSBAZWxzZSBpZiAodGlsZU5vUGljdHVyZVVybCgpKSB7XHJcbiAgICAgIDxwaWN0dXJlPlxyXG4gICAgICAgIDxpbWcgZGVjb2Rpbmc9XCJhc3luY1wiIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJ0aWxlTm9QaWN0dXJlVXJsKClcIlxyXG4gICAgICAgICAgW2FsdF09XCJpdGVtKCkudGl0bGUyIHx8ICdpbW1hZ2luZSBub24gdHJvdmF0YSdcIiAvPlxyXG4gICAgICA8L3BpY3R1cmU+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtZGF5XCIgW25nQ2xhc3NdPVwieyd1bnJlYWQnOiAhaXRlbSgpLmlzUmVhZH1cIj57e2l0ZW0oKS5kYXRlIHwgZm9ybWF0OidEJzonZFxyXG4gICAgICAgICAgTU1NTSd9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj57e2l0ZW0oKS5kYXRlfCBmb3JtYXQ6J0QnOid5eXl5J319PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3tpdGVtKCkudGl0bGUyfX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbjxkaXYgI2NvbnRleHRNZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWRcIiBbc3R5bGUubGVmdF09XCJjb250ZXh0TWVudVBvc2l0aW9uLnhcIlxyXG4gIFtzdHlsZS50b3BdPVwiY29udGV4dE1lbnVQb3NpdGlvbi55XCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbnMoKVwiIFttYXRNZW51VHJpZ2dlckRhdGFdPVwie2l0ZW06IGl0ZW0oKX1cIj5cclxuPC9kaXY+Il19
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9jbGlwcGVyLnVpL3VpL3NlYXJjaC1yZXN1bHQtaXRlbS9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2NsaXBwZXIudWkvdWkvc2VhcmNoLXJlc3VsdC1pdGVtL3NlYXJjaC1yZXN1bHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBVyxhQUFhLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUF1QixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0csT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBSTFD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QUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsVUFBVTtxQkFDWDs4QkFJZ0Msa0JBQWtCO3NCQUFsRCxTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudU1vZHVsZSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBDbGlwcGVyRG9jdW1lbnRJbmZvLCBDbGlwcGVyTWVzc2FnZXMsIENsaXBwZXJNb2RlbCB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24nO1xyXG5pbXBvcnQgeyBCcm9hZGNhc3RTZXJ2aWNlLCBGb3JtYXRQaXBlLCBTY3JlZW5TZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0BuZ2JyYWNrZXQvbmd4LWxheW91dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbGlwcGVyU2VhcmNoUmVzdWx0TWFuYWdlciB9IGZyb20gJy4uL3NlYXJjaC1yZXN1bHQtbWFuYWdlci9zZWFyY2gtcmVzdWx0LW1hbmFnZXInO1xyXG5cclxuXHJcbmV4cG9ydCBlbnVtIENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGUge1xyXG4gIExpc3QgPSAxLFxyXG4gIFRpbGUgPSAyXHJcbn1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzZWxlY3RvcjogJ2NsaXBwZXItc2VhcmNoLXJlc3VsdC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBGb3JtYXRQaXBlXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnVUcmlnZ2VyJykgY29udGV4dE1lbnVUcmlnZ2VyITogTWF0TWVudVRyaWdnZXI7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJvdGVjdGVkIHNjcmVlblNlcnZpY2UgPSBpbmplY3QoU2NyZWVuU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIGJyb2FkY2FzdFNlcnZpY2UgPSBpbmplY3QoQnJvYWRjYXN0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcGFyZW50ID0gaW5wdXQucmVxdWlyZWQ8Q2xpcHBlclNlYXJjaFJlc3VsdE1hbmFnZXI+KCk7XHJcbiAgaXRlbSA9IGlucHV0LnJlcXVpcmVkPENsaXBwZXJEb2N1bWVudEluZm8+KCk7XHJcbiAgYWN0aW9ucyA9IGlucHV0LnJlcXVpcmVkPE1hdE1lbnU+KCk7XHJcbiAgdGlsZU5vUGljdHVyZVVybCA9IGlucHV0PHN0cmluZz4oKTtcclxuICB0aWxlUGljdHVyZVVybCA9IGlucHV0PHN0cmluZz4oKTtcclxuICBpc1NlbGVjdGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBpc1JlYWRhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgZGlzcGxheU1vZGVsTmFtZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBkaXNwbGF5TW9kZSA9IGlucHV0PENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGU+KENsaXBwZXJTZWFyY2hSZXN1bHRJdGVtRGlzcGxheU1vZGUuTGlzdCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc3BsYXlNb2Rlc0VudW06IHR5cGVvZiBDbGlwcGVyU2VhcmNoUmVzdWx0SXRlbURpc3BsYXlNb2RlID0gQ2xpcHBlclNlYXJjaFJlc3VsdEl0ZW1EaXNwbGF5TW9kZTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kZWxzRW51bTogdHlwZW9mIENsaXBwZXJNb2RlbCA9IENsaXBwZXJNb2RlbDtcclxuICBwcm90ZWN0ZWQgY29udGV4dE1lbnVQb3NpdGlvbiA9IHsgeDogJzBweCcsIHk6ICcwcHgnIH07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5jaGFuZ2VkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gUmVhY3QgdG8gbWVzc2FnZSBicm9hZGNhc3RpbmdcclxuICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5nZXRNZXNzYWdlKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xyXG4gICAgICAgIGlmIChtZXNzYWdlLmlkID09PSBDbGlwcGVyTWVzc2FnZXMuRE9DVU1FTlRfTkFWSUdBVEVEKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc1JlYWRhYmxlKCkgJiYgdGhpcy5pdGVtKCkuZG9jdW1lbnRJZCA9PT0gbWVzc2FnZS5kYXRhLmRvY3VtZW50LmRvY3VtZW50SWQgJiYgIXRoaXMuaXRlbSgpLmlzUmVhZCkge1xyXG4gICAgICAgICAgICB0aGlzLnBhcmVudCgpPy5zZXRSZWFkKHRydWUsIHRoaXMuaXRlbSgpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaWQgPT09IENsaXBwZXJNZXNzYWdlcy5ET0NVTUVOVF9SRUFEKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5pc1JlYWRhYmxlKCkgJiYgdGhpcy5pdGVtKCkuZG9jdW1lbnRJZCA9PT0gbWVzc2FnZS5kYXRhLmRvY3VtZW50LmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtKCkuaXNSZWFkID0gbWVzc2FnZS5kYXRhLnZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkNvbnRleHRNZW51KGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBDbGlwcGVyRG9jdW1lbnRJbmZvKSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnggPSBldmVudC5jbGllbnRYICsgJ3B4JztcclxuICAgIHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbi55ID0gZXZlbnQuY2xpZW50WSArICdweCc7XHJcbiAgICB0aGlzLmNvbnRleHRNZW51VHJpZ2dlci5tZW51RGF0YSA9IHsgaXRlbTogaXRlbSB9O1xyXG4gICAgdGhpcy5jb250ZXh0TWVudVRyaWdnZXIub3Blbk1lbnUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiBjdXJyZW50IGl0ZW0gaXMgc2VsZWN0ZWRcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGN1cnJlbnQgaXRlbSBpcyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RhYmxlKCkgJiYgdGhpcy5wYXJlbnQoKT8uc2VsZWN0aW9uPy5pc1NlbGVjdGVkKHRoaXMuaXRlbSgpLmRvY3VtZW50SWQpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiBjdXJyZW50IGl0ZW0gaXMgaXNSZWFkYWJsZVxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgY3VycmVudCBpdGVtIGlzIGlzUmVhZGFibGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaXNSZWFkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNSZWFkYWJsZSgpICYmIHRoaXMuaXRlbSgpLmlzUmVhZCA9PT0gdHJ1ZTtcclxuICB9O1xyXG5cclxufVxyXG4iLCI8ZGl2PlxyXG4gIEBpZiAoZGlzcGxheU1vZGUoKSA9PT0gZGlzcGxheU1vZGVzRW51bS5MaXN0ICkge1xyXG4gIDxkaXYgY2xhc3M9XCJpdGVtXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjZweFwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZpbGxcclxuICAgIFtuZ0NsYXNzXT1cInsnaXRlbS1zZWxlY3RlZCc6IGlzU2VsZWN0ZWQoKSB9XCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50LCBpdGVtKCkpXCJcclxuICAgIChtb3VzZWVudGVyKT1cIml0ZW0oKS5pc092ZXIgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwiaXRlbSgpLmlzT3ZlciA9IGZhbHNlXCI+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIjZweFwiIGZ4RmxleEFsaWduPVwic3RyZXRjaFwiIFtuZ0NsYXNzXT1cInBhcmVudCgpLmdldEl0ZW1TdGF0ZUNzc0NsYXNzKGl0ZW0oKSlcIlxyXG4gICAgICBbbWF0VG9vbHRpcF09XCJwYXJlbnQoKS5nZXRJdGVtU3RhdGVUb29sdGlwKGl0ZW0oKSlcIj48c3Bhbj48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgW2Z4RmxleF09XCJpc1NlbGVjdGFibGUoKSA/ICc0OHB4JyA6ICcxOHB4J1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIj5cclxuICAgICAgQGlmIChpc1NlbGVjdGFibGUoKSAmJiAoc2NyZWVuU2VydmljZS5pc1RvdWNoYWJsZSB8fCBpdGVtKCkuaXNPdmVyIHx8IGlzU2VsZWN0ZWQoKSkpIHtcclxuICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHBhcmVudCgpLnNlbGVjdGlvbj8udG9nZ2xlKGl0ZW0oKSwgaXRlbSgpLmRvY3VtZW50SWQpIDogbnVsbFwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQoKVwiPlxyXG4gICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGZ4RmxleD1cIipcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tY29udGVudFwiPlxyXG4gICAgICAgIEBpZiAoZGlzcGxheU1vZGVsTmFtZSgpICYmIGl0ZW0oKS5tb2RlbE5hbWUpIHtcclxuICAgICAgICBAaWYgKGl0ZW0oKS5vcmlnaW4gPT09ICdHQycgfHwgaXRlbSgpLm9yaWdpbiA9PT0gJ0dOJykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj5HSVVSSVNQUlVERU5aQTwvZGl2PlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj57e2l0ZW0oKS5tb2RlbE5hbWV9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAoaXRlbSgpLmluZm8gJiYgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlF1ZXNpdGkpIHtcclxuICAgICAgICBAaWYoaXRlbSgpLmluZm8pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkuaW5mb319PC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1AZWxzZSBpZihpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uTm9ybWF0aXZhVmlnZW50ZSB8fFxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5BZ2dpb3JuYW1lbnRvTm9ybWF0aXZvIHx8XHJcbiAgICAgICAgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkdpdXJpc3BydWRlbnphUmVjZW50ZSB8fFxyXG4gICAgICAgIGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5KdXJpcykge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLmF1dGhvciAmJiAoaXRlbSgpLm9yaWdpbiA9PT0gJ0xSJyB8fCBpdGVtKCkub3JpZ2luID09PSAnR0MnIHx8IGl0ZW0oKS5vcmlnaW5cclxuICAgICAgICA9PT0gJ0dOJykpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkuYXV0aG9yfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfUBlbHNlIGlmIChpdGVtKCkuZGF0ZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5kYXRlIHwgZm9ybWF0OidEJzonZCBNTU0geXl5eSd9fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGEgY2xhc3M9XCJsaW5rXCIgKGNsaWNrKT1cInBhcmVudCgpLm9wZW4oaXRlbSgpLmRvY3VtZW50SWQpXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQXByaSBkb2N1bWVudG8gJyArIGl0ZW0oKS50aXRsZTFcIj57e2l0ZW0oKS50aXRsZTEgPz8gaXRlbSgpLnRpdGxlMn19PC9hPlxyXG4gICAgICAgICAgQGlmIChpdGVtKCkucGFydCA+IDApIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIj5QQVJURSB7e2l0ZW0oKS5wYXJ0fX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS5pc0NvbW1lbnRlZCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZVwiPkNPTU1FTlRBVEE8L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAaWYgKGl0ZW0oKS52YWxpZGl0eVN0YXRlID4gMCkge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZS1yZWRcIj57e2l0ZW0oKS52YWxpZGl0eURlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGl0ZW0oKS5kZXNjcmlwdGlvbiAmJiBpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50bykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7aXRlbSgpLmRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkudGl0bGUyICYmXHJcbiAgICAgICAgaXRlbSgpLm1vZGVsICE9PSBtb2RlbHNFbnVtLkNvb3JkaW5hbWVudG8gJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uQWxsZXJ0ZUFsaW1lbnRhcmkgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2NhZGVuemUgJiZcclxuICAgICAgICBpdGVtKCkubW9kZWwgIT09IG1vZGVsc0VudW0uU2VnbmFsYXppb25pKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3tpdGVtKCkudGl0bGUyfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkub3JpZ2luRGVzY3JpcHRpb24gKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tMVwiPlxyXG4gICAgICAgICAge3tpdGVtKCkub3JpZ2luRGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGl0ZW0oKS5hbmNob3JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5ERVRUQUdMSU88L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICBAZm9yIChhIG9mIGl0ZW0oKS5hbmNob3JzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgQGlmIChhLnVyaSAmJiBhLnRleHQpIHtcclxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwicGFyZW50KCkub3BlbihhLmRvY3VtZW50SWQgKyAnIycgKyBhLnVyaSlcIiBbbWF0VG9vbHRpcF09XCJhLnRpdGxlXCI+e3thLnRleHR9fSBAaWZcclxuICAgICAgICAgICAgICAgIChhLnZlcnlSZWxldmFudCkge1xyXG4gICAgICAgICAgICAgICAgPHN1cD5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPSdmb250LXNpemU6eC1zbWFsbDsgaGVpZ2h0OiAxMHB4OyB3aWR0aDoxMHB4JyBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJNb2x0byByaWxldmFudGVcIj50aHVtYl91cF9hbHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9zdXA+XHJcbiAgICAgICAgICAgICAgICB9PC9hPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAaWYgKCFhLnVyaSAmJiBhLnRleHQpIHtcclxuICAgICAgICAgICAgICA8c3Bhbj57e2EudGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkudGF4b25vbXk/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5BUkdPTUVOVEk8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5rc1wiPlxyXG4gICAgICAgICAgICBAZm9yIChuIG9mIGl0ZW0oKS50YXhvbm9teT8uc3BsaXQoJ1xcclxcbicpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtcIj5cclxuICAgICAgICAgICAgICB7e259fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLk5ld3MgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLkFydGljb2xpIHx8IGl0ZW0oKS5tb2RlbCA9PT1cclxuICAgICAgICBtb2RlbHNFbnVtLkp1cmlzKSB7XHJcbiAgICAgICAgQGlmICghZGlzcGxheU1vZGVsTmFtZSgpICYmIGl0ZW0oKS5tb2RlbE5hbWUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby0xXCI+e3tpdGVtKCkubW9kZWxOYW1lfX08L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkuaW5mbyl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXY+QVJHT01FTlRJPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlua3NcIj5cclxuICAgICAgICAgICAgPGRpdj57e2l0ZW0oKS5pbmZvfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uQ29vcmRpbmFtZW50bykge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLnRpdGxlMikge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2PlRJVE9MTyBET0NVTUVOVE8gTU9ESUZJQ0FUTzwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkudGl0bGUyfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChpdGVtKCkubW9kZWwgPT09IG1vZGVsc0VudW0uU2NhZGVuemUgfHwgaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNlZ25hbGF6aW9uaSkge1xyXG4gICAgICAgIEBpZiAoaXRlbSgpLmV4cGlyaW5nRGVzY3JpcHRpb24pIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPGRpdj5QUk9TU0lNQSBTQ0FERU5aQTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCI+XHJcbiAgICAgICAgICAgIDxkaXY+e3tpdGVtKCkuZXhwaXJpbmdEZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBmeEZsZXg9XCI0OHB4XCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiPlxyXG4gICAgICBAaWYgKGl0ZW0oKS5pc092ZXIgfHwgaXRlbSgpLmlzTWVudU9wZW4pIHtcclxuICAgICAgQGlmIChpc1JlYWRhYmxlKCkgJiYgIWlzUmVhZCgpICYmIGl0ZW0oKS5tb2RlbCAhPT0gbW9kZWxzRW51bS5TY2FkZW56ZSAmJiBpdGVtKCkubW9kZWwgIT09XHJcbiAgICAgIG1vZGVsc0VudW0uU2VnbmFsYXppb25pKVxyXG4gICAgICB7XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPVwiU2VnbmEgY29tZSBnacOgIGxldHRhXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInU2VnbmEgY29tZSBnacOgIGxldHRhJ1wiXHJcbiAgICAgICAgKGNsaWNrKT1cInBhcmVudCgpLnRvZ2dsZVJlYWQoaXRlbSgpLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmZsYWc8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYoaXRlbSgpLm1vZGVsID09PSBtb2RlbHNFbnVtLlNjYWRlbnplIHx8IGl0ZW0oKS5tb2RlbCA9PT0gbW9kZWxzRW51bS5TZWduYWxhemlvbmkpIHtcclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJBZ2dpdW5naSBhbCB0dW8gY2FsZW5kYXJpb1wiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQWdnaXVuZ2kgYWwgdHVvIGNhbGVuZGFyaW8nXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIDxidXR0b24gZnhGbGV4QWxpZ249XCJjZW50ZXJcIiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJNZW51XCIgW2F0dHIuYXJpYS1sYWJlbF09XCInTWVudSBvcHppb25pJ1wiXHJcbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFjdGlvbnMoKVwiIFttYXRNZW51VHJpZ2dlckRhdGFdPVwie2l0ZW06IGl0ZW0oKX1cIiAoY2xpY2spPVwiaXRlbSgpLmlzTWVudU9wZW4gPSB0cnVlXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9IEBlbHNlIHtcclxuICA8ZGl2IGNsYXNzPVwidGlsZVwiIChjb250ZXh0bWVudSk9XCJvbkNvbnRleHRNZW51KCRldmVudCwgaXRlbSgpKVwiIChtb3VzZWVudGVyKT1cIml0ZW0oKS5pc092ZXIgPSB0cnVlXCJcclxuICAgIChtb3VzZWxlYXZlKT1cIml0ZW0oKS5pc092ZXIgPSBmYWxzZVwiIFtuZ0NsYXNzXT1cInsnaXRlbS1zZWxlY3RlZCc6IGlzU2VsZWN0ZWQoKSwgXHJcbiAgICAnaXRlbS11bnJlYWQnOiBpc1JlYWQoKX1cIiAoY2xpY2spPVwicGFyZW50KCkub3BlbihpdGVtKCkuZG9jdW1lbnRJZClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1tYXJrXCIgW25nQ2xhc3NdPVwieydpbWFnZS1tYXJrLXVucmVhZCc6ICFpc1JlYWQoKX1cIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICBAaWYgKGlzUmVhZGFibGUoKSB8fCBpc1NlbGVjdGFibGUoKSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxyXG4gICAgICAgIEBpZiAoaXNSZWFkYWJsZSgpICYmICFpc1JlYWQoKSAmJiBpdGVtKCkuaXNPdmVyID09PSB0cnVlKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJyZWFkXCIgbWF0VG9vbHRpcD1cIlNlZ25hIGNvbWUgZ2nDoCBsZXR0b1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwicGFyZW50KCkudG9nZ2xlUmVhZChpdGVtKCksICRldmVudClcIj48bWF0LWljb24+ZmxhZzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoaXNTZWxlY3RhYmxlKCkgJiYgKGlzU2VsZWN0ZWQoKSB8fCBpdGVtKCkuaXNPdmVyID09PSB0cnVlKSkge1xyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiY2hlY2tcIiBbbmdDbGFzc109XCJ7J2NoZWNrLXNlbGVjdGVkJzogaXNTZWxlY3RlZCgpfVwiXHJcbiAgICAgICAgICBtYXRUb29sdGlwPVwiU2VsZXppb25hL0Rlc2VsZXppb25hXCJcclxuICAgICAgICAgIChjbGljayk9XCJwYXJlbnQoKS50b2dnbGVTZWxlY3Rpb24oaXRlbSgpLCAkZXZlbnQpXCI+PG1hdC1pY29uPmNoZWNrPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTFcIj57e2l0ZW0oKS5tb2RlbE5hbWV9fTwvZGl2PlxyXG4gICAgICBAaWYgKGl0ZW0oKS5pbmZvKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLTJcIj57e2l0ZW0oKS5pbmZvfX08L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGl0ZW0oKS5waWN0dXJlSWQgJiYgdGlsZVBpY3R1cmVVcmwoKSkge1xyXG4gICAgICA8aW1nIGRlY29kaW5nPVwiYXN5bmNcIiBsb2FkaW5nPVwibGF6eVwiIFtzcmNdPVwidGlsZVBpY3R1cmVVcmwoKSArICc/aWQ9JyArIGl0ZW0oKS5waWN0dXJlSWRcIiBbYWx0XT1cIml0ZW0oKS50aXRsZTJcIiAvPlxyXG4gICAgICB9IEBlbHNlIGlmICh0aWxlTm9QaWN0dXJlVXJsKCkpIHtcclxuICAgICAgPHBpY3R1cmU+XHJcbiAgICAgICAgPGltZyBkZWNvZGluZz1cImFzeW5jXCIgbG9hZGluZz1cImxhenlcIiBbc3JjXT1cInRpbGVOb1BpY3R1cmVVcmwoKVwiXHJcbiAgICAgICAgICBbYWx0XT1cIml0ZW0oKS50aXRsZTIgfHwgJ2ltbWFnaW5lIG5vbiB0cm92YXRhJ1wiIC8+XHJcbiAgICAgIDwvcGljdHVyZT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1kYXlcIiBbbmdDbGFzc109XCJ7J3VucmVhZCc6ICFpdGVtKCkuaXNSZWFkfVwiPnt7aXRlbSgpLmRhdGUgfCBmb3JtYXQ6J0QnOidkXHJcbiAgICAgICAgICBNTU1NJ319PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1kaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7aXRlbSgpLmRhdGV8IGZvcm1hdDonRCc6J3l5eXknfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57e2l0ZW0oKS50aXRsZTJ9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuPGRpdiAjY29udGV4dE1lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIiBzdHlsZT1cInBvc2l0aW9uOiBmaXhlZFwiIFtzdHlsZS5sZWZ0XT1cImNvbnRleHRNZW51UG9zaXRpb24ueFwiXHJcbiAgW3N0eWxlLnRvcF09XCJjb250ZXh0TWVudVBvc2l0aW9uLnlcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYWN0aW9ucygpXCIgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7aXRlbTogaXRlbSgpfVwiPlxyXG48L2Rpdj4iXX0=
|
|
@@ -88,21 +88,21 @@ export var ERPComplianceRegisterSiteImportOptions;
|
|
|
88
88
|
ERPComplianceRegisterSiteImportOptions[ERPComplianceRegisterSiteImportOptions["DuplicateLaws"] = 4] = "DuplicateLaws";
|
|
89
89
|
ERPComplianceRegisterSiteImportOptions[ERPComplianceRegisterSiteImportOptions["DiscardNotApplicables"] = 8] = "DiscardNotApplicables";
|
|
90
90
|
})(ERPComplianceRegisterSiteImportOptions || (ERPComplianceRegisterSiteImportOptions = {}));
|
|
91
|
-
export const
|
|
91
|
+
export const EvolutionComplianceProfileRoles = [
|
|
92
92
|
{ name: 'Analista', value: ERPComplianceProfileRole.Analyst },
|
|
93
93
|
{ name: 'Gestore', value: ERPComplianceProfileRole.Planner },
|
|
94
94
|
//{ name: 'Validatore', value: ERPComplianceProfileRole.Validator },
|
|
95
95
|
{ name: 'Esecutore', value: ERPComplianceProfileRole.Executor },
|
|
96
96
|
{ name: 'Osservatore', value: ERPComplianceProfileRole.Observer },
|
|
97
97
|
];
|
|
98
|
-
export const
|
|
98
|
+
export const EvolutionComplianceProfileFlags = [
|
|
99
99
|
{ name: 'Deroghe e limitazioni', divider: true },
|
|
100
100
|
{
|
|
101
101
|
name: 'Questo profilo riceve regolarmente le notifiche indipendentemente dalla configurazione generale del registro',
|
|
102
102
|
value: ERPComplianceProfileFlags.OverrideNotificationRegisterSettings,
|
|
103
103
|
},
|
|
104
104
|
];
|
|
105
|
-
export const
|
|
105
|
+
export const EvolutionComplianceScopes = [
|
|
106
106
|
{ name: 'Ambiente', value: ERPComplianceScope.Environment },
|
|
107
107
|
{ name: 'Salute e sicurezza', value: ERPComplianceScope.Safety },
|
|
108
108
|
{
|
|
@@ -117,7 +117,7 @@ export const Scopes = [
|
|
|
117
117
|
{ name: 'Logistica', value: ERPComplianceScope.Logistics },
|
|
118
118
|
{ name: 'Security', value: ERPComplianceScope.Security },
|
|
119
119
|
];
|
|
120
|
-
export const
|
|
120
|
+
export const EvolutionComplianceNotificationLimits = [
|
|
121
121
|
{ name: 'Nessuna limitazione', value: ERPComplianceNotificationLimit.None },
|
|
122
122
|
{
|
|
123
123
|
name: 'Solo gestore che ha pianificato',
|
|
@@ -132,7 +132,7 @@ export const NotificationLimits = [
|
|
|
132
132
|
value: ERPComplianceNotificationLimit.Both,
|
|
133
133
|
},
|
|
134
134
|
];
|
|
135
|
-
export const
|
|
135
|
+
export const EvolutionComplianceNotifications = [
|
|
136
136
|
{ name: 'Verifica applicabilità e analisi', divider: true },
|
|
137
137
|
{
|
|
138
138
|
name: 'Richiesta analisi',
|
|
@@ -250,7 +250,7 @@ export var ERPComplianceLawOrigin;
|
|
|
250
250
|
ERPComplianceLawOrigin[ERPComplianceLawOrigin["Internal"] = 7] = "Internal";
|
|
251
251
|
ERPComplianceLawOrigin[ERPComplianceLawOrigin["Other"] = 8] = "Other";
|
|
252
252
|
})(ERPComplianceLawOrigin || (ERPComplianceLawOrigin = {}));
|
|
253
|
-
export const
|
|
253
|
+
export const EvolutionComplianceLawStates = [
|
|
254
254
|
{ name: 'Applicabile', value: ERPComplianceLawState.Applicable },
|
|
255
255
|
{ name: 'Da conoscere', value: ERPComplianceLawState.Aknowledged },
|
|
256
256
|
{
|
|
@@ -267,7 +267,7 @@ export const LawStates = [
|
|
|
267
267
|
value: ERPComplianceLawState.UpdatedLaws,
|
|
268
268
|
},
|
|
269
269
|
];
|
|
270
|
-
export const
|
|
270
|
+
export const EvolutionComplianceLawOrigins = [
|
|
271
271
|
{ name: 'Nazionale', value: ERPComplianceLawOrigin.National },
|
|
272
272
|
{ name: 'Comunitaria', value: ERPComplianceLawOrigin.EU },
|
|
273
273
|
{ name: 'Regionale', value: ERPComplianceLawOrigin.Regional },
|
|
@@ -277,7 +277,7 @@ export const LawOrigins = [
|
|
|
277
277
|
{ name: 'Volontaria', value: ERPComplianceLawOrigin.Voulontary },
|
|
278
278
|
{ name: 'Altro', value: ERPComplianceLawOrigin.Other },
|
|
279
279
|
];
|
|
280
|
-
export const
|
|
280
|
+
export const EvolutionComplianceLawChangeStates = [
|
|
281
281
|
{ name: 'Aperto', value: 1 },
|
|
282
282
|
{ name: 'Chiuso', value: 2 },
|
|
283
283
|
];
|
|
@@ -291,7 +291,7 @@ export var ERPComplianceActivityState;
|
|
|
291
291
|
ERPComplianceActivityState[ERPComplianceActivityState["UpdatedLaws"] = 1024] = "UpdatedLaws";
|
|
292
292
|
ERPComplianceActivityState[ERPComplianceActivityState["AlreadyManaged"] = 2048] = "AlreadyManaged";
|
|
293
293
|
})(ERPComplianceActivityState || (ERPComplianceActivityState = {}));
|
|
294
|
-
export const
|
|
294
|
+
export const EvolutionComplianceActivityStates = [
|
|
295
295
|
{
|
|
296
296
|
name: 'Da definire',
|
|
297
297
|
value: ERPComplianceActivityState.NotPlanned,
|
|
@@ -321,7 +321,7 @@ export const ActivityStates = [
|
|
|
321
321
|
value: ERPComplianceActivityState.UpdatedLaws,
|
|
322
322
|
},
|
|
323
323
|
];
|
|
324
|
-
export const
|
|
324
|
+
export const EvolutionComplianceObligationTypes = [
|
|
325
325
|
{ name: 'Autorizzazione', value: 1 },
|
|
326
326
|
{ name: 'Verifiche periodiche manutentive', value: 2 },
|
|
327
327
|
{ name: 'Misure organizzative', value: 3 },
|
|
@@ -334,7 +334,7 @@ export const ObligationTypes = [
|
|
|
334
334
|
},
|
|
335
335
|
{ name: 'Altro', value: 99 },
|
|
336
336
|
];
|
|
337
|
-
export const
|
|
337
|
+
export const EvolutionComplianceObligationAuthorities = [
|
|
338
338
|
{ name: 'Agenzia ECHA', value: 1 },
|
|
339
339
|
{ name: 'Albo Nazionale dei Gestori Ambientali', value: 2 },
|
|
340
340
|
{ name: 'ARPA', value: 4 },
|
|
@@ -367,9 +367,9 @@ export var ERPRecurrenceFrequencyType;
|
|
|
367
367
|
ERPRecurrenceFrequencyType[ERPRecurrenceFrequencyType["Month"] = 2] = "Month";
|
|
368
368
|
ERPRecurrenceFrequencyType[ERPRecurrenceFrequencyType["Year"] = 3] = "Year";
|
|
369
369
|
})(ERPRecurrenceFrequencyType || (ERPRecurrenceFrequencyType = {}));
|
|
370
|
-
export const
|
|
370
|
+
export const EvolutionRecurrenceFrequencyTypes = [
|
|
371
371
|
{ name: 'Anni', value: ERPRecurrenceFrequencyType.Year },
|
|
372
372
|
{ name: 'Mesi', value: ERPRecurrenceFrequencyType.Month },
|
|
373
373
|
{ name: 'Giorni', value: ERPRecurrenceFrequencyType.Day },
|
|
374
374
|
];
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvZXZvbHV0aW9uLmNvbW1vbi9jb21tb24vZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFOLElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQixpRUFBUSxDQUFBO0lBQ1IsNkZBQXNCLENBQUE7SUFDdEIscUhBQXVDLENBQUE7QUFFekMsQ0FBQyxFQUxXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFLaEM7QUFFRCxNQUFNLENBQU4sSUFBWSxTQVdYO0FBWEQsV0FBWSxTQUFTO0lBRWpCLHFEQUFjLENBQUE7SUFDZCx1Q0FBWSxDQUFBO0lBQ1osMkVBQThCLENBQUE7SUFDOUIseUVBQTZCLENBQUE7SUFDN0IsNEVBQThCLENBQUE7SUFDOUIsMERBQXFCLENBQUE7SUFDckIsc0RBQW1CLENBQUE7SUFDbkIscURBQWtCLENBQUE7QUFFdEIsQ0FBQyxFQVhXLFNBQVMsS0FBVCxTQUFTLFFBV3BCO0FBRUQsTUFBTSxDQUFOLElBQVksOEJBR1g7QUFIRCxXQUFZLDhCQUE4QjtJQUN4QywyRkFBWSxDQUFBO0lBQ1osMkZBQVksQ0FBQTtBQUNkLENBQUMsRUFIVyw4QkFBOEIsS0FBOUIsOEJBQThCLFFBR3pDO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBT1g7QUFQRCxXQUFZLHdCQUF3QjtJQUNsQyx1RUFBUSxDQUFBO0lBQ1IsNkVBQVcsQ0FBQTtJQUNYLDZFQUFnQixDQUFBO0lBQ2hCLGlGQUFrQixDQUFBO0lBQ2xCLCtFQUFpQixDQUFBO0lBQ2pCLGdGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBT25DO0FBRUQsTUFBTSxDQUFOLElBQVkseUJBR1g7QUFIRCxXQUFZLHlCQUF5QjtJQUVuQywwSUFBNkMsQ0FBQTtBQUMvQyxDQUFDLEVBSFcs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MEJBQTBCO0lBQ3BDLHlFQUFPLENBQUE7SUFDUCw2RUFBUyxDQUFBO0lBQ1QsMkVBQVEsQ0FBQTtBQUNWLENBQUMsRUFKVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBSXJDO0FBQ0QsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxJQUFJLEVBQUU7SUFDeEQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxLQUFLLEVBQUU7SUFDekQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxHQUFHLEVBQUU7Q0FDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2luUmVzdWx0IH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTG9naW5PQXV0aFR5cGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLm9hdXRoJztcclxuXHJcbmV4cG9ydCBlbnVtIEV2b2x1dGlvblNlcnZpY2VGbGFncyB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgTm90aWZ5U3lzdGVtRXJyb3JzID0gMSxcclxuICBEaXNwbGF5Q29ubmVjdGlvblN0YXRlTWVzc2FnZXMgPSAxIDw8IDFcclxuICBcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRVJQTW9kdWxlXHJcbntcclxuICAgIEZvcm1hemlvbmUgPSAxLFxyXG4gICAgRFBJID0gMSA8PCAxLFxyXG4gICAgU29ydmVnbGlhbnphU2FuaXRhcmlhID0gMSA8PCAyLFxyXG4gICAgUmVnaXN0cm9FU2NhZGVuemFyaW8gPSAxIDw8IDMsXHJcbiAgICBBdHRyZXp6YXR1cmVFSW1waWFudGkgPSAxIDw8IDQsXHJcbiAgICBNb25pdG9yYWdnaW8gPSAxIDw8IDUsXHJcbiAgICBCb2xsZXR0aW5vID0gMSA8PCA2LFxyXG4gICAgRG9jdW1lbnRpID0gMSA8PCA3XHJcblxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTGF3c1NlbGVjdGlvblR5cGUge1xyXG4gIEFuYWx5c2lzID0gMSxcclxuICBBY3Rpdml0eSA9IDIsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZSB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgQW5hbHlzdCA9IDEsXHJcbiAgUGxhbm5lciA9IDEgPDwgMSxcclxuICBWYWxpZGF0b3IgPSAxIDw8IDIsXHJcbiAgRXhlY3V0b3IgPSAxIDw8IDMsXHJcbiAgT2JzZXJ2ZXIgPSAxIDw8IDQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VQcm9maWxlRmxhZ3Mge1xyXG5cclxuICBPdmVycmlkZU5vdGlmaWNhdGlvblJlZ2lzdGVyU2V0dGluZ3MgPSAxIDw8IDQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VTY29wZSB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgRW52aXJvbm1lbnQgPSAxLFxyXG4gIFNhZmV0eSA9IDEgPDwgMSxcclxuICBGb29kU2FmZXR5ID0gMSA8PCAyLFxyXG4gIEVuZXJneSA9IDEgPDwgMyxcclxuICBIZWFsdGggPSAxIDw8IDQsXHJcbiAgTWFpbnRlbmFuY2UgPSAxIDw8IDUsXHJcbiAgUXVhbGl0eSA9IDEgPDwgNixcclxuICBPcmdhbml6YXRpb24gPSAxIDw8IDcsXHJcbiAgTG9naXN0aWNzID0gMSA8PCA4LFxyXG4gIEZhY2lsaXR5ID0gMSA8PCA5LFxyXG4gIFNlY3VyaXR5ID0gMSA8PCAxMFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTm90aWZpY2F0aW9uTGltaXQge1xyXG4gIE5vbmUgPSAwLFxyXG4gIFBsYW5uZXJPbmx5ID0gMSxcclxuICBFeGVjdXRvck9ubHkgPSAyLFxyXG4gIEJvdGggPSAzLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlIHtcclxuICBOb25lID0gMCxcclxuICBOZXdBbmFseXNpcyA9IDEsXHJcbiAgQW5hbHlzaXNDb21wbGV0ZWQgPSAxIDw8IDEsXHJcbiAgQW5hbHlzaXNOb3RpY2VQZXJpb2RTdGFydGVkID0gMSA8PCAyLFxyXG4gIEFuYWx5c2lzUGVyaW9kRXhwaXJlZCA9IDEgPDwgMyxcclxuICBBbmFseXNpc0xhd0NoYW5nZWQgPSAxIDw8IDE0LFxyXG4gIE5ld1BsYW5uaW5nID0gMSA8PCAxMyxcclxuICBQbGFubmluZ0NvbXBsZXRlZCA9IDEgPDwgNCxcclxuICBQbGFubmluZ05vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDUsXHJcbiAgUGxhbm5pbmdQZXJpb2RFeHBpcmVkID0gMSA8PCA2LFxyXG4gIE5ld1ZhbGlkYXRpb24gPSAxIDw8IDE1LFxyXG4gIFZhbGlkYXRpb25Db21wbGV0ZWQgPSAxIDw8IDcsXHJcbiAgVmFsaWRhdGlvbk5vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDgsXHJcbiAgVmFsaWRhdGlvblBlcmlvZEV4cGlyZWQgPSAxIDw8IDksXHJcbiAgTmV3RGVhZGxpbmUgPSAxIDw8IDE2LFxyXG4gIERlYWRsaW5lTm90aWNlUGVyaW9kU3RhcnRlZCA9IDEgPDwgMTAsXHJcbiAgRGVhZGxpbmVFeHBpcmVkID0gMSA8PCAxMSxcclxuICBBY3Rpdml0eUNvbXBsZXRlZCA9IDEgPDwgMTIsXHJcbiAgLy9OZXdOb25jb21wbGlhbmNlID0gMSA8PCAxNyxcclxuICAvL05vbkNvbXBsaWFuY2VOb3RpY2VQZXJpb2RTdGFydGVkID0gMSA8PCAxOCxcclxuICAvL05vbkNvbXBsaWFuY2VQZXJpb2RFeHBpcmVkID0gMSA8PCAxOSxcclxuICAvL05vbkNvbXBsaWFuY2VDb21wbGV0ZWQgPSAxIDw8IDIwLFxyXG4gIExhd0NoYW5nZWQgPSAxIDw8IDIxLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlUmVnaXN0ZXJTaXRlSW1wb3J0T3B0aW9uc1xyXG57XHJcbiAgICBDb3B5QXR0YWNobWVudHMgPSAxLFxyXG4gICAgS2VlcE9yaWdpbmFsRGF0ZXMgPSAxIDw8IDEsXHJcbiAgICBEdXBsaWNhdGVMYXdzID0gIDEgPDwgMixcclxuICAgIERpc2NhcmROb3RBcHBsaWNhYmxlcyA9IDEgPDwgM1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgUHJvZmlsZVJvbGVzID0gW1xyXG4gIHsgbmFtZTogJ0FuYWxpc3RhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5BbmFseXN0IH0sXHJcbiAgeyBuYW1lOiAnR2VzdG9yZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZVJvbGUuUGxhbm5lciB9LFxyXG4gIC8veyBuYW1lOiAnVmFsaWRhdG9yZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZVJvbGUuVmFsaWRhdG9yIH0sXHJcbiAgeyBuYW1lOiAnRXNlY3V0b3JlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5FeGVjdXRvciB9LFxyXG4gIHsgbmFtZTogJ09zc2VydmF0b3JlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZS5PYnNlcnZlciB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IFByb2ZpbGVGbGFncyA9IFtcclxuICB7IG5hbWU6ICdEZXJvZ2hlIGUgbGltaXRhemlvbmknLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTpcclxuICAgICAgJ1F1ZXN0byBwcm9maWxvIHJpY2V2ZSByZWdvbGFybWVudGUgbGUgbm90aWZpY2hlIGluZGlwZW5kZW50ZW1lbnRlIGRhbGxhIGNvbmZpZ3VyYXppb25lIGdlbmVyYWxlIGRlbCByZWdpc3RybycsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVByb2ZpbGVGbGFncy5PdmVycmlkZU5vdGlmaWNhdGlvblJlZ2lzdGVyU2V0dGluZ3MsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBTY29wZXMgPSBbXHJcbiAgeyBuYW1lOiAnQW1iaWVudGUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLkVudmlyb25tZW50IH0sXHJcbiAgeyBuYW1lOiAnU2FsdXRlIGUgc2ljdXJlenphJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5TYWZldHkgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnU2ljdXJlenphIGFsaW1lbnRhcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5Gb29kU2FmZXR5LFxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnRW5lcmdpYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuRW5lcmd5IH0sXHJcbiAgeyBuYW1lOiAnU2Vydml6aSBnZW5lcmFsaScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuRmFjaWxpdHkgfSxcclxuICB7IG5hbWU6ICdNYW51dGVuemlvbmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLk1haW50ZW5hbmNlIH0sXHJcbiAgeyBuYW1lOiAnUXVhbGl0w6AnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLlF1YWxpdHkgfSxcclxuICB7IG5hbWU6ICdPcmdhbml6emF6aW9uZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuT3JnYW5pemF0aW9uIH0sXHJcbiAgeyBuYW1lOiAnTG9naXN0aWNhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5Mb2dpc3RpY3MgfSxcclxuICB7IG5hbWU6ICdTZWN1cml0eScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuU2VjdXJpdHkgfSxcclxuICAgXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uTGltaXRzID0gW1xyXG4gIHsgbmFtZTogJ05lc3N1bmEgbGltaXRhemlvbmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0Lk5vbmUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnU29sbyBnZXN0b3JlIGNoZSBoYSBwaWFuaWZpY2F0bycsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0LlBsYW5uZXJPbmx5LFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJTb2xvIGFsbCdpbmNhcmljYXRvIGRlc2lnbmF0b1wiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VOb3RpZmljYXRpb25MaW1pdC5FeGVjdXRvck9ubHksXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnU29sbyBhIGdlc3RvcmUgZSBpbmNhcmljYXRvIGRlc2lnbmF0bycsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0LkJvdGgsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb25zID0gW1xyXG4gIHsgbmFtZTogJ1ZlcmlmaWNhIGFwcGxpY2FiaWxpdMOgIGUgYW5hbGlzaScsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnUmljaGllc3RhIGFuYWxpc2knLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTmV3QW5hbHlzaXMsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIlByZWF2dmlzbzogc3RhIHBlciBzY2FkZXJlIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbCdhbmFsaXNpXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5BbmFseXNpc05vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIkFsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FuYWxpc2lcIixcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFuYWx5c2lzUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBbmFsaXNpIGNvbXBsZXRhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQW5hbHlzaXNDb21wbGV0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXZ2aXNvIG5vcm1hIG1vZGlmaWNhdGEgZGFsIGxlZ2lzbGF0b3JlJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFuYWx5c2lzTGF3Q2hhbmdlZCxcclxuICB9LFxyXG4gIHsgbmFtZTogJ1BpYW5pZmljYXppb25pJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdSaWNoaWVzdGEgZ2VzdGlvbmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTmV3UGxhbm5pbmcsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnUHJlYXZ2aXNvOiBzdGEgcGVyIHNjYWRlcmUgaWwgdGVybWluZSBmaXNzYXRvIHBlciBsYSBnZXN0aW9uZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5QbGFubmluZ05vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGxhIGdlc3Rpb25lJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlBsYW5uaW5nUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdHZXN0aW9uZSBjb21wbGV0YXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlBsYW5uaW5nQ29tcGxldGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0F0dGl2aXTDoCBjb21wbGV0YXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFjdGl2aXR5Q29tcGxldGVkLFxyXG4gIH0sXHJcbiAgLyp7IG5hbWU6ICdHZXN0aW9uZSBub24gY29uZm9ybWl0w6AnLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FwZXJ0dXJhIG5vbiBjb21mb3JtaXTDoCcsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdOb25jb21wbGlhbmNlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTpcclxuICAgICAgXCJQcmVhdnZpc286IHN0YSBwZXIgc2NhZGVyZSBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYXppb25lIGNvcnJldHRpdmFcIixcclxuICAgIHZhbHVlOlxyXG4gICAgICBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLk5vbkNvbXBsaWFuY2VOb3RpY2VQZXJpb2RTdGFydGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJBbGxhcm1lOiDDqCBzY2FkdXRvIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbCdhemlvbmUgY29ycmV0dGl2YVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTm9uQ29tcGxpYW5jZVBlcmlvZEV4cGlyZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQ2hpdXN1cmEgbm9uIGNvbmZvcm1pdMOgJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLk5vbkNvbXBsaWFuY2VDb21wbGV0ZWQsXHJcbiAgfSwqL1xyXG4gIC8qeyBuYW1lOiAnQXBwcm92YXppb25pJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHsgbmFtZTogJ1JpY2hpZXN0YSBhcHByb3ZhemlvbmUnLCB2YWx1ZTogMSA8PCAxNCB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiUHJlYXZ2aXNvOiBzdGEgcGVyIHNjYWRlcmUgaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FwcHJvdmF6aW9uZVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuVmFsaWRhdGlvbk5vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIkFsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FwcHJvdmF6aW9uZVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuVmFsaWRhdGlvblBlcmlvZEV4cGlyZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXBwcm92YXppb25lIGNvbmNlc3NhIG8gbmVnYXRhJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlZhbGlkYXRpb25Db21wbGV0ZWQsXHJcbiAgfSwqL1xyXG4gIHsgbmFtZTogJ1NjYWRlbnplJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdQcmVhdnZpc286IDHCsCBwcm9tZW1vcmlhIHN1bGxhIGRhdGEgZGkgc2NhZGVuemEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTmV3VmFsaWRhdGlvbixcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBdnZpc286IDLCsCBwcm9tZW1vcmlhIHN1bGxhIGRhdGEgZGkgc2NhZGVuemEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuRGVhZGxpbmVOb3RpY2VQZXJpb2RTdGFydGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5EZWFkbGluZUV4cGlyZWQsXHJcbiAgfSxcclxuICB7IG5hbWU6ICdOb3JtZSBjb2xsZWdhdGUnLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ01vZGlmaWNhIG8gYWJyb2dhemlvbmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTGF3Q2hhbmdlZCxcclxuICB9LFxyXG5cclxuXTtcclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VMYXdTdGF0ZSB7XHJcbiAgQXBwbGljYWJsZU9yQWtub3dsZWRnZWQgPSAxLFxyXG4gIE5vdEFwcGxpY2FibGUgPSAyLFxyXG4gIE5vdEFuYWx5emVkID0gMyxcclxuICBFeHBpcmVkQW5hbHlzaXMgPSA0LFxyXG4gIFVwZGF0ZWRMYXdzID0gNSxcclxuICBBbmFseXplZCA9IDYsXHJcbiAgQWJyb2dhdGVkID0gNyxcclxuICBBcHBsaWNhYmxlID0gOCxcclxuICBBa25vd2xlZGdlZCA9IDlcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZUxhd09yaWdpbiB7XHJcbiAgTmF0aW9uYWwgPSAxLFxyXG4gIEVVID0gMixcclxuICBSZWdpb25hbCA9IDMsXHJcbiAgTG9jYWwgPSA0LFxyXG4gIFRlY2huaWNhbCA9IDUsXHJcbiAgVm91bG9udGFyeSA9IDYsXHJcbiAgSW50ZXJuYWwgPSA3LFxyXG4gIE90aGVyID0gOCxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IExhd1N0YXRlcyA9IFtcclxuICB7IG5hbWU6ICdBcHBsaWNhYmlsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuQXBwbGljYWJsZSB9LFxyXG4gIHsgbmFtZTogJ0RhIGNvbm9zY2VyZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuQWtub3dsZWRnZWQgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXBwbGljYWJpbGUgLyBkYSBjb25vc2NlcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BcHBsaWNhYmxlT3JBa25vd2xlZGdlZCxcclxuICB9LFxyXG4gIHsgbmFtZTogJ05vbiBhcHBsaWNhYmlsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuTm90QXBwbGljYWJsZSB9LFxyXG4gIHsgbmFtZTogJ0Ficm9nYXRhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BYnJvZ2F0ZWQgfSxcclxuICB7IG5hbWU6ICdBbmFsaXp6YXRhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BbmFseXplZCB9LFxyXG4gIHsgbmFtZTogJ0RhIGRlZmluaXJlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5Ob3RBbmFseXplZCB9LCAgXHJcbiAgeyBuYW1lOiAnSW4gcml0YXJkbycsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuRXhwaXJlZEFuYWx5c2lzIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0NvbiBhZ2dpb3JuYW1lbnRpIHBlbmRlbnRpJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuVXBkYXRlZExhd3MsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBMYXdPcmlnaW5zID0gW1xyXG4gIHsgbmFtZTogJ05hemlvbmFsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLk5hdGlvbmFsIH0sXHJcbiAgeyBuYW1lOiAnQ29tdW5pdGFyaWEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5FVSB9LFxyXG4gIHsgbmFtZTogJ1JlZ2lvbmFsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLlJlZ2lvbmFsIH0sXHJcbiAgeyBuYW1lOiAnTG9jYWxlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uTG9jYWwgfSxcclxuICB7IG5hbWU6ICdUZWNuaWNhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uVGVjaG5pY2FsIH0sXHJcbiAgeyBuYW1lOiAnSW50ZXJuYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLkludGVybmFsIH0sXHJcbiAgeyBuYW1lOiAnVm9sb250YXJpYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLlZvdWxvbnRhcnkgfSxcclxuICB7IG5hbWU6ICdBbHRybycsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLk90aGVyIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgTGF3Q2hhbmdlU3RhdGVzID0gW1xyXG4gIHsgbmFtZTogJ0FwZXJ0bycsIHZhbHVlOiAxIH0sXHJcbiAgeyBuYW1lOiAnQ2hpdXNvJywgdmFsdWU6IDIgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlIHtcclxuICBOb3RQbGFubmVkID0gMSA8PCA3LFxyXG4gIENsb3NlZCA9IDEgPDwgMiwgIFxyXG4gIEV4cGlyZWQgPSAxIDw8IDMsXHJcbiAgUGxhbm5lZCA9IDEgPDwgOCxcclxuICBDYW5jZWxsZWQgPSAxIDw8IDksXHJcbiAgVXBkYXRlZExhd3MgPSAxIDw8IDEwLFxyXG4gIEFscmVhZHlNYW5hZ2VkID0gMSA8PCAxMVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQWN0aXZpdHlTdGF0ZXMgPSBbIFxyXG4gIHtcclxuICAgIG5hbWU6ICdEYSBkZWZpbmlyZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuTm90UGxhbm5lZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdQaWFuaWZpY2F0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuUGxhbm5lZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdDaGl1c2EnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlLkNsb3NlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdJbiByaXRhcmRvJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlQWN0aXZpdHlTdGF0ZS5FeHBpcmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FubnVsbGF0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuQ2FuY2VsbGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0dlc3RpdGEgc2VwYXJhdGFtZW50ZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuQWxyZWFkeU1hbmFnZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQ29uIGFnZ2lvcm5hbWVudGkgcGVuZGVudGknLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlLlVwZGF0ZWRMYXdzLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgT2JsaWdhdGlvblR5cGVzID0gW1xyXG4gIHsgbmFtZTogJ0F1dG9yaXp6YXppb25lJywgdmFsdWU6IDEgfSxcclxuICB7IG5hbWU6ICdWZXJpZmljaGUgcGVyaW9kaWNoZSBtYW51dGVudGl2ZScsIHZhbHVlOiAyIH0sXHJcbiAgeyBuYW1lOiAnTWlzdXJlIG9yZ2FuaXp6YXRpdmUnLCB2YWx1ZTogMyB9LFxyXG4gIHsgbmFtZTogJ0NvbnRyb2xsaSBlIG1pc3VyYXppb25pJywgdmFsdWU6IDQgfSxcclxuICB7IG5hbWU6ICdFbnRyYXRhIGluIHZpZ29yZScsIHZhbHVlOiA1IH0sXHJcbiAgeyBuYW1lOiAnRG9jdW1lbnRpIGF6aWVuZGFsaSBvYmJsaWdhdG9yaScsIHZhbHVlOiA2IH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FsdHJpIGFkZW1waW1lbnRpIGZvcm1hbGkgKGNvbXVuaWNhemlvbmksIGRpY2hpYXJhemlvbmksIGVjYy4uLiknLFxyXG4gICAgdmFsdWU6IDcsXHJcbiAgfSxcclxuICB7IG5hbWU6ICdBbHRybycsIHZhbHVlOiA5OSB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IE9ibGlnYXRpb25BdXRob3JpdGllcyA9IFtcclxuICB7IG5hbWU6ICdBZ2VuemlhIEVDSEEnLCB2YWx1ZTogMSB9LFxyXG4gIHsgbmFtZTogJ0FsYm8gTmF6aW9uYWxlIGRlaSBHZXN0b3JpIEFtYmllbnRhbGknLCB2YWx1ZTogMiB9LFxyXG4gIHsgbmFtZTogJ0FSUEEnLCB2YWx1ZTogNCB9LFxyXG4gIHsgbmFtZTogJ0FTTCcsIHZhbHVlOiA1IH0sXHJcbiAgeyBuYW1lOiAnQ2FtZXJhIGRpIENvbW1lcmNpbycsIHZhbHVlOiA4IH0sXHJcbiAgeyBuYW1lOiAnQ29tYW5kbyBwcm92aW5jaWFsZSBkZWkgVmlnaWxpIGRlbCBGdW9jbycsIHZhbHVlOiAxMCB9LFxyXG4gIHsgbmFtZTogJ0NvbXVuZScsIHZhbHVlOiAxMyB9LFxyXG4gIHsgbmFtZTogJ0NvbnNvcnppIGdlc3Rpb25lIHJpZml1dGkgcGFydGljb2xhcmknLCB2YWx1ZTogMTQgfSxcclxuICB7IG5hbWU6ICdHZXN0b3JlIGRlbCBzZXJ2aXppbycsIHZhbHVlOiAyMSB9LFxyXG4gIHsgbmFtZTogJ0dlc3RvcmUgZGVsbGEgcmV0ZSBkaSB0cmFzbWlzc2lvbmUgbmF6aW9uYWxlJywgdmFsdWU6IDIyIH0sXHJcbiAgeyBuYW1lOiAnSU5BSUwgLSBJUFNFTUEgLSBJU1BFU0wnLCB2YWx1ZTogMjMgfSxcclxuICB7IG5hbWU6ICdJU1BSQScsIHZhbHVlOiAyNiB9LFxyXG4gIHsgbmFtZTogJ01pbmlzdGVybycsIHZhbHVlOiAyNyB9LFxyXG4gIHsgbmFtZTogJ0dlbmlvIGNpdmlsZScsIHZhbHVlOiAzMCB9LFxyXG4gIHsgbmFtZTogJ09yZ2FubyBkaSB2aWdpbGFuemEgY29tcGV0ZW50ZScsIHZhbHVlOiAzMSB9LFxyXG4gIHsgbmFtZTogJ1Byb3ZpbmNpYScsIHZhbHVlOiAzMyB9LFxyXG4gIHsgbmFtZTogJ1JlZ2lvbmUnLCB2YWx1ZTogMzUgfSxcclxuICB7IG5hbWU6ICdVZmZpY2kgdGVjbmljaSBkaSBmaW5hbnphJywgdmFsdWU6IDM2IH0sXHJcbiAgeyBuYW1lOiAnSXNwZXR0b3JhdG8gZGVsIGxhdm9ybycsIHZhbHVlOiAzNyB9LFxyXG4gIHsgbmFtZTogJ0NvbWl0YXRvIFJlZ2lvbmFsZSBUZWNuaWNvIFZGJywgdmFsdWU6IDM4IH0sXHJcbiAgeyBuYW1lOiAnUHJlZmV0dG8nLCB2YWx1ZTogMzkgfSxcclxuICB7IG5hbWU6ICdPcmdhbmlzbW8gbm90aWZpY2F0bycsIHZhbHVlOiA0MCB9LFxyXG4gIHsgbmFtZTogJ0NpdHTDoCBNZXRyb3BvbGl0YW5hJywgdmFsdWU6IDQxIH0sXHJcbiAgeyBuYW1lOiAnTmVzc3VuYScsIHZhbHVlOiAyOCB9LFxyXG4gIHsgbmFtZTogJ0FsdHJvJywgdmFsdWU6IDMgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGVudW0gRVJQUmVjdXJyZW5jZUZyZXF1ZW5jeVR5cGUge1xyXG4gIERheSA9IDEsXHJcbiAgTW9udGggPSAyLFxyXG4gIFllYXIgPSAzLFxyXG59XHJcbmV4cG9ydCBjb25zdCBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZXMgPSBbXHJcbiAgeyBuYW1lOiAnQW5uaScsIHZhbHVlOiBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZS5ZZWFyIH0sXHJcbiAgeyBuYW1lOiAnTWVzaScsIHZhbHVlOiBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZS5Nb250aCB9LFxyXG4gIHsgbmFtZTogJ0dpb3JuaScsIHZhbHVlOiBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZS5EYXkgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXZvbHV0aW9uTG9naW5SZXN1bHQgZXh0ZW5kcyBMb2dpblJlc3VsdDxFdm9sdXRpb25Vc2VySW5mbz4ge1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2b2x1dGlvbkxvZ2luSW5mbyB7XHJcbiAgY29udGV4dDogRXZvbHV0aW9uVXNlckluZm87XHJcbiAgY29tcGxpYW5jZUNvbnRleHQ/OiAgfCBudWxsO1xyXG4gIHVzZXJDcmVkZW50aWFscz86IHN0cmluZyB8IG51bGw7XHJcbiAgdXNlcklkPzogbnVtYmVyIHwgbnVsbDtcclxuICBPQVVUSD86IExvZ2luT0F1dGhUeXBlIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9sdXRpb25Vc2VyTGluayB7XHJcbiAgaWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIHVzZXJJZDogbnVtYmVyO1xyXG4gIHVzZXJOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICBrZXk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9sdXRpb25Vc2VyTW9kdWxlSW5mbyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG1vZHVsZTogbnVtYmVyO1xyXG4gIGxldmVsOiBudW1iZXI7XHJcbiAgaGlkZGVuOiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9sdXRpb25MaWNlbmNlTW9kdWxlSW5mbyB7XHJcbiAgICBtb2R1bGU6IEVSUE1vZHVsZTtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGF2YWlsYWJsZVVzZXJzOiBudW1iZXI7XHJcbiAgICB1c2VkVXNlcnM6IG51bWJlcjtcclxuICAgIGF2YWlsYWJsZU9wdGlvbjE/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgdXNlZE9wdGlvbjE/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgYXZhaWxhYmxlT3B0aW9uMj86IG51bWJlciB8IG51bGw7XHJcbiAgICB1c2VkT3B0aW9uMj86IG51bWJlciB8IG51bGw7XHJcbiAgICBhdmFpbGFibGVPcHRpb24zPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIHVzZWRPcHRpb24zPzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9sdXRpb25Vc2VySW5mbyB7XHJcbiAgICBsaWNlbmNlSWQ6IG51bWJlcjtcclxuICAgIHVzZXJJZDogbnVtYmVyO1xyXG4gICAgY29tcGFueU5hbWU6IHN0cmluZztcclxuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gICAgZnVsbE5hbWU6IHN0cmluZztcclxuICAgIGZsYWdzPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIGVtYWlsOiBzdHJpbmc7XHJcbiAgICBzZXNzaW9uSWQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgaXNUZW1wb3Jhcnk/OiBib29sZWFuIHwgbnVsbDtcclxuICAgIHJvbGU6IG51bWJlcjtcclxuICAgIHNjb3BlOiBudW1iZXI7XHJcbiAgICByb2xlTmFtZTogc3RyaW5nO1xyXG4gICAgcm9sZUxldmVsOiBudW1iZXI7XHJcbiAgICBhbGxvd2VkTW9kdWxlczogRXZvbHV0aW9uVXNlck1vZHVsZUluZm9bXTtcclxuICAgIGRhc2hib2FyZD86IG51bWJlciB8IG51bGw7XHJcbiAgICBkYXNoYm9hcmQyPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGNvZGU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgc3ViamVjdElkPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIHN1YmplY3ROYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHNpdGVJZD86IG51bWJlciB8IG51bGw7XHJcbiAgICBzaXRlTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBzaXRlQ29zdENlbnRlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICBkZXBhcnRtZW50SWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgZGVwYXJ0bWVudE5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgZXhwaXJ5RGF0ZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBpc0V4cGlyZWQ/OiBib29sZWFuIHwgbnVsbDtcclxuICAgIGlzQWRtaW5pc3RyYXRvcj86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXNQb3dlclVzZXI/OiBib29sZWFuIHwgbnVsbDtcclxuICAgIGlzT2JzZXJ2ZXI/OiBib29sZWFuIHwgbnVsbDtcclxuICAgIGlzVXNlcj86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXNTdXBwb3J0VXNlcj86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXNHb2Q/OiBib29sZWFuIHwgbnVsbDtcclxuICAgIGFkbWluaXN0cmF0b3JzOiBzdHJpbmc7XHJcbiAgICBhdmFpbGFibGVNb2R1bGVzOiBFdm9sdXRpb25MaWNlbmNlTW9kdWxlSW5mb1tdO1xyXG4gICAgYXZhaWxhYmxlRW1wbG95ZWVzOiBudW1iZXI7XHJcbiAgICB1c2VkRW1wbG95ZWVzOiBudW1iZXI7XHJcbiAgICBhdmFpbGFibGVTdG9yYWdlOiBudW1iZXI7XHJcbiAgICB1c2VkU3RvcmFnZTogbnVtYmVyO1xyXG59Il19
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvZXZvbHV0aW9uLmNvbW1vbi9jb21tb24vZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFOLElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQixpRUFBUSxDQUFBO0lBQ1IsNkZBQXNCLENBQUE7SUFDdEIscUhBQXVDLENBQUE7QUFFekMsQ0FBQyxFQUxXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFLaEM7QUFFRCxNQUFNLENBQU4sSUFBWSxTQVdYO0FBWEQsV0FBWSxTQUFTO0lBRWpCLHFEQUFjLENBQUE7SUFDZCx1Q0FBWSxDQUFBO0lBQ1osMkVBQThCLENBQUE7SUFDOUIseUVBQTZCLENBQUE7SUFDN0IsNEVBQThCLENBQUE7SUFDOUIsMERBQXFCLENBQUE7SUFDckIsc0RBQW1CLENBQUE7SUFDbkIscURBQWtCLENBQUE7QUFFdEIsQ0FBQyxFQVhXLFNBQVMsS0FBVCxTQUFTLFFBV3BCO0FBRUQsTUFBTSxDQUFOLElBQVksOEJBR1g7QUFIRCxXQUFZLDhCQUE4QjtJQUN4QywyRkFBWSxDQUFBO0lBQ1osMkZBQVksQ0FBQTtBQUNkLENBQUMsRUFIVyw4QkFBOEIsS0FBOUIsOEJBQThCLFFBR3pDO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBT1g7QUFQRCxXQUFZLHdCQUF3QjtJQUNsQyx1RUFBUSxDQUFBO0lBQ1IsNkVBQVcsQ0FBQTtJQUNYLDZFQUFnQixDQUFBO0lBQ2hCLGlGQUFrQixDQUFBO0lBQ2xCLCtFQUFpQixDQUFBO0lBQ2pCLGdGQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBT25DO0FBRUQsTUFBTSxDQUFOLElBQVkseUJBR1g7QUFIRCxXQUFZLHlCQUF5QjtJQUVuQywwSUFBNkMsQ0FBQTtBQUMvQyxDQUFDLEVBSFcs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WSwwQkFJWDtBQUpELFdBQVksMEJBQTBCO0lBQ3BDLHlFQUFPLENBQUE7SUFDUCw2RUFBUyxDQUFBO0lBQ1QsMkVBQVEsQ0FBQTtBQUNWLENBQUMsRUFKVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBSXJDO0FBQ0QsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUc7SUFDL0MsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxJQUFJLEVBQUU7SUFDeEQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxLQUFLLEVBQUU7SUFDekQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSwwQkFBMEIsQ0FBQyxHQUFHLEVBQUU7Q0FDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2luUmVzdWx0IH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgTG9naW5PQXV0aFR5cGUgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLm9hdXRoJztcclxuXHJcbmV4cG9ydCBlbnVtIEV2b2x1dGlvblNlcnZpY2VGbGFncyB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgTm90aWZ5U3lzdGVtRXJyb3JzID0gMSxcclxuICBEaXNwbGF5Q29ubmVjdGlvblN0YXRlTWVzc2FnZXMgPSAxIDw8IDFcclxuICBcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRVJQTW9kdWxlXHJcbntcclxuICAgIEZvcm1hemlvbmUgPSAxLFxyXG4gICAgRFBJID0gMSA8PCAxLFxyXG4gICAgU29ydmVnbGlhbnphU2FuaXRhcmlhID0gMSA8PCAyLFxyXG4gICAgUmVnaXN0cm9FU2NhZGVuemFyaW8gPSAxIDw8IDMsXHJcbiAgICBBdHRyZXp6YXR1cmVFSW1waWFudGkgPSAxIDw8IDQsXHJcbiAgICBNb25pdG9yYWdnaW8gPSAxIDw8IDUsXHJcbiAgICBCb2xsZXR0aW5vID0gMSA8PCA2LFxyXG4gICAgRG9jdW1lbnRpID0gMSA8PCA3XHJcblxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTGF3c1NlbGVjdGlvblR5cGUge1xyXG4gIEFuYWx5c2lzID0gMSxcclxuICBBY3Rpdml0eSA9IDIsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VQcm9maWxlUm9sZSB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgQW5hbHlzdCA9IDEsXHJcbiAgUGxhbm5lciA9IDEgPDwgMSxcclxuICBWYWxpZGF0b3IgPSAxIDw8IDIsXHJcbiAgRXhlY3V0b3IgPSAxIDw8IDMsXHJcbiAgT2JzZXJ2ZXIgPSAxIDw8IDQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VQcm9maWxlRmxhZ3Mge1xyXG5cclxuICBPdmVycmlkZU5vdGlmaWNhdGlvblJlZ2lzdGVyU2V0dGluZ3MgPSAxIDw8IDQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVSUENvbXBsaWFuY2VTY29wZSB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgRW52aXJvbm1lbnQgPSAxLFxyXG4gIFNhZmV0eSA9IDEgPDwgMSxcclxuICBGb29kU2FmZXR5ID0gMSA8PCAyLFxyXG4gIEVuZXJneSA9IDEgPDwgMyxcclxuICBIZWFsdGggPSAxIDw8IDQsXHJcbiAgTWFpbnRlbmFuY2UgPSAxIDw8IDUsXHJcbiAgUXVhbGl0eSA9IDEgPDwgNixcclxuICBPcmdhbml6YXRpb24gPSAxIDw8IDcsXHJcbiAgTG9naXN0aWNzID0gMSA8PCA4LFxyXG4gIEZhY2lsaXR5ID0gMSA8PCA5LFxyXG4gIFNlY3VyaXR5ID0gMSA8PCAxMFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTm90aWZpY2F0aW9uTGltaXQge1xyXG4gIE5vbmUgPSAwLFxyXG4gIFBsYW5uZXJPbmx5ID0gMSxcclxuICBFeGVjdXRvck9ubHkgPSAyLFxyXG4gIEJvdGggPSAzLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlIHtcclxuICBOb25lID0gMCxcclxuICBOZXdBbmFseXNpcyA9IDEsXHJcbiAgQW5hbHlzaXNDb21wbGV0ZWQgPSAxIDw8IDEsXHJcbiAgQW5hbHlzaXNOb3RpY2VQZXJpb2RTdGFydGVkID0gMSA8PCAyLFxyXG4gIEFuYWx5c2lzUGVyaW9kRXhwaXJlZCA9IDEgPDwgMyxcclxuICBBbmFseXNpc0xhd0NoYW5nZWQgPSAxIDw8IDE0LFxyXG4gIE5ld1BsYW5uaW5nID0gMSA8PCAxMyxcclxuICBQbGFubmluZ0NvbXBsZXRlZCA9IDEgPDwgNCxcclxuICBQbGFubmluZ05vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDUsXHJcbiAgUGxhbm5pbmdQZXJpb2RFeHBpcmVkID0gMSA8PCA2LFxyXG4gIE5ld1ZhbGlkYXRpb24gPSAxIDw8IDE1LFxyXG4gIFZhbGlkYXRpb25Db21wbGV0ZWQgPSAxIDw8IDcsXHJcbiAgVmFsaWRhdGlvbk5vdGljZVBlcmlvZFN0YXJ0ZWQgPSAxIDw8IDgsXHJcbiAgVmFsaWRhdGlvblBlcmlvZEV4cGlyZWQgPSAxIDw8IDksXHJcbiAgTmV3RGVhZGxpbmUgPSAxIDw8IDE2LFxyXG4gIERlYWRsaW5lTm90aWNlUGVyaW9kU3RhcnRlZCA9IDEgPDwgMTAsXHJcbiAgRGVhZGxpbmVFeHBpcmVkID0gMSA8PCAxMSxcclxuICBBY3Rpdml0eUNvbXBsZXRlZCA9IDEgPDwgMTIsXHJcbiAgLy9OZXdOb25jb21wbGlhbmNlID0gMSA8PCAxNyxcclxuICAvL05vbkNvbXBsaWFuY2VOb3RpY2VQZXJpb2RTdGFydGVkID0gMSA8PCAxOCxcclxuICAvL05vbkNvbXBsaWFuY2VQZXJpb2RFeHBpcmVkID0gMSA8PCAxOSxcclxuICAvL05vbkNvbXBsaWFuY2VDb21wbGV0ZWQgPSAxIDw8IDIwLFxyXG4gIExhd0NoYW5nZWQgPSAxIDw8IDIxLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlUmVnaXN0ZXJTaXRlSW1wb3J0T3B0aW9uc1xyXG57XHJcbiAgICBDb3B5QXR0YWNobWVudHMgPSAxLFxyXG4gICAgS2VlcE9yaWdpbmFsRGF0ZXMgPSAxIDw8IDEsXHJcbiAgICBEdXBsaWNhdGVMYXdzID0gIDEgPDwgMixcclxuICAgIERpc2NhcmROb3RBcHBsaWNhYmxlcyA9IDEgPDwgM1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgRXZvbHV0aW9uQ29tcGxpYW5jZVByb2ZpbGVSb2xlcyA9IFtcclxuICB7IG5hbWU6ICdBbmFsaXN0YScsIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZVJvbGUuQW5hbHlzdCB9LFxyXG4gIHsgbmFtZTogJ0dlc3RvcmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVByb2ZpbGVSb2xlLlBsYW5uZXIgfSxcclxuICAvL3sgbmFtZTogJ1ZhbGlkYXRvcmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVByb2ZpbGVSb2xlLlZhbGlkYXRvciB9LFxyXG4gIHsgbmFtZTogJ0VzZWN1dG9yZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZVJvbGUuRXhlY3V0b3IgfSxcclxuICB7IG5hbWU6ICdPc3NlcnZhdG9yZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZVJvbGUuT2JzZXJ2ZXIgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBFdm9sdXRpb25Db21wbGlhbmNlUHJvZmlsZUZsYWdzID0gW1xyXG4gIHsgbmFtZTogJ0Rlcm9naGUgZSBsaW1pdGF6aW9uaScsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOlxyXG4gICAgICAnUXVlc3RvIHByb2ZpbG8gcmljZXZlIHJlZ29sYXJtZW50ZSBsZSBub3RpZmljaGUgaW5kaXBlbmRlbnRlbWVudGUgZGFsbGEgY29uZmlndXJhemlvbmUgZ2VuZXJhbGUgZGVsIHJlZ2lzdHJvJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUHJvZmlsZUZsYWdzLk92ZXJyaWRlTm90aWZpY2F0aW9uUmVnaXN0ZXJTZXR0aW5ncyxcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IEV2b2x1dGlvbkNvbXBsaWFuY2VTY29wZXMgPSBbXHJcbiAgeyBuYW1lOiAnQW1iaWVudGUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLkVudmlyb25tZW50IH0sXHJcbiAgeyBuYW1lOiAnU2FsdXRlIGUgc2ljdXJlenphJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5TYWZldHkgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnU2ljdXJlenphIGFsaW1lbnRhcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5Gb29kU2FmZXR5LFxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnRW5lcmdpYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuRW5lcmd5IH0sXHJcbiAgeyBuYW1lOiAnU2Vydml6aSBnZW5lcmFsaScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuRmFjaWxpdHkgfSxcclxuICB7IG5hbWU6ICdNYW51dGVuemlvbmUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLk1haW50ZW5hbmNlIH0sXHJcbiAgeyBuYW1lOiAnUXVhbGl0w6AnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZVNjb3BlLlF1YWxpdHkgfSxcclxuICB7IG5hbWU6ICdPcmdhbml6emF6aW9uZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuT3JnYW5pemF0aW9uIH0sXHJcbiAgeyBuYW1lOiAnTG9naXN0aWNhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VTY29wZS5Mb2dpc3RpY3MgfSxcclxuICB7IG5hbWU6ICdTZWN1cml0eScsIHZhbHVlOiBFUlBDb21wbGlhbmNlU2NvcGUuU2VjdXJpdHkgfSxcclxuICAgXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgRXZvbHV0aW9uQ29tcGxpYW5jZU5vdGlmaWNhdGlvbkxpbWl0cyA9IFtcclxuICB7IG5hbWU6ICdOZXNzdW5hIGxpbWl0YXppb25lJywgdmFsdWU6IEVSUENvbXBsaWFuY2VOb3RpZmljYXRpb25MaW1pdC5Ob25lIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ1NvbG8gZ2VzdG9yZSBjaGUgaGEgcGlhbmlmaWNhdG8nLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VOb3RpZmljYXRpb25MaW1pdC5QbGFubmVyT25seSxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiU29sbyBhbGwnaW5jYXJpY2F0byBkZXNpZ25hdG9cIixcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlTm90aWZpY2F0aW9uTGltaXQuRXhlY3V0b3JPbmx5LFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ1NvbG8gYSBnZXN0b3JlIGUgaW5jYXJpY2F0byBkZXNpZ25hdG8nLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VOb3RpZmljYXRpb25MaW1pdC5Cb3RoLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgRXZvbHV0aW9uQ29tcGxpYW5jZU5vdGlmaWNhdGlvbnMgPSBbXHJcbiAgeyBuYW1lOiAnVmVyaWZpY2EgYXBwbGljYWJpbGl0w6AgZSBhbmFsaXNpJywgZGl2aWRlcjogdHJ1ZSB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdSaWNoaWVzdGEgYW5hbGlzaScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdBbmFseXNpcyxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiUHJlYXZ2aXNvOiBzdGEgcGVyIHNjYWRlcmUgaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2FuYWxpc2lcIixcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkFuYWx5c2lzTm90aWNlUGVyaW9kU3RhcnRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYW5hbGlzaVwiLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQW5hbHlzaXNQZXJpb2RFeHBpcmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FuYWxpc2kgY29tcGxldGF0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5BbmFseXNpc0NvbXBsZXRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBdnZpc28gbm9ybWEgbW9kaWZpY2F0YSBkYWwgbGVnaXNsYXRvcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQW5hbHlzaXNMYXdDaGFuZ2VkLFxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnUGlhbmlmaWNhemlvbmknLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ1JpY2hpZXN0YSBnZXN0aW9uZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdQbGFubmluZyxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdQcmVhdnZpc286IHN0YSBwZXIgc2NhZGVyZSBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGxhIGdlc3Rpb25lJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLlBsYW5uaW5nTm90aWNlUGVyaW9kU3RhcnRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBbGxhcm1lOiDDqCBzY2FkdXRvIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbGEgZ2VzdGlvbmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuUGxhbm5pbmdQZXJpb2RFeHBpcmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0dlc3Rpb25lIGNvbXBsZXRhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuUGxhbm5pbmdDb21wbGV0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXR0aXZpdMOgIGNvbXBsZXRhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuQWN0aXZpdHlDb21wbGV0ZWQsXHJcbiAgfSxcclxuICAvKnsgbmFtZTogJ0dlc3Rpb25lIG5vbiBjb25mb3JtaXTDoCcsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXBlcnR1cmEgbm9uIGNvbWZvcm1pdMOgJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLk5ld05vbmNvbXBsaWFuY2UsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOlxyXG4gICAgICBcIlByZWF2dmlzbzogc3RhIHBlciBzY2FkZXJlIGlsIHRlcm1pbmUgZmlzc2F0byBwZXIgbCdhemlvbmUgY29ycmV0dGl2YVwiLFxyXG4gICAgdmFsdWU6XHJcbiAgICAgIEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTm9uQ29tcGxpYW5jZU5vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcIkFsbGFybWU6IMOoIHNjYWR1dG8gaWwgdGVybWluZSBmaXNzYXRvIHBlciBsJ2F6aW9uZSBjb3JyZXR0aXZhXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5Ob25Db21wbGlhbmNlUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdDaGl1c3VyYSBub24gY29uZm9ybWl0w6AnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuTm9uQ29tcGxpYW5jZUNvbXBsZXRlZCxcclxuICB9LCovXHJcbiAgLyp7IG5hbWU6ICdBcHByb3ZhemlvbmknLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAgeyBuYW1lOiAnUmljaGllc3RhIGFwcHJvdmF6aW9uZScsIHZhbHVlOiAxIDw8IDE0IH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJQcmVhdnZpc286IHN0YSBwZXIgc2NhZGVyZSBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYXBwcm92YXppb25lXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5WYWxpZGF0aW9uTm90aWNlUGVyaW9kU3RhcnRlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lIGZpc3NhdG8gcGVyIGwnYXBwcm92YXppb25lXCIsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5WYWxpZGF0aW9uUGVyaW9kRXhwaXJlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBcHByb3ZhemlvbmUgY29uY2Vzc2EgbyBuZWdhdGEnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VSZWdpc3Rlck5vdGlmaWNhdGlvblR5cGUuVmFsaWRhdGlvbkNvbXBsZXRlZCxcclxuICB9LCovXHJcbiAgeyBuYW1lOiAnU2NhZGVuemUnLCBkaXZpZGVyOiB0cnVlIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ1ByZWF2dmlzbzogMcKwIHByb21lbW9yaWEgc3VsbGEgZGF0YSBkaSBzY2FkZW56YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5OZXdWYWxpZGF0aW9uLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0F2dmlzbzogMsKwIHByb21lbW9yaWEgc3VsbGEgZGF0YSBkaSBzY2FkZW56YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5EZWFkbGluZU5vdGljZVBlcmlvZFN0YXJ0ZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQWxsYXJtZTogw6ggc2NhZHV0byBpbCB0ZXJtaW5lJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlUmVnaXN0ZXJOb3RpZmljYXRpb25UeXBlLkRlYWRsaW5lRXhwaXJlZCxcclxuICB9LFxyXG4gIHsgbmFtZTogJ05vcm1lIGNvbGxlZ2F0ZScsIGRpdmlkZXI6IHRydWUgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnTW9kaWZpY2EgbyBhYnJvZ2F6aW9uZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZVJlZ2lzdGVyTm90aWZpY2F0aW9uVHlwZS5MYXdDaGFuZ2VkLFxyXG4gIH0sXHJcblxyXG5dO1xyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZUxhd1N0YXRlIHtcclxuICBBcHBsaWNhYmxlT3JBa25vd2xlZGdlZCA9IDEsXHJcbiAgTm90QXBwbGljYWJsZSA9IDIsXHJcbiAgTm90QW5hbHl6ZWQgPSAzLFxyXG4gIEV4cGlyZWRBbmFseXNpcyA9IDQsXHJcbiAgVXBkYXRlZExhd3MgPSA1LFxyXG4gIEFuYWx5emVkID0gNixcclxuICBBYnJvZ2F0ZWQgPSA3LFxyXG4gIEFwcGxpY2FibGUgPSA4LFxyXG4gIEFrbm93bGVkZ2VkID0gOVxyXG59XHJcblxyXG5leHBvcnQgZW51bSBFUlBDb21wbGlhbmNlTGF3T3JpZ2luIHtcclxuICBOYXRpb25hbCA9IDEsXHJcbiAgRVUgPSAyLFxyXG4gIFJlZ2lvbmFsID0gMyxcclxuICBMb2NhbCA9IDQsXHJcbiAgVGVjaG5pY2FsID0gNSxcclxuICBWb3Vsb250YXJ5ID0gNixcclxuICBJbnRlcm5hbCA9IDcsXHJcbiAgT3RoZXIgPSA4LFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgRXZvbHV0aW9uQ29tcGxpYW5jZUxhd1N0YXRlcyA9IFtcclxuICB7IG5hbWU6ICdBcHBsaWNhYmlsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuQXBwbGljYWJsZSB9LFxyXG4gIHsgbmFtZTogJ0RhIGNvbm9zY2VyZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuQWtub3dsZWRnZWQgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQXBwbGljYWJpbGUgLyBkYSBjb25vc2NlcmUnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BcHBsaWNhYmxlT3JBa25vd2xlZGdlZCxcclxuICB9LFxyXG4gIHsgbmFtZTogJ05vbiBhcHBsaWNhYmlsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuTm90QXBwbGljYWJsZSB9LFxyXG4gIHsgbmFtZTogJ0Ficm9nYXRhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BYnJvZ2F0ZWQgfSxcclxuICB7IG5hbWU6ICdBbmFsaXp6YXRhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5BbmFseXplZCB9LFxyXG4gIHsgbmFtZTogJ0RhIGRlZmluaXJlJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdTdGF0ZS5Ob3RBbmFseXplZCB9LCAgXHJcbiAgeyBuYW1lOiAnSW4gcml0YXJkbycsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuRXhwaXJlZEFuYWx5c2lzIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0NvbiBhZ2dpb3JuYW1lbnRpIHBlbmRlbnRpJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3U3RhdGUuVXBkYXRlZExhd3MsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBFdm9sdXRpb25Db21wbGlhbmNlTGF3T3JpZ2lucyA9IFtcclxuICB7IG5hbWU6ICdOYXppb25hbGUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5OYXRpb25hbCB9LFxyXG4gIHsgbmFtZTogJ0NvbXVuaXRhcmlhJywgdmFsdWU6IEVSUENvbXBsaWFuY2VMYXdPcmlnaW4uRVUgfSxcclxuICB7IG5hbWU6ICdSZWdpb25hbGUnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5SZWdpb25hbCB9LFxyXG4gIHsgbmFtZTogJ0xvY2FsZScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLkxvY2FsIH0sXHJcbiAgeyBuYW1lOiAnVGVjbmljYScsIHZhbHVlOiBFUlBDb21wbGlhbmNlTGF3T3JpZ2luLlRlY2huaWNhbCB9LFxyXG4gIHsgbmFtZTogJ0ludGVybmEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5JbnRlcm5hbCB9LFxyXG4gIHsgbmFtZTogJ1ZvbG9udGFyaWEnLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5Wb3Vsb250YXJ5IH0sXHJcbiAgeyBuYW1lOiAnQWx0cm8nLCB2YWx1ZTogRVJQQ29tcGxpYW5jZUxhd09yaWdpbi5PdGhlciB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IEV2b2x1dGlvbkNvbXBsaWFuY2VMYXdDaGFuZ2VTdGF0ZXMgPSBbXHJcbiAgeyBuYW1lOiAnQXBlcnRvJywgdmFsdWU6IDEgfSxcclxuICB7IG5hbWU6ICdDaGl1c28nLCB2YWx1ZTogMiB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGVudW0gRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUge1xyXG4gIE5vdFBsYW5uZWQgPSAxIDw8IDcsXHJcbiAgQ2xvc2VkID0gMSA8PCAyLCAgXHJcbiAgRXhwaXJlZCA9IDEgPDwgMyxcclxuICBQbGFubmVkID0gMSA8PCA4LFxyXG4gIENhbmNlbGxlZCA9IDEgPDwgOSxcclxuICBVcGRhdGVkTGF3cyA9IDEgPDwgMTAsXHJcbiAgQWxyZWFkeU1hbmFnZWQgPSAxIDw8IDExXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBFdm9sdXRpb25Db21wbGlhbmNlQWN0aXZpdHlTdGF0ZXMgPSBbIFxyXG4gIHtcclxuICAgIG5hbWU6ICdEYSBkZWZpbmlyZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuTm90UGxhbm5lZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdQaWFuaWZpY2F0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuUGxhbm5lZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdDaGl1c2EnLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlLkNsb3NlZCxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdJbiByaXRhcmRvJyxcclxuICAgIHZhbHVlOiBFUlBDb21wbGlhbmNlQWN0aXZpdHlTdGF0ZS5FeHBpcmVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0FubnVsbGF0YScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuQ2FuY2VsbGVkLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogJ0dlc3RpdGEgc2VwYXJhdGFtZW50ZScsXHJcbiAgICB2YWx1ZTogRVJQQ29tcGxpYW5jZUFjdGl2aXR5U3RhdGUuQWxyZWFkeU1hbmFnZWQsXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiAnQ29uIGFnZ2lvcm5hbWVudGkgcGVuZGVudGknLFxyXG4gICAgdmFsdWU6IEVSUENvbXBsaWFuY2VBY3Rpdml0eVN0YXRlLlVwZGF0ZWRMYXdzLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgRXZvbHV0aW9uQ29tcGxpYW5jZU9ibGlnYXRpb25UeXBlcyA9IFtcclxuICB7IG5hbWU6ICdBdXRvcml6emF6aW9uZScsIHZhbHVlOiAxIH0sXHJcbiAgeyBuYW1lOiAnVmVyaWZpY2hlIHBlcmlvZGljaGUgbWFudXRlbnRpdmUnLCB2YWx1ZTogMiB9LFxyXG4gIHsgbmFtZTogJ01pc3VyZSBvcmdhbml6emF0aXZlJywgdmFsdWU6IDMgfSxcclxuICB7IG5hbWU6ICdDb250cm9sbGkgZSBtaXN1cmF6aW9uaScsIHZhbHVlOiA0IH0sXHJcbiAgeyBuYW1lOiAnRW50cmF0YSBpbiB2aWdvcmUnLCB2YWx1ZTogNSB9LFxyXG4gIHsgbmFtZTogJ0RvY3VtZW50aSBhemllbmRhbGkgb2JibGlnYXRvcmknLCB2YWx1ZTogNiB9LFxyXG4gIHtcclxuICAgIG5hbWU6ICdBbHRyaSBhZGVtcGltZW50aSBmb3JtYWxpIChjb211bmljYXppb25pLCBkaWNoaWFyYXppb25pLCBlY2MuLi4pJyxcclxuICAgIHZhbHVlOiA3LFxyXG4gIH0sXHJcbiAgeyBuYW1lOiAnQWx0cm8nLCB2YWx1ZTogOTkgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBFdm9sdXRpb25Db21wbGlhbmNlT2JsaWdhdGlvbkF1dGhvcml0aWVzID0gW1xyXG4gIHsgbmFtZTogJ0FnZW56aWEgRUNIQScsIHZhbHVlOiAxIH0sXHJcbiAgeyBuYW1lOiAnQWxibyBOYXppb25hbGUgZGVpIEdlc3RvcmkgQW1iaWVudGFsaScsIHZhbHVlOiAyIH0sXHJcbiAgeyBuYW1lOiAnQVJQQScsIHZhbHVlOiA0IH0sXHJcbiAgeyBuYW1lOiAnQVNMJywgdmFsdWU6IDUgfSxcclxuICB7IG5hbWU6ICdDYW1lcmEgZGkgQ29tbWVyY2lvJywgdmFsdWU6IDggfSxcclxuICB7IG5hbWU6ICdDb21hbmRvIHByb3ZpbmNpYWxlIGRlaSBWaWdpbGkgZGVsIEZ1b2NvJywgdmFsdWU6IDEwIH0sXHJcbiAgeyBuYW1lOiAnQ29tdW5lJywgdmFsdWU6IDEzIH0sXHJcbiAgeyBuYW1lOiAnQ29uc29yemkgZ2VzdGlvbmUgcmlmaXV0aSBwYXJ0aWNvbGFyaScsIHZhbHVlOiAxNCB9LFxyXG4gIHsgbmFtZTogJ0dlc3RvcmUgZGVsIHNlcnZpemlvJywgdmFsdWU6IDIxIH0sXHJcbiAgeyBuYW1lOiAnR2VzdG9yZSBkZWxsYSByZXRlIGRpIHRyYXNtaXNzaW9uZSBuYXppb25hbGUnLCB2YWx1ZTogMjIgfSxcclxuICB7IG5hbWU6ICdJTkFJTCAtIElQU0VNQSAtIElTUEVTTCcsIHZhbHVlOiAyMyB9LFxyXG4gIHsgbmFtZTogJ0lTUFJBJywgdmFsdWU6IDI2IH0sXHJcbiAgeyBuYW1lOiAnTWluaXN0ZXJvJywgdmFsdWU6IDI3IH0sXHJcbiAgeyBuYW1lOiAnR2VuaW8gY2l2aWxlJywgdmFsdWU6IDMwIH0sXHJcbiAgeyBuYW1lOiAnT3JnYW5vIGRpIHZpZ2lsYW56YSBjb21wZXRlbnRlJywgdmFsdWU6IDMxIH0sXHJcbiAgeyBuYW1lOiAnUHJvdmluY2lhJywgdmFsdWU6IDMzIH0sXHJcbiAgeyBuYW1lOiAnUmVnaW9uZScsIHZhbHVlOiAzNSB9LFxyXG4gIHsgbmFtZTogJ1VmZmljaSB0ZWNuaWNpIGRpIGZpbmFuemEnLCB2YWx1ZTogMzYgfSxcclxuICB7IG5hbWU6ICdJc3BldHRvcmF0byBkZWwgbGF2b3JvJywgdmFsdWU6IDM3IH0sXHJcbiAgeyBuYW1lOiAnQ29taXRhdG8gUmVnaW9uYWxlIFRlY25pY28gVkYnLCB2YWx1ZTogMzggfSxcclxuICB7IG5hbWU6ICdQcmVmZXR0bycsIHZhbHVlOiAzOSB9LFxyXG4gIHsgbmFtZTogJ09yZ2FuaXNtbyBub3RpZmljYXRvJywgdmFsdWU6IDQwIH0sXHJcbiAgeyBuYW1lOiAnQ2l0dMOgIE1ldHJvcG9saXRhbmEnLCB2YWx1ZTogNDEgfSxcclxuICB7IG5hbWU6ICdOZXNzdW5hJywgdmFsdWU6IDI4IH0sXHJcbiAgeyBuYW1lOiAnQWx0cm8nLCB2YWx1ZTogMyB9XHJcbl07XHJcblxyXG5leHBvcnQgZW51bSBFUlBSZWN1cnJlbmNlRnJlcXVlbmN5VHlwZSB7XHJcbiAgRGF5ID0gMSxcclxuICBNb250aCA9IDIsXHJcbiAgWWVhciA9IDMsXHJcbn1cclxuZXhwb3J0IGNvbnN0IEV2b2x1dGlvblJlY3VycmVuY2VGcmVxdWVuY3lUeXBlcyA9IFtcclxuICB7IG5hbWU6ICdBbm5pJywgdmFsdWU6IEVSUFJlY3VycmVuY2VGcmVxdWVuY3lUeXBlLlllYXIgfSxcclxuICB7IG5hbWU6ICdNZXNpJywgdmFsdWU6IEVSUFJlY3VycmVuY2VGcmVxdWVuY3lUeXBlLk1vbnRoIH0sXHJcbiAgeyBuYW1lOiAnR2lvcm5pJywgdmFsdWU6IEVSUFJlY3VycmVuY2VGcmVxdWVuY3lUeXBlLkRheSB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFdm9sdXRpb25Mb2dpblJlc3VsdCBleHRlbmRzIExvZ2luUmVzdWx0PEV2b2x1dGlvblVzZXJJbmZvPiB7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXZvbHV0aW9uTG9naW5JbmZvIHtcclxuICBjb250ZXh0OiBFdm9sdXRpb25Vc2VySW5mbztcclxuICBjb21wbGlhbmNlQ29udGV4dD86ICB8IG51bGw7XHJcbiAgdXNlckNyZWRlbnRpYWxzPzogc3RyaW5nIHwgbnVsbDtcclxuICB1c2VySWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gIE9BVVRIPzogTG9naW5PQXV0aFR5cGUgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2b2x1dGlvblVzZXJMaW5rIHtcclxuICBpZD86IG51bWJlciB8IG51bGw7XHJcbiAgdXNlcklkOiBudW1iZXI7XHJcbiAgdXNlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGtleTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2b2x1dGlvblVzZXJNb2R1bGVJbmZvIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbW9kdWxlOiBudW1iZXI7XHJcbiAgbGV2ZWw6IG51bWJlcjtcclxuICBoaWRkZW46IGJvb2xlYW47XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2b2x1dGlvbkxpY2VuY2VNb2R1bGVJbmZvIHtcclxuICAgIG1vZHVsZTogRVJQTW9kdWxlO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgYXZhaWxhYmxlVXNlcnM6IG51bWJlcjtcclxuICAgIHVzZWRVc2VyczogbnVtYmVyO1xyXG4gICAgYXZhaWxhYmxlT3B0aW9uMT86IG51bWJlciB8IG51bGw7XHJcbiAgICB1c2VkT3B0aW9uMT86IG51bWJlciB8IG51bGw7XHJcbiAgICBhdmFpbGFibGVPcHRpb24yPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIHVzZWRPcHRpb24yPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIGF2YWlsYWJsZU9wdGlvbjM/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgdXNlZE9wdGlvbjM/OiBudW1iZXIgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV2b2x1dGlvblVzZXJJbmZvIHtcclxuICAgIGxpY2VuY2VJZDogbnVtYmVyO1xyXG4gICAgdXNlcklkOiBudW1iZXI7XHJcbiAgICBjb21wYW55TmFtZTogc3RyaW5nO1xyXG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XHJcbiAgICBmdWxsTmFtZTogc3RyaW5nO1xyXG4gICAgZmxhZ3M/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgZW1haWw6IHN0cmluZztcclxuICAgIHNlc3Npb25JZD86IHN0cmluZyB8IG51bGw7XHJcbiAgICBpc1RlbXBvcmFyeT86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgcm9sZTogbnVtYmVyO1xyXG4gICAgc2NvcGU6IG51bWJlcjtcclxuICAgIHJvbGVOYW1lOiBzdHJpbmc7XHJcbiAgICByb2xlTGV2ZWw6IG51bWJlcjtcclxuICAgIGFsbG93ZWRNb2R1bGVzOiBFdm9sdXRpb25Vc2VyTW9kdWxlSW5mb1tdO1xyXG4gICAgZGFzaGJvYXJkPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIGRhc2hib2FyZDI/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgY29kZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBzdWJqZWN0SWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgc3ViamVjdE5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgc2l0ZUlkPzogbnVtYmVyIHwgbnVsbDtcclxuICAgIHNpdGVOYW1lPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHNpdGVDb3N0Q2VudGVyPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGRlcGFydG1lbnRJZD86IG51bWJlciB8IG51bGw7XHJcbiAgICBkZXBhcnRtZW50TmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBleHBpcnlEYXRlPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGlzRXhwaXJlZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXNBZG1pbmlzdHJhdG9yPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgICBpc1Bvd2VyVXNlcj86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXNPYnNlcnZlcj86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXNVc2VyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgICBpc1N1cHBvcnRVc2VyPzogYm9vbGVhbiB8IG51bGw7XHJcbiAgICBpc0dvZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgYWRtaW5pc3RyYXRvcnM6IHN0cmluZztcclxuICAgIGF2YWlsYWJsZU1vZHVsZXM6IEV2b2x1dGlvbkxpY2VuY2VNb2R1bGVJbmZvW107XHJcbiAgICBhdmFpbGFibGVFbXBsb3llZXM6IG51bWJlcjtcclxuICAgIHVzZWRFbXBsb3llZXM6IG51bWJlcjtcclxuICAgIGF2YWlsYWJsZVN0b3JhZ2U6IG51bWJlcjtcclxuICAgIHVzZWRTdG9yYWdlOiBudW1iZXI7XHJcbn0iXX0=
|