@agorapulse/ui-components 18.0.26 → 18.0.28

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.
@@ -149,7 +149,7 @@ export class NavSelectorLeafComponent {
149
149
  }
150
150
  }
151
151
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafComponent, deps: [{ token: i0.ElementRef }, { token: i1.NavSelectorLeafPresenter }], target: i0.ɵɵFactoryTarget.Component });
152
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafComponent, isStandalone: true, selector: "ap-nav-selector-leaf", inputs: { leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "treeitem" }, listeners: { "keydown.arrowLeft": "fold($event)", "keydown.arrowRight": "unfold($event)" }, properties: { "class.minified": "!navSelectorLeafPresenter.expanded()" } }, providers: [withSymbols(apErrorFill, apFeatureLock, apChevronDown, apChevronUp, apMore), NavSelectorLeafPresenter], viewQueries: [{ propertyName: "aliasEl", first: true, predicate: ["alias"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"clickOnSelectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n @let actionProjection = navSelectorLeafPresenter.leafActionProjection();\n @if (actionProjection?.length) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\"\n [apNavSelectorPopoverTrigger]=\"popover\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: true, keyboard: ['Space', 'Enter'] }\" />\n\n <ap-nav-selector-popover\n #popover\n placement=\"bottom_start\">\n @for (action of actionProjection; track action) {\n <ng-template #item>\n <ng-container\n [ngTemplateOutlet]=\"action\"\n [ngTemplateOutletContext]=\"{\n uid: leaf().uid\n }\" />\n </ng-template>\n }\n </ap-nav-selector-popover>\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"clickOnToggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n placement=\"right\"\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item\n item\n [selected]=\"detail.selected\"\n [disabled]=\"detail.displayError\"\n [name]=\"detail.alias\"\n (click)=\"onDetailClicked($event, detail)\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf.details-displayable:focus-within:not(:host .nav-selector-leaf.details-displayable.detail-selected){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none;cursor:pointer}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs)}:host.minified .nav-selector-leaf:not(.multiple-mode){justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["profilePicture", "alt", "network", "size", "username", "showInitials", "bigNetwork", "anonymous", "online", "youtubeAvatarMode", "rounded"] }, { kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "background", "notif"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: NavSelectorLeafDetailsComponent, selector: "ap-nav-selector-leaf-details", inputs: ["leaf", "details"] }, { kind: "component", type: CheckboxComponent, selector: "ap-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "disabled", "indeterminate", "checked", "required", "name"], outputs: ["change"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }, { kind: "component", type: NavSelectorLeafDetailComponent, selector: "ap-nav-selector-leaf-detail", inputs: ["detail", "embedded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TreeNodeAccessibilityDirective, selector: "[apTreeNodeAccessibility]", inputs: ["apTreeNodeAccessibility"] }, { kind: "component", type: NavSelectorPopoverComponent, selector: "ap-nav-selector-popover", inputs: ["placement", "popoverTitle", "offset"] }, { kind: "directive", type: NavSelectorPopoverTriggerDirective, selector: "[apNavSelectorPopoverTrigger]", inputs: ["apNavSelectorPopoverTrigger", "apNavSelectorPopoverTriggerMode", "apNavSelectorPopoverDisabled"] }, { kind: "component", type: NavSelectorPopoverItemComponent, selector: "ap-nav-selector-popover-item", inputs: ["selected", "disabled", "name", "ariaLabel"] }], animations: [
152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafComponent, isStandalone: true, selector: "ap-nav-selector-leaf", inputs: { leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "treeitem" }, listeners: { "keydown.arrowLeft": "fold($event)", "keydown.arrowRight": "unfold($event)" }, properties: { "class.minified": "!navSelectorLeafPresenter.expanded()" } }, providers: [withSymbols(apErrorFill, apFeatureLock, apChevronDown, apChevronUp, apMore), NavSelectorLeafPresenter], viewQueries: [{ propertyName: "aliasEl", first: true, predicate: ["alias"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"clickOnSelectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n @let actionProjection = navSelectorLeafPresenter.leafActionProjection();\n @if (actionProjection?.length) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\"\n [apNavSelectorPopoverTrigger]=\"popover\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: true, keyboard: ['Space', 'Enter'] }\" />\n\n <ap-nav-selector-popover\n #popover\n placement=\"bottom_start\">\n @for (action of actionProjection; track action) {\n <ng-template #item>\n <ng-container\n [ngTemplateOutlet]=\"action\"\n [ngTemplateOutletContext]=\"{\n uid: leaf().uid\n }\" />\n </ng-template>\n }\n </ap-nav-selector-popover>\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"clickOnToggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n placement=\"right\"\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item\n item\n [selected]=\"detail.selected\"\n [disabled]=\"detail.displayError\"\n [name]=\"detail.alias\"\n (click)=\"onDetailClicked($event, detail)\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf.details-displayable:focus-within:not(:host .nav-selector-leaf.details-displayable.detail-selected){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none;cursor:pointer}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs)}:host.minified .nav-selector-leaf:not(.multiple-mode){justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "ap-avatar", inputs: ["profilePicture", "alt", "network", "size", "username", "showInitials", "bigNetwork", "anonymous", "online", "youtubeAvatarMode", "rounded"] }, { kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "notif", "background", "role"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: NavSelectorLeafDetailsComponent, selector: "ap-nav-selector-leaf-details", inputs: ["leaf", "details"] }, { kind: "component", type: CheckboxComponent, selector: "ap-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "disabled", "indeterminate", "checked", "required", "name"], outputs: ["change"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }, { kind: "component", type: NavSelectorLeafDetailComponent, selector: "ap-nav-selector-leaf-detail", inputs: ["detail", "embedded"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TreeNodeAccessibilityDirective, selector: "[apTreeNodeAccessibility]", inputs: ["apTreeNodeAccessibility"] }, { kind: "component", type: NavSelectorPopoverComponent, selector: "ap-nav-selector-popover", inputs: ["placement", "popoverTitle", "offset"] }, { kind: "directive", type: NavSelectorPopoverTriggerDirective, selector: "[apNavSelectorPopoverTrigger]", inputs: ["apNavSelectorPopoverTrigger", "apNavSelectorPopoverTriggerMode", "apNavSelectorPopoverDisabled"] }, { kind: "component", type: NavSelectorPopoverItemComponent, selector: "ap-nav-selector-popover-item", inputs: ["selected", "disabled", "name", "ariaLabel"] }], animations: [
153
153
  /**
154
154
  * Overflow hidden is put only during the animation and on the collapsed state because if it is put on the expanded state then children’s border will be cut (hover / focus)
155
155
  */
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
212
212
  ]),
213
213
  ], template: "@if (navSelectorLeafPresenter.expandedAfterDelay()) {\n <div\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [attr.aria-selected]=\"leaf().selected\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.disabled]=\"leaf().disabled\"\n [class.detail-selected]=\"leaf().detailSelected\"\n [class.actions-displayable]=\"leaf().actionsDisplayable && leaf().detailsDisplayable\"\n [class.details-displayable]=\"leaf().detailsDisplayable\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (focusin)=\"focused.set(true)\"\n (focusout)=\"focused.set(false)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [aria-label]=\"leaf().alias\"\n [disabled]=\"!leaf().selectable\"\n (click)=\"eventStopper($event)\"\n (change)=\"onCheckboxToggle()\" />\n }\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <span\n #alias\n class=\"caption\">\n {{ leaf().alias }}\n </span>\n\n <a\n class=\"standalone only-button\"\n role=\"button\"\n [attr.aria-label]=\"'Select only ' + leaf().alias\"\n [attr.tabindex]=\"leaf().accessibility.tabIndex\"\n (keydown.space)=\"selectOnly($event)\"\n (keydown.enter)=\"selectOnly($event)\"\n (click)=\"clickOnSelectOnly($event)\">\n {{ navSelectorLeafPresenter.texts().only }}\n </a>\n\n @let actionProjection = navSelectorLeafPresenter.leafActionProjection();\n @if (actionProjection?.length) {\n <ap-symbol\n class=\"actions-menu\"\n size=\"sm\"\n symbolId=\"more\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Action menu ' + leaf().alias\"\n [apNavSelectorPopoverTrigger]=\"popover\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: true, keyboard: ['Space', 'Enter'] }\" />\n\n <ap-nav-selector-popover\n #popover\n placement=\"bottom_start\">\n @for (action of actionProjection; track action) {\n <ng-template #item>\n <ng-container\n [ngTemplateOutlet]=\"action\"\n [ngTemplateOutletContext]=\"{\n uid: leaf().uid\n }\" />\n </ng-template>\n }\n </ap-nav-selector-popover>\n }\n\n @if (leaf().foldable) {\n <ap-symbol\n class=\"folding-button\"\n size=\"sm\"\n role=\"button\"\n [tabindex]=\"leaf().accessibility.tabIndex\"\n [attr.aria-label]=\"'Toggle ' + leaf().alias\"\n [symbolId]=\"foldSymbol()\"\n (click)=\"clickOnToggleFolding($event)\"\n (keydown.space)=\"toggleFolding($event)\"\n (keydown.enter)=\"toggleFolding($event)\" />\n }\n @if (leaf().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n\n <div\n class=\"details-container\"\n [@accordion]=\"{\n value: animationState(),\n params: {\n maxHeight: maxHeight()\n }\n }\">\n @if (!foldedWithDelay()) {\n <ap-nav-selector-leaf-details\n [details]=\"leaf().details\"\n [leaf]=\"leaf()\" />\n }\n </div>\n} @else {\n <div\n #minified\n class=\"nav-selector-leaf\"\n apTooltipPosition=\"right\"\n [apNavSelectorPopoverTrigger]=\"minifiedPopover\"\n [apNavSelectorPopoverDisabled]=\"!leaf().detailsDisplayable\"\n [apNavSelectorPopoverTriggerMode]=\"{ click: false, hover: true }\"\n [class.feature-locked]=\"leaf().displayFeatureLocked\"\n [class.selected]=\"leaf().selected || leaf().detailSelected\"\n [class.token-error]=\"leaf().displayTokenInvalid\"\n [class.multiple-mode]=\"navSelectorLeafPresenter.isMultipleModeEnabled()\"\n [class.disabled]=\"leaf().disabled\"\n [apTooltip]=\"tooltipContent()\"\n [apTooltipDisabled]=\"tooltipDisabled()\"\n [apTreeNodeAccessibility]=\"leaf()\"\n (keydown.space)=\"onSpaceOrEnterPressed($event)\"\n (keydown.enter)=\"onSpaceOrEnterPressed($event)\"\n (click)=\"onClick($event)\">\n @if (navSelectorLeafPresenter.isMultipleModeEnabled()) {\n <ap-checkbox\n [name]=\"leaf().uid\"\n [checked]=\"leaf().selected\"\n [disabled]=\"!leaf().selectable\" />\n }\n\n <div class=\"avatar-container\">\n <ap-avatar\n size=\"24\"\n [profilePicture]=\"leaf().pictureUrl ?? undefined\"\n [network]=\"$any(leaf().network)\"\n [showInitials]=\"initial()\" />\n\n <div class=\"status\">\n @if (leaf().displayCounter) {\n <ap-counter\n class=\"counter-override\"\n color=\"orange\"\n size=\"normal\"\n [notif]=\"true\"\n [background]=\"true\">\n {{ leaf().counter }}\n </ap-counter>\n }\n @if (leaf().displayTokenInvalid) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\" />\n }\n @if (leaf().displayFeatureLocked) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"feature-lock\" />\n }\n </div>\n </div>\n\n <ap-nav-selector-popover\n #minifiedPopover\n placement=\"right\"\n [popoverTitle]=\"leaf().alias\"\n [offset]=\"{ mainAxis: 0, crossAxis: -36.5 }\">\n @for (detail of leaf().details; track detail.uid) {\n <ap-nav-selector-popover-item\n item\n [selected]=\"detail.selected\"\n [disabled]=\"detail.displayError\"\n [name]=\"detail.alias\"\n (click)=\"onDetailClicked($event, detail)\">\n <ap-nav-selector-leaf-detail\n [embedded]=\"true\"\n [detail]=\"detail\" />\n </ap-nav-selector-popover-item>\n }\n </ap-nav-selector-popover>\n </div>\n}\n", styles: [":host{display:flex;flex-shrink:0;align-self:stretch;flex-direction:column}:host .details-container{align-self:stretch}:host .nav-selector-leaf{position:relative;display:flex;padding:0 var(--ref-spacing-xxs);height:36px;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0;flex-grow:1;align-self:stretch}:host .nav-selector-leaf ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;flex:1 0 0;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host ap-symbol[symbol-id=feature-lock]{color:var(--ref-color-purple-100)}:host ap-symbol[symbol-id=chevron-down],:host ap-symbol[symbol-id=chevron-up]{color:var(--ref-color-grey-80)}:host .folding-button,:host .actions-menu{display:none;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0}:host .folding-button:hover,:host .actions-menu:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .folding-button:active,:host .folding-button.nav-selector-popover-trigger--active,:host .actions-menu:active,:host .actions-menu.nav-selector-popover-trigger--active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-40)}:host .folding-button:focus-visible,:host .actions-menu:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector-leaf.details-displayable{cursor:pointer}:host .nav-selector-leaf.details-displayable.detail-selected .caption{font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs);color:var(--ref-color-grey-100)}:host .nav-selector-leaf.details-displayable:focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.details-displayable:hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf.details-displayable:focus-within:not(:host .nav-selector-leaf.details-displayable.detail-selected){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable){cursor:pointer}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable):focus-within{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:not(.multiple-mode) .caption{color:var(--ref-color-electric-blue-150)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected.multiple-mode .caption{color:var(--ref-color-grey-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected .caption{overflow:hidden;text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within ap-counter,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible ap-counter{display:none}:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:hover .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-within .only-button,:host .nav-selector-leaf:not(.disabled):not(.feature-locked):not(.multiple-mode.token-error):not(.details-displayable).multiple-mode:focus-visible .only-button{display:flex}:host .nav-selector-leaf.feature-locked:not(.multiple-mode){border-radius:var(--ref-border-radius-sm);outline:none;cursor:pointer}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):hover{background:var(--ref-color-purple-10)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):active{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode):focus-visible{background:var(--ref-color-purple-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-purple-100)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected{background:var(--ref-color-purple-20)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected .caption{overflow:hidden;color:var(--ref-color-purple-100);text-overflow:ellipsis;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host .nav-selector-leaf.feature-locked:not(.multiple-mode).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within ap-counter,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover ap-counter{display:none}:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-visible .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):focus-within .folding-button,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .actions-menu,:host .nav-selector-leaf.actions-displayable:not(.feature-locked):not(.disabled):not(.token-error):hover .folding-button{display:flex}:host .nav-selector-leaf.feature-locked.multiple-mode ap-avatar,:host .nav-selector-leaf.feature-locked.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.feature-locked.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.token-error.multiple-mode ap-avatar,:host .nav-selector-leaf.token-error.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.token-error.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled.multiple-mode ap-avatar,:host .nav-selector-leaf.disabled.multiple-mode .caption{opacity:.5}:host .nav-selector-leaf.disabled.multiple-mode .caption{color:var(--ref-color-grey-40)}:host .nav-selector-leaf.disabled ap-avatar,:host .nav-selector-leaf.disabled .caption{opacity:.5}:host .nav-selector-leaf.disabled .caption{color:var(--ref-color-grey-40)}:host .status{position:absolute;right:-4px;top:-6px;background-color:var(--ref-color-white);border-radius:100%}:host .avatar-container{position:relative}:host.minified .counter-override{background-color:var(--ref-color-orange-150)}:host.minified .nav-selector-leaf{gap:var(--ref-spacing-xxxs);padding:var(--ref-spacing-xxxs)}:host.minified .nav-selector-leaf:not(.multiple-mode){justify-content:center}:host.minified ::ng-deep ap-checkbox .checkbox .checkbox-container{padding:0}:host .only-button{display:none;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}::ng-deep .nav-selector-leaf-menu{position:absolute;left:55px;top:-20%;width:225px}::ng-deep .nav-selector-leaf-menu .not-displayable{display:none}::ng-deep .nav-selector-leaf-menu .caption-bold{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}\n"] }]
214
214
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NavSelectorLeafPresenter }] });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBRU4sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZC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WyJpbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2F2YXRhcic7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvY291bnRlcic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGFwQ2hldnJvbkRvd24sIGFwQ2hldnJvblVwLCBhcEVycm9yRmlsbCwgYXBGZWF0dXJlTG9jaywgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBhcE1vcmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wvaWNvbnMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwga2V5ZnJhbWVzLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgYWZ0ZXJSZW5kZXIsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGlucHV0LFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25hdi1zZWxlY3Rvci1wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyZWVOb2RlQWNjZXNzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdHJlZS1ub2RlLWFjY2Vzc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHMgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JQb3BvdmVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1wb3BvdmVyL25hdi1zZWxlY3Rvci1wb3BvdmVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNlbGVjdG9yUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1wb3BvdmVyL25hdi1zZWxlY3Rvci1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIgfSBmcm9tICcuL25hdi1zZWxlY3Rvci1sZWFmLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtc2VsZWN0b3ItbGVhZi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQXZhdGFyQ29tcG9uZW50LFxuICAgICAgICBDb3VudGVyQ29tcG9uZW50LFxuICAgICAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkRldGFpbHNDb21wb25lbnQsXG4gICAgICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLFxuICAgICAgICBOYXZTZWxlY3RvclBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gICAgICAgIE5hdlNlbGVjdG9yUG9wb3Zlckl0ZW1Db21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFt3aXRoU3ltYm9scyhhcEVycm9yRmlsbCwgYXBGZWF0dXJlTG9jaywgYXBDaGV2cm9uRG93biwgYXBDaGV2cm9uVXAsIGFwTW9yZSksIE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlcl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLm1pbmlmaWVkXSc6ICchbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmV4cGFuZGVkKCknLFxuICAgICAgICByb2xlOiAndHJlZWl0ZW0nLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dMZWZ0KSc6ICdmb2xkKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dSaWdodCknOiAndW5mb2xkKCRldmVudCknLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICAvKipcbiAgICAgICAgICogT3ZlcmZsb3cgaGlkZGVuIGlzIHB1dCBvbmx5IGR1cmluZyB0aGUgYW5pbWF0aW9uIGFuZCBvbiB0aGUgY29sbGFwc2VkIHN0YXRlIGJlY2F1c2UgaWYgaXQgaXMgcHV0IG9uIHRoZSBleHBhbmRlZCBzdGF0ZSB0aGVuIGNoaWxkcmVu4oCZcyBib3JkZXIgd2lsbCBiZSBjdXQgKGhvdmVyIC8gZm9jdXMpXG4gICAgICAgICAqL1xuICAgICAgICB0cmlnZ2VyKCdhY2NvcmRpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnY29sbGFwc2VkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogJ2luaXRpYWwnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJywgc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgICAgICcyNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4zLCAxKScsXG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pLCBzdHlsZSh7IG1heEhlaWdodDogMCB9KV0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZDb21wb25lbnQge1xuICAgIGxlYWYgPSBpbnB1dC5yZXF1aXJlZDxJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZj4oKTtcblxuICAgIGluaXRpYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxlYWYoKS5hbGlhc1swXS50b1VwcGVyQ2FzZSgpKTtcbiAgICBmb2xkU3ltYm9sID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGVhZigpLmZvbGRlZCA/ICdjaGV2cm9uLWRvd24nIDogJ2NoZXZyb24tdXAnKSk7XG5cbiAgICBmb2N1c2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIGFsaWFzRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2FsaWFzJyk7XG4gICAgYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCA9IHNpZ25hbDx7XG4gICAgICAgIG9mZnNldFdpZHRoOiBudW1iZXI7XG4gICAgICAgIG9mZnNldEhlaWdodDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxXaWR0aDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxIZWlnaHQ6IG51bWJlcjtcbiAgICB9Pih7XG4gICAgICAgIG9mZnNldFdpZHRoOiAwLFxuICAgICAgICBvZmZzZXRIZWlnaHQ6IDAsXG4gICAgICAgIHNjcm9sbFdpZHRoOiAwLFxuICAgICAgICBzY3JvbGxIZWlnaHQ6IDAsXG4gICAgfSk7XG5cbiAgICB0b29sdGlwQ29udGVudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IFtdO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmICghdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuZXhwYW5kZWQoKSB8fCBlbC5vZmZzZXRXaWR0aCA8IGVsLnNjcm9sbFdpZHRoIHx8IGVsLm9mZnNldEhlaWdodCA8IGVsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKHRoaXMubGVhZigpLmFsaWFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVSZWFzb24gPSB0aGlzLmxlYWYoKS5kaXNhYmxlUmVhc29uO1xuICAgICAgICBpZiAoZGlzYWJsZVJlYXNvbikge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKGRpc2FibGVSZWFzb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubGVhZigpLmRpc3BsYXlGZWF0dXJlTG9ja2VkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS5mZWF0dXJlTG9ja2VkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS50b2tlbkludmFsaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQuam9pbignPGJyPicpO1xuICAgIH0pO1xuICAgIHRvb2x0aXBEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLnRvb2x0aXBDb250ZW50KCkubGVuZ3RoIHx8IHRoaXMubGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZSk7XG5cbiAgICBmb2xkZWRXaXRoRGVsYXkgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgbmV0d29yayA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmxlYWYoKS5uZXR3b3JrID8gdGhpcy5sZWFmKCkubmV0d29yayA6IHVuZGVmaW5lZCkpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXI6IE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlclxuICAgICkge1xuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tYXhIZWlnaHQuc2V0KGAke3RoaXMuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgKiB0aGlzLmxlYWYoKS5kZXRhaWxzLmxlbmd0aH1weGApO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFmdGVyUmVuZGVyKCgpID0+IHVudHJhY2tlZCgoKSA9PiB0aGlzLnVwZGF0ZUFsaWFzQm91bmRlZENsaWVudFJlY3QoKSkpO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb2xkZWQgPSB0aGlzLmxlYWYoKS5mb2xkZWQ7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvbGRlZFdpdGhEZWxheS5zZXQodHJ1ZSksIDE1MCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2xkZWRXaXRoRGVsYXkuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sZWFmKCkuZm9sZGVkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnKSk7XG5cbiAgICBtYXhIZWlnaHQgPSBzaWduYWwoJzBweCcpO1xuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdExlYWYodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZUZvbGRpbmcoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZUb2dnbGVGb2xkaW5nKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBjbGlja09uVG9nZ2xlRm9sZGluZyhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgZm9jdXMgZnJvbSB0aGUgdG9nZ2xlIGZvbGRpbmcgc28gd2UgZG8gbm90IGhhdmUgdGhlIDpmb2N1cy13aXRoaW4gc3R5bGUgb24gdGhlIGxlYWZcbiAgICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgJ2JsdXInIGluIGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgdHlwZW9mIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1ciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIub25MZWFmVG9nZ2xlRm9sZGluZyh0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0T25seShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIChldmVudC50YXJnZXQgYXMgRWxlbWVudCkuYmx1cigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RPbmx5TGVhZih0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgY2xpY2tPblNlbGVjdE9ubHkoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAvLyBSZW1vdmUgdGhlIGZvY3VzIGZyb20gdGhlIHNlbGVjdCBvbmx5IHNvIHdlIGRvIG5vdCBoYXZlIHRoZSA6Zm9jdXMtd2l0aGluIHN0eWxlIG9uIHRoZSBsZWFmXG4gICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ICYmICdibHVyJyBpbiBldmVudC5jdXJyZW50VGFyZ2V0ICYmIHR5cGVvZiBldmVudC5jdXJyZW50VGFyZ2V0LmJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1cigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdE9ubHlMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3IgY2hlY2tib3hlcywgYXMgdGhleSBkbyBub3Qgc3RvcCBldmVudCBwcm9wYWdhdGlvbiwgd2UgbmVlZCB0byBzdG9wIGl0IG1hbnVhbGx5XG4gICAgICovXG4gICAgZXZlbnRTdG9wcGVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94VG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBvblNwYWNlT3JFbnRlclByZXNzZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtc2VsZWN0b3ItbGVhZicpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sZWFmKCkuZm9sZGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZUZvbGRpbmcoZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5mb2xkKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICB1bmZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci51bmZvbGQodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIG9uRGV0YWlsQ2xpY2tlZChldmVudDogRXZlbnQsIGRldGFpbDogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzKSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCkge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMuYWxpYXNFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kZWRDbGllbnRSZWN0ID0ge1xuICAgICAgICAgICAgICAgIG9mZnNldFdpZHRoOiBlbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBvZmZzZXRIZWlnaHQ6IGVsLm9mZnNldEhlaWdodCxcbiAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHRoaXMuYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoYm91bmRlZENsaWVudFJlY3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0LnNldChib3VuZGVkQ2xpZW50UmVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5leHBhbmRlZEFmdGVyRGVsYXkoKSkge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuYXYtc2VsZWN0b3ItbGVhZlwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImxlYWYoKS5zZWxlY3RlZFwiXG4gICAgICAgIFthcFRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnQoKVwiXG4gICAgICAgIFthcFRvb2x0aXBEaXNhYmxlZF09XCJ0b29sdGlwRGlzYWJsZWQoKVwiXG4gICAgICAgIFtjbGFzcy5tdWx0aXBsZS1tb2RlXT1cIm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKVwiXG4gICAgICAgIFtjbGFzcy5mZWF0dXJlLWxvY2tlZF09XCJsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWRcIlxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLnRva2VuLWVycm9yXT1cImxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxlYWYoKS5kaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5kZXRhaWwtc2VsZWN0ZWRdPVwibGVhZigpLmRldGFpbFNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLmFjdGlvbnMtZGlzcGxheWFibGVdPVwibGVhZigpLmFjdGlvbnNEaXNwbGF5YWJsZSAmJiBsZWFmKCkuZGV0YWlsc0Rpc3BsYXlhYmxlXCJcbiAgICAgICAgW2NsYXNzLmRldGFpbHMtZGlzcGxheWFibGVdPVwibGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZVwiXG4gICAgICAgIFthcFRyZWVOb2RlQWNjZXNzaWJpbGl0eV09XCJsZWFmKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblNwYWNlT3JFbnRlclByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzaW4pPVwiZm9jdXNlZC5zZXQodHJ1ZSlcIlxuICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNlZC5zZXQoZmFsc2UpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICBAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgPGFwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25hbWVdPVwibGVhZigpLnVpZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCJsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhbGVhZigpLnNlbGVjdGFibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJldmVudFN0b3BwZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrYm94VG9nZ2xlKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxhcC1hdmF0YXJcbiAgICAgICAgICAgIHNpemU9XCIyNFwiXG4gICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwibGVhZigpLnBpY3R1cmVVcmwgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgIFtuZXR3b3JrXT1cIiRhbnkobGVhZigpLm5ldHdvcmspXCJcbiAgICAgICAgICAgIFtzaG93SW5pdGlhbHNdPVwiaW5pdGlhbCgpXCIgLz5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgI2FsaWFzXG4gICAgICAgICAgICBjbGFzcz1cImNhcHRpb25cIj5cbiAgICAgICAgICAgIHt7IGxlYWYoKS5hbGlhcyB9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwic3RhbmRhbG9uZSBvbmx5LWJ1dHRvblwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlbGVjdCBvbmx5ICcgKyBsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwic2VsZWN0T25seSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNlbGVjdE9ubHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tPblNlbGVjdE9ubHkoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnRleHRzKCkub25seSB9fVxuICAgICAgICA8L2E+XG5cbiAgICAgICAgQGxldCBhY3Rpb25Qcm9qZWN0aW9uID0gbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmxlYWZBY3Rpb25Qcm9qZWN0aW9uKCk7XG4gICAgICAgIEBpZiAoYWN0aW9uUHJvamVjdGlvbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLW1lbnVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJtb3JlXCJcbiAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FjdGlvbiBtZW51ICcgKyBsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJdPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlck1vZGVdPVwieyBjbGljazogdHJ1ZSwga2V5Ym9hcmQ6IFsnU3BhY2UnLCAnRW50ZXInXSB9XCIgLz5cblxuICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyXG4gICAgICAgICAgICAgICAgI3BvcG92ZXJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21fc3RhcnRcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uUHJvamVjdGlvbjsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpZDogbGVhZigpLnVpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXAtbmF2LXNlbGVjdG9yLXBvcG92ZXI+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGxlYWYoKS5mb2xkYWJsZSkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9sZGluZy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImxlYWYoKS5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIGxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cImZvbGRTeW1ib2woKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrT25Ub2dnbGVGb2xkaW5nKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cInRvZ2dsZUZvbGRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwidG9nZ2xlRm9sZGluZygkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5Q291bnRlcikge1xuICAgICAgICAgICAgPGFwLWNvdW50ZXJcbiAgICAgICAgICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgW2JhY2tncm91bmRdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICB7eyBsZWFmKCkuY291bnRlciB9fVxuICAgICAgICAgICAgPC9hcC1jb3VudGVyPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobGVhZigpLmRpc3BsYXlUb2tlbkludmFsaWQpIHtcbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWQpIHtcbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZmVhdHVyZS1sb2NrXCIgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRldGFpbHMtY29udGFpbmVyXCJcbiAgICAgICAgW0BhY2NvcmRpb25dPVwie1xuICAgICAgICAgICAgdmFsdWU6IGFuaW1hdGlvblN0YXRlKCksXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IG1heEhlaWdodCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cIj5cbiAgICAgICAgQGlmICghZm9sZGVkV2l0aERlbGF5KCkpIHtcbiAgICAgICAgICAgIDxhcC1uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzXG4gICAgICAgICAgICAgICAgW2RldGFpbHNdPVwibGVhZigpLmRldGFpbHNcIlxuICAgICAgICAgICAgICAgIFtsZWFmXT1cImxlYWYoKVwiIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn0gQGVsc2Uge1xuICAgIDxkaXZcbiAgICAgICAgI21pbmlmaWVkXG4gICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yLWxlYWZcIlxuICAgICAgICBhcFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlcl09XCJtaW5pZmllZFBvcG92ZXJcIlxuICAgICAgICBbYXBOYXZTZWxlY3RvclBvcG92ZXJEaXNhYmxlZF09XCIhbGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZVwiXG4gICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJNb2RlXT1cInsgY2xpY2s6IGZhbHNlLCBob3ZlcjogdHJ1ZSB9XCJcbiAgICAgICAgW2NsYXNzLmZlYXR1cmUtbG9ja2VkXT1cImxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZFwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJsZWFmKCkuc2VsZWN0ZWQgfHwgbGVhZigpLmRldGFpbFNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLnRva2VuLWVycm9yXT1cImxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkXCJcbiAgICAgICAgW2NsYXNzLm11bHRpcGxlLW1vZGVdPVwibmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxlYWYoKS5kaXNhYmxlZFwiXG4gICAgICAgIFthcFRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnQoKVwiXG4gICAgICAgIFthcFRvb2x0aXBEaXNhYmxlZF09XCJ0b29sdGlwRGlzYWJsZWQoKVwiXG4gICAgICAgIFthcFRyZWVOb2RlQWNjZXNzaWJpbGl0eV09XCJsZWFmKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblNwYWNlT3JFbnRlclByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICBAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgPGFwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25hbWVdPVwibGVhZigpLnVpZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWxlYWYoKS5zZWxlY3RhYmxlXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICAgICAgc2l6ZT1cIjI0XCJcbiAgICAgICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwibGVhZigpLnBpY3R1cmVVcmwgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICBbbmV0d29ya109XCIkYW55KGxlYWYoKS5uZXR3b3JrKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJpbml0aWFsKClcIiAvPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLWNvdW50ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnRlci1vdmVycmlkZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpZl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxlYWYoKS5jb3VudGVyIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYXAtY291bnRlcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheVRva2VuSW52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJlcnJvcl9maWxsXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZmVhdHVyZS1sb2NrXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyXG4gICAgICAgICAgICAjbWluaWZpZWRQb3BvdmVyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICBbcG9wb3ZlclRpdGxlXT1cImxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICBbb2Zmc2V0XT1cInsgbWFpbkF4aXM6IDAsIGNyb3NzQXhpczogLTM2LjUgfVwiPlxuICAgICAgICAgICAgQGZvciAoZGV0YWlsIG9mIGxlYWYoKS5kZXRhaWxzOyB0cmFjayBkZXRhaWwudWlkKSB7XG4gICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaXRlbVxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiZGV0YWlsLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRldGFpbC5kaXNwbGF5RXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJkZXRhaWwuYWxpYXNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZXRhaWxDbGlja2VkKCRldmVudCwgZGV0YWlsKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1iZWRkZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV0YWlsXT1cImRldGFpbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9hcC1uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2FwLW5hdi1zZWxlY3Rvci1wb3BvdmVyPlxuICAgIDwvZGl2PlxufVxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYvbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBRU4sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZC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WyJpbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2F2YXRhcic7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvY291bnRlcic7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGFwQ2hldnJvbkRvd24sIGFwQ2hldnJvblVwLCBhcEVycm9yRmlsbCwgYXBGZWF0dXJlTG9jaywgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBhcE1vcmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wvaWNvbnMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwga2V5ZnJhbWVzLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgYWZ0ZXJSZW5kZXIsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGlucHV0LFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25hdi1zZWxlY3Rvci1wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyZWVOb2RlQWNjZXNzaWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvdHJlZS1ub2RlLWFjY2Vzc2liaWxpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHMgfSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JMZWFmRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbHMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2U2VsZWN0b3JQb3BvdmVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1wb3BvdmVyL25hdi1zZWxlY3Rvci1wb3BvdmVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNlbGVjdG9yUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL25hdi1zZWxlY3Rvci1wb3BvdmVyL25hdi1zZWxlY3Rvci1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIgfSBmcm9tICcuL25hdi1zZWxlY3Rvci1sZWFmLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtc2VsZWN0b3ItbGVhZi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LXNlbGVjdG9yLWxlYWYuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQXZhdGFyQ29tcG9uZW50LFxuICAgICAgICBDb3VudGVyQ29tcG9uZW50LFxuICAgICAgICBTeW1ib2xDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkRldGFpbHNDb21wb25lbnQsXG4gICAgICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBOYXZTZWxlY3RvckxlYWZEZXRhaWxDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlLFxuICAgICAgICBOYXZTZWxlY3RvclBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gICAgICAgIE5hdlNlbGVjdG9yUG9wb3Zlckl0ZW1Db21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFt3aXRoU3ltYm9scyhhcEVycm9yRmlsbCwgYXBGZWF0dXJlTG9jaywgYXBDaGV2cm9uRG93biwgYXBDaGV2cm9uVXAsIGFwTW9yZSksIE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlcl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLm1pbmlmaWVkXSc6ICchbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmV4cGFuZGVkKCknLFxuICAgICAgICByb2xlOiAndHJlZWl0ZW0nLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dMZWZ0KSc6ICdmb2xkKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dSaWdodCknOiAndW5mb2xkKCRldmVudCknLFxuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICAvKipcbiAgICAgICAgICogT3ZlcmZsb3cgaGlkZGVuIGlzIHB1dCBvbmx5IGR1cmluZyB0aGUgYW5pbWF0aW9uIGFuZCBvbiB0aGUgY29sbGFwc2VkIHN0YXRlIGJlY2F1c2UgaWYgaXQgaXMgcHV0IG9uIHRoZSBleHBhbmRlZCBzdGF0ZSB0aGVuIGNoaWxkcmVu4oCZcyBib3JkZXIgd2lsbCBiZSBjdXQgKGhvdmVyIC8gZm9jdXMpXG4gICAgICAgICAqL1xuICAgICAgICB0cmlnZ2VyKCdhY2NvcmRpb24nLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnY29sbGFwc2VkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogJ2luaXRpYWwnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzI1MG1zIGN1YmljLWJlemllciguNCwgMCwgLjMsIDEpJywgc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgICAgICcyNTBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4zLCAxKScsXG4gICAgICAgICAgICAgICAgICAgIGtleWZyYW1lcyhbc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicsIG1heEhlaWdodDogJ3t7bWF4SGVpZ2h0fX0nIH0pLCBzdHlsZSh7IG1heEhlaWdodDogMCB9KV0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckxlYWZDb21wb25lbnQge1xuICAgIGxlYWYgPSBpbnB1dC5yZXF1aXJlZDxJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZj4oKTtcblxuICAgIGluaXRpYWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxlYWYoKS5hbGlhc1swXS50b1VwcGVyQ2FzZSgpKTtcbiAgICBmb2xkU3ltYm9sID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubGVhZigpLmZvbGRlZCA/ICdjaGV2cm9uLWRvd24nIDogJ2NoZXZyb24tdXAnKSk7XG5cbiAgICBmb2N1c2VkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIGFsaWFzRWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ2FsaWFzJyk7XG4gICAgYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCA9IHNpZ25hbDx7XG4gICAgICAgIG9mZnNldFdpZHRoOiBudW1iZXI7XG4gICAgICAgIG9mZnNldEhlaWdodDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxXaWR0aDogbnVtYmVyO1xuICAgICAgICBzY3JvbGxIZWlnaHQ6IG51bWJlcjtcbiAgICB9Pih7XG4gICAgICAgIG9mZnNldFdpZHRoOiAwLFxuICAgICAgICBvZmZzZXRIZWlnaHQ6IDAsXG4gICAgICAgIHNjcm9sbFdpZHRoOiAwLFxuICAgICAgICBzY3JvbGxIZWlnaHQ6IDAsXG4gICAgfSk7XG5cbiAgICB0b29sdGlwQ29udGVudCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IFtdO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmICghdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIuZXhwYW5kZWQoKSB8fCBlbC5vZmZzZXRXaWR0aCA8IGVsLnNjcm9sbFdpZHRoIHx8IGVsLm9mZnNldEhlaWdodCA8IGVsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKHRoaXMubGVhZigpLmFsaWFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpc2FibGVSZWFzb24gPSB0aGlzLmxlYWYoKS5kaXNhYmxlUmVhc29uO1xuICAgICAgICBpZiAoZGlzYWJsZVJlYXNvbikge1xuICAgICAgICAgICAgY29udGVudC5wdXNoKGRpc2FibGVSZWFzb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubGVhZigpLmRpc3BsYXlGZWF0dXJlTG9ja2VkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS5mZWF0dXJlTG9ja2VkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkKSB7XG4gICAgICAgICAgICBjb250ZW50LnB1c2godGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIudGV4dHMoKS50b2tlbkludmFsaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQuam9pbignPGJyPicpO1xuICAgIH0pO1xuICAgIHRvb2x0aXBEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLnRvb2x0aXBDb250ZW50KCkubGVuZ3RoIHx8IHRoaXMubGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZSk7XG5cbiAgICBmb2xkZWRXaXRoRGVsYXkgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgbmV0d29yayA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmxlYWYoKS5uZXR3b3JrID8gdGhpcy5sZWFmKCkubmV0d29yayA6IHVuZGVmaW5lZCkpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBuYXZTZWxlY3RvckxlYWZQcmVzZW50ZXI6IE5hdlNlbGVjdG9yTGVhZlByZXNlbnRlclxuICAgICkge1xuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tYXhIZWlnaHQuc2V0KGAke3RoaXMuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgKiB0aGlzLmxlYWYoKS5kZXRhaWxzLmxlbmd0aH1weGApO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFmdGVyUmVuZGVyKCgpID0+IHVudHJhY2tlZCgoKSA9PiB0aGlzLnVwZGF0ZUFsaWFzQm91bmRlZENsaWVudFJlY3QoKSkpO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb2xkZWQgPSB0aGlzLmxlYWYoKS5mb2xkZWQ7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvbGRlZFdpdGhEZWxheS5zZXQodHJ1ZSksIDE1MCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2xkZWRXaXRoRGVsYXkuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uU3RhdGUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sZWFmKCkuZm9sZGVkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnKSk7XG5cbiAgICBtYXhIZWlnaHQgPSBzaWduYWwoJzBweCcpO1xuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdExlYWYodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZUZvbGRpbmcoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZUb2dnbGVGb2xkaW5nKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBjbGlja09uVG9nZ2xlRm9sZGluZyhldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIFJlbW92ZSB0aGUgZm9jdXMgZnJvbSB0aGUgdG9nZ2xlIGZvbGRpbmcgc28gd2UgZG8gbm90IGhhdmUgdGhlIDpmb2N1cy13aXRoaW4gc3R5bGUgb24gdGhlIGxlYWZcbiAgICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgJ2JsdXInIGluIGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgdHlwZW9mIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1ciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uYXZTZWxlY3RvckxlYWZQcmVzZW50ZXIub25MZWFmVG9nZ2xlRm9sZGluZyh0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0T25seShldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIChldmVudC50YXJnZXQgYXMgRWxlbWVudCkuYmx1cigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RPbmx5TGVhZih0aGlzLmxlYWYoKSk7XG4gICAgfVxuXG4gICAgY2xpY2tPblNlbGVjdE9ubHkoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAvLyBSZW1vdmUgdGhlIGZvY3VzIGZyb20gdGhlIHNlbGVjdCBvbmx5IHNvIHdlIGRvIG5vdCBoYXZlIHRoZSA6Zm9jdXMtd2l0aGluIHN0eWxlIG9uIHRoZSBsZWFmXG4gICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ICYmICdibHVyJyBpbiBldmVudC5jdXJyZW50VGFyZ2V0ICYmIHR5cGVvZiBldmVudC5jdXJyZW50VGFyZ2V0LmJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuYmx1cigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnNlbGVjdE9ubHlMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3IgY2hlY2tib3hlcywgYXMgdGhleSBkbyBub3Qgc3RvcCBldmVudCBwcm9wYWdhdGlvbiwgd2UgbmVlZCB0byBzdG9wIGl0IG1hbnVhbGx5XG4gICAgICovXG4gICAgZXZlbnRTdG9wcGVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94VG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICBvblNwYWNlT3JFbnRlclByZXNzZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uYXYtc2VsZWN0b3ItbGVhZicpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sZWFmKCkuZm9sZGFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZUZvbGRpbmcoZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5zZWxlY3RMZWFmKHRoaXMubGVhZigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5mb2xkKHRoaXMubGVhZigpKTtcbiAgICB9XG5cbiAgICB1bmZvbGQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci51bmZvbGQodGhpcy5sZWFmKCkpO1xuICAgIH1cblxuICAgIG9uRGV0YWlsQ2xpY2tlZChldmVudDogRXZlbnQsIGRldGFpbDogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzKSB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKGRldGFpbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBbGlhc0JvdW5kZWRDbGllbnRSZWN0KCkge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMuYWxpYXNFbCgpPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kZWRDbGllbnRSZWN0ID0ge1xuICAgICAgICAgICAgICAgIG9mZnNldFdpZHRoOiBlbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgICBvZmZzZXRIZWlnaHQ6IGVsLm9mZnNldEhlaWdodCxcbiAgICAgICAgICAgICAgICBzY3JvbGxXaWR0aDogZWwuc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHRoaXMuYWxpYXNCb3VuZGVkQ2xpZW50UmVjdCgpKSAhPT0gSlNPTi5zdHJpbmdpZnkoYm91bmRlZENsaWVudFJlY3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGlhc0JvdW5kZWRDbGllbnRSZWN0LnNldChib3VuZGVkQ2xpZW50UmVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5leHBhbmRlZEFmdGVyRGVsYXkoKSkge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuYXYtc2VsZWN0b3ItbGVhZlwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImxlYWYoKS5zZWxlY3RlZFwiXG4gICAgICAgIFthcFRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnQoKVwiXG4gICAgICAgIFthcFRvb2x0aXBEaXNhYmxlZF09XCJ0b29sdGlwRGlzYWJsZWQoKVwiXG4gICAgICAgIFtjbGFzcy5tdWx0aXBsZS1tb2RlXT1cIm5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKVwiXG4gICAgICAgIFtjbGFzcy5mZWF0dXJlLWxvY2tlZF09XCJsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWRcIlxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLnRva2VuLWVycm9yXT1cImxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxlYWYoKS5kaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5kZXRhaWwtc2VsZWN0ZWRdPVwibGVhZigpLmRldGFpbFNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLmFjdGlvbnMtZGlzcGxheWFibGVdPVwibGVhZigpLmFjdGlvbnNEaXNwbGF5YWJsZSAmJiBsZWFmKCkuZGV0YWlsc0Rpc3BsYXlhYmxlXCJcbiAgICAgICAgW2NsYXNzLmRldGFpbHMtZGlzcGxheWFibGVdPVwibGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZVwiXG4gICAgICAgIFthcFRyZWVOb2RlQWNjZXNzaWJpbGl0eV09XCJsZWFmKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblNwYWNlT3JFbnRlclByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzaW4pPVwiZm9jdXNlZC5zZXQodHJ1ZSlcIlxuICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNlZC5zZXQoZmFsc2UpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICBAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgPGFwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25hbWVdPVwibGVhZigpLnVpZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCJsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhbGVhZigpLnNlbGVjdGFibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJldmVudFN0b3BwZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrYm94VG9nZ2xlKClcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxhcC1hdmF0YXJcbiAgICAgICAgICAgIHNpemU9XCIyNFwiXG4gICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwibGVhZigpLnBpY3R1cmVVcmwgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgIFtuZXR3b3JrXT1cIiRhbnkobGVhZigpLm5ldHdvcmspXCJcbiAgICAgICAgICAgIFtzaG93SW5pdGlhbHNdPVwiaW5pdGlhbCgpXCIgLz5cblxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgI2FsaWFzXG4gICAgICAgICAgICBjbGFzcz1cImNhcHRpb25cIj5cbiAgICAgICAgICAgIHt7IGxlYWYoKS5hbGlhcyB9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwic3RhbmRhbG9uZSBvbmx5LWJ1dHRvblwiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlbGVjdCBvbmx5ICcgKyBsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwic2VsZWN0T25seSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInNlbGVjdE9ubHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tPblNlbGVjdE9ubHkoJGV2ZW50KVwiPlxuICAgICAgICAgICAge3sgbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLnRleHRzKCkub25seSB9fVxuICAgICAgICA8L2E+XG5cbiAgICAgICAgQGxldCBhY3Rpb25Qcm9qZWN0aW9uID0gbmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmxlYWZBY3Rpb25Qcm9qZWN0aW9uKCk7XG4gICAgICAgIEBpZiAoYWN0aW9uUHJvamVjdGlvbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25zLW1lbnVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJtb3JlXCJcbiAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwibGVhZigpLmFjY2Vzc2liaWxpdHkudGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FjdGlvbiBtZW51ICcgKyBsZWFmKCkuYWxpYXNcIlxuICAgICAgICAgICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJdPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlck1vZGVdPVwieyBjbGljazogdHJ1ZSwga2V5Ym9hcmQ6IFsnU3BhY2UnLCAnRW50ZXInXSB9XCIgLz5cblxuICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyXG4gICAgICAgICAgICAgICAgI3BvcG92ZXJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21fc3RhcnRcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uUHJvamVjdGlvbjsgdHJhY2sgYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpZDogbGVhZigpLnVpZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXAtbmF2LXNlbGVjdG9yLXBvcG92ZXI+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGxlYWYoKS5mb2xkYWJsZSkge1xuICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9sZGluZy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImxlYWYoKS5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIGxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cImZvbGRTeW1ib2woKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrT25Ub2dnbGVGb2xkaW5nKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cInRvZ2dsZUZvbGRpbmcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwidG9nZ2xlRm9sZGluZygkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGxlYWYoKS5kaXNwbGF5Q291bnRlcikge1xuICAgICAgICAgICAgPGFwLWNvdW50ZXJcbiAgICAgICAgICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgW2JhY2tncm91bmRdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICB7eyBsZWFmKCkuY291bnRlciB9fVxuICAgICAgICAgICAgPC9hcC1jb3VudGVyPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobGVhZigpLmRpc3BsYXlUb2tlbkludmFsaWQpIHtcbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWQpIHtcbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZmVhdHVyZS1sb2NrXCIgLz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRldGFpbHMtY29udGFpbmVyXCJcbiAgICAgICAgW0BhY2NvcmRpb25dPVwie1xuICAgICAgICAgICAgdmFsdWU6IGFuaW1hdGlvblN0YXRlKCksXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IG1heEhlaWdodCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cIj5cbiAgICAgICAgQGlmICghZm9sZGVkV2l0aERlbGF5KCkpIHtcbiAgICAgICAgICAgIDxhcC1uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWxzXG4gICAgICAgICAgICAgICAgW2RldGFpbHNdPVwibGVhZigpLmRldGFpbHNcIlxuICAgICAgICAgICAgICAgIFtsZWFmXT1cImxlYWYoKVwiIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn0gQGVsc2Uge1xuICAgIDxkaXZcbiAgICAgICAgI21pbmlmaWVkXG4gICAgICAgIGNsYXNzPVwibmF2LXNlbGVjdG9yLWxlYWZcIlxuICAgICAgICBhcFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgW2FwTmF2U2VsZWN0b3JQb3BvdmVyVHJpZ2dlcl09XCJtaW5pZmllZFBvcG92ZXJcIlxuICAgICAgICBbYXBOYXZTZWxlY3RvclBvcG92ZXJEaXNhYmxlZF09XCIhbGVhZigpLmRldGFpbHNEaXNwbGF5YWJsZVwiXG4gICAgICAgIFthcE5hdlNlbGVjdG9yUG9wb3ZlclRyaWdnZXJNb2RlXT1cInsgY2xpY2s6IGZhbHNlLCBob3ZlcjogdHJ1ZSB9XCJcbiAgICAgICAgW2NsYXNzLmZlYXR1cmUtbG9ja2VkXT1cImxlYWYoKS5kaXNwbGF5RmVhdHVyZUxvY2tlZFwiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJsZWFmKCkuc2VsZWN0ZWQgfHwgbGVhZigpLmRldGFpbFNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLnRva2VuLWVycm9yXT1cImxlYWYoKS5kaXNwbGF5VG9rZW5JbnZhbGlkXCJcbiAgICAgICAgW2NsYXNzLm11bHRpcGxlLW1vZGVdPVwibmF2U2VsZWN0b3JMZWFmUHJlc2VudGVyLmlzTXVsdGlwbGVNb2RlRW5hYmxlZCgpXCJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxlYWYoKS5kaXNhYmxlZFwiXG4gICAgICAgIFthcFRvb2x0aXBdPVwidG9vbHRpcENvbnRlbnQoKVwiXG4gICAgICAgIFthcFRvb2x0aXBEaXNhYmxlZF09XCJ0b29sdGlwRGlzYWJsZWQoKVwiXG4gICAgICAgIFthcFRyZWVOb2RlQWNjZXNzaWJpbGl0eV09XCJsZWFmKClcIlxuICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvblNwYWNlT3JFbnRlclByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uU3BhY2VPckVudGVyUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICBAaWYgKG5hdlNlbGVjdG9yTGVhZlByZXNlbnRlci5pc011bHRpcGxlTW9kZUVuYWJsZWQoKSkge1xuICAgICAgICAgICAgPGFwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25hbWVdPVwibGVhZigpLnVpZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwibGVhZigpLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWxlYWYoKS5zZWxlY3RhYmxlXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8YXAtYXZhdGFyXG4gICAgICAgICAgICAgICAgc2l6ZT1cIjI0XCJcbiAgICAgICAgICAgICAgICBbcHJvZmlsZVBpY3R1cmVdPVwibGVhZigpLnBpY3R1cmVVcmwgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICBbbmV0d29ya109XCIkYW55KGxlYWYoKS5uZXR3b3JrKVwiXG4gICAgICAgICAgICAgICAgW3Nob3dJbml0aWFsc109XCJpbml0aWFsKClcIiAvPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLWNvdW50ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnRlci1vdmVycmlkZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpZl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtiYWNrZ3JvdW5kXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxlYWYoKS5jb3VudGVyIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYXAtY291bnRlcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheVRva2VuSW52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJlcnJvcl9maWxsXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChsZWFmKCkuZGlzcGxheUZlYXR1cmVMb2NrZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiZmVhdHVyZS1sb2NrXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyXG4gICAgICAgICAgICAjbWluaWZpZWRQb3BvdmVyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICBbcG9wb3ZlclRpdGxlXT1cImxlYWYoKS5hbGlhc1wiXG4gICAgICAgICAgICBbb2Zmc2V0XT1cInsgbWFpbkF4aXM6IDAsIGNyb3NzQXhpczogLTM2LjUgfVwiPlxuICAgICAgICAgICAgQGZvciAoZGV0YWlsIG9mIGxlYWYoKS5kZXRhaWxzOyB0cmFjayBkZXRhaWwudWlkKSB7XG4gICAgICAgICAgICAgICAgPGFwLW5hdi1zZWxlY3Rvci1wb3BvdmVyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgaXRlbVxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiZGV0YWlsLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRldGFpbC5kaXNwbGF5RXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJkZXRhaWwuYWxpYXNcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZXRhaWxDbGlja2VkKCRldmVudCwgZGV0YWlsKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsXG4gICAgICAgICAgICAgICAgICAgICAgICBbZW1iZWRkZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV0YWlsXT1cImRldGFpbFwiIC8+XG4gICAgICAgICAgICAgICAgPC9hcC1uYXYtc2VsZWN0b3ItcG9wb3Zlci1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2FwLW5hdi1zZWxlY3Rvci1wb3BvdmVyPlxuICAgIDwvZGl2PlxufVxuIl19
@@ -21,7 +21,7 @@ export class NavSelectorLeafDetailComponent {
21
21
  }
22
22
  }
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailComponent, deps: [{ token: i1.NavSelectorLeafDetailPresenter }], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafDetailComponent, isStandalone: true, selector: "ap-nav-selector-leaf-detail", inputs: { detail: { classPropertyName: "detail", publicName: "detail", isSignal: true, isRequired: true, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onClick($event)", "keydown.space": "onClick($event)" }, properties: { "class.selected": "detail().selected", "class.embedded": "embedded()", "class.disabled": "detail().displayError" } }, providers: [withSymbols(apErrorFill), NavSelectorLeafDetailPresenter], hostDirectives: [{ directive: i2.TreeNodeAccessibilityDirective, inputs: ["apTreeNodeAccessibility", "detail"] }], ngImport: i0, template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\"\n apTooltipPosition=\"right\"\n [apTooltip]=\"detail().errorReason\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1}:host.embedded{padding:0}:host.embedded .caption{font-size:var(--ref-font-size-sm)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.disabled .caption{opacity:.5}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "background", "notif"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorLeafDetailComponent, isStandalone: true, selector: "ap-nav-selector-leaf-detail", inputs: { detail: { classPropertyName: "detail", publicName: "detail", isSignal: true, isRequired: true, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)", "keydown.enter": "onClick($event)", "keydown.space": "onClick($event)" }, properties: { "class.selected": "detail().selected", "class.embedded": "embedded()", "class.disabled": "detail().displayError" } }, providers: [withSymbols(apErrorFill), NavSelectorLeafDetailPresenter], hostDirectives: [{ directive: i2.TreeNodeAccessibilityDirective, inputs: ["apTreeNodeAccessibility", "detail"] }], ngImport: i0, template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\"\n apTooltipPosition=\"right\"\n [apTooltip]=\"detail().errorReason\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1}:host.embedded{padding:0}:host.embedded .caption{font-size:var(--ref-font-size-sm)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.disabled .caption{opacity:.5}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "ap-counter", inputs: ["color", "size", "notif", "background", "role"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorLeafDetailComponent, decorators: [{
27
27
  type: Component,
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
40
40
  },
41
41
  ], template: "<span class=\"caption\">{{ detail().alias }}</span>\n\n@if (detail().displayCounter) {\n <ap-counter\n color=\"orange\"\n size=\"normal\"\n [background]=\"false\">\n {{ detail().counter }}\n </ap-counter>\n}\n@if (detail().displayError) {\n <ap-symbol\n size=\"sm\"\n symbolId=\"error_fill\"\n apTooltipPosition=\"right\"\n [apTooltip]=\"detail().errorReason\" />\n}\n", styles: [":host{display:flex;height:32px;padding:0 var(--ref-spacing-xxs);align-items:center;gap:var(--ref-spacing-xxs);align-self:stretch;flex-grow:1}:host.embedded{padding:0}:host.embedded .caption{font-size:var(--ref-font-size-sm)}:host ap-symbol[symbol-id=error_fill]{color:var(--ref-color-red-100)}:host .caption{flex-grow:1;overflow:hidden;color:var(--ref-color-grey-100);text-overflow:ellipsis;white-space:nowrap;font-family:Averta;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-regular);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded){cursor:pointer}:host:not(.disabled):not(.embedded):hover{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10)}:host:not(.disabled):not(.embedded):active{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded):focus-visible{outline:none;border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-10);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host:not(.disabled):not(.embedded).selected{border-radius:var(--ref-border-radius-sm);background:var(--ref-color-electric-blue-20)}:host:not(.disabled):not(.embedded).selected .caption{overflow:hidden;color:var(--ref-color-electric-blue-150);text-overflow:ellipsis;white-space:nowrap;font-size:var(--ref-font-size-xs);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-xs)}:host:not(.disabled):not(.embedded).selected:focus-visible{box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}:host.disabled .caption{opacity:.5}:host.embedded.selected .caption{color:var(--ref-color-electric-blue-150);font-size:var(--ref-font-size-sm);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm)}\n"] }]
42
42
  }], ctorParameters: () => [{ type: i1.NavSelectorLeafDetailPresenter }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQTBCdEYsTUFBTSxPQUFPLDhCQUE4QjtJQUtwQjtJQUpuQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0MsQ0FBQztJQUUxRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFlBQW1CLDhCQUE4RDtRQUE5RCxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQUcsQ0FBQztJQUVyRixPQUFPLENBQUMsS0FBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDTCxDQUFDO3VHQVpRLDhCQUE4QjsyRkFBOUIsOEJBQThCLGdsQkFqQjVCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLDhCQUE4QixDQUFDLDZJQ2Z6RSxtYkFpQkEsbzhEREhjLGdCQUFnQix5R0FBRSxlQUFlLHNIQUFFLGdCQUFnQjs7MkZBa0JwRCw4QkFBOEI7a0JBeEIxQyxTQUFTOytCQUNJLDZCQUE2QixjQUczQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsYUFDbkQsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsOEJBQThCLENBQUMsUUFDL0Q7d0JBQ0YsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsa0JBQWtCLEVBQUUsbUJBQW1CO3dCQUN2QyxrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7d0JBQzNDLGlCQUFpQixFQUFFLGlCQUFpQjt3QkFDcEMsaUJBQWlCLEVBQUUsaUJBQWlCO3FCQUN2QyxrQkFDZTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsOEJBQThCOzRCQUN6Qyx5SEFBeUg7NEJBQ3pILE1BQU0sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO3lCQUM5QztxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50ZXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NvdW50ZXInO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBhcEVycm9yRmlsbCwgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90cmVlLW5vZGUtYWNjZXNzaWJpbGl0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlciB9IGZyb20gJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb3VudGVyQ29tcG9uZW50LCBTeW1ib2xDb21wb25lbnQsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW3dpdGhTeW1ib2xzKGFwRXJyb3JGaWxsKSwgTmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ2RldGFpbCgpLnNlbGVjdGVkJyxcbiAgICAgICAgJ1tjbGFzcy5lbWJlZGRlZF0nOiAnZW1iZWRkZWQoKScsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2RldGFpbCgpLmRpc3BsYXlFcnJvcicsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlciknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duLnNwYWNlKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgIH0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUcmVlTm9kZUFjY2Vzc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgICAgICAgICAvLyBBbGlhcyB0aGUgaW5wdXQgb2YgdGhlIGRpcmVjdGl2ZSB0byBkZXRhaWwgdGhlIGlucHV0IGRldGFpbCB3aWxsIGJlIHVzZWQgaW4gdGhlIGRpcmVjdGl2ZSBhbmQgaW4gdGhlIGNvbXBvbmVudCBhcyB3ZWxsXG4gICAgICAgICAgICBpbnB1dHM6IFsnYXBUcmVlTm9kZUFjY2Vzc2liaWxpdHk6IGRldGFpbCddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCB7XG4gICAgZGV0YWlsID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzPigpO1xuXG4gICAgZW1iZWRkZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyOiBOYXZTZWxlY3RvckxlYWZEZXRhaWxQcmVzZW50ZXIpIHt9XG5cbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZW1iZWRkZWQoKSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKHRoaXMuZGV0YWlsKCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCI+e3sgZGV0YWlsKCkuYWxpYXMgfX08L3NwYW4+XG5cbkBpZiAoZGV0YWlsKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICA8YXAtY291bnRlclxuICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICB7eyBkZXRhaWwoKS5jb3VudGVyIH19XG4gICAgPC9hcC1jb3VudGVyPlxufVxuQGlmIChkZXRhaWwoKS5kaXNwbGF5RXJyb3IpIHtcbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXBUb29sdGlwXT1cImRldGFpbCgpLmVycm9yUmVhc29uXCIgLz5cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25hdi1zZWxlY3Rvci9zcmMvbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsL25hdi1zZWxlY3Rvci1sZWFmLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQTBCdEYsTUFBTSxPQUFPLDhCQUE4QjtJQUtwQjtJQUpuQixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0MsQ0FBQztJQUUxRCxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhCLFlBQW1CLDhCQUE4RDtRQUE5RCxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQUcsQ0FBQztJQUVyRixPQUFPLENBQUMsS0FBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDTCxDQUFDO3VHQVpRLDhCQUE4QjsyRkFBOUIsOEJBQThCLGdsQkFqQjVCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLDhCQUE4QixDQUFDLDZJQ2Z6RSxtYkFpQkEsbzhEREhjLGdCQUFnQixpSEFBRSxlQUFlLHNIQUFFLGdCQUFnQjs7MkZBa0JwRCw4QkFBOEI7a0JBeEIxQyxTQUFTOytCQUNJLDZCQUE2QixjQUczQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsYUFDbkQsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsOEJBQThCLENBQUMsUUFDL0Q7d0JBQ0YsU0FBUyxFQUFFLGlCQUFpQjt3QkFDNUIsa0JBQWtCLEVBQUUsbUJBQW1CO3dCQUN2QyxrQkFBa0IsRUFBRSxZQUFZO3dCQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7d0JBQzNDLGlCQUFpQixFQUFFLGlCQUFpQjt3QkFDcEMsaUJBQWlCLEVBQUUsaUJBQWlCO3FCQUN2QyxrQkFDZTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsOEJBQThCOzRCQUN6Qyx5SEFBeUg7NEJBQ3pILE1BQU0sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO3lCQUM5QztxQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvdW50ZXJDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2NvdW50ZXInO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBhcEVycm9yRmlsbCwgU3ltYm9sQ29tcG9uZW50LCB3aXRoU3ltYm9scyB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZU5vZGVBY2Nlc3NpYmlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy90cmVlLW5vZGUtYWNjZXNzaWJpbGl0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzIH0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IE5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlciB9IGZyb20gJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLnByZXNlbnRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LXNlbGVjdG9yLWxlYWYtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXYtc2VsZWN0b3ItbGVhZi1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb3VudGVyQ29tcG9uZW50LCBTeW1ib2xDb21wb25lbnQsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW3dpdGhTeW1ib2xzKGFwRXJyb3JGaWxsKSwgTmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ2RldGFpbCgpLnNlbGVjdGVkJyxcbiAgICAgICAgJ1tjbGFzcy5lbWJlZGRlZF0nOiAnZW1iZWRkZWQoKScsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2RldGFpbCgpLmRpc3BsYXlFcnJvcicsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlciknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duLnNwYWNlKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgIH0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUcmVlTm9kZUFjY2Vzc2liaWxpdHlEaXJlY3RpdmUsXG4gICAgICAgICAgICAvLyBBbGlhcyB0aGUgaW5wdXQgb2YgdGhlIGRpcmVjdGl2ZSB0byBkZXRhaWwgdGhlIGlucHV0IGRldGFpbCB3aWxsIGJlIHVzZWQgaW4gdGhlIGRpcmVjdGl2ZSBhbmQgaW4gdGhlIGNvbXBvbmVudCBhcyB3ZWxsXG4gICAgICAgICAgICBpbnB1dHM6IFsnYXBUcmVlTm9kZUFjY2Vzc2liaWxpdHk6IGRldGFpbCddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTGVhZkRldGFpbENvbXBvbmVudCB7XG4gICAgZGV0YWlsID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzPigpO1xuXG4gICAgZW1iZWRkZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbmF2U2VsZWN0b3JMZWFmRGV0YWlsUHJlc2VudGVyOiBOYXZTZWxlY3RvckxlYWZEZXRhaWxQcmVzZW50ZXIpIHt9XG5cbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZW1iZWRkZWQoKSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLm5hdlNlbGVjdG9yTGVhZkRldGFpbFByZXNlbnRlci5vbkxlYWZEZXRhaWxDbGlja2VkKHRoaXMuZGV0YWlsKCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCI+e3sgZGV0YWlsKCkuYWxpYXMgfX08L3NwYW4+XG5cbkBpZiAoZGV0YWlsKCkuZGlzcGxheUNvdW50ZXIpIHtcbiAgICA8YXAtY291bnRlclxuICAgICAgICBjb2xvcj1cIm9yYW5nZVwiXG4gICAgICAgIHNpemU9XCJub3JtYWxcIlxuICAgICAgICBbYmFja2dyb3VuZF09XCJmYWxzZVwiPlxuICAgICAgICB7eyBkZXRhaWwoKS5jb3VudGVyIH19XG4gICAgPC9hcC1jb3VudGVyPlxufVxuQGlmIChkZXRhaWwoKS5kaXNwbGF5RXJyb3IpIHtcbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHN5bWJvbElkPVwiZXJyb3JfZmlsbFwiXG4gICAgICAgIGFwVG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIlxuICAgICAgICBbYXBUb29sdGlwXT1cImRldGFpbCgpLmVycm9yUmVhc29uXCIgLz5cbn1cbiJdfQ==