@lucca-front/ng 18.3.1 → 18.3.2

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.
Files changed (43) hide show
  1. package/core-select/input/select-input.component.d.ts +1 -1
  2. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +3 -3
  3. package/esm2022/core-select/input/select-input.component.mjs +8 -6
  4. package/esm2022/core-select/user/users.directive.mjs +6 -3
  5. package/esm2022/date2/date-input/date-input.component.mjs +24 -5
  6. package/esm2022/form-field/form-field.component.mjs +10 -9
  7. package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +3 -3
  8. package/esm2022/forms/form-field-id.directive.mjs +4 -4
  9. package/esm2022/multi-select/displayer/displayer-input.directive.mjs +5 -5
  10. package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +9 -13
  11. package/esm2022/multi-select/input/select-input.component.mjs +8 -4
  12. package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +2 -2
  13. package/esm2022/tooltip/panel/tooltip-panel.component.mjs +3 -3
  14. package/esm2022/tooltip/trigger/ellipsis.ruler.mjs +40 -18
  15. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +38 -37
  16. package/esm2022/user/tile/user-tile.component.mjs +2 -2
  17. package/fesm2022/lucca-front-ng-callout.mjs +2 -2
  18. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-core-select-user.mjs +5 -2
  20. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select.mjs +5 -3
  22. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-date2.mjs +23 -4
  24. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-form-field.mjs +9 -8
  26. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-forms.mjs +5 -5
  28. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-multi-select.mjs +18 -19
  30. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  32. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-tooltip.mjs +79 -56
  34. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-user.mjs +2 -2
  36. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  37. package/form-field/form-field.component.d.ts +1 -1
  38. package/multi-select/displayer/displayer-input.directive.d.ts +2 -2
  39. package/multi-select/input/select-input.component.d.ts +3 -1
  40. package/package.json +26 -26
  41. package/tooltip/panel/tooltip-panel.component.d.ts +2 -2
  42. package/tooltip/trigger/ellipsis.ruler.d.ts +9 -2
  43. package/tooltip/trigger/tooltip-trigger.directive.d.ts +4 -6
@@ -76,7 +76,7 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
76
76
  protected emptyClue(): void;
77
77
  closePanel(): void;
78
78
  writeValue(value: TValue): void;
79
- updateValue(value: TValue, skipPanelOpen?: boolean): void;
79
+ updateValue(value: TValue, skipPanelOpen?: boolean, noClear?: boolean): void;
80
80
  static ɵfac: i0.ɵɵFactoryDeclaration<ALuSelectInputComponent<any, any>, never>;
81
81
  static ɵdir: i0.ɵɵDirectiveDeclaration<ALuSelectInputComponent<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "addOptionLabel": { "alias": "addOptionLabel"; "required": false; }; "addOptionStrategy": { "alias": "addOptionStrategy"; "required": false; }; "overlayConfig": { "alias": "overlayConfig"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "options": { "alias": "options"; "required": false; }; "optionComparer": { "alias": "optionComparer"; "required": false; }; "optionKey": { "alias": "optionKey"; "required": false; }; "optionTpl": { "alias": "optionTpl"; "required": false; "isSignal": true; }; "valueTpl": { "alias": "valueTpl"; "required": false; "isSignal": true; }; "panelHeaderTpl": { "alias": "panelHeaderTpl"; "required": false; "isSignal": true; }; }, { "optionTpl": "optionTplChange"; "valueTpl": "valueTplChange"; "panelHeaderTpl": "panelHeaderTplChange"; "clueChange": "clueChange"; "nextPage": "nextPage"; "previousPage": "previousPage"; "addOption": "addOption"; }, never, never, false, never>;
82
82
  static ngAcceptInputType_clearable: unknown;
@@ -26,11 +26,11 @@ export class CalloutDisclosureComponent {
26
26
  };
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutDisclosureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CalloutDisclosureComponent, isStandalone: true, selector: "lu-callout-disclosure", inputs: { icon: "icon", heading: "heading", palette: "palette", size: "size", state: "state", open: ["open", "open", booleanAttribute] }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<span class=\"calloutDisclosure-summary-icon\">\n\t\t\t<lu-icon [icon]=\"calloutIcon\"></lu-icon>\n\t\t</span>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CalloutDisclosureComponent, isStandalone: true, selector: "lu-callout-disclosure", inputs: { icon: "icon", heading: "heading", palette: "palette", size: "size", state: "state", open: ["open", "open", booleanAttribute] }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\"></lu-icon>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutDisclosureComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, NgClass, PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<span class=\"calloutDisclosure-summary-icon\">\n\t\t\t<lu-icon [icon]=\"calloutIcon\"></lu-icon>\n\t\t</span>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"] }]
33
+ args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, NgClass, PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\"></lu-icon>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"] }]
34
34
  }], propDecorators: { icon: [{
35
35
  type: Input
36
36
  }], heading: [{
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
56
56
  }], openChange: [{
57
57
  type: Output
58
58
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbG91dC1kaXNjbG9zdXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NhbGxvdXQvY2FsbG91dC1kaXNjbG9zdXJlL2NhbGxvdXQtZGlzY2xvc3VyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9jYWxsb3V0L2NhbGxvdXQtZGlzY2xvc3VyZS9jYWxsb3V0LWRpc2Nsb3N1cmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJJLE9BQU8sRUFBMEIsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBV3JELE1BQU0sT0FBTywwQkFBMEI7SUFUdkM7UUFpQkMsWUFBTyxHQUFZLE1BQU0sQ0FBQztRQUcxQixTQUFJLEdBQWMsR0FBRyxDQUFDO1FBWWtCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFM0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0FlbkQ7SUFiTyxRQUFRLENBQUMsS0FBWTtRQUMzQixJQUFJLEtBQUssQ0FBQyxNQUFNLFlBQVksa0JBQWtCLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDRixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELE9BQU87WUFDTixDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2pDLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPO1NBQ2pDLENBQUM7SUFDSCxDQUFDOzhHQXZDVywwQkFBMEI7a0dBQTFCLDBCQUEwQiw4S0F1QmxCLGdCQUFnQixvRUN6Q3JDLHVzQkFnQkEsdXlHREpXLFlBQVksNkhBQUUsYUFBYSw4RkFBVyxlQUFlLDJGQUFFLGVBQWU7OzJGQU1wRSwwQkFBMEI7a0JBVHRDLFNBQVM7K0JBQ0MsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsbUJBR2hFLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBSXJDLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUl6QixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLOztRQUlOOzs7Ozs7V0FNRztRQUNILEtBQUs7c0JBUkosS0FBSztnQkFVa0MsSUFBSTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMdWNjYUljb24gfSBmcm9tICdAbHVjY2EtZnJvbnQvaWNvbnMnO1xuaW1wb3J0IHsgUGFsZXR0ZSwgUG9ydGFsQ29udGVudCwgUG9ydGFsRGlyZWN0aXZlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9pY29uJztcbmltcG9ydCB7IENhbGxvdXRJY29uUGlwZSB9IGZyb20gJy4uL2NhbGxvdXQtaWNvbi5waXBlJztcbmltcG9ydCB7IENhbGxvdXRTdGF0ZSB9IGZyb20gJy4uL2NhbGxvdXQtc3RhdGUnO1xuaW1wb3J0IHsgZ2V0Q2FsbG91dFBhbGV0dGUgfSBmcm9tICcuLi9jYWxsb3V0LnV0aWxzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbHUtY2FsbG91dC1kaXNjbG9zdXJlJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudCwgTmdDbGFzcywgUG9ydGFsRGlyZWN0aXZlLCBDYWxsb3V0SWNvblBpcGVdLFxuXHR0ZW1wbGF0ZVVybDogJy4vY2FsbG91dC1kaXNjbG9zdXJlLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vY2FsbG91dC1kaXNjbG9zdXJlLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxsb3V0RGlzY2xvc3VyZUNvbXBvbmVudCB7XG5cdEBJbnB1dCgpXG5cdGljb246IEx1Y2NhSWNvbjtcblxuXHRASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuXHRoZWFkaW5nOiBQb3J0YWxDb250ZW50O1xuXG5cdEBJbnB1dCgpXG5cdHBhbGV0dGU6IFBhbGV0dGUgPSAnbm9uZSc7XG5cblx0QElucHV0KClcblx0c2l6ZTogJ00nIHwgJ1MnID0gJ00nO1xuXG5cdEBJbnB1dCgpXG5cdC8qKlxuXHQgKiBTdGF0ZSBpcyBhIHNob3J0aGFuZCB0byBzZXQgdGhlIGljb24gYW5kIHRoZSBwYWxldHRlIHRvIHRoZSByZWNvbW1lbmRlZCB2YWx1ZXMgZm9yIHRoZSBpY29uIGFuZCBwYWxldHRlIGJhc2VkIG9uXG5cdCAqIHRoZSBwcm92aWRlZCBzdGF0ZS5cblx0ICpcblx0ICogSWYgb25lIG9mIHRoZSBpY29uIG9yIHBhbGV0dGUgaW5wdXRzIGFyZSBmaWxsZWQgYWxvbmcgd2l0aCB0aGUgc3RhdGUgaW5wdXQsIHRoZWlyIHZhbHVlcyB3aWxsIGhhdmUgdGhlIHByaW9yaXR5IG92ZXJcblx0ICogc3RhdGUgKHNvIHNldHRpbmcgc3RhdGUgdG8gc3VjY2VzcyBhbmQgcGFsZXR0ZSB0byB3YXJuaW5nIHdpbGwgbWFrZSB0aGUgcGFsZXR0ZSB3YXJuaW5nKVxuXHQgKi9cblx0c3RhdGU6IENhbGxvdXRTdGF0ZTtcblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb3BlbiA9IGZhbHNlO1xuXG5cdEBPdXRwdXQoKSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG5cdHB1YmxpYyBvblRvZ2dsZShldmVudDogRXZlbnQpIHtcblx0XHRpZiAoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTERldGFpbHNFbGVtZW50KSB7XG5cdFx0XHR0aGlzLm9wZW5DaGFuZ2UuZW1pdChldmVudC50YXJnZXQub3Blbik7XG5cdFx0fVxuXHR9XG5cblx0Z2V0IGNhbGxvdXRDbGFzc2VzKCkge1xuXHRcdGNvbnN0IHBhbGV0dGUgPSBnZXRDYWxsb3V0UGFsZXR0ZSh0aGlzLnN0YXRlLCB0aGlzLnBhbGV0dGUpO1xuXHRcdHJldHVybiB7XG5cdFx0XHRbYG1vZC0ke3RoaXMuc2l6ZX1gXTogISF0aGlzLnNpemUsXG5cdFx0XHRbYHBhbGV0dGUtJHtwYWxldHRlfWBdOiAhIXBhbGV0dGUsXG5cdFx0fTtcblx0fVxufVxuIiwiPGRldGFpbHMgY2xhc3M9XCJjYWxsb3V0RGlzY2xvc3VyZVwiIFtuZ0NsYXNzXT1cImNhbGxvdXRDbGFzc2VzXCIgW2NsYXNzLm1vZC1pY29ubGVzc109XCIhaWNvblwiIFtvcGVuXT1cIm9wZW5cIiAodG9nZ2xlKT1cIm9uVG9nZ2xlKCRldmVudClcIj5cblx0PHN1bW1hcnkgY2xhc3M9XCJjYWxsb3V0RGlzY2xvc3VyZS1zdW1tYXJ5XCI+XG5cdFx0QGlmIChzdGF0ZSB8IGx1Q2FsbG91dEljb246IGljb247IGFzIGNhbGxvdXRJY29uKSB7XG5cdFx0PHNwYW4gY2xhc3M9XCJjYWxsb3V0RGlzY2xvc3VyZS1zdW1tYXJ5LWljb25cIj5cblx0XHRcdDxsdS1pY29uIFtpY29uXT1cImNhbGxvdXRJY29uXCI+PC9sdS1pY29uPlxuXHRcdDwvc3Bhbj5cblx0XHR9XG5cdFx0PHNwYW4gY2xhc3M9XCJjYWxsb3V0RGlzY2xvc3VyZS1zdW1tYXJ5LXRpdGxlXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpsdVBvcnRhbD1cImhlYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cblx0XHQ8L3NwYW4+XG5cdFx0PGx1LWljb24gY2xhc3M9XCJjYWxsb3V0RGlzY2xvc3VyZS1zdW1tYXJ5LWNoZXZyb25cIiBpY29uPVwiYXJyb3dDaGV2cm9uQm90dG9tXCI+PC9sdS1pY29uPlxuXHQ8L3N1bW1hcnk+XG5cdDxkaXYgY2xhc3M9XCJjYWxsb3V0RGlzY2xvc3VyZS1kZXRhaWxzXCI+XG5cdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHQ8L2Rpdj5cbjwvZGV0YWlscz5cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbG91dC1kaXNjbG9zdXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NhbGxvdXQvY2FsbG91dC1kaXNjbG9zdXJlL2NhbGxvdXQtZGlzY2xvc3VyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9jYWxsb3V0L2NhbGxvdXQtZGlzY2xvc3VyZS9jYWxsb3V0LWRpc2Nsb3N1cmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJJLE9BQU8sRUFBMEIsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBV3JELE1BQU0sT0FBTywwQkFBMEI7SUFUdkM7UUFpQkMsWUFBTyxHQUFZLE1BQU0sQ0FBQztRQUcxQixTQUFJLEdBQWMsR0FBRyxDQUFDO1FBWWtCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFM0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0FlbkQ7SUFiTyxRQUFRLENBQUMsS0FBWTtRQUMzQixJQUFJLEtBQUssQ0FBQyxNQUFNLFlBQVksa0JBQWtCLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDRixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELE9BQU87WUFDTixDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2pDLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPO1NBQ2pDLENBQUM7SUFDSCxDQUFDOzhHQXZDVywwQkFBMEI7a0dBQTFCLDBCQUEwQiw4S0F1QmxCLGdCQUFnQixvRUN6Q3JDLDRxQkFjQSx1eUdERlcsWUFBWSw2SEFBRSxhQUFhLDhGQUFXLGVBQWUsMkZBQUUsZUFBZTs7MkZBTXBFLDBCQUEwQjtrQkFUdEMsU0FBUzsrQkFDQyx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQyxtQkFHaEUsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFJckMsSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSXpCLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7O1FBSU47Ozs7OztXQU1HO1FBQ0gsS0FBSztzQkFSSixLQUFLO2dCQVVrQyxJQUFJO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QixVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEx1Y2NhSWNvbiB9IGZyb20gJ0BsdWNjYS1mcm9udC9pY29ucyc7XG5pbXBvcnQgeyBQYWxldHRlLCBQb3J0YWxDb250ZW50LCBQb3J0YWxEaXJlY3RpdmUgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2ljb24nO1xuaW1wb3J0IHsgQ2FsbG91dEljb25QaXBlIH0gZnJvbSAnLi4vY2FsbG91dC1pY29uLnBpcGUnO1xuaW1wb3J0IHsgQ2FsbG91dFN0YXRlIH0gZnJvbSAnLi4vY2FsbG91dC1zdGF0ZSc7XG5pbXBvcnQgeyBnZXRDYWxsb3V0UGFsZXR0ZSB9IGZyb20gJy4uL2NhbGxvdXQudXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsdS1jYWxsb3V0LWRpc2Nsb3N1cmUnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBOZ0NsYXNzLCBQb3J0YWxEaXJlY3RpdmUsIENhbGxvdXRJY29uUGlwZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9jYWxsb3V0LWRpc2Nsb3N1cmUuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9jYWxsb3V0LWRpc2Nsb3N1cmUuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIENhbGxvdXREaXNjbG9zdXJlQ29tcG9uZW50IHtcblx0QElucHV0KClcblx0aWNvbjogTHVjY2FJY29uO1xuXG5cdEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG5cdGhlYWRpbmc6IFBvcnRhbENvbnRlbnQ7XG5cblx0QElucHV0KClcblx0cGFsZXR0ZTogUGFsZXR0ZSA9ICdub25lJztcblxuXHRASW5wdXQoKVxuXHRzaXplOiAnTScgfCAnUycgPSAnTSc7XG5cblx0QElucHV0KClcblx0LyoqXG5cdCAqIFN0YXRlIGlzIGEgc2hvcnRoYW5kIHRvIHNldCB0aGUgaWNvbiBhbmQgdGhlIHBhbGV0dGUgdG8gdGhlIHJlY29tbWVuZGVkIHZhbHVlcyBmb3IgdGhlIGljb24gYW5kIHBhbGV0dGUgYmFzZWQgb25cblx0ICogdGhlIHByb3ZpZGVkIHN0YXRlLlxuXHQgKlxuXHQgKiBJZiBvbmUgb2YgdGhlIGljb24gb3IgcGFsZXR0ZSBpbnB1dHMgYXJlIGZpbGxlZCBhbG9uZyB3aXRoIHRoZSBzdGF0ZSBpbnB1dCwgdGhlaXIgdmFsdWVzIHdpbGwgaGF2ZSB0aGUgcHJpb3JpdHkgb3ZlclxuXHQgKiBzdGF0ZSAoc28gc2V0dGluZyBzdGF0ZSB0byBzdWNjZXNzIGFuZCBwYWxldHRlIHRvIHdhcm5pbmcgd2lsbCBtYWtlIHRoZSBwYWxldHRlIHdhcm5pbmcpXG5cdCAqL1xuXHRzdGF0ZTogQ2FsbG91dFN0YXRlO1xuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBvcGVuID0gZmFsc2U7XG5cblx0QE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0cHVibGljIG9uVG9nZ2xlKGV2ZW50OiBFdmVudCkge1xuXHRcdGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRGV0YWlsc0VsZW1lbnQpIHtcblx0XHRcdHRoaXMub3BlbkNoYW5nZS5lbWl0KGV2ZW50LnRhcmdldC5vcGVuKTtcblx0XHR9XG5cdH1cblxuXHRnZXQgY2FsbG91dENsYXNzZXMoKSB7XG5cdFx0Y29uc3QgcGFsZXR0ZSA9IGdldENhbGxvdXRQYWxldHRlKHRoaXMuc3RhdGUsIHRoaXMucGFsZXR0ZSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFtgbW9kLSR7dGhpcy5zaXplfWBdOiAhIXRoaXMuc2l6ZSxcblx0XHRcdFtgcGFsZXR0ZS0ke3BhbGV0dGV9YF06ICEhcGFsZXR0ZSxcblx0XHR9O1xuXHR9XG59XG4iLCI8ZGV0YWlscyBjbGFzcz1cImNhbGxvdXREaXNjbG9zdXJlXCIgW25nQ2xhc3NdPVwiY2FsbG91dENsYXNzZXNcIiBbY2xhc3MubW9kLWljb25sZXNzXT1cIiFpY29uXCIgW29wZW5dPVwib3BlblwiICh0b2dnbGUpPVwib25Ub2dnbGUoJGV2ZW50KVwiPlxuXHQ8c3VtbWFyeSBjbGFzcz1cImNhbGxvdXREaXNjbG9zdXJlLXN1bW1hcnlcIj5cblx0XHRAaWYgKHN0YXRlIHwgbHVDYWxsb3V0SWNvbjogaWNvbjsgYXMgY2FsbG91dEljb24pIHtcblx0XHQ8bHUtaWNvbiBjbGFzcz1cImNhbGxvdXREaXNjbG9zdXJlLXN1bW1hcnktaWNvblwiIFtpY29uXT1cImNhbGxvdXRJY29uXCI+PC9sdS1pY29uPlxuXHRcdH1cblx0XHQ8c3BhbiBjbGFzcz1cImNhbGxvdXREaXNjbG9zdXJlLXN1bW1hcnktdGl0bGVcIj5cblx0XHRcdDxuZy1jb250YWluZXIgKmx1UG9ydGFsPVwiaGVhZGluZ1wiPjwvbmctY29udGFpbmVyPlxuXHRcdDwvc3Bhbj5cblx0XHQ8bHUtaWNvbiBjbGFzcz1cImNhbGxvdXREaXNjbG9zdXJlLXN1bW1hcnktY2hldnJvblwiIGljb249XCJhcnJvd0NoZXZyb25Cb3R0b21cIj48L2x1LWljb24+XG5cdDwvc3VtbWFyeT5cblx0PGRpdiBjbGFzcz1cImNhbGxvdXREaXNjbG9zdXJlLWRldGFpbHNcIj5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuPC9kZXRhaWxzPlxuIl19
@@ -1,8 +1,8 @@
1
1
  /* eslint-disable @angular-eslint/no-output-on-prefix */
2
2
  import { OverlayContainer } from '@angular/cdk/overlay';
3
- import { ChangeDetectorRef, Directive, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, booleanAttribute, computed, inject, model, } from '@angular/core';
3
+ import { booleanAttribute, ChangeDetectorRef, computed, Directive, EventEmitter, HostBinding, HostListener, inject, Input, model, Output, ViewChild, } from '@angular/core';
4
4
  import { getIntl } from '@lucca-front/ng/core';
5
- import { BehaviorSubject, ReplaySubject, Subject, defer, map, of, startWith, switchMap, take } from 'rxjs';
5
+ import { BehaviorSubject, defer, map, of, ReplaySubject, startWith, Subject, switchMap, take } from 'rxjs';
6
6
  import { LuSimpleSelectDefaultOptionComponent } from '../option';
7
7
  import { SELECT_LABEL, SELECT_LABEL_ID } from '../select.model';
8
8
  import { LU_CORE_SELECT_TRANSLATIONS } from '../select.translate';
@@ -245,10 +245,12 @@ export class ALuSelectInputComponent {
245
245
  writeValue(value) {
246
246
  this.value = value;
247
247
  }
248
- updateValue(value, skipPanelOpen = false) {
248
+ updateValue(value, skipPanelOpen = false, noClear = false) {
249
249
  this.value = value;
250
- this.emptyClue();
251
- this.clueChanged('', skipPanelOpen);
250
+ if (!noClear) {
251
+ this.emptyClue();
252
+ this.clueChanged('', skipPanelOpen);
253
+ }
252
254
  this.onChange?.(value);
253
255
  this.onTouched?.();
254
256
  }
@@ -307,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
307
309
  type: HostListener,
308
310
  args: ['keydown', ['$event']]
309
311
  }] } });
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2lucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFpQixPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkgsT0FBTyxFQUFvQixvQ0FBb0MsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuRixPQUFPLEVBQWtFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHbEUsTUFBTSxPQUFnQix1QkFBdUI7SUFEN0M7UUFFVyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBZ0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUVsRixpQkFBWSxHQUE0QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0QsWUFBTyxHQUFXLE1BQU0sQ0FB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QUFPO3NCQUFuQixLQUFLO2dCQVdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFVSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQStEUCxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVWpDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeCAqL1xuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZywgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdEJpbmRpbmcsXG5cdEhvc3RMaXN0ZW5lcixcblx0SW5wdXQsXG5cdE9uRGVzdHJveSxcblx0T25Jbml0LFxuXHRPdXRwdXQsXG5cdFRlbXBsYXRlUmVmLFxuXHRUeXBlLFxuXHRWaWV3Q2hpbGQsXG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGNvbXB1dGVkLFxuXHRpbmplY3QsXG5cdG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUG9ydGFsQ29udGVudCwgZ2V0SW50bCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgZGVmZXIsIG1hcCwgb2YsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMdU9wdGlvbkdyb3VwaW5nLCBMdVNpbXBsZVNlbGVjdERlZmF1bHRPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24nO1xuaW1wb3J0IHsgTHVTZWxlY3RQYW5lbFJlZiB9IGZyb20gJy4uL3BhbmVsJztcbmltcG9ydCB7IENvcmVTZWxlY3RBZGRPcHRpb25TdHJhdGVneSwgTHVPcHRpb25Db21wYXJlciwgTHVPcHRpb25Db250ZXh0LCBTRUxFQ1RfTEFCRUwsIFNFTEVDVF9MQUJFTF9JRCB9IGZyb20gJy4uL3NlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBMVV9DT1JFX1NFTEVDVF9UUkFOU0xBVElPTlMgfSBmcm9tICcuLi9zZWxlY3QudHJhbnNsYXRlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUx1U2VsZWN0SW5wdXRDb21wb25lbnQ8VE9wdGlvbiwgVFZhbHVlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cdHByb3RlY3RlZCBvdmVybGF5Q29udGFpbmVyUmVmOiBIVE1MRWxlbWVudCA9IGluamVjdChPdmVybGF5Q29udGFpbmVyKS5nZXRDb250YWluZXJFbGVtZW50KCk7XG5cblx0cHJvdGVjdGVkIGxhYmVsRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBpbmplY3QoU0VMRUNUX0xBQkVMKTtcblx0cHJvdGVjdGVkIGxhYmVsSWQ6IHN0cmluZyA9IGluamVjdChTRUxFQ1RfTEFCRUxfSUQpO1xuXG5cdHByb3RlY3RlZCBjb3JlSW50bCA9IGdldEludGwoTFVfQ09SRV9TRUxFQ1RfVFJBTlNMQVRJT05TKTtcblxuXHRAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKVxuXHRwcml2YXRlIGlucHV0RWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuXHRwdWJsaWMgcGxhY2Vob2xkZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cblx0cHVibGljIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG5cdEBJbnB1dCgpXG5cdHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5wbGFjZWhvbGRlciQubmV4dCh2YWx1ZSk7XG5cdH1cblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jbGVhcmFibGUnKVxuXHRjbGVhcmFibGUgPSBmYWxzZTtcblxuXHRnZXQgc2VhcmNoYWJsZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5jbHVlQ2hhbmdlLm9ic2VydmVkO1xuXHR9XG5cblx0QElucHV0KClcblx0YWRkT3B0aW9uTGFiZWw6IFBvcnRhbENvbnRlbnQgPSB0aGlzLmNvcmVJbnRsLmFkZE9wdGlvbjtcblxuXHRASW5wdXQoKVxuXHRzZXQgYWRkT3B0aW9uU3RyYXRlZ3koc3RyYXRlZ3k6IENvcmVTZWxlY3RBZGRPcHRpb25TdHJhdGVneSkge1xuXHRcdHRoaXMuYWRkT3B0aW9uU3RyYXRlZ3kkLm5leHQoc3RyYXRlZ3kpO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG5cdHByb3RlY3RlZCBnZXQgaXNTZWxlY3RlZENsYXNzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmhhc1ZhbHVlKCk7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlYXJjaEZpbGxlZCcpXG5cdHByb3RlY3RlZCBnZXQgaXNTZWFyY2hGaWxsZWRDbGFzcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5jbHVlPy5sZW5ndGggPiAwO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFic3RyYWN0IGhhc1ZhbHVlKCk6IGJvb2xlYW47XG5cblx0cHVibGljIGdldCBpc1BhbmVsT3BlbigpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5pc1BhbmVsT3BlbiQudmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgaXNQYW5lbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cblx0cHVibGljIGFjdGl2ZURlc2NlbmRhbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cblx0Z2V0IGFyaWFDb250cm9scygpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuaWQ7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRvdmVybGF5Q29uZmlnPzogT3ZlcmxheUNvbmZpZyA9IHtcblx0XHRoYXNCYWNrZHJvcDogdHJ1ZSxcblx0XHRiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuXHR9O1xuXG5cdEBJbnB1dCgpIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKHZhbHVlICE9PSB0aGlzLmxvYWRpbmcpIHtcblx0XHRcdHRoaXMubG9hZGluZyQubmV4dCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KCkgc2V0IG9wdGlvbnMob3B0aW9uczogVE9wdGlvbltdKSB7XG5cdFx0dGhpcy5vcHRpb25zJC5uZXh0KG9wdGlvbnMpO1xuXHRcdGlmICh0aGlzLnBhbmVsUmVmKSB7XG5cdFx0XHQvLyBXZSBoYXZlIHRvIHB1dCBpdCBpbiBhIHNldFRpbWVvdXQgc28gaXQnbGwgYmUgdHJpZ2dlcmVkIEFGVEVSIHRoZSBET00gaXMgdXBkYXRlZCBhbmQgbm90IHJpZ2h0IG5vdyxcblx0XHRcdC8vIHdoaWNoIGlzIGJlZm9yZSB0aGUgcGFuZWwgc2l6ZSBoYXMgYmVlbiBtb2RpZmllZCBieSB0aGUgYXJyaXZhbCBvZiB0aGUgbmV3IG9wdGlvbnNcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLnBhbmVsUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRASW5wdXQoKSBvcHRpb25Db21wYXJlcjogTHVPcHRpb25Db21wYXJlcjxUT3B0aW9uPiA9IChvcHRpb24xLCBvcHRpb24yKSA9PiBKU09OLnN0cmluZ2lmeShvcHRpb24xKSA9PT0gSlNPTi5zdHJpbmdpZnkob3B0aW9uMik7XG5cdEBJbnB1dCgpIG9wdGlvbktleTogKG9wdGlvbjogVE9wdGlvbikgPT4gdW5rbm93biA9IChvcHRpb24pID0+IG9wdGlvbjtcblxuXHRvcHRpb25UcGwgPSBtb2RlbDxUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPj4oTHVTaW1wbGVTZWxlY3REZWZhdWx0T3B0aW9uQ29tcG9uZW50KTtcblx0dmFsdWVUcGwgPSBtb2RlbDxUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPiB8IHVuZGVmaW5lZD4oKTtcblx0cGFuZWxIZWFkZXJUcGwgPSBtb2RlbDxUZW1wbGF0ZVJlZjx2b2lkPiB8IFR5cGU8dW5rbm93bj4gfCB1bmRlZmluZWQ+KCk7XG5cblx0ZGlzcGxheWVyVHBsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52YWx1ZVRwbCgpIHx8IHRoaXMub3B0aW9uVHBsKCkpO1xuXG5cdGdyb3VwaW5nPzogTHVPcHRpb25Hcm91cGluZzxUT3B0aW9uLCB1bmtub3duPjtcblxuXHRAT3V0cHV0KCkgY2x1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgbmV4dFBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBwcmV2aW91c1BhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBhZGRPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuXHRwdWJsaWMgZ2V0IHZhbHVlKCk6IFRWYWx1ZSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNldCB2YWx1ZSh2YWx1ZTogVFZhbHVlKSB7XG5cdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0cHVibGljIGdldCBpbnB1dFBsYWNlaG9sZGVyKCk6IHN0cmluZyB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLnZhbHVlID8gbnVsbCA6IHRoaXMucGxhY2Vob2xkZXIkLnZhbHVlO1xuXHR9XG5cblx0cHVibGljIGNsdWVDaGFuZ2VkKGNsdWU6IHN0cmluZywgc2tpcFBhbmVsT3BlbiA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy5jbHVlID0gY2x1ZTtcblxuXHRcdGlmICghc2tpcFBhbmVsT3BlbiAmJiAhdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoY2x1ZSk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmxhc3RFbWl0dGVkQ2x1ZSAhPT0gY2x1ZSkge1xuXHRcdFx0dGhpcy5jbHVlQ2hhbmdlLmVtaXQoY2x1ZSk7XG5cdFx0XHR0aGlzLmxhc3RFbWl0dGVkQ2x1ZSA9IGNsdWU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIF92YWx1ZT86IFRWYWx1ZTtcblxuXHRvcHRpb25zJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFRPcHRpb25bXT4oMSk7XG5cdGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdGNsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXHQvLyBUaGlzIGlzIHRoZSBjbHVlIHN0b3JlZCBhZnRlciB3ZSBzZWxlY3RlZCBhbiBvcHRpb24gdG8ga25vdyBpZiB3ZSBzaG91bGQgZW1pdCBhbiBlbXB0eSBjbHVlIG9uIG9wZW4gb3Igbm90XG5cdGxhc3RFbWl0dGVkQ2x1ZTogc3RyaW5nID0gJyc7XG5cdGNsdWUkID0gZGVmZXIoKCkgPT4gdGhpcy5jbHVlQ2hhbmdlLnBpcGUoc3RhcnRXaXRoKHRoaXMuY2x1ZSkpKTtcblxuXHRhZGRPcHRpb25TdHJhdGVneSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvcmVTZWxlY3RBZGRPcHRpb25TdHJhdGVneT4oJ25ldmVyJyk7XG5cdHNob3VsZERpc3BsYXlBZGRPcHRpb24kID0gdGhpcy5hZGRPcHRpb25TdHJhdGVneSQucGlwZShcblx0XHRzd2l0Y2hNYXAoKHN0cmF0ZWd5KSA9PiB7XG5cdFx0XHRzd2l0Y2ggKHN0cmF0ZWd5KSB7XG5cdFx0XHRcdGNhc2UgJ2Fsd2F5cyc6XG5cdFx0XHRcdFx0cmV0dXJuIG9mKHRydWUpO1xuXHRcdFx0XHRjYXNlICduZXZlcic6XG5cdFx0XHRcdFx0cmV0dXJuIG9mKGZhbHNlKTtcblx0XHRcdFx0Y2FzZSAnaWYtZW1wdHktY2x1ZSc6XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuY2x1ZSQucGlwZShtYXAoKGNsdWUpID0+ICFjbHVlKSk7XG5cdFx0XHRcdGNhc2UgJ2lmLW5vdC1lbXB0eS1jbHVlJzpcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5jbHVlJC5waXBlKG1hcCgoY2x1ZSkgPT4gISFjbHVlKSk7XG5cdFx0XHR9XG5cdFx0fSksXG5cdCk7XG5cblx0cHJvdGVjdGVkIG9uQ2hhbmdlPzogKHZhbHVlOiBUVmFsdWUgfCBudWxsKSA9PiB2b2lkO1xuXHRwcm90ZWN0ZWQgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuXHRwdWJsaWMgZ2V0IHBhbmVsUmVmKCk6IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3BhbmVsUmVmO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9wYW5lbFJlZj86IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPjtcblxuXHRwcm90ZWN0ZWQgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuXHRvbkNsaWNrT3BlblBhbmVsKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuXHRcdGlmICghdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHRcdCRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuXHRvbktleURvd25OYXZpZ2F0aW9uKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdHN3aXRjaCAoJGV2ZW50LmtleSkge1xuXHRcdFx0Y2FzZSAnRXNjYXBlJzpcblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHQkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uY2xvc2UoKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdUYWInOlxuXHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5jbG9zZSgpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ0VudGVyJzpcblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHQvLyBQcmV2ZW50IGZvcm0gc3VibWlzc2lvbiB3aGVuIHNlbGVjdGluZyBhIHZhbHVlIHdpdGggRW50ZXJcblx0XHRcdFx0XHQkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmLnNlbGVjdEN1cnJlbnRseUhpZ2hsaWdodGVkVmFsdWUoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5oYW5kbGVLZXlNYW5hZ2VyRXZlbnQoJGV2ZW50KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJyAnOlxuXHRcdFx0Y2FzZSAnQXJyb3dEb3duJzpcblx0XHRcdGNhc2UgJ0Fycm93VXAnOlxuXHRcdFx0XHQvLyBJbml0aWFsIHNwYWNlIHNob3VsZCBqdXN0IG9wZW4gdGhlIHBhbmVsLCBub3QgdHJpZ2dlciBhIGNsdWUgY2hhbmdlXG5cdFx0XHRcdGlmICghdGhpcy5jbHVlICYmICRldmVudC5rZXkgPT09ICcgJykge1xuXHRcdFx0XHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uaGFuZGxlS2V5TWFuYWdlckV2ZW50KCRldmVudCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdC8vIEZvciBhbnkgb3RoZXIga2V5LCBmb3J3YXJkIGl0IHRvIHRoZSBwYW5lbCBpZiBpdCdzIG9wZW5cblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5oYW5kbGVLZXlNYW5hZ2VyRXZlbnQoJGV2ZW50KTtcblx0XHRcdFx0fSBlbHNlIGlmICgkZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRcdHRoaXMub3BlblBhbmVsKCRldmVudC5rZXkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG5cdH1cblxuXHRzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHR0aGlzLmRpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuXHRcdHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubGFiZWxFbGVtZW50KSB7XG5cdFx0XHR0aGlzLmxhYmVsRWxlbWVudC5pZCA9IHRoaXMubGFiZWxJZDtcblx0XHR9XG5cdH1cblxuXHRjbGVhclZhbHVlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMudXBkYXRlVmFsdWUobnVsbCwgdHJ1ZSk7XG5cdFx0dGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHR9XG5cblx0b3BlblBhbmVsKGNsdWU6IHN0cmluZyA9ICcnKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4gfHwgdGhpcy5kaXNhYmxlZCQudmFsdWUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLmlzUGFuZWxPcGVuJC5uZXh0KHRydWUpO1xuXHRcdHRoaXMuY2x1ZUNoYW5nZWQoY2x1ZSk7XG5cdFx0dGhpcy5fcGFuZWxSZWYgPSB0aGlzLmJ1aWxkUGFuZWxSZWYoKTtcblx0XHR0aGlzLmJpbmRJbnB1dFRvUGFuZWxSZWZFdmVudHMoKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNJbnB1dCgpKTtcblx0fVxuXG5cdGVtaXRBZGRPcHRpb24oKTogdm9pZCB7XG5cdFx0dGhpcy5hZGRPcHRpb24uZW1pdCh0aGlzLmNsdWUpO1xuXHRcdHRoaXMucGFuZWxSZWY/LmNsb3NlKCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRQYW5lbFJlZigpOiB0aGlzWydwYW5lbFJlZiddO1xuXG5cdHByb3RlY3RlZCBiaW5kSW5wdXRUb1BhbmVsUmVmRXZlbnRzKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5wYW5lbFJlZikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucGFuZWxSZWYudmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMudXBkYXRlVmFsdWUodmFsdWUpKTtcblxuXHRcdHRoaXMuI3BhZ2VDaGFuZ2VkKHRoaXMucGFuZWxSZWYubmV4dFBhZ2UpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm5leHRQYWdlLmVtaXQoKSk7XG5cdFx0dGhpcy4jcGFnZUNoYW5nZWQodGhpcy5wYW5lbFJlZi5wcmV2aW91c1BhZ2UpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByZXZpb3VzUGFnZS5lbWl0KCkpO1xuXG5cdFx0dGhpcy5wYW5lbFJlZi5hY3RpdmVPcHRpb25JZENoYW5nZWQuc3Vic2NyaWJlKChvcHRpb25JZCkgPT4ge1xuXHRcdFx0dGhpcy5hY3RpdmVEZXNjZW5kYW50JC5uZXh0KG9wdGlvbklkKTtcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5wYW5lbFJlZi5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VQYW5lbCgpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBmb2N1c0lucHV0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmlucHV0RWxlbWVudFJlZikge1xuXHRcdFx0dGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBlbXB0eUNsdWUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY2x1ZSkge1xuXHRcdFx0dGhpcy5jbHVlID0gbnVsbDtcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGNsb3NlUGFuZWwoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuZW1wdHlDbHVlKCk7XG5cdFx0dGhpcy5hY3RpdmVEZXNjZW5kYW50JC5uZXh0KCcnKTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMub25Ub3VjaGVkPy4oKTtcblx0XHR0aGlzLmlzUGFuZWxPcGVuJC5uZXh0KGZhbHNlKTtcblx0XHR0aGlzLnBhbmVsUmVmLmNsb3NlKCk7XG5cdFx0dGhpcy5fcGFuZWxSZWYgPSB1bmRlZmluZWQ7XG5cdH1cblxuXHRwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVFZhbHVlKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0cHVibGljIHVwZGF0ZVZhbHVlKHZhbHVlOiBUVmFsdWUsIHNraXBQYW5lbE9wZW4gPSBmYWxzZSk6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLmVtcHR5Q2x1ZSgpO1xuXHRcdHRoaXMuY2x1ZUNoYW5nZWQoJycsIHNraXBQYW5lbE9wZW4pO1xuXHRcdHRoaXMub25DaGFuZ2U/Lih2YWx1ZSk7XG5cdFx0dGhpcy5vblRvdWNoZWQ/LigpO1xuXHR9XG5cblx0Ly8gRW5zdXJlIG5leHRQYWdlL3ByZXZpb3VzUGFnZSBkb2VzIG5vdCBlbWl0IHRvbyBvZnRlblxuXHQjcGFnZUNoYW5nZWQocGFnZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPik6IE9ic2VydmFibGU8dm9pZD4ge1xuXHRcdHJldHVybiB0aGlzLm9wdGlvbnMkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHBhZ2VFbWl0dGVyLnBpcGUodGFrZSgxKSkpKTtcblx0fVxufVxuIl19
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2lucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFHTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkgsT0FBTyxFQUFvQixvQ0FBb0MsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuRixPQUFPLEVBQWtFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHbEUsTUFBTSxPQUFnQix1QkFBdUI7SUFEN0M7UUFFVyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBZ0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUVsRixpQkFBWSxHQUE0QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0QsWUFBTyxHQUFXLE1BQU0sQ0FB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QkFBdUI7Z0JBb0JwQyxhQUFhO3NCQURaLEtBQUs7Z0JBTU8sT0FBTztzQkFBbkIsS0FBSztnQkFNTyxPQUFPO3NCQUFuQixLQUFLO2dCQVdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFVSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQStEUCxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVWpDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeCAqL1xuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZywgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdENoYW5nZURldGVjdG9yUmVmLFxuXHRjb21wdXRlZCxcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRFdmVudEVtaXR0ZXIsXG5cdEhvc3RCaW5kaW5nLFxuXHRIb3N0TGlzdGVuZXIsXG5cdGluamVjdCxcblx0SW5wdXQsXG5cdG1vZGVsLFxuXHRPbkRlc3Ryb3ksXG5cdE9uSW5pdCxcblx0T3V0cHV0LFxuXHRUZW1wbGF0ZVJlZixcblx0VHlwZSxcblx0Vmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0SW50bCwgUG9ydGFsQ29udGVudCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVmZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIHN0YXJ0V2l0aCwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMdU9wdGlvbkdyb3VwaW5nLCBMdVNpbXBsZVNlbGVjdERlZmF1bHRPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24nO1xuaW1wb3J0IHsgTHVTZWxlY3RQYW5lbFJlZiB9IGZyb20gJy4uL3BhbmVsJztcbmltcG9ydCB7IENvcmVTZWxlY3RBZGRPcHRpb25TdHJhdGVneSwgTHVPcHRpb25Db21wYXJlciwgTHVPcHRpb25Db250ZXh0LCBTRUxFQ1RfTEFCRUwsIFNFTEVDVF9MQUJFTF9JRCB9IGZyb20gJy4uL3NlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBMVV9DT1JFX1NFTEVDVF9UUkFOU0xBVElPTlMgfSBmcm9tICcuLi9zZWxlY3QudHJhbnNsYXRlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUx1U2VsZWN0SW5wdXRDb21wb25lbnQ8VE9wdGlvbiwgVFZhbHVlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cdHByb3RlY3RlZCBvdmVybGF5Q29udGFpbmVyUmVmOiBIVE1MRWxlbWVudCA9IGluamVjdChPdmVybGF5Q29udGFpbmVyKS5nZXRDb250YWluZXJFbGVtZW50KCk7XG5cblx0cHJvdGVjdGVkIGxhYmVsRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBpbmplY3QoU0VMRUNUX0xBQkVMKTtcblx0cHJvdGVjdGVkIGxhYmVsSWQ6IHN0cmluZyA9IGluamVjdChTRUxFQ1RfTEFCRUxfSUQpO1xuXG5cdHByb3RlY3RlZCBjb3JlSW50bCA9IGdldEludGwoTFVfQ09SRV9TRUxFQ1RfVFJBTlNMQVRJT05TKTtcblxuXHRAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKVxuXHRwcml2YXRlIGlucHV0RWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuXHRwdWJsaWMgcGxhY2Vob2xkZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cblx0cHVibGljIGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG5cdEBJbnB1dCgpXG5cdHNldCBwbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5wbGFjZWhvbGRlciQubmV4dCh2YWx1ZSk7XG5cdH1cblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1jbGVhcmFibGUnKVxuXHRjbGVhcmFibGUgPSBmYWxzZTtcblxuXHRnZXQgc2VhcmNoYWJsZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5jbHVlQ2hhbmdlLm9ic2VydmVkO1xuXHR9XG5cblx0QElucHV0KClcblx0YWRkT3B0aW9uTGFiZWw6IFBvcnRhbENvbnRlbnQgPSB0aGlzLmNvcmVJbnRsLmFkZE9wdGlvbjtcblxuXHRASW5wdXQoKVxuXHRzZXQgYWRkT3B0aW9uU3RyYXRlZ3koc3RyYXRlZ3k6IENvcmVTZWxlY3RBZGRPcHRpb25TdHJhdGVneSkge1xuXHRcdHRoaXMuYWRkT3B0aW9uU3RyYXRlZ3kkLm5leHQoc3RyYXRlZ3kpO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG5cdHByb3RlY3RlZCBnZXQgaXNTZWxlY3RlZENsYXNzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmhhc1ZhbHVlKCk7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlYXJjaEZpbGxlZCcpXG5cdHByb3RlY3RlZCBnZXQgaXNTZWFyY2hGaWxsZWRDbGFzcygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5jbHVlPy5sZW5ndGggPiAwO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFic3RyYWN0IGhhc1ZhbHVlKCk6IGJvb2xlYW47XG5cblx0cHVibGljIGdldCBpc1BhbmVsT3BlbigpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5pc1BhbmVsT3BlbiQudmFsdWU7XG5cdH1cblxuXHRwdWJsaWMgaXNQYW5lbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cblx0cHVibGljIGFjdGl2ZURlc2NlbmRhbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgnJyk7XG5cblx0Z2V0IGFyaWFDb250cm9scygpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuaWQ7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRvdmVybGF5Q29uZmlnPzogT3ZlcmxheUNvbmZpZyA9IHtcblx0XHRoYXNCYWNrZHJvcDogdHJ1ZSxcblx0XHRiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuXHR9O1xuXG5cdEBJbnB1dCgpIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG5cdFx0aWYgKHZhbHVlICE9PSB0aGlzLmxvYWRpbmcpIHtcblx0XHRcdHRoaXMubG9hZGluZyQubmV4dCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0QElucHV0KCkgc2V0IG9wdGlvbnMob3B0aW9uczogVE9wdGlvbltdKSB7XG5cdFx0dGhpcy5vcHRpb25zJC5uZXh0KG9wdGlvbnMpO1xuXHRcdGlmICh0aGlzLnBhbmVsUmVmKSB7XG5cdFx0XHQvLyBXZSBoYXZlIHRvIHB1dCBpdCBpbiBhIHNldFRpbWVvdXQgc28gaXQnbGwgYmUgdHJpZ2dlcmVkIEFGVEVSIHRoZSBET00gaXMgdXBkYXRlZCBhbmQgbm90IHJpZ2h0IG5vdyxcblx0XHRcdC8vIHdoaWNoIGlzIGJlZm9yZSB0aGUgcGFuZWwgc2l6ZSBoYXMgYmVlbiBtb2RpZmllZCBieSB0aGUgYXJyaXZhbCBvZiB0aGUgbmV3IG9wdGlvbnNcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLnBhbmVsUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRASW5wdXQoKSBvcHRpb25Db21wYXJlcjogTHVPcHRpb25Db21wYXJlcjxUT3B0aW9uPiA9IChvcHRpb24xLCBvcHRpb24yKSA9PiBKU09OLnN0cmluZ2lmeShvcHRpb24xKSA9PT0gSlNPTi5zdHJpbmdpZnkob3B0aW9uMik7XG5cdEBJbnB1dCgpIG9wdGlvbktleTogKG9wdGlvbjogVE9wdGlvbikgPT4gdW5rbm93biA9IChvcHRpb24pID0+IG9wdGlvbjtcblxuXHRvcHRpb25UcGwgPSBtb2RlbDxUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPj4oTHVTaW1wbGVTZWxlY3REZWZhdWx0T3B0aW9uQ29tcG9uZW50KTtcblx0dmFsdWVUcGwgPSBtb2RlbDxUZW1wbGF0ZVJlZjxMdU9wdGlvbkNvbnRleHQ8VE9wdGlvbj4+IHwgVHlwZTx1bmtub3duPiB8IHVuZGVmaW5lZD4oKTtcblx0cGFuZWxIZWFkZXJUcGwgPSBtb2RlbDxUZW1wbGF0ZVJlZjx2b2lkPiB8IFR5cGU8dW5rbm93bj4gfCB1bmRlZmluZWQ+KCk7XG5cblx0ZGlzcGxheWVyVHBsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52YWx1ZVRwbCgpIHx8IHRoaXMub3B0aW9uVHBsKCkpO1xuXG5cdGdyb3VwaW5nPzogTHVPcHRpb25Hcm91cGluZzxUT3B0aW9uLCB1bmtub3duPjtcblxuXHRAT3V0cHV0KCkgY2x1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgbmV4dFBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBwcmV2aW91c1BhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cdEBPdXRwdXQoKSBhZGRPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuXHRwdWJsaWMgZ2V0IHZhbHVlKCk6IFRWYWx1ZSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNldCB2YWx1ZSh2YWx1ZTogVFZhbHVlKSB7XG5cdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHR9XG5cblx0cHVibGljIGdldCBpbnB1dFBsYWNlaG9sZGVyKCk6IHN0cmluZyB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLnZhbHVlID8gbnVsbCA6IHRoaXMucGxhY2Vob2xkZXIkLnZhbHVlO1xuXHR9XG5cblx0cHVibGljIGNsdWVDaGFuZ2VkKGNsdWU6IHN0cmluZywgc2tpcFBhbmVsT3BlbiA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy5jbHVlID0gY2x1ZTtcblxuXHRcdGlmICghc2tpcFBhbmVsT3BlbiAmJiAhdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoY2x1ZSk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmxhc3RFbWl0dGVkQ2x1ZSAhPT0gY2x1ZSkge1xuXHRcdFx0dGhpcy5jbHVlQ2hhbmdlLmVtaXQoY2x1ZSk7XG5cdFx0XHR0aGlzLmxhc3RFbWl0dGVkQ2x1ZSA9IGNsdWU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIF92YWx1ZT86IFRWYWx1ZTtcblxuXHRvcHRpb25zJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFRPcHRpb25bXT4oMSk7XG5cdGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdGNsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXHQvLyBUaGlzIGlzIHRoZSBjbHVlIHN0b3JlZCBhZnRlciB3ZSBzZWxlY3RlZCBhbiBvcHRpb24gdG8ga25vdyBpZiB3ZSBzaG91bGQgZW1pdCBhbiBlbXB0eSBjbHVlIG9uIG9wZW4gb3Igbm90XG5cdGxhc3RFbWl0dGVkQ2x1ZTogc3RyaW5nID0gJyc7XG5cdGNsdWUkID0gZGVmZXIoKCkgPT4gdGhpcy5jbHVlQ2hhbmdlLnBpcGUoc3RhcnRXaXRoKHRoaXMuY2x1ZSkpKTtcblxuXHRhZGRPcHRpb25TdHJhdGVneSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvcmVTZWxlY3RBZGRPcHRpb25TdHJhdGVneT4oJ25ldmVyJyk7XG5cdHNob3VsZERpc3BsYXlBZGRPcHRpb24kID0gdGhpcy5hZGRPcHRpb25TdHJhdGVneSQucGlwZShcblx0XHRzd2l0Y2hNYXAoKHN0cmF0ZWd5KSA9PiB7XG5cdFx0XHRzd2l0Y2ggKHN0cmF0ZWd5KSB7XG5cdFx0XHRcdGNhc2UgJ2Fsd2F5cyc6XG5cdFx0XHRcdFx0cmV0dXJuIG9mKHRydWUpO1xuXHRcdFx0XHRjYXNlICduZXZlcic6XG5cdFx0XHRcdFx0cmV0dXJuIG9mKGZhbHNlKTtcblx0XHRcdFx0Y2FzZSAnaWYtZW1wdHktY2x1ZSc6XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuY2x1ZSQucGlwZShtYXAoKGNsdWUpID0+ICFjbHVlKSk7XG5cdFx0XHRcdGNhc2UgJ2lmLW5vdC1lbXB0eS1jbHVlJzpcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5jbHVlJC5waXBlKG1hcCgoY2x1ZSkgPT4gISFjbHVlKSk7XG5cdFx0XHR9XG5cdFx0fSksXG5cdCk7XG5cblx0cHJvdGVjdGVkIG9uQ2hhbmdlPzogKHZhbHVlOiBUVmFsdWUgfCBudWxsKSA9PiB2b2lkO1xuXHRwcm90ZWN0ZWQgb25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuXHRwdWJsaWMgZ2V0IHBhbmVsUmVmKCk6IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPiB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuX3BhbmVsUmVmO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9wYW5lbFJlZj86IEx1U2VsZWN0UGFuZWxSZWY8VE9wdGlvbiwgVFZhbHVlPjtcblxuXHRwcm90ZWN0ZWQgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuXHRvbkNsaWNrT3BlblBhbmVsKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuXHRcdGlmICghdGhpcy5pc1BhbmVsT3Blbikge1xuXHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHRcdCRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuXHRvbktleURvd25OYXZpZ2F0aW9uKCRldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdHN3aXRjaCAoJGV2ZW50LmtleSkge1xuXHRcdFx0Y2FzZSAnRXNjYXBlJzpcblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHQkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uY2xvc2UoKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdUYWInOlxuXHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5jbG9zZSgpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ0VudGVyJzpcblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHQvLyBQcmV2ZW50IGZvcm0gc3VibWlzc2lvbiB3aGVuIHNlbGVjdGluZyBhIHZhbHVlIHdpdGggRW50ZXJcblx0XHRcdFx0XHQkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmLnNlbGVjdEN1cnJlbnRseUhpZ2hsaWdodGVkVmFsdWUoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5oYW5kbGVLZXlNYW5hZ2VyRXZlbnQoJGV2ZW50KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJyAnOlxuXHRcdFx0Y2FzZSAnQXJyb3dEb3duJzpcblx0XHRcdGNhc2UgJ0Fycm93VXAnOlxuXHRcdFx0XHQvLyBJbml0aWFsIHNwYWNlIHNob3VsZCBqdXN0IG9wZW4gdGhlIHBhbmVsLCBub3QgdHJpZ2dlciBhIGNsdWUgY2hhbmdlXG5cdFx0XHRcdGlmICghdGhpcy5jbHVlICYmICRldmVudC5rZXkgPT09ICcgJykge1xuXHRcdFx0XHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRcdFx0dGhpcy5wYW5lbFJlZj8uaGFuZGxlS2V5TWFuYWdlckV2ZW50KCRldmVudCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5vcGVuUGFuZWwoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdC8vIEZvciBhbnkgb3RoZXIga2V5LCBmb3J3YXJkIGl0IHRvIHRoZSBwYW5lbCBpZiBpdCdzIG9wZW5cblx0XHRcdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4pIHtcblx0XHRcdFx0XHR0aGlzLnBhbmVsUmVmPy5oYW5kbGVLZXlNYW5hZ2VyRXZlbnQoJGV2ZW50KTtcblx0XHRcdFx0fSBlbHNlIGlmICgkZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRcdHRoaXMub3BlblBhbmVsKCRldmVudC5rZXkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVFZhbHVlKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG5cdFx0dGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG5cdH1cblxuXHRzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHR0aGlzLmRpc2FibGVkJC5uZXh0KGlzRGlzYWJsZWQpO1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsb3NlUGFuZWwoKTtcblx0XHR0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuXHRcdHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuXHR9XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubGFiZWxFbGVtZW50KSB7XG5cdFx0XHR0aGlzLmxhYmVsRWxlbWVudC5pZCA9IHRoaXMubGFiZWxJZDtcblx0XHR9XG5cdH1cblxuXHRjbGVhclZhbHVlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMudXBkYXRlVmFsdWUobnVsbCwgdHJ1ZSk7XG5cdFx0dGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHR9XG5cblx0b3BlblBhbmVsKGNsdWU6IHN0cmluZyA9ICcnKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaXNQYW5lbE9wZW4gfHwgdGhpcy5kaXNhYmxlZCQudmFsdWUpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLmlzUGFuZWxPcGVuJC5uZXh0KHRydWUpO1xuXHRcdHRoaXMuY2x1ZUNoYW5nZWQoY2x1ZSk7XG5cdFx0dGhpcy5fcGFuZWxSZWYgPSB0aGlzLmJ1aWxkUGFuZWxSZWYoKTtcblx0XHR0aGlzLmJpbmRJbnB1dFRvUGFuZWxSZWZFdmVudHMoKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMuZm9jdXNJbnB1dCgpKTtcblx0fVxuXG5cdGVtaXRBZGRPcHRpb24oKTogdm9pZCB7XG5cdFx0dGhpcy5hZGRPcHRpb24uZW1pdCh0aGlzLmNsdWUpO1xuXHRcdHRoaXMucGFuZWxSZWY/LmNsb3NlKCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRQYW5lbFJlZigpOiB0aGlzWydwYW5lbFJlZiddO1xuXG5cdHByb3RlY3RlZCBiaW5kSW5wdXRUb1BhbmVsUmVmRXZlbnRzKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5wYW5lbFJlZikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucGFuZWxSZWYudmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMudXBkYXRlVmFsdWUodmFsdWUpKTtcblxuXHRcdHRoaXMuI3BhZ2VDaGFuZ2VkKHRoaXMucGFuZWxSZWYubmV4dFBhZ2UpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm5leHRQYWdlLmVtaXQoKSk7XG5cdFx0dGhpcy4jcGFnZUNoYW5nZWQodGhpcy5wYW5lbFJlZi5wcmV2aW91c1BhZ2UpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByZXZpb3VzUGFnZS5lbWl0KCkpO1xuXG5cdFx0dGhpcy5wYW5lbFJlZi5hY3RpdmVPcHRpb25JZENoYW5nZWQuc3Vic2NyaWJlKChvcHRpb25JZCkgPT4ge1xuXHRcdFx0dGhpcy5hY3RpdmVEZXNjZW5kYW50JC5uZXh0KG9wdGlvbklkKTtcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5wYW5lbFJlZi5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VQYW5lbCgpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBmb2N1c0lucHV0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmlucHV0RWxlbWVudFJlZikge1xuXHRcdFx0dGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBlbXB0eUNsdWUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuY2x1ZSkge1xuXHRcdFx0dGhpcy5jbHVlID0gbnVsbDtcblx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGNsb3NlUGFuZWwoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmlzUGFuZWxPcGVuKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuZW1wdHlDbHVlKCk7XG5cdFx0dGhpcy5hY3RpdmVEZXNjZW5kYW50JC5uZXh0KCcnKTtcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXHRcdHRoaXMub25Ub3VjaGVkPy4oKTtcblx0XHR0aGlzLmlzUGFuZWxPcGVuJC5uZXh0KGZhbHNlKTtcblx0XHR0aGlzLnBhbmVsUmVmLmNsb3NlKCk7XG5cdFx0dGhpcy5fcGFuZWxSZWYgPSB1bmRlZmluZWQ7XG5cdH1cblxuXHRwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogVFZhbHVlKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0cHVibGljIHVwZGF0ZVZhbHVlKHZhbHVlOiBUVmFsdWUsIHNraXBQYW5lbE9wZW4gPSBmYWxzZSwgbm9DbGVhciA9IGZhbHNlKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xuXHRcdGlmICghbm9DbGVhcikge1xuXHRcdFx0dGhpcy5lbXB0eUNsdWUoKTtcblx0XHRcdHRoaXMuY2x1ZUNoYW5nZWQoJycsIHNraXBQYW5lbE9wZW4pO1xuXHRcdH1cblx0XHR0aGlzLm9uQ2hhbmdlPy4odmFsdWUpO1xuXHRcdHRoaXMub25Ub3VjaGVkPy4oKTtcblx0fVxuXG5cdC8vIEVuc3VyZSBuZXh0UGFnZS9wcmV2aW91c1BhZ2UgZG9lcyBub3QgZW1pdCB0b28gb2Z0ZW5cblx0I3BhZ2VDaGFuZ2VkKHBhZ2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zJC5waXBlKHN3aXRjaE1hcCgoKSA9PiBwYWdlRW1pdHRlci5waXBlKHRha2UoMSkpKSk7XG5cdH1cbn1cbiJdfQ==
@@ -12,6 +12,9 @@ import { LuCoreSelectUserHomonymsService } from './user-homonym.service';
12
12
  import { LuUserOptionComponent } from './user-option.component';
13
13
  import * as i0 from "@angular/core";
14
14
  export function provideCoreSelectUsersContext(directiveFn) {
15
+ return [...provideBaseCoreSelectUsersContext(directiveFn), { provide: LuCoreSelectUsersDirective, useExisting: forwardRef(directiveFn) }];
16
+ }
17
+ function provideBaseCoreSelectUsersContext(directiveFn) {
15
18
  return [
16
19
  {
17
20
  provide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,
@@ -119,7 +122,7 @@ export class LuCoreSelectUsersDirective extends ALuCoreSelectApiDirective {
119
122
  return page$.pipe(switchMap((page) => this.#userHomonymsService.handleHomonyms(page.items, this.displayFormat()).pipe(map((items) => ({ items, isLastPage: page.isLastPage })))));
120
123
  }
121
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCoreSelectUsersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
122
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: LuCoreSelectUsersDirective, isStandalone: true, selector: "lu-simple-select[users],lu-multi-select[users]", inputs: { displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, orderBy: { classPropertyName: "orderBy", publicName: "orderBy", isSignal: true, isRequired: false, transformFunction: null }, operationIds: { classPropertyName: "operationIds", publicName: "operationIds", isSignal: true, isRequired: false, transformFunction: null }, appInstanceId: { classPropertyName: "appInstanceId", publicName: "appInstanceId", isSignal: true, isRequired: false, transformFunction: null }, enableFormerEmployees: { classPropertyName: "enableFormerEmployees", publicName: "enableFormerEmployees", isSignal: true, isRequired: false, transformFunction: null }, displayMeOption: { classPropertyName: "displayMeOption", publicName: "displayMeOption", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideCoreSelectUsersContext(() => LuCoreSelectUsersDirective)], exportAs: ["luUsers"], usesInheritance: true, ngImport: i0 }); }
125
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: LuCoreSelectUsersDirective, isStandalone: true, selector: "lu-simple-select[users],lu-multi-select[users]", inputs: { displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, orderBy: { classPropertyName: "orderBy", publicName: "orderBy", isSignal: true, isRequired: false, transformFunction: null }, operationIds: { classPropertyName: "operationIds", publicName: "operationIds", isSignal: true, isRequired: false, transformFunction: null }, appInstanceId: { classPropertyName: "appInstanceId", publicName: "appInstanceId", isSignal: true, isRequired: false, transformFunction: null }, enableFormerEmployees: { classPropertyName: "enableFormerEmployees", publicName: "enableFormerEmployees", isSignal: true, isRequired: false, transformFunction: null }, displayMeOption: { classPropertyName: "displayMeOption", publicName: "displayMeOption", isSignal: true, isRequired: false, transformFunction: null }, searchDelimiter: { classPropertyName: "searchDelimiter", publicName: "searchDelimiter", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideBaseCoreSelectUsersContext(() => LuCoreSelectUsersDirective)], exportAs: ["luUsers"], usesInheritance: true, ngImport: i0 }); }
123
126
  }
124
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCoreSelectUsersDirective, decorators: [{
125
128
  type: Directive,
@@ -129,7 +132,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
129
132
  selector: 'lu-simple-select[users],lu-multi-select[users]',
130
133
  standalone: true,
131
134
  exportAs: 'luUsers',
132
- providers: [provideCoreSelectUsersContext(() => LuCoreSelectUsersDirective)],
135
+ providers: [provideBaseCoreSelectUsersContext(() => LuCoreSelectUsersDirective)],
133
136
  }]
134
137
  }], ctorParameters: () => [] });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvY29yZS1zZWxlY3QvdXNlci91c2Vycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQWtCLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBbUMsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4SSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENB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Y29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBQcm92aWRlciwgVHlwZSwgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIGVmZmVjdCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IElMdUFwaUNvbGxlY3Rpb25SZXNwb25zZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9hcGknO1xuaW1wb3J0IHsgQ09SRV9TRUxFQ1RfQVBJX1RPVEFMX0NPVU5UX1BST1ZJREVSLCBDb3JlU2VsZWN0QXBpVG90YWxDb3VudFByb3ZpZGVyLCBzYW5pdGl6ZUNsdWVGaWx0ZXIgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZS1zZWxlY3QnO1xuaW1wb3J0IHsgQUx1Q29yZVNlbGVjdEFwaURpcmVjdGl2ZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlLXNlbGVjdC9hcGknO1xuaW1wb3J0IHsgTHVEaXNwbGF5Rm9ybWF0LCBMdURpc3BsYXlGdWxsbmFtZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy91c2VyJztcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIG1hcCwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRk9STUVSX0VNUExPWUVFU19DT05URVhULCBMdUNvcmVTZWxlY3RGb3JtZXJFbXBsb3llZXNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1lci1lbXBsb3llZXMuY29tcG9uZW50JztcbmltcG9ydCB7IExVX0NPUkVfU0VMRUNUX0NVUlJFTlRfVVNFUl9JRCB9IGZyb20gJy4vbWUucHJvdmlkZXInO1xuaW1wb3J0IHsgTHVVc2VyRGlzcGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWRpc3BsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlckhvbW9ueW1zU2VydmljZSB9IGZyb20gJy4vdXNlci1ob21vbnltLnNlcnZpY2UnO1xuaW1wb3J0IHsgTHVVc2VyT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlciwgTHVDb3JlU2VsZWN0V2l0aEFkZGl0aW9ubmFsSW5mb3JtYXRpb24gfSBmcm9tICcuL3VzZXItb3B0aW9uLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb3JlU2VsZWN0VXNlcnNDb250ZXh0KGRpcmVjdGl2ZUZuOiAoKSA9PiBUeXBlPEx1Q29yZVNlbGVjdFVzZXJzRGlyZWN0aXZlPik6IFByb3ZpZGVyW10ge1xuXHRyZXR1cm4gW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IENPUkVfU0VMRUNUX0FQSV9UT1RBTF9DT1VOVF9QUk9WSURFUixcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKGRpcmVjdGl2ZUZuKSxcblx0XHR9LFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IEZPUk1FUl9FTVBMT1lFRVNfQ09OVEVYVCxcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKGRpcmVjdGl2ZUZuKSxcblx0XHR9LFxuXHRdO1xufVxuXG5ARGlyZWN0aXZlKHtcblx0Ly8gVGhlIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHByZWZpeGVkIHdpdGggXCJsdS1zaW1wbGUtc2VsZWN0XCJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3Jcblx0c2VsZWN0b3I6ICdsdS1zaW1wbGUtc2VsZWN0W3VzZXJzXSxsdS1tdWx0aS1zZWxlY3RbdXNlcnNdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0ZXhwb3J0QXM6ICdsdVVzZXJzJyxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUNvcmVTZWxlY3RVc2Vyc0NvbnRleHQoKCkgPT4gTHVDb3JlU2VsZWN0VXNlcnNEaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgTHVDb3JlU2VsZWN0VXNlcnNEaXJlY3RpdmU8VCBleHRlbmRzIEx1Q29yZVNlbGVjdFVzZXIgPSBMdUNvcmVTZWxlY3RVc2VyPlxuXHRleHRlbmRzIEFMdUNvcmVTZWxlY3RBcGlEaXJlY3RpdmU8THVDb3JlU2VsZWN0V2l0aEFkZGl0aW9ubmFsSW5mb3JtYXRpb248VD4+XG5cdGltcGxlbWVudHMgQ29yZVNlbGVjdEFwaVRvdGFsQ291bnRQcm92aWRlclxue1xuXHQjZGVmYXVsdFNlYXJjaFVybCA9ICcvYXBpL3YzL3VzZXJzL3NlYXJjaCc7XG5cdCNkZWZhdWx0U2NvcGVkU2VhcmNoVXJsID0gJy9hcGkvdjMvdXNlcnMvc2NvcGVkc2VhcmNoJztcblx0I3VzZXJIb21vbnltc1NlcnZpY2UgPSBpbmplY3QoTHVDb3JlU2VsZWN0VXNlckhvbW9ueW1zU2VydmljZSk7XG5cblx0Ly8gTm90IG92ZXJyaWRhYmxlIHNvIGl0IHdpbGwgZWFzZSBlbXBsb3llZSBBUEkgbWlncmF0aW9uXG5cdCN1c2VyRmllbGRzID0gJ2lkLGZpcnN0TmFtZSxsYXN0TmFtZSxwaWN0dXJlLmhyZWYnO1xuXG5cdHByb3RlY3RlZCBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXHRwdWJsaWMgY3VycmVudFVzZXJJZCA9IGluamVjdChMVV9DT1JFX1NFTEVDVF9DVVJSRU5UX1VTRVJfSUQpO1xuXG5cdGRpc3BsYXlGb3JtYXQgPSBpbnB1dDxMdURpc3BsYXlGb3JtYXQ+KEx1RGlzcGxheUZ1bGxuYW1lLmxhc3RmaXJzdCk7XG5cblx0ZmlsdGVycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+Pih7fSk7XG5cdHVybCA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXHRvcmRlckJ5ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cdG9wZXJhdGlvbklkcyA9IGlucHV0PG51bWJlcltdIHwgbnVsbD4obnVsbCk7XG5cdGFwcEluc3RhbmNlSWQgPSBpbnB1dDxudW1iZXIgfCBudWxsPihudWxsKTtcblx0ZW5hYmxlRm9ybWVyRW1wbG95ZWVzID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXHRkaXNwbGF5TWVPcHRpb24gPSBpbnB1dCh0cnVlKTtcblxuXHRpbmNsdWRlRm9ybWVyRW1wbG95ZWVzID0gc2lnbmFsKGZhbHNlKTtcblx0c2VhcmNoRGVsaW1pdGVyID0gaW5wdXQ8c3RyaW5nPignICcpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5zZWxlY3Qub3B0aW9uVHBsLnNldChMdVVzZXJPcHRpb25Db21wb25lbnQpO1xuXHRcdHRoaXMuc2VsZWN0LnZhbHVlVHBsLnNldChMdVVzZXJEaXNwbGF5ZXJDb21wb25lbnQpO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGVuYWJsZUZvcm1lckVtcGxveWVlcyA9IHRoaXMuZW5hYmxlRm9ybWVyRW1wbG95ZWVzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4gdGhpcy5zZWxlY3QucGFuZWxIZWFkZXJUcGwuc2V0KGVuYWJsZUZvcm1lckVtcGxveWVlcyA/IEx1Q29yZVNlbGVjdEZvcm1lckVtcGxveWVlc0NvbXBvbmVudCA6IHVuZGVmaW5lZCkpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIGRlZmF1bHRVcmwgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5hcHBJbnN0YW5jZUlkKCkgJiYgdGhpcy5vcGVyYXRpb25JZHMoKT8ubGVuZ3RoID8gdGhpcy4jZGVmYXVsdFNjb3BlZFNlYXJjaFVybCA6IHRoaXMuI2RlZmF1bHRTZWFyY2hVcmwpKTtcblx0cHJvdGVjdGVkIHVybE9yRGVmYXVsdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudXJsKCkgPz8gdGhpcy5kZWZhdWx0VXJsKCkpO1xuXG5cdHByb3RlY3RlZCBjbHVlID0gdG9TaWduYWwodGhpcy5jbHVlJCk7XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIHBhcmFtcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4+ID0gdG9PYnNlcnZhYmxlKFxuXHRcdGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IG9yZGVyQnkgPSB0aGlzLm9yZGVyQnkoKTtcblx0XHRcdGNvbnN0IGNsdWUgPSB0aGlzLmNsdWUoKTtcblx0XHRcdGNvbnN0IG9wZXJhdGlvbklkcyA9IHRoaXMub3BlcmF0aW9uSWRzKCk7XG5cdFx0XHRjb25zdCBhcHBJbnN0YW5jZUlkID0gdGhpcy5hcHBJbnN0YW5jZUlkKCk7XG5cdFx0XHRjb25zdCBzZWFyY2hEZWxpbWl0ZXIgPSB0aGlzLnNlYXJjaERlbGltaXRlcigpO1xuXHRcdFx0Y29uc3QgZm9ybWVyRW1wbG95ZWVzID0gdGhpcy5pbmNsdWRlRm9ybWVyRW1wbG95ZWVzKCk7XG5cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGZpZWxkczogdGhpcy4jdXNlckZpZWxkcyxcblx0XHRcdFx0Li4udGhpcy5maWx0ZXJzKCksXG5cdFx0XHRcdC4uLihvcmRlckJ5ID8geyBvcmRlckJ5IH0gOiB7fSksXG5cdFx0XHRcdC4uLihjbHVlID8geyBjbHVlOiBzYW5pdGl6ZUNsdWVGaWx0ZXIoY2x1ZSwgc2VhcmNoRGVsaW1pdGVyKSB9IDoge30pLFxuXHRcdFx0XHQuLi4ob3BlcmF0aW9uSWRzID8geyBvcGVyYXRpb25zOiBvcGVyYXRpb25JZHMuam9pbignLCcpIH0gOiB7fSksXG5cdFx0XHRcdC4uLihhcHBJbnN0YW5jZUlkID8geyBhcHBJbnN0YW5jZUlkIH0gOiB7fSksXG5cdFx0XHRcdC4uLihmb3JtZXJFbXBsb3llZXMgPyB7IGZvcm1lckVtcGxveWVlcyB9IDoge30pLFxuXHRcdFx0fTtcblx0XHR9KSxcblx0KTtcblxuXHRwcm90ZWN0ZWQgbWVQYXJhbXMkID0gdG9PYnNlcnZhYmxlKFxuXHRcdGNvbXB1dGVkKCgpID0+ICh7XG5cdFx0XHRmaWVsZHM6IHRoaXMuI3VzZXJGaWVsZHMsXG5cdFx0XHQuLi50aGlzLmZpbHRlcnMoKSxcblx0XHRcdC4uLih0aGlzLm9wZXJhdGlvbklkcygpID8geyBvcGVyYXRpb25zOiB0aGlzLm9wZXJhdGlvbklkcygpLmpvaW4oJywnKSB9IDoge30pLFxuXHRcdFx0Li4uKHRoaXMuYXBwSW5zdGFuY2VJZCgpID8geyBhcHBJbnN0YW5jZUlkOiB0aGlzLmFwcEluc3RhbmNlSWQoKSB9IDoge30pLFxuXHRcdFx0aWQ6IHRoaXMuY3VycmVudFVzZXJJZCxcblx0XHR9KSksXG5cdCk7XG5cblx0cHJvdGVjdGVkIG1lJCA9IHRoaXMubWVQYXJhbXMkLnBpcGUoXG5cdFx0c3dpdGNoTWFwKChwYXJhbXMpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8SUx1QXBpQ29sbGVjdGlvblJlc3BvbnNlPHsgaXRlbTogVCB9Pj4odGhpcy51cmxPckRlZmF1bHQoKSwgeyBwYXJhbXMgfSkucGlwZShjYXRjaEVycm9yKCgpID0+IEVNUFRZKSkpLFxuXHRcdG1hcCgocmVzKSA9PiByZXMuZGF0YS5pdGVtcy5tYXAoKHsgaXRlbSB9KSA9PiBpdGVtKVswXSA/PyBudWxsKSxcblx0XHR0YWtlVW50aWxEZXN0cm95ZWQoKSxcblx0XHRzaGFyZVJlcGxheSgxKSxcblx0KTtcblxuXHRwdWJsaWMgdG90YWxDb3VudCQgPSB0b09ic2VydmFibGUoY29tcHV0ZWQoKCkgPT4gKHsgdXJsOiB0aGlzLnVybE9yRGVmYXVsdCgpLCBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMoKSB9KSkpLnBpcGUoXG5cdFx0ZGVib3VuY2VUaW1lKDI1MCksXG5cdFx0c3dpdGNoTWFwKCh7IHVybCwgZmlsdGVycyB9KSA9PlxuXHRcdFx0dGhpcy5odHRwQ2xpZW50LmdldDx7IGNvdW50OiBudW1iZXIgfT4odXJsLCB7XG5cdFx0XHRcdHBhcmFtczoge1xuXHRcdFx0XHRcdC4uLmZpbHRlcnMsXG5cdFx0XHRcdFx0WydmaWVsZHMucm9vdCddOiAnY291bnQnLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSksXG5cdFx0KSxcblx0XHRtYXAoKHJlcykgPT4gcmVzPy5jb3VudCA/PyAwKSxcblx0KTtcblxuXHRwcm90ZWN0ZWQgZ2V0TWUoKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuXHRcdHJldHVybiB0aGlzLm1lJC5waXBlKHRha2UoMSkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGdldE9wdGlvbnMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPiwgcGFnZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxUW10+IHtcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50XG5cdFx0XHQuZ2V0PElMdUFwaUNvbGxlY3Rpb25SZXNwb25zZTx7IGl0ZW06IFQgfT4+KHRoaXMudXJsT3JEZWZhdWx0KCksIHtcblx0XHRcdFx0cGFyYW1zOiB7XG5cdFx0XHRcdFx0Li4ucGFyYW1zLFxuXHRcdFx0XHRcdHBhZ2luZzogYCR7cGFnZSAqIHRoaXMucGFnZVNpemV9LCR7dGhpcy5wYWdlU2l6ZX1gLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSlcblx0XHRcdC5waXBlKG1hcCgocmVzKSA9PiByZXMuZGF0YS5pdGVtcy5tYXAoKHsgaXRlbSB9KSA9PiBpdGVtKSkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIGdldE9wdGlvbnNQYWdlKHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4sIHBhZ2U6IG51bWJlcik6IE9ic2VydmFibGU8eyBpdGVtczogTHVDb3JlU2VsZWN0V2l0aEFkZGl0aW9ubmFsSW5mb3JtYXRpb248VD5bXTsgaXNMYXN0UGFnZTogYm9vbGVhbiB9PiB7XG5cdFx0Y29uc3QgaGFzQ2x1ZSA9ICEhcGFyYW1zWydjbHVlJ107XG5cdFx0Y29uc3QgZGlzcGxheU1lID0gdGhpcy5kaXNwbGF5TWVPcHRpb24oKSAmJiAhaGFzQ2x1ZTtcblx0XHRjb25zdCBwcmVwZW5kTWUgPSBkaXNwbGF5TWUgJiYgcGFnZSA9PT0gMDtcblxuXHRcdHRoaXMuc2VsZWN0LmxvYWRpbmcgPSB0cnVlO1xuXG5cdFx0Y29uc3QgbWUkID0gcHJlcGVuZE1lID8gdGhpcy5nZXRNZSgpIDogb2YobnVsbCk7XG5cblx0XHRjb25zdCB1c2VycyQgPSB0aGlzLmdldE9wdGlvbnMocGFyYW1zLCBwYWdlKS5waXBlKFxuXHRcdFx0bWFwKCh1c2VycykgPT4gKHsgaXRlbXM6IHVzZXJzLCBpc0xhc3RQYWdlOiB1c2Vycy5sZW5ndGggPCB0aGlzLnBhZ2VTaXplIH0pKSxcblx0XHRcdHRhcCgoKSA9PiAodGhpcy5zZWxlY3QubG9hZGluZyA9IGZhbHNlKSksXG5cdFx0KTtcblxuXHRcdGNvbnN0IHBhZ2UkID0gY29tYmluZUxhdGVzdChbbWUkLCB1c2VycyRdKS5waXBlKFxuXHRcdFx0bWFwKChbbWUsIHsgaXRlbXMsIGlzTGFzdFBhZ2UgfV0pID0+IHtcblx0XHRcdFx0Ly8gSWYgXCJtZVwiIGlzIGRpc3BsYXllZCBhcyBmaXJzdCBvcHRpb24sIHdlIHJlbW92ZSBpdCBmcm9tIHRoZSBsaXN0IG9mIHVzZXJzXG5cdFx0XHRcdGNvbnN0IGZpbHRlcmVkSXRlbXMgPSBkaXNwbGF5TWUgPyBpdGVtcy5maWx0ZXIoKHUpID0+IHUuaWQgIT09IHRoaXMuY3VycmVudFVzZXJJZCkgOiBpdGVtcztcblx0XHRcdFx0cmV0dXJuIHsgaXRlbXM6IG1lICYmIHByZXBlbmRNZSA/IFttZSwgLi4uZmlsdGVyZWRJdGVtc10gOiBmaWx0ZXJlZEl0ZW1zLCBpc0xhc3RQYWdlIH07XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIHBhZ2UkLnBpcGUoc3dpdGNoTWFwKChwYWdlKSA9PiB0aGlzLiN1c2VySG9tb255bXNTZXJ2aWNlLmhhbmRsZUhvbW9ueW1zKHBhZ2UuaXRlbXMsIHRoaXMuZGlzcGxheUZvcm1hdCgpKS5waXBlKG1hcCgoaXRlbXMpID0+ICh7IGl0ZW1zLCBpc0xhc3RQYWdlOiBwYWdlLmlzTGFzdFBhZ2UgfSkpKSkpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIG9wdGlvbkNvbXBhcmVyID0gKGE6IFQsIGI6IFQpID0+IGEuaWQgPT09IGIuaWQ7XG5cdHByb3RlY3RlZCBvdmVycmlkZSBvcHRpb25LZXkgPSAob3B0aW9uOiBUKSA9PiBvcHRpb24uaWQ7XG59XG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvY29yZS1zZWxlY3QvdXNlci91c2Vycy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQWtCLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBbUMsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4SSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENB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VSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztpQkFDaEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBQcm92aWRlciwgVHlwZSwgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIGVmZmVjdCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IElMdUFwaUNvbGxlY3Rpb25SZXNwb25zZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9hcGknO1xuaW1wb3J0IHsgQ09SRV9TRUxFQ1RfQVBJX1RPVEFMX0NPVU5UX1BST1ZJREVSLCBDb3JlU2VsZWN0QXBpVG90YWxDb3VudFByb3ZpZGVyLCBzYW5pdGl6ZUNsdWVGaWx0ZXIgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZS1zZWxlY3QnO1xuaW1wb3J0IHsgQUx1Q29yZVNlbGVjdEFwaURpcmVjdGl2ZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlLXNlbGVjdC9hcGknO1xuaW1wb3J0IHsgTHVEaXNwbGF5Rm9ybWF0LCBMdURpc3BsYXlGdWxsbmFtZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy91c2VyJztcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIG1hcCwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRk9STUVSX0VNUExPWUVFU19DT05URVhULCBMdUNvcmVTZWxlY3RGb3JtZXJFbXBsb3llZXNDb21wb25lbnQgfSBmcm9tICcuL2Zvcm1lci1lbXBsb3llZXMuY29tcG9uZW50JztcbmltcG9ydCB7IExVX0NPUkVfU0VMRUNUX0NVUlJFTlRfVVNFUl9JRCB9IGZyb20gJy4vbWUucHJvdmlkZXInO1xuaW1wb3J0IHsgTHVVc2VyRGlzcGxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWRpc3BsYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlckhvbW9ueW1zU2VydmljZSB9IGZyb20gJy4vdXNlci1ob21vbnltLnNlcnZpY2UnO1xuaW1wb3J0IHsgTHVVc2VyT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHVDb3JlU2VsZWN0VXNlciwgTHVDb3JlU2VsZWN0V2l0aEFkZGl0aW9ubmFsSW5mb3JtYXRpb24gfSBmcm9tICcuL3VzZXItb3B0aW9uLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb3JlU2VsZWN0VXNlcnNDb250ZXh0KGRpcmVjdGl2ZUZuOiAoKSA9PiBUeXBlPEx1Q29yZVNlbGVjdFVzZXJzRGlyZWN0aXZlPik6IFByb3ZpZGVyW10ge1xuXHRyZXR1cm4gWy4uLnByb3ZpZGVCYXNlQ29yZVNlbGVjdFVzZXJzQ29udGV4dChkaXJlY3RpdmVGbiksIHsgcHJvdmlkZTogTHVDb3JlU2VsZWN0VXNlcnNEaXJlY3RpdmUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKGRpcmVjdGl2ZUZuKSB9XTtcbn1cblxuZnVuY3Rpb24gcHJvdmlkZUJhc2VDb3JlU2VsZWN0VXNlcnNDb250ZXh0KGRpcmVjdGl2ZUZuOiAoKSA9PiBUeXBlPEx1Q29yZVNlbGVjdFVzZXJzRGlyZWN0aXZlPik6IFByb3ZpZGVyW10ge1xuXHRyZXR1cm4gW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IENPUkVfU0VMRUNUX0FQSV9UT1RBTF9DT1VOVF9QUk9WSURFUixcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKGRpcmVjdGl2ZUZuKSxcblx0XHR9LFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IEZPUk1FUl9FTVBMT1lFRVNfQ09OVEVYVCxcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKGRpcmVjdGl2ZUZuKSxcblx0XHR9LFxuXHRdO1xufVxuXG5ARGlyZWN0aXZlKHtcblx0Ly8gVGhlIGF0dHJpYnV0ZSBpcyBhbHJlYWR5IHByZWZpeGVkIHdpdGggXCJsdS1zaW1wbGUtc2VsZWN0XCJcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3Jcblx0c2VsZWN0b3I6ICdsdS1zaW1wbGUtc2VsZWN0W3VzZXJzXSxsdS1tdWx0aS1zZWxlY3RbdXNlcnNdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0ZXhwb3J0QXM6ICdsdVVzZXJzJyxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUJhc2VDb3JlU2VsZWN0VXNlcnNDb250ZXh0KCgpID0+IEx1Q29yZVNlbGVjdFVzZXJzRGlyZWN0aXZlKV0sXG59KVxuZXhwb3J0IGNsYXNzIEx1Q29yZVNlbGVjdFVzZXJzRGlyZWN0aXZlPFQgZXh0ZW5kcyBMdUNvcmVTZWxlY3RVc2VyID0gTHVDb3JlU2VsZWN0VXNlcj5cblx0ZXh0ZW5kcyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlPEx1Q29yZVNlbGVjdFdpdGhBZGRpdGlvbm5hbEluZm9ybWF0aW9uPFQ+PlxuXHRpbXBsZW1lbnRzIENvcmVTZWxlY3RBcGlUb3RhbENvdW50UHJvdmlkZXJcbntcblx0I2RlZmF1bHRTZWFyY2hVcmwgPSAnL2FwaS92My91c2Vycy9zZWFyY2gnO1xuXHQjZGVmYXVsdFNjb3BlZFNlYXJjaFVybCA9ICcvYXBpL3YzL3VzZXJzL3Njb3BlZHNlYXJjaCc7XG5cdCN1c2VySG9tb255bXNTZXJ2aWNlID0gaW5qZWN0KEx1Q29yZVNlbGVjdFVzZXJIb21vbnltc1NlcnZpY2UpO1xuXG5cdC8vIE5vdCBvdmVycmlkYWJsZSBzbyBpdCB3aWxsIGVhc2UgZW1wbG95ZWUgQVBJIG1pZ3JhdGlvblxuXHQjdXNlckZpZWxkcyA9ICdpZCxmaXJzdE5hbWUsbGFzdE5hbWUscGljdHVyZS5ocmVmJztcblxuXHRwcm90ZWN0ZWQgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblx0cHVibGljIGN1cnJlbnRVc2VySWQgPSBpbmplY3QoTFVfQ09SRV9TRUxFQ1RfQ1VSUkVOVF9VU0VSX0lEKTtcblxuXHRkaXNwbGF5Rm9ybWF0ID0gaW5wdXQ8THVEaXNwbGF5Rm9ybWF0PihMdURpc3BsYXlGdWxsbmFtZS5sYXN0Zmlyc3QpO1xuXG5cdGZpbHRlcnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPj4oe30pO1xuXHR1cmwgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcblx0b3JkZXJCeSA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXHRvcGVyYXRpb25JZHMgPSBpbnB1dDxudW1iZXJbXSB8IG51bGw+KG51bGwpO1xuXHRhcHBJbnN0YW5jZUlkID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cdGVuYWJsZUZvcm1lckVtcGxveWVlcyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblx0ZGlzcGxheU1lT3B0aW9uID0gaW5wdXQodHJ1ZSk7XG5cblx0aW5jbHVkZUZvcm1lckVtcGxveWVlcyA9IHNpZ25hbChmYWxzZSk7XG5cdHNlYXJjaERlbGltaXRlciA9IGlucHV0PHN0cmluZz4oJyAnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMuc2VsZWN0Lm9wdGlvblRwbC5zZXQoTHVVc2VyT3B0aW9uQ29tcG9uZW50KTtcblx0XHR0aGlzLnNlbGVjdC52YWx1ZVRwbC5zZXQoTHVVc2VyRGlzcGxheWVyQ29tcG9uZW50KTtcblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBlbmFibGVGb3JtZXJFbXBsb3llZXMgPSB0aGlzLmVuYWJsZUZvcm1lckVtcGxveWVlcygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHRoaXMuc2VsZWN0LnBhbmVsSGVhZGVyVHBsLnNldChlbmFibGVGb3JtZXJFbXBsb3llZXMgPyBMdUNvcmVTZWxlY3RGb3JtZXJFbXBsb3llZXNDb21wb25lbnQgOiB1bmRlZmluZWQpKTtcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBkZWZhdWx0VXJsID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuYXBwSW5zdGFuY2VJZCgpICYmIHRoaXMub3BlcmF0aW9uSWRzKCk/Lmxlbmd0aCA/IHRoaXMuI2RlZmF1bHRTY29wZWRTZWFyY2hVcmwgOiB0aGlzLiNkZWZhdWx0U2VhcmNoVXJsKSk7XG5cdHByb3RlY3RlZCB1cmxPckRlZmF1bHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnVybCgpID8/IHRoaXMuZGVmYXVsdFVybCgpKTtcblxuXHRwcm90ZWN0ZWQgY2x1ZSA9IHRvU2lnbmFsKHRoaXMuY2x1ZSQpO1xuXG5cdHByb3RlY3RlZCBvdmVycmlkZSBwYXJhbXMkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+PiA9IHRvT2JzZXJ2YWJsZShcblx0XHRjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBvcmRlckJ5ID0gdGhpcy5vcmRlckJ5KCk7XG5cdFx0XHRjb25zdCBjbHVlID0gdGhpcy5jbHVlKCk7XG5cdFx0XHRjb25zdCBvcGVyYXRpb25JZHMgPSB0aGlzLm9wZXJhdGlvbklkcygpO1xuXHRcdFx0Y29uc3QgYXBwSW5zdGFuY2VJZCA9IHRoaXMuYXBwSW5zdGFuY2VJZCgpO1xuXHRcdFx0Y29uc3Qgc2VhcmNoRGVsaW1pdGVyID0gdGhpcy5zZWFyY2hEZWxpbWl0ZXIoKTtcblx0XHRcdGNvbnN0IGZvcm1lckVtcGxveWVlcyA9IHRoaXMuaW5jbHVkZUZvcm1lckVtcGxveWVlcygpO1xuXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRmaWVsZHM6IHRoaXMuI3VzZXJGaWVsZHMsXG5cdFx0XHRcdC4uLnRoaXMuZmlsdGVycygpLFxuXHRcdFx0XHQuLi4ob3JkZXJCeSA/IHsgb3JkZXJCeSB9IDoge30pLFxuXHRcdFx0XHQuLi4oY2x1ZSA/IHsgY2x1ZTogc2FuaXRpemVDbHVlRmlsdGVyKGNsdWUsIHNlYXJjaERlbGltaXRlcikgfSA6IHt9KSxcblx0XHRcdFx0Li4uKG9wZXJhdGlvbklkcyA/IHsgb3BlcmF0aW9uczogb3BlcmF0aW9uSWRzLmpvaW4oJywnKSB9IDoge30pLFxuXHRcdFx0XHQuLi4oYXBwSW5zdGFuY2VJZCA/IHsgYXBwSW5zdGFuY2VJZCB9IDoge30pLFxuXHRcdFx0XHQuLi4oZm9ybWVyRW1wbG95ZWVzID8geyBmb3JtZXJFbXBsb3llZXMgfSA6IHt9KSxcblx0XHRcdH07XG5cdFx0fSksXG5cdCk7XG5cblx0cHJvdGVjdGVkIG1lUGFyYW1zJCA9IHRvT2JzZXJ2YWJsZShcblx0XHRjb21wdXRlZCgoKSA9PiAoe1xuXHRcdFx0ZmllbGRzOiB0aGlzLiN1c2VyRmllbGRzLFxuXHRcdFx0Li4udGhpcy5maWx0ZXJzKCksXG5cdFx0XHQuLi4odGhpcy5vcGVyYXRpb25JZHMoKSA/IHsgb3BlcmF0aW9uczogdGhpcy5vcGVyYXRpb25JZHMoKS5qb2luKCcsJykgfSA6IHt9KSxcblx0XHRcdC4uLih0aGlzLmFwcEluc3RhbmNlSWQoKSA/IHsgYXBwSW5zdGFuY2VJZDogdGhpcy5hcHBJbnN0YW5jZUlkKCkgfSA6IHt9KSxcblx0XHRcdGlkOiB0aGlzLmN1cnJlbnRVc2VySWQsXG5cdFx0fSkpLFxuXHQpO1xuXG5cdHByb3RlY3RlZCBtZSQgPSB0aGlzLm1lUGFyYW1zJC5waXBlKFxuXHRcdHN3aXRjaE1hcCgocGFyYW1zKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PElMdUFwaUNvbGxlY3Rpb25SZXNwb25zZTx7IGl0ZW06IFQgfT4+KHRoaXMudXJsT3JEZWZhdWx0KCksIHsgcGFyYW1zIH0pLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBFTVBUWSkpKSxcblx0XHRtYXAoKHJlcykgPT4gcmVzLmRhdGEuaXRlbXMubWFwKCh7IGl0ZW0gfSkgPT4gaXRlbSlbMF0gPz8gbnVsbCksXG5cdFx0dGFrZVVudGlsRGVzdHJveWVkKCksXG5cdFx0c2hhcmVSZXBsYXkoMSksXG5cdCk7XG5cblx0cHVibGljIHRvdGFsQ291bnQkID0gdG9PYnNlcnZhYmxlKGNvbXB1dGVkKCgpID0+ICh7IHVybDogdGhpcy51cmxPckRlZmF1bHQoKSwgZmlsdGVyczogdGhpcy5maWx0ZXJzKCkgfSkpKS5waXBlKFxuXHRcdGRlYm91bmNlVGltZSgyNTApLFxuXHRcdHN3aXRjaE1hcCgoeyB1cmwsIGZpbHRlcnMgfSkgPT5cblx0XHRcdHRoaXMuaHR0cENsaWVudC5nZXQ8eyBjb3VudDogbnVtYmVyIH0+KHVybCwge1xuXHRcdFx0XHRwYXJhbXM6IHtcblx0XHRcdFx0XHQuLi5maWx0ZXJzLFxuXHRcdFx0XHRcdFsnZmllbGRzLnJvb3QnXTogJ2NvdW50Jyxcblx0XHRcdFx0fSxcblx0XHRcdH0pLFxuXHRcdCksXG5cdFx0bWFwKChyZXMpID0+IHJlcz8uY291bnQgPz8gMCksXG5cdCk7XG5cblx0cHJvdGVjdGVkIGdldE1lKCk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcblx0XHRyZXR1cm4gdGhpcy5tZSQucGlwZSh0YWtlKDEpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBnZXRPcHRpb25zKHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4sIHBhZ2U6IG51bWJlcik6IE9ic2VydmFibGU8VFtdPiB7XG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudFxuXHRcdFx0LmdldDxJTHVBcGlDb2xsZWN0aW9uUmVzcG9uc2U8eyBpdGVtOiBUIH0+Pih0aGlzLnVybE9yRGVmYXVsdCgpLCB7XG5cdFx0XHRcdHBhcmFtczoge1xuXHRcdFx0XHRcdC4uLnBhcmFtcyxcblx0XHRcdFx0XHRwYWdpbmc6IGAke3BhZ2UgKiB0aGlzLnBhZ2VTaXplfSwke3RoaXMucGFnZVNpemV9YCxcblx0XHRcdFx0fSxcblx0XHRcdH0pXG5cdFx0XHQucGlwZShtYXAoKHJlcykgPT4gcmVzLmRhdGEuaXRlbXMubWFwKCh7IGl0ZW0gfSkgPT4gaXRlbSkpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvdmVycmlkZSBnZXRPcHRpb25zUGFnZShwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+LCBwYWdlOiBudW1iZXIpOiBPYnNlcnZhYmxlPHsgaXRlbXM6IEx1Q29yZVNlbGVjdFdpdGhBZGRpdGlvbm5hbEluZm9ybWF0aW9uPFQ+W107IGlzTGFzdFBhZ2U6IGJvb2xlYW4gfT4ge1xuXHRcdGNvbnN0IGhhc0NsdWUgPSAhIXBhcmFtc1snY2x1ZSddO1xuXHRcdGNvbnN0IGRpc3BsYXlNZSA9IHRoaXMuZGlzcGxheU1lT3B0aW9uKCkgJiYgIWhhc0NsdWU7XG5cdFx0Y29uc3QgcHJlcGVuZE1lID0gZGlzcGxheU1lICYmIHBhZ2UgPT09IDA7XG5cblx0XHR0aGlzLnNlbGVjdC5sb2FkaW5nID0gdHJ1ZTtcblxuXHRcdGNvbnN0IG1lJCA9IHByZXBlbmRNZSA/IHRoaXMuZ2V0TWUoKSA6IG9mKG51bGwpO1xuXG5cdFx0Y29uc3QgdXNlcnMkID0gdGhpcy5nZXRPcHRpb25zKHBhcmFtcywgcGFnZSkucGlwZShcblx0XHRcdG1hcCgodXNlcnMpID0+ICh7IGl0ZW1zOiB1c2VycywgaXNMYXN0UGFnZTogdXNlcnMubGVuZ3RoIDwgdGhpcy5wYWdlU2l6ZSB9KSksXG5cdFx0XHR0YXAoKCkgPT4gKHRoaXMuc2VsZWN0LmxvYWRpbmcgPSBmYWxzZSkpLFxuXHRcdCk7XG5cblx0XHRjb25zdCBwYWdlJCA9IGNvbWJpbmVMYXRlc3QoW21lJCwgdXNlcnMkXSkucGlwZShcblx0XHRcdG1hcCgoW21lLCB7IGl0ZW1zLCBpc0xhc3RQYWdlIH1dKSA9PiB7XG5cdFx0XHRcdC8vIElmIFwibWVcIiBpcyBkaXNwbGF5ZWQgYXMgZmlyc3Qgb3B0aW9uLCB3ZSByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBvZiB1c2Vyc1xuXHRcdFx0XHRjb25zdCBmaWx0ZXJlZEl0ZW1zID0gZGlzcGxheU1lID8gaXRlbXMuZmlsdGVyKCh1KSA9PiB1LmlkICE9PSB0aGlzLmN1cnJlbnRVc2VySWQpIDogaXRlbXM7XG5cdFx0XHRcdHJldHVybiB7IGl0ZW1zOiBtZSAmJiBwcmVwZW5kTWUgPyBbbWUsIC4uLmZpbHRlcmVkSXRlbXNdIDogZmlsdGVyZWRJdGVtcywgaXNMYXN0UGFnZSB9O1xuXHRcdFx0fSksXG5cdFx0KTtcblxuXHRcdHJldHVybiBwYWdlJC5waXBlKHN3aXRjaE1hcCgocGFnZSkgPT4gdGhpcy4jdXNlckhvbW9ueW1zU2VydmljZS5oYW5kbGVIb21vbnltcyhwYWdlLml0ZW1zLCB0aGlzLmRpc3BsYXlGb3JtYXQoKSkucGlwZShtYXAoKGl0ZW1zKSA9PiAoeyBpdGVtcywgaXNMYXN0UGFnZTogcGFnZS5pc0xhc3RQYWdlIH0pKSkpKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvdmVycmlkZSBvcHRpb25Db21wYXJlciA9IChhOiBULCBiOiBUKSA9PiBhLmlkID09PSBiLmlkO1xuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgb3B0aW9uS2V5ID0gKG9wdGlvbjogVCkgPT4gb3B0aW9uLmlkO1xufVxuIl19