@seniorsistemas/angular-components 19.9.7-develop-ad878012 → 19.9.8-develop-dbc2f1b4
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/card/lib/card/card.component.d.ts +6 -2
- package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +0 -1
- package/dialog/lib/src/dialog/services/dialog.service.d.ts +2 -0
- package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +3 -3
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +8 -3
- package/esm2022/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +4 -3
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.component.mjs +4 -2
- package/esm2022/button/lib/button/button.component.mjs +3 -3
- package/esm2022/card/lib/card/card.component.mjs +13 -5
- package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +3 -3
- package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +3 -3
- package/esm2022/chips/lib/chips/chips/chips.component.mjs +3 -3
- package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.mjs +3 -2
- package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +3 -3
- package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +14 -9
- package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +3 -3
- package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +13 -1
- package/esm2022/drawer/lib/drawer/drawer.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +3 -3
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +3 -3
- package/esm2022/editor/lib/editor/editor.component.mjs +3 -3
- package/esm2022/editor/lib/editor/toolbar-button/editor-toolbar-button.component.mjs +3 -3
- package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +3 -3
- package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +3 -3
- package/esm2022/gantt/lib/gantt/components/gantt/bar.mjs +2 -1
- package/esm2022/gantt/lib/gantt/gantt.component.mjs +3 -3
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +16 -25
- package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +3 -3
- package/esm2022/input-text/lib/input-text/input-text.directive.mjs +3 -3
- package/esm2022/lib/locale/fallback.mjs +5 -2
- package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/object-card/lib/object-card/object-card.component.mjs +3 -3
- package/esm2022/paginator/lib/paginator/paginator.component.mjs +3 -3
- package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +3 -3
- package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +4 -10
- package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +3 -3
- package/esm2022/select/lib/select/select.component.mjs +3 -3
- package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +3 -3
- package/esm2022/shared/lib/accessibility/datepicker-no-period-tab.directive.mjs +6 -6
- package/esm2022/side-sheet/lib/side-sheet/side-sheet.component.mjs +3 -3
- package/esm2022/slider/lib/slider/slider.component.mjs +67 -65
- package/esm2022/slider/lib/slider/slider.module.mjs +2 -2
- package/esm2022/split-button/lib/split-button/split-button.component.mjs +3 -3
- package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
- package/esm2022/stepper/lib/stepper/stepper.component.mjs +3 -3
- package/esm2022/switch/lib/switch/switch.component.mjs +5 -19
- package/esm2022/tabs/lib/tabs/tabs.component.mjs +3 -3
- package/esm2022/text-area/lib/text-area/text-area.component.mjs +3 -3
- package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +10 -3
- package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +3 -3
- package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.mjs +4 -3
- package/esm2022/tile/lib/tile/tile.component.mjs +3 -3
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +20 -3
- package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +10 -5
- package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -3
- package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-card.mjs +12 -4
- package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-chips.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +2 -1
- package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +13 -8
- package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs +14 -2
- package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +12 -12
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-editor.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs +3 -2
- package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +14 -23
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +3 -9
- package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-shared.mjs +5 -5
- package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-side-sheet.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-slider.mjs +67 -65
- package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-switch.mjs +4 -18
- package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +9 -2
- package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +5 -4
- package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tile.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +20 -3
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +2 -2
- package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components.mjs +4 -1
- package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
- package/global-search/lib/global-search/global-search.component.d.ts +7 -3
- package/package.json +1 -1
- package/radio-button/lib/radio-button/radio-button.component.d.ts +0 -1
- package/slider/lib/slider/slider.component.d.ts +25 -7
- package/styles.css +5 -0
- package/switch/lib/switch/switch.component.d.ts +0 -2
- package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +1 -0
- package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +4 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterContentInit, QueryList, TemplateRef } from '@angular/core';
|
|
1
|
+
import { AfterContentInit, EventEmitter, QueryList, TemplateRef } from '@angular/core';
|
|
2
2
|
import { TemplateDirective } from '@seniorsistemas/angular-components/template';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
@@ -19,6 +19,10 @@ export declare class CardComponent implements AfterContentInit {
|
|
|
19
19
|
bannerImage?: string;
|
|
20
20
|
/** @description Faz o card ocupar 100% da largura disponível. @default false */
|
|
21
21
|
fullWidth: boolean;
|
|
22
|
+
/** @description Torna o card interativo, habilitando foco por teclado e clique no elemento raiz. @default false */
|
|
23
|
+
clickable: boolean;
|
|
24
|
+
/** @description Emitido quando o usuário clica ou pressiona Enter/Espaço no card (requer `clickable = true`). */
|
|
25
|
+
clicked: EventEmitter<MouseEvent>;
|
|
22
26
|
/** @description Título exibido no cabeçalho do card. @default '' */
|
|
23
27
|
title: string;
|
|
24
28
|
/** @description Subtítulo exibido abaixo do título. @default '' */
|
|
@@ -40,5 +44,5 @@ export declare class CardComponent implements AfterContentInit {
|
|
|
40
44
|
private _setTemplates;
|
|
41
45
|
private _setShowBanner;
|
|
42
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
|
|
43
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "s-card", never, { "bannerImage": { "alias": "bannerImage"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, ["templates"], ["*"], true, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "s-card", never, { "bannerImage": { "alias": "bannerImage"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "clickable": { "alias": "clickable"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "clicked": "clicked"; }, ["templates"], ["*"], true, never>;
|
|
44
48
|
}
|
|
@@ -52,7 +52,6 @@ export declare class CountryPhonePickerComponent implements OnInit, ControlValue
|
|
|
52
52
|
focusLost: EventEmitter<PhoneSelectionData | null>;
|
|
53
53
|
phoneInput: ElementRef | null;
|
|
54
54
|
private readonly filterInput;
|
|
55
|
-
isFocused: boolean;
|
|
56
55
|
disabled: boolean;
|
|
57
56
|
mask: string | null;
|
|
58
57
|
selectedItem: CountryPhoneData | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FocusTrapFactory } from '@angular/cdk/a11y';
|
|
1
2
|
import { Overlay, OverlayRef } from '@angular/cdk/overlay';
|
|
2
3
|
import { Injector, Type } from '@angular/core';
|
|
3
4
|
import { ActiveDialog } from '../models/active-dialog';
|
|
@@ -7,6 +8,7 @@ export declare class DialogService {
|
|
|
7
8
|
protected readonly activeDialogInstances: ActiveDialog[];
|
|
8
9
|
protected readonly overlay: Overlay;
|
|
9
10
|
protected readonly injector: Injector;
|
|
11
|
+
protected readonly focusTrapFactory: FocusTrapFactory;
|
|
10
12
|
constructor();
|
|
11
13
|
open<T>(componentRef: Type<T>, options?: DialogOptions): DialogRef<T>;
|
|
12
14
|
protected createComponent<T>(componentRef: Type<T>, dialogOptions?: DialogOptions): {
|
package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs
CHANGED
|
@@ -149,7 +149,7 @@ export class AccordionPanelComponent {
|
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AccordionPanelComponent, isStandalone: true, selector: "s-accordion-panel", inputs: { header: "header", badgeConfig: "badgeConfig", buttons: "buttons", disabled: "disabled", switchControl: "switchControl", validationMessage: "validationMessage", cache: "cache", validationMessageIcon: "validationMessageIcon", validationMessageIconColor: "validationMessageIconColor" }, outputs: { panelOpened: "panelOpened", panelClosed: "panelClosed" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"accordion-panel border-b border-grayscale-30\"\n [class.accordion-panel--open]=\"isOpen\"\n [class.accordion-panel--disabled]=\"disabled\"\n>\n <div\n class=\"header flex select-none items-center justify-between border-grayscale-30 bg-grayscale-0 p-4\"\n [class.bg-grayscale-10]=\"isOpen\"\n [class.border-b]=\"isOpen\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n >\n <div\n class=\"header__trigger flex items-center flex-1 flex-nowrap focus-visible:outline focus-visible:outline-2 focus-visible:outline-
|
|
152
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AccordionPanelComponent, isStandalone: true, selector: "s-accordion-panel", inputs: { header: "header", badgeConfig: "badgeConfig", buttons: "buttons", disabled: "disabled", switchControl: "switchControl", validationMessage: "validationMessage", cache: "cache", validationMessageIcon: "validationMessageIcon", validationMessageIconColor: "validationMessageIconColor" }, outputs: { panelOpened: "panelOpened", panelClosed: "panelClosed" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"accordion-panel border-b border-grayscale-30\"\n [class.accordion-panel--open]=\"isOpen\"\n [class.accordion-panel--disabled]=\"disabled\"\n>\n <div\n class=\"header flex select-none items-center justify-between border-grayscale-30 bg-grayscale-0 p-4\"\n [class.bg-grayscale-10]=\"isOpen\"\n [class.border-b]=\"isOpen\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n >\n <div\n class=\"header__trigger flex items-center flex-1 flex-nowrap focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--s-focus-ring-color,#0090ff)] focus-visible:[outline-offset:-2px]\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n role=\"button\"\n [tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"'accordion-panel-content-' + panelId\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"onTabClick()\"\n (keydown)=\"onHeaderKeydown($event)\"\n >\n <span\n class=\"icon fas text-base mr-3\"\n [class.fa-minus]=\"isOpen\"\n [class.fa-plus]=\"!isOpen\"\n [class.text-grayscale-90]=\"!disabled\"\n [class.text-grayscale-30]=\"disabled\"\n aria-hidden=\"true\"\n >\n </span>\n @if (validationMessage) {\n <span\n class=\"exclamation-icon text-base mr-3\"\n [class]=\"validationMessageIcon\"\n [sTooltip]=\"validationMessage\"\n [class.exclamation-icon-red]=\"validationMessageIconColor === 'Red'\"\n [class.text-criticality-red]=\"validationMessageIconColor === 'Red'\"\n [class.exclamation-icon-orange]=\"validationMessageIconColor === 'Orange'\"\n [class.text-criticality-orange]=\"validationMessageIconColor === 'Orange'\"\n [class.exclamation-icon-yellow]=\"validationMessageIconColor === 'Yellow'\"\n [class.text-criticality-yellow]=\"validationMessageIconColor === 'Yellow'\"\n [class.exclamation-icon-green]=\"validationMessageIconColor === 'Green'\"\n [class.text-criticality-green]=\"validationMessageIconColor === 'Green'\"\n [class.exclamation-icon-blue]=\"validationMessageIconColor === 'Blue'\"\n [class.text-primary]=\"validationMessageIconColor === 'Blue'\"\n [class.opacity-50]=\"disabled\"\n aria-hidden=\"true\"\n >\n </span>\n }\n <span\n class=\"title font-open-sans text-sm font-bold uppercase leading-normal\"\n [class.text-grayscale-30]=\"disabled\"\n [id]=\"'accordion-panel-header-' + panelId\"\n >{{ header }}</span\n >\n </div>\n <div class=\"header__controls flex items-center ml-4\">\n @if (badgeConfig) {\n <s-badge\n [color]=\"badgeConfig.color\"\n [text]=\"badgeConfig.text\"\n ></s-badge>\n }\n\n @for (button of buttons; track button.icon) {\n <button\n class=\"icon-button text-base ml-3 p-1 border-0 bg-transparent rounded-[50%] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]\"\n [class.text-grayscale-90]=\"!disabled\"\n [class.text-grayscale-30]=\"disabled\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n [ngClass]=\"button.icon\"\n [attr.aria-label]=\"button.label\"\n (click)=\"onIconButtonsClick($event, button.onClick)\"\n ></button>\n }\n\n @if (switchControl) {\n <s-switch\n class=\"switch pl-4\"\n [formControl]=\"switchControl\"\n (click)=\"$event.stopPropagation()\"\n >\n </s-switch>\n }\n </div>\n </div>\n\n @if (cache) {\n <div\n class=\"content bg-grayscale-0 overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"'accordion-panel-header-' + panelId\"\n [id]=\"'accordion-panel-content-' + panelId\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container m-5\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isOpen) {\n <div\n class=\"content bg-grayscale-0 overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"'accordion-panel-header-' + panelId\"\n [id]=\"'accordion-panel-content-' + panelId\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container m-5\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n }\n }\n</div>\n\n<ng-template #panelContent>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "label", "inputName", "disabled", "value", "showStatusLabel"], outputs: ["valueChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
153
153
|
trigger('cachelessAnimation', [
|
|
154
154
|
transition(':enter', [style({ height: '0' }), animate('200ms linear', style({ height: '*' }))]),
|
|
155
155
|
transition(':leave', [style({ height: '*' }), animate('200ms linear', style({ height: '0' }))]),
|
|
@@ -181,7 +181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
181
181
|
FormsModule,
|
|
182
182
|
ReactiveFormsModule,
|
|
183
183
|
NgTemplateOutlet,
|
|
184
|
-
], template: "<div\n class=\"accordion-panel border-b border-grayscale-30\"\n [class.accordion-panel--open]=\"isOpen\"\n [class.accordion-panel--disabled]=\"disabled\"\n>\n <div\n class=\"header flex select-none items-center justify-between border-grayscale-30 bg-grayscale-0 p-4\"\n [class.bg-grayscale-10]=\"isOpen\"\n [class.border-b]=\"isOpen\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n >\n <div\n class=\"header__trigger flex items-center flex-1 flex-nowrap focus-visible:outline focus-visible:outline-2 focus-visible:outline-
|
|
184
|
+
], template: "<div\n class=\"accordion-panel border-b border-grayscale-30\"\n [class.accordion-panel--open]=\"isOpen\"\n [class.accordion-panel--disabled]=\"disabled\"\n>\n <div\n class=\"header flex select-none items-center justify-between border-grayscale-30 bg-grayscale-0 p-4\"\n [class.bg-grayscale-10]=\"isOpen\"\n [class.border-b]=\"isOpen\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n >\n <div\n class=\"header__trigger flex items-center flex-1 flex-nowrap focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--s-focus-ring-color,#0090ff)] focus-visible:[outline-offset:-2px]\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n role=\"button\"\n [tabindex]=\"disabled ? -1 : 0\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-controls]=\"'accordion-panel-content-' + panelId\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"onTabClick()\"\n (keydown)=\"onHeaderKeydown($event)\"\n >\n <span\n class=\"icon fas text-base mr-3\"\n [class.fa-minus]=\"isOpen\"\n [class.fa-plus]=\"!isOpen\"\n [class.text-grayscale-90]=\"!disabled\"\n [class.text-grayscale-30]=\"disabled\"\n aria-hidden=\"true\"\n >\n </span>\n @if (validationMessage) {\n <span\n class=\"exclamation-icon text-base mr-3\"\n [class]=\"validationMessageIcon\"\n [sTooltip]=\"validationMessage\"\n [class.exclamation-icon-red]=\"validationMessageIconColor === 'Red'\"\n [class.text-criticality-red]=\"validationMessageIconColor === 'Red'\"\n [class.exclamation-icon-orange]=\"validationMessageIconColor === 'Orange'\"\n [class.text-criticality-orange]=\"validationMessageIconColor === 'Orange'\"\n [class.exclamation-icon-yellow]=\"validationMessageIconColor === 'Yellow'\"\n [class.text-criticality-yellow]=\"validationMessageIconColor === 'Yellow'\"\n [class.exclamation-icon-green]=\"validationMessageIconColor === 'Green'\"\n [class.text-criticality-green]=\"validationMessageIconColor === 'Green'\"\n [class.exclamation-icon-blue]=\"validationMessageIconColor === 'Blue'\"\n [class.text-primary]=\"validationMessageIconColor === 'Blue'\"\n [class.opacity-50]=\"disabled\"\n aria-hidden=\"true\"\n >\n </span>\n }\n <span\n class=\"title font-open-sans text-sm font-bold uppercase leading-normal\"\n [class.text-grayscale-30]=\"disabled\"\n [id]=\"'accordion-panel-header-' + panelId\"\n >{{ header }}</span\n >\n </div>\n <div class=\"header__controls flex items-center ml-4\">\n @if (badgeConfig) {\n <s-badge\n [color]=\"badgeConfig.color\"\n [text]=\"badgeConfig.text\"\n ></s-badge>\n }\n\n @for (button of buttons; track button.icon) {\n <button\n class=\"icon-button text-base ml-3 p-1 border-0 bg-transparent rounded-[50%] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[3px] focus-visible:outline-[var(--s-focus-ring-color,#0090ff)]\"\n [class.text-grayscale-90]=\"!disabled\"\n [class.text-grayscale-30]=\"disabled\"\n [class.cursor-pointer]=\"!disabled\"\n [class.cursor-auto]=\"disabled\"\n [ngClass]=\"button.icon\"\n [attr.aria-label]=\"button.label\"\n (click)=\"onIconButtonsClick($event, button.onClick)\"\n ></button>\n }\n\n @if (switchControl) {\n <s-switch\n class=\"switch pl-4\"\n [formControl]=\"switchControl\"\n (click)=\"$event.stopPropagation()\"\n >\n </s-switch>\n }\n </div>\n </div>\n\n @if (cache) {\n <div\n class=\"content bg-grayscale-0 overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"'accordion-panel-header-' + panelId\"\n [id]=\"'accordion-panel-content-' + panelId\"\n [@cacheAnimation]=\"isOpen\"\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cacheAnimation.start)=\"onContentAnimationStart()\"\n (@cacheAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container m-5\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n } @else {\n @if (isOpen) {\n <div\n class=\"content bg-grayscale-0 overflow-hidden\"\n role=\"region\"\n [attr.aria-labelledby]=\"'accordion-panel-header-' + panelId\"\n [id]=\"'accordion-panel-content-' + panelId\"\n @cachelessAnimation\n [@.disabled]=\"isContentAnimationDisabled\"\n (@cachelessAnimation.start)=\"onContentAnimationStart()\"\n (@cachelessAnimation.done)=\"onContentAnimationDone()\"\n >\n <div class=\"content-container m-5\">\n <ng-container [ngTemplateOutlet]=\"panelContent\"></ng-container>\n </div>\n </div>\n }\n }\n</div>\n\n<ng-template #panelContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
185
185
|
}], propDecorators: { header: [{
|
|
186
186
|
type: Input,
|
|
187
187
|
args: [{ required: true }]
|
|
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
206
206
|
}], panelClosed: [{
|
|
207
207
|
type: Output
|
|
208
208
|
}] } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE9BQU8sRUFBc0IsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEYsT0FBTyxFQUFlLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQUU1RSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFFcEI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBMEJILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEM7O09BRUc7SUFFSSxNQUFNLENBQVU7SUFFdkI7OztPQUdHO0lBRUks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Z0JBVUMsS0FBSztzQkFEWCxLQUFLO2dCQVFHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFPRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBTUMsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiwgc3RhdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjY29yZGlvbkJ1dHRvblNldHRpbmdzLCBWYWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvcmRpb24tYnV0dG9uLXNldHRpbmdzJztcclxuaW1wb3J0IHsgQmFkZ2VDb2xvcnMsIEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9iYWRnZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gnO1xyXG5cclxubGV0IG5leHRQYW5lbElkID0gMDtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gUGFpbmVsIGluZGl2aWR1YWwgZG8ge0BsaW5rIEFjY29yZGlvbkNvbXBvbmVudH0uIEdlcmVuY2lhIG8gZXN0YWRvIGRlXHJcbiAqIGFiZXJ0dXJhL2ZlY2hhbWVudG8gY29tIGFuaW1hw6fDo28sIHBvZGVuZG8gY29udGVyIHVtIHN3aXRjaCBkZSBjb250cm9sZSB2aWEgYHN3aXRjaENvbnRyb2xgLFxyXG4gKiBib3TDtWVzIGRlIGHDp8OjbyBjb25maWd1csOhdmVpcyBlIHVtYSBtZW5zYWdlbSBkZSB2YWxpZGHDp8OjbyBjb20gw61jb25lLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDxzLWFjY29yZGlvbi1wYW5lbFxyXG4gKiAgIGhlYWRlcj1cIkNvbmZpZ3VyYcOnw7Vlc1wiXHJcbiAqICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICogICAocGFuZWxPcGVuZWQpPVwib25PcGVuKClcIlxyXG4gKiAgIChwYW5lbENsb3NlZCk9XCJvbkNsb3NlKClcIj5cclxuICogICA8cD5Db250ZcO6ZG8gZG8gcGFpbmVsPC9wPlxyXG4gKiA8L3MtYWNjb3JkaW9uLXBhbmVsPlxyXG4gKiBgYGBcclxuICpcclxuICogQGNhdGVnb3J5IElucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3MtYWNjb3JkaW9uLXBhbmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoJ2NhY2hlbGVzc0FuaW1hdGlvbicsIFtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgaGVpZ2h0OiAnMCcgfSksIGFuaW1hdGUoJzIwMG1zIGxpbmVhcicsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtzdHlsZSh7IGhlaWdodDogJyonIH0pLCBhbmltYXRlKCcyMDBtcyBsaW5lYXInLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKV0pLFxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyaWdnZXIoJ2NhY2hlQW5pbWF0aW9uJywgW1xyXG4gICAgICAgICAgICBzdGF0ZSgndHJ1ZScsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogJzBweCcgfSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCcyMDBtcycpKSxcclxuICAgICAgICBdKSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIFRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICAgICAgQmFkZ2VDb21wb25lbnQsXHJcbiAgICAgICAgTmdDbGFzcyxcclxuICAgICAgICBTd2l0Y2hDb21wb25lbnQsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvblBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFTDrXR1bG8gZXhpYmlkbyBubyBjYWJlw6dhbGhvIGRvIHBhaW5lbC4gQ2FtcG8gb2JyaWdhdMOzcmlvLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIGhlYWRlciE6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmlhIHVtIGNvbXBvbmVudGUgQmFkZ2UgYW8gbGFkbyBkb3MgYm90w7VlcyBkZSBhw6fDo28gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuXHJcbiAgICAgKiBPIG9iamV0byBkZSBjb25maWd1cmHDp8OjbyBkZXZlIGNvbnRlciBvIHRleHRvIGUgYSBjb3IgZG8gYmFkZ2UuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmFkZ2VDb25maWc/OiB7IHRleHQ6IHN0cmluZzsgY29sb3I6IEJhZGdlQ29sb3JzIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgYm90w7VlcyBkZSBhw6fDo28gZXhpYmlkb3Mgbm8gY2FiZcOnYWxobyBkbyBwYWluZWwsXHJcbiAgICAgKiDDoCBkaXJlaXRhIGRvIHTDrXR1bG8uIENhZGEgaXRlbSBkZWZpbmUgw61jb25lLCB0b29sdGlwIGUgY2FsbGJhY2sgZGUgY2xpcXVlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJ1dHRvbnM/OiBBY2NvcmRpb25CdXR0b25TZXR0aW5nc1tdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIERlc2FiaWxpdGEgYSBpbnRlcmHDp8OjbyBkbyB1c3XDoXJpbyBjb20gbyBwYWluZWwsIGltcGVkaW5kbyBhYmVydHVyYSBlIGZlY2hhbWVudG8uXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIGBGb3JtQ29udHJvbGAgdmluY3VsYWRvIGEgdW0gc3dpdGNoIGV4aWJpZG8gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuXHJcbiAgICAgKiBQZXJtaXRlIGhhYmlsaXRhci9kZXNhYmlsaXRhciBvIGNvbnRlw7pkbyBkbyBwYWluZWwgdmlhIHRvZ2dsZS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzd2l0Y2hDb250cm9sPzogVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIE1lbnNhZ2VtIGRlIHZhbGlkYcOnw6NvIGV4aWJpZGEgYWJhaXhvIGRvIGNhYmXDp2FsaG8sIGFjb21wYW5oYWRhIGRlIHVtIMOtY29uZS5cclxuICAgICAqIMOadGlsIHBhcmEgaW5kaWNhciBlcnJvcyBvdSBhbGVydGFzIHJlbGFjaW9uYWRvcyBhbyBjb250ZcO6ZG8gZG8gcGFpbmVsLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZhbGlkYXRpb25NZXNzYWdlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIE1hbnTDqW0gbyBjb250ZcO6ZG8gZG8gcGFpbmVsIG5vIERPTSBtZXNtbyBxdWFuZG8gZmVjaGFkbyAobW9kbyBjYWNoZSkuXHJcbiAgICAgKiDDmnRpbCBwYXJhIHByZXNlcnZhciBvIGVzdGFkbyBkZSBjb21wb25lbnRlcyBpbnRlcm5vcyBhbyByZWFicmlyIG8gcGFpbmVsLlxyXG4gICAgICpcclxuICAgICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY2FjaGUgPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gYW8gbGFkbyBkYSBtZW5zYWdlbSBkZSB2YWxpZGHDp8Ojby5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCAnZmFzIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZSdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VJY29uID0gJ2ZhcyBmYS1leGNsYW1hdGlvbi1jaXJjbGUnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvciBkbyDDrWNvbmUgZGEgbWVuc2FnZW0gZGUgdmFsaWRhw6fDo28uXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgJ1JlZCdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3I6IFZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID0gJ1JlZCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBwYWluZWwgw6kgYWJlcnRvIHBlbG8gdXN1w6FyaW8uXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBhbmVsT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gcGFpbmVsIMOpIGZlY2hhZG8gcGVsbyB1c3XDoXJpby5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcGFuZWxDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHVibGljIGlzQW5pbWF0aW5nID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNDb250ZW50QW5pbWF0aW9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHBhbmVsSWQgPSBuZXh0UGFuZWxJZCsrO1xyXG5cclxuICAgIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNPcGVuKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpc09wZW4oaXNPcGVuOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNPcGVuID0gaXNPcGVuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCdkaXNhYmxlZCcgaW4gY2hhbmdlcyAmJiB0aGlzLnN3aXRjaENvbnRyb2wpIHtcclxuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN3aXRjaENvbnRyb2wuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN3aXRjaENvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCdzd2l0Y2gnIGluIGNoYW5nZXMgJiYgJ3N3aXRjaENvbnRyb2wnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbid0IHNldCBzd2l0Y2ggYW5kIHN3aXRjaENvbnRyb2wgdG9nZXRoZXIuXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRvIGV4ZWN1dGVkIGF0IGEgc2FmZSB0aW1lIHByaW9yIHRvIGNvbnRyb2wgcmV0dXJuaW5nIHRvIHRoZSBicm93c2VyJ3MgZXZlbnQgbG9vcFxyXG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkljb25CdXR0b25zQ2xpY2soZXZlbnQ6IEV2ZW50LCBjYWxsYmFjazogVm9pZEZ1bmN0aW9uKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgY2FsbGJhY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25UYWJDbGljaygpIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzQW5pbWF0aW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XHJcbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25IZWFkZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICB0aGlzLm9uVGFiQ2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uQ29udGVudEFuaW1hdGlvblN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNvbnRlbnRBbmltYXRpb25Eb25lKCkge1xyXG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lbWl0UGFuZWxFdmVudCgpIHtcclxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5wYW5lbE9wZW5lZC5lbWl0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYW5lbENsb3NlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcbiAgICBjbGFzcz1cImFjY29yZGlvbi1wYW5lbCBib3JkZXItYiBib3JkZXItZ3JheXNjYWxlLTMwXCJcbiAgICBbY2xhc3MuYWNjb3JkaW9uLXBhbmVsLS1vcGVuXT1cImlzT3BlblwiXG4gICAgW2NsYXNzLmFjY29yZGlvbi1wYW5lbC0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJoZWFkZXIgZmxleCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGJvcmRlci1ncmF5c2NhbGUtMzAgYmctZ3JheXNjYWxlLTAgcC00XCJcbiAgICAgICAgW2NsYXNzLmJnLWdyYXlzY2FsZS0xMF09XCJpc09wZW5cIlxuICAgICAgICBbY2xhc3MuYm9yZGVyLWJdPVwiaXNPcGVuXCJcbiAgICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5jdXJzb3ItYXV0b109XCJkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImhlYWRlcl9fdHJpZ2dlciBmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LTEgZmxleC1ub3dyYXAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1wcmltYXJ5IGZvY3VzLXZpc2libGU6W291dGxpbmUtb2Zmc2V0Oi0ycHhdXCJcbiAgICAgICAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2NsYXNzLmN1cnNvci1hdXRvXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW3RhYmluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ2FjY29yZGlvbi1wYW5lbC1jb250ZW50LScgKyBwYW5lbElkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uVGFiQ2xpY2soKVwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJvbkhlYWRlcktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uIGZhcyB0ZXh0LWJhc2UgbXItM1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLW1pbnVzXT1cImlzT3BlblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZhLXBsdXNdPVwiIWlzT3BlblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtZ3JheXNjYWxlLTkwXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtZ3JheXNjYWxlLTMwXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgQGlmICh2YWxpZGF0aW9uTWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXhjbGFtYXRpb24taWNvbiB0ZXh0LWJhc2UgbXItM1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25cIlxuICAgICAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwidmFsaWRhdGlvbk1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXhjbGFtYXRpb24taWNvbi1yZWRdPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdSZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtY3JpdGljYWxpdHktcmVkXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnUmVkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leGNsYW1hdGlvbi1pY29uLW9yYW5nZV09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ09yYW5nZSdcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1jcml0aWNhbGl0eS1vcmFuZ2VdPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdPcmFuZ2UnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24teWVsbG93XT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnWWVsbG93J1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LWNyaXRpY2FsaXR5LXllbGxvd109XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ1llbGxvdydcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXhjbGFtYXRpb24taWNvbi1ncmVlbl09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ0dyZWVuJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LWNyaXRpY2FsaXR5LWdyZWVuXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnR3JlZW4nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24tYmx1ZV09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ0JsdWUnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtcHJpbWFyeV09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ0JsdWUnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm9wYWNpdHktNTBdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGl0bGUgZm9udC1vcGVuLXNhbnMgdGV4dC1zbSBmb250LWJvbGQgdXBwZXJjYXNlIGxlYWRpbmctbm9ybWFsXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1ncmF5c2NhbGUtMzBdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtpZF09XCInYWNjb3JkaW9uLXBhbmVsLWhlYWRlci0nICsgcGFuZWxJZFwiXG4gICAgICAgICAgICAgICAgPnt7IGhlYWRlciB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fY29udHJvbHMgZmxleCBpdGVtcy1jZW50ZXIgbWwtNFwiPlxuICAgICAgICAgICAgQGlmIChiYWRnZUNvbmZpZykge1xuICAgICAgICAgICAgICAgIDxzLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJiYWRnZUNvbmZpZy5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImJhZGdlQ29uZmlnLnRleHRcIlxuICAgICAgICAgICAgICAgID48L3MtYmFkZ2U+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBidXR0b25zOyB0cmFjayBidXR0b24uaWNvbikge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uLWJ1dHRvbiB0ZXh0LWJhc2UgbWwtMyBwLTEgYm9yZGVyLTAgYmctdHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1ncmF5c2NhbGUtOTBdPVwiIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtZ3JheXNjYWxlLTMwXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jdXJzb3ItYXV0b109XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImJ1dHRvbi5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JY29uQnV0dG9uc0NsaWNrKCRldmVudCwgYnV0dG9uLm9uQ2xpY2spXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoc3dpdGNoQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIDxzLXN3aXRjaFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN3aXRjaCBwbC00XCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN3aXRjaENvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zLXN3aXRjaD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGNhY2hlKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY29udGVudCBiZy1ncmF5c2NhbGUtMCBvdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2FjY29yZGlvbi1wYW5lbC1oZWFkZXItJyArIHBhbmVsSWRcIlxuICAgICAgICAgICAgW2lkXT1cIidhY2NvcmRpb24tcGFuZWwtY29udGVudC0nICsgcGFuZWxJZFwiXG4gICAgICAgICAgICBbQGNhY2hlQW5pbWF0aW9uXT1cImlzT3BlblwiXG4gICAgICAgICAgICBbQC5kaXNhYmxlZF09XCJpc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAoQGNhY2hlQW5pbWF0aW9uLnN0YXJ0KT1cIm9uQ29udGVudEFuaW1hdGlvblN0YXJ0KClcIlxuICAgICAgICAgICAgKEBjYWNoZUFuaW1hdGlvbi5kb25lKT1cIm9uQ29udGVudEFuaW1hdGlvbkRvbmUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lciBtLTVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBhbmVsQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKGlzT3Blbikge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udGVudCBiZy1ncmF5c2NhbGUtMCBvdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInYWNjb3JkaW9uLXBhbmVsLWhlYWRlci0nICsgcGFuZWxJZFwiXG4gICAgICAgICAgICAgICAgW2lkXT1cIidhY2NvcmRpb24tcGFuZWwtY29udGVudC0nICsgcGFuZWxJZFwiXG4gICAgICAgICAgICAgICAgQGNhY2hlbGVzc0FuaW1hdGlvblxuICAgICAgICAgICAgICAgIFtALmRpc2FibGVkXT1cImlzQ29udGVudEFuaW1hdGlvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAoQGNhY2hlbGVzc0FuaW1hdGlvbi5zdGFydCk9XCJvbkNvbnRlbnRBbmltYXRpb25TdGFydCgpXCJcbiAgICAgICAgICAgICAgICAoQGNhY2hlbGVzc0FuaW1hdGlvbi5kb25lKT1cIm9uQ29udGVudEFuaW1hdGlvbkRvbmUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtY29udGFpbmVyIG0tNVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBhbmVsQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwYW5lbENvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9hY2NvcmRpb24vc3JjL2xpYi9hY2NvcmRpb24vY29tcG9uZW50cy9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpGLE9BQU8sRUFBc0IsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEYsT0FBTyxFQUFlLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQUU1RSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFFcEI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBMEJILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEM7O09BRUc7SUFFSSxNQUFNLENBQVU7SUFFdkI7OztPQUdHO0lBRUks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Z0JBVUMsS0FBSztzQkFEWCxLQUFLO2dCQVFHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFPRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBTUMsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiwgc3RhdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjY29yZGlvbkJ1dHRvblNldHRpbmdzLCBWYWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvcmRpb24tYnV0dG9uLXNldHRpbmdzJztcclxuaW1wb3J0IHsgQmFkZ2VDb2xvcnMsIEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9iYWRnZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9zd2l0Y2gnO1xyXG5cclxubGV0IG5leHRQYW5lbElkID0gMDtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gUGFpbmVsIGluZGl2aWR1YWwgZG8ge0BsaW5rIEFjY29yZGlvbkNvbXBvbmVudH0uIEdlcmVuY2lhIG8gZXN0YWRvIGRlXHJcbiAqIGFiZXJ0dXJhL2ZlY2hhbWVudG8gY29tIGFuaW1hw6fDo28sIHBvZGVuZG8gY29udGVyIHVtIHN3aXRjaCBkZSBjb250cm9sZSB2aWEgYHN3aXRjaENvbnRyb2xgLFxyXG4gKiBib3TDtWVzIGRlIGHDp8OjbyBjb25maWd1csOhdmVpcyBlIHVtYSBtZW5zYWdlbSBkZSB2YWxpZGHDp8OjbyBjb20gw61jb25lLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDxzLWFjY29yZGlvbi1wYW5lbFxyXG4gKiAgIGhlYWRlcj1cIkNvbmZpZ3VyYcOnw7Vlc1wiXHJcbiAqICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcclxuICogICAocGFuZWxPcGVuZWQpPVwib25PcGVuKClcIlxyXG4gKiAgIChwYW5lbENsb3NlZCk9XCJvbkNsb3NlKClcIj5cclxuICogICA8cD5Db250ZcO6ZG8gZG8gcGFpbmVsPC9wPlxyXG4gKiA8L3MtYWNjb3JkaW9uLXBhbmVsPlxyXG4gKiBgYGBcclxuICpcclxuICogQGNhdGVnb3J5IElucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3MtYWNjb3JkaW9uLXBhbmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24tcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoJ2NhY2hlbGVzc0FuaW1hdGlvbicsIFtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgaGVpZ2h0OiAnMCcgfSksIGFuaW1hdGUoJzIwMG1zIGxpbmVhcicsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtzdHlsZSh7IGhlaWdodDogJyonIH0pLCBhbmltYXRlKCcyMDBtcyBsaW5lYXInLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKV0pLFxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyaWdnZXIoJ2NhY2hlQW5pbWF0aW9uJywgW1xyXG4gICAgICAgICAgICBzdGF0ZSgndHJ1ZScsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogJzBweCcgfSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCcyMDBtcycpKSxcclxuICAgICAgICBdKSxcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIFRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICAgICAgQmFkZ2VDb21wb25lbnQsXHJcbiAgICAgICAgTmdDbGFzcyxcclxuICAgICAgICBTd2l0Y2hDb21wb25lbnQsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvblBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIFTDrXR1bG8gZXhpYmlkbyBubyBjYWJlw6dhbGhvIGRvIHBhaW5lbC4gQ2FtcG8gb2JyaWdhdMOzcmlvLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIGhlYWRlciE6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBDcmlhIHVtIGNvbXBvbmVudGUgQmFkZ2UgYW8gbGFkbyBkb3MgYm90w7VlcyBkZSBhw6fDo28gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuXHJcbiAgICAgKiBPIG9iamV0byBkZSBjb25maWd1cmHDp8OjbyBkZXZlIGNvbnRlciBvIHRleHRvIGUgYSBjb3IgZG8gYmFkZ2UuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmFkZ2VDb25maWc/OiB7IHRleHQ6IHN0cmluZzsgY29sb3I6IEJhZGdlQ29sb3JzIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdGEgZGUgYm90w7VlcyBkZSBhw6fDo28gZXhpYmlkb3Mgbm8gY2FiZcOnYWxobyBkbyBwYWluZWwsXHJcbiAgICAgKiDDoCBkaXJlaXRhIGRvIHTDrXR1bG8uIENhZGEgaXRlbSBkZWZpbmUgw61jb25lLCB0b29sdGlwIGUgY2FsbGJhY2sgZGUgY2xpcXVlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJ1dHRvbnM/OiBBY2NvcmRpb25CdXR0b25TZXR0aW5nc1tdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIERlc2FiaWxpdGEgYSBpbnRlcmHDp8OjbyBkbyB1c3XDoXJpbyBjb20gbyBwYWluZWwsIGltcGVkaW5kbyBhYmVydHVyYSBlIGZlY2hhbWVudG8uXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIGBGb3JtQ29udHJvbGAgdmluY3VsYWRvIGEgdW0gc3dpdGNoIGV4aWJpZG8gbm8gY2FiZcOnYWxobyBkbyBwYWluZWwuXHJcbiAgICAgKiBQZXJtaXRlIGhhYmlsaXRhci9kZXNhYmlsaXRhciBvIGNvbnRlw7pkbyBkbyBwYWluZWwgdmlhIHRvZ2dsZS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzd2l0Y2hDb250cm9sPzogVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIE1lbnNhZ2VtIGRlIHZhbGlkYcOnw6NvIGV4aWJpZGEgYWJhaXhvIGRvIGNhYmXDp2FsaG8sIGFjb21wYW5oYWRhIGRlIHVtIMOtY29uZS5cclxuICAgICAqIMOadGlsIHBhcmEgaW5kaWNhciBlcnJvcyBvdSBhbGVydGFzIHJlbGFjaW9uYWRvcyBhbyBjb250ZcO6ZG8gZG8gcGFpbmVsLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZhbGlkYXRpb25NZXNzYWdlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIE1hbnTDqW0gbyBjb250ZcO6ZG8gZG8gcGFpbmVsIG5vIERPTSBtZXNtbyBxdWFuZG8gZmVjaGFkbyAobW9kbyBjYWNoZSkuXHJcbiAgICAgKiDDmnRpbCBwYXJhIHByZXNlcnZhciBvIGVzdGFkbyBkZSBjb21wb25lbnRlcyBpbnRlcm5vcyBhbyByZWFicmlyIG8gcGFpbmVsLlxyXG4gICAgICpcclxuICAgICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY2FjaGUgPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gYW8gbGFkbyBkYSBtZW5zYWdlbSBkZSB2YWxpZGHDp8Ojby5cclxuICAgICAqXHJcbiAgICAgKiBAZGVmYXVsdCAnZmFzIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZSdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VJY29uID0gJ2ZhcyBmYS1leGNsYW1hdGlvbi1jaXJjbGUnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIENvciBkbyDDrWNvbmUgZGEgbWVuc2FnZW0gZGUgdmFsaWRhw6fDo28uXHJcbiAgICAgKlxyXG4gICAgICogQGRlZmF1bHQgJ1JlZCdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgdmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3I6IFZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID0gJ1JlZCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBwYWluZWwgw6kgYWJlcnRvIHBlbG8gdXN1w6FyaW8uXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBhbmVsT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gcGFpbmVsIMOpIGZlY2hhZG8gcGVsbyB1c3XDoXJpby5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcGFuZWxDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHVibGljIGlzQW5pbWF0aW5nID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNDb250ZW50QW5pbWF0aW9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHBhbmVsSWQgPSBuZXh0UGFuZWxJZCsrO1xyXG5cclxuICAgIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaXNPcGVuKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc09wZW47XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpc09wZW4oaXNPcGVuOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faXNPcGVuID0gaXNPcGVuO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCdkaXNhYmxlZCcgaW4gY2hhbmdlcyAmJiB0aGlzLnN3aXRjaENvbnRyb2wpIHtcclxuICAgICAgICAgICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN3aXRjaENvbnRyb2wuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN3aXRjaENvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCdzd2l0Y2gnIGluIGNoYW5nZXMgJiYgJ3N3aXRjaENvbnRyb2wnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbid0IHNldCBzd2l0Y2ggYW5kIHN3aXRjaENvbnRyb2wgdG9nZXRoZXIuXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRvIGV4ZWN1dGVkIGF0IGEgc2FmZSB0aW1lIHByaW9yIHRvIGNvbnRyb2wgcmV0dXJuaW5nIHRvIHRoZSBicm93c2VyJ3MgZXZlbnQgbG9vcFxyXG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkljb25CdXR0b25zQ2xpY2soZXZlbnQ6IEV2ZW50LCBjYWxsYmFjazogVm9pZEZ1bmN0aW9uKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgY2FsbGJhY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25UYWJDbGljaygpIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzQW5pbWF0aW5nKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XHJcbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25IZWFkZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICB0aGlzLm9uVGFiQ2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uQ29udGVudEFuaW1hdGlvblN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkNvbnRlbnRBbmltYXRpb25Eb25lKCkge1xyXG4gICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5fZW1pdFBhbmVsRXZlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lbWl0UGFuZWxFdmVudCgpIHtcclxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5wYW5lbE9wZW5lZC5lbWl0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYW5lbENsb3NlZC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcbiAgICBjbGFzcz1cImFjY29yZGlvbi1wYW5lbCBib3JkZXItYiBib3JkZXItZ3JheXNjYWxlLTMwXCJcbiAgICBbY2xhc3MuYWNjb3JkaW9uLXBhbmVsLS1vcGVuXT1cImlzT3BlblwiXG4gICAgW2NsYXNzLmFjY29yZGlvbi1wYW5lbC0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJoZWFkZXIgZmxleCBzZWxlY3Qtbm9uZSBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGJvcmRlci1ncmF5c2NhbGUtMzAgYmctZ3JheXNjYWxlLTAgcC00XCJcbiAgICAgICAgW2NsYXNzLmJnLWdyYXlzY2FsZS0xMF09XCJpc09wZW5cIlxuICAgICAgICBbY2xhc3MuYm9yZGVyLWJdPVwiaXNPcGVuXCJcbiAgICAgICAgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5jdXJzb3ItYXV0b109XCJkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImhlYWRlcl9fdHJpZ2dlciBmbGV4IGl0ZW1zLWNlbnRlciBmbGV4LTEgZmxleC1ub3dyYXAgZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1bdmFyKC0tcy1mb2N1cy1yaW5nLWNvbG9yLCMwMDkwZmYpXSBmb2N1cy12aXNpYmxlOltvdXRsaW5lLW9mZnNldDotMnB4XVwiXG4gICAgICAgICAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwiIWRpc2FibGVkXCJcbiAgICAgICAgICAgIFtjbGFzcy5jdXJzb3ItYXV0b109XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFt0YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidhY2NvcmRpb24tcGFuZWwtY29udGVudC0nICsgcGFuZWxJZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRhYkNsaWNrKClcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwib25IZWFkZXJLZXlkb3duKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbiBmYXMgdGV4dC1iYXNlIG1yLTNcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mYS1taW51c109XCJpc09wZW5cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mYS1wbHVzXT1cIiFpc09wZW5cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LWdyYXlzY2FsZS05MF09XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LWdyYXlzY2FsZS0zMF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEBpZiAodmFsaWRhdGlvbk1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV4Y2xhbWF0aW9uLWljb24gdGV4dC1iYXNlIG1yLTNcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW3NUb29sdGlwXT1cInZhbGlkYXRpb25NZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24tcmVkXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnUmVkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LWNyaXRpY2FsaXR5LXJlZF09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ1JlZCdcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZXhjbGFtYXRpb24taWNvbi1vcmFuZ2VdPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdPcmFuZ2UnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtY3JpdGljYWxpdHktb3JhbmdlXT1cInZhbGlkYXRpb25NZXNzYWdlSWNvbkNvbG9yID09PSAnT3JhbmdlJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leGNsYW1hdGlvbi1pY29uLXllbGxvd109XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ1llbGxvdydcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1jcml0aWNhbGl0eS15ZWxsb3ddPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdZZWxsb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmV4Y2xhbWF0aW9uLWljb24tZ3JlZW5dPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdHcmVlbidcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudGV4dC1jcml0aWNhbGl0eS1ncmVlbl09XCJ2YWxpZGF0aW9uTWVzc2FnZUljb25Db2xvciA9PT0gJ0dyZWVuJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5leGNsYW1hdGlvbi1pY29uLWJsdWVdPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdCbHVlJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LXByaW1hcnldPVwidmFsaWRhdGlvbk1lc3NhZ2VJY29uQ29sb3IgPT09ICdCbHVlJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5vcGFjaXR5LTUwXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInRpdGxlIGZvbnQtb3Blbi1zYW5zIHRleHQtc20gZm9udC1ib2xkIHVwcGVyY2FzZSBsZWFkaW5nLW5vcm1hbFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtZ3JheXNjYWxlLTMwXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ2FjY29yZGlvbi1wYW5lbC1oZWFkZXItJyArIHBhbmVsSWRcIlxuICAgICAgICAgICAgICAgID57eyBoZWFkZXIgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2NvbnRyb2xzIGZsZXggaXRlbXMtY2VudGVyIG1sLTRcIj5cbiAgICAgICAgICAgIEBpZiAoYmFkZ2VDb25maWcpIHtcbiAgICAgICAgICAgICAgICA8cy1iYWRnZVxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiYmFkZ2VDb25maWcuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJiYWRnZUNvbmZpZy50ZXh0XCJcbiAgICAgICAgICAgICAgICA+PC9zLWJhZGdlPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgYnV0dG9uLmljb24pIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1idXR0b24gdGV4dC1iYXNlIG1sLTMgcC0xIGJvcmRlci0wIGJnLXRyYW5zcGFyZW50IHJvdW5kZWQtWzUwJV0gZm9jdXMtdmlzaWJsZTpvdXRsaW5lIGZvY3VzLXZpc2libGU6b3V0bGluZS0yIGZvY3VzLXZpc2libGU6b3V0bGluZS1vZmZzZXQtWzNweF0gZm9jdXMtdmlzaWJsZTpvdXRsaW5lLVt2YXIoLS1zLWZvY3VzLXJpbmctY29sb3IsIzAwOTBmZildXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRleHQtZ3JheXNjYWxlLTkwXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50ZXh0LWdyYXlzY2FsZS0zMF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY3Vyc29yLWF1dG9dPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJidXR0b24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSWNvbkJ1dHRvbnNDbGljaygkZXZlbnQsIGJ1dHRvbi5vbkNsaWNrKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKHN3aXRjaENvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICA8cy1zd2l0Y2hcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzd2l0Y2ggcGwtNFwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzd2l0Y2hDb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvcy1zd2l0Y2g+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChjYWNoZSkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQgYmctZ3JheXNjYWxlLTAgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidhY2NvcmRpb24tcGFuZWwtaGVhZGVyLScgKyBwYW5lbElkXCJcbiAgICAgICAgICAgIFtpZF09XCInYWNjb3JkaW9uLXBhbmVsLWNvbnRlbnQtJyArIHBhbmVsSWRcIlxuICAgICAgICAgICAgW0BjYWNoZUFuaW1hdGlvbl09XCJpc09wZW5cIlxuICAgICAgICAgICAgW0AuZGlzYWJsZWRdPVwiaXNDb250ZW50QW5pbWF0aW9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgKEBjYWNoZUFuaW1hdGlvbi5zdGFydCk9XCJvbkNvbnRlbnRBbmltYXRpb25TdGFydCgpXCJcbiAgICAgICAgICAgIChAY2FjaGVBbmltYXRpb24uZG9uZSk9XCJvbkNvbnRlbnRBbmltYXRpb25Eb25lKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXIgbS01XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwYW5lbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmIChpc09wZW4pIHtcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRlbnQgYmctZ3JheXNjYWxlLTAgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2FjY29yZGlvbi1wYW5lbC1oZWFkZXItJyArIHBhbmVsSWRcIlxuICAgICAgICAgICAgICAgIFtpZF09XCInYWNjb3JkaW9uLXBhbmVsLWNvbnRlbnQtJyArIHBhbmVsSWRcIlxuICAgICAgICAgICAgICAgIEBjYWNoZWxlc3NBbmltYXRpb25cbiAgICAgICAgICAgICAgICBbQC5kaXNhYmxlZF09XCJpc0NvbnRlbnRBbmltYXRpb25EaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKEBjYWNoZWxlc3NBbmltYXRpb24uc3RhcnQpPVwib25Db250ZW50QW5pbWF0aW9uU3RhcnQoKVwiXG4gICAgICAgICAgICAgICAgKEBjYWNoZWxlc3NBbmltYXRpb24uZG9uZSk9XCJvbkNvbnRlbnRBbmltYXRpb25Eb25lKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lciBtLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwYW5lbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcGFuZWxDb250ZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|