@seniorsistemas/angular-components 19.9.13 → 19.9.14-develop-f9c6cf7e

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.
@@ -36,6 +36,8 @@ export declare class CardComponent implements AfterContentInit {
36
36
  bodyTemplate?: TemplateRef<unknown>;
37
37
  footerTemplate?: TemplateRef<unknown>;
38
38
  get hasHeader(): string | true;
39
+ onClick(event: MouseEvent): void;
40
+ onKeydown(event: Event): void;
39
41
  ngAfterContentInit(): Promise<void>;
40
42
  private _getHeaderTemplate;
41
43
  private _getBodyTemplate;
@@ -58,6 +58,7 @@ type ConfirmDialog = {
58
58
  message: string; // Mensagem exibida no corpo (obrigatório)
59
59
  acceptLabel: string; // Label do botão de confirmar (obrigatório)
60
60
  accept: VoidFunction; // Callback ao confirmar (obrigatório)
61
+ acceptPriority?: ButtonPriority; // Prioridade do botão de confirmar, ex: 'danger' (padrão: 'primary')
61
62
  rejectLabel?: string; // Label do botão de cancelar (opcional)
62
63
  reject?: VoidFunction; // Callback ao cancelar ou fechar (opcional)
63
64
  }
@@ -78,6 +79,7 @@ this.confirmDialogService.confirm({
78
79
  header: 'Remover este item?',
79
80
  message: 'Uma vez removido, o item não poderá ser restaurado.',
80
81
  acceptLabel: 'Remover',
82
+ acceptPriority: 'danger',
81
83
  rejectLabel: 'Cancelar',
82
84
  accept: () => { this.lastAction = 'Confirmado: item removido'; },
83
85
  reject: () => { this.lastAction = 'Cancelado'; },
@@ -1,6 +1,8 @@
1
+ import type { ButtonPriority } from '@seniorsistemas/angular-components/button';
1
2
  export type ConfirmDialog = {
2
3
  message: string;
3
4
  acceptLabel: string;
5
+ acceptPriority?: ButtonPriority;
4
6
  rejectLabel?: string;
5
7
  header: string;
6
8
  accept: VoidFunction;
@@ -41,6 +41,20 @@ export class CardComponent {
41
41
  const hasHeaderAttributes = this.title || this.subtitle || this.icon;
42
42
  return headerTemplate || hasHeaderAttributes;
43
43
  }
44
+ onClick(event) {
45
+ if (this.clickable) {
46
+ this.clicked.emit(event);
47
+ }
48
+ }
49
+ onKeydown(event) {
50
+ if (!this.clickable || event.target !== event.currentTarget) {
51
+ return;
52
+ }
53
+ if (event.key === ' ') {
54
+ event.preventDefault();
55
+ }
56
+ this.clicked.emit(event);
57
+ }
44
58
  async ngAfterContentInit() {
45
59
  await this._setShowBanner();
46
60
  this._setTemplates();
@@ -82,11 +96,11 @@ export class CardComponent {
82
96
  });
83
97
  }
84
98
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
85
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardComponent, isStandalone: true, selector: "s-card", inputs: { bannerImage: "bannerImage", fullWidth: "fullWidth", clickable: "clickable", title: "title", subtitle: "subtitle", icon: "icon" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div\r\n class=\"inline-flex flex-col bg-grayscale-0 rounded-medium shadow-[0px_1px_5px_0px_#00000040] overflow-hidden\"\r\n [class.w-full]=\"fullWidth\"\r\n [attr.tabindex]=\"clickable ? 0 : null\"\r\n [attr.role]=\"clickable ? 'button' : null\"\r\n [ngClass]=\"{\r\n 'cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': clickable\r\n }\"\r\n (click)=\"clickable && clicked.emit($event)\"\r\n (keydown.enter)=\"clickable && clicked.emit($any($event))\"\r\n (keydown.space)=\"clickable && clicked.emit($any($event)); $event.preventDefault()\"\r\n>\r\n @if (showBanner) {\r\n <div\r\n class=\"bg-no-repeat bg-cover h-[150px] w-full\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\r\n ></div>\r\n }\r\n\r\n <!-- @if (hasCustomTemplates) {\r\n @if (headerTemplate) {\r\n <div class=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (bodyTemplate) {\r\n <div class=\"body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (footerTemplate) {\r\n <div class=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n} @else {\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n } -->\r\n\r\n @if (hasHeader) {\r\n <div class=\"py-4 px-3\">\r\n @if (headerTemplate) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n }\r\n @if (!headerTemplate) {\r\n <div class=\"flex gap-3\">\r\n @if (icon) {\r\n <div class=\"rounded-[50%] bg-grayscale-20 w-[3em] flex items-center justify-center min-h-[3em]\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n }\r\n <div>\r\n @if (title) {\r\n <div class=\"text-grayscale-90 text-sm font-bold\">\r\n {{ title }}\r\n </div>\r\n }\r\n @if (subtitle) {\r\n <div class=\"text-grayscale-60 text-sm font-normal\">\r\n {{ subtitle }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"p-4\" [class.border-t]=\"hasHeader\" [class.border-t-grayscale-30]=\"hasHeader\">\r\n @if (bodyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n\r\n @if (footerTemplate) {\r\n <div class=\"p-4 border-t border-t-grayscale-30\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
99
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardComponent, isStandalone: true, selector: "s-card", inputs: { bannerImage: "bannerImage", fullWidth: "fullWidth", clickable: "clickable", title: "title", subtitle: "subtitle", icon: "icon" }, outputs: { clicked: "clicked" }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div\r\n class=\"inline-flex flex-col bg-grayscale-0 rounded-medium shadow-[0px_1px_5px_0px_#00000040] overflow-hidden\"\r\n [class.w-full]=\"fullWidth\"\r\n [attr.tabindex]=\"clickable ? 0 : null\"\r\n [attr.role]=\"clickable ? 'button' : null\"\r\n [ngClass]=\"{\r\n 'cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': clickable\r\n }\"\r\n (click)=\"onClick($event)\"\r\n (keydown.enter)=\"onKeydown($event)\"\r\n (keydown.space)=\"onKeydown($event)\"\r\n>\r\n @if (showBanner) {\r\n <div\r\n class=\"bg-no-repeat bg-cover h-[150px] w-full\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\r\n ></div>\r\n }\r\n\r\n <!-- @if (hasCustomTemplates) {\r\n @if (headerTemplate) {\r\n <div class=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (bodyTemplate) {\r\n <div class=\"body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (footerTemplate) {\r\n <div class=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n} @else {\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n } -->\r\n\r\n @if (hasHeader) {\r\n <div class=\"py-4 px-3\">\r\n @if (headerTemplate) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n }\r\n @if (!headerTemplate) {\r\n <div class=\"flex gap-3\">\r\n @if (icon) {\r\n <div class=\"rounded-[50%] bg-grayscale-20 w-[3em] flex items-center justify-center min-h-[3em]\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n }\r\n <div>\r\n @if (title) {\r\n <div class=\"text-grayscale-90 text-sm font-bold\">\r\n {{ title }}\r\n </div>\r\n }\r\n @if (subtitle) {\r\n <div class=\"text-grayscale-60 text-sm font-normal\">\r\n {{ subtitle }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"p-4\" [class.border-t]=\"hasHeader\" [class.border-t-grayscale-30]=\"hasHeader\">\r\n @if (bodyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n\r\n @if (footerTemplate) {\r\n <div class=\"p-4 border-t border-t-grayscale-30\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
86
100
  }
87
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, decorators: [{
88
102
  type: Component,
89
- args: [{ selector: 's-card', standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet], template: "<div\r\n class=\"inline-flex flex-col bg-grayscale-0 rounded-medium shadow-[0px_1px_5px_0px_#00000040] overflow-hidden\"\r\n [class.w-full]=\"fullWidth\"\r\n [attr.tabindex]=\"clickable ? 0 : null\"\r\n [attr.role]=\"clickable ? 'button' : null\"\r\n [ngClass]=\"{\r\n 'cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': clickable\r\n }\"\r\n (click)=\"clickable && clicked.emit($event)\"\r\n (keydown.enter)=\"clickable && clicked.emit($any($event))\"\r\n (keydown.space)=\"clickable && clicked.emit($any($event)); $event.preventDefault()\"\r\n>\r\n @if (showBanner) {\r\n <div\r\n class=\"bg-no-repeat bg-cover h-[150px] w-full\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\r\n ></div>\r\n }\r\n\r\n <!-- @if (hasCustomTemplates) {\r\n @if (headerTemplate) {\r\n <div class=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (bodyTemplate) {\r\n <div class=\"body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (footerTemplate) {\r\n <div class=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n} @else {\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n } -->\r\n\r\n @if (hasHeader) {\r\n <div class=\"py-4 px-3\">\r\n @if (headerTemplate) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n }\r\n @if (!headerTemplate) {\r\n <div class=\"flex gap-3\">\r\n @if (icon) {\r\n <div class=\"rounded-[50%] bg-grayscale-20 w-[3em] flex items-center justify-center min-h-[3em]\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n }\r\n <div>\r\n @if (title) {\r\n <div class=\"text-grayscale-90 text-sm font-bold\">\r\n {{ title }}\r\n </div>\r\n }\r\n @if (subtitle) {\r\n <div class=\"text-grayscale-60 text-sm font-normal\">\r\n {{ subtitle }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"p-4\" [class.border-t]=\"hasHeader\" [class.border-t-grayscale-30]=\"hasHeader\">\r\n @if (bodyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n\r\n @if (footerTemplate) {\r\n <div class=\"p-4 border-t border-t-grayscale-30\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n" }]
103
+ args: [{ selector: 's-card', standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet], template: "<div\r\n class=\"inline-flex flex-col bg-grayscale-0 rounded-medium shadow-[0px_1px_5px_0px_#00000040] overflow-hidden\"\r\n [class.w-full]=\"fullWidth\"\r\n [attr.tabindex]=\"clickable ? 0 : null\"\r\n [attr.role]=\"clickable ? 'button' : null\"\r\n [ngClass]=\"{\r\n 'cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]': clickable\r\n }\"\r\n (click)=\"onClick($event)\"\r\n (keydown.enter)=\"onKeydown($event)\"\r\n (keydown.space)=\"onKeydown($event)\"\r\n>\r\n @if (showBanner) {\r\n <div\r\n class=\"bg-no-repeat bg-cover h-[150px] w-full\"\r\n [ngStyle]=\"{ 'background-image': 'url(' + bannerImage + ')' }\"\r\n ></div>\r\n }\r\n\r\n <!-- @if (hasCustomTemplates) {\r\n @if (headerTemplate) {\r\n <div class=\"header\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (bodyTemplate) {\r\n <div class=\"body\">\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n </div>\r\n }\r\n @if (footerTemplate) {\r\n <div class=\"footer\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n} @else {\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n } -->\r\n\r\n @if (hasHeader) {\r\n <div class=\"py-4 px-3\">\r\n @if (headerTemplate) {\r\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\r\n }\r\n @if (!headerTemplate) {\r\n <div class=\"flex gap-3\">\r\n @if (icon) {\r\n <div class=\"rounded-[50%] bg-grayscale-20 w-[3em] flex items-center justify-center min-h-[3em]\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n }\r\n <div>\r\n @if (title) {\r\n <div class=\"text-grayscale-90 text-sm font-bold\">\r\n {{ title }}\r\n </div>\r\n }\r\n @if (subtitle) {\r\n <div class=\"text-grayscale-60 text-sm font-normal\">\r\n {{ subtitle }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n <div class=\"p-4\" [class.border-t]=\"hasHeader\" [class.border-t-grayscale-30]=\"hasHeader\">\r\n @if (bodyTemplate) {\r\n <ng-container *ngTemplateOutlet=\"bodyTemplate\"></ng-container>\r\n } @else {\r\n <ng-content></ng-content>\r\n }\r\n </div>\r\n\r\n @if (footerTemplate) {\r\n <div class=\"p-4 border-t border-t-grayscale-30\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n" }]
90
104
  }], propDecorators: { bannerImage: [{
91
105
  type: Input
92
106
  }], fullWidth: [{
@@ -105,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
105
119
  type: ContentChildren,
106
120
  args: [TemplateDirective]
107
121
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBRWxJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXJFOzs7Ozs7Ozs7Ozs7R0FZRztBQU9ILE1BQU0sT0FBTyxhQUFhO0lBQ3RCLHNFQUFzRTtJQUUvRCxXQUFXLENBQVU7SUFFNUIsZ0ZBQWdGO0lBRXpFLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsbUhBQW1IO0lBRTVHLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsaUhBQWlIO0lBRTFHLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRWhELG9FQUFvRTtJQUMzRCxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRXBCLG1FQUFtRTtJQUMxRCxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBRXZCLHFFQUFxRTtJQUM1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRVosVUFBVSxHQUFHLEtBQUssQ0FBQztJQUduQixTQUFTLENBQWdDO0lBRXpDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixjQUFjLENBQXdCO0lBQ3RDLFlBQVksQ0FBd0I7SUFDcEMsY0FBYyxDQUF3QjtJQUU3QyxJQUFXLFNBQVM7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Q29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90ZW1wbGF0ZSc7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGRlIGNhcnTDo28gY29tIHN1cG9ydGUgYSBiYW5uZXIsIGNhYmXDp2FsaG8gKHTDrXR1bG8sIHN1YnTDrXR1bG8gZSDDrWNvbmUpXHJcbiAqIGUgdGVtcGxhdGVzIGN1c3RvbWl6w6F2ZWlzIHBhcmEgY2FiZcOnYWxobywgY29ycG8gZSByb2RhcMOpIHZpYSBgVGVtcGxhdGVEaXJlY3RpdmVgLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDxzLWNhcmQgdGl0bGU9XCJUw610dWxvXCIgc3VidGl0bGU9XCJTdWJ0w610dWxvXCI+XHJcbiAqICAgPG5nLXRlbXBsYXRlIHNUZW1wbGF0ZSB0eXBlPVwiYm9keVwiPkNvbnRlw7pkbzwvbmctdGVtcGxhdGU+XHJcbiAqIDwvcy1jYXJkPlxyXG4gKiBgYGBcclxuICpcclxuICogQGNhdGVnb3J5IFN0cnVjdHVyZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3MtY2FyZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBVUkwgZGEgaW1hZ2VtIGV4aWJpZGEgY29tbyBiYW5uZXIgbm8gdG9wbyBkbyBjYXJkLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBiYW5uZXJJbWFnZT86IHN0cmluZztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEZheiBvIGNhcmQgb2N1cGFyIDEwMCUgZGEgbGFyZ3VyYSBkaXNwb27DrXZlbC4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZnVsbFdpZHRoID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUb3JuYSBvIGNhcmQgaW50ZXJhdGl2bywgaGFiaWxpdGFuZG8gZm9jbyBwb3IgdGVjbGFkbyBlIGNsaXF1ZSBubyBlbGVtZW50byByYWl6LiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjbGlja2FibGUgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2Egb3UgcHJlc3Npb25hIEVudGVyL0VzcGHDp28gbm8gY2FyZCAocmVxdWVyIGBjbGlja2FibGUgPSB0cnVlYCkuICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gVMOtdHVsbyBleGliaWRvIG5vIGNhYmXDp2FsaG8gZG8gY2FyZC4gQGRlZmF1bHQgJycgKi9cclxuICAgIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBTdWJ0w610dWxvIGV4aWJpZG8gYWJhaXhvIGRvIHTDrXR1bG8uIEBkZWZhdWx0ICcnICovXHJcbiAgICBASW5wdXQoKSBzdWJ0aXRsZSA9ICcnO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRvIMOtY29uZSBleGliaWRvIG5vIGNhYmXDp2FsaG8uIEBkZWZhdWx0ICcnICovXHJcbiAgICBASW5wdXQoKSBpY29uID0gJyc7XHJcblxyXG4gICAgcHVibGljIHNob3dCYW5uZXIgPSBmYWxzZTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKVxyXG4gICAgcHVibGljIHRlbXBsYXRlcz86IFF1ZXJ5TGlzdDxUZW1wbGF0ZURpcmVjdGl2ZT47XHJcblxyXG4gICAgcHVibGljIGhhc0N1c3RvbVRlbXBsYXRlcyA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgICBwdWJsaWMgYm9keVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IGhhc0hlYWRlcigpIHtcclxuICAgICAgICBjb25zdCBoZWFkZXJUZW1wbGF0ZSA9ICEhdGhpcy5oZWFkZXJUZW1wbGF0ZTtcclxuICAgICAgICBjb25zdCBoYXNIZWFkZXJBdHRyaWJ1dGVzID0gdGhpcy50aXRsZSB8fCB0aGlzLnN1YnRpdGxlIHx8IHRoaXMuaWNvbjtcclxuICAgICAgICByZXR1cm4gaGVhZGVyVGVtcGxhdGUgfHwgaGFzSGVhZGVyQXR0cmlidXRlcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgbmdBZnRlckNvbnRlbnRJbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3NldFNob3dCYW5uZXIoKTtcclxuICAgICAgICB0aGlzLl9zZXRUZW1wbGF0ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRIZWFkZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEN1c3RvbVRlbXBsYXRlKCdoZWFkZXInKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRCb2R5VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZSgnYm9keScpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2dldEZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2Zvb3RlcicpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2dldEN1c3RvbVRlbXBsYXRlKHR5cGU6IHN0cmluZyk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXM/LmZpbmQoKHRlbXBsYXRlOiBUZW1wbGF0ZURpcmVjdGl2ZSkgPT4gdGVtcGxhdGUudHlwZSA9PT0gdHlwZSk/LnRlbXBsYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldFRlbXBsYXRlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gdGhpcy5fZ2V0SGVhZGVyVGVtcGxhdGUoKTtcclxuICAgICAgICB0aGlzLmJvZHlUZW1wbGF0ZSA9IHRoaXMuX2dldEJvZHlUZW1wbGF0ZSgpO1xyXG4gICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSB0aGlzLl9nZXRGb290ZXJUZW1wbGF0ZSgpO1xyXG5cclxuICAgICAgICB0aGlzLmhhc0N1c3RvbVRlbXBsYXRlcyA9ICEhKHRoaXMuaGVhZGVyVGVtcGxhdGUgfHwgdGhpcy5ib2R5VGVtcGxhdGUgfHwgdGhpcy5mb290ZXJUZW1wbGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0U2hvd0Jhbm5lcigpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmJhbm5lckltYWdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgICAgICBpbWcuc3JjID0gdGhpcy5iYW5uZXJJbWFnZTtcclxuICAgICAgICAgICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Jhbm5lciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBpbWcub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Jhbm5lciA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwiaW5saW5lLWZsZXggZmxleC1jb2wgYmctZ3JheXNjYWxlLTAgcm91bmRlZC1tZWRpdW0gc2hhZG93LVswcHhfMXB4XzVweF8wcHhfIzAwMDAwMDQwXSBvdmVyZmxvdy1oaWRkZW5cIlxyXG4gICAgW2NsYXNzLnctZnVsbF09XCJmdWxsV2lkdGhcIlxyXG4gICAgW2F0dHIudGFiaW5kZXhdPVwiY2xpY2thYmxlID8gMCA6IG51bGxcIlxyXG4gICAgW2F0dHIucm9sZV09XCJjbGlja2FibGUgPyAnYnV0dG9uJyA6IG51bGxcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdjdXJzb3ItcG9pbnRlciBmb2N1cy12aXNpYmxlOm91dGxpbmUgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLTIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW9mZnNldC1bM3B4XSBmb2N1cy12aXNpYmxlOm91dGxpbmUtW3ZhcigtLXMtZm9jdXMtcmluZy1jb2xvciwjMDA5MGZmKV0nOiBjbGlja2FibGVcclxuICAgIH1cIlxyXG4gICAgKGNsaWNrKT1cImNsaWNrYWJsZSAmJiBjbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJjbGlja2FibGUgJiYgY2xpY2tlZC5lbWl0KCRhbnkoJGV2ZW50KSlcIlxyXG4gICAgKGtleWRvd24uc3BhY2UpPVwiY2xpY2thYmxlICYmIGNsaWNrZWQuZW1pdCgkYW55KCRldmVudCkpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXHJcbj5cclxuICAgIEBpZiAoc2hvd0Jhbm5lcikge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJiZy1uby1yZXBlYXQgYmctY292ZXIgaC1bMTUwcHhdIHctZnVsbFwiXHJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyBiYW5uZXJJbWFnZSArICcpJyB9XCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgPCEtLSBAaWYgKGhhc0N1c3RvbVRlbXBsYXRlcykge1xyXG4gIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmIChib2R5VGVtcGxhdGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKGZvb3RlclRlbXBsYXRlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG59IEBlbHNlIHtcclxuICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG4gIH0gLS0+XHJcblxyXG4gICAgQGlmIChoYXNIZWFkZXIpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHktNCBweC0zXCI+XHJcbiAgICAgICAgICAgIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoIWhlYWRlclRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC1bNTAlXSBiZy1ncmF5c2NhbGUtMjAgdy1bM2VtXSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBtaW4taC1bM2VtXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5c2NhbGUtOTAgdGV4dC1zbSBmb250LWJvbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzdWJ0aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheXNjYWxlLTYwIHRleHQtc20gZm9udC1ub3JtYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJ0aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICA8ZGl2IGNsYXNzPVwicC00XCIgW2NsYXNzLmJvcmRlci10XT1cImhhc0hlYWRlclwiIFtjbGFzcy5ib3JkZXItdC1ncmF5c2NhbGUtMzBdPVwiaGFzSGVhZGVyXCI+XHJcbiAgICAgICAgQGlmIChib2R5VGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChmb290ZXJUZW1wbGF0ZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTQgYm9yZGVyLXQgYm9yZGVyLXQtZ3JheXNjYWxlLTMwXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY2FyZC9zcmMvbGliL2NhcmQvY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBRWxJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXJFOzs7Ozs7Ozs7Ozs7R0FZRztBQU9ILE1BQU0sT0FBTyxhQUFhO0lBQ3RCLHNFQUFzRTtJQUUvRCxXQUFXLENBQVU7SUFFNUIsZ0ZBQWdGO0lBRXpFLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsbUhBQW1IO0lBRTVHLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsaUhBQWlIO0lBRTFHLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRWhELG9FQUFvRTtJQUMzRCxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRXBCLG1FQUFtRTtJQUMxRCxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBRXZCLHFFQUFxRTtJQUM1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRVosVUFBVSxHQUFHLEtBQUssQ0FBQztJQUduQixTQUFTLENBQWdDO0lBRXpDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixjQUFjLENBQXdCO0lBQ3RDLFlBQVksQ0FBd0I7SUFDcEMsY0FBYyxDQUF3QjtJQUU3QyxJQUFXLFNBQVM7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QTNHUSxhQUFhOzRGQUFiLGFBQWEseVFBNEJMLGlCQUFpQiw2QkNwRHRDLDJpR0FtRkEsNENEN0RjLE9BQU8sb0ZBQUUsT0FBTywyRUFBRSxnQkFBZ0I7OzRGQUVuQyxhQUFhO2tCQU56QixTQUFTOytCQUNJLFFBQVEsY0FFTixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDOzhCQUt0QyxXQUFXO3NCQURqQixLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixNQUFNO2dCQUlFLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFLQyxTQUFTO3NCQURmLGVBQWU7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3RlbXBsYXRlJztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgY2FydMOjbyBjb20gc3Vwb3J0ZSBhIGJhbm5lciwgY2FiZcOnYWxobyAodMOtdHVsbywgc3VidMOtdHVsbyBlIMOtY29uZSlcclxuICogZSB0ZW1wbGF0ZXMgY3VzdG9taXrDoXZlaXMgcGFyYSBjYWJlw6dhbGhvLCBjb3JwbyBlIHJvZGFww6kgdmlhIGBUZW1wbGF0ZURpcmVjdGl2ZWAuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtY2FyZCB0aXRsZT1cIlTDrXR1bG9cIiBzdWJ0aXRsZT1cIlN1YnTDrXR1bG9cIj5cclxuICogICA8bmctdGVtcGxhdGUgc1RlbXBsYXRlIHR5cGU9XCJib2R5XCI+Q29udGXDumRvPC9uZy10ZW1wbGF0ZT5cclxuICogPC9zLWNhcmQ+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgU3RydWN0dXJlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncy1jYXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFVSTCBkYSBpbWFnZW0gZXhpYmlkYSBjb21vIGJhbm5lciBubyB0b3BvIGRvIGNhcmQuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJhbm5lckltYWdlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRmF6IG8gY2FyZCBvY3VwYXIgMTAwJSBkYSBsYXJndXJhIGRpc3BvbsOtdmVsLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmdWxsV2lkdGggPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFRvcm5hIG8gY2FyZCBpbnRlcmF0aXZvLCBoYWJpbGl0YW5kbyBmb2NvIHBvciB0ZWNsYWRvIGUgY2xpcXVlIG5vIGVsZW1lbnRvIHJhaXouIEBkZWZhdWx0IGZhbHNlICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNsaWNrYWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBjbGljYSBvdSBwcmVzc2lvbmEgRW50ZXIvRXNwYcOnbyBubyBjYXJkIChyZXF1ZXIgYGNsaWNrYWJsZSA9IHRydWVgKS4gKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUw610dWxvIGV4aWJpZG8gbm8gY2FiZcOnYWxobyBkbyBjYXJkLiBAZGVmYXVsdCAnJyAqL1xyXG4gICAgQElucHV0KCkgdGl0bGUgPSAnJztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFN1YnTDrXR1bG8gZXhpYmlkbyBhYmFpeG8gZG8gdMOtdHVsby4gQGRlZmF1bHQgJycgKi9cclxuICAgIEBJbnB1dCgpIHN1YnRpdGxlID0gJyc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gbm8gY2FiZcOnYWxoby4gQGRlZmF1bHQgJycgKi9cclxuICAgIEBJbnB1dCgpIGljb24gPSAnJztcclxuXHJcbiAgICBwdWJsaWMgc2hvd0Jhbm5lciA9IGZhbHNlO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVEaXJlY3RpdmUpXHJcbiAgICBwdWJsaWMgdGVtcGxhdGVzPzogUXVlcnlMaXN0PFRlbXBsYXRlRGlyZWN0aXZlPjtcclxuXHJcbiAgICBwdWJsaWMgaGFzQ3VzdG9tVGVtcGxhdGVzID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuICAgIHB1YmxpYyBib2R5VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaGFzSGVhZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlclRlbXBsYXRlID0gISF0aGlzLmhlYWRlclRlbXBsYXRlO1xyXG4gICAgICAgIGNvbnN0IGhhc0hlYWRlckF0dHJpYnV0ZXMgPSB0aGlzLnRpdGxlIHx8IHRoaXMuc3VidGl0bGUgfHwgdGhpcy5pY29uO1xyXG4gICAgICAgIHJldHVybiBoZWFkZXJUZW1wbGF0ZSB8fCBoYXNIZWFkZXJBdHRyaWJ1dGVzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2xpY2thYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uS2V5ZG93bihldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuY2xpY2thYmxlIHx8IGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJyAnKSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KGV2ZW50IGFzIHVua25vd24gYXMgTW91c2VFdmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLl9zZXRTaG93QmFubmVyKCk7XHJcbiAgICAgICAgdGhpcy5fc2V0VGVtcGxhdGVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0SGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRDdXN0b21UZW1wbGF0ZSgnaGVhZGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0Qm9keVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0Q3VzdG9tVGVtcGxhdGUoJ2JvZHknKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRGb290ZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldEN1c3RvbVRlbXBsYXRlKCdmb290ZXInKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRDdXN0b21UZW1wbGF0ZSh0eXBlOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzPy5maW5kKCh0ZW1wbGF0ZTogVGVtcGxhdGVEaXJlY3RpdmUpID0+IHRlbXBsYXRlLnR5cGUgPT09IHR5cGUpPy50ZW1wbGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRUZW1wbGF0ZXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSA9IHRoaXMuX2dldEhlYWRlclRlbXBsYXRlKCk7XHJcbiAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgPSB0aGlzLl9nZXRCb2R5VGVtcGxhdGUoKTtcclxuICAgICAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gdGhpcy5fZ2V0Rm9vdGVyVGVtcGxhdGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5oYXNDdXN0b21UZW1wbGF0ZXMgPSAhISh0aGlzLmhlYWRlclRlbXBsYXRlIHx8IHRoaXMuYm9keVRlbXBsYXRlIHx8IHRoaXMuZm9vdGVyVGVtcGxhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldFNob3dCYW5uZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5iYW5uZXJJbWFnZSkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgICAgICAgICAgaW1nLnNyYyA9IHRoaXMuYmFubmVySW1hZ2U7XHJcbiAgICAgICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dCYW5uZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgaW1nLm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dCYW5uZXIgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cImlubGluZS1mbGV4IGZsZXgtY29sIGJnLWdyYXlzY2FsZS0wIHJvdW5kZWQtbWVkaXVtIHNoYWRvdy1bMHB4XzFweF81cHhfMHB4XyMwMDAwMDA0MF0gb3ZlcmZsb3ctaGlkZGVuXCJcclxuICAgIFtjbGFzcy53LWZ1bGxdPVwiZnVsbFdpZHRoXCJcclxuICAgIFthdHRyLnRhYmluZGV4XT1cImNsaWNrYWJsZSA/IDAgOiBudWxsXCJcclxuICAgIFthdHRyLnJvbGVdPVwiY2xpY2thYmxlID8gJ2J1dHRvbicgOiBudWxsXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnY3Vyc29yLXBvaW50ZXIgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtWzNweF0gZm9jdXMtdmlzaWJsZTpvdXRsaW5lLVt2YXIoLS1zLWZvY3VzLXJpbmctY29sb3IsIzAwOTBmZildJzogY2xpY2thYmxlXHJcbiAgICB9XCJcclxuICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxyXG4gICAgKGtleWRvd24uZW50ZXIpPVwib25LZXlkb3duKCRldmVudClcIlxyXG4gICAgKGtleWRvd24uc3BhY2UpPVwib25LZXlkb3duKCRldmVudClcIlxyXG4+XHJcbiAgICBAaWYgKHNob3dCYW5uZXIpIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiYmctbm8tcmVwZWF0IGJnLWNvdmVyIGgtWzE1MHB4XSB3LWZ1bGxcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgYmFubmVySW1hZ2UgKyAnKScgfVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgfVxyXG5cclxuICAgIDwhLS0gQGlmIChoYXNDdXN0b21UZW1wbGF0ZXMpIHtcclxuICBAaWYgKGhlYWRlclRlbXBsYXRlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAoYm9keVRlbXBsYXRlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmIChmb290ZXJUZW1wbGF0ZSkge1xyXG4gICAgPGRpdiBjbGFzcz1cImZvb3RlclwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxufSBAZWxzZSB7XHJcbiAgPGRpdiBjbGFzcz1cImJvZHlcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuICB9IC0tPlxyXG5cclxuICAgIEBpZiAoaGFzSGVhZGVyKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInB5LTQgcHgtM1wiPlxyXG4gICAgICAgICAgICBAaWYgKGhlYWRlclRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCFoZWFkZXJUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtWzUwJV0gYmctZ3JheXNjYWxlLTIwIHctWzNlbV0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWluLWgtWzNlbV1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh0aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheXNjYWxlLTkwIHRleHQtc20gZm9udC1ib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGl0bGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc3VidGl0bGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXlzY2FsZS02MCB0ZXh0LXNtIGZvbnQtbm9ybWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3VidGl0bGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGRpdiBjbGFzcz1cInAtNFwiIFtjbGFzcy5ib3JkZXItdF09XCJoYXNIZWFkZXJcIiBbY2xhc3MuYm9yZGVyLXQtZ3JheXNjYWxlLTMwXT1cImhhc0hlYWRlclwiPlxyXG4gICAgICAgIEBpZiAoYm9keVRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoZm9vdGVyVGVtcGxhdGUpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwicC00IGJvcmRlci10IGJvcmRlci10LWdyYXlzY2FsZS0zMFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvc3JjL2xpYi9jb25maXJtLWRpYWxvZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29uZmlybURpYWxvZyA9IHtcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYWNjZXB0TGFiZWw6IHN0cmluZyxcbiAgICByZWplY3RMYWJlbD86IHN0cmluZyxcbiAgICBoZWFkZXI6IHN0cmluZyxcbiAgICBhY2NlcHQ6IFZvaWRGdW5jdGlvbixcbiAgICByZWplY3Q/OiBWb2lkRnVuY3Rpb25cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvc3JjL2xpYi9jb25maXJtLWRpYWxvZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCdXR0b25Qcmlvcml0eSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uJztcblxuZXhwb3J0IHR5cGUgQ29uZmlybURpYWxvZyA9IHtcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYWNjZXB0TGFiZWw6IHN0cmluZyxcbiAgICBhY2NlcHRQcmlvcml0eT86IEJ1dHRvblByaW9yaXR5LFxuICAgIHJlamVjdExhYmVsPzogc3RyaW5nLFxuICAgIGhlYWRlcjogc3RyaW5nLFxuICAgIGFjY2VwdDogVm9pZEZ1bmN0aW9uLFxuICAgIHJlamVjdD86IFZvaWRGdW5jdGlvblxufVxuIl19
@@ -27,10 +27,10 @@ import * as i2 from "@seniorsistemas/angular-components/button";
27
27
  export class PopupConfirmDialogComponent {
28
28
  confirmDialog;
29
29
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopupConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PopupConfirmDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "@if (confirmDialog) {\n <s-dialog [header]=\"confirmDialog.header\">\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12\">\n {{ confirmDialog.message }}\n </div>\n </div>\n <ng-template\n sTemplate=\"footer\"\n let-activeDialog=\"activeDialog\"\n >\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12 flex flex-wrap justify-end gap-3\">\n @if (confirmDialog.rejectLabel) {\n <s-button\n [label]=\"confirmDialog.rejectLabel\"\n (clicked)=\"activeDialog.close(false)\"\n label=\"A\u00E7\u00E3o secund\u00E1ria\"\n priority=\"link\"\n />\n }\n <s-button\n [label]=\"confirmDialog.acceptLabel\"\n (clicked)=\"activeDialog.close(true)\"\n priority=\"primary\"\n />\n </div>\n </div>\n </ng-template>\n </s-dialog>\n}\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "s-dialog", inputs: ["header", "visible", "size", "contentClassName", "escapeOnEsc", "destroyClickOutside", "closeAriaLabel"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: TemplateModule }, { kind: "directive", type: i1.TemplateDirective, selector: "[sTemplate]", inputs: ["sTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked", "tieredMenuOpened", "tieredMenuClosed"] }] });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PopupConfirmDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "@if (confirmDialog) {\n <s-dialog [header]=\"confirmDialog.header\">\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12\">\n {{ confirmDialog.message }}\n </div>\n </div>\n <ng-template\n sTemplate=\"footer\"\n let-activeDialog=\"activeDialog\"\n >\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12 flex flex-wrap justify-end gap-3\">\n @if (confirmDialog.rejectLabel) {\n <s-button\n [label]=\"confirmDialog.rejectLabel\"\n (clicked)=\"activeDialog.close(false)\"\n priority=\"link\"\n />\n }\n <s-button\n [label]=\"confirmDialog.acceptLabel\"\n (clicked)=\"activeDialog.close(true)\"\n [priority]=\"confirmDialog.acceptPriority ?? 'primary'\"\n />\n </div>\n </div>\n </ng-template>\n </s-dialog>\n}\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "s-dialog", inputs: ["header", "visible", "size", "contentClassName", "escapeOnEsc", "destroyClickOutside", "closeAriaLabel"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: TemplateModule }, { kind: "directive", type: i1.TemplateDirective, selector: "[sTemplate]", inputs: ["sTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked", "tieredMenuOpened", "tieredMenuClosed"] }] });
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopupConfirmDialogComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ standalone: true, imports: [DialogComponent, TemplateModule, ButtonModule], template: "@if (confirmDialog) {\n <s-dialog [header]=\"confirmDialog.header\">\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12\">\n {{ confirmDialog.message }}\n </div>\n </div>\n <ng-template\n sTemplate=\"footer\"\n let-activeDialog=\"activeDialog\"\n >\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12 flex flex-wrap justify-end gap-3\">\n @if (confirmDialog.rejectLabel) {\n <s-button\n [label]=\"confirmDialog.rejectLabel\"\n (clicked)=\"activeDialog.close(false)\"\n label=\"A\u00E7\u00E3o secund\u00E1ria\"\n priority=\"link\"\n />\n }\n <s-button\n [label]=\"confirmDialog.acceptLabel\"\n (clicked)=\"activeDialog.close(true)\"\n priority=\"primary\"\n />\n </div>\n </div>\n </ng-template>\n </s-dialog>\n}\n" }]
34
+ args: [{ standalone: true, imports: [DialogComponent, TemplateModule, ButtonModule], template: "@if (confirmDialog) {\n <s-dialog [header]=\"confirmDialog.header\">\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12\">\n {{ confirmDialog.message }}\n </div>\n </div>\n <ng-template\n sTemplate=\"footer\"\n let-activeDialog=\"activeDialog\"\n >\n <div class=\"grid grid-cols-12\">\n <div class=\"col-span-12 flex flex-wrap justify-end gap-3\">\n @if (confirmDialog.rejectLabel) {\n <s-button\n [label]=\"confirmDialog.rejectLabel\"\n (clicked)=\"activeDialog.close(false)\"\n priority=\"link\"\n />\n }\n <s-button\n [label]=\"confirmDialog.acceptLabel\"\n (clicked)=\"activeDialog.close(true)\"\n [priority]=\"confirmDialog.acceptPriority ?? 'primary'\"\n />\n </div>\n </div>\n </ng-template>\n </s-dialog>\n}\n" }]
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL3NyYy9saWIvcG9wdXAtY29uZmlybS1kaWFsb2cvcG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL3NyYy9saWIvcG9wdXAtY29uZmlybS1kaWFsb2cvcG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQUV6RTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQUNwQyxhQUFhLENBQWlCO3dHQURyQiwyQkFBMkI7NEZBQTNCLDJCQUEyQix3RUM5QnhDLHFxQ0ErQkEsNENESmMsZUFBZSxtTUFBRSxjQUFjLGlJQUFFLFlBQVk7OzRGQUc5QywyQkFBMkI7a0JBTHZDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2cgfSBmcm9tICcuLi9jb25maXJtLWRpYWxvZy5tb2RlbCc7XG5pbXBvcnQgeyBUZW1wbGF0ZU1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGVtcGxhdGUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGludGVybm8gZG8gZGnDoWxvZ28gZGUgY29uZmlybWHDp8OjbywgcmVuZGVyaXphZG8gcGVsbyBgQ29uZmlybURpYWxvZ1NlcnZpY2VgLlxuICogRXhpYmUgdW1hIGphbmVsYSBtb2RhbCBjb20gdW1hIG1lbnNhZ2VtLCB0w610dWxvIGUgYm90w7VlcyBkZSBhY2VpdGFyIGUgcmVqZWl0YXIgY29uZmlndXLDoXZlaXMuXG4gKiBOw6NvIGRldmUgc2VyIGluc3RhbmNpYWRvIGRpcmV0YW1lbnRlOyB1dGlsaXplIGBDb25maXJtRGlhbG9nU2VydmljZS5vcGVuKClgIHBhcmEgZXhpYmktbG8uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBVc28gdmlhIHNlcnZpw6dvXG4gKiB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9wZW4oe1xuICogICBoZWFkZXI6ICdDb25maXJtYXIgZXhjbHVzw6NvJyxcbiAqICAgbWVzc2FnZTogJ0Rlc2VqYSByZWFsbWVudGUgZXhjbHVpciBlc3RlIGl0ZW0/JyxcbiAqICAgYWNjZXB0TGFiZWw6ICdFeGNsdWlyJyxcbiAqICAgcmVqZWN0TGFiZWw6ICdDYW5jZWxhcicsXG4gKiAgIGFjY2VwdDogKCkgPT4gdGhpcy5kZWxldGUoKSxcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IE92ZXJsYXlcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRGlhbG9nQ29tcG9uZW50LCBUZW1wbGF0ZU1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3B1cENvbmZpcm1EaWFsb2dDb21wb25lbnQge1xuICAgIGNvbmZpcm1EaWFsb2chOiBDb25maXJtRGlhbG9nO1xufVxuXG4iLCJAaWYgKGNvbmZpcm1EaWFsb2cpIHtcbiAgICA8cy1kaWFsb2cgW2hlYWRlcl09XCJjb25maXJtRGlhbG9nLmhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc3Bhbi0xMlwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbmZpcm1EaWFsb2cubWVzc2FnZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIHNUZW1wbGF0ZT1cImZvb3RlclwiXG4gICAgICAgICAgICBsZXQtYWN0aXZlRGlhbG9nPVwiYWN0aXZlRGlhbG9nXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zcGFuLTEyIGZsZXggZmxleC13cmFwIGp1c3RpZnktZW5kIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29uZmlybURpYWxvZy5yZWplY3RMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbmZpcm1EaWFsb2cucmVqZWN0TGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImFjdGl2ZURpYWxvZy5jbG9zZShmYWxzZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQcOnw6NvIHNlY3VuZMOhcmlhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eT1cImxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb25maXJtRGlhbG9nLmFjY2VwdExhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImFjdGl2ZURpYWxvZy5jbG9zZSh0cnVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zLWRpYWxvZz5cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL3NyYy9saWIvcG9wdXAtY29uZmlybS1kaWFsb2cvcG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL3NyYy9saWIvcG9wdXAtY29uZmlybS1kaWFsb2cvcG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQUV6RTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQUNwQyxhQUFhLENBQWlCO3dHQURyQiwyQkFBMkI7NEZBQTNCLDJCQUEyQix3RUM5QnhDLG1vQ0E4QkEsNENESGMsZUFBZSxtTUFBRSxjQUFjLGlJQUFFLFlBQVk7OzRGQUc5QywyQkFBMkI7a0JBTHZDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2cgfSBmcm9tICcuLi9jb25maXJtLWRpYWxvZy5tb2RlbCc7XG5pbXBvcnQgeyBUZW1wbGF0ZU1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGVtcGxhdGUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21wb25lbnRlIGludGVybm8gZG8gZGnDoWxvZ28gZGUgY29uZmlybWHDp8OjbywgcmVuZGVyaXphZG8gcGVsbyBgQ29uZmlybURpYWxvZ1NlcnZpY2VgLlxuICogRXhpYmUgdW1hIGphbmVsYSBtb2RhbCBjb20gdW1hIG1lbnNhZ2VtLCB0w610dWxvIGUgYm90w7VlcyBkZSBhY2VpdGFyIGUgcmVqZWl0YXIgY29uZmlndXLDoXZlaXMuXG4gKiBOw6NvIGRldmUgc2VyIGluc3RhbmNpYWRvIGRpcmV0YW1lbnRlOyB1dGlsaXplIGBDb25maXJtRGlhbG9nU2VydmljZS5vcGVuKClgIHBhcmEgZXhpYmktbG8uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBVc28gdmlhIHNlcnZpw6dvXG4gKiB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlLm9wZW4oe1xuICogICBoZWFkZXI6ICdDb25maXJtYXIgZXhjbHVzw6NvJyxcbiAqICAgbWVzc2FnZTogJ0Rlc2VqYSByZWFsbWVudGUgZXhjbHVpciBlc3RlIGl0ZW0/JyxcbiAqICAgYWNjZXB0TGFiZWw6ICdFeGNsdWlyJyxcbiAqICAgcmVqZWN0TGFiZWw6ICdDYW5jZWxhcicsXG4gKiAgIGFjY2VwdDogKCkgPT4gdGhpcy5kZWxldGUoKSxcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IE92ZXJsYXlcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRGlhbG9nQ29tcG9uZW50LCBUZW1wbGF0ZU1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAtY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3B1cENvbmZpcm1EaWFsb2dDb21wb25lbnQge1xuICAgIGNvbmZpcm1EaWFsb2chOiBDb25maXJtRGlhbG9nO1xufVxuXG4iLCJAaWYgKGNvbmZpcm1EaWFsb2cpIHtcbiAgICA8cy1kaWFsb2cgW2hlYWRlcl09XCJjb25maXJtRGlhbG9nLmhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc3Bhbi0xMlwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbmZpcm1EaWFsb2cubWVzc2FnZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIHNUZW1wbGF0ZT1cImZvb3RlclwiXG4gICAgICAgICAgICBsZXQtYWN0aXZlRGlhbG9nPVwiYWN0aXZlRGlhbG9nXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zcGFuLTEyIGZsZXggZmxleC13cmFwIGp1c3RpZnktZW5kIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoY29uZmlybURpYWxvZy5yZWplY3RMYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbmZpcm1EaWFsb2cucmVqZWN0TGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cImFjdGl2ZURpYWxvZy5jbG9zZShmYWxzZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5PVwibGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbmZpcm1EaWFsb2cuYWNjZXB0TGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwiYWN0aXZlRGlhbG9nLmNsb3NlKHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwcmlvcml0eV09XCJjb25maXJtRGlhbG9nLmFjY2VwdFByaW9yaXR5ID8/ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3MtZGlhbG9nPlxufVxuIl19