@skyux/flyout 13.2.0 → 13.3.1
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.
|
@@ -715,7 +715,7 @@ class SkyFlyoutComponent {
|
|
|
715
715
|
});
|
|
716
716
|
}
|
|
717
717
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
718
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: SkyFlyoutComponent, isStandalone: true, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [SkyFlyoutAdapterService], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n #flyoutRef\n class=\"sky-flyout\"\n skyResponsiveHost\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n (@flyoutState.done)=\"animationDone($event)\"\n>\n <div\n #flyoutHeader\n class=\"sky-flyout-header\"\n [style.z-index]=\"zIndex$ | async\"\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconName=\"re-order-dots-vertical\"\n iconSize=\"s\"\n />\n </button>\n\n @if (config.showIterator) {\n <sky-flyout-iterator\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n />\n }\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\" />\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\" />\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon iconName=\"close\" />\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n @if (permalink) {\n @if (permalink.url) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n } @else if (permalink.route) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n }\n }\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n @if (primaryAction && primaryAction.callback) {\n <button\n type=\"button\"\n class=\"sky-btn sky-flyout-btn-primary-action\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n }\n</ng-template>\n", styles: [".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, 0px))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: SkyResponsiveHostDirective, selector: "[skyResponsiveHost]", exportAs: ["skyResponsiveHost"] }, { kind: "ngmodule", type: SkyHrefModule }, { kind: "directive", type: i4.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i1$1.λ1, selector: "sky-icon", inputs: ["iconName", "variant", "iconSize"] }, { kind: "component", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i6.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i6.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
718
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: SkyFlyoutComponent, isStandalone: true, selector: "sky-flyout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [SkyFlyoutAdapterService], viewQueries: [{ propertyName: "flyoutRef", first: true, predicate: ["flyoutRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n #flyoutRef\n class=\"sky-flyout\"\n skyResponsiveHost\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n (@flyoutState.done)=\"animationDone($event)\"\n>\n <div\n #flyoutHeader\n class=\"sky-flyout-header\"\n [style.z-index]=\"zIndex$ | async\"\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconName=\"re-order-dots-vertical\"\n iconSize=\"s\"\n />\n </button>\n\n @if (config.showIterator) {\n <sky-flyout-iterator\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n />\n }\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\" />\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\" />\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon iconName=\"close\" />\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n @if (permalink) {\n @if (permalink.url) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n } @else if (permalink.route) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n }\n }\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n @if (primaryAction && primaryAction.callback) {\n <button\n type=\"button\"\n class=\"sky-btn sky-flyout-btn-primary-action\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n }\n</ng-template>\n", styles: [".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, calc(var(--sky-size-icon-m) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-flyout-header-space-inset-top) + var(--sky-comp-flyout-header-space-inset-bottom) + var(--sky-border-width-divider))))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: SkyResponsiveHostDirective, selector: "[skyResponsiveHost]", exportAs: ["skyResponsiveHost"] }, { kind: "ngmodule", type: SkyHrefModule }, { kind: "directive", type: i4.λ1, selector: "[skyHref]", inputs: ["skyHref", "queryParams", "skyHrefElse"], outputs: ["skyHrefChange"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i1$1.λ1, selector: "sky-icon", inputs: ["iconName", "variant", "iconSize"] }, { kind: "component", type: SkyFlyoutIteratorComponent, selector: "sky-flyout-iterator", inputs: ["nextButtonDisabled", "previousButtonDisabled"], outputs: ["previousButtonClick", "nextButtonClick"] }, { kind: "ngmodule", type: SkyFlyoutResourcesModule }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i6.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i6.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
|
|
719
719
|
trigger('flyoutState', [
|
|
720
720
|
state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),
|
|
721
721
|
state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),
|
|
@@ -749,7 +749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
749
749
|
SkyFlyoutIteratorComponent,
|
|
750
750
|
SkyFlyoutResourcesModule,
|
|
751
751
|
SkyThemeModule,
|
|
752
|
-
], template: "<div\n #flyoutRef\n class=\"sky-flyout\"\n skyResponsiveHost\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n (@flyoutState.done)=\"animationDone($event)\"\n>\n <div\n #flyoutHeader\n class=\"sky-flyout-header\"\n [style.z-index]=\"zIndex$ | async\"\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconName=\"re-order-dots-vertical\"\n iconSize=\"s\"\n />\n </button>\n\n @if (config.showIterator) {\n <sky-flyout-iterator\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n />\n }\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\" />\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\" />\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon iconName=\"close\" />\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n @if (permalink) {\n @if (permalink.url) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n } @else if (permalink.route) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n }\n }\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n @if (primaryAction && primaryAction.callback) {\n <button\n type=\"button\"\n class=\"sky-btn sky-flyout-btn-primary-action\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n }\n</ng-template>\n", styles: [".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height,
|
|
752
|
+
], template: "<div\n #flyoutRef\n class=\"sky-flyout\"\n skyResponsiveHost\n tabindex=\"-1\"\n [attr.role]=\"config.ariaRole ? config.ariaRole : 'dialog'\"\n [attr.aria-describedby]=\"config.ariaDescribedBy\"\n [attr.aria-label]=\"config.ariaLabel\"\n [attr.aria-labelledby]=\"config.ariaLabelledBy\"\n [attr.aria-modal]=\"\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\n \"\n [attr.hidden]=\"!instanceReady ? true : undefined\"\n [id]=\"flyoutId\"\n [ngClass]=\"{\n 'sky-flyout-hidden': !isOpen && !isOpening,\n 'sky-flyout-fullscreen': isFullscreen\n }\"\n [style.z-index]=\"zIndex$ | async\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-8': 'modern'\n }\"\n [@flyoutState]=\"getAnimationState()\"\n [style.width.px]=\"flyoutWidth\"\n [cdkTrapFocus]=\"enableTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"enableTrapFocusAutoCapture\"\n (@flyoutState.done)=\"animationDone($event)\"\n>\n <div\n #flyoutHeader\n class=\"sky-flyout-header\"\n [style.z-index]=\"zIndex$ | async\"\n >\n <div class=\"sky-flyout-header-content\">\n <button\n *skyThemeIf=\"'modern'\"\n class=\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n (keydown)=\"onHeaderGrabHandleKeyDown($event)\"\n (mousedown)=\"onHeaderGrabHandleMouseDown($event)\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n iconName=\"re-order-dots-vertical\"\n iconSize=\"s\"\n />\n </button>\n\n @if (config.showIterator) {\n <sky-flyout-iterator\n [nextButtonDisabled]=\"config.iteratorNextButtonDisabled\"\n [previousButtonDisabled]=\"config.iteratorPreviousButtonDisabled\"\n (nextButtonClick)=\"onIteratorNextButtonClick()\"\n (previousButtonClick)=\"onIteratorPreviousButtonClick()\"\n />\n }\n </div>\n <div class=\"sky-flyout-header-buttons\">\n <ng-container *ngTemplateOutlet=\"permalinkTemplate\" />\n <ng-container *ngTemplateOutlet=\"primaryActionTemplate\" />\n <button\n class=\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_flyout_close' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"close()\"\n >\n <sky-icon iconName=\"close\" />\n </button>\n </div>\n </div>\n <div class=\"sky-flyout-content\">\n <div #target></div>\n </div>\n <div\n class=\"sky-flyout-resize-handle\"\n role=\"separator\"\n tabindex=\"0\"\n type=\"range\"\n [attr.aria-controls]=\"flyoutId\"\n [attr.aria-label]=\"'skyux_flyout_resize_handle' | skyLibResources\"\n [attr.aria-valuemax]=\"config.maxWidth\"\n [attr.aria-valuemin]=\"config.minWidth\"\n [attr.aria-valuenow]=\"flyoutWidth\"\n (keydown)=\"onResizeHandleKeyDown($event)\"\n (mousedown)=\"onResizeHandleMouseDown($event)\"\n ></div>\n</div>\n\n<ng-template #permalinkTemplate>\n @if (permalink) {\n @if (permalink.url) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [skyHref]=\"permalink.url\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n } @else if (permalink.route) {\n <a\n class=\"sky-btn sky-flyout-btn-permalink\"\n [routerLink]=\"permalink.route.commands\"\n [fragment]=\"permalink.route.extras?.fragment\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n [queryParams]=\"permalink.route.extras?.queryParams\"\n [queryParamsHandling]=\"permalink.route.extras?.queryParamsHandling\"\n [state]=\"permalink.route.extras?.state\"\n (click)=\"close()\"\n >\n {{ permalinkLabel }}\n </a>\n }\n }\n</ng-template>\n\n<ng-template #primaryActionTemplate>\n @if (primaryAction && primaryAction.callback) {\n <button\n type=\"button\"\n class=\"sky-btn sky-flyout-btn-primary-action\"\n [skyThemeClass]=\"{\n 'sky-btn-default': 'default',\n 'sky-btn-link-inline': 'modern'\n }\"\n (click)=\"invokePrimaryAction()\"\n >\n {{ primaryActionLabel }}\n </button>\n }\n</ng-template>\n", styles: [".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, calc(var(--sky-size-icon-m) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-flyout-header-space-inset-top) + var(--sky-comp-flyout-header-space-inset-bottom) + var(--sky-border-width-divider))))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\n"] }]
|
|
753
753
|
}], ctorParameters: () => [], propDecorators: { flyoutRef: [{
|
|
754
754
|
type: ViewChild,
|
|
755
755
|
args: ['flyoutRef', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-flyout.mjs","sources":["../tmp-esm2022/lib/modules/flyout/types/flyout-message-type.js","../tmp-esm2022/lib/modules/flyout/flyout-instance.js","../tmp-esm2022/lib/modules/shared/sky-flyout-resources.module.js","../tmp-esm2022/lib/modules/flyout/flyout-adapter.service.js","../tmp-esm2022/lib/modules/flyout/flyout-iterator.component.js","../tmp-esm2022/lib/modules/flyout/types/flyout-before-close-handler.js","../tmp-esm2022/lib/modules/flyout/flyout.component.js","../tmp-esm2022/lib/modules/flyout/flyout.module.js","../tmp-esm2022/lib/modules/flyout/flyout.service.js","../tmp-esm2022/skyux-flyout.js"],"sourcesContent":["/**\n * @internal\n */\nexport var SkyFlyoutMessageType;\n(function (SkyFlyoutMessageType) {\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"Open\"] = 0] = \"Open\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"Close\"] = 1] = \"Close\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"EnableIteratorNextButton\"] = 2] = \"EnableIteratorNextButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"EnableIteratorPreviousButton\"] = 3] = \"EnableIteratorPreviousButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"DisableIteratorNextButton\"] = 4] = \"DisableIteratorNextButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"DisableIteratorPreviousButton\"] = 5] = \"DisableIteratorPreviousButton\";\n})(SkyFlyoutMessageType || (SkyFlyoutMessageType = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksb0JBT1g7QUFQRCxXQUFZLG9CQUFvQjtJQUM5QiwrREFBUSxDQUFBO0lBQ1IsaUVBQUssQ0FBQTtJQUNMLHVHQUF3QixDQUFBO0lBQ3hCLCtHQUE0QixDQUFBO0lBQzVCLHlHQUF5QixDQUFBO0lBQ3pCLGlIQUE2QixDQUFBO0FBQy9CLENBQUMsRUFQVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBTy9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGVudW0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUge1xuICBPcGVuID0gMCxcbiAgQ2xvc2UsXG4gIEVuYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b24sXG59XG4iXX0=","import { EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n/**\n * Represents a single displayed flyout.\n */\nexport class SkyFlyoutInstance {\n /**\n * An event that the flyout instance emits when it is about to close.\n * If a subscription exists for this event,\n * the flyout does not close until the subscriber calls the handler's `closeModal` method.\n */\n get beforeClose() {\n return this.#_beforeClose;\n }\n /**\n * Used to communicate with the host component.\n * @internal\n */\n get hostController() {\n return this.#_hostController;\n }\n /**\n * An event that the flyout instance emits when users click the next iterator button.\n */\n get iteratorNextButtonClick() {\n return this.#_iteratorNextButtonClick;\n }\n /**\n * An event that the flyout instance emits when users click the previous iterator button.\n */\n get iteratorPreviousButtonClick() {\n return this.#_iteratorPreviousButtonClick;\n }\n /**\n * Disables the next iterator button.\n * @default false\n */\n set iteratorNextButtonDisabled(newValue) {\n this.#_iteratorNextButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorNextButton,\n });\n }\n else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorNextButton,\n });\n }\n }\n get iteratorNextButtonDisabled() {\n return this.#_iteratorNextButtonDisabled;\n }\n /**\n * Disables the previous iterator button.\n * @default false\n */\n set iteratorPreviousButtonDisabled(newValue) {\n this.#_iteratorPreviousButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorPreviousButton,\n });\n }\n else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorPreviousButton,\n });\n }\n }\n get iteratorPreviousButtonDisabled() {\n return this.#_iteratorPreviousButtonDisabled;\n }\n #_beforeClose;\n #_iteratorNextButtonClick;\n #_iteratorPreviousButtonClick;\n #_iteratorNextButtonDisabled;\n #_iteratorPreviousButtonDisabled;\n #_hostController;\n // TODO: Remove this being optional in a future breaking change.\n constructor(componentInstance) {\n /**\n * An event that the flyout instance emits when it closes.\n */\n this.closed = new EventEmitter();\n /**\n * A `boolean` value that returns `true` if the flyout is open.\n * @default true\n */\n this.isOpen = true;\n this.#_beforeClose = new Subject();\n this.#_iteratorNextButtonClick = new EventEmitter();\n this.#_iteratorPreviousButtonClick = new EventEmitter();\n this.#_iteratorNextButtonDisabled = false;\n this.#_iteratorPreviousButtonDisabled = false;\n this.#_hostController = new Subject();\n if (!componentInstance) {\n console.warn(`The SkyFlyoutInstance was created without a reference to the flyout's child component instance.\n The instance will not have a reference to this child component.\n Support for creating an instance without this reference will be removed in a future breaking change.`);\n }\n this.componentInstance = componentInstance;\n this.closed.subscribe(() => {\n this.isOpen = false;\n });\n }\n /**\n * Closes the flyout instance and emits its `closed` event.\n * @param args Arguments used when closing the flyout.\n */\n close(args) {\n this.hostController.next({\n type: SkyFlyoutMessageType.Close,\n data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },\n });\n this.#_iteratorPreviousButtonClick.complete();\n this.#_iteratorNextButtonClick.complete();\n this.hostController.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7O09BSUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFZRDs7O09BR0c7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsMEJBQTBCLENBQUMsUUFBaUI7UUFDckQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLFFBQVEsQ0FBQztRQUM3QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyx5QkFBeUI7YUFDckQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLHdCQUF3QjthQUNwRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsMEJBQTBCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLDhCQUE4QixDQUFDLFFBQWlCO1FBQ3pELElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxRQUFRLENBQUM7UUFDakQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsNkJBQTZCO2FBQ3pELENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyw0QkFBNEI7YUFDeEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLDhCQUE4QjtRQUN2QyxPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQztJQUMvQyxDQUFDO0lBRUQsYUFBYSxDQUE4QztJQUUzRCx5QkFBeUIsQ0FBNEI7SUFFckQsNkJBQTZCLENBQTRCO0lBRXpELDRCQUE0QixDQUFTO0lBRXJDLGdDQUFnQyxDQUFTO0lBRXpDLGdCQUFnQixDQUFtQztJQUVuRCxnRUFBZ0U7SUFDaEUsWUFBWSxpQkFBcUI7UUE3RmpDOztXQUVHO1FBQ0ksV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFlekM7OztXQUdHO1FBQ0ksV0FBTSxHQUFHLElBQUksQ0FBQztRQTBEckIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBK0IsQ0FBQztRQUUzRCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJELGtDQUE2QixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekQsaUNBQTRCLEdBQUcsS0FBSyxDQUFDO1FBRXJDLHFDQUFnQyxHQUFHLEtBQUssQ0FBQztRQUV6QyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQztRQUlqRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsSUFBSSxDQUNWOzs2R0FFcUcsQ0FDdEcsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWtCLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxJQUF5QjtRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsS0FBSztZQUNoQyxJQUFJLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO1NBQ25FLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1iZWZvcmUtY2xvc2UtaGFuZGxlcic7XG5pbXBvcnQgeyBTa3lGbHlvdXRDbG9zZUFyZ3MgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jbG9zZS1hcmdzJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGRpc3BsYXllZCBmbHlvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBmbHlvdXQgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBpcyBhYm91dCB0byBjbG9zZS5cbiAgICogSWYgYSBzdWJzY3JpcHRpb24gZXhpc3RzIGZvciB0aGlzIGV2ZW50LFxuICAgKiB0aGUgZmx5b3V0IGRvZXMgbm90IGNsb3NlIHVudGlsIHRoZSBzdWJzY3JpYmVyIGNhbGxzIHRoZSBoYW5kbGVyJ3MgYGNsb3NlTW9kYWxgIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTxTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXI+IHtcbiAgICByZXR1cm4gdGhpcy4jX2JlZm9yZUNsb3NlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIGZseW91dCBpbnN0YW5jZSBlbWl0cyB3aGVuIGl0IGNsb3Nlcy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50IHRvIGRpc3BsYXkgaW4gdGhlIGZseW91dC5cbiAgICovXG4gIHB1YmxpYyBjb21wb25lbnRJbnN0YW5jZSE6IFQ7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgaG9zdCBjb21wb25lbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldCBob3N0Q29udHJvbGxlcigpOiBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jX2hvc3RDb250cm9sbGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgYGJvb2xlYW5gIHZhbHVlIHRoYXQgcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGZseW91dCBpcyBvcGVuLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBwdWJsaWMgaXNPcGVuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIG5leHQgaXRlcmF0b3IgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGdldCBpdGVyYXRvck5leHRCdXR0b25DbGljaygpOiBFdmVudEVtaXR0ZXI8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19pdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIG5leHQgaXRlcmF0b3IgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljIHNldCBpdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZChuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvck5leHRCdXR0b24sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBzZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b24sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkO1xuICB9XG5cbiAgI19iZWZvcmVDbG9zZSA9IG5ldyBTdWJqZWN0PFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcj4oKTtcblxuICAjX2l0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICNfaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcblxuICAjX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfaG9zdENvbnRyb2xsZXIgPSBuZXcgU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPigpO1xuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzIGJlaW5nIG9wdGlvbmFsIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS5cbiAgY29uc3RydWN0b3IoY29tcG9uZW50SW5zdGFuY2U/OiBUKSB7XG4gICAgaWYgKCFjb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgVGhlIFNreUZseW91dEluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGhvdXQgYSByZWZlcmVuY2UgdG8gdGhlIGZseW91dCdzIGNoaWxkIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICAgICAgVGhlIGluc3RhbmNlIHdpbGwgbm90IGhhdmUgYSByZWZlcmVuY2UgdG8gdGhpcyBjaGlsZCBjb21wb25lbnQuXG4gICAgICAgIFN1cHBvcnQgZm9yIGNyZWF0aW5nIGFuIGluc3RhbmNlIHdpdGhvdXQgdGhpcyByZWZlcmVuY2Ugd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50SW5zdGFuY2UhO1xuICAgIHRoaXMuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgZmx5b3V0IGluc3RhbmNlIGFuZCBlbWl0cyBpdHMgYGNsb3NlZGAgZXZlbnQuXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICBkYXRhOiB7IGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLiNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jX2l0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmhvc3RDb250cm9sbGVyLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==","/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-flyout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_flyout_close: { message: 'Close flyout' },\n skyux_flyout_iterator_previous_button: { message: 'Previous' },\n skyux_flyout_iterator_next_button: { message: 'Next' },\n skyux_flyout_permalink_button: { message: 'View record' },\n skyux_flyout_primary_action_button: { message: 'Create list' },\n skyux_flyout_resize_handle: {\n message: 'Resize the flyout window. Press the enter or space key to activate, then use left arrow key to expand the flyout window and right arrow key to shrink the flyout window. Press the enter, space, or tab key to deactivate.',\n },\n },\n 'FR-CA': {\n skyux_flyout_close: { message: 'Fermer la fenêtre contextuelle' },\n skyux_flyout_iterator_previous_button: { message: 'Précédent' },\n skyux_flyout_iterator_next_button: { message: 'Suivant' },\n skyux_flyout_permalink_button: { message: 'Visualiser le dossier' },\n skyux_flyout_primary_action_button: { message: 'Créer une liste' },\n skyux_flyout_resize_handle: {\n message: 'Redimensionnez la fenêtre contextuelle. Appuyez sur la touche Entrée ou Espace pour l’activer, puis utiliser la flèche de gauche pour agrandir la fenêtre contextuelle et la flèche de droite pour réduire la fenêtre contextuelle. Appuyez sur la touche Entrée, Espace ou Tabulation pour la désactiver.',\n },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyFlyoutResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQy9DLHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUM5RCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDdEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQ3pELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM5RCwwQkFBMEIsRUFBRTtZQUMxQixPQUFPLEVBQ0wsNE5BQTROO1NBQy9OO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxrQkFBa0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRTtRQUNqRSxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDL0QsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ3pELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFO1FBQ25FLGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO1FBQ2xFLDBCQUEwQixFQUFFO1lBQzFCLE9BQU8sRUFDTCw0U0FBNFM7U0FDL1M7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixZQUZ6QixhQUFhOytHQUVaLHdCQUF3QixZQUZ6QixhQUFhOzsyRkFFWix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Nsb3NlIGZseW91dCcgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uOiB7IG1lc3NhZ2U6ICdQcmV2aW91cycgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b246IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X3Blcm1hbGlua19idXR0b246IHsgbWVzc2FnZTogJ1ZpZXcgcmVjb3JkJyB9LFxuICAgIHNreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b246IHsgbWVzc2FnZTogJ0NyZWF0ZSBsaXN0JyB9LFxuICAgIHNreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnUmVzaXplIHRoZSBmbHlvdXQgd2luZG93LiBQcmVzcyB0aGUgZW50ZXIgb3Igc3BhY2Uga2V5IHRvIGFjdGl2YXRlLCB0aGVuIHVzZSBsZWZ0IGFycm93IGtleSB0byBleHBhbmQgdGhlIGZseW91dCB3aW5kb3cgYW5kIHJpZ2h0IGFycm93IGtleSB0byBzaHJpbmsgdGhlIGZseW91dCB3aW5kb3cuIFByZXNzIHRoZSBlbnRlciwgc3BhY2UsIG9yIHRhYiBrZXkgdG8gZGVhY3RpdmF0ZS4nLFxuICAgIH0sXG4gIH0sXG4gICdGUi1DQSc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Zlcm1lciBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUnIH0sXG4gICAgc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX3ByZXZpb3VzX2J1dHRvbjogeyBtZXNzYWdlOiAnUHLDqWPDqWRlbnQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX25leHRfYnV0dG9uOiB7IG1lc3NhZ2U6ICdTdWl2YW50JyB9LFxuICAgIHNreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uOiB7IG1lc3NhZ2U6ICdWaXN1YWxpc2VyIGxlIGRvc3NpZXInIH0sXG4gICAgc2t5dXhfZmx5b3V0X3ByaW1hcnlfYWN0aW9uX2J1dHRvbjogeyBtZXNzYWdlOiAnQ3LDqWVyIHVuZSBsaXN0ZScgfSxcbiAgICBza3l1eF9mbHlvdXRfcmVzaXplX2hhbmRsZToge1xuICAgICAgbWVzc2FnZTpcbiAgICAgICAgJ1JlZGltZW5zaW9ubmV6IGxhIGZlbsOqdHJlIGNvbnRleHR1ZWxsZS4gQXBwdXlleiBzdXIgbGEgdG91Y2hlIEVudHLDqWUgb3UgRXNwYWNlIHBvdXIgbOKAmWFjdGl2ZXIsIHB1aXMgdXRpbGlzZXIgbGEgZmzDqGNoZSBkZSBnYXVjaGUgcG91ciBhZ3JhbmRpciBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUgZXQgbGEgZmzDqGNoZSBkZSBkcm9pdGUgcG91ciByw6lkdWlyZSBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUuIEFwcHV5ZXogc3VyIGxhIHRvdWNoZSBFbnRyw6llLCBFc3BhY2Ugb3UgVGFidWxhdGlvbiBwb3VyIGxhIGTDqXNhY3RpdmVyLicsXG4gICAgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFJlc291cmNlc01vZHVsZSB7fVxuIl19","import { Injectable, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * @internal\n */\nexport class SkyFlyoutAdapterService {\n #renderer;\n #windowRef;\n constructor(rendererFactory, windowRef) {\n this.#windowRef = windowRef;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n adjustHeaderForHelp(header) {\n const windowObj = this.#windowRef.nativeWindow;\n const helpWidget = windowObj.document.getElementById('bb-help-invoker');\n if (helpWidget) {\n this.#renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');\n }\n }\n toggleIframePointerEvents(enable) {\n // When iframes are present on the page, they may interfere with dragging\n // temporarily disable pointer events in iframes when dragging starts.\n // When re-enabling we set to the empty string as it will remove the element styling\n // and fall back to any css originally given to iframe\n const iframes = Array.from(document.querySelectorAll('iframe'));\n for (const iframe of iframes) {\n this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7OztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFZO0lBRXJCLFVBQVUsQ0FBa0I7SUFFNUIsWUFBWSxlQUFpQyxFQUFFLFNBQTBCO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWtCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLE1BQWU7UUFDOUMseUVBQXlFO1FBQ3pFLHNFQUFzRTtRQUN0RSxvRkFBb0Y7UUFDcEYsc0RBQXNEO1FBQ3RELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDOzhHQTVCVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSB7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmKSB7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYWRqdXN0SGVhZGVyRm9ySGVscChoZWFkZXI6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCB3aW5kb3dPYmogPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGhlbHBXaWRnZXQgPSB3aW5kb3dPYmouZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JiLWhlbHAtaW52b2tlcicpO1xuXG4gICAgaWYgKGhlbHBXaWRnZXQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXaGVuIGlmcmFtZXMgYXJlIHByZXNlbnQgb24gdGhlIHBhZ2UsIHRoZXkgbWF5IGludGVyZmVyZSB3aXRoIGRyYWdnaW5nXG4gICAgLy8gdGVtcG9yYXJpbHkgZGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbiBpZnJhbWVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzLlxuICAgIC8vIFdoZW4gcmUtZW5hYmxpbmcgd2Ugc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXMgaXQgd2lsbCByZW1vdmUgdGhlIGVsZW1lbnQgc3R5bGluZ1xuICAgIC8vIGFuZCBmYWxsIGJhY2sgdG8gYW55IGNzcyBvcmlnaW5hbGx5IGdpdmVuIHRvIGlmcmFtZVxuICAgIGNvbnN0IGlmcmFtZXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpKTtcbiAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBpZnJhbWVzKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShpZnJhbWUsICdwb2ludGVyLWV2ZW50cycsIGVuYWJsZSA/ICcnIDogJ25vbmUnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Component, EventEmitter, Input, Output, } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { Subject } from 'rxjs';\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/icon\";\nimport * as i2 from \"@skyux/theme\";\nimport * as i3 from \"@skyux/i18n\";\n/**\n * @internal\n */\nexport class SkyFlyoutIteratorComponent {\n get previousButtonClick() {\n return this.#_previousButtonClick;\n }\n get nextButtonClick() {\n return this.#_nextButtonClick;\n }\n #ngUnsubscribe = new Subject();\n #_nextButtonClick = new EventEmitter();\n #_previousButtonClick = new EventEmitter();\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n onIteratorPreviousClick() {\n /* istanbul ignore else */\n if (!this.previousButtonDisabled) {\n this.#_previousButtonClick.emit();\n }\n }\n onIteratorNextClick() {\n /* istanbul ignore else */\n if (!this.nextButtonDisabled) {\n this.#_nextButtonClick.emit();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyFlyoutIteratorComponent, isStandalone: true, selector: \"sky-flyout-iterator\", inputs: { nextButtonDisabled: \"nextButtonDisabled\", previousButtonDisabled: \"previousButtonDisabled\" }, outputs: { previousButtonClick: \"previousButtonClick\", nextButtonClick: \"nextButtonClick\" }, ngImport: i0, template: \"<div class=\\\"sky-flyout-iterators\\\">\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-previous\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n 'skyux_flyout_iterator_previous_button' | skyLibResources\\n \\\"\\n [disabled]=\\\"previousButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorPreviousClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-up\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-next\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_iterator_next_button' | skyLibResources\\\"\\n [disabled]=\\\"nextButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorNextClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </button>\\n</div>\\n\", styles: [\".sky-flyout-iterators:not(.sky-theme-modern *){--sky-override-flyout-iterator-margin-right: 5px;--sky-override-flyout-iterators-display: block}.sky-btn{margin-right:var(--sky-override-flyout-iterator-margin-right, var(--sky-space-gap-action_group-m))}.sky-flyout-iterators{display:var(--sky-override-flyout-iterators-display, inline)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i1.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyFlyoutResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i2.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"pipe\", type: i3.SkyLibResourcesPipe, name: \"skyLibResources\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-flyout-iterator', imports: [SkyIconModule, SkyFlyoutResourcesModule, SkyThemeModule], template: \"<div class=\\\"sky-flyout-iterators\\\">\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-previous\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n 'skyux_flyout_iterator_previous_button' | skyLibResources\\n \\\"\\n [disabled]=\\\"previousButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorPreviousClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-up\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-next\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_iterator_next_button' | skyLibResources\\\"\\n [disabled]=\\\"nextButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorNextClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </button>\\n</div>\\n\", styles: [\".sky-flyout-iterators:not(.sky-theme-modern *){--sky-override-flyout-iterator-margin-right: 5px;--sky-override-flyout-iterators-display: block}.sky-btn{margin-right:var(--sky-override-flyout-iterator-margin-right, var(--sky-space-gap-action_group-m))}.sky-flyout-iterators{display:var(--sky-override-flyout-iterators-display, inline)}\\n\"] }]\n }], propDecorators: { nextButtonDisabled: [{\n type: Input\n }], previousButtonDisabled: [{\n type: Input\n }], previousButtonClick: [{\n type: Output\n }], nextButtonClick: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUVqRjs7R0FFRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFPckMsSUFDVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFckMsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU3QyxxQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7OEdBeENVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLG9SQ3ZCdkMsMDRCQThCQSx5WURUWSxhQUFhLHFJQUFFLHdCQUF3Qiw4QkFBRSxjQUFjOzsyRkFFdEQsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHFCQUFxQixXQUd0QixDQUFDLGFBQWEsRUFBRSx3QkFBd0IsRUFBRSxjQUFjLENBQUM7OEJBSTNELGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBSUssbUJBQW1CO3NCQUQ3QixNQUFNO2dCQU1JLGVBQWU7c0JBRHpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQtaXRlcmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtTa3lJY29uTW9kdWxlLCBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUsIFNreVRoZW1lTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmV2aW91c0J1dHRvbkRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHByZXZpb3VzQnV0dG9uQ2xpY2soKTogRXZlbnRFbWl0dGVyPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX3ByZXZpb3VzQnV0dG9uQ2xpY2s7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBuZXh0QnV0dG9uQ2xpY2soKTogRXZlbnRFbWl0dGVyPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX25leHRCdXR0b25DbGljaztcbiAgfVxuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX25leHRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAjX3ByZXZpb3VzQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yUHJldmlvdXNDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5wcmV2aW91c0J1dHRvbkRpc2FibGVkKSB7XG4gICAgICB0aGlzLiNfcHJldmlvdXNCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0Q2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMubmV4dEJ1dHRvbkRpc2FibGVkKSB7XG4gICAgICB0aGlzLiNfbmV4dEJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWl0ZXJhdG9yc1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtaXRlcmF0b3ItcHJldmlvdXNcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAnc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX3ByZXZpb3VzX2J1dHRvbicgfCBza3lMaWJSZXNvdXJjZXNcbiAgICBcIlxuICAgIFtkaXNhYmxlZF09XCJwcmV2aW91c0J1dHRvbkRpc2FibGVkXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvclByZXZpb3VzQ2xpY2soKVwiXG4gID5cbiAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLXVwXCIgLz5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1pdGVyYXRvci1uZXh0XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b24nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbZGlzYWJsZWRdPVwibmV4dEJ1dHRvbkRpc2FibGVkXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvck5leHRDbGljaygpXCJcbiAgPlxuICAgIDxza3ktaWNvbiBpY29uTmFtZT1cImNoZXZyb24tZG93blwiIC8+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=","/**\n * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.\n */\nexport class SkyFlyoutBeforeCloseHandler {\n constructor(closeFlyoutFunction) {\n this.closeFlyout = closeFlyoutFunction;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1iZWZvcmUtY2xvc2UtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFNdEMsWUFBWSxtQkFBK0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhhbmRsZXIgZm9yIG5vdGlmeWluZyB0aGUgZmx5b3V0IHdoZW4gaXQgaXMgYXBwcm9wcmlhdGUgdG8gY2xvc2UgdGhlIGZseW91dC4gVGhpcyB3aWxsIGJlIHJldHVybmVkIGZyb20gdGhlIGZseW91dCBpbnN0YW5jZSdzIGBiZWZvcmVDbG9zZWAgb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB7XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB3aGljaCBzaG91bGQgYmUgY2FsbGVkIHRvIGNsb3NlIHRoZSBmbHlvdXQuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbmNlIGFueSBpbnRlcnZlbmluZyBhY3Rpb25zIGhhdmUgY29tcGxldGVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlRmx5b3V0OiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKGNsb3NlRmx5b3V0RnVuY3Rpb246ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsb3NlRmx5b3V0ID0gY2xvc2VGbHlvdXRGdW5jdGlvbjtcbiAgfVxufVxuIl19","import { animate, state, style, transition, trigger, } from '@angular/animations';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EnvironmentInjector, HostListener, NgZone, ViewChild, ViewContainerRef, inject, } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SKY_STACKING_CONTEXT, SkyDynamicComponentService, SkyResponsiveHostDirective, SkyUIConfigService, } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\nimport { SkyFlyoutAdapterService } from './flyout-adapter.service';\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutIteratorComponent } from './flyout-iterator.component';\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/a11y\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@angular/router\";\nimport * as i4 from \"@skyux/router\";\nimport * as i5 from \"@skyux/icon\";\nimport * as i6 from \"@skyux/theme\";\nimport * as i7 from \"@skyux/i18n\";\nconst FLYOUT_OPEN_STATE = 'flyoutOpen';\nconst FLYOUT_CLOSED_STATE = 'flyoutClosed';\nlet nextId = 0;\n/**\n * @internal\n */\nexport class SkyFlyoutComponent {\n #xCoord;\n #windowBufferSize;\n get messageStream() {\n return this.#_messageStream;\n }\n #flyoutInstance;\n #ngUnsubscribe;\n #_messageStream;\n #adapter;\n #changeDetector;\n #dynamicComponentSvc;\n #environmentInjector;\n #ngZone;\n #resourcesService;\n #uiConfigService;\n constructor() {\n this.config = {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [],\n };\n this.enableTrapFocus = false;\n this.enableTrapFocusAutoCapture = false;\n this.flyoutId = `sky-flyout-${++nextId}`;\n this.flyoutState = FLYOUT_CLOSED_STATE;\n this.isOpen = false;\n this.isOpening = false;\n this.flyoutWidth = 0;\n this.instanceReady = false;\n this.isDragging = false;\n this.isFullscreen = false;\n this.resizeKeyControlActive = false;\n this.#xCoord = 0;\n this.#windowBufferSize = 20;\n this.permalink = {};\n this.permalinkLabel = '';\n this.primaryAction = {};\n this.primaryActionLabel = '';\n /**\n * @internal\n */\n this.widthStep = 10;\n this.zIndex$ = new BehaviorSubject(1001);\n this.#ngUnsubscribe = new Subject();\n this.#_messageStream = new Subject();\n this.#adapter = inject(SkyFlyoutAdapterService);\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#dynamicComponentSvc = inject(SkyDynamicComponentService);\n this.#environmentInjector = inject(EnvironmentInjector);\n this.#ngZone = inject(NgZone);\n this.#resourcesService = inject(SkyLibResourcesService);\n this.#uiConfigService = inject(SkyUIConfigService);\n // All commands flow through the message stream.\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.#handleIncomingMessages(message);\n });\n }\n ngOnInit() {\n /* istanbul ignore else */\n if (this.flyoutHeader) {\n this.#adapter.adjustHeaderForHelp(this.flyoutHeader);\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n onWindowResize(event) {\n this.#setFullscreen();\n if (this.isFullscreen) {\n return;\n }\n const target = event.target;\n if (target.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = target.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n }\n attach(component, config, environmentInjector) {\n this.#cleanTemplate();\n // Emit the closed event on any previously opened flyout instance\n if (this.#flyoutInstance) {\n this.#notifyClosed();\n }\n this.config = Object.assign({\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [\n {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: this.zIndex$\n .asObservable()\n .pipe(takeUntil(this.#ngUnsubscribe)),\n },\n },\n ],\n }, config);\n if (config?.defaultWidth && !config?.maxWidth) {\n this.config.maxWidth = config?.defaultWidth;\n }\n this.config.showIterator = this.config.showIterator || false;\n this.config.iteratorNextButtonDisabled =\n this.config.iteratorNextButtonDisabled || false;\n this.config.iteratorPreviousButtonDisabled =\n this.config.iteratorPreviousButtonDisabled || false;\n this.permalink = this.config.permalink ?? {};\n this.permalinkLabel =\n this.config.permalink && this.config.permalink.label\n ? this.config.permalink.label\n : this.#getString('skyux_flyout_permalink_button');\n this.primaryAction = this.config.primaryAction ?? {};\n this.primaryActionLabel =\n this.config.primaryAction && this.config.primaryAction.label\n ? this.config.primaryAction.label\n : this.#getString('skyux_flyout_primary_action_button');\n environmentInjector ||= this.#environmentInjector;\n const componentRef = this.#dynamicComponentSvc.createComponent(component, {\n environmentInjector: environmentInjector,\n providers: this.config.providers,\n viewContainerRef: this.target,\n });\n /* safety check */\n /* istanbul ignore if */\n if (!componentRef) {\n throw new Error(\"Flyout's internal component could not be created\");\n }\n this.#flyoutInstance = this.#createFlyoutInstance(componentRef.instance);\n // This is used to ensure we do not render the flyout until we have attached the component.\n // This allows the aria-labelledby to function correctly.\n this.instanceReady = true;\n this.#changeDetector.markForCheck();\n // Open the flyout immediately.\n this.messageStream.next({\n type: SkyFlyoutMessageType.Open,\n });\n if (this.config.settingsKey) {\n this.#uiConfigService\n .getConfig(this.config.settingsKey)\n .pipe(take(1))\n .subscribe((value) => {\n if (value && value.flyoutWidth) {\n this.flyoutWidth = value.flyoutWidth;\n }\n else {\n // Bad data, or config is the default config.\n this.flyoutWidth = this.config.defaultWidth;\n }\n this.#checkInitialSize();\n });\n }\n else {\n this.flyoutWidth = this.config.defaultWidth;\n this.#checkInitialSize();\n }\n return this.#flyoutInstance;\n }\n close() {\n this.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n });\n }\n invokePrimaryAction() {\n if (this.primaryAction.callback) {\n this.primaryAction.callback();\n if (this.primaryAction.closeAfterInvoking) {\n this.close();\n }\n return false;\n }\n /* istanbul ignore next */\n return true;\n }\n getAnimationState() {\n return this.instanceReady && this.isOpening\n ? FLYOUT_OPEN_STATE\n : FLYOUT_CLOSED_STATE;\n }\n animationDone(event) {\n if (event.toState === FLYOUT_OPEN_STATE) {\n this.isOpen = true;\n }\n if (event.toState === FLYOUT_CLOSED_STATE) {\n this.isOpen = false;\n this.#notifyClosed();\n this.#cleanTemplate();\n }\n }\n onHeaderGrabHandleMouseDown(event) {\n this.onResizeHandleMouseDown(event);\n }\n onHeaderGrabHandleKeyDown(event) {\n this.#handleResizeKeyDown(event);\n }\n onResizeHandleKeyDown(event) {\n this.#handleResizeKeyDown(event);\n }\n onResizeHandleMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n if (this.isFullscreen) {\n return;\n }\n this.isDragging = true;\n this.#xCoord = event.clientX;\n this.#adapter.toggleIframePointerEvents(false);\n fromEvent(document, 'mousemove')\n .pipe(takeWhile(() => {\n return this.isDragging;\n }))\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n fromEvent(document, 'mouseup')\n .pipe(takeWhile(() => {\n return this.isDragging;\n }))\n .subscribe(() => {\n this.onHandleRelease();\n });\n }\n onMouseMove(event) {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.isDragging) {\n return;\n }\n const offsetX = event.clientX - this.#xCoord;\n let width = this.flyoutWidth;\n width -= offsetX;\n if (width < this.config.minWidth || width > this.config.maxWidth) {\n return;\n }\n if (window.innerWidth - width < this.#windowBufferSize) {\n width = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n }\n else {\n this.#xCoord = event.clientX;\n }\n this.flyoutWidth = width;\n this.#changeDetector.markForCheck();\n }\n onHandleRelease() {\n fromEvent(document, 'click')\n .pipe(take(1))\n .subscribe(() => {\n this.isDragging = false;\n this.#adapter.toggleIframePointerEvents(true);\n this.#setUserData();\n });\n }\n onIteratorPreviousButtonClick() {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorPreviousButtonClick.emit();\n }\n }\n onIteratorNextButtonClick() {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorNextButtonClick.emit();\n }\n }\n #createFlyoutInstance(component) {\n const instance = new SkyFlyoutInstance(component);\n instance.hostController\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.messageStream.next(message);\n });\n return instance;\n }\n #handleIncomingMessages(message) {\n switch (message.type) {\n case SkyFlyoutMessageType.Open:\n if (!this.isOpen) {\n this.isOpen = false;\n this.isOpening = true;\n }\n this.#initFocusTrap();\n break;\n case SkyFlyoutMessageType.Close:\n if (this.#flyoutInstance?.beforeClose?.observers\n .length === 0 ||\n message.data?.ignoreBeforeClose) {\n this.isOpen = true;\n this.isOpening = false;\n }\n else {\n this.#flyoutInstance?.beforeClose?.next(new SkyFlyoutBeforeCloseHandler(() => {\n this.isOpen = true;\n this.isOpening = false;\n }));\n }\n break;\n case SkyFlyoutMessageType.EnableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = false;\n break;\n case SkyFlyoutMessageType.EnableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = false;\n break;\n case SkyFlyoutMessageType.DisableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = true;\n break;\n case SkyFlyoutMessageType.DisableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = true;\n break;\n }\n this.#changeDetector.markForCheck();\n }\n #notifyClosed() {\n this.#flyoutInstance?.closed.emit();\n this.#flyoutInstance?.closed.complete();\n }\n #cleanTemplate() {\n this.target?.clear();\n }\n #setFullscreen() {\n if (window.innerWidth - this.#windowBufferSize < this.config.minWidth) {\n this.isFullscreen = true;\n }\n else {\n this.isFullscreen = false;\n }\n }\n #setUserData() {\n if (this.config.settingsKey) {\n this.#uiConfigService\n .setConfig(this.config.settingsKey, {\n flyoutWidth: this.flyoutWidth,\n })\n .pipe(take(1))\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => { }, (err) => {\n console.warn('Could not save flyout data.');\n console.warn(err);\n });\n }\n }\n #checkInitialSize() {\n if (this.flyoutWidth < this.config.minWidth) {\n this.flyoutWidth = this.config.minWidth;\n this.#setUserData();\n }\n else if (this.flyoutWidth > this.config.maxWidth) {\n this.flyoutWidth = this.config.maxWidth;\n this.#setUserData();\n }\n // Ensure flyout does not load larger than the window and its buffer\n if (window.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n this.#setFullscreen();\n }\n #getString(key) {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key);\n }\n #handleResizeKeyDown(event) {\n /* istanbul ignore else */\n if (event.key) {\n const keyPressed = event.key.toLowerCase().replace('arrow', '');\n switch (keyPressed) {\n case 'enter':\n case ' ':\n this.resizeKeyControlActive = !this.resizeKeyControlActive;\n break;\n case 'tab':\n /* istanbul ignore else */\n if (this.resizeKeyControlActive) {\n this.resizeKeyControlActive = false;\n }\n break;\n case 'left':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth < this.config.maxWidth) {\n this.flyoutWidth = Math.min(this.flyoutWidth + this.widthStep, this.config.maxWidth);\n }\n }\n break;\n case 'right':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth > this.config.minWidth) {\n this.flyoutWidth = Math.max(this.flyoutWidth - this.widthStep, this.config.minWidth);\n }\n }\n break;\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n /** Executes a function when the zone is stable. */\n #executeOnStable(fn) {\n if (this.#ngZone.isStable) {\n fn();\n }\n else {\n this.#ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n #initFocusTrap() {\n this.enableTrapFocusAutoCapture = false;\n this.enableTrapFocus = false;\n // Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.\n this.#executeOnStable(() => {\n this.enableTrapFocusAutoCapture = true;\n this.enableTrapFocus = true;\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyFlyoutComponent, isStandalone: true, selector: \"sky-flyout\", host: { listeners: { \"window:resize\": \"onWindowResize($event)\" } }, providers: [SkyFlyoutAdapterService], viewQueries: [{ propertyName: \"flyoutRef\", first: true, predicate: [\"flyoutRef\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"target\", first: true, predicate: [\"target\"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: \"flyoutHeader\", first: true, predicate: [\"flyoutHeader\"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: \"<div\\n #flyoutRef\\n class=\\\"sky-flyout\\\"\\n skyResponsiveHost\\n tabindex=\\\"-1\\\"\\n [attr.role]=\\\"config.ariaRole ? config.ariaRole : 'dialog'\\\"\\n [attr.aria-describedby]=\\\"config.ariaDescribedBy\\\"\\n [attr.aria-label]=\\\"config.ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"config.ariaLabelledBy\\\"\\n [attr.aria-modal]=\\\"\\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\\n \\\"\\n [attr.hidden]=\\\"!instanceReady ? true : undefined\\\"\\n [id]=\\\"flyoutId\\\"\\n [ngClass]=\\\"{\\n 'sky-flyout-hidden': !isOpen && !isOpening,\\n 'sky-flyout-fullscreen': isFullscreen\\n }\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-shadow': 'default',\\n 'sky-elevation-8': 'modern'\\n }\\\"\\n [@flyoutState]=\\\"getAnimationState()\\\"\\n [style.width.px]=\\\"flyoutWidth\\\"\\n [cdkTrapFocus]=\\\"enableTrapFocus\\\"\\n [cdkTrapFocusAutoCapture]=\\\"enableTrapFocusAutoCapture\\\"\\n (@flyoutState.done)=\\\"animationDone($event)\\\"\\n>\\n <div\\n #flyoutHeader\\n class=\\\"sky-flyout-header\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n >\\n <div class=\\\"sky-flyout-header-content\\\">\\n <button\\n *skyThemeIf=\\\"'modern'\\\"\\n class=\\\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n (keydown)=\\\"onHeaderGrabHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onHeaderGrabHandleMouseDown($event)\\\"\\n >\\n <sky-icon\\n *skyThemeIf=\\\"'modern'\\\"\\n iconName=\\\"re-order-dots-vertical\\\"\\n iconSize=\\\"s\\\"\\n />\\n </button>\\n\\n @if (config.showIterator) {\\n <sky-flyout-iterator\\n [nextButtonDisabled]=\\\"config.iteratorNextButtonDisabled\\\"\\n [previousButtonDisabled]=\\\"config.iteratorPreviousButtonDisabled\\\"\\n (nextButtonClick)=\\\"onIteratorNextButtonClick()\\\"\\n (previousButtonClick)=\\\"onIteratorPreviousButtonClick()\\\"\\n />\\n }\\n </div>\\n <div class=\\\"sky-flyout-header-buttons\\\">\\n <ng-container *ngTemplateOutlet=\\\"permalinkTemplate\\\" />\\n <ng-container *ngTemplateOutlet=\\\"primaryActionTemplate\\\" />\\n <button\\n class=\\\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_close' | skyLibResources\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div class=\\\"sky-flyout-content\\\">\\n <div #target></div>\\n </div>\\n <div\\n class=\\\"sky-flyout-resize-handle\\\"\\n role=\\\"separator\\\"\\n tabindex=\\\"0\\\"\\n type=\\\"range\\\"\\n [attr.aria-controls]=\\\"flyoutId\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n [attr.aria-valuemax]=\\\"config.maxWidth\\\"\\n [attr.aria-valuemin]=\\\"config.minWidth\\\"\\n [attr.aria-valuenow]=\\\"flyoutWidth\\\"\\n (keydown)=\\\"onResizeHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onResizeHandleMouseDown($event)\\\"\\n ></div>\\n</div>\\n\\n<ng-template #permalinkTemplate>\\n @if (permalink) {\\n @if (permalink.url) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [skyHref]=\\\"permalink.url\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n } @else if (permalink.route) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [routerLink]=\\\"permalink.route.commands\\\"\\n [fragment]=\\\"permalink.route.extras?.fragment\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n [queryParams]=\\\"permalink.route.extras?.queryParams\\\"\\n [queryParamsHandling]=\\\"permalink.route.extras?.queryParamsHandling\\\"\\n [state]=\\\"permalink.route.extras?.state\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n }\\n }\\n</ng-template>\\n\\n<ng-template #primaryActionTemplate>\\n @if (primaryAction && primaryAction.callback) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-flyout-btn-primary-action\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"invokePrimaryAction()\\\"\\n >\\n {{ primaryActionLabel }}\\n </button>\\n }\\n</ng-template>\\n\", styles: [\".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, 0px))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: A11yModule }, { kind: \"directive\", type: i1.CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: [\"cdkTrapFocus\", \"cdkTrapFocusAutoCapture\"], exportAs: [\"cdkTrapFocus\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i2.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i3.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: SkyResponsiveHostDirective, selector: \"[skyResponsiveHost]\", exportAs: [\"skyResponsiveHost\"] }, { kind: \"ngmodule\", type: SkyHrefModule }, { kind: \"directive\", type: i4.λ1, selector: \"[skyHref]\", inputs: [\"skyHref\", \"queryParams\", \"skyHrefElse\"], outputs: [\"skyHrefChange\"] }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i5.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"component\", type: SkyFlyoutIteratorComponent, selector: \"sky-flyout-iterator\", inputs: [\"nextButtonDisabled\", \"previousButtonDisabled\"], outputs: [\"previousButtonClick\", \"nextButtonClick\"] }, { kind: \"ngmodule\", type: SkyFlyoutResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i6.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"directive\", type: i6.λ3, selector: \"[skyThemeIf]\", inputs: [\"skyThemeIf\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i7.SkyLibResourcesPipe, name: \"skyLibResources\" }], animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ], changeDetection: i0.ChangeDetectionStrategy.Default }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-flyout', providers: [SkyFlyoutAdapterService], animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ], changeDetection: ChangeDetectionStrategy.Default, imports: [\n A11yModule,\n CommonModule,\n RouterModule,\n SkyResponsiveHostDirective,\n SkyHrefModule,\n SkyIconModule,\n SkyFlyoutIteratorComponent,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n ], template: \"<div\\n #flyoutRef\\n class=\\\"sky-flyout\\\"\\n skyResponsiveHost\\n tabindex=\\\"-1\\\"\\n [attr.role]=\\\"config.ariaRole ? config.ariaRole : 'dialog'\\\"\\n [attr.aria-describedby]=\\\"config.ariaDescribedBy\\\"\\n [attr.aria-label]=\\\"config.ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"config.ariaLabelledBy\\\"\\n [attr.aria-modal]=\\\"\\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\\n \\\"\\n [attr.hidden]=\\\"!instanceReady ? true : undefined\\\"\\n [id]=\\\"flyoutId\\\"\\n [ngClass]=\\\"{\\n 'sky-flyout-hidden': !isOpen && !isOpening,\\n 'sky-flyout-fullscreen': isFullscreen\\n }\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-shadow': 'default',\\n 'sky-elevation-8': 'modern'\\n }\\\"\\n [@flyoutState]=\\\"getAnimationState()\\\"\\n [style.width.px]=\\\"flyoutWidth\\\"\\n [cdkTrapFocus]=\\\"enableTrapFocus\\\"\\n [cdkTrapFocusAutoCapture]=\\\"enableTrapFocusAutoCapture\\\"\\n (@flyoutState.done)=\\\"animationDone($event)\\\"\\n>\\n <div\\n #flyoutHeader\\n class=\\\"sky-flyout-header\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n >\\n <div class=\\\"sky-flyout-header-content\\\">\\n <button\\n *skyThemeIf=\\\"'modern'\\\"\\n class=\\\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n (keydown)=\\\"onHeaderGrabHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onHeaderGrabHandleMouseDown($event)\\\"\\n >\\n <sky-icon\\n *skyThemeIf=\\\"'modern'\\\"\\n iconName=\\\"re-order-dots-vertical\\\"\\n iconSize=\\\"s\\\"\\n />\\n </button>\\n\\n @if (config.showIterator) {\\n <sky-flyout-iterator\\n [nextButtonDisabled]=\\\"config.iteratorNextButtonDisabled\\\"\\n [previousButtonDisabled]=\\\"config.iteratorPreviousButtonDisabled\\\"\\n (nextButtonClick)=\\\"onIteratorNextButtonClick()\\\"\\n (previousButtonClick)=\\\"onIteratorPreviousButtonClick()\\\"\\n />\\n }\\n </div>\\n <div class=\\\"sky-flyout-header-buttons\\\">\\n <ng-container *ngTemplateOutlet=\\\"permalinkTemplate\\\" />\\n <ng-container *ngTemplateOutlet=\\\"primaryActionTemplate\\\" />\\n <button\\n class=\\\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_close' | skyLibResources\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div class=\\\"sky-flyout-content\\\">\\n <div #target></div>\\n </div>\\n <div\\n class=\\\"sky-flyout-resize-handle\\\"\\n role=\\\"separator\\\"\\n tabindex=\\\"0\\\"\\n type=\\\"range\\\"\\n [attr.aria-controls]=\\\"flyoutId\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n [attr.aria-valuemax]=\\\"config.maxWidth\\\"\\n [attr.aria-valuemin]=\\\"config.minWidth\\\"\\n [attr.aria-valuenow]=\\\"flyoutWidth\\\"\\n (keydown)=\\\"onResizeHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onResizeHandleMouseDown($event)\\\"\\n ></div>\\n</div>\\n\\n<ng-template #permalinkTemplate>\\n @if (permalink) {\\n @if (permalink.url) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [skyHref]=\\\"permalink.url\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n } @else if (permalink.route) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [routerLink]=\\\"permalink.route.commands\\\"\\n [fragment]=\\\"permalink.route.extras?.fragment\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n [queryParams]=\\\"permalink.route.extras?.queryParams\\\"\\n [queryParamsHandling]=\\\"permalink.route.extras?.queryParamsHandling\\\"\\n [state]=\\\"permalink.route.extras?.state\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n }\\n }\\n</ng-template>\\n\\n<ng-template #primaryActionTemplate>\\n @if (primaryAction && primaryAction.callback) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-flyout-btn-primary-action\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"invokePrimaryAction()\\\"\\n >\\n {{ primaryActionLabel }}\\n </button>\\n }\\n</ng-template>\\n\", styles: [\".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, 0px))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { flyoutRef: [{\n type: ViewChild,\n args: ['flyoutRef', {\n read: ElementRef,\n static: true,\n }]\n }], target: [{\n type: ViewChild,\n args: ['target', {\n read: ViewContainerRef,\n static: true,\n }]\n }], flyoutHeader: [{\n type: ViewChild,\n args: ['flyoutHeader', {\n read: ElementRef,\n static: true,\n }]\n }], onWindowResize: [{\n type: HostListener,\n args: ['window:resize', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLGtCQUFrQixHQUNuQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXpFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSWxGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7QUFHbkUsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUM7QUFFM0MsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7O0dBRUc7QUErQkgsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsT0FBTyxDQUFLO0lBQ1osaUJBQWlCLENBQU07SUFFdkIsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBc0NELGVBQWUsQ0FBcUM7SUFFcEQsY0FBYyxDQUF1QjtJQUVyQyxlQUFlLENBQW1DO0lBRXpDLFFBQVEsQ0FBbUM7SUFDM0MsZUFBZSxDQUE2QjtJQUM1QyxvQkFBb0IsQ0FBc0M7SUFDMUQsb0JBQW9CLENBQStCO0lBQ25ELE9BQU8sQ0FBa0I7SUFDekIsaUJBQWlCLENBQWtDO0lBQ25ELGdCQUFnQixDQUE4QjtJQUV2RDtRQTVFTyxXQUFNLEdBQTRCO1lBQ3ZDLFlBQVksRUFBRSxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUM7WUFDbkMsUUFBUSxFQUFFLEdBQUc7WUFDYixRQUFRLEVBQUUsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDO1lBQy9CLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUNLLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLCtCQUEwQixHQUFHLEtBQUssQ0FBQztRQUNuQyxhQUFRLEdBQUcsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7UUFDbEMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFFdEMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQU1oQixjQUFTLEdBQXVCLEVBQUUsQ0FBQztRQUVuQyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFFcEMsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBRS9COztXQUVHO1FBQ0ksY0FBUyxHQUFHLEVBQUUsQ0FBQztRQXVCWixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJOUMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXJDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7UUFFekMsYUFBUSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMseUJBQW9CLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDMUQseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbkQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixzQkFBaUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNuRCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUdyRCxnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxPQUF5QixFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFFBQVE7UUFDYiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBR00sY0FBYyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQWdCLENBQUM7UUFFdEMsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUN0QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQ1gsU0FBa0IsRUFDbEIsTUFBd0IsRUFDeEIsbUJBQXlDO1FBRXpDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QixpRUFBaUU7UUFDakUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3pCO1lBQ0UsWUFBWSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQztZQUNuQyxRQUFRLEVBQUUsR0FBRztZQUNiLFFBQVEsRUFBRSxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUM7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVEsRUFBRTt3QkFDUixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87NkJBQ2pCLFlBQVksRUFBRTs2QkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDeEM7aUJBQ0Y7YUFDRjtTQUNGLEVBQ0QsTUFBTSxDQUNQLENBQUM7UUFDRixJQUFJLE1BQU0sRUFBRSxZQUFZLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLElBQUksS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsOEJBQThCO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsOEJBQThCLElBQUksS0FBSyxDQUFDO1FBRXRELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjO1lBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUs7Z0JBQ2xELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLO2dCQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxrQkFBa0I7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSztnQkFDMUQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUs7Z0JBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFNUQsbUJBQW1CLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ2xELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO1lBQ3hFLG1CQUFtQixFQUFFLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNO1NBQzlCLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVFLDJGQUEyRjtRQUMzRix5REFBeUQ7UUFDekQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQywrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLElBQUk7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztpQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDeEIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7Z0JBQ3ZDLENBQUM7cUJBQU0sQ0FBQztvQkFDTiw2Q0FBNkM7b0JBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7Z0JBQzlDLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDNUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxLQUFLO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFOUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLENBQUM7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCwwQkFBMEI7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUztZQUN6QyxDQUFDLENBQUMsaUJBQWlCO1lBQ25CLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztJQUMxQixDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQXFCO1FBQ3hDLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU0sMkJBQTJCLENBQUMsS0FBaUI7UUFDbEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxLQUFvQjtRQUNuRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQW9CO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBaUI7UUFDOUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU3QixJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLFNBQVMsQ0FBYSxRQUFRLEVBQUUsV0FBVyxDQUFDO2FBQ3pDLElBQUksQ0FDSCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVMLFNBQVMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO2FBQzNCLElBQUksQ0FDSCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBaUI7UUFDbEMsa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzdDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFN0IsS0FBSyxJQUFJLE9BQU8sQ0FBQztRQUVqQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqRSxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUV6QixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxlQUFlO1FBQ3BCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sNkJBQTZCO1FBQ2xDLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRU0seUJBQXlCO1FBQzlCLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUksU0FBWTtRQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGlCQUFpQixDQUFJLFNBQVMsQ0FBQyxDQUFDO1FBRXJELFFBQVEsQ0FBQyxjQUFjO2FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxPQUF5QjtRQUMvQyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixLQUFLLG9CQUFvQixDQUFDLElBQUk7Z0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDeEIsQ0FBQztnQkFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLEtBQUs7Z0JBQzdCLElBQ0csSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUE0QixFQUFFLFNBQVM7cUJBQzNELE1BQU0sS0FBSyxDQUFDO29CQUNmLE9BQU8sQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQy9CLENBQUM7b0JBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixDQUFDO3FCQUFNLENBQUM7b0JBQ0wsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUE0QixFQUFFLElBQUksQ0FDdkQsSUFBSSwyQkFBMkIsQ0FBQyxHQUFHLEVBQUU7d0JBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO3dCQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDekIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztnQkFDSixDQUFDO2dCQUNELE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLHdCQUF3QjtnQkFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUM7Z0JBQy9DLE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLDRCQUE0QjtnQkFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsR0FBRyxLQUFLLENBQUM7Z0JBQ25ELE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLHlCQUF5QjtnQkFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7Z0JBQzlDLE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLDZCQUE2QjtnQkFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUM7Z0JBQ2xELE1BQU07UUFDVixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQixTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVzthQUM5QixDQUFDO2lCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsU0FBUztZQUNSLGdFQUFnRTtZQUNoRSxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQ1IsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO1FBRUQsb0VBQW9FO1FBQ3BFLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDdEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLDZFQUE2RTtRQUM3RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBb0I7UUFDdkMsMEJBQTBCO1FBQzFCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLFFBQVEsVUFBVSxFQUFFLENBQUM7Z0JBQ25CLEtBQUssT0FBTyxDQUFDO2dCQUNiLEtBQUssR0FBRztvQkFDTixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7b0JBQzNELE1BQU07Z0JBQ1IsS0FBSyxLQUFLO29CQUNSLDBCQUEwQjtvQkFDMUIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzt3QkFDaEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztvQkFDdEMsQ0FBQztvQkFDRCxNQUFNO2dCQUNSLEtBQUssTUFBTTtvQkFDVCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO3dCQUNoQywwQkFBMEI7d0JBQzFCLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ3JCLENBQUM7d0JBQ0osQ0FBQztvQkFDSCxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7d0JBQ2hDLDBCQUEwQjt3QkFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7NEJBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDckIsQ0FBQzt3QkFDSixDQUFDO29CQUNILENBQUM7b0JBQ0QsTUFBTTtnQkFFUiwwQkFBMEI7Z0JBQzFCO29CQUNFLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsZ0JBQWdCLENBQUMsRUFBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsRUFBRSxFQUFFLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3Qiw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FuaEJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDZIQTFCbEIsQ0FBQyx1QkFBdUIsQ0FBQyw2R0FzRTVCLFVBQVUseUdBTVYsZ0JBQWdCLHFIQU1oQixVQUFVLDJDQ25KcEIsMC9JQStJQSwwcEhEL0RJLFVBQVUseUxBQ1YsWUFBWSxtU0FDWixZQUFZLGdSQUNaLDBCQUEwQixnR0FDMUIsYUFBYSx3S0FDYixhQUFhLHNJQUNiLDBCQUEwQiw4S0FDMUIsd0JBQXdCLDhCQUN4QixjQUFjLDBVQXRCSjtZQUNWLE9BQU8sQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDekQsS0FBSyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7Z0JBQ3BFLFVBQVUsQ0FBQyxXQUFXLEVBQUU7b0JBQ3RCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDO2lCQUNiLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDaEQsQ0FBQztTQUNIOzsyRkFlVSxrQkFBa0I7a0JBOUI5QixTQUFTOytCQUNFLFlBQVksYUFHWCxDQUFDLHVCQUF1QixDQUFDLGNBQ3hCO3dCQUNWLE9BQU8sQ0FBQyxhQUFhLEVBQUU7NEJBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQzs0QkFDekQsS0FBSyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7NEJBQ3BFLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2dDQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDOzZCQUNiLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7eUJBQ2hELENBQUM7cUJBQ0gsbUJBRWdCLHVCQUF1QixDQUFDLE9BQU8sV0FDdkM7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2Y7d0RBaURNLFNBQVM7c0JBSmYsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxNQUFNO3NCQUpaLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxZQUFZO3NCQUpsQixTQUFTO3VCQUFDLGNBQWMsRUFBRTt3QkFDekIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQXlDTSxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgSG9zdExpc3RlbmVyLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSxcbiAgU2t5VUlDb25maWdTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreUhyZWZNb2R1bGUgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2ZseW91dC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRJdGVyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lGbHlvdXRBY3Rpb24gfSBmcm9tICcuL3R5cGVzL2ZseW91dC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QmVmb3JlQ2xvc2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q29uZmlnIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnLWludGVybmFsJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmltcG9ydCB7IFNreUZseW91dFBlcm1hbGluayB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LXBlcm1hbGluayc7XG5cbmNvbnN0IEZMWU9VVF9PUEVOX1NUQVRFID0gJ2ZseW91dE9wZW4nO1xuY29uc3QgRkxZT1VUX0NMT1NFRF9TVEFURSA9ICdmbHlvdXRDbG9zZWQnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZseW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbHlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mbHlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2VdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmx5b3V0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShGTFlPVVRfT1BFTl9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICdpbml0aWFsJyB9KSksXG4gICAgICBzdGF0ZShGTFlPVVRfQ0xPU0VEX1NUQVRFLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgyNTApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKGAqIDw9PiAqYCwgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgXSxcbiAgLy8gQWxsb3cgYXV0b21hdGljIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGNoaWxkIGNvbXBvbmVudHMuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgaW1wb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSxcbiAgICBTa3lIcmVmTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQsXG4gICAgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBjb25maWc6IFNreUZseW91dENvbmZpZ0ludGVybmFsID0ge1xuICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgIG1pbldpZHRoOiAzMjAsXG4gICAgbWF4V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICBwcm92aWRlcnM6IFtdLFxuICB9O1xuICBwdWJsaWMgZW5hYmxlVHJhcEZvY3VzID0gZmFsc2U7XG4gIHB1YmxpYyBlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuICBwdWJsaWMgZmx5b3V0SWQgPSBgc2t5LWZseW91dC0keysrbmV4dElkfWA7XG4gIHB1YmxpYyBmbHlvdXRTdGF0ZSA9IEZMWU9VVF9DTE9TRURfU1RBVEU7XG4gIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcbiAgcHVibGljIGlzT3BlbmluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBmbHlvdXRXaWR0aCA9IDA7XG4gIHB1YmxpYyBpbnN0YW5jZVJlYWR5ID0gZmFsc2U7XG4gIHB1YmxpYyBpc0RyYWdnaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBpc0Z1bGxzY3JlZW4gPSBmYWxzZTtcbiAgcHVibGljIHJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSBmYWxzZTtcblxuICAjeENvb3JkID0gMDtcbiAgI3dpbmRvd0J1ZmZlclNpemUgPSAyMDtcblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgcHVibGljIHBlcm1hbGluazogU2t5Rmx5b3V0UGVybWFsaW5rID0ge307XG5cbiAgcHVibGljIHBlcm1hbGlua0xhYmVsID0gJyc7XG5cbiAgcHVibGljIHByaW1hcnlBY3Rpb246IFNreUZseW91dEFjdGlvbiA9IHt9O1xuXG4gIHB1YmxpYyBwcmltYXJ5QWN0aW9uTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2lkdGhTdGVwID0gMTA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZmx5b3V0UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdmbHlvdXRIZWFkZXInLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBmbHlvdXRIZWFkZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHpJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDEwMDEpO1xuXG4gICNmbHlvdXRJbnN0YW5jZTogU2t5Rmx5b3V0SW5zdGFuY2U8YW55PiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4oKTtcblxuICByZWFkb25seSAjYWRhcHRlciA9IGluamVjdChTa3lGbHlvdXRBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNkeW5hbWljQ29tcG9uZW50U3ZjID0gaW5qZWN0KFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2Vudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIHJlYWRvbmx5ICNuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcmVhZG9ubHkgI3Jlc291cmNlc1NlcnZpY2UgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG4gIHJlYWRvbmx5ICN1aUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2t5VUlDb25maWdTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBBbGwgY29tbWFuZHMgZmxvdyB0aHJvdWdoIHRoZSBtZXNzYWdlIHN0cmVhbS5cbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpID0+IHtcbiAgICAgICAgdGhpcy4jaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuZmx5b3V0SGVhZGVyKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyLmFkanVzdEhlYWRlckZvckhlbHAodGhpcy5mbHlvdXRIZWFkZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93UmVzaXplKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI3NldEZ1bGxzY3JlZW4oKTtcblxuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBXaW5kb3c7XG5cbiAgICBpZiAodGFyZ2V0LmlubmVyV2lkdGggLSB0aGlzLmZseW91dFdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRhcmdldC5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3hDb29yZCA9IHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2g8VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZz86IFNreUZseW91dENvbmZpZyxcbiAgICBlbnZpcm9ubWVudEluamVjdG9yPzogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIHRoaXMuI2NsZWFuVGVtcGxhdGUoKTtcblxuICAgIC8vIEVtaXQgdGhlIGNsb3NlZCBldmVudCBvbiBhbnkgcHJldmlvdXNseSBvcGVuZWQgZmx5b3V0IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuI2ZseW91dEluc3RhbmNlKSB7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBtaW5XaWR0aDogMzIwLFxuICAgICAgICBtYXhXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgIHpJbmRleDogdGhpcy56SW5kZXgkXG4gICAgICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBjb25maWcsXG4gICAgKTtcbiAgICBpZiAoY29uZmlnPy5kZWZhdWx0V2lkdGggJiYgIWNvbmZpZz8ubWF4V2lkdGgpIHtcbiAgICAgIHRoaXMuY29uZmlnLm1heFdpZHRoID0gY29uZmlnPy5kZWZhdWx0V2lkdGg7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yID0gdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID1cbiAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgfHwgZmFsc2U7XG5cbiAgICB0aGlzLnBlcm1hbGluayA9IHRoaXMuY29uZmlnLnBlcm1hbGluayA/PyB7fTtcbiAgICB0aGlzLnBlcm1hbGlua0xhYmVsID1cbiAgICAgIHRoaXMuY29uZmlnLnBlcm1hbGluayAmJiB0aGlzLmNvbmZpZy5wZXJtYWxpbmsubGFiZWxcbiAgICAgICAgPyB0aGlzLmNvbmZpZy5wZXJtYWxpbmsubGFiZWxcbiAgICAgICAgOiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uJyk7XG5cbiAgICB0aGlzLnByaW1hcnlBY3Rpb24gPSB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uID8/IHt9O1xuICAgIHRoaXMucHJpbWFyeUFjdGlvbkxhYmVsID1cbiAgICAgIHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24gJiYgdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbi5sYWJlbFxuICAgICAgICA/IHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24ubGFiZWxcbiAgICAgICAgOiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b24nKTtcblxuICAgIGVudmlyb25tZW50SW5qZWN0b3IgfHw9IHRoaXMuI2Vudmlyb25tZW50SW5qZWN0b3I7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7XG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiB0aGlzLmNvbmZpZy5wcm92aWRlcnMsXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRhcmdldCxcbiAgICB9KTtcblxuICAgIC8qIHNhZmV0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY29tcG9uZW50UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbHlvdXQncyBpbnRlcm5hbCBjb21wb25lbnQgY291bGQgbm90IGJlIGNyZWF0ZWRcIik7XG4gICAgfVxuXG4gICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UgPSB0aGlzLiNjcmVhdGVGbHlvdXRJbnN0YW5jZTxUPihjb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuXG4gICAgLy8gVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB3ZSBkbyBub3QgcmVuZGVyIHRoZSBmbHlvdXQgdW50aWwgd2UgaGF2ZSBhdHRhY2hlZCB0aGUgY29tcG9uZW50LlxuICAgIC8vIFRoaXMgYWxsb3dzIHRoZSBhcmlhLWxhYmVsbGVkYnkgdG8gZnVuY3Rpb24gY29ycmVjdGx5LlxuICAgIHRoaXMuaW5zdGFuY2VSZWFkeSA9IHRydWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBPcGVuIHRoZSBmbHlvdXQgaW1tZWRpYXRlbHkuXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5nZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXkpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuZmx5b3V0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB2YWx1ZS5mbHlvdXRXaWR0aDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gQmFkIGRhdGEsIG9yIGNvbmZpZyBpcyB0aGUgZGVmYXVsdCBjb25maWcuXG4gICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLiNjaGVja0luaXRpYWxTaXplKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgdGhpcy4jY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNmbHlvdXRJbnN0YW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbnZva2VQcmltYXJ5QWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnByaW1hcnlBY3Rpb24uY2FsbGJhY2spIHtcbiAgICAgIHRoaXMucHJpbWFyeUFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLmNsb3NlQWZ0ZXJJbnZva2luZykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbmltYXRpb25TdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlUmVhZHkgJiYgdGhpcy5pc09wZW5pbmdcbiAgICAgID8gRkxZT1VUX09QRU5fU1RBVEVcbiAgICAgIDogRkxZT1VUX0NMT1NFRF9TVEFURTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfT1BFTl9TVEFURSkge1xuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfQ0xPU0VEX1NUQVRFKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKCk7XG4gICAgICB0aGlzLiNjbGVhblRlbXBsYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyR3JhYkhhbmRsZU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25SZXNpemVIYW5kbGVNb3VzZURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuI3hDb29yZCA9IGV2ZW50LmNsaWVudFg7XG5cbiAgICB0aGlzLiNhZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHMoZmFsc2UpO1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzRHJhZ2dpbmc7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobW92ZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25Nb3VzZU1vdmUobW92ZUV2ZW50KTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0RyYWdnaW5nO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uSGFuZGxlUmVsZWFzZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBTYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9mZnNldFggPSBldmVudC5jbGllbnRYIC0gdGhpcy4jeENvb3JkO1xuICAgIGxldCB3aWR0aCA9IHRoaXMuZmx5b3V0V2lkdGg7XG5cbiAgICB3aWR0aCAtPSBvZmZzZXRYO1xuXG4gICAgaWYgKHdpZHRoIDwgdGhpcy5jb25maWcubWluV2lkdGggfHwgd2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN4Q29vcmQgPSBldmVudC5jbGllbnRYO1xuICAgIH1cblxuICAgIHRoaXMuZmx5b3V0V2lkdGggPSB3aWR0aDtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9uSGFuZGxlUmVsZWFzZSgpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLiNhZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHModHJ1ZSk7XG4gICAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvck5leHRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UuaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gICNjcmVhdGVGbHlvdXRJbnN0YW5jZTxUPihjb21wb25lbnQ6IFQpOiBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU2t5Rmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50KTtcblxuICAgIGluc3RhbmNlLmhvc3RDb250cm9sbGVyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KG1lc3NhZ2UpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAjaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKTogdm9pZCB7XG4gICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbjpcbiAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2luaXRGb2N1c1RyYXAoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2U6XG4gICAgICAgIGlmIChcbiAgICAgICAgICAodGhpcy4jZmx5b3V0SW5zdGFuY2U/LmJlZm9yZUNsb3NlIGFzIFN1YmplY3Q8YW55Pik/Lm9ic2VydmVyc1xuICAgICAgICAgICAgLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgIG1lc3NhZ2UuZGF0YT8uaWdub3JlQmVmb3JlQ2xvc2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgKHRoaXMuI2ZseW91dEluc3RhbmNlPy5iZWZvcmVDbG9zZSBhcyBTdWJqZWN0PGFueT4pPy5uZXh0KFxuICAgICAgICAgICAgbmV3IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JOZXh0QnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gICNjbGVhblRlbXBsYXRlKCk6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0Py5jbGVhcigpO1xuICB9XG5cbiAgI3NldEZ1bGxzY3JlZW4oKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZSA8IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgI3NldFVzZXJEYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5zZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXksIHtcbiAgICAgICAgICBmbHlvdXRXaWR0aDogdGhpcy5mbHlvdXRXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSBmbHlvdXQgZGF0YS4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI2NoZWNrSW5pdGlhbFNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLmNvbmZpZy5taW5XaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1pbldpZHRoO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmx5b3V0V2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1heFdpZHRoO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgZmx5b3V0IGRvZXMgbm90IGxvYWQgbGFyZ2VyIHRoYW4gdGhlIHdpbmRvdyBhbmQgaXRzIGJ1ZmZlclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLiN3aW5kb3dCdWZmZXJTaXplKSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jeENvb3JkID0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0RnVsbHNjcmVlbigpO1xuICB9XG5cbiAgI2dldFN0cmluZyhrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmdGb3JMb2NhbGUoeyBsb2NhbGU6ICdlbi1VUycgfSwga2V5KTtcbiAgfVxuXG4gICNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQua2V5KSB7XG4gICAgICBjb25zdCBrZXlQcmVzc2VkID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnYXJyb3cnLCAnJyk7XG4gICAgICBzd2l0Y2ggKGtleVByZXNzZWQpIHtcbiAgICAgICAgY2FzZSAnZW50ZXInOlxuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICB0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSAhdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICBpZiAodGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlKSB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCArIHRoaXMud2lkdGhTdGVwLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLm1heFdpZHRoLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoID4gdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggLSB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5taW5XaWR0aCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aGVuIHRoZSB6b25lIGlzIHN0YWJsZS4gKi9cbiAgI2V4ZWN1dGVPblN0YWJsZShmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI25nWm9uZS5pc1N0YWJsZSkge1xuICAgICAgZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGZuKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdEZvY3VzVHJhcCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuYWJsZVRyYXBGb2N1c0F1dG9DYXB0dXJlID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVUcmFwRm9jdXMgPSBmYWxzZTtcbiAgICAvLyBXYWl0aW5nIGZvciB6b25lIHRvIGJlIHN0YWJsZSB3aWxsIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VBZnRlckNoZWNrZWRFcnJvci5cbiAgICB0aGlzLiNleGVjdXRlT25TdGFibGUoKCkgPT4ge1xuICAgICAgdGhpcy5lbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IHRydWU7XG4gICAgICB0aGlzLmVuYWJsZVRyYXBGb2N1cyA9IHRydWU7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2ZseW91dFJlZlxuICBjbGFzcz1cInNreS1mbHlvdXRcIlxuICBza3lSZXNwb25zaXZlSG9zdFxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2F0dHIucm9sZV09XCJjb25maWcuYXJpYVJvbGUgPyBjb25maWcuYXJpYVJvbGUgOiAnZGlhbG9nJ1wiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJjb25maWcuYXJpYUxhYmVsbGVkQnlcIlxuICBbYXR0ci5hcmlhLW1vZGFsXT1cIlxuICAgIGNvbmZpZy5hcmlhUm9sZSA9PT0gJ2RpYWxvZycgfHwgIWNvbmZpZy5hcmlhUm9sZSA/IHRydWUgOiBmYWxzZVxuICBcIlxuICBbYXR0ci5oaWRkZW5dPVwiIWluc3RhbmNlUmVhZHkgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgW2lkXT1cImZseW91dElkXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZmx5b3V0LWhpZGRlbic6ICFpc09wZW4gJiYgIWlzT3BlbmluZyxcbiAgICAnc2t5LWZseW91dC1mdWxsc2NyZWVuJzogaXNGdWxsc2NyZWVuXG4gIH1cIlxuICBbc3R5bGUuei1pbmRleF09XCJ6SW5kZXgkIHwgYXN5bmNcIlxuICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgJ3NreS1zaGFkb3cnOiAnZGVmYXVsdCcsXG4gICAgJ3NreS1lbGV2YXRpb24tOCc6ICdtb2Rlcm4nXG4gIH1cIlxuICBbQGZseW91dFN0YXRlXT1cImdldEFuaW1hdGlvblN0YXRlKClcIlxuICBbc3R5bGUud2lkdGgucHhdPVwiZmx5b3V0V2lkdGhcIlxuICBbY2RrVHJhcEZvY3VzXT1cImVuYWJsZVRyYXBGb2N1c1wiXG4gIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZVwiXG4gIChAZmx5b3V0U3RhdGUuZG9uZSk9XCJhbmltYXRpb25Eb25lKCRldmVudClcIlxuPlxuICA8ZGl2XG4gICAgI2ZseW91dEhlYWRlclxuICAgIGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXJcIlxuICAgIFtzdHlsZS56LWluZGV4XT1cInpJbmRleCQgfCBhc3luY1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItY29udGVudFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1mbHlvdXQtaGVhZGVyLWdyYWItaGFuZGxlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChrZXlkb3duKT1cIm9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25IZWFkZXJHcmFiSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uTmFtZT1cInJlLW9yZGVyLWRvdHMtdmVydGljYWxcIlxuICAgICAgICAgIGljb25TaXplPVwic1wiXG4gICAgICAgIC8+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgQGlmIChjb25maWcuc2hvd0l0ZXJhdG9yKSB7XG4gICAgICAgIDxza3ktZmx5b3V0LWl0ZXJhdG9yXG4gICAgICAgICAgW25leHRCdXR0b25EaXNhYmxlZF09XCJjb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgIFtwcmV2aW91c0J1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgIChuZXh0QnV0dG9uQ2xpY2spPVwib25JdGVyYXRvck5leHRCdXR0b25DbGljaygpXCJcbiAgICAgICAgICAocHJldmlvdXNCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcm1hbGlua1RlbXBsYXRlXCIgLz5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcmltYXJ5QWN0aW9uVGVtcGxhdGVcIiAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tY2xvc2Ugc2t5LWxhYmVsLWljb24tdGhlbWUtZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb25OYW1lPVwiY2xvc2VcIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1jb250ZW50XCI+XG4gICAgPGRpdiAjdGFyZ2V0PjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZseW91dC1yZXNpemUtaGFuZGxlXCJcbiAgICByb2xlPVwic2VwYXJhdG9yXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJmbHlvdXRJZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X3Jlc2l6ZV9oYW5kbGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cImNvbmZpZy5tYXhXaWR0aFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJjb25maWcubWluV2lkdGhcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiZmx5b3V0V2lkdGhcIlxuICAgIChrZXlkb3duKT1cIm9uUmVzaXplSGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uUmVzaXplSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICA+PC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwZXJtYWxpbmtUZW1wbGF0ZT5cbiAgQGlmIChwZXJtYWxpbmspIHtcbiAgICBAaWYgKHBlcm1hbGluay51cmwpIHtcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1wZXJtYWxpbmtcIlxuICAgICAgICBbc2t5SHJlZl09XCJwZXJtYWxpbmsudXJsXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tbGluay1pbmxpbmUnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIH0gQGVsc2UgaWYgKHBlcm1hbGluay5yb3V0ZSkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGlua1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cInBlcm1hbGluay5yb3V0ZS5jb21tYW5kc1wiXG4gICAgICAgIFtmcmFnbWVudF09XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5mcmFnbWVudFwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWxpbmstaW5saW5lJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICBbc3RhdGVdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8uc3RhdGVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBlcm1hbGlua0xhYmVsIH19XG4gICAgICA8L2E+XG4gICAgfVxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ByaW1hcnlBY3Rpb25UZW1wbGF0ZT5cbiAgQGlmIChwcmltYXJ5QWN0aW9uICYmIHByaW1hcnlBY3Rpb24uY2FsbGJhY2spIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1wcmltYXJ5LWFjdGlvblwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktYnRuLWxpbmstaW5saW5lJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cImludm9rZVByaW1hcnlBY3Rpb24oKVwiXG4gICAgPlxuICAgICAge3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyFlyoutModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent], exports: [SkyFlyoutComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [SkyFlyoutComponent],\n exports: [SkyFlyoutComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXhELE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQUhoQixrQkFBa0IsYUFDbEIsa0JBQWtCOytHQUVqQixlQUFlLFlBSGhCLGtCQUFrQjs7MkZBR2pCLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZseW91dENvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lGbHlvdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5Rmx5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TW9kdWxlIHt9XG4iXX0=","var _a;\nimport { EnvironmentInjector, Injectable, inject, } from '@angular/core';\nimport { NavigationStart } from '@angular/router';\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\nimport * as i2 from \"@angular/router\";\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n */\nexport class SkyFlyoutService {\n #removeAfterClosed = false;\n #isOpening = false;\n #ngUnsubscribe = new Subject();\n #coreAdapter;\n #windowRef;\n #dynamicComponentService;\n #environmentInjector = inject(EnvironmentInjector);\n #router;\n #ngZone;\n constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {\n this.#coreAdapter = coreAdapter;\n this.#windowRef = windowRef;\n this.#dynamicComponentService = dynamicComponentService;\n this.#router = router;\n this.#ngZone = ngZone;\n }\n ngOnDestroy() {\n this.#removeListeners();\n if (_a.host) {\n this.#removeHostComponent();\n }\n }\n /**\n * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.\n * @param args Arguments used when closing the flyout.\n */\n close(args) {\n if (_a.host && !this.#isOpening) {\n _a.host.instance.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n data: {\n ignoreBeforeClose: args ? args.ignoreBeforeClose : false,\n },\n });\n }\n }\n /**\n * Opens a flyout and displays the specified component.\n * @param component Specifies the component to render.\n * @param config Specifies the flyout configuration passed to the specified component's constructor.\n */\n open(component, config) {\n // isOpening flag will prevent close() from firing when open() is also fired.\n this.#isOpening = true;\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#isOpening = false;\n });\n if (!_a.host) {\n _a.host = this.#createHostComponent();\n this.#router.events\n .pipe(takeWhile(() => _a.host !== undefined))\n .subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.close();\n // Sanity check - if the host still exists after animations should have completed - remove host\n this.#ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (_a.host) {\n this.#removeHostComponent();\n }\n });\n }\n });\n }\n const flyout = _a.host.instance.attach(component, config, this.#environmentInjector);\n this.#addListeners(flyout);\n return flyout;\n }\n #createHostComponent() {\n _a.host =\n this.#dynamicComponentService.createComponent(SkyFlyoutComponent);\n return _a.host;\n }\n #removeHostComponent() {\n if (_a.host) {\n this.#dynamicComponentService.removeComponent(_a.host);\n _a.host = undefined;\n }\n }\n #addListeners(flyout) {\n /* istanbul ignore else */\n if (_a.host) {\n const flyoutInstance = _a.host.instance;\n let doClose = false;\n /**\n * Handles when to close a flyout.\n * Note: We're using `mouseup` in order to capture the parent of certain targets that will be\n * deleted immediately after being clicked. If we use `click`, the event is fired after the\n * element is removed from the DOM making it impossible to check the parent's z-index\n * relative to the flyout's container.\n */\n fromEvent(document, 'mouseup')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event) => {\n doClose = false;\n if (_a.host?.instance.isDragging) {\n return;\n }\n if (flyoutInstance.flyoutRef?.nativeElement.contains(event.target)) {\n return;\n }\n const isAbove = event.target === document || !event.target\n ? false\n : this.#coreAdapter.isTargetAboveElement(event.target, flyoutInstance.flyoutRef?.nativeElement);\n /* istanbul ignore else */\n if (!isAbove) {\n doClose = true;\n }\n });\n /**\n * Check if we should close the flyout specifically on a `click` event so that we can keep\n * it open when consumers fire another `click` event on a trigger button. Since the consumer\n * will likely use a `click` event to open the flyout, we want to wait for that event to fire\n * before determining if the flyout should be closed.\n */\n fromEvent(document, 'click')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (doClose) {\n this.close();\n }\n });\n this.#removeAfterClosed = false;\n flyoutInstance.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n if (message.type === SkyFlyoutMessageType.Close) {\n this.#removeAfterClosed = true;\n this.#isOpening = false;\n }\n });\n flyout.closed.pipe(take(1)).subscribe(() => {\n this.#removeListeners();\n if (this.#removeAfterClosed) {\n this.#removeHostComponent();\n }\n });\n }\n }\n #removeListeners() {\n this.#ngUnsubscribe.next(true);\n this.#ngUnsubscribe.unsubscribe();\n this.#ngUnsubscribe = new Subject();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutService, providedIn: 'root' }); }\n}\n_a = SkyFlyoutService;\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }] });\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n * @internal\n * @deprecated Use `SkyFlyoutService` to open a standalone component instead.\n */\nexport class SkyFlyoutLegacyService extends SkyFlyoutService {\n /* istanbul ignore next */\n constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {\n super(coreAdapter, windowRef, dynamicComponentService, router, ngZone);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutLegacyService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentLegacyService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutLegacyService, providedIn: 'any' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutLegacyService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'any',\n }]\n }], ctorParameters: () => [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentLegacyService }, { type: i2.Router }, { type: i0.NgZone }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUlWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFRMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFeEMsWUFBWSxDQUF3QjtJQUNwQyxVQUFVLENBQWtCO0lBQzVCLHdCQUF3QixDQUE2QjtJQUNyRCxvQkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxPQUFPLENBQVM7SUFDaEIsT0FBTyxDQUFTO0lBRWhCLFlBQ0UsV0FBa0MsRUFDbEMsU0FBMEIsRUFDMUIsdUJBQW1ELEVBQ25ELE1BQWMsRUFDZCxNQUFjO1FBRWQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFD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Ozs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUE4TEQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUMxRCwwQkFBMEI7SUFDMUIsWUFDRSxXQUFrQyxFQUNsQyxTQUEwQixFQUMxQix1QkFBeUQsRUFDekQsTUFBYyxFQUNkLE1BQWM7UUFFZCxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FWVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZyQixLQUFLOzsyRkFFTixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50TGVnYWN5U2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI3JlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICNpc09wZW5pbmcgPSBmYWxzZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG4gICNkeW5hbWljQ29tcG9uZW50U2VydmljZTogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2U7XG4gICNlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy4jbmdab25lID0gbmdab25lO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZUxpc3RlbmVycygpO1xuICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0ICYmICF0aGlzLiNpc09wZW5pbmcpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZS5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZmx5b3V0IGFuZCBkaXNwbGF5cyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBjb25maWcgU3BlY2lmaWVzIHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBwYXNzZWQgdG8gdGhlIHNwZWNpZmllZCBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHB1YmxpYyBvcGVuPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWcsXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuI2lzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCFTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9IHRoaXMuI2NyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy4jcm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gU2t5Rmx5b3V0U2VydmljZS5ob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmbHlvdXQgPSBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QuaW5zdGFuY2UuYXR0YWNoKFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY29uZmlnLFxuICAgICAgdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICApO1xuXG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgI2NyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9XG4gICAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoU2t5Rmx5b3V0Q29tcG9uZW50KTtcbiAgICByZXR1cm4gU2t5Rmx5b3V0U2VydmljZS5ob3N0O1xuICB9XG5cbiAgI3JlbW92ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KFNreUZseW91dFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2FkZExpc3RlbmVyczxUPihmbHlvdXQ6IFNreUZseW91dEluc3RhbmNlPFQ+KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZTtcblxuICAgICAgbGV0IGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBIYW5kbGVzIHdoZW4gdG8gY2xvc2UgYSBmbHlvdXQuXG4gICAgICAgKiBOb3RlOiBXZSdyZSB1c2luZyBgbW91c2V1cGAgaW4gb3JkZXIgdG8gY2FwdHVyZSB0aGUgcGFyZW50IG9mIGNlcnRhaW4gdGFyZ2V0cyB0aGF0IHdpbGwgYmVcbiAgICAgICAqIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYmVpbmcgY2xpY2tlZC4gSWYgd2UgdXNlIGBjbGlja2AsIHRoZSBldmVudCBpcyBmaXJlZCBhZnRlciB0aGVcbiAgICAgICAqIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gbWFraW5nIGl0IGltcG9zc2libGUgdG8gY2hlY2sgdGhlIHBhcmVudCdzIHotaW5kZXhcbiAgICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmbHlvdXQncyBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgIGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3Q/Lmluc3RhbmNlLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnQgfHwgIWV2ZW50LnRhcmdldFxuICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgIDogdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0Fib3ZlKSB7XG4gICAgICAgICAgICBkb0Nsb3NlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrIGlmIHdlIHNob3VsZCBjbG9zZSB0aGUgZmx5b3V0IHNwZWNpZmljYWxseSBvbiBhIGBjbGlja2AgZXZlbnQgc28gdGhhdCB3ZSBjYW4ga2VlcFxuICAgICAgICogaXQgb3BlbiB3aGVuIGNvbnN1bWVycyBmaXJlIGFub3RoZXIgYGNsaWNrYCBldmVudCBvbiBhIHRyaWdnZXIgYnV0dG9uLiBTaW5jZSB0aGUgY29uc3VtZXJcbiAgICAgICAqIHdpbGwgbGlrZWx5IHVzZSBhIGBjbGlja2AgZXZlbnQgdG8gb3BlbiB0aGUgZmx5b3V0LCB3ZSB3YW50IHRvIHdhaXQgZm9yIHRoYXQgZXZlbnQgdG8gZmlyZVxuICAgICAgICogYmVmb3JlIGRldGVybWluaW5nIGlmIHRoZSBmbHlvdXQgc2hvdWxkIGJlIGNsb3NlZC5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChkb0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jcmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgICAgIGZseW91dEluc3RhbmNlLm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGZseW91dC5jbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNyZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCh0cnVlKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMYXVuY2hlcyBmbHlvdXRzIGFuZCBwcm92aWRlcyBhIGNvbW1vbiBsb29rIGFuZCBmZWVsLlxuICogVGhpcyBzZXJ2aWNlIGR5bmFtaWNhbGx5IGdlbmVyYXRlcyB0aGUgZmx5b3V0IGNvbXBvbmVudCBhbmQgYXBwZW5kcyBpdCBkaXJlY3RseSB0byB0aGVcbiAqIGRvY3VtZW50J3MgYGJvZHlgIGVsZW1lbnQuIFRoZSBgU2t5Rmx5b3V0SW5zdGFuY2VgIGNsYXNzIHdhdGNoZXMgZm9yIGFuZCB0cmlnZ2VycyBmbHlvdXQgZXZlbnRzLlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreUZseW91dFNlcnZpY2VgIHRvIG9wZW4gYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbnN0ZWFkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRMZWdhY3lTZXJ2aWNlIGV4dGVuZHMgU2t5Rmx5b3V0U2VydmljZSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihjb3JlQWRhcHRlciwgd2luZG93UmVmLCBkeW5hbWljQ29tcG9uZW50U2VydmljZSwgcm91dGVyLCBuZ1pvbmUpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZmx5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvc2t5dXgtZmx5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i5","i7"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-flyout.mjs","sources":["../tmp-esm2022/lib/modules/flyout/types/flyout-message-type.js","../tmp-esm2022/lib/modules/flyout/flyout-instance.js","../tmp-esm2022/lib/modules/shared/sky-flyout-resources.module.js","../tmp-esm2022/lib/modules/flyout/flyout-adapter.service.js","../tmp-esm2022/lib/modules/flyout/flyout-iterator.component.js","../tmp-esm2022/lib/modules/flyout/types/flyout-before-close-handler.js","../tmp-esm2022/lib/modules/flyout/flyout.component.js","../tmp-esm2022/lib/modules/flyout/flyout.module.js","../tmp-esm2022/lib/modules/flyout/flyout.service.js","../tmp-esm2022/skyux-flyout.js"],"sourcesContent":["/**\n * @internal\n */\nexport var SkyFlyoutMessageType;\n(function (SkyFlyoutMessageType) {\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"Open\"] = 0] = \"Open\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"Close\"] = 1] = \"Close\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"EnableIteratorNextButton\"] = 2] = \"EnableIteratorNextButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"EnableIteratorPreviousButton\"] = 3] = \"EnableIteratorPreviousButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"DisableIteratorNextButton\"] = 4] = \"DisableIteratorNextButton\";\n SkyFlyoutMessageType[SkyFlyoutMessageType[\"DisableIteratorPreviousButton\"] = 5] = \"DisableIteratorPreviousButton\";\n})(SkyFlyoutMessageType || (SkyFlyoutMessageType = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksb0JBT1g7QUFQRCxXQUFZLG9CQUFvQjtJQUM5QiwrREFBUSxDQUFBO0lBQ1IsaUVBQUssQ0FBQTtJQUNMLHVHQUF3QixDQUFBO0lBQ3hCLCtHQUE0QixDQUFBO0lBQzVCLHlHQUF5QixDQUFBO0lBQ3pCLGlIQUE2QixDQUFBO0FBQy9CLENBQUMsRUFQVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBTy9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGVudW0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUge1xuICBPcGVuID0gMCxcbiAgQ2xvc2UsXG4gIEVuYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b24sXG59XG4iXX0=","import { EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\n/**\n * Represents a single displayed flyout.\n */\nexport class SkyFlyoutInstance {\n /**\n * An event that the flyout instance emits when it is about to close.\n * If a subscription exists for this event,\n * the flyout does not close until the subscriber calls the handler's `closeModal` method.\n */\n get beforeClose() {\n return this.#_beforeClose;\n }\n /**\n * Used to communicate with the host component.\n * @internal\n */\n get hostController() {\n return this.#_hostController;\n }\n /**\n * An event that the flyout instance emits when users click the next iterator button.\n */\n get iteratorNextButtonClick() {\n return this.#_iteratorNextButtonClick;\n }\n /**\n * An event that the flyout instance emits when users click the previous iterator button.\n */\n get iteratorPreviousButtonClick() {\n return this.#_iteratorPreviousButtonClick;\n }\n /**\n * Disables the next iterator button.\n * @default false\n */\n set iteratorNextButtonDisabled(newValue) {\n this.#_iteratorNextButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorNextButton,\n });\n }\n else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorNextButton,\n });\n }\n }\n get iteratorNextButtonDisabled() {\n return this.#_iteratorNextButtonDisabled;\n }\n /**\n * Disables the previous iterator button.\n * @default false\n */\n set iteratorPreviousButtonDisabled(newValue) {\n this.#_iteratorPreviousButtonDisabled = newValue;\n if (newValue) {\n this.hostController.next({\n type: SkyFlyoutMessageType.DisableIteratorPreviousButton,\n });\n }\n else {\n this.hostController.next({\n type: SkyFlyoutMessageType.EnableIteratorPreviousButton,\n });\n }\n }\n get iteratorPreviousButtonDisabled() {\n return this.#_iteratorPreviousButtonDisabled;\n }\n #_beforeClose;\n #_iteratorNextButtonClick;\n #_iteratorPreviousButtonClick;\n #_iteratorNextButtonDisabled;\n #_iteratorPreviousButtonDisabled;\n #_hostController;\n // TODO: Remove this being optional in a future breaking change.\n constructor(componentInstance) {\n /**\n * An event that the flyout instance emits when it closes.\n */\n this.closed = new EventEmitter();\n /**\n * A `boolean` value that returns `true` if the flyout is open.\n * @default true\n */\n this.isOpen = true;\n this.#_beforeClose = new Subject();\n this.#_iteratorNextButtonClick = new EventEmitter();\n this.#_iteratorPreviousButtonClick = new EventEmitter();\n this.#_iteratorNextButtonDisabled = false;\n this.#_iteratorPreviousButtonDisabled = false;\n this.#_hostController = new Subject();\n if (!componentInstance) {\n console.warn(`The SkyFlyoutInstance was created without a reference to the flyout's child component instance.\n The instance will not have a reference to this child component.\n Support for creating an instance without this reference will be removed in a future breaking change.`);\n }\n this.componentInstance = componentInstance;\n this.closed.subscribe(() => {\n this.isOpen = false;\n });\n }\n /**\n * Closes the flyout instance and emits its `closed` event.\n * @param args Arguments used when closing the flyout.\n */\n close(args) {\n this.hostController.next({\n type: SkyFlyoutMessageType.Close,\n data: { ignoreBeforeClose: args ? args.ignoreBeforeClose : false },\n });\n this.#_iteratorPreviousButtonClick.complete();\n this.#_iteratorNextButtonClick.complete();\n this.hostController.complete();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7O09BSUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFZRDs7O09BR0c7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVFEOztPQUVHO0lBQ0gsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDcEMsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsMEJBQTBCLENBQUMsUUFBaUI7UUFDckQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLFFBQVEsQ0FBQztRQUM3QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyx5QkFBeUI7YUFDckQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDdkIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLHdCQUF3QjthQUNwRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsMEJBQTBCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLDhCQUE4QixDQUFDLFFBQWlCO1FBQ3pELElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxRQUFRLENBQUM7UUFDakQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsNkJBQTZCO2FBQ3pELENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyw0QkFBNEI7YUFDeEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLDhCQUE4QjtRQUN2QyxPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQztJQUMvQyxDQUFDO0lBRUQsYUFBYSxDQUE4QztJQUUzRCx5QkFBeUIsQ0FBNEI7SUFFckQsNkJBQTZCLENBQTRCO0lBRXpELDRCQUE0QixDQUFTO0lBRXJDLGdDQUFnQyxDQUFTO0lBRXpDLGdCQUFnQixDQUFtQztJQUVuRCxnRUFBZ0U7SUFDaEUsWUFBWSxpQkFBcUI7UUE3RmpDOztXQUVHO1FBQ0ksV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFlekM7OztXQUdHO1FBQ0ksV0FBTSxHQUFHLElBQUksQ0FBQztRQTBEckIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBK0IsQ0FBQztRQUUzRCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJELGtDQUE2QixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekQsaUNBQTRCLEdBQUcsS0FBSyxDQUFDO1FBRXJDLHFDQUFnQyxHQUFHLEtBQUssQ0FBQztRQUV6QyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQztRQUlqRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsSUFBSSxDQUNWOzs2R0FFcUcsQ0FDdEcsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWtCLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxJQUF5QjtRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsS0FBSztZQUNoQyxJQUFJLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO1NBQ25FLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXIgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1iZWZvcmUtY2xvc2UtaGFuZGxlcic7XG5pbXBvcnQgeyBTa3lGbHlvdXRDbG9zZUFyZ3MgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jbG9zZS1hcmdzJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGRpc3BsYXllZCBmbHlvdXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBmbHlvdXQgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBpcyBhYm91dCB0byBjbG9zZS5cbiAgICogSWYgYSBzdWJzY3JpcHRpb24gZXhpc3RzIGZvciB0aGlzIGV2ZW50LFxuICAgKiB0aGUgZmx5b3V0IGRvZXMgbm90IGNsb3NlIHVudGlsIHRoZSBzdWJzY3JpYmVyIGNhbGxzIHRoZSBoYW5kbGVyJ3MgYGNsb3NlTW9kYWxgIG1ldGhvZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTxTa3lGbHlvdXRCZWZvcmVDbG9zZUhhbmRsZXI+IHtcbiAgICByZXR1cm4gdGhpcy4jX2JlZm9yZUNsb3NlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGV2ZW50IHRoYXQgdGhlIGZseW91dCBpbnN0YW5jZSBlbWl0cyB3aGVuIGl0IGNsb3Nlcy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50IHRvIGRpc3BsYXkgaW4gdGhlIGZseW91dC5cbiAgICovXG4gIHB1YmxpYyBjb21wb25lbnRJbnN0YW5jZSE6IFQ7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgaG9zdCBjb21wb25lbnQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldCBob3N0Q29udHJvbGxlcigpOiBTdWJqZWN0PFNreUZseW91dE1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jX2hvc3RDb250cm9sbGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgYGJvb2xlYW5gIHZhbHVlIHRoYXQgcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGZseW91dCBpcyBvcGVuLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBwdWJsaWMgaXNPcGVuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIG5leHQgaXRlcmF0b3IgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGdldCBpdGVyYXRvck5leHRCdXR0b25DbGljaygpOiBFdmVudEVtaXR0ZXI8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogQW4gZXZlbnQgdGhhdCB0aGUgZmx5b3V0IGluc3RhbmNlIGVtaXRzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrKCk6IEV2ZW50RW1pdHRlcjx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI19pdGVyYXRvclByZXZpb3VzQnV0dG9uQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIG5leHQgaXRlcmF0b3IgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljIHNldCBpdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZChuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvck5leHRCdXR0b24sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZXMgdGhlIHByZXZpb3VzIGl0ZXJhdG9yIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBzZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IG5ld1ZhbHVlO1xuICAgIGlmIChuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yUHJldmlvdXNCdXR0b24sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0Q29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkO1xuICB9XG5cbiAgI19iZWZvcmVDbG9zZSA9IG5ldyBTdWJqZWN0PFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcj4oKTtcblxuICAjX2l0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICNfaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcblxuICAjX2l0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfaG9zdENvbnRyb2xsZXIgPSBuZXcgU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPigpO1xuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzIGJlaW5nIG9wdGlvbmFsIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS5cbiAgY29uc3RydWN0b3IoY29tcG9uZW50SW5zdGFuY2U/OiBUKSB7XG4gICAgaWYgKCFjb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgVGhlIFNreUZseW91dEluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGhvdXQgYSByZWZlcmVuY2UgdG8gdGhlIGZseW91dCdzIGNoaWxkIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICAgICAgVGhlIGluc3RhbmNlIHdpbGwgbm90IGhhdmUgYSByZWZlcmVuY2UgdG8gdGhpcyBjaGlsZCBjb21wb25lbnQuXG4gICAgICAgIFN1cHBvcnQgZm9yIGNyZWF0aW5nIGFuIGluc3RhbmNlIHdpdGhvdXQgdGhpcyByZWZlcmVuY2Ugd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZS5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50SW5zdGFuY2UhO1xuICAgIHRoaXMuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgZmx5b3V0IGluc3RhbmNlIGFuZCBlbWl0cyBpdHMgYGNsb3NlZGAgZXZlbnQuXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RDb250cm9sbGVyLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UsXG4gICAgICBkYXRhOiB7IGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLiNfaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jX2l0ZXJhdG9yTmV4dEJ1dHRvbkNsaWNrLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmhvc3RDb250cm9sbGVyLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==","/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-flyout' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_flyout_close: { message: 'Close flyout' },\n skyux_flyout_iterator_previous_button: { message: 'Previous' },\n skyux_flyout_iterator_next_button: { message: 'Next' },\n skyux_flyout_permalink_button: { message: 'View record' },\n skyux_flyout_primary_action_button: { message: 'Create list' },\n skyux_flyout_resize_handle: {\n message: 'Resize the flyout window. Press the enter or space key to activate, then use left arrow key to expand the flyout window and right arrow key to shrink the flyout window. Press the enter, space, or tab key to deactivate.',\n },\n },\n 'FR-CA': {\n skyux_flyout_close: { message: 'Fermer la fenêtre contextuelle' },\n skyux_flyout_iterator_previous_button: { message: 'Précédent' },\n skyux_flyout_iterator_next_button: { message: 'Suivant' },\n skyux_flyout_permalink_button: { message: 'Visualiser le dossier' },\n skyux_flyout_primary_action_button: { message: 'Créer une liste' },\n skyux_flyout_resize_handle: {\n message: 'Redimensionnez la fenêtre contextuelle. Appuyez sur la touche Entrée ou Espace pour l’activer, puis utiliser la flèche de gauche pour agrandir la fenêtre contextuelle et la flèche de droite pour réduire la fenêtre contextuelle. Appuyez sur la touche Entrée, Espace ou Tabulation pour la désactiver.',\n },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyFlyoutResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asa0JBQWtCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQy9DLHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUM5RCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDdEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQ3pELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM5RCwwQkFBMEIsRUFBRTtZQUMxQixPQUFPLEVBQ0wsNE5BQTROO1NBQy9OO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxrQkFBa0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRTtRQUNqRSxxQ0FBcUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDL0QsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQ3pELDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFO1FBQ25FLGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO1FBQ2xFLDBCQUEwQixFQUFFO1lBQzFCLE9BQU8sRUFDTCw0U0FBNFM7U0FDL1M7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixZQUZ6QixhQUFhOytHQUVaLHdCQUF3QixZQUZ6QixhQUFhOzsyRkFFWix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1mbHlvdXQnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Nsb3NlIGZseW91dCcgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfcHJldmlvdXNfYnV0dG9uOiB7IG1lc3NhZ2U6ICdQcmV2aW91cycgfSxcbiAgICBza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b246IHsgbWVzc2FnZTogJ05leHQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X3Blcm1hbGlua19idXR0b246IHsgbWVzc2FnZTogJ1ZpZXcgcmVjb3JkJyB9LFxuICAgIHNreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b246IHsgbWVzc2FnZTogJ0NyZWF0ZSBsaXN0JyB9LFxuICAgIHNreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnUmVzaXplIHRoZSBmbHlvdXQgd2luZG93LiBQcmVzcyB0aGUgZW50ZXIgb3Igc3BhY2Uga2V5IHRvIGFjdGl2YXRlLCB0aGVuIHVzZSBsZWZ0IGFycm93IGtleSB0byBleHBhbmQgdGhlIGZseW91dCB3aW5kb3cgYW5kIHJpZ2h0IGFycm93IGtleSB0byBzaHJpbmsgdGhlIGZseW91dCB3aW5kb3cuIFByZXNzIHRoZSBlbnRlciwgc3BhY2UsIG9yIHRhYiBrZXkgdG8gZGVhY3RpdmF0ZS4nLFxuICAgIH0sXG4gIH0sXG4gICdGUi1DQSc6IHtcbiAgICBza3l1eF9mbHlvdXRfY2xvc2U6IHsgbWVzc2FnZTogJ0Zlcm1lciBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUnIH0sXG4gICAgc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX3ByZXZpb3VzX2J1dHRvbjogeyBtZXNzYWdlOiAnUHLDqWPDqWRlbnQnIH0sXG4gICAgc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX25leHRfYnV0dG9uOiB7IG1lc3NhZ2U6ICdTdWl2YW50JyB9LFxuICAgIHNreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uOiB7IG1lc3NhZ2U6ICdWaXN1YWxpc2VyIGxlIGRvc3NpZXInIH0sXG4gICAgc2t5dXhfZmx5b3V0X3ByaW1hcnlfYWN0aW9uX2J1dHRvbjogeyBtZXNzYWdlOiAnQ3LDqWVyIHVuZSBsaXN0ZScgfSxcbiAgICBza3l1eF9mbHlvdXRfcmVzaXplX2hhbmRsZToge1xuICAgICAgbWVzc2FnZTpcbiAgICAgICAgJ1JlZGltZW5zaW9ubmV6IGxhIGZlbsOqdHJlIGNvbnRleHR1ZWxsZS4gQXBwdXlleiBzdXIgbGEgdG91Y2hlIEVudHLDqWUgb3UgRXNwYWNlIHBvdXIgbOKAmWFjdGl2ZXIsIHB1aXMgdXRpbGlzZXIgbGEgZmzDqGNoZSBkZSBnYXVjaGUgcG91ciBhZ3JhbmRpciBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUgZXQgbGEgZmzDqGNoZSBkZSBkcm9pdGUgcG91ciByw6lkdWlyZSBsYSBmZW7DqnRyZSBjb250ZXh0dWVsbGUuIEFwcHV5ZXogc3VyIGxhIHRvdWNoZSBFbnRyw6llLCBFc3BhY2Ugb3UgVGFidWxhdGlvbiBwb3VyIGxhIGTDqXNhY3RpdmVyLicsXG4gICAgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZseW91dFJlc291cmNlc01vZHVsZSB7fVxuIl19","import { Injectable, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * @internal\n */\nexport class SkyFlyoutAdapterService {\n #renderer;\n #windowRef;\n constructor(rendererFactory, windowRef) {\n this.#windowRef = windowRef;\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n adjustHeaderForHelp(header) {\n const windowObj = this.#windowRef.nativeWindow;\n const helpWidget = windowObj.document.getElementById('bb-help-invoker');\n if (helpWidget) {\n this.#renderer.addClass(header.nativeElement, 'sky-flyout-help-shim');\n }\n }\n toggleIframePointerEvents(enable) {\n // When iframes are present on the page, they may interfere with dragging\n // temporarily disable pointer events in iframes when dragging starts.\n // When re-enabling we set to the empty string as it will remove the element styling\n // and fall back to any css originally given to iframe\n const iframes = Array.from(document.querySelectorAll('iframe'));\n for (const iframe of iframes) {\n this.#renderer.setStyle(iframe, 'pointer-events', enable ? '' : 'none');\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutAdapterService, deps: [{ token: i0.RendererFactory2 }, { token: i1.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutAdapterService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1.SkyAppWindowRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEdBR1gsTUFBTSxlQUFlLENBQUM7OztBQUd2Qjs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFZO0lBRXJCLFVBQVUsQ0FBa0I7SUFFNUIsWUFBWSxlQUFpQyxFQUFFLFNBQTBCO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWtCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFeEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLHlCQUF5QixDQUFDLE1BQWU7UUFDOUMseUVBQXlFO1FBQ3pFLHNFQUFzRTtRQUN0RSxvRkFBb0Y7UUFDcEYsc0RBQXNEO1FBQ3RELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDaEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDOzhHQTVCVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lBcHBXaW5kb3dSZWYgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRBZGFwdGVyU2VydmljZSB7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICN3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZjtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmKSB7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgYWRqdXN0SGVhZGVyRm9ySGVscChoZWFkZXI6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCB3aW5kb3dPYmogPSB0aGlzLiN3aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGhlbHBXaWRnZXQgPSB3aW5kb3dPYmouZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JiLWhlbHAtaW52b2tlcicpO1xuXG4gICAgaWYgKGhlbHBXaWRnZXQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGhlYWRlci5uYXRpdmVFbGVtZW50LCAnc2t5LWZseW91dC1oZWxwLXNoaW0nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSWZyYW1lUG9pbnRlckV2ZW50cyhlbmFibGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBXaGVuIGlmcmFtZXMgYXJlIHByZXNlbnQgb24gdGhlIHBhZ2UsIHRoZXkgbWF5IGludGVyZmVyZSB3aXRoIGRyYWdnaW5nXG4gICAgLy8gdGVtcG9yYXJpbHkgZGlzYWJsZSBwb2ludGVyIGV2ZW50cyBpbiBpZnJhbWVzIHdoZW4gZHJhZ2dpbmcgc3RhcnRzLlxuICAgIC8vIFdoZW4gcmUtZW5hYmxpbmcgd2Ugc2V0IHRvIHRoZSBlbXB0eSBzdHJpbmcgYXMgaXQgd2lsbCByZW1vdmUgdGhlIGVsZW1lbnQgc3R5bGluZ1xuICAgIC8vIGFuZCBmYWxsIGJhY2sgdG8gYW55IGNzcyBvcmlnaW5hbGx5IGdpdmVuIHRvIGlmcmFtZVxuICAgIGNvbnN0IGlmcmFtZXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lmcmFtZScpKTtcbiAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBpZnJhbWVzKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShpZnJhbWUsICdwb2ludGVyLWV2ZW50cycsIGVuYWJsZSA/ICcnIDogJ25vbmUnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Component, EventEmitter, Input, Output, } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { Subject } from 'rxjs';\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/icon\";\nimport * as i2 from \"@skyux/theme\";\nimport * as i3 from \"@skyux/i18n\";\n/**\n * @internal\n */\nexport class SkyFlyoutIteratorComponent {\n get previousButtonClick() {\n return this.#_previousButtonClick;\n }\n get nextButtonClick() {\n return this.#_nextButtonClick;\n }\n #ngUnsubscribe = new Subject();\n #_nextButtonClick = new EventEmitter();\n #_previousButtonClick = new EventEmitter();\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n onIteratorPreviousClick() {\n /* istanbul ignore else */\n if (!this.previousButtonDisabled) {\n this.#_previousButtonClick.emit();\n }\n }\n onIteratorNextClick() {\n /* istanbul ignore else */\n if (!this.nextButtonDisabled) {\n this.#_nextButtonClick.emit();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutIteratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyFlyoutIteratorComponent, isStandalone: true, selector: \"sky-flyout-iterator\", inputs: { nextButtonDisabled: \"nextButtonDisabled\", previousButtonDisabled: \"previousButtonDisabled\" }, outputs: { previousButtonClick: \"previousButtonClick\", nextButtonClick: \"nextButtonClick\" }, ngImport: i0, template: \"<div class=\\\"sky-flyout-iterators\\\">\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-previous\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n 'skyux_flyout_iterator_previous_button' | skyLibResources\\n \\\"\\n [disabled]=\\\"previousButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorPreviousClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-up\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-next\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_iterator_next_button' | skyLibResources\\\"\\n [disabled]=\\\"nextButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorNextClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </button>\\n</div>\\n\", styles: [\".sky-flyout-iterators:not(.sky-theme-modern *){--sky-override-flyout-iterator-margin-right: 5px;--sky-override-flyout-iterators-display: block}.sky-btn{margin-right:var(--sky-override-flyout-iterator-margin-right, var(--sky-space-gap-action_group-m))}.sky-flyout-iterators{display:var(--sky-override-flyout-iterators-display, inline)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i1.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyFlyoutResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i2.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"pipe\", type: i3.SkyLibResourcesPipe, name: \"skyLibResources\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutIteratorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-flyout-iterator', imports: [SkyIconModule, SkyFlyoutResourcesModule, SkyThemeModule], template: \"<div class=\\\"sky-flyout-iterators\\\">\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-previous\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n 'skyux_flyout_iterator_previous_button' | skyLibResources\\n \\\"\\n [disabled]=\\\"previousButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorPreviousClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-up\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-flyout-iterator-next\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_iterator_next_button' | skyLibResources\\\"\\n [disabled]=\\\"nextButtonDisabled\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"onIteratorNextClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-down\\\" />\\n </button>\\n</div>\\n\", styles: [\".sky-flyout-iterators:not(.sky-theme-modern *){--sky-override-flyout-iterator-margin-right: 5px;--sky-override-flyout-iterators-display: block}.sky-btn{margin-right:var(--sky-override-flyout-iterator-margin-right, var(--sky-space-gap-action_group-m))}.sky-flyout-iterators{display:var(--sky-override-flyout-iterators-display, inline)}\\n\"] }]\n }], propDecorators: { nextButtonDisabled: [{\n type: Input\n }], previousButtonDisabled: [{\n type: Input\n }], previousButtonClick: [{\n type: Output\n }], nextButtonClick: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQtaXRlcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC1pdGVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUVqRjs7R0FFRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFPckMsSUFDVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFckMsaUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUU3QyxxQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRTFDLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7OEdBeENVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLG9SQ3ZCdkMsMDRCQThCQSx5WURUWSxhQUFhLHFJQUFFLHdCQUF3Qiw4QkFBRSxjQUFjOzsyRkFFdEQsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHFCQUFxQixXQUd0QixDQUFDLGFBQWEsRUFBRSx3QkFBd0IsRUFBRSxjQUFjLENBQUM7OEJBSTNELGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxzQkFBc0I7c0JBRDVCLEtBQUs7Z0JBSUssbUJBQW1CO3NCQUQ3QixNQUFNO2dCQU1JLGVBQWU7c0JBRHpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1mbHlvdXQtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1mbHlvdXQtaXRlcmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtTa3lJY29uTW9kdWxlLCBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUsIFNreVRoZW1lTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmV2aW91c0J1dHRvbkRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHByZXZpb3VzQnV0dG9uQ2xpY2soKTogRXZlbnRFbWl0dGVyPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX3ByZXZpb3VzQnV0dG9uQ2xpY2s7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBuZXh0QnV0dG9uQ2xpY2soKTogRXZlbnRFbWl0dGVyPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jX25leHRCdXR0b25DbGljaztcbiAgfVxuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX25leHRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAjX3ByZXZpb3VzQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yUHJldmlvdXNDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5wcmV2aW91c0J1dHRvbkRpc2FibGVkKSB7XG4gICAgICB0aGlzLiNfcHJldmlvdXNCdXR0b25DbGljay5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSXRlcmF0b3JOZXh0Q2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMubmV4dEJ1dHRvbkRpc2FibGVkKSB7XG4gICAgICB0aGlzLiNfbmV4dEJ1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZmx5b3V0LWl0ZXJhdG9yc1wiPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtaXRlcmF0b3ItcHJldmlvdXNcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAnc2t5dXhfZmx5b3V0X2l0ZXJhdG9yX3ByZXZpb3VzX2J1dHRvbicgfCBza3lMaWJSZXNvdXJjZXNcbiAgICBcIlxuICAgIFtkaXNhYmxlZF09XCJwcmV2aW91c0J1dHRvbkRpc2FibGVkXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvclByZXZpb3VzQ2xpY2soKVwiXG4gID5cbiAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLXVwXCIgLz5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1pdGVyYXRvci1uZXh0XCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfaXRlcmF0b3JfbmV4dF9idXR0b24nIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbZGlzYWJsZWRdPVwibmV4dEJ1dHRvbkRpc2FibGVkXCJcbiAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICB9XCJcbiAgICAoY2xpY2spPVwib25JdGVyYXRvck5leHRDbGljaygpXCJcbiAgPlxuICAgIDxza3ktaWNvbiBpY29uTmFtZT1cImNoZXZyb24tZG93blwiIC8+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=","/**\n * Handler for notifying the flyout when it is appropriate to close the flyout. This will be returned from the flyout instance's `beforeClose` observable.\n */\nexport class SkyFlyoutBeforeCloseHandler {\n constructor(closeFlyoutFunction) {\n this.closeFlyout = closeFlyoutFunction;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LWJlZm9yZS1jbG9zZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L3R5cGVzL2ZseW91dC1iZWZvcmUtY2xvc2UtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFNdEMsWUFBWSxtQkFBK0I7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhhbmRsZXIgZm9yIG5vdGlmeWluZyB0aGUgZmx5b3V0IHdoZW4gaXQgaXMgYXBwcm9wcmlhdGUgdG8gY2xvc2UgdGhlIGZseW91dC4gVGhpcyB3aWxsIGJlIHJldHVybmVkIGZyb20gdGhlIGZseW91dCBpbnN0YW5jZSdzIGBiZWZvcmVDbG9zZWAgb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlciB7XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB3aGljaCBzaG91bGQgYmUgY2FsbGVkIHRvIGNsb3NlIHRoZSBmbHlvdXQuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbmNlIGFueSBpbnRlcnZlbmluZyBhY3Rpb25zIGhhdmUgY29tcGxldGVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlRmx5b3V0OiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKGNsb3NlRmx5b3V0RnVuY3Rpb246ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsb3NlRmx5b3V0ID0gY2xvc2VGbHlvdXRGdW5jdGlvbjtcbiAgfVxufVxuIl19","import { animate, state, style, transition, trigger, } from '@angular/animations';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EnvironmentInjector, HostListener, NgZone, ViewChild, ViewContainerRef, inject, } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SKY_STACKING_CONTEXT, SkyDynamicComponentService, SkyResponsiveHostDirective, SkyUIConfigService, } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyHrefModule } from '@skyux/router';\nimport { SkyThemeModule } from '@skyux/theme';\nimport { BehaviorSubject, Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyFlyoutResourcesModule } from '../shared/sky-flyout-resources.module';\nimport { SkyFlyoutAdapterService } from './flyout-adapter.service';\nimport { SkyFlyoutInstance } from './flyout-instance';\nimport { SkyFlyoutIteratorComponent } from './flyout-iterator.component';\nimport { SkyFlyoutBeforeCloseHandler } from './types/flyout-before-close-handler';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/cdk/a11y\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@angular/router\";\nimport * as i4 from \"@skyux/router\";\nimport * as i5 from \"@skyux/icon\";\nimport * as i6 from \"@skyux/theme\";\nimport * as i7 from \"@skyux/i18n\";\nconst FLYOUT_OPEN_STATE = 'flyoutOpen';\nconst FLYOUT_CLOSED_STATE = 'flyoutClosed';\nlet nextId = 0;\n/**\n * @internal\n */\nexport class SkyFlyoutComponent {\n #xCoord;\n #windowBufferSize;\n get messageStream() {\n return this.#_messageStream;\n }\n #flyoutInstance;\n #ngUnsubscribe;\n #_messageStream;\n #adapter;\n #changeDetector;\n #dynamicComponentSvc;\n #environmentInjector;\n #ngZone;\n #resourcesService;\n #uiConfigService;\n constructor() {\n this.config = {\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [],\n };\n this.enableTrapFocus = false;\n this.enableTrapFocusAutoCapture = false;\n this.flyoutId = `sky-flyout-${++nextId}`;\n this.flyoutState = FLYOUT_CLOSED_STATE;\n this.isOpen = false;\n this.isOpening = false;\n this.flyoutWidth = 0;\n this.instanceReady = false;\n this.isDragging = false;\n this.isFullscreen = false;\n this.resizeKeyControlActive = false;\n this.#xCoord = 0;\n this.#windowBufferSize = 20;\n this.permalink = {};\n this.permalinkLabel = '';\n this.primaryAction = {};\n this.primaryActionLabel = '';\n /**\n * @internal\n */\n this.widthStep = 10;\n this.zIndex$ = new BehaviorSubject(1001);\n this.#ngUnsubscribe = new Subject();\n this.#_messageStream = new Subject();\n this.#adapter = inject(SkyFlyoutAdapterService);\n this.#changeDetector = inject(ChangeDetectorRef);\n this.#dynamicComponentSvc = inject(SkyDynamicComponentService);\n this.#environmentInjector = inject(EnvironmentInjector);\n this.#ngZone = inject(NgZone);\n this.#resourcesService = inject(SkyLibResourcesService);\n this.#uiConfigService = inject(SkyUIConfigService);\n // All commands flow through the message stream.\n this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.#handleIncomingMessages(message);\n });\n }\n ngOnInit() {\n /* istanbul ignore else */\n if (this.flyoutHeader) {\n this.#adapter.adjustHeaderForHelp(this.flyoutHeader);\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n onWindowResize(event) {\n this.#setFullscreen();\n if (this.isFullscreen) {\n return;\n }\n const target = event.target;\n if (target.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = target.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n }\n attach(component, config, environmentInjector) {\n this.#cleanTemplate();\n // Emit the closed event on any previously opened flyout instance\n if (this.#flyoutInstance) {\n this.#notifyClosed();\n }\n this.config = Object.assign({\n defaultWidth: window.innerWidth / 2,\n minWidth: 320,\n maxWidth: window.innerWidth / 2,\n providers: [\n {\n provide: SKY_STACKING_CONTEXT,\n useValue: {\n zIndex: this.zIndex$\n .asObservable()\n .pipe(takeUntil(this.#ngUnsubscribe)),\n },\n },\n ],\n }, config);\n if (config?.defaultWidth && !config?.maxWidth) {\n this.config.maxWidth = config?.defaultWidth;\n }\n this.config.showIterator = this.config.showIterator || false;\n this.config.iteratorNextButtonDisabled =\n this.config.iteratorNextButtonDisabled || false;\n this.config.iteratorPreviousButtonDisabled =\n this.config.iteratorPreviousButtonDisabled || false;\n this.permalink = this.config.permalink ?? {};\n this.permalinkLabel =\n this.config.permalink && this.config.permalink.label\n ? this.config.permalink.label\n : this.#getString('skyux_flyout_permalink_button');\n this.primaryAction = this.config.primaryAction ?? {};\n this.primaryActionLabel =\n this.config.primaryAction && this.config.primaryAction.label\n ? this.config.primaryAction.label\n : this.#getString('skyux_flyout_primary_action_button');\n environmentInjector ||= this.#environmentInjector;\n const componentRef = this.#dynamicComponentSvc.createComponent(component, {\n environmentInjector: environmentInjector,\n providers: this.config.providers,\n viewContainerRef: this.target,\n });\n /* safety check */\n /* istanbul ignore if */\n if (!componentRef) {\n throw new Error(\"Flyout's internal component could not be created\");\n }\n this.#flyoutInstance = this.#createFlyoutInstance(componentRef.instance);\n // This is used to ensure we do not render the flyout until we have attached the component.\n // This allows the aria-labelledby to function correctly.\n this.instanceReady = true;\n this.#changeDetector.markForCheck();\n // Open the flyout immediately.\n this.messageStream.next({\n type: SkyFlyoutMessageType.Open,\n });\n if (this.config.settingsKey) {\n this.#uiConfigService\n .getConfig(this.config.settingsKey)\n .pipe(take(1))\n .subscribe((value) => {\n if (value && value.flyoutWidth) {\n this.flyoutWidth = value.flyoutWidth;\n }\n else {\n // Bad data, or config is the default config.\n this.flyoutWidth = this.config.defaultWidth;\n }\n this.#checkInitialSize();\n });\n }\n else {\n this.flyoutWidth = this.config.defaultWidth;\n this.#checkInitialSize();\n }\n return this.#flyoutInstance;\n }\n close() {\n this.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n });\n }\n invokePrimaryAction() {\n if (this.primaryAction.callback) {\n this.primaryAction.callback();\n if (this.primaryAction.closeAfterInvoking) {\n this.close();\n }\n return false;\n }\n /* istanbul ignore next */\n return true;\n }\n getAnimationState() {\n return this.instanceReady && this.isOpening\n ? FLYOUT_OPEN_STATE\n : FLYOUT_CLOSED_STATE;\n }\n animationDone(event) {\n if (event.toState === FLYOUT_OPEN_STATE) {\n this.isOpen = true;\n }\n if (event.toState === FLYOUT_CLOSED_STATE) {\n this.isOpen = false;\n this.#notifyClosed();\n this.#cleanTemplate();\n }\n }\n onHeaderGrabHandleMouseDown(event) {\n this.onResizeHandleMouseDown(event);\n }\n onHeaderGrabHandleKeyDown(event) {\n this.#handleResizeKeyDown(event);\n }\n onResizeHandleKeyDown(event) {\n this.#handleResizeKeyDown(event);\n }\n onResizeHandleMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n if (this.isFullscreen) {\n return;\n }\n this.isDragging = true;\n this.#xCoord = event.clientX;\n this.#adapter.toggleIframePointerEvents(false);\n fromEvent(document, 'mousemove')\n .pipe(takeWhile(() => {\n return this.isDragging;\n }))\n .subscribe((moveEvent) => {\n this.onMouseMove(moveEvent);\n });\n fromEvent(document, 'mouseup')\n .pipe(takeWhile(() => {\n return this.isDragging;\n }))\n .subscribe(() => {\n this.onHandleRelease();\n });\n }\n onMouseMove(event) {\n /* Sanity check */\n /* istanbul ignore if */\n if (!this.isDragging) {\n return;\n }\n const offsetX = event.clientX - this.#xCoord;\n let width = this.flyoutWidth;\n width -= offsetX;\n if (width < this.config.minWidth || width > this.config.maxWidth) {\n return;\n }\n if (window.innerWidth - width < this.#windowBufferSize) {\n width = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n }\n else {\n this.#xCoord = event.clientX;\n }\n this.flyoutWidth = width;\n this.#changeDetector.markForCheck();\n }\n onHandleRelease() {\n fromEvent(document, 'click')\n .pipe(take(1))\n .subscribe(() => {\n this.isDragging = false;\n this.#adapter.toggleIframePointerEvents(true);\n this.#setUserData();\n });\n }\n onIteratorPreviousButtonClick() {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorPreviousButtonClick.emit();\n }\n }\n onIteratorNextButtonClick() {\n /* istanbul ignore else */\n if (this.#flyoutInstance) {\n this.#flyoutInstance.iteratorNextButtonClick.emit();\n }\n }\n #createFlyoutInstance(component) {\n const instance = new SkyFlyoutInstance(component);\n instance.hostController\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n this.messageStream.next(message);\n });\n return instance;\n }\n #handleIncomingMessages(message) {\n switch (message.type) {\n case SkyFlyoutMessageType.Open:\n if (!this.isOpen) {\n this.isOpen = false;\n this.isOpening = true;\n }\n this.#initFocusTrap();\n break;\n case SkyFlyoutMessageType.Close:\n if (this.#flyoutInstance?.beforeClose?.observers\n .length === 0 ||\n message.data?.ignoreBeforeClose) {\n this.isOpen = true;\n this.isOpening = false;\n }\n else {\n this.#flyoutInstance?.beforeClose?.next(new SkyFlyoutBeforeCloseHandler(() => {\n this.isOpen = true;\n this.isOpening = false;\n }));\n }\n break;\n case SkyFlyoutMessageType.EnableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = false;\n break;\n case SkyFlyoutMessageType.EnableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = false;\n break;\n case SkyFlyoutMessageType.DisableIteratorNextButton:\n this.config.iteratorNextButtonDisabled = true;\n break;\n case SkyFlyoutMessageType.DisableIteratorPreviousButton:\n this.config.iteratorPreviousButtonDisabled = true;\n break;\n }\n this.#changeDetector.markForCheck();\n }\n #notifyClosed() {\n this.#flyoutInstance?.closed.emit();\n this.#flyoutInstance?.closed.complete();\n }\n #cleanTemplate() {\n this.target?.clear();\n }\n #setFullscreen() {\n if (window.innerWidth - this.#windowBufferSize < this.config.minWidth) {\n this.isFullscreen = true;\n }\n else {\n this.isFullscreen = false;\n }\n }\n #setUserData() {\n if (this.config.settingsKey) {\n this.#uiConfigService\n .setConfig(this.config.settingsKey, {\n flyoutWidth: this.flyoutWidth,\n })\n .pipe(take(1))\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => { }, (err) => {\n console.warn('Could not save flyout data.');\n console.warn(err);\n });\n }\n }\n #checkInitialSize() {\n if (this.flyoutWidth < this.config.minWidth) {\n this.flyoutWidth = this.config.minWidth;\n this.#setUserData();\n }\n else if (this.flyoutWidth > this.config.maxWidth) {\n this.flyoutWidth = this.config.maxWidth;\n this.#setUserData();\n }\n // Ensure flyout does not load larger than the window and its buffer\n if (window.innerWidth - this.flyoutWidth < this.#windowBufferSize) {\n this.flyoutWidth = window.innerWidth - this.#windowBufferSize;\n this.#xCoord = this.#windowBufferSize;\n this.#setUserData();\n }\n this.#setFullscreen();\n }\n #getString(key) {\n // TODO: Need to implement the async `getString` method in a breaking change.\n return this.#resourcesService.getStringForLocale({ locale: 'en-US' }, key);\n }\n #handleResizeKeyDown(event) {\n /* istanbul ignore else */\n if (event.key) {\n const keyPressed = event.key.toLowerCase().replace('arrow', '');\n switch (keyPressed) {\n case 'enter':\n case ' ':\n this.resizeKeyControlActive = !this.resizeKeyControlActive;\n break;\n case 'tab':\n /* istanbul ignore else */\n if (this.resizeKeyControlActive) {\n this.resizeKeyControlActive = false;\n }\n break;\n case 'left':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth < this.config.maxWidth) {\n this.flyoutWidth = Math.min(this.flyoutWidth + this.widthStep, this.config.maxWidth);\n }\n }\n break;\n case 'right':\n if (this.resizeKeyControlActive) {\n /* istanbul ignore else */\n if (this.flyoutWidth > this.config.minWidth) {\n this.flyoutWidth = Math.max(this.flyoutWidth - this.widthStep, this.config.minWidth);\n }\n }\n break;\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n /** Executes a function when the zone is stable. */\n #executeOnStable(fn) {\n if (this.#ngZone.isStable) {\n fn();\n }\n else {\n this.#ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n #initFocusTrap() {\n this.enableTrapFocusAutoCapture = false;\n this.enableTrapFocus = false;\n // Waiting for zone to be stable will avoid ExpressionChangeAfterCheckedError.\n this.#executeOnStable(() => {\n this.enableTrapFocusAutoCapture = true;\n this.enableTrapFocus = true;\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyFlyoutComponent, isStandalone: true, selector: \"sky-flyout\", host: { listeners: { \"window:resize\": \"onWindowResize($event)\" } }, providers: [SkyFlyoutAdapterService], viewQueries: [{ propertyName: \"flyoutRef\", first: true, predicate: [\"flyoutRef\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"target\", first: true, predicate: [\"target\"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: \"flyoutHeader\", first: true, predicate: [\"flyoutHeader\"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: \"<div\\n #flyoutRef\\n class=\\\"sky-flyout\\\"\\n skyResponsiveHost\\n tabindex=\\\"-1\\\"\\n [attr.role]=\\\"config.ariaRole ? config.ariaRole : 'dialog'\\\"\\n [attr.aria-describedby]=\\\"config.ariaDescribedBy\\\"\\n [attr.aria-label]=\\\"config.ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"config.ariaLabelledBy\\\"\\n [attr.aria-modal]=\\\"\\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\\n \\\"\\n [attr.hidden]=\\\"!instanceReady ? true : undefined\\\"\\n [id]=\\\"flyoutId\\\"\\n [ngClass]=\\\"{\\n 'sky-flyout-hidden': !isOpen && !isOpening,\\n 'sky-flyout-fullscreen': isFullscreen\\n }\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-shadow': 'default',\\n 'sky-elevation-8': 'modern'\\n }\\\"\\n [@flyoutState]=\\\"getAnimationState()\\\"\\n [style.width.px]=\\\"flyoutWidth\\\"\\n [cdkTrapFocus]=\\\"enableTrapFocus\\\"\\n [cdkTrapFocusAutoCapture]=\\\"enableTrapFocusAutoCapture\\\"\\n (@flyoutState.done)=\\\"animationDone($event)\\\"\\n>\\n <div\\n #flyoutHeader\\n class=\\\"sky-flyout-header\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n >\\n <div class=\\\"sky-flyout-header-content\\\">\\n <button\\n *skyThemeIf=\\\"'modern'\\\"\\n class=\\\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n (keydown)=\\\"onHeaderGrabHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onHeaderGrabHandleMouseDown($event)\\\"\\n >\\n <sky-icon\\n *skyThemeIf=\\\"'modern'\\\"\\n iconName=\\\"re-order-dots-vertical\\\"\\n iconSize=\\\"s\\\"\\n />\\n </button>\\n\\n @if (config.showIterator) {\\n <sky-flyout-iterator\\n [nextButtonDisabled]=\\\"config.iteratorNextButtonDisabled\\\"\\n [previousButtonDisabled]=\\\"config.iteratorPreviousButtonDisabled\\\"\\n (nextButtonClick)=\\\"onIteratorNextButtonClick()\\\"\\n (previousButtonClick)=\\\"onIteratorPreviousButtonClick()\\\"\\n />\\n }\\n </div>\\n <div class=\\\"sky-flyout-header-buttons\\\">\\n <ng-container *ngTemplateOutlet=\\\"permalinkTemplate\\\" />\\n <ng-container *ngTemplateOutlet=\\\"primaryActionTemplate\\\" />\\n <button\\n class=\\\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_close' | skyLibResources\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div class=\\\"sky-flyout-content\\\">\\n <div #target></div>\\n </div>\\n <div\\n class=\\\"sky-flyout-resize-handle\\\"\\n role=\\\"separator\\\"\\n tabindex=\\\"0\\\"\\n type=\\\"range\\\"\\n [attr.aria-controls]=\\\"flyoutId\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n [attr.aria-valuemax]=\\\"config.maxWidth\\\"\\n [attr.aria-valuemin]=\\\"config.minWidth\\\"\\n [attr.aria-valuenow]=\\\"flyoutWidth\\\"\\n (keydown)=\\\"onResizeHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onResizeHandleMouseDown($event)\\\"\\n ></div>\\n</div>\\n\\n<ng-template #permalinkTemplate>\\n @if (permalink) {\\n @if (permalink.url) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [skyHref]=\\\"permalink.url\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n } @else if (permalink.route) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [routerLink]=\\\"permalink.route.commands\\\"\\n [fragment]=\\\"permalink.route.extras?.fragment\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n [queryParams]=\\\"permalink.route.extras?.queryParams\\\"\\n [queryParamsHandling]=\\\"permalink.route.extras?.queryParamsHandling\\\"\\n [state]=\\\"permalink.route.extras?.state\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n }\\n }\\n</ng-template>\\n\\n<ng-template #primaryActionTemplate>\\n @if (primaryAction && primaryAction.callback) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-flyout-btn-primary-action\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"invokePrimaryAction()\\\"\\n >\\n {{ primaryActionLabel }}\\n </button>\\n }\\n</ng-template>\\n\", styles: [\".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, calc(var(--sky-size-icon-m) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-flyout-header-space-inset-top) + var(--sky-comp-flyout-header-space-inset-bottom) + var(--sky-border-width-divider))))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: A11yModule }, { kind: \"directive\", type: i1.CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: [\"cdkTrapFocus\", \"cdkTrapFocusAutoCapture\"], exportAs: [\"cdkTrapFocus\"] }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i2.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i3.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: SkyResponsiveHostDirective, selector: \"[skyResponsiveHost]\", exportAs: [\"skyResponsiveHost\"] }, { kind: \"ngmodule\", type: SkyHrefModule }, { kind: \"directive\", type: i4.λ1, selector: \"[skyHref]\", inputs: [\"skyHref\", \"queryParams\", \"skyHrefElse\"], outputs: [\"skyHrefChange\"] }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i5.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"component\", type: SkyFlyoutIteratorComponent, selector: \"sky-flyout-iterator\", inputs: [\"nextButtonDisabled\", \"previousButtonDisabled\"], outputs: [\"previousButtonClick\", \"nextButtonClick\"] }, { kind: \"ngmodule\", type: SkyFlyoutResourcesModule }, { kind: \"ngmodule\", type: SkyThemeModule }, { kind: \"directive\", type: i6.λ2, selector: \"[skyThemeClass]\", inputs: [\"class\", \"skyThemeClass\"] }, { kind: \"directive\", type: i6.λ3, selector: \"[skyThemeIf]\", inputs: [\"skyThemeIf\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i7.SkyLibResourcesPipe, name: \"skyLibResources\" }], animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ], changeDetection: i0.ChangeDetectionStrategy.Default }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-flyout', providers: [SkyFlyoutAdapterService], animations: [\n trigger('flyoutState', [\n state(FLYOUT_OPEN_STATE, style({ transform: 'initial' })),\n state(FLYOUT_CLOSED_STATE, style({ transform: 'translateX(100%)' })),\n transition('void => *', [\n style({ transform: 'translateX(100%)' }),\n animate(250),\n ]),\n transition(`* <=> *`, animate('250ms ease-in')),\n ]),\n ], changeDetection: ChangeDetectionStrategy.Default, imports: [\n A11yModule,\n CommonModule,\n RouterModule,\n SkyResponsiveHostDirective,\n SkyHrefModule,\n SkyIconModule,\n SkyFlyoutIteratorComponent,\n SkyFlyoutResourcesModule,\n SkyThemeModule,\n ], template: \"<div\\n #flyoutRef\\n class=\\\"sky-flyout\\\"\\n skyResponsiveHost\\n tabindex=\\\"-1\\\"\\n [attr.role]=\\\"config.ariaRole ? config.ariaRole : 'dialog'\\\"\\n [attr.aria-describedby]=\\\"config.ariaDescribedBy\\\"\\n [attr.aria-label]=\\\"config.ariaLabel\\\"\\n [attr.aria-labelledby]=\\\"config.ariaLabelledBy\\\"\\n [attr.aria-modal]=\\\"\\n config.ariaRole === 'dialog' || !config.ariaRole ? true : false\\n \\\"\\n [attr.hidden]=\\\"!instanceReady ? true : undefined\\\"\\n [id]=\\\"flyoutId\\\"\\n [ngClass]=\\\"{\\n 'sky-flyout-hidden': !isOpen && !isOpening,\\n 'sky-flyout-fullscreen': isFullscreen\\n }\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-shadow': 'default',\\n 'sky-elevation-8': 'modern'\\n }\\\"\\n [@flyoutState]=\\\"getAnimationState()\\\"\\n [style.width.px]=\\\"flyoutWidth\\\"\\n [cdkTrapFocus]=\\\"enableTrapFocus\\\"\\n [cdkTrapFocusAutoCapture]=\\\"enableTrapFocusAutoCapture\\\"\\n (@flyoutState.done)=\\\"animationDone($event)\\\"\\n>\\n <div\\n #flyoutHeader\\n class=\\\"sky-flyout-header\\\"\\n [style.z-index]=\\\"zIndex$ | async\\\"\\n >\\n <div class=\\\"sky-flyout-header-content\\\">\\n <button\\n *skyThemeIf=\\\"'modern'\\\"\\n class=\\\"sky-btn sky-btn-icon-borderless sky-flyout-header-grab-handle\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n (keydown)=\\\"onHeaderGrabHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onHeaderGrabHandleMouseDown($event)\\\"\\n >\\n <sky-icon\\n *skyThemeIf=\\\"'modern'\\\"\\n iconName=\\\"re-order-dots-vertical\\\"\\n iconSize=\\\"s\\\"\\n />\\n </button>\\n\\n @if (config.showIterator) {\\n <sky-flyout-iterator\\n [nextButtonDisabled]=\\\"config.iteratorNextButtonDisabled\\\"\\n [previousButtonDisabled]=\\\"config.iteratorPreviousButtonDisabled\\\"\\n (nextButtonClick)=\\\"onIteratorNextButtonClick()\\\"\\n (previousButtonClick)=\\\"onIteratorPreviousButtonClick()\\\"\\n />\\n }\\n </div>\\n <div class=\\\"sky-flyout-header-buttons\\\">\\n <ng-container *ngTemplateOutlet=\\\"permalinkTemplate\\\" />\\n <ng-container *ngTemplateOutlet=\\\"primaryActionTemplate\\\" />\\n <button\\n class=\\\"sky-btn sky-flyout-btn-close sky-label-icon-theme-default\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_close' | skyLibResources\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-icon-borderless': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n <sky-icon iconName=\\\"close\\\" />\\n </button>\\n </div>\\n </div>\\n <div class=\\\"sky-flyout-content\\\">\\n <div #target></div>\\n </div>\\n <div\\n class=\\\"sky-flyout-resize-handle\\\"\\n role=\\\"separator\\\"\\n tabindex=\\\"0\\\"\\n type=\\\"range\\\"\\n [attr.aria-controls]=\\\"flyoutId\\\"\\n [attr.aria-label]=\\\"'skyux_flyout_resize_handle' | skyLibResources\\\"\\n [attr.aria-valuemax]=\\\"config.maxWidth\\\"\\n [attr.aria-valuemin]=\\\"config.minWidth\\\"\\n [attr.aria-valuenow]=\\\"flyoutWidth\\\"\\n (keydown)=\\\"onResizeHandleKeyDown($event)\\\"\\n (mousedown)=\\\"onResizeHandleMouseDown($event)\\\"\\n ></div>\\n</div>\\n\\n<ng-template #permalinkTemplate>\\n @if (permalink) {\\n @if (permalink.url) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [skyHref]=\\\"permalink.url\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n } @else if (permalink.route) {\\n <a\\n class=\\\"sky-btn sky-flyout-btn-permalink\\\"\\n [routerLink]=\\\"permalink.route.commands\\\"\\n [fragment]=\\\"permalink.route.extras?.fragment\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n [queryParams]=\\\"permalink.route.extras?.queryParams\\\"\\n [queryParamsHandling]=\\\"permalink.route.extras?.queryParamsHandling\\\"\\n [state]=\\\"permalink.route.extras?.state\\\"\\n (click)=\\\"close()\\\"\\n >\\n {{ permalinkLabel }}\\n </a>\\n }\\n }\\n</ng-template>\\n\\n<ng-template #primaryActionTemplate>\\n @if (primaryAction && primaryAction.callback) {\\n <button\\n type=\\\"button\\\"\\n class=\\\"sky-btn sky-flyout-btn-primary-action\\\"\\n [skyThemeClass]=\\\"{\\n 'sky-btn-default': 'default',\\n 'sky-btn-link-inline': 'modern'\\n }\\\"\\n (click)=\\\"invokePrimaryAction()\\\"\\n >\\n {{ primaryActionLabel }}\\n </button>\\n }\\n</ng-template>\\n\", styles: [\".sky-flyout:not(.sky-theme-modern *){--sky-override-flyout-background: #fff;--sky-override-flyout-border-left: 6px solid #0974a1;--sky-override-flyout-header-background: #eeeeef;--sky-override-flyout-header-border-bottom: 1px solid #cdcfd2;--sky-override-flyout-header-button-margin-right: 10px;--sky-override-flyout-header-height: 50px;--sky-override-flyout-header-padding: 8px 15px 8px 15px;--sky-override-flyout-header-position: fixed;--sky-flyout-resize-handle-offset: -10px;--sky-flyout-resize-handle-width: 14px}.sky-flyout{position:fixed;right:0;top:0;bottom:0;height:100%;background-color:var(--sky-override-flyout-background, var(--sky-color-background-container-base));--sky-background-color-page-default: var( --sky-override-flyout-background, var(--sky-color-background-container-base) );--sky-comp-override-list-header-background-color: initial;border-left:var(--sky-override-flyout-border-left)}.sky-flyout:focus{outline:none}.sky-flyout.sky-flyout-fullscreen{min-width:100%;max-width:100%}.sky-flyout.sky-flyout-fullscreen .sky-flyout-resize-handle{cursor:initial}.sky-flyout.sky-flyout-fullscreen .sky-flyout-header{width:100%}.sky-flyout.sky-flyout-hidden{visibility:hidden}.sky-flyout .sky-flyout-input-aria-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0 0 0 0);outline:none}.sky-flyout-resize-handle{-webkit-appearance:none;-moz-appearance:none;height:100%;width:var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle));position:absolute;left:var(--sky-flyout-resize-handle-offset, calc(var(--sky-flyout-resize-handle-width, var(--sky-size-width-resize_handle)) * -.5));cursor:ew-resize;padding:0;border:0;background:transparent;display:block;top:0;bottom:0;direction:rtl}.sky-flyout-resize-handle::-moz-range-thumb,.sky-flyout-resize-handle::-moz-range-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-ms-thumb,.sky-flyout-resize-handle::-ms-track{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-resize-handle::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;width:0;height:0;border-radius:0;border:0 none;background:none;display:none}.sky-flyout-header{border-bottom:var(--sky-override-flyout-header-border-bottom, var(--sky-border-width-divider) var(--sky-border-style-divider) var(--sky-color-border-divider));width:inherit;background:var(--sky-override-flyout-header-background, var(--sky-color-background-container-base));padding:var(--sky-override-flyout-header-padding, var(--sky-comp-flyout-header-space-inset-top) var(--sky-comp-flyout-header-space-inset-right) var(--sky-comp-flyout-header-space-inset-bottom) var(--sky-comp-flyout-header-space-inset-left));height:var(--sky-override-flyout-header-height);display:flex;position:var(--sky-override-flyout-header-position, sticky);align-items:flex-start}.sky-flyout-header .sky-flyout-btn-primary-action,.sky-flyout-header .sky-flyout-btn-permalink{margin-right:var(--sky-override-flyout-header-button-margin-right, var(--sky-space-gap-action_group-m));display:inline-block}.sky-flyout-header-content{flex-grow:1}.sky-flyout-help-shim{padding-right:8px}@media (min-width: 768px){.sky-flyout-help-shim{padding-right:50px}}.sky-flyout-content{overflow-y:auto;margin-top:var(--sky-override-flyout-header-height, 0);height:calc(100% - var(--sky-override-flyout-header-height, calc(var(--sky-size-icon-m) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-flyout-header-space-inset-top) + var(--sky-comp-flyout-header-space-inset-bottom) + var(--sky-border-width-divider))))}.sky-flyout-header-grab-handle{cursor:ew-resize;cursor:-webkit-grab;cursor:-moz-grab;margin-right:var(--sky-space-gap-action_group-m)}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { flyoutRef: [{\n type: ViewChild,\n args: ['flyoutRef', {\n read: ElementRef,\n static: true,\n }]\n }], target: [{\n type: ViewChild,\n args: ['target', {\n read: ViewContainerRef,\n static: true,\n }]\n }], flyoutHeader: [{\n type: ViewChild,\n args: ['flyoutHeader', {\n read: ElementRef,\n static: true,\n }]\n }], onWindowResize: [{\n type: HostListener,\n args: ['window:resize', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvbGliL21vZHVsZXMvZmx5b3V0L2ZseW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLE1BQU0sRUFJTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLGtCQUFrQixHQUNuQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVB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QUUsU0FBUyxFQUFFLENBQUMsQ0FBQzs0QkFDekQsS0FBSyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7NEJBQ3BFLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2dDQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDOzZCQUNiLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7eUJBQ2hELENBQUM7cUJBQ0gsbUJBRWdCLHVCQUF1QixDQUFDLE9BQU8sV0FDdkM7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLGNBQWM7cUJBQ2Y7d0RBaURNLFNBQVM7c0JBSmYsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxNQUFNO3NCQUpaLFNBQVM7dUJBQUMsUUFBUSxFQUFFO3dCQUNuQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxZQUFZO3NCQUpsQixTQUFTO3VCQUFDLGNBQWMsRUFBRTt3QkFDekIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQXlDTSxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgSG9zdExpc3RlbmVyLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgU0tZX1NUQUNLSU5HX0NPTlRFWFQsXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSxcbiAgU2t5VUlDb25maWdTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreUhyZWZNb2R1bGUgfSBmcm9tICdAc2t5dXgvcm91dGVyJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lGbHlvdXRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZseW91dC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2ZseW91dC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRJdGVyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LWl0ZXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lGbHlvdXRBY3Rpb24gfSBmcm9tICcuL3R5cGVzL2ZseW91dC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5Rmx5b3V0QmVmb3JlQ2xvc2VIYW5kbGVyIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtYmVmb3JlLWNsb3NlLWhhbmRsZXInO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q29uZmlnIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnJztcbmltcG9ydCB7IFNreUZseW91dENvbmZpZ0ludGVybmFsIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY29uZmlnLWludGVybmFsJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlJztcbmltcG9ydCB7IFNreUZseW91dE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtbWVzc2FnZS10eXBlJztcbmltcG9ydCB7IFNreUZseW91dFBlcm1hbGluayB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LXBlcm1hbGluayc7XG5cbmNvbnN0IEZMWU9VVF9PUEVOX1NUQVRFID0gJ2ZseW91dE9wZW4nO1xuY29uc3QgRkxZT1VUX0NMT1NFRF9TVEFURSA9ICdmbHlvdXRDbG9zZWQnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZseW91dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbHlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mbHlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5Rmx5b3V0QWRhcHRlclNlcnZpY2VdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmx5b3V0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShGTFlPVVRfT1BFTl9TVEFURSwgc3R5bGUoeyB0cmFuc2Zvcm06ICdpbml0aWFsJyB9KSksXG4gICAgICBzdGF0ZShGTFlPVVRfQ0xPU0VEX1NUQVRFLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcbiAgICAgICAgYW5pbWF0ZSgyNTApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKGAqIDw9PiAqYCwgYW5pbWF0ZSgnMjUwbXMgZWFzZS1pbicpKSxcbiAgICBdKSxcbiAgXSxcbiAgLy8gQWxsb3cgYXV0b21hdGljIGNoYW5nZSBkZXRlY3Rpb24gZm9yIGNoaWxkIGNvbXBvbmVudHMuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgaW1wb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBTa3lSZXNwb25zaXZlSG9zdERpcmVjdGl2ZSxcbiAgICBTa3lIcmVmTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5Rmx5b3V0SXRlcmF0b3JDb21wb25lbnQsXG4gICAgU2t5Rmx5b3V0UmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBjb25maWc6IFNreUZseW91dENvbmZpZ0ludGVybmFsID0ge1xuICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgIG1pbldpZHRoOiAzMjAsXG4gICAgbWF4V2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoIC8gMixcbiAgICBwcm92aWRlcnM6IFtdLFxuICB9O1xuICBwdWJsaWMgZW5hYmxlVHJhcEZvY3VzID0gZmFsc2U7XG4gIHB1YmxpYyBlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IGZhbHNlO1xuICBwdWJsaWMgZmx5b3V0SWQgPSBgc2t5LWZseW91dC0keysrbmV4dElkfWA7XG4gIHB1YmxpYyBmbHlvdXRTdGF0ZSA9IEZMWU9VVF9DTE9TRURfU1RBVEU7XG4gIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcbiAgcHVibGljIGlzT3BlbmluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBmbHlvdXRXaWR0aCA9IDA7XG4gIHB1YmxpYyBpbnN0YW5jZVJlYWR5ID0gZmFsc2U7XG4gIHB1YmxpYyBpc0RyYWdnaW5nID0gZmFsc2U7XG4gIHB1YmxpYyBpc0Z1bGxzY3JlZW4gPSBmYWxzZTtcbiAgcHVibGljIHJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSBmYWxzZTtcblxuICAjeENvb3JkID0gMDtcbiAgI3dpbmRvd0J1ZmZlclNpemUgPSAyMDtcblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lGbHlvdXRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgcHVibGljIHBlcm1hbGluazogU2t5Rmx5b3V0UGVybWFsaW5rID0ge307XG5cbiAgcHVibGljIHBlcm1hbGlua0xhYmVsID0gJyc7XG5cbiAgcHVibGljIHByaW1hcnlBY3Rpb246IFNreUZseW91dEFjdGlvbiA9IHt9O1xuXG4gIHB1YmxpYyBwcmltYXJ5QWN0aW9uTGFiZWwgPSAnJztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2lkdGhTdGVwID0gMTA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZmx5b3V0UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgZmx5b3V0UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhcmdldCcsIHtcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIHRhcmdldDogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdmbHlvdXRIZWFkZXInLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBmbHlvdXRIZWFkZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHpJbmRleCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDEwMDEpO1xuXG4gICNmbHlvdXRJbnN0YW5jZTogU2t5Rmx5b3V0SW5zdGFuY2U8YW55PiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5Rmx5b3V0TWVzc2FnZT4oKTtcblxuICByZWFkb25seSAjYWRhcHRlciA9IGluamVjdChTa3lGbHlvdXRBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNkeW5hbWljQ29tcG9uZW50U3ZjID0gaW5qZWN0KFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2Vudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gIHJlYWRvbmx5ICNuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcmVhZG9ubHkgI3Jlc291cmNlc1NlcnZpY2UgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG4gIHJlYWRvbmx5ICN1aUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2t5VUlDb25maWdTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBBbGwgY29tbWFuZHMgZmxvdyB0aHJvdWdoIHRoZSBtZXNzYWdlIHN0cmVhbS5cbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreUZseW91dE1lc3NhZ2UpID0+IHtcbiAgICAgICAgdGhpcy4jaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuZmx5b3V0SGVhZGVyKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyLmFkanVzdEhlYWRlckZvckhlbHAodGhpcy5mbHlvdXRIZWFkZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93UmVzaXplKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuI3NldEZ1bGxzY3JlZW4oKTtcblxuICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBXaW5kb3c7XG5cbiAgICBpZiAodGFyZ2V0LmlubmVyV2lkdGggLSB0aGlzLmZseW91dFdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRhcmdldC5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3hDb29yZCA9IHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiNzZXRVc2VyRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2g8VD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFQ+LFxuICAgIGNvbmZpZz86IFNreUZseW91dENvbmZpZyxcbiAgICBlbnZpcm9ubWVudEluamVjdG9yPzogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgKTogU2t5Rmx5b3V0SW5zdGFuY2U8VD4ge1xuICAgIHRoaXMuI2NsZWFuVGVtcGxhdGUoKTtcblxuICAgIC8vIEVtaXQgdGhlIGNsb3NlZCBldmVudCBvbiBhbnkgcHJldmlvdXNseSBvcGVuZWQgZmx5b3V0IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuI2ZseW91dEluc3RhbmNlKSB7XG4gICAgICB0aGlzLiNub3RpZnlDbG9zZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGRlZmF1bHRXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBtaW5XaWR0aDogMzIwLFxuICAgICAgICBtYXhXaWR0aDogd2luZG93LmlubmVyV2lkdGggLyAyLFxuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgIHpJbmRleDogdGhpcy56SW5kZXgkXG4gICAgICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBjb25maWcsXG4gICAgKTtcbiAgICBpZiAoY29uZmlnPy5kZWZhdWx0V2lkdGggJiYgIWNvbmZpZz8ubWF4V2lkdGgpIHtcbiAgICAgIHRoaXMuY29uZmlnLm1heFdpZHRoID0gY29uZmlnPy5kZWZhdWx0V2lkdGg7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yID0gdGhpcy5jb25maWcuc2hvd0l0ZXJhdG9yIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkID1cbiAgICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yTmV4dEJ1dHRvbkRpc2FibGVkIHx8IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnLml0ZXJhdG9yUHJldmlvdXNCdXR0b25EaXNhYmxlZCA9XG4gICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgfHwgZmFsc2U7XG5cbiAgICB0aGlzLnBlcm1hbGluayA9IHRoaXMuY29uZmlnLnBlcm1hbGluayA/PyB7fTtcbiAgICB0aGlzLnBlcm1hbGlua0xhYmVsID1cbiAgICAgIHRoaXMuY29uZmlnLnBlcm1hbGluayAmJiB0aGlzLmNvbmZpZy5wZXJtYWxpbmsubGFiZWxcbiAgICAgICAgPyB0aGlzLmNvbmZpZy5wZXJtYWxpbmsubGFiZWxcbiAgICAgICAgOiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wZXJtYWxpbmtfYnV0dG9uJyk7XG5cbiAgICB0aGlzLnByaW1hcnlBY3Rpb24gPSB0aGlzLmNvbmZpZy5wcmltYXJ5QWN0aW9uID8/IHt9O1xuICAgIHRoaXMucHJpbWFyeUFjdGlvbkxhYmVsID1cbiAgICAgIHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24gJiYgdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbi5sYWJlbFxuICAgICAgICA/IHRoaXMuY29uZmlnLnByaW1hcnlBY3Rpb24ubGFiZWxcbiAgICAgICAgOiB0aGlzLiNnZXRTdHJpbmcoJ3NreXV4X2ZseW91dF9wcmltYXJ5X2FjdGlvbl9idXR0b24nKTtcblxuICAgIGVudmlyb25tZW50SW5qZWN0b3IgfHw9IHRoaXMuI2Vudmlyb25tZW50SW5qZWN0b3I7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy4jZHluYW1pY0NvbXBvbmVudFN2Yy5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7XG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiB0aGlzLmNvbmZpZy5wcm92aWRlcnMsXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRhcmdldCxcbiAgICB9KTtcblxuICAgIC8qIHNhZmV0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY29tcG9uZW50UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbHlvdXQncyBpbnRlcm5hbCBjb21wb25lbnQgY291bGQgbm90IGJlIGNyZWF0ZWRcIik7XG4gICAgfVxuXG4gICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UgPSB0aGlzLiNjcmVhdGVGbHlvdXRJbnN0YW5jZTxUPihjb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuXG4gICAgLy8gVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB3ZSBkbyBub3QgcmVuZGVyIHRoZSBmbHlvdXQgdW50aWwgd2UgaGF2ZSBhdHRhY2hlZCB0aGUgY29tcG9uZW50LlxuICAgIC8vIFRoaXMgYWxsb3dzIHRoZSBhcmlhLWxhYmVsbGVkYnkgdG8gZnVuY3Rpb24gY29ycmVjdGx5LlxuICAgIHRoaXMuaW5zdGFuY2VSZWFkeSA9IHRydWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAvLyBPcGVuIHRoZSBmbHlvdXQgaW1tZWRpYXRlbHkuXG4gICAgdGhpcy5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgdHlwZTogU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5nZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXkpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuZmx5b3V0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggPSB2YWx1ZS5mbHlvdXRXaWR0aDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gQmFkIGRhdGEsIG9yIGNvbmZpZyBpcyB0aGUgZGVmYXVsdCBjb25maWcuXG4gICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLiNjaGVja0luaXRpYWxTaXplKCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gdGhpcy5jb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgdGhpcy4jY2hlY2tJbml0aWFsU2l6ZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNmbHlvdXRJbnN0YW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbnZva2VQcmltYXJ5QWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnByaW1hcnlBY3Rpb24uY2FsbGJhY2spIHtcbiAgICAgIHRoaXMucHJpbWFyeUFjdGlvbi5jYWxsYmFjaygpO1xuXG4gICAgICBpZiAodGhpcy5wcmltYXJ5QWN0aW9uLmNsb3NlQWZ0ZXJJbnZva2luZykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbmltYXRpb25TdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlUmVhZHkgJiYgdGhpcy5pc09wZW5pbmdcbiAgICAgID8gRkxZT1VUX09QRU5fU1RBVEVcbiAgICAgIDogRkxZT1VUX0NMT1NFRF9TVEFURTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfT1BFTl9TVEFURSkge1xuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC50b1N0YXRlID09PSBGTFlPVVRfQ0xPU0VEX1NUQVRFKSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy4jbm90aWZ5Q2xvc2VkKCk7XG4gICAgICB0aGlzLiNjbGVhblRlbXBsYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyR3JhYkhhbmRsZU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25SZXNpemVIYW5kbGVNb3VzZURvd24oZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIG9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlc2l6ZUhhbmRsZU1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuI3hDb29yZCA9IGV2ZW50LmNsaWVudFg7XG5cbiAgICB0aGlzLiNhZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHMoZmFsc2UpO1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzRHJhZ2dpbmc7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobW92ZUV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25Nb3VzZU1vdmUobW92ZUV2ZW50KTtcbiAgICAgIH0pO1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0RyYWdnaW5nO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uSGFuZGxlUmVsZWFzZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZU1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBTYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9mZnNldFggPSBldmVudC5jbGllbnRYIC0gdGhpcy4jeENvb3JkO1xuICAgIGxldCB3aWR0aCA9IHRoaXMuZmx5b3V0V2lkdGg7XG5cbiAgICB3aWR0aCAtPSBvZmZzZXRYO1xuXG4gICAgaWYgKHdpZHRoIDwgdGhpcy5jb25maWcubWluV2lkdGggfHwgd2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHdpZHRoIDwgdGhpcy4jd2luZG93QnVmZmVyU2l6ZSkge1xuICAgICAgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuI3dpbmRvd0J1ZmZlclNpemU7XG4gICAgICB0aGlzLiN4Q29vcmQgPSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN4Q29vcmQgPSBldmVudC5jbGllbnRYO1xuICAgIH1cblxuICAgIHRoaXMuZmx5b3V0V2lkdGggPSB3aWR0aDtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9uSGFuZGxlUmVsZWFzZSgpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLiNhZGFwdGVyLnRvZ2dsZUlmcmFtZVBvaW50ZXJFdmVudHModHJ1ZSk7XG4gICAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JdGVyYXRvck5leHRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNmbHlvdXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy4jZmx5b3V0SW5zdGFuY2UuaXRlcmF0b3JOZXh0QnV0dG9uQ2xpY2suZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gICNjcmVhdGVGbHlvdXRJbnN0YW5jZTxUPihjb21wb25lbnQ6IFQpOiBTa3lGbHlvdXRJbnN0YW5jZTxUPiB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU2t5Rmx5b3V0SW5zdGFuY2U8VD4oY29tcG9uZW50KTtcblxuICAgIGluc3RhbmNlLmhvc3RDb250cm9sbGVyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KG1lc3NhZ2UpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICAjaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKTogdm9pZCB7XG4gICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuT3BlbjpcbiAgICAgICAgaWYgKCF0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2luaXRGb2N1c1RyYXAoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2U6XG4gICAgICAgIGlmIChcbiAgICAgICAgICAodGhpcy4jZmx5b3V0SW5zdGFuY2U/LmJlZm9yZUNsb3NlIGFzIFN1YmplY3Q8YW55Pik/Lm9ic2VydmVyc1xuICAgICAgICAgICAgLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgIG1lc3NhZ2UuZGF0YT8uaWdub3JlQmVmb3JlQ2xvc2VcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNPcGVuaW5nID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgKHRoaXMuI2ZseW91dEluc3RhbmNlPy5iZWZvcmVDbG9zZSBhcyBTdWJqZWN0PGFueT4pPy5uZXh0KFxuICAgICAgICAgICAgbmV3IFNreUZseW91dEJlZm9yZUNsb3NlSGFuZGxlcigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgdGhpcy5pc09wZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRW5hYmxlSXRlcmF0b3JOZXh0QnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvck5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5FbmFibGVJdGVyYXRvclByZXZpb3VzQnV0dG9uOlxuICAgICAgICB0aGlzLmNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Rmx5b3V0TWVzc2FnZVR5cGUuRGlzYWJsZUl0ZXJhdG9yTmV4dEJ1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lGbHlvdXRNZXNzYWdlVHlwZS5EaXNhYmxlSXRlcmF0b3JQcmV2aW91c0J1dHRvbjpcbiAgICAgICAgdGhpcy5jb25maWcuaXRlcmF0b3JQcmV2aW91c0J1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjbm90aWZ5Q2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuZW1pdCgpO1xuICAgIHRoaXMuI2ZseW91dEluc3RhbmNlPy5jbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gICNjbGVhblRlbXBsYXRlKCk6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0Py5jbGVhcigpO1xuICB9XG5cbiAgI3NldEZ1bGxzY3JlZW4oKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZSA8IHRoaXMuY29uZmlnLm1pbldpZHRoKSB7XG4gICAgICB0aGlzLmlzRnVsbHNjcmVlbiA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNGdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgI3NldFVzZXJEYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5zZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlXG4gICAgICAgIC5zZXRDb25maWcodGhpcy5jb25maWcuc2V0dGluZ3NLZXksIHtcbiAgICAgICAgICBmbHlvdXRXaWR0aDogdGhpcy5mbHlvdXRXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSBmbHlvdXQgZGF0YS4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI2NoZWNrSW5pdGlhbFNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLmNvbmZpZy5taW5XaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1pbldpZHRoO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmx5b3V0V2lkdGggPiB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IHRoaXMuY29uZmlnLm1heFdpZHRoO1xuICAgICAgdGhpcy4jc2V0VXNlckRhdGEoKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgZmx5b3V0IGRvZXMgbm90IGxvYWQgbGFyZ2VyIHRoYW4gdGhlIHdpbmRvdyBhbmQgaXRzIGJ1ZmZlclxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCAtIHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLiN3aW5kb3dCdWZmZXJTaXplKSB7XG4gICAgICB0aGlzLmZseW91dFdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSB0aGlzLiN3aW5kb3dCdWZmZXJTaXplO1xuICAgICAgdGhpcy4jeENvb3JkID0gdGhpcy4jd2luZG93QnVmZmVyU2l6ZTtcbiAgICAgIHRoaXMuI3NldFVzZXJEYXRhKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0RnVsbHNjcmVlbigpO1xuICB9XG5cbiAgI2dldFN0cmluZyhrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gVE9ETzogTmVlZCB0byBpbXBsZW1lbnQgdGhlIGFzeW5jIGBnZXRTdHJpbmdgIG1ldGhvZCBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICByZXR1cm4gdGhpcy4jcmVzb3VyY2VzU2VydmljZS5nZXRTdHJpbmdGb3JMb2NhbGUoeyBsb2NhbGU6ICdlbi1VUycgfSwga2V5KTtcbiAgfVxuXG4gICNoYW5kbGVSZXNpemVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQua2V5KSB7XG4gICAgICBjb25zdCBrZXlQcmVzc2VkID0gZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnYXJyb3cnLCAnJyk7XG4gICAgICBzd2l0Y2ggKGtleVByZXNzZWQpIHtcbiAgICAgICAgY2FzZSAnZW50ZXInOlxuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICB0aGlzLnJlc2l6ZUtleUNvbnRyb2xBY3RpdmUgPSAhdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICBpZiAodGhpcy5yZXNpemVLZXlDb250cm9sQWN0aXZlKSB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMuZmx5b3V0V2lkdGggPCB0aGlzLmNvbmZpZy5tYXhXaWR0aCkge1xuICAgICAgICAgICAgICB0aGlzLmZseW91dFdpZHRoID0gTWF0aC5taW4oXG4gICAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCArIHRoaXMud2lkdGhTdGVwLFxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLm1heFdpZHRoLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgaWYgKHRoaXMucmVzaXplS2V5Q29udHJvbEFjdGl2ZSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZseW91dFdpZHRoID4gdGhpcy5jb25maWcubWluV2lkdGgpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbHlvdXRXaWR0aCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIHRoaXMuZmx5b3V0V2lkdGggLSB0aGlzLndpZHRoU3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5taW5XaWR0aCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogRXhlY3V0ZXMgYSBmdW5jdGlvbiB3aGVuIHRoZSB6b25lIGlzIHN0YWJsZS4gKi9cbiAgI2V4ZWN1dGVPblN0YWJsZShmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI25nWm9uZS5pc1N0YWJsZSkge1xuICAgICAgZm4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGZuKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdEZvY3VzVHJhcCgpOiB2b2lkIHtcbiAgICB0aGlzLmVuYWJsZVRyYXBGb2N1c0F1dG9DYXB0dXJlID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVUcmFwRm9jdXMgPSBmYWxzZTtcbiAgICAvLyBXYWl0aW5nIGZvciB6b25lIHRvIGJlIHN0YWJsZSB3aWxsIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VBZnRlckNoZWNrZWRFcnJvci5cbiAgICB0aGlzLiNleGVjdXRlT25TdGFibGUoKCkgPT4ge1xuICAgICAgdGhpcy5lbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZSA9IHRydWU7XG4gICAgICB0aGlzLmVuYWJsZVRyYXBGb2N1cyA9IHRydWU7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2ZseW91dFJlZlxuICBjbGFzcz1cInNreS1mbHlvdXRcIlxuICBza3lSZXNwb25zaXZlSG9zdFxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2F0dHIucm9sZV09XCJjb25maWcuYXJpYVJvbGUgPyBjb25maWcuYXJpYVJvbGUgOiAnZGlhbG9nJ1wiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJjb25maWcuYXJpYUxhYmVsbGVkQnlcIlxuICBbYXR0ci5hcmlhLW1vZGFsXT1cIlxuICAgIGNvbmZpZy5hcmlhUm9sZSA9PT0gJ2RpYWxvZycgfHwgIWNvbmZpZy5hcmlhUm9sZSA/IHRydWUgOiBmYWxzZVxuICBcIlxuICBbYXR0ci5oaWRkZW5dPVwiIWluc3RhbmNlUmVhZHkgPyB0cnVlIDogdW5kZWZpbmVkXCJcbiAgW2lkXT1cImZseW91dElkXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZmx5b3V0LWhpZGRlbic6ICFpc09wZW4gJiYgIWlzT3BlbmluZyxcbiAgICAnc2t5LWZseW91dC1mdWxsc2NyZWVuJzogaXNGdWxsc2NyZWVuXG4gIH1cIlxuICBbc3R5bGUuei1pbmRleF09XCJ6SW5kZXgkIHwgYXN5bmNcIlxuICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgJ3NreS1zaGFkb3cnOiAnZGVmYXVsdCcsXG4gICAgJ3NreS1lbGV2YXRpb24tOCc6ICdtb2Rlcm4nXG4gIH1cIlxuICBbQGZseW91dFN0YXRlXT1cImdldEFuaW1hdGlvblN0YXRlKClcIlxuICBbc3R5bGUud2lkdGgucHhdPVwiZmx5b3V0V2lkdGhcIlxuICBbY2RrVHJhcEZvY3VzXT1cImVuYWJsZVRyYXBGb2N1c1wiXG4gIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJlbmFibGVUcmFwRm9jdXNBdXRvQ2FwdHVyZVwiXG4gIChAZmx5b3V0U3RhdGUuZG9uZSk9XCJhbmltYXRpb25Eb25lKCRldmVudClcIlxuPlxuICA8ZGl2XG4gICAgI2ZseW91dEhlYWRlclxuICAgIGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXJcIlxuICAgIFtzdHlsZS56LWluZGV4XT1cInpJbmRleCQgfCBhc3luY1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItY29udGVudFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1mbHlvdXQtaGVhZGVyLWdyYWItaGFuZGxlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2ZseW91dF9yZXNpemVfaGFuZGxlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChrZXlkb3duKT1cIm9uSGVhZGVyR3JhYkhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWRvd24pPVwib25IZWFkZXJHcmFiSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICBpY29uTmFtZT1cInJlLW9yZGVyLWRvdHMtdmVydGljYWxcIlxuICAgICAgICAgIGljb25TaXplPVwic1wiXG4gICAgICAgIC8+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgQGlmIChjb25maWcuc2hvd0l0ZXJhdG9yKSB7XG4gICAgICAgIDxza3ktZmx5b3V0LWl0ZXJhdG9yXG4gICAgICAgICAgW25leHRCdXR0b25EaXNhYmxlZF09XCJjb25maWcuaXRlcmF0b3JOZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgIFtwcmV2aW91c0J1dHRvbkRpc2FibGVkXT1cImNvbmZpZy5pdGVyYXRvclByZXZpb3VzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgIChuZXh0QnV0dG9uQ2xpY2spPVwib25JdGVyYXRvck5leHRCdXR0b25DbGljaygpXCJcbiAgICAgICAgICAocHJldmlvdXNCdXR0b25DbGljayk9XCJvbkl0ZXJhdG9yUHJldmlvdXNCdXR0b25DbGljaygpXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcm1hbGlua1RlbXBsYXRlXCIgLz5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcmltYXJ5QWN0aW9uVGVtcGxhdGVcIiAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWZseW91dC1idG4tY2xvc2Ugc2t5LWxhYmVsLWljb24tdGhlbWUtZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9mbHlvdXRfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb25OYW1lPVwiY2xvc2VcIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZseW91dC1jb250ZW50XCI+XG4gICAgPGRpdiAjdGFyZ2V0PjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZseW91dC1yZXNpemUtaGFuZGxlXCJcbiAgICByb2xlPVwic2VwYXJhdG9yXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJmbHlvdXRJZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfZmx5b3V0X3Jlc2l6ZV9oYW5kbGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cImNvbmZpZy5tYXhXaWR0aFwiXG4gICAgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJjb25maWcubWluV2lkdGhcIlxuICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwiZmx5b3V0V2lkdGhcIlxuICAgIChrZXlkb3duKT1cIm9uUmVzaXplSGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uUmVzaXplSGFuZGxlTW91c2VEb3duKCRldmVudClcIlxuICA+PC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwZXJtYWxpbmtUZW1wbGF0ZT5cbiAgQGlmIChwZXJtYWxpbmspIHtcbiAgICBAaWYgKHBlcm1hbGluay51cmwpIHtcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1wZXJtYWxpbmtcIlxuICAgICAgICBbc2t5SHJlZl09XCJwZXJtYWxpbmsudXJsXCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1idG4tbGluay1pbmxpbmUnOiAnbW9kZXJuJ1xuICAgICAgICB9XCJcbiAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxuICAgICAgPlxuICAgICAgICB7eyBwZXJtYWxpbmtMYWJlbCB9fVxuICAgICAgPC9hPlxuICAgIH0gQGVsc2UgaWYgKHBlcm1hbGluay5yb3V0ZSkge1xuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1mbHlvdXQtYnRuLXBlcm1hbGlua1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cInBlcm1hbGluay5yb3V0ZS5jb21tYW5kc1wiXG4gICAgICAgIFtmcmFnbWVudF09XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5mcmFnbWVudFwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LWJ0bi1kZWZhdWx0JzogJ2RlZmF1bHQnLFxuICAgICAgICAgICdza3ktYnRuLWxpbmstaW5saW5lJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJwZXJtYWxpbmsucm91dGUuZXh0cmFzPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInBlcm1hbGluay5yb3V0ZS5leHRyYXM/LnF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICBbc3RhdGVdPVwicGVybWFsaW5rLnJvdXRlLmV4dHJhcz8uc3RhdGVcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBlcm1hbGlua0xhYmVsIH19XG4gICAgICA8L2E+XG4gICAgfVxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ByaW1hcnlBY3Rpb25UZW1wbGF0ZT5cbiAgQGlmIChwcmltYXJ5QWN0aW9uICYmIHByaW1hcnlBY3Rpb24uY2FsbGJhY2spIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktZmx5b3V0LWJ0bi1wcmltYXJ5LWFjdGlvblwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktYnRuLWRlZmF1bHQnOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktYnRuLWxpbmstaW5saW5lJzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cImludm9rZVByaW1hcnlBY3Rpb24oKVwiXG4gICAgPlxuICAgICAge3sgcHJpbWFyeUFjdGlvbkxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyFlyoutModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent], exports: [SkyFlyoutComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, imports: [SkyFlyoutComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [SkyFlyoutComponent],\n exports: [SkyFlyoutComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mbHlvdXQvc3JjL2xpYi9tb2R1bGVzL2ZseW91dC9mbHlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXhELE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQUhoQixrQkFBa0IsYUFDbEIsa0JBQWtCOytHQUVqQixlQUFlLFlBSGhCLGtCQUFrQjs7MkZBR2pCLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZseW91dENvbXBvbmVudCB9IGZyb20gJy4vZmx5b3V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lGbHlvdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5Rmx5b3V0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rmx5b3V0TW9kdWxlIHt9XG4iXX0=","var _a;\nimport { EnvironmentInjector, Injectable, inject, } from '@angular/core';\nimport { NavigationStart } from '@angular/router';\nimport { Subject, fromEvent } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { SkyFlyoutComponent } from './flyout.component';\nimport { SkyFlyoutMessageType } from './types/flyout-message-type';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\nimport * as i2 from \"@angular/router\";\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n */\nexport class SkyFlyoutService {\n #removeAfterClosed = false;\n #isOpening = false;\n #ngUnsubscribe = new Subject();\n #coreAdapter;\n #windowRef;\n #dynamicComponentService;\n #environmentInjector = inject(EnvironmentInjector);\n #router;\n #ngZone;\n constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {\n this.#coreAdapter = coreAdapter;\n this.#windowRef = windowRef;\n this.#dynamicComponentService = dynamicComponentService;\n this.#router = router;\n this.#ngZone = ngZone;\n }\n ngOnDestroy() {\n this.#removeListeners();\n if (_a.host) {\n this.#removeHostComponent();\n }\n }\n /**\n * Closes the flyout. This method also removes the flyout's HTML elements from the DOM.\n * @param args Arguments used when closing the flyout.\n */\n close(args) {\n if (_a.host && !this.#isOpening) {\n _a.host.instance.messageStream.next({\n type: SkyFlyoutMessageType.Close,\n data: {\n ignoreBeforeClose: args ? args.ignoreBeforeClose : false,\n },\n });\n }\n }\n /**\n * Opens a flyout and displays the specified component.\n * @param component Specifies the component to render.\n * @param config Specifies the flyout configuration passed to the specified component's constructor.\n */\n open(component, config) {\n // isOpening flag will prevent close() from firing when open() is also fired.\n this.#isOpening = true;\n this.#windowRef.nativeWindow.setTimeout(() => {\n this.#isOpening = false;\n });\n if (!_a.host) {\n _a.host = this.#createHostComponent();\n this.#router.events\n .pipe(takeWhile(() => _a.host !== undefined))\n .subscribe((event) => {\n if (event instanceof NavigationStart) {\n this.close();\n // Sanity check - if the host still exists after animations should have completed - remove host\n this.#ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (_a.host) {\n this.#removeHostComponent();\n }\n });\n }\n });\n }\n const flyout = _a.host.instance.attach(component, config, this.#environmentInjector);\n this.#addListeners(flyout);\n return flyout;\n }\n #createHostComponent() {\n _a.host =\n this.#dynamicComponentService.createComponent(SkyFlyoutComponent);\n return _a.host;\n }\n #removeHostComponent() {\n if (_a.host) {\n this.#dynamicComponentService.removeComponent(_a.host);\n _a.host = undefined;\n }\n }\n #addListeners(flyout) {\n /* istanbul ignore else */\n if (_a.host) {\n const flyoutInstance = _a.host.instance;\n let doClose = false;\n /**\n * Handles when to close a flyout.\n * Note: We're using `mouseup` in order to capture the parent of certain targets that will be\n * deleted immediately after being clicked. If we use `click`, the event is fired after the\n * element is removed from the DOM making it impossible to check the parent's z-index\n * relative to the flyout's container.\n */\n fromEvent(document, 'mouseup')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((event) => {\n doClose = false;\n if (_a.host?.instance.isDragging) {\n return;\n }\n if (flyoutInstance.flyoutRef?.nativeElement.contains(event.target)) {\n return;\n }\n const isAbove = event.target === document || !event.target\n ? false\n : this.#coreAdapter.isTargetAboveElement(event.target, flyoutInstance.flyoutRef?.nativeElement);\n /* istanbul ignore else */\n if (!isAbove) {\n doClose = true;\n }\n });\n /**\n * Check if we should close the flyout specifically on a `click` event so that we can keep\n * it open when consumers fire another `click` event on a trigger button. Since the consumer\n * will likely use a `click` event to open the flyout, we want to wait for that event to fire\n * before determining if the flyout should be closed.\n */\n fromEvent(document, 'click')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (doClose) {\n this.close();\n }\n });\n this.#removeAfterClosed = false;\n flyoutInstance.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message) => {\n if (message.type === SkyFlyoutMessageType.Close) {\n this.#removeAfterClosed = true;\n this.#isOpening = false;\n }\n });\n flyout.closed.pipe(take(1)).subscribe(() => {\n this.#removeListeners();\n if (this.#removeAfterClosed) {\n this.#removeHostComponent();\n }\n });\n }\n }\n #removeListeners() {\n this.#ngUnsubscribe.next(true);\n this.#ngUnsubscribe.unsubscribe();\n this.#ngUnsubscribe = new Subject();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutService, providedIn: 'root' }); }\n}\n_a = SkyFlyoutService;\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentService }, { type: i2.Router }, { type: i0.NgZone }] });\n/**\n * Launches flyouts and provides a common look and feel.\n * This service dynamically generates the flyout component and appends it directly to the\n * document's `body` element. The `SkyFlyoutInstance` class watches for and triggers flyout events.\n * @internal\n * @deprecated Use `SkyFlyoutService` to open a standalone component instead.\n */\nexport class SkyFlyoutLegacyService extends SkyFlyoutService {\n /* istanbul ignore next */\n constructor(coreAdapter, windowRef, dynamicComponentService, router, ngZone) {\n super(coreAdapter, windowRef, dynamicComponentService, router, ngZone);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutLegacyService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i1.SkyAppWindowRef }, { token: i1.SkyDynamicComponentLegacyService }, { token: i2.Router }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutLegacyService, providedIn: 'any' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyFlyoutLegacyService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'any',\n }]\n }], ctorParameters: () => [{ type: i1.SkyCoreAdapterService }, { type: i1.SkyAppWindowRef }, { type: i1.SkyDynamicComponentLegacyService }, { type: i2.Router }, { type: i0.NgZone }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZmx5b3V0L3NyYy9saWIvbW9kdWxlcy9mbHlvdXQvZmx5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxtQkFBbUIsRUFDbkIsVUFBVSxFQUlWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFRMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkU7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0Isa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFFeEMsWUFBWSxDQUF3QjtJQUNwQyxVQUFVLENBQWtCO0lBQzVCLHdCQUF3QixDQUE2QjtJQUNyRCxvQkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxPQUFPLENBQVM7SUFDaEIsT0FBTyxDQUFTO0lBRWhCLFlBQ0UsV0FBa0MsRUFDbEMsU0FBMEIsRUFDMUIsdUJBQW1ELEVBQ25ELE1BQWMsRUFDZCxNQUFjO1FBRWQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFD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Ozs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUE4TEQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQUMxRCwwQkFBMEI7SUFDMUIsWUFDRSxXQUFrQyxFQUNsQyxTQUEwQixFQUMxQix1QkFBeUQsRUFDekQsTUFBYyxFQUNkLE1BQWM7UUFFZCxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FWVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZyQixLQUFLOzsyRkFFTixzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBJbmplY3RhYmxlLFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgVHlwZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIFNreUFwcFdpbmRvd1JlZixcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50TGVnYWN5U2VydmljZSxcbiAgU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rmx5b3V0SW5zdGFuY2UgfSBmcm9tICcuL2ZseW91dC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb21wb25lbnQgfSBmcm9tICcuL2ZseW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0Q2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9mbHlvdXQtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lGbHlvdXRDb25maWcgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1jb25maWcnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvZmx5b3V0LW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5Rmx5b3V0TWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL2ZseW91dC1tZXNzYWdlLXR5cGUnO1xuXG4vKipcbiAqIExhdW5jaGVzIGZseW91dHMgYW5kIHByb3ZpZGVzIGEgY29tbW9uIGxvb2sgYW5kIGZlZWwuXG4gKiBUaGlzIHNlcnZpY2UgZHluYW1pY2FsbHkgZ2VuZXJhdGVzIHRoZSBmbHlvdXQgY29tcG9uZW50IGFuZCBhcHBlbmRzIGl0IGRpcmVjdGx5IHRvIHRoZVxuICogZG9jdW1lbnQncyBgYm9keWAgZWxlbWVudC4gVGhlIGBTa3lGbHlvdXRJbnN0YW5jZWAgY2xhc3Mgd2F0Y2hlcyBmb3IgYW5kIHRyaWdnZXJzIGZseW91dCBldmVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaG9zdDogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI3JlbW92ZUFmdGVyQ2xvc2VkID0gZmFsc2U7XG4gICNpc09wZW5pbmcgPSBmYWxzZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG4gICNkeW5hbWljQ29tcG9uZW50U2VydmljZTogU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2U7XG4gICNlbnZpcm9ubWVudEluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xuICAjcm91dGVyOiBSb3V0ZXI7XG4gICNuZ1pvbmU6IE5nWm9uZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHdpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmLFxuICAgIGR5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbiAgICByb3V0ZXI6IFJvdXRlcixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBkeW5hbWljQ29tcG9uZW50U2VydmljZTtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG4gICAgdGhpcy4jbmdab25lID0gbmdab25lO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZUxpc3RlbmVycygpO1xuICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBmbHlvdXQuIFRoaXMgbWV0aG9kIGFsc28gcmVtb3ZlcyB0aGUgZmx5b3V0J3MgSFRNTCBlbGVtZW50cyBmcm9tIHRoZSBET00uXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB1c2VkIHdoZW4gY2xvc2luZyB0aGUgZmx5b3V0LlxuICAgKi9cbiAgcHVibGljIGNsb3NlKGFyZ3M/OiBTa3lGbHlvdXRDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0ICYmICF0aGlzLiNpc09wZW5pbmcpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZS5tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICB0eXBlOiBTa3lGbHlvdXRNZXNzYWdlVHlwZS5DbG9zZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlnbm9yZUJlZm9yZUNsb3NlOiBhcmdzID8gYXJncy5pZ25vcmVCZWZvcmVDbG9zZSA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZmx5b3V0IGFuZCBkaXNwbGF5cyB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0byByZW5kZXIuXG4gICAqIEBwYXJhbSBjb25maWcgU3BlY2lmaWVzIHRoZSBmbHlvdXQgY29uZmlndXJhdGlvbiBwYXNzZWQgdG8gdGhlIHNwZWNpZmllZCBjb21wb25lbnQncyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIHB1YmxpYyBvcGVuPFQ+KFxuICAgIGNvbXBvbmVudDogVHlwZTxUPixcbiAgICBjb25maWc/OiBTa3lGbHlvdXRDb25maWcsXG4gICk6IFNreUZseW91dEluc3RhbmNlPFQ+IHtcbiAgICAvLyBpc09wZW5pbmcgZmxhZyB3aWxsIHByZXZlbnQgY2xvc2UoKSBmcm9tIGZpcmluZyB3aGVuIG9wZW4oKSBpcyBhbHNvIGZpcmVkLlxuICAgIHRoaXMuI2lzT3BlbmluZyA9IHRydWU7XG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgaWYgKCFTa3lGbHlvdXRTZXJ2aWNlLmhvc3QpIHtcbiAgICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9IHRoaXMuI2NyZWF0ZUhvc3RDb21wb25lbnQoKTtcblxuICAgICAgdGhpcy4jcm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gU2t5Rmx5b3V0U2VydmljZS5ob3N0ICE9PSB1bmRlZmluZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgICAgICAvLyBTYW5pdHkgY2hlY2sgLSBpZiB0aGUgaG9zdCBzdGlsbCBleGlzdHMgYWZ0ZXIgYW5pbWF0aW9ucyBzaG91bGQgaGF2ZSBjb21wbGV0ZWQgLSByZW1vdmUgaG9zdFxuICAgICAgICAgICAgdGhpcy4jbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuI3JlbW92ZUhvc3RDb21wb25lbnQoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBmbHlvdXQgPSBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QuaW5zdGFuY2UuYXR0YWNoKFxuICAgICAgY29tcG9uZW50LFxuICAgICAgY29uZmlnLFxuICAgICAgdGhpcy4jZW52aXJvbm1lbnRJbmplY3RvcixcbiAgICApO1xuXG4gICAgdGhpcy4jYWRkTGlzdGVuZXJzKGZseW91dCk7XG5cbiAgICByZXR1cm4gZmx5b3V0O1xuICB9XG5cbiAgI2NyZWF0ZUhvc3RDb21wb25lbnQoKTogQ29tcG9uZW50UmVmPFNreUZseW91dENvbXBvbmVudD4ge1xuICAgIFNreUZseW91dFNlcnZpY2UuaG9zdCA9XG4gICAgICB0aGlzLiNkeW5hbWljQ29tcG9uZW50U2VydmljZS5jcmVhdGVDb21wb25lbnQoU2t5Rmx5b3V0Q29tcG9uZW50KTtcbiAgICByZXR1cm4gU2t5Rmx5b3V0U2VydmljZS5ob3N0O1xuICB9XG5cbiAgI3JlbW92ZUhvc3RDb21wb25lbnQoKTogdm9pZCB7XG4gICAgaWYgKFNreUZseW91dFNlcnZpY2UuaG9zdCkge1xuICAgICAgdGhpcy4jZHluYW1pY0NvbXBvbmVudFNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KFNreUZseW91dFNlcnZpY2UuaG9zdCk7XG4gICAgICBTa3lGbHlvdXRTZXJ2aWNlLmhvc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2FkZExpc3RlbmVyczxUPihmbHlvdXQ6IFNreUZseW91dEluc3RhbmNlPFQ+KTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoU2t5Rmx5b3V0U2VydmljZS5ob3N0KSB7XG4gICAgICBjb25zdCBmbHlvdXRJbnN0YW5jZSA9IFNreUZseW91dFNlcnZpY2UuaG9zdC5pbnN0YW5jZTtcblxuICAgICAgbGV0IGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgLyoqXG4gICAgICAgKiBIYW5kbGVzIHdoZW4gdG8gY2xvc2UgYSBmbHlvdXQuXG4gICAgICAgKiBOb3RlOiBXZSdyZSB1c2luZyBgbW91c2V1cGAgaW4gb3JkZXIgdG8gY2FwdHVyZSB0aGUgcGFyZW50IG9mIGNlcnRhaW4gdGFyZ2V0cyB0aGF0IHdpbGwgYmVcbiAgICAgICAqIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYmVpbmcgY2xpY2tlZC4gSWYgd2UgdXNlIGBjbGlja2AsIHRoZSBldmVudCBpcyBmaXJlZCBhZnRlciB0aGVcbiAgICAgICAqIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gbWFraW5nIGl0IGltcG9zc2libGUgdG8gY2hlY2sgdGhlIHBhcmVudCdzIHotaW5kZXhcbiAgICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmbHlvdXQncyBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICAgIGRvQ2xvc2UgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChTa3lGbHlvdXRTZXJ2aWNlLmhvc3Q/Lmluc3RhbmNlLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmx5b3V0SW5zdGFuY2UuZmx5b3V0UmVmPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCA9PT0gZG9jdW1lbnQgfHwgIWV2ZW50LnRhcmdldFxuICAgICAgICAgICAgICA/IGZhbHNlXG4gICAgICAgICAgICAgIDogdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICBmbHlvdXRJbnN0YW5jZS5mbHlvdXRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKCFpc0Fib3ZlKSB7XG4gICAgICAgICAgICBkb0Nsb3NlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAvKipcbiAgICAgICAqIENoZWNrIGlmIHdlIHNob3VsZCBjbG9zZSB0aGUgZmx5b3V0IHNwZWNpZmljYWxseSBvbiBhIGBjbGlja2AgZXZlbnQgc28gdGhhdCB3ZSBjYW4ga2VlcFxuICAgICAgICogaXQgb3BlbiB3aGVuIGNvbnN1bWVycyBmaXJlIGFub3RoZXIgYGNsaWNrYCBldmVudCBvbiBhIHRyaWdnZXIgYnV0dG9uLiBTaW5jZSB0aGUgY29uc3VtZXJcbiAgICAgICAqIHdpbGwgbGlrZWx5IHVzZSBhIGBjbGlja2AgZXZlbnQgdG8gb3BlbiB0aGUgZmx5b3V0LCB3ZSB3YW50IHRvIHdhaXQgZm9yIHRoYXQgZXZlbnQgdG8gZmlyZVxuICAgICAgICogYmVmb3JlIGRldGVybWluaW5nIGlmIHRoZSBmbHlvdXQgc2hvdWxkIGJlIGNsb3NlZC5cbiAgICAgICAqL1xuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChkb0Nsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jcmVtb3ZlQWZ0ZXJDbG9zZWQgPSBmYWxzZTtcbiAgICAgIGZseW91dEluc3RhbmNlLm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lGbHlvdXRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gU2t5Rmx5b3V0TWVzc2FnZVR5cGUuQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuI2lzT3BlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGZseW91dC5jbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNyZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMuI3JlbW92ZUFmdGVyQ2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy4jcmVtb3ZlSG9zdENvbXBvbmVudCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCh0cnVlKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMYXVuY2hlcyBmbHlvdXRzIGFuZCBwcm92aWRlcyBhIGNvbW1vbiBsb29rIGFuZCBmZWVsLlxuICogVGhpcyBzZXJ2aWNlIGR5bmFtaWNhbGx5IGdlbmVyYXRlcyB0aGUgZmx5b3V0IGNvbXBvbmVudCBhbmQgYXBwZW5kcyBpdCBkaXJlY3RseSB0byB0aGVcbiAqIGRvY3VtZW50J3MgYGJvZHlgIGVsZW1lbnQuIFRoZSBgU2t5Rmx5b3V0SW5zdGFuY2VgIGNsYXNzIHdhdGNoZXMgZm9yIGFuZCB0cmlnZ2VycyBmbHlvdXQgZXZlbnRzLlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreUZseW91dFNlcnZpY2VgIHRvIG9wZW4gYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbnN0ZWFkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGbHlvdXRMZWdhY3lTZXJ2aWNlIGV4dGVuZHMgU2t5Rmx5b3V0U2VydmljZSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWYsXG4gICAgZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlLFxuICAgIHJvdXRlcjogUm91dGVyLFxuICAgIG5nWm9uZTogTmdab25lLFxuICApIHtcbiAgICBzdXBlcihjb3JlQWRhcHRlciwgd2luZG93UmVmLCBkeW5hbWljQ29tcG9uZW50U2VydmljZSwgcm91dGVyLCBuZ1pvbmUpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZmx5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2ZseW91dC9zcmMvc2t5dXgtZmx5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i5","i7"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/flyout",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.3.1",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
"@angular/common": "^20.3.0",
|
|
22
22
|
"@angular/core": "^20.3.0",
|
|
23
23
|
"@angular/router": "^20.3.0",
|
|
24
|
-
"@skyux/core": "13.
|
|
25
|
-
"@skyux/i18n": "13.
|
|
26
|
-
"@skyux/icon": "13.
|
|
27
|
-
"@skyux/router": "13.
|
|
28
|
-
"@skyux/theme": "13.
|
|
24
|
+
"@skyux/core": "13.3.1",
|
|
25
|
+
"@skyux/i18n": "13.3.1",
|
|
26
|
+
"@skyux/icon": "13.3.1",
|
|
27
|
+
"@skyux/router": "13.3.1",
|
|
28
|
+
"@skyux/theme": "13.3.1"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"tslib": "^2.8.1"
|