@acorex/platform 20.2.0-next.4 → 20.2.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.
- package/common/index.d.ts +30 -471
- package/core/index.d.ts +1 -1
- package/fesm2022/acorex-platform-auth.mjs +19 -19
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +148 -374
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +66 -45
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +16 -16
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +61 -38
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +85 -85
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +72 -72
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +193 -127
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +15 -15
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +7 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +40 -40
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-create-entity-view.component-DBkuhSDb.mjs → acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-create-entity-view.component-DBkuhSDb.mjs.map → acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-8S2CXBAi.mjs → acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-8S2CXBAi.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-Bf8N5e5h.mjs → acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs} +22 -22
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-Bf8N5e5h.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DF0gS61P.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DF0gS61P.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-CEnHe_cU.mjs → acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs} +65 -28
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-BYI4xP23.mjs → acorex-platform-themes-default-error-401.component-D4glpFvU.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-BYI4xP23.mjs.map → acorex-platform-themes-default-error-401.component-D4glpFvU.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-1gM0Vlbv.mjs → acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-1gM0Vlbv.mjs.map → acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Y3w3K60c.mjs → acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-Y3w3K60c.mjs.map → acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +39 -39
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-BLFvyMvH.mjs → acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-BLFvyMvH.mjs.map → acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-CN1lEEOY.mjs → acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-CN1lEEOY.mjs.map → acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-UJ2abdzQ.mjs → acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-UJ2abdzQ.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +41 -41
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BMsEt6Lq.mjs → acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BMsEt6Lq.mjs.map → acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-CezBQ0iO.mjs → acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-CezBQ0iO.mjs.map → acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BkH4hBUc.mjs → acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BkH4hBUc.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-BwlHVBRW.mjs → acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-BwlHVBRW.mjs.map → acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-BPLG8mY4.mjs → acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-BPLG8mY4.mjs.map → acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-Bwbrw1xo.mjs → acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-Bwbrw1xo.mjs.map → acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-file-rename-popup.component-CXRHtjFu.mjs → acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-file-rename-popup.component-CXRHtjFu.mjs.map → acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Cf5bTu-k.mjs → acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Cf5bTu-k.mjs.map → acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DOGwSrH1.mjs → acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DOGwSrH1.mjs.map → acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CFg2-tyF.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CFg2-tyF.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-BvVF-vJF.mjs → acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-BvVF-vJF.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-BhXq3JZ1.mjs → acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-BhXq3JZ1.mjs.map → acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +572 -572
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +25 -25
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/entity/index.d.ts +8 -3
- package/package.json +5 -5
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CEnHe_cU.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-views.mjs","sources":["../tmp-esm2022/layout/views/lib/layouts/page/page-layout.base.js","../tmp-esm2022/layout/views/lib/layouts/page/page-layout.component.js","../tmp-esm2022/layout/views/lib/layouts/page/page-layout-base.component.js","../tmp-esm2022/layout/views/lib/layouts/popup/popup-layout.base.js","../tmp-esm2022/layout/views/lib/layouts/popup/popup-layout.component.js","../tmp-esm2022/layout/views/lib/layouts/popup/popup-layout-base.component.js","../tmp-esm2022/layout/views/lib/views/details-view/details-view.viewmodel.js","../tmp-esm2022/layout/views/lib/views/details-view/details-view.component.js","../tmp-esm2022/layout/views/acorex-platform-layout-views.js"],"sourcesContent":["export class AXPPageLayoutBase {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvbGF5b3V0cy9wYWdlL3BhZ2UtbGF5b3V0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQixpQkFBaUI7Q0FvQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEJyZWFkY3J1bWJJdGVtLCBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFBhZ2VMYXlvdXRCYXNlIHtcbiAgYWJzdHJhY3QgcHJpbWFyeU1lbnVJdGVtczogU2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+O1xuXG4gIGFic3RyYWN0IHNlY29uZGFyeU1lbnVJdGVtczogU2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+O1xuXG4gIGFic3RyYWN0IHRpdGxlQWN0aW9uczogU2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+O1xuXG4gIGFic3RyYWN0IGhhc1RpdGxlQWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGhhc1ByaW1hcnlBY3Rpb25zOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgaGFzU2Vjb25kYXJ5QWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGhhc0FjdGlvbnM6IFNpZ25hbDxib29sZWFuPjtcblxuICBhYnN0cmFjdCBicmVhZGNydW1iczogU2lnbmFsPEFYUEJyZWFkY3J1bWJJdGVtW10+O1xuXG4gIGFic3RyYWN0IHRpdGxlOiBTaWduYWw8c3RyaW5nPjtcblxuICBhYnN0cmFjdCBoYXNUaXRsZTogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGhhc0Rlc2NyaXB0aW9uOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgZGVzY3JpcHRpb246IFNpZ25hbDxzdHJpbmc+O1xuXG4gIGFic3RyYWN0IGhhc0JyZWFkY3J1bWJzOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgaGFzQmFja0J1dHRvbjogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGJhY2tCdXR0b246IFNpZ25hbDxBWFBCYWNrQnV0dG9uPjtcblxuICBhYnN0cmFjdCBvbkJhY2tCdXR0b25DbGljazogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG5cbiAgYWJzdHJhY3Qgc3RhcnRTaWRlVG9nZ2xlOiAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCBleGVjdXRlOiAoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xufVxuIl19","import { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, inject, viewChild, ViewEncapsulation, } from '@angular/core';\n//\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\nimport { AXPStickyDirective } from '@acorex/platform/common';\n//\nimport { AXDrawerContainerDirective, AXDrawerDirectiveModule } from '@acorex/cdk/drawer';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutHeaderComponent, } from '@acorex/platform/layout/components';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPPageLayoutBase } from './page-layout.base';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/cdk/drawer\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/breadcrumbs\";\nimport * as i5 from \"@acorex/components/dropdown\";\nimport * as i6 from \"@acorex/components/button\";\nimport * as i7 from \"@acorex/core/translation\";\nimport * as i8 from \"@acorex/platform/layout/components\";\nexport class AXPPageLayoutComponent {\n constructor() {\n this.page = inject(AXPPageLayoutBase, { optional: true });\n this.layoutService = inject(AXPLayoutThemeService);\n this.startSideDrawer = viewChild('startSideDrawer', ...(ngDevMode ? [{ debugName: \"startSideDrawer\" }] : []));\n this.workflow = inject(AXPWorkflowService);\n this.commandService = inject(AXPCommandService);\n this.#initialize = afterNextRender(async () => {\n this.checkScrollableContent();\n });\n this.#effect = effect(() => {\n this.page?.title();\n this.page?.description();\n this.checkScrollableContent();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #initialize;\n #effect;\n checkScrollableContent() {\n const content = document.querySelector('axp-page-content');\n if (content && content.scrollHeight >= content.clientHeight) {\n content.classList.add('--scrollable');\n }\n }\n handleActionClick(item) {\n if (item.command && (item.items?.length ?? 0) == 0) {\n this.execute(item.command);\n }\n }\n toggleStartSide() {\n this.startSideDrawer()?.toggle();\n }\n handleSecondaryActionClick(item) {\n if (item.command) {\n this.execute(item.command);\n }\n }\n handleBackdropClick(e) {\n e.nativeEvent.preventDefault();\n e.nativeEvent.stopPropagation();\n e.component.hide();\n return false;\n }\n async execute(command) {\n const reserved = ['navigate'];\n if (reserved.includes(command.name)) {\n await this.workflow.execute(command.name, { options: command.options });\n return;\n }\n if (this.commandService.exists(command.name)) {\n await this.commandService.execute(command.name, command.options ?? {});\n }\n else {\n await this.page?.execute(command);\n }\n }\n handleOnBackdropClick(event) {\n event.stopPropagation();\n this.startSideDrawer()?.hide();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPageLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPPageLayoutComponent, isStandalone: true, selector: \"axp-page-layout\", providers: [], viewQueries: [{ propertyName: \"startSideDrawer\", first: true, predicate: [\"startSideDrawer\"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.AXDrawerContainerDirective }], ngImport: i0, template: \"<div\\n [mode]=\\\"layoutService.isSmall() ? 'overlay' : 'push'\\\"\\n [transition]=\\\"250\\\"\\n axDrawerItem\\n [backDrop]=\\\"true\\\"\\n (onBackdropClick)=\\\"handleBackdropClick($event)\\\"\\n #startSideDrawer=\\\"axDrawerItem\\\"\\n [backdropClass]=\\\"'ax-bg-darkest/75'\\\"\\n [collapsed]=\\\"layoutService.isSmall()\\\"\\n drawerLocation=\\\"start\\\"\\n class=\\\"ax-z-50 ax-h-full\\\"\\n>\\n <ng-content select=\\\"axp-layout-start-side\\\"></ng-content>\\n</div>\\n<axp-layout-container id=\\\"axp-page-layout\\\" #container>\\n <axp-layout-header\\n *translate=\\\"let t\\\"\\n #sticky=\\\"axpSticky\\\"\\n [axpSticky]=\\\"'axp-is-sticky'\\\"\\n [stickyOffset]=\\\"50\\\"\\n [stickyParent]=\\\"container.hostElement\\\"\\n >\\n @if (page?.hasBackButton() && layoutService.isSmall()) {\\n <ax-button\\n [look]=\\\"'blank'\\\"\\n class=\\\"ax-sm ax-w-fit ax-ms-1\\\"\\n color=\\\"secondary\\\"\\n (click)=\\\"page?.onBackButtonClick()\\\"\\n [text]=\\\"page?.backButton()?.title\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-solid fa-chevron-left rtl:ax-rotate-180\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n }\\n <!-------- Begin Title Bar -------->\\n <axp-layout-title-bar>\\n <!-------- Begin Title -------->\\n <div class=\\\"ax-flex ax-flex-col ax-transition\\\">\\n <!-- Breadcrumbs -->\\n @if (page?.hasBreadcrumbs() && !layoutService.isSmall()) {\\n <ax-breadcrumbs class=\\\"ax-mb-1\\\">\\n @for (item of page?.breadcrumbs(); track $index) {\\n <ax-breadcrumbs-item [active]=\\\"$last\\\" (click)=\\\"item.command ? execute(item.command) : null\\\">\\n @if (item.icon) {\\n <i [class]=\\\"item.icon\\\"></i>\\n }\\n {{ t(item.title) | async }}\\n </ax-breadcrumbs-item>\\n }\\n <ng-template #divider>\\n <i class=\\\"fa-regular fa-chevron-right rtl:ax-rotate-180 fa-sm\\\"></i>\\n </ng-template>\\n </ax-breadcrumbs>\\n }\\n <div class=\\\"__title-container\\\">\\n <!-- Title -->\\n @if (page?.hasTitle()) {\\n <axp-layout-title> {{ t(page?.title()) | async }}</axp-layout-title>\\n }\\n <!-- Title Actions -->\\n @if (page?.hasTitleActions()) {\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm -ax-mx-2\\\">\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-caret-down fa-fw\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of page?.titleActions(); track $index) {\\n <ng-container>\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n </ng-container>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </div>\\n <!-- Description -->\\n @if (page?.hasDescription()) {\\n <axp-layout-description> {{ t(page?.description()) | async }}</axp-layout-description>\\n }\\n </div>\\n <!-------- Finish Title -------->\\n <!--------------------------------------------------------------->\\n <!-------- Page Actions -------->\\n\\n <axp-layout-actions class=\\\"ax-shrink-0\\\">\\n <axp-component-slot name=\\\"page-header-actions\\\"></axp-component-slot>\\n <!--Primary Actions -->\\n @if (page?.hasPrimaryActions()) {\\n <!-- items -->\\n @for (item of page?.primaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n @if (item?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of item?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n <!-- Secondary Actions -->\\n @if (page?.hasSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (item of page?.secondaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [color]=\\\"item.color\\\"\\n [disabled]=\\\"item.disabled\\\"\\n (onClick)=\\\"handleSecondaryActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-actions>\\n <!-- Finish Page Actions -->\\n </axp-layout-title-bar>\\n <!----- Finish Title Bar ----->\\n <!--------------------------------------------------------------->\\n <!-- Begin Navbar -->\\n @if (!sticky.isSticky) {}\\n <ng-content select=\\\"axp-page-toolbar\\\"></ng-content>\\n <!-- Finish Navbar -->\\n </axp-layout-header>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n\\n <axp-page-footer-container\\n [ngStyle]=\\\"{ display: tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty() ? 'none' : 'block' }\\\"\\n >\\n <axp-layout-container #tt>\\n <ng-content select=\\\"axp-page-footer\\\"></ng-content>\\n </axp-layout-container>\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axp-component-slot name=\\\"page-footer-start\\\" #prefixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-prefix>\\n <axp-layout-suffix>\\n <axp-component-slot name=\\\"page-footer-end\\\" #suffixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n </axp-page-footer-container>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:16rem;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side axp-layout-header,axp-page-layout axp-layout-end-side axp-layout-header{display:flex;flex-direction:column;gap:.5rem;padding:1rem}axp-page-layout axp-layout-start-side axp-layout-header>axp-layout-title,axp-page-layout axp-layout-end-side axp-layout-header>axp-layout-title{font-size:1.125rem;line-height:1.75rem;font-weight:500}axp-page-layout axp-layout-start-side>axp-layout-content,axp-page-layout axp-layout-end-side>axp-layout-content{flex:1 1 0%}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1));opacity:.75}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem}@media (min-width: 1280px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:center;gap:.75rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500;line-height:1.625}@media (min-width: 1024px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:.5rem;padding-left:1rem;padding-right:1rem}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column;padding:.75rem 1rem}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:1rem}axp-page-layout>axp-layout-container>axp-page-footer-container{border-top-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: \n //\n AXCommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"component\", type: i4.AXBreadCrumbsComponent, selector: \"ax-breadcrumbs\" }, { kind: \"component\", type: i4.AXBreadCrumbsItemComponent, selector: \"ax-breadcrumbs-item\", inputs: [\"disabled\", \"active\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i5.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i6.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i6.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i6.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i7.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"ngmodule\", type: AXDrawerDirectiveModule }, { kind: \"directive\", type: i1.AXDrawerItemDirective, selector: \"[axDrawerItem]\", inputs: [\"location\", \"collapsed\", \"backDrop\", \"mode\", \"transition\", \"closeOnBackdropClick\", \"backdropClass\"], outputs: [\"collapseStateChanged\", \"locationChange\", \"collapsedChange\", \"backDropChange\", \"modeChange\", \"transitionChange\", \"closeOnBackdropClickChange\", \"backdropClassChange\", \"onBackdropClick\"], exportAs: [\"axDrawerItem\"] }, { kind: \"ngmodule\", type: \n //\n AXPComponentSlotModule }, { kind: \"directive\", type: i8.AXPComponentSlotDirective, selector: \"axp-component-slot\", inputs: [\"name\", \"host\", \"context\"], exportAs: [\"slot\"] }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutActionsComponent, selector: \"axp-layout-actions\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"directive\", type: AXPStickyDirective, selector: \"[axpSticky]\", inputs: [\"axpSticky\", \"stickyOffset\", \"stickyParent\", \"stickyTarget\"], outputs: [\"isStickyChange\"], exportAs: [\"axpSticky\"] }, { kind: \"component\", type: AXPThemeLayoutContainerComponent, selector: \"axp-layout-container\" }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPageLayoutComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n //\n AXCommonModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXButtonModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDrawerDirectiveModule,\n //\n AXPComponentSlotModule,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutHeaderComponent,\n AXPStickyDirective,\n AXPThemeLayoutContainerComponent\n ], selector: 'axp-page-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXDrawerContainerDirective], providers: [], template: \"<div\\n [mode]=\\\"layoutService.isSmall() ? 'overlay' : 'push'\\\"\\n [transition]=\\\"250\\\"\\n axDrawerItem\\n [backDrop]=\\\"true\\\"\\n (onBackdropClick)=\\\"handleBackdropClick($event)\\\"\\n #startSideDrawer=\\\"axDrawerItem\\\"\\n [backdropClass]=\\\"'ax-bg-darkest/75'\\\"\\n [collapsed]=\\\"layoutService.isSmall()\\\"\\n drawerLocation=\\\"start\\\"\\n class=\\\"ax-z-50 ax-h-full\\\"\\n>\\n <ng-content select=\\\"axp-layout-start-side\\\"></ng-content>\\n</div>\\n<axp-layout-container id=\\\"axp-page-layout\\\" #container>\\n <axp-layout-header\\n *translate=\\\"let t\\\"\\n #sticky=\\\"axpSticky\\\"\\n [axpSticky]=\\\"'axp-is-sticky'\\\"\\n [stickyOffset]=\\\"50\\\"\\n [stickyParent]=\\\"container.hostElement\\\"\\n >\\n @if (page?.hasBackButton() && layoutService.isSmall()) {\\n <ax-button\\n [look]=\\\"'blank'\\\"\\n class=\\\"ax-sm ax-w-fit ax-ms-1\\\"\\n color=\\\"secondary\\\"\\n (click)=\\\"page?.onBackButtonClick()\\\"\\n [text]=\\\"page?.backButton()?.title\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-solid fa-chevron-left rtl:ax-rotate-180\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n }\\n <!-------- Begin Title Bar -------->\\n <axp-layout-title-bar>\\n <!-------- Begin Title -------->\\n <div class=\\\"ax-flex ax-flex-col ax-transition\\\">\\n <!-- Breadcrumbs -->\\n @if (page?.hasBreadcrumbs() && !layoutService.isSmall()) {\\n <ax-breadcrumbs class=\\\"ax-mb-1\\\">\\n @for (item of page?.breadcrumbs(); track $index) {\\n <ax-breadcrumbs-item [active]=\\\"$last\\\" (click)=\\\"item.command ? execute(item.command) : null\\\">\\n @if (item.icon) {\\n <i [class]=\\\"item.icon\\\"></i>\\n }\\n {{ t(item.title) | async }}\\n </ax-breadcrumbs-item>\\n }\\n <ng-template #divider>\\n <i class=\\\"fa-regular fa-chevron-right rtl:ax-rotate-180 fa-sm\\\"></i>\\n </ng-template>\\n </ax-breadcrumbs>\\n }\\n <div class=\\\"__title-container\\\">\\n <!-- Title -->\\n @if (page?.hasTitle()) {\\n <axp-layout-title> {{ t(page?.title()) | async }}</axp-layout-title>\\n }\\n <!-- Title Actions -->\\n @if (page?.hasTitleActions()) {\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm -ax-mx-2\\\">\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-caret-down fa-fw\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of page?.titleActions(); track $index) {\\n <ng-container>\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n </ng-container>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </div>\\n <!-- Description -->\\n @if (page?.hasDescription()) {\\n <axp-layout-description> {{ t(page?.description()) | async }}</axp-layout-description>\\n }\\n </div>\\n <!-------- Finish Title -------->\\n <!--------------------------------------------------------------->\\n <!-------- Page Actions -------->\\n\\n <axp-layout-actions class=\\\"ax-shrink-0\\\">\\n <axp-component-slot name=\\\"page-header-actions\\\"></axp-component-slot>\\n <!--Primary Actions -->\\n @if (page?.hasPrimaryActions()) {\\n <!-- items -->\\n @for (item of page?.primaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n @if (item?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of item?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n <!-- Secondary Actions -->\\n @if (page?.hasSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (item of page?.secondaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [color]=\\\"item.color\\\"\\n [disabled]=\\\"item.disabled\\\"\\n (onClick)=\\\"handleSecondaryActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-actions>\\n <!-- Finish Page Actions -->\\n </axp-layout-title-bar>\\n <!----- Finish Title Bar ----->\\n <!--------------------------------------------------------------->\\n <!-- Begin Navbar -->\\n @if (!sticky.isSticky) {}\\n <ng-content select=\\\"axp-page-toolbar\\\"></ng-content>\\n <!-- Finish Navbar -->\\n </axp-layout-header>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n\\n <axp-page-footer-container\\n [ngStyle]=\\\"{ display: tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty() ? 'none' : 'block' }\\\"\\n >\\n <axp-layout-container #tt>\\n <ng-content select=\\\"axp-page-footer\\\"></ng-content>\\n </axp-layout-container>\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axp-component-slot name=\\\"page-footer-start\\\" #prefixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-prefix>\\n <axp-layout-suffix>\\n <axp-component-slot name=\\\"page-footer-end\\\" #suffixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n </axp-page-footer-container>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:16rem;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side axp-layout-header,axp-page-layout axp-layout-end-side axp-layout-header{display:flex;flex-direction:column;gap:.5rem;padding:1rem}axp-page-layout axp-layout-start-side axp-layout-header>axp-layout-title,axp-page-layout axp-layout-end-side axp-layout-header>axp-layout-title{font-size:1.125rem;line-height:1.75rem;font-weight:500}axp-page-layout axp-layout-start-side>axp-layout-content,axp-page-layout axp-layout-end-side>axp-layout-content{flex:1 1 0%}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1));opacity:.75}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem}@media (min-width: 1280px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:center;gap:.75rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500;line-height:1.625}@media (min-width: 1024px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:.5rem;padding-left:1rem;padding-right:1rem}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column;padding:.75rem 1rem}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:1rem}axp-page-layout>axp-layout-container>axp-page-footer-container{border-top-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BhZ2UvcGFnZS1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BhZ2UvcGFnZS1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsRUFBRTtBQUNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELEVBQUU7QUFDRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQXlCLE1BQU0sb0JBQW9CLENBQUM7QUFDaEgsT0FBTyxF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O3dCQUNGLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLEVBQUU7d0JBQ0Ysc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLDhCQUE4Qjt3QkFDOUIsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLGdDQUFnQztxQkFDakMsWUFHUyxpQkFBaUIsaUJBQ1osaUJBQWlCLENBQUMsSUFBSSxtQkFFcEIsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0IsQ0FBQywwQkFBMEIsQ0FBQyxhQUNqQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy9cbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21tb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYUENvbXBvbmVudFNsb3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFN0aWNreURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbi8vXG5pbXBvcnQgeyBBWERyYXdlckNvbnRhaW5lckRpcmVjdGl2ZSwgQVhEcmF3ZXJEaXJlY3RpdmVNb2R1bGUsIEFYRHJhd2VySXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvY2RrL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyYXdlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcmF3ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7XG4gIEFYUFRoZW1lTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRDb250YWluZXJDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UgfSBmcm9tICcuL3BhZ2UtbGF5b3V0LmJhc2UnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWENvbW1vbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJyZWFkY3J1bWJzTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRHJhd2VyTW9kdWxlLFxuICAgIEFYRHJhd2VyRGlyZWN0aXZlTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQQ29tcG9uZW50U2xvdE1vZHVsZSxcbiAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gICAgQVhQVGhlbWVMYXlvdXRDb250YWluZXJDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgc2VsZWN0b3I6ICdheHAtcGFnZS1sYXlvdXQnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW0FYRHJhd2VyQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUGFnZUxheW91dENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBwYWdlID0gaW5qZWN0PEFYUFBhZ2VMYXlvdXRCYXNlPihBWFBQYWdlTGF5b3V0QmFzZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBzdGFydFNpZGVEcmF3ZXIgPSB2aWV3Q2hpbGQ8QVhEcmF3ZXJJdGVtRGlyZWN0aXZlPignc3RhcnRTaWRlRHJhd2VyJyk7XG5cbiAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCBjb21tYW5kU2VydmljZSA9IGluamVjdChBWFBDb21tYW5kU2VydmljZSk7XG5cbiAgI2luaXRpYWxpemUgPSBhZnRlck5leHRSZW5kZXIoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlQ29udGVudCgpO1xuICB9KTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnBhZ2U/LnRpdGxlKCk7XG4gICAgdGhpcy5wYWdlPy5kZXNjcmlwdGlvbigpO1xuICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlQ29udGVudCgpO1xuICB9KTtcblxuICBwcml2YXRlIGNoZWNrU2Nyb2xsYWJsZUNvbnRlbnQoKSB7XG4gICAgY29uc3QgY29udGVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2F4cC1wYWdlLWNvbnRlbnQnKTtcbiAgICBpZiAoY29udGVudCAmJiBjb250ZW50LnNjcm9sbEhlaWdodCA+PSBjb250ZW50LmNsaWVudEhlaWdodCkge1xuICAgICAgY29udGVudC5jbGFzc0xpc3QuYWRkKCctLXNjcm9sbGFibGUnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aW9uQ2xpY2soaXRlbTogQVhQQWN0aW9uTWVudUl0ZW0pIHtcbiAgICBpZiAoaXRlbS5jb21tYW5kICYmIChpdGVtLml0ZW1zPy5sZW5ndGggPz8gMCkgPT0gMCkge1xuICAgICAgdGhpcy5leGVjdXRlKGl0ZW0uY29tbWFuZCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU3RhcnRTaWRlKCkge1xuICAgIHRoaXMuc3RhcnRTaWRlRHJhd2VyKCk/LnRvZ2dsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVNlY29uZGFyeUFjdGlvbkNsaWNrKGl0ZW06IEFYUEFjdGlvbk1lbnVJdGVtKSB7XG4gICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgdGhpcy5leGVjdXRlKGl0ZW0uY29tbWFuZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUJhY2tkcm9wQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XG4gICAgZS5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUubmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5jb21wb25lbnQuaGlkZSgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBleGVjdXRlKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKSB7XG4gICAgY29uc3QgcmVzZXJ2ZWQgPSBbJ25hdmlnYXRlJ107XG4gICAgaWYgKHJlc2VydmVkLmluY2x1ZGVzKGNvbW1hbmQubmFtZSkpIHtcbiAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZShjb21tYW5kLm5hbWUsIHsgb3B0aW9uczogY29tbWFuZC5vcHRpb25zIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21tYW5kU2VydmljZS5leGlzdHMoY29tbWFuZC5uYW1lKSkge1xuICAgICAgYXdhaXQgdGhpcy5jb21tYW5kU2VydmljZS5leGVjdXRlKGNvbW1hbmQubmFtZSwgY29tbWFuZC5vcHRpb25zID8/IHt9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5wYWdlPy5leGVjdXRlKGNvbW1hbmQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkJhY2tkcm9wQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnN0YXJ0U2lkZURyYXdlcigpPy5oaWRlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW21vZGVdPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKCkgPyAnb3ZlcmxheScgOiAncHVzaCdcIlxuICBbdHJhbnNpdGlvbl09XCIyNTBcIlxuICBheERyYXdlckl0ZW1cbiAgW2JhY2tEcm9wXT1cInRydWVcIlxuICAob25CYWNrZHJvcENsaWNrKT1cImhhbmRsZUJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiXG4gICNzdGFydFNpZGVEcmF3ZXI9XCJheERyYXdlckl0ZW1cIlxuICBbYmFja2Ryb3BDbGFzc109XCInYXgtYmctZGFya2VzdC83NSdcIlxuICBbY29sbGFwc2VkXT1cImxheW91dFNlcnZpY2UuaXNTbWFsbCgpXCJcbiAgZHJhd2VyTG9jYXRpb249XCJzdGFydFwiXG4gIGNsYXNzPVwiYXgtei01MCBheC1oLWZ1bGxcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LXN0YXJ0LXNpZGVcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxheHAtbGF5b3V0LWNvbnRhaW5lciBpZD1cImF4cC1wYWdlLWxheW91dFwiICNjb250YWluZXI+XG4gIDxheHAtbGF5b3V0LWhlYWRlclxuICAgICp0cmFuc2xhdGU9XCJsZXQgdFwiXG4gICAgI3N0aWNreT1cImF4cFN0aWNreVwiXG4gICAgW2F4cFN0aWNreV09XCInYXhwLWlzLXN0aWNreSdcIlxuICAgIFtzdGlja3lPZmZzZXRdPVwiNTBcIlxuICAgIFtzdGlja3lQYXJlbnRdPVwiY29udGFpbmVyLmhvc3RFbGVtZW50XCJcbiAgPlxuICAgIEBpZiAocGFnZT8uaGFzQmFja0J1dHRvbigpICYmIGxheW91dFNlcnZpY2UuaXNTbWFsbCgpKSB7XG4gICAgICA8YXgtYnV0dG9uXG4gICAgICAgIFtsb29rXT1cIidibGFuaydcIlxuICAgICAgICBjbGFzcz1cImF4LXNtIGF4LXctZml0IGF4LW1zLTFcIlxuICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiXG4gICAgICAgIChjbGljayk9XCJwYWdlPy5vbkJhY2tCdXR0b25DbGljaygpXCJcbiAgICAgICAgW3RleHRdPVwicGFnZT8uYmFja0J1dHRvbigpPy50aXRsZVwiXG4gICAgICA+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLWNoZXZyb24tbGVmdCBydGw6YXgtcm90YXRlLTE4MFwiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICB9XG4gICAgPCEtLS0tLS0tLSBCZWdpbiBUaXRsZSBCYXIgIC0tLS0tLS0tPlxuICAgIDxheHAtbGF5b3V0LXRpdGxlLWJhcj5cbiAgICAgIDwhLS0tLS0tLS0gQmVnaW4gVGl0bGUgIC0tLS0tLS0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtdHJhbnNpdGlvblwiPlxuICAgICAgICA8IS0tIEJyZWFkY3J1bWJzIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc0JyZWFkY3J1bWJzKCkgJiYgIWxheW91dFNlcnZpY2UuaXNTbWFsbCgpKSB7XG4gICAgICAgICAgPGF4LWJyZWFkY3J1bWJzIGNsYXNzPVwiYXgtbWItMVwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBwYWdlPy5icmVhZGNydW1icygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW0gW2FjdGl2ZV09XCIkbGFzdFwiIChjbGljayk9XCJpdGVtLmNvbW1hbmQgPyBleGVjdXRlKGl0ZW0uY29tbWFuZCkgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJpdGVtLmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHt7IHQoaXRlbS50aXRsZSkgfCBhc3luYyB9fVxuICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RpdmlkZXI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jaGV2cm9uLXJpZ2h0IHJ0bDpheC1yb3RhdGUtMTgwIGZhLXNtXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzPlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDwhLS0gVGl0bGUgIC0tPlxuICAgICAgICAgIEBpZiAocGFnZT8uaGFzVGl0bGUoKSkge1xuICAgICAgICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+IHt7IHQocGFnZT8udGl0bGUoKSkgfCBhc3luYyB9fTwvYXhwLWxheW91dC10aXRsZT5cbiAgICAgICAgICB9XG4gICAgICAgICAgPCEtLSBUaXRsZSBBY3Rpb25zIC0tPlxuICAgICAgICAgIEBpZiAocGFnZT8uaGFzVGl0bGVBY3Rpb25zKCkpIHtcbiAgICAgICAgICAgIDxheC1idXR0b24gW2xvb2tdPVwiJ2JsYW5rJ1wiIGNsYXNzPVwiYXgtc20gLWF4LW14LTJcIj5cbiAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNhcmV0LWRvd24gZmEtZndcIj48L2k+XG4gICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgI3BhbmVsPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgQGZvciAoc3ViIG9mIHBhZ2U/LnRpdGxlQWN0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIih0KHN1Yi50aXRsZSkgfCBhc3luYykhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzdWIuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Yi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVBY3Rpb25DbGljayhzdWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3sgc3ViLmljb24gfX1cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc3ViLmJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIERlc2NyaXB0aW9uIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc0Rlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICA8YXhwLWxheW91dC1kZXNjcmlwdGlvbj4ge3sgdChwYWdlPy5kZXNjcmlwdGlvbigpKSB8IGFzeW5jIH19PC9heHAtbGF5b3V0LWRlc2NyaXB0aW9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0tLS0tLS0gRmluaXNoIFRpdGxlICAtLS0tLS0tLT5cbiAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgICAgPCEtLS0tLS0tLSBQYWdlIEFjdGlvbnMgIC0tLS0tLS0tPlxuXG4gICAgICA8YXhwLWxheW91dC1hY3Rpb25zIGNsYXNzPVwiYXgtc2hyaW5rLTBcIj5cbiAgICAgICAgPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwicGFnZS1oZWFkZXItYWN0aW9uc1wiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuICAgICAgICA8IS0tUHJpbWFyeSBBY3Rpb25zIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc1ByaW1hcnlBY3Rpb25zKCkpIHtcbiAgICAgICAgICA8IS0tIGl0ZW1zIC0tPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgcGFnZT8ucHJpbWFyeU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIEBpZiAoaXRlbS52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICAgICAgICAgIFtpY29uT25seV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFt0ZXh0XT1cIih0KGl0ZW0udGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgW2xvb2tdPVwiJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIml0ZW0uY29sb3JcIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFjdGlvbkNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0/Lml0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgI3BhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdWIgb2YgaXRlbT8uaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzdWIudmlzaWJsZSAhPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCIodChzdWIudGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInN1Yi5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Yi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWN0aW9uQ2xpY2soc3ViKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IHN1Yi5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHN1Yi5icmVhaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFNlY29uZGFyeSBBY3Rpb25zIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc1NlY29uZGFyeUFjdGlvbnMoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjbGFzcy5heC1zbV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICBbaWNvbk9ubHldPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICAgICAgW3RleHRdPVwidCgnYWN0aW9ucycpIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2xvb2tdPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKCkgPyAnYmxhbmsnIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVsbGlwc2lzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgI3BhbmVsPlxuICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHBhZ2U/LnNlY29uZGFyeU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIih0KGl0ZW0udGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIml0ZW0uY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVTZWNvbmRhcnlBY3Rpb25DbGljayhpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGl0ZW0uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2F4cC1sYXlvdXQtYWN0aW9ucz5cbiAgICAgIDwhLS0gRmluaXNoIFBhZ2UgQWN0aW9ucyAgLS0+XG4gICAgPC9heHAtbGF5b3V0LXRpdGxlLWJhcj5cbiAgICA8IS0tLS0tIEZpbmlzaCBUaXRsZSBCYXIgIC0tLS0tPlxuICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgIDwhLS0gQmVnaW4gTmF2YmFyIC0tPlxuICAgIEBpZiAoIXN0aWNreS5pc1N0aWNreSkge31cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtcGFnZS10b29sYmFyXCI+PC9uZy1jb250ZW50PlxuICAgIDwhLS0gRmluaXNoIE5hdmJhciAgLS0+XG4gIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1wYWdlLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPGF4cC1wYWdlLWZvb3Rlci1jb250YWluZXJcbiAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6IHR0LmlzRW1wdHkoKSAmJiBwcmVmaXhTbG90LmlzRW1wdHkoKSAmJiBzdWZmaXhTbG90LmlzRW1wdHkoKSA/ICdub25lJyA6ICdibG9jaycgfVwiXG4gID5cbiAgICA8YXhwLWxheW91dC1jb250YWluZXIgI3R0PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLXBhZ2UtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvYXhwLWxheW91dC1jb250YWluZXI+XG4gICAgPGF4cC1wYWdlLWZvb3Rlcj5cbiAgICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgICAgPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwicGFnZS1mb290ZXItc3RhcnRcIiAjcHJlZml4U2xvdD1cInNsb3RcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbiAgICAgIDwvYXhwLWxheW91dC1wcmVmaXg+XG4gICAgICA8YXhwLWxheW91dC1zdWZmaXg+XG4gICAgICAgIDxheHAtY29tcG9uZW50LXNsb3QgbmFtZT1cInBhZ2UtZm9vdGVyLWVuZFwiICNzdWZmaXhTbG90PVwic2xvdFwiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuICAgICAgPC9heHAtbGF5b3V0LXN1ZmZpeD5cbiAgICA8L2F4cC1wYWdlLWZvb3Rlcj5cbiAgPC9heHAtcGFnZS1mb290ZXItY29udGFpbmVyPlxuPC9heHAtbGF5b3V0LWNvbnRhaW5lcj5cbiJdfQ==","import { AXToastService } from '@acorex/components/toast';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { Component, computed, effect, inject, signal, viewChild } from '@angular/core';\nimport { isEmpty, isNil } from 'lodash-es';\nimport { AXPPageLayoutComponent } from './page-layout.component';\nimport { AXPPolicyEngineService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nexport class AXPPageLayoutBaseComponent {\n constructor() {\n //#region ---------------- Services ----------------\n this.layoutService = inject(AXPLayoutThemeService);\n this.sessionService = inject(AXPSessionService);\n this.translateService = inject(AXTranslationService);\n this.formatService = inject(AXFormatService);\n this.toastService = inject(AXToastService);\n this.homePageService = inject(AXPHomePageService);\n this.policyService = inject(AXPPolicyEngineService);\n //#endregion\n //#region ---------------- Signal to force recomputation ----------------\n this._updateTrigger = signal(0, ...(ngDevMode ? [{ debugName: \"_updateTrigger\" }] : []));\n this.updateTrigger = this._updateTrigger.asReadonly();\n //#endregion\n //#region ---------------- Title ----------------\n this.title = signal('', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.#titleEffect = effect(async () => {\n this.updateTrigger();\n this.title.set(await this.getPageTitle());\n }, ...(ngDevMode ? [{ debugName: \"#titleEffect\" }] : []));\n this.hasTitle = computed(() => this.title() !== '', ...(ngDevMode ? [{ debugName: \"hasTitle\" }] : []));\n //#endregion\n //#region ---------------- Description ----------------\n this.description = signal(null, ...(ngDevMode ? [{ debugName: \"description\" }] : []));\n this.hasDescription = computed(() => !isNil(this.description()) && !isEmpty(this.description()), ...(ngDevMode ? [{ debugName: \"hasDescription\" }] : []));\n this.#descriptionEffect = effect(async () => {\n this.updateTrigger();\n this.description.set(await this.getPageDescription());\n }, ...(ngDevMode ? [{ debugName: \"#descriptionEffect\" }] : []));\n //#endregion\n //#region ---------------- Breadcrumbs ----------------\n this.defaultBreadCrumbs = [\n {\n title: 't(\"home\")',\n icon: 'fa-solid fa-home ax-text-xs ax-me-1',\n command: {\n name: 'navigate',\n options: {\n path: this.homePageService.getCurrent().path,\n },\n },\n },\n ];\n this.breadcrumbs = signal(this.defaultBreadCrumbs, ...(ngDevMode ? [{ debugName: \"breadcrumbs\" }] : []));\n this.#breadcrumbsEffect = effect(async () => {\n this.updateTrigger();\n const breadCrumbs = await this.getPageBreadcrumbs();\n this.breadcrumbs.set([...this.defaultBreadCrumbs, ...breadCrumbs]);\n }, ...(ngDevMode ? [{ debugName: \"#breadcrumbsEffect\" }] : []));\n this.hasBreadcrumbs = computed(() => this.breadcrumbs().length > 1, ...(ngDevMode ? [{ debugName: \"hasBreadcrumbs\" }] : []));\n //#endregion\n //#region ---------------- Layout ----------------\n this.layout = viewChild(AXPPageLayoutComponent, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n //#endregion\n //#region ---------------- Actions ----------------\n this.primaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"primaryMenuItems\" }] : []));\n this.hasPrimaryActions = computed(() => this.primaryMenuItems().filter(item => item.visible != false).length > 0, ...(ngDevMode ? [{ debugName: \"hasPrimaryActions\" }] : []));\n this.#primaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n const items = await this.getPrimaryMenuItems();\n this.primaryMenuItems.set(items);\n }, ...(ngDevMode ? [{ debugName: \"#primaryMenuItemsEffect\" }] : []));\n this.secondaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"secondaryMenuItems\" }] : []));\n this.hasSecondaryActions = computed(() => this.secondaryMenuItems().filter(item => item.visible != false).length > 0, ...(ngDevMode ? [{ debugName: \"hasSecondaryActions\" }] : []));\n this.#secondaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n const items = await this.getSecondaryMenuItems();\n this.secondaryMenuItems.set(items);\n }, ...(ngDevMode ? [{ debugName: \"#secondaryMenuItemsEffect\" }] : []));\n this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), ...(ngDevMode ? [{ debugName: \"hasActions\" }] : []));\n this.titleActions = signal([], ...(ngDevMode ? [{ debugName: \"titleActions\" }] : []));\n this.hasTitleActions = computed(() => this.titleActions().length > 0, ...(ngDevMode ? [{ debugName: \"hasTitleActions\" }] : []));\n this.#titleActionsEffect = effect(async () => {\n this.updateTrigger();\n this.titleActions.set(await this.getTitleActions());\n }, ...(ngDevMode ? [{ debugName: \"#titleActionsEffect\" }] : []));\n this.backButton = signal(null, ...(ngDevMode ? [{ debugName: \"backButton\" }] : []));\n this.hasBackButton = computed(() => this.backButton() !== null, ...(ngDevMode ? [{ debugName: \"hasBackButton\" }] : []));\n this.#backButtonEffect = effect(async () => {\n this.updateTrigger();\n this.backButton.set(await this.getBackButton());\n }, ...(ngDevMode ? [{ debugName: \"#backButtonEffect\" }] : []));\n }\n recompute() {\n this._updateTrigger.set(this._updateTrigger() + 1);\n }\n //#endregion\n //#region ---------------- Lifecycle hooks ----------------\n async ngOnInit() {\n this.translateService.langChanges$.subscribe(() => {\n this.recompute();\n });\n }\n #titleEffect;\n getPageTitle() {\n return '';\n }\n #descriptionEffect;\n getPageDescription() {\n return null;\n }\n #breadcrumbsEffect;\n getPageBreadcrumbs() {\n return [];\n }\n //TODO: Remove this after migration to the new layout\n toggleEndSide() {\n //this.layout()?.toggleStartSide()\n }\n //TODO: Remove this after migration to the new layout\n toggleStartSide() {\n this.layout()?.toggleStartSide();\n }\n #primaryMenuItemsEffect;\n getPrimaryMenuItems() {\n return [];\n }\n #secondaryMenuItemsEffect;\n getSecondaryMenuItems() {\n return [];\n }\n #titleActionsEffect;\n getTitleActions() {\n return [];\n }\n getBackButton() {\n return null;\n }\n #backButtonEffect;\n //#endregion\n //#region ---------------- Handle Commands ----------------\n execute(command) { }\n startSideToggle() {\n this.layout();\n }\n onBackButtonClick() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPageLayoutBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.4\", type: AXPPageLayoutBaseComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"layout\", first: true, predicate: AXPPageLayoutComponent, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPageLayoutBaseComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n template: '',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC92aWV3cy9zcmMvbGliL2xheW91dHMvcGFnZS9wYWdlLWxheW91dC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFnQiwwQkFBMEI7SUFKaEQ7UUFLRSx3REFBd0Q7UUFFckMsa0JBQWEsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hELGtCQUFhLEdBQUcs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QU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQVNELHFEQUFxRDtJQUMzQyxhQUFhO1FBQ3JCLGtDQUFrQztJQUNwQyxDQUFDO0lBRUQscURBQXFEO0lBQzNDLGVBQWU7UUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFBO0lBQ2xDLENBQUM7SUFVRCx1QkFBdUIsQ0FJcEI7SUFFTyxtQkFBbUI7UUFDM0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBTUQseUJBQXlCLENBSXRCO0lBSU8scUJBQXFCO1FBQzdCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQU1ELG1CQUFtQixDQUdoQjtJQUVPLGVBQWU7UUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBTVMsYUFBYTtRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUIsQ0FHZDtJQUVILFlBQVk7SUFFWiwrREFBK0Q7SUFFeEQsT0FBTyxDQUFDLE9BQTBCLElBQTBCLENBQUM7SUFFN0QsZUFBZTtRQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLGlCQUFpQixLQUEyQixDQUFDOzhHQXpMaEMsMEJBQTBCO2tHQUExQiwwQkFBMEIsZ0hBdUdqQixzQkFBc0IsZ0VBekd6QyxFQUFFOzsyRkFFUSwwQkFBMEI7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQQmFja0J1dHRvbiwgQVhQQnJlYWRjcnVtYkl0ZW0sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRW1wdHksIGlzTmlsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFBhZ2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2UtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBQb2xpY3lFbmdpbmVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50IHtcbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBTZXJ2aWNlcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZVBhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEhvbWVQYWdlU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBwb2xpY3lTZXJ2aWNlID0gaW5qZWN0KEFYUFBvbGljeUVuZ2luZVNlcnZpY2UpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgU2lnbmFsIHRvIGZvcmNlIHJlY29tcHV0YXRpb24gICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJpdmF0ZSBfdXBkYXRlVHJpZ2dlciA9IHNpZ25hbCgwKTtcblxuICBwcm90ZWN0ZWQgdXBkYXRlVHJpZ2dlciA9IHRoaXMuX3VwZGF0ZVRyaWdnZXIuYXNSZWFkb25seSgpO1xuXG4gIHByb3RlY3RlZCByZWNvbXB1dGUoKSB7XG4gICAgdGhpcy5fdXBkYXRlVHJpZ2dlci5zZXQodGhpcy5fdXBkYXRlVHJpZ2dlcigpICsgMSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIExpZmVjeWNsZSBob29rcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UubGFuZ0NoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlY29tcHV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBUaXRsZSAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm90ZWN0ZWQgdGl0bGUgPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgI3RpdGxlRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnVwZGF0ZVRyaWdnZXIoKTtcbiAgICB0aGlzLnRpdGxlLnNldChhd2FpdCB0aGlzLmdldFBhZ2VUaXRsZSgpKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGdldFBhZ2VUaXRsZSgpOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHByaXZhdGUgaGFzVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRpdGxlKCkgIT09ICcnKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIERlc2NyaXB0aW9uICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByaXZhdGUgZGVzY3JpcHRpb24gPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSBoYXNEZXNjcmlwdGlvbiA9IGNvbXB1dGVkKCgpID0+ICFpc05pbCh0aGlzLmRlc2NyaXB0aW9uKCkpICYmICFpc0VtcHR5KHRoaXMuZGVzY3JpcHRpb24oKSkpO1xuXG4gICNkZXNjcmlwdGlvbkVmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgdGhpcy5kZXNjcmlwdGlvbi5zZXQoYXdhaXQgdGhpcy5nZXRQYWdlRGVzY3JpcHRpb24oKSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBnZXRQYWdlRGVzY3JpcHRpb24oKTogc3RyaW5nIHwgbnVsbCB8IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBCcmVhZGNydW1icyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcml2YXRlIGRlZmF1bHRCcmVhZENydW1iczogQVhQQnJlYWRjcnVtYkl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ3QoXCJob21lXCIpJyxcbiAgICAgIGljb246ICdmYS1zb2xpZCBmYS1ob21lIGF4LXRleHQteHMgYXgtbWUtMScsXG4gICAgICBjb21tYW5kOiB7XG4gICAgICAgIG5hbWU6ICduYXZpZ2F0ZScsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBwYXRoOiB0aGlzLmhvbWVQYWdlU2VydmljZS5nZXRDdXJyZW50KCkucGF0aCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcblxuICBwcml2YXRlIGJyZWFkY3J1bWJzID0gc2lnbmFsPEFYUEJyZWFkY3J1bWJJdGVtW10+KHRoaXMuZGVmYXVsdEJyZWFkQ3J1bWJzKTtcblxuICAjYnJlYWRjcnVtYnNFZmZlY3QgPSBlZmZlY3QoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgIGNvbnN0IGJyZWFkQ3J1bWJzID0gYXdhaXQgdGhpcy5nZXRQYWdlQnJlYWRjcnVtYnMoKTtcbiAgICB0aGlzLmJyZWFkY3J1bWJzLnNldChbLi4udGhpcy5kZWZhdWx0QnJlYWRDcnVtYnMsIC4uLmJyZWFkQ3J1bWJzXSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgaGFzQnJlYWRjcnVtYnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJyZWFkY3J1bWJzKCkubGVuZ3RoID4gMSk7XG5cbiAgcHJvdGVjdGVkIGdldFBhZ2VCcmVhZGNydW1icygpOiBBWFBCcmVhZGNydW1iSXRlbVtdIHwgUHJvbWlzZTxBWFBCcmVhZGNydW1iSXRlbVtdPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBMYXlvdXQgICAtLS0tLS0tLS0tLS0tLS0tXG5cblxuICBwcm90ZWN0ZWQgbGF5b3V0ID0gdmlld0NoaWxkKEFYUFBhZ2VMYXlvdXRDb21wb25lbnQpO1xuXG4gIC8vVE9ETzogUmVtb3ZlIHRoaXMgYWZ0ZXIgbWlncmF0aW9uIHRvIHRoZSBuZXcgbGF5b3V0XG4gIHByb3RlY3RlZCB0b2dnbGVFbmRTaWRlKCkge1xuICAgIC8vdGhpcy5sYXlvdXQoKT8udG9nZ2xlU3RhcnRTaWRlKClcbiAgfVxuXG4gIC8vVE9ETzogUmVtb3ZlIHRoaXMgYWZ0ZXIgbWlncmF0aW9uIHRvIHRoZSBuZXcgbGF5b3V0XG4gIHByb3RlY3RlZCB0b2dnbGVTdGFydFNpZGUoKSB7XG4gICAgdGhpcy5sYXlvdXQoKT8udG9nZ2xlU3RhcnRTaWRlKClcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgQWN0aW9ucyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwdWJsaWMgcHJpbWFyeU1lbnVJdGVtcyA9IHNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPihbXSk7XG5cbiAgcHVibGljIGhhc1ByaW1hcnlBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcmltYXJ5TWVudUl0ZW1zKCkuZmlsdGVyKGl0ZW0gPT4gaXRlbS52aXNpYmxlICE9IGZhbHNlKS5sZW5ndGggPiAwKTtcblxuICAjcHJpbWFyeU1lbnVJdGVtc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldFByaW1hcnlNZW51SXRlbXMoKTtcbiAgICB0aGlzLnByaW1hcnlNZW51SXRlbXMuc2V0KGl0ZW1zKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGdldFByaW1hcnlNZW51SXRlbXMoKTogQVhQQWN0aW9uTWVudUl0ZW1bXSB8IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBzZWNvbmRhcnlNZW51SXRlbXMgPSBzaWduYWw8QVhQQWN0aW9uTWVudUl0ZW1bXT4oW10pO1xuXG4gIHB1YmxpYyBoYXNTZWNvbmRhcnlBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWNvbmRhcnlNZW51SXRlbXMoKS5maWx0ZXIoaXRlbSA9PiBpdGVtLnZpc2libGUgIT0gZmFsc2UpLmxlbmd0aCA+IDApO1xuXG4gICNzZWNvbmRhcnlNZW51SXRlbXNFZmZlY3QgPSBlZmZlY3QoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5nZXRTZWNvbmRhcnlNZW51SXRlbXMoKTtcbiAgICB0aGlzLnNlY29uZGFyeU1lbnVJdGVtcy5zZXQoaXRlbXMpO1xuICB9KTtcblxuICBwdWJsaWMgaGFzQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaGFzUHJpbWFyeUFjdGlvbnMoKSB8fCB0aGlzLmhhc1NlY29uZGFyeUFjdGlvbnMoKSk7XG5cbiAgcHJvdGVjdGVkIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBBWFBBY3Rpb25NZW51SXRlbVtdIHwgUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHVibGljIHRpdGxlQWN0aW9ucyA9IHNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPihbXSk7XG5cbiAgcHVibGljIGhhc1RpdGxlQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGl0bGVBY3Rpb25zKCkubGVuZ3RoID4gMCk7XG5cbiAgI3RpdGxlQWN0aW9uc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgdGhpcy50aXRsZUFjdGlvbnMuc2V0KGF3YWl0IHRoaXMuZ2V0VGl0bGVBY3Rpb25zKCkpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgZ2V0VGl0bGVBY3Rpb25zKCk6IEFYUEFjdGlvbk1lbnVJdGVtW10gfCBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgYmFja0J1dHRvbiA9IHNpZ25hbDxBWFBCYWNrQnV0dG9uIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIGhhc0JhY2tCdXR0b24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJhY2tCdXR0b24oKSAhPT0gbnVsbCk7XG5cbiAgcHJvdGVjdGVkIGdldEJhY2tCdXR0b24oKTogKEFYUEJhY2tCdXR0b24gfCBudWxsKSB8IFByb21pc2U8QVhQQmFja0J1dHRvbiB8IG51bGw+IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICNiYWNrQnV0dG9uRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnVwZGF0ZVRyaWdnZXIoKTtcbiAgICB0aGlzLmJhY2tCdXR0b24uc2V0KGF3YWl0IHRoaXMuZ2V0QmFja0J1dHRvbigpKTtcbiAgfSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBIYW5kbGUgQ29tbWFuZHMgICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHVibGljIGV4ZWN1dGUoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7IH1cblxuICBwdWJsaWMgc3RhcnRTaWRlVG9nZ2xlKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxheW91dCgpO1xuICB9XG5cbiAgcHVibGljIG9uQmFja0J1dHRvbkNsaWNrKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHsgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIl19","export class AXPPopupLayoutBase {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbGF5b3V0LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC92aWV3cy9zcmMvbGliL2xheW91dHMvcG9wdXAvcG9wdXAtbGF5b3V0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQixrQkFBa0I7Q0FXdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBQb3B1cExheW91dEJhc2Uge1xuICAgIGFic3RyYWN0IHByaW1hcnlNZW51SXRlbXM6IFNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPjtcbiAgICBhYnN0cmFjdCBzZWNvbmRhcnlNZW51SXRlbXM6IFNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPjtcbiAgICBhYnN0cmFjdCB0aXRsZUFjdGlvbnM6IFNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPjtcbiAgICBhYnN0cmFjdCBoYXNUaXRsZUFjdGlvbnM6IFNpZ25hbDxib29sZWFuPjtcbiAgICBhYnN0cmFjdCBoYXNQcmltYXJ5QWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xuICAgIGFic3RyYWN0IGhhc1NlY29uZGFyeUFjdGlvbnM6IFNpZ25hbDxib29sZWFuPjtcbiAgICBhYnN0cmFjdCBoYXNBY3Rpb25zOiBTaWduYWw8Ym9vbGVhbj47XG4gICAgYWJzdHJhY3QgdGl0bGU6IFNpZ25hbDxzdHJpbmc+O1xuICAgIGFic3RyYWN0IGhhc1RpdGxlOiBTaWduYWw8Ym9vbGVhbj47XG4gICAgYWJzdHJhY3QgZXhlY3V0ZTogKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbn0gIl19","import { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, inject, ViewEncapsulation, } from '@angular/core';\n//\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from \"@acorex/cdk/common\";\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\n//\nimport { AXDrawerDirectiveModule } from '@acorex/cdk/drawer';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, } from '@acorex/platform/layout/components';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPPopupLayoutBase } from './popup-layout.base';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/core/translation\";\nimport * as i4 from \"@angular/common\";\nexport class AXPPopupLayoutComponent {\n constructor() {\n this.popup = inject(AXPPopupLayoutBase);\n this.layoutService = inject(AXPLayoutThemeService);\n this.workflow = inject(AXPWorkflowService);\n this.#initialize = afterNextRender(async () => {\n this.checkScrollableContent();\n });\n this.#effect = effect(() => {\n this.popup?.title();\n this.checkScrollableContent();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #initialize;\n #effect;\n checkScrollableContent() {\n const content = document.querySelector('axp-popup-content');\n if (content && content.scrollHeight >= content.clientHeight) {\n content.classList.add('--scrollable');\n }\n }\n handleActionClick(item) {\n if (item.command && (item.items?.length ?? 0) == 0) {\n this.popup?.execute(item.command);\n }\n }\n handleSecondaryActionClick(item) {\n if (item.command) {\n this.popup?.execute(item.command);\n }\n }\n handleBackdropClick(e) {\n e.nativeEvent.preventDefault();\n e.nativeEvent.stopPropagation();\n e.component.hide();\n return false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPopupLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPPopupLayoutComponent, isStandalone: true, selector: \"axp-popup-layout\", ngImport: i0, template: \"<axp-layout-container id=\\\"axp-popup-layout\\\" #container>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n <axp-page-footer *translate=\\\"let t\\\">\\n <ax-prefix> </ax-prefix>\\n @if(popup.hasPrimaryActions()) {\\n <ax-suffix>\\n @for(item of popup.primaryMenuItems(); track $index) {\\n <ax-button\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button>\\n }\\n </ax-suffix>\\n }\\n </axp-page-footer>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-popup-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: \n //\n AXCommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i3.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"ngmodule\", type: AXDrawerDirectiveModule }, { kind: \"component\", type: \n //\n AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutContainerComponent, selector: \"axp-layout-container\" }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPopupLayoutComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n //\n AXCommonModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXButtonModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDrawerDirectiveModule,\n //\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutContainerComponent,\n ], selector: 'axp-popup-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<axp-layout-container id=\\\"axp-popup-layout\\\" #container>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n <axp-page-footer *translate=\\\"let t\\\">\\n <ax-prefix> </ax-prefix>\\n @if(popup.hasPrimaryActions()) {\\n <ax-suffix>\\n @for(item of popup.primaryMenuItems(); track $index) {\\n <ax-button\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button>\\n }\\n </ax-suffix>\\n }\\n </axp-page-footer>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-popup-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvbGF5b3V0cy9wb3B1cC9wb3B1cC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BvcHVwL3BvcHVwLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLEVBQUU7QUFDRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFnQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxFQUFFO0FBQ0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsZ0NBQWdDLEdBQ25DLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQTBCekQsTUFBTSxPQUFPLHVCQUF1QjtJQXhCcEM7UUF5QmMsVUFBSyxHQUFHLE1BQU0sQ0FBcUIsa0JBQWtCLENBQUMsQ0FBQztRQUN2RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVoRCxnQkFBVyxHQUFHLGVBQWUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNyQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILFlBQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsQ0FBQyxtREFBQyxDQUFDO0tBNEJOO0lBbkNHLFdBQVcsQ0FFUjtJQUVILE9BQU8sQ0FHSjtJQUVLLHNCQUFzQjtRQUMxQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDNUQsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxJQUF1QjtRQUMvQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNMLENBQUM7SUFHUywwQkFBMEIsQ0FBQyxJQUF1QjtRQUN4RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0wsQ0FBQztJQUVTLG1CQUFtQixDQUFDLENBQWU7UUFDekMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0F2Q1EsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNEVDckRwQyxtcUJBc0JBLDgrUERVUSxZQUFZO2dCQUNaLEVBQUU7Z0JBQ0YsY0FBYyw4QkFDZCxpQkFBaUIscVBBQ2pCLG1CQUFtQiw4QkFDbkIsc0JBQXNCLDhCQUN0QixnQkFBZ0IsOEJBQ2hCLGNBQWMsNlhBQ2QsbUJBQW1CLDhHQUNuQixjQUFjLDhCQUNkLHVCQUF1QjtnQkFDdkIsRUFBRTtnQkFDRiw0QkFBNEIsZ2lCQUM1QixnQ0FBZ0M7OzJGQVEzQix1QkFBdUI7a0JBeEJuQyxTQUFTO2lDQUNNLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLEVBQUU7d0JBQ0YsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsRUFBRTt3QkFDRiw0QkFBNEI7d0JBQzVCLGdDQUFnQztxQkFDbkMsWUFHUyxrQkFBa0IsaUJBQ2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGFmdGVyTmV4dFJlbmRlcixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vL1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDbGlja0V2ZW50LCBBWENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYWNvcmV4L2Nkay9jb21tb25cIjtcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG4vL1xuaW1wb3J0IHsgQVhEcmF3ZXJEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2Nkay9kcmF3ZXInO1xuaW1wb3J0IHsgQVhEcmF3ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJhd2VyJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZCc7XG5pbXBvcnQge1xuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRDb250YWluZXJDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBQb3B1cExheW91dEJhc2UgfSBmcm9tICcuL3BvcHVwLWxheW91dC5iYXNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgLy9cbiAgICAgICAgQVhDb21tb25Nb2R1bGUsXG4gICAgICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgICAgICBBWEJyZWFkY3J1bWJzTW9kdWxlLFxuICAgICAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgICAgIEFYRHJhd2VyRGlyZWN0aXZlTW9kdWxlLFxuICAgICAgICAvL1xuICAgICAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BvcHVwLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHNlbGVjdG9yOiAnYXhwLXBvcHVwLWxheW91dCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUG9wdXBMYXlvdXRDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCBwb3B1cCA9IGluamVjdDxBWFBQb3B1cExheW91dEJhc2U+KEFYUFBvcHVwTGF5b3V0QmFzZSk7XG4gICAgcHJvdGVjdGVkIGxheW91dFNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcblxuICAgICNpbml0aWFsaXplID0gYWZ0ZXJOZXh0UmVuZGVyKGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja1Njcm9sbGFibGVDb250ZW50KCk7XG4gICAgfSk7XG5cbiAgICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgdGhpcy5wb3B1cD8udGl0bGUoKTtcbiAgICAgICAgdGhpcy5jaGVja1Njcm9sbGFibGVDb250ZW50KCk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIGNoZWNrU2Nyb2xsYWJsZUNvbnRlbnQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdheHAtcG9wdXAtY29udGVudCcpO1xuICAgICAgICBpZiAoY29udGVudCAmJiBjb250ZW50LnNjcm9sbEhlaWdodCA+PSBjb250ZW50LmNsaWVudEhlaWdodCkge1xuICAgICAgICAgICAgY29udGVudC5jbGFzc0xpc3QuYWRkKCctLXNjcm9sbGFibGUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVBY3Rpb25DbGljayhpdGVtOiBBWFBBY3Rpb25NZW51SXRlbSkge1xuICAgICAgICBpZiAoaXRlbS5jb21tYW5kICYmIChpdGVtLml0ZW1zPy5sZW5ndGggPz8gMCkgPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5wb3B1cD8uZXhlY3V0ZShpdGVtLmNvbW1hbmQpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2Vjb25kYXJ5QWN0aW9uQ2xpY2soaXRlbTogQVhQQWN0aW9uTWVudUl0ZW0pIHtcbiAgICAgICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgdGhpcy5wb3B1cD8uZXhlY3V0ZShpdGVtLmNvbW1hbmQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUJhY2tkcm9wQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XG4gICAgICAgIGUubmF0aXZlRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5uYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZS5jb21wb25lbnQuaGlkZSgpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufSAiLCI8YXhwLWxheW91dC1jb250YWluZXIgaWQ9XCJheHAtcG9wdXAtbGF5b3V0XCIgI2NvbnRhaW5lcj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLXBhZ2UtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgPGF4cC1wYWdlLWZvb3RlciAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICA8YXgtcHJlZml4PiA8L2F4LXByZWZpeD5cbiAgICBAaWYocG9wdXAuaGFzUHJpbWFyeUFjdGlvbnMoKSkge1xuICAgIDxheC1zdWZmaXg+XG4gICAgICBAZm9yKGl0ZW0gb2YgcG9wdXAucHJpbWFyeU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxheC1idXR0b25cbiAgICAgICAgW3RleHRdPVwiKHQoaXRlbS50aXRsZSkgfCBhc3luYykhXCJcbiAgICAgICAgW2xvb2tdPVwiJ3NvbGlkJ1wiXG4gICAgICAgIFtjb2xvcl09XCJpdGVtLmNvbG9yXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWN0aW9uQ2xpY2soaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5pY29uIH19XCI+PC9pPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgPC9heHAtcGFnZS1mb290ZXI+XG48L2F4cC1sYXlvdXQtY29udGFpbmVyPlxuIl19","import { AXToastService } from '@acorex/components/toast';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { Component, computed, effect, inject, signal, viewChild } from '@angular/core';\nimport { AXPPopupLayoutComponent } from './popup-layout.component';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport * as i0 from \"@angular/core\";\nexport class AXPPopupLayoutBaseComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n //#region ---------------- Services ----------------\n this.layoutService = inject(AXPLayoutThemeService);\n this.sessionService = inject(AXPSessionService);\n this.translateService = inject(AXTranslationService);\n this.formatService = inject(AXFormatService);\n this.toastService = inject(AXToastService);\n this.homePageService = inject(AXPHomePageService);\n //#endregion\n //#region ---------------- Signal to force recomputation ----------------\n this._updateTrigger = signal(0, ...(ngDevMode ? [{ debugName: \"_updateTrigger\" }] : []));\n this.updateTrigger = this._updateTrigger.asReadonly();\n //#endregion\n //#region ---------------- Title ----------------\n this.title = signal('', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.#titleEffect = effect(async () => {\n this.updateTrigger();\n this.title.set(await this.getPopupTitle());\n }, ...(ngDevMode ? [{ debugName: \"#titleEffect\" }] : []));\n this.hasTitle = computed(() => this.title() !== '', ...(ngDevMode ? [{ debugName: \"hasTitle\" }] : []));\n //#endregion\n //#region ---------------- Layout ----------------\n // Placeholder for popup layout reference if needed\n this.layout = viewChild(AXPPopupLayoutComponent, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n //#endregion\n //#region ---------------- Actions ----------------\n this.primaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"primaryMenuItems\" }] : []));\n this.hasPrimaryActions = computed(() => this.primaryMenuItems().length > 0, ...(ngDevMode ? [{ debugName: \"hasPrimaryActions\" }] : []));\n this.#primaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n this.primaryMenuItems.set(await this.getPrimaryMenuItems());\n }, ...(ngDevMode ? [{ debugName: \"#primaryMenuItemsEffect\" }] : []));\n this.secondaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"secondaryMenuItems\" }] : []));\n this.hasSecondaryActions = computed(() => this.secondaryMenuItems().length > 0, ...(ngDevMode ? [{ debugName: \"hasSecondaryActions\" }] : []));\n this.#secondaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n this.secondaryMenuItems.set(await this.getSecondaryMenuItems());\n }, ...(ngDevMode ? [{ debugName: \"#secondaryMenuItemsEffect\" }] : []));\n this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), ...(ngDevMode ? [{ debugName: \"hasActions\" }] : []));\n this.titleActions = signal([], ...(ngDevMode ? [{ debugName: \"titleActions\" }] : []));\n this.hasTitleActions = computed(() => this.titleActions().length > 0, ...(ngDevMode ? [{ debugName: \"hasTitleActions\" }] : []));\n this.#titleActionsEffect = effect(async () => {\n this.updateTrigger();\n this.titleActions.set(await this.getTitleActions());\n }, ...(ngDevMode ? [{ debugName: \"#titleActionsEffect\" }] : []));\n }\n recompute() {\n this._updateTrigger.set(this._updateTrigger() + 1);\n }\n //#endregion\n //#region ---------------- Lifecycle hooks ----------------\n async ngOnInit() {\n super.ngOnInit();\n this.translateService.langChanges$.subscribe(() => {\n this.recompute();\n });\n }\n #titleEffect;\n getPopupTitle() {\n return '';\n }\n #primaryMenuItemsEffect;\n getPrimaryMenuItems() {\n return [];\n }\n #secondaryMenuItemsEffect;\n getSecondaryMenuItems() {\n return [];\n }\n #titleActionsEffect;\n getTitleActions() {\n return [];\n }\n //#endregion\n //#region ---------------- Handle Commands ----------------\n execute(command) { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPopupLayoutBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.4\", type: AXPPopupLayoutBaseComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"layout\", first: true, predicate: AXPPopupLayoutComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPPopupLayoutBaseComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n template: '',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbGF5b3V0LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BvcHVwL3BvcHVwLWxheW91dC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNOUQsTUFBTSxPQUFnQiwyQkFBNEIsU0FBUSxtQkFBbUI7SUFKN0U7O1FBS0ksd0RBQXdEO1FBRXJDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxpQkFB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QVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBUUQsWUFBWSxDQUdUO0lBRU8sYUFBYTtRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFtQkQsdUJBQXVCLENBR3BCO0lBQ08sbUJBQW1CO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUlELHlCQUF5QixDQUd0QjtJQUNPLHFCQUFxQjtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFNRCxtQkFBbUIsQ0FHaEI7SUFDTyxlQUFlO1FBQ3JCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdELFlBQVk7SUFFWiwrREFBK0Q7SUFFeEQsT0FBTyxDQUFDLE9BQTBCLElBQTBCLENBQUM7OEdBcEdsRCwyQkFBMkI7a0dBQTNCLDJCQUEyQixnSEF5RGhCLHVCQUF1Qix1RkEzRDFDLEVBQUU7OzJGQUVNLDJCQUEyQjtrQkFKaEQsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b2FzdCc7XG5pbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEFjdGlvbk1lbnVJdGVtLCBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBMYXlvdXRUaGVtZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3RoZW1lcy9zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBQb3B1cExheW91dENvbXBvbmVudCB9IGZyb20gJy4vcG9wdXAtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQUG9wdXBMYXlvdXRCYXNlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gICAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBTZXJ2aWNlcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dFRoZW1lU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZVBhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEhvbWVQYWdlU2VydmljZSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgU2lnbmFsIHRvIGZvcmNlIHJlY29tcHV0YXRpb24gICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcml2YXRlIF91cGRhdGVUcmlnZ2VyID0gc2lnbmFsKDApO1xuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVRyaWdnZXIgPSB0aGlzLl91cGRhdGVUcmlnZ2VyLmFzUmVhZG9ubHkoKTtcblxuICAgIHByb3RlY3RlZCByZWNvbXB1dGUoKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVRyaWdnZXIuc2V0KHRoaXMuX3VwZGF0ZVRyaWdnZXIoKSArIDEpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBMaWZlY3ljbGUgaG9va3MgICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmxhbmdDaGFuZ2VzJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWNvbXB1dGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIFRpdGxlICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHRpdGxlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gICAgI3RpdGxlRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgICAgIHRoaXMudGl0bGUuc2V0KGF3YWl0IHRoaXMuZ2V0UG9wdXBUaXRsZSgpKTtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBnZXRQb3B1cFRpdGxlKCk6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRpdGxlKCkgIT09ICcnKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG5cblxuICAgIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgTGF5b3V0ICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gUGxhY2Vob2xkZXIgZm9yIHBvcHVwIGxheW91dCByZWZlcmVuY2UgaWYgbmVlZGVkXG4gICAgcHJvdGVjdGVkIGxheW91dCA9IHZpZXdDaGlsZChBWFBQb3B1cExheW91dENvbXBvbmVudCk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgQWN0aW9ucyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBwcmltYXJ5TWVudUl0ZW1zID0gc2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+KFtdKTtcbiAgICBwdWJsaWMgaGFzUHJpbWFyeUFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByaW1hcnlNZW51SXRlbXMoKS5sZW5ndGggPiAwKTtcbiAgICAjcHJpbWFyeU1lbnVJdGVtc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgICAgICB0aGlzLnByaW1hcnlNZW51SXRlbXMuc2V0KGF3YWl0IHRoaXMuZ2V0UHJpbWFyeU1lbnVJdGVtcygpKTtcbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgZ2V0UHJpbWFyeU1lbnVJdGVtcygpOiBBWFBBY3Rpb25NZW51SXRlbVtdIHwgUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2Vjb25kYXJ5TWVudUl0ZW1zID0gc2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+KFtdKTtcbiAgICBwdWJsaWMgaGFzU2Vjb25kYXJ5QWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2Vjb25kYXJ5TWVudUl0ZW1zKCkubGVuZ3RoID4gMCk7XG4gICAgI3NlY29uZGFyeU1lbnVJdGVtc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgICAgICB0aGlzLnNlY29uZGFyeU1lbnVJdGVtcy5zZXQoYXdhaXQgdGhpcy5nZXRTZWNvbmRhcnlNZW51SXRlbXMoKSk7XG4gICAgfSk7XG4gICAgcHJvdGVjdGVkIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBBWFBBY3Rpb25NZW51SXRlbVtdIHwgUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaGFzUHJpbWFyeUFjdGlvbnMoKSB8fCB0aGlzLmhhc1NlY29uZGFyeUFjdGlvbnMoKSk7XG5cbiAgICBwdWJsaWMgdGl0bGVBY3Rpb25zID0gc2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+KFtdKTtcbiAgICBwdWJsaWMgaGFzVGl0bGVBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aXRsZUFjdGlvbnMoKS5sZW5ndGggPiAwKTtcbiAgICAjdGl0bGVBY3Rpb25zRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgICAgIHRoaXMudGl0bGVBY3Rpb25zLnNldChhd2FpdCB0aGlzLmdldFRpdGxlQWN0aW9ucygpKTtcbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgZ2V0VGl0bGVBY3Rpb25zKCk6IEFYUEFjdGlvbk1lbnVJdGVtW10gfCBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIEhhbmRsZSBDb21tYW5kcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBleGVjdXRlKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKTogdm9pZCB8IFByb21pc2U8dm9pZD4geyB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn0gIl19","import { AXPExpressionEvaluatorService, cleanDeep, getSmart } from '@acorex/platform/core';\nimport { AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { computed, effect, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { cloneDeep, isEqual } from 'lodash-es';\nexport const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {\n const state = {\n adapter: null,\n previousContext: {},\n context: {},\n scope: null,\n status: AXPPageStatus.Processing,\n currentPage: null,\n currentTab: null,\n };\n return state;\n}), withComputed((store, layout = inject(AXPLayoutThemeService)) => ({\n icon: computed(() => store.adapter()?.icon ?? null),\n content: computed(() => store.adapter()?.pages[0]?.content ?? []),\n //\n showPages: computed(() => !store.currentPage() && !layout.isLarge()),\n isLarge: computed(() => layout.isLarge()),\n //\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isSaving: computed(() => store.status() == AXPPageStatus.Submitting),\n isDirty: computed(() => !isEqual(store.context(), store.previousContext())),\n isLoaded: computed(() => store.adapter() != null),\n})), withMethods((store, evaluatorService = inject(AXPExpressionEvaluatorService), router = inject(Router), route = inject(ActivatedRoute), layout = inject(AXPLayoutThemeService)) => {\n // Create an effect to handle route changes\n effect(() => {\n if (store.adapter()) {\n route.queryParams.subscribe((params) => {\n const pageId = params['page'];\n const adapter = store.adapter();\n if (adapter) {\n // Find current page from query param or conditionally default to first page\n let currentPage = null;\n if (pageId) {\n const foundPage = adapter.pages.find((p) => p.id === pageId);\n if (foundPage) {\n currentPage = foundPage;\n }\n }\n else {\n // Only auto-select first page if layout is large\n if (layout.isLarge() || adapter.pages.length == 1) {\n currentPage = adapter.pages[0];\n }\n }\n // Set current tab to first tab of the current page (internal state only)\n let currentTab = currentPage?.tabs?.[0] ?? null;\n // Only update if there's a change\n if (store.currentPage()?.id !== currentPage?.id) {\n patchState(store, {\n currentPage,\n currentTab,\n });\n }\n }\n });\n }\n });\n return {\n async load(adapter) {\n patchState(store, { adapter });\n //\n const scope = {\n context: {\n eval: (path) => {\n return getSmart(store.context(), path);\n },\n isDirty: () => store.isDirty(),\n },\n };\n patchState(store, { scope });\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n const loadResult = await adapter.pages[0].load({});\n const context = loadResult.result?.items?.[0] ?? {};\n // Get query params\n const queryParams = router.routerState.snapshot.root.queryParams;\n const pageId = queryParams['page'];\n // Find current page from query param or conditionally default to first page\n let currentPage = null;\n if (pageId) {\n const foundPage = adapter.pages.find((p) => p.id === pageId);\n if (foundPage) {\n currentPage = foundPage;\n }\n }\n else {\n // Only auto-select first page if layout is large\n if (layout.isLarge() || adapter.pages.length == 1) {\n currentPage = adapter.pages[0];\n }\n }\n // Set current tab to first tab of the current page (internal state only)\n let currentTab = currentPage?.tabs?.[0] ?? null;\n patchState(store, {\n previousContext: cloneDeep(context),\n context: cloneDeep(context),\n status: AXPPageStatus.Rendered,\n currentPage,\n currentTab,\n });\n // Update URL if needed (if no page query param was present and layout is large)\n if (!pageId && (layout.isLarge() || adapter.pages.length == 1) && currentPage) {\n router.navigate([], {\n queryParams: {\n page: currentPage.id,\n },\n queryParamsHandling: 'merge',\n });\n }\n },\n updateContext(context) {\n patchState(store, {\n context: cleanDeep(context),\n });\n },\n //Current Page\n async currentPageTitle() {\n const raw = store.currentPage()?.title;\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n async currentPageDescription() {\n const raw = store.currentPage()?.description;\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n async currentPagePrimaryActions() {\n const raw = store.currentPage()?.actions?.filter((a) => a.priority == 'primary') ?? [];\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n async currentPageSecondaryActions() {\n const raw = store.currentPage()?.actions?.filter((a) => a.priority == 'secondary') ?? [];\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n currentPageContent() {\n const content = store.currentPage()?.content;\n return content;\n },\n currentPageTabs() {\n return store.currentPage()?.tabs?.filter((tab) => tab.visible !== false);\n },\n setCurrentPage(page) {\n if (page) {\n const firstTab = page.tabs?.[0] ?? null;\n patchState(store, {\n currentPage: page,\n currentTab: firstTab,\n });\n router.navigate([], {\n queryParams: {\n page: page.id,\n },\n queryParamsHandling: 'merge',\n });\n }\n else {\n patchState(store, {\n currentPage: null,\n currentTab: null,\n });\n // Remove page query parameter\n const currentParams = { ...route.snapshot.queryParams };\n delete currentParams['page'];\n router.navigate([], {\n queryParams: currentParams,\n });\n }\n },\n //Current Tab\n setCurrentTab(tab) {\n patchState(store, {\n currentTab: tab,\n });\n },\n getCurrentTabContent() {\n return store.currentTab()?.content ?? [];\n },\n async title() {\n return store.adapter()?.title;\n },\n async description() {\n return store.adapter()?.description;\n },\n async primaryActions() {\n return store.adapter()?.actions?.filter((a) => a.priority == 'primary') ?? [];\n },\n async secondaryActions() {\n return store.adapter()?.actions?.filter((a) => a.priority == 'secondary') ?? [];\n },\n async discard() {\n patchState(store, {\n context: cloneDeep(store.previousContext()),\n });\n },\n async save() {\n //const result = await store.adapter()?.save?.(store.context());\n // if (result?.success) {\n // patchState(store, {\n // previousContext: cloneDeep(store.context()),\n // });\n // }\n },\n };\n}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy12aWV3LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvdmlld3MvZGV0YWlscy12aWV3L2RldGFpbHMtdmlldy52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQiw2QkFBNkIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTy9DLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLFdBQVcsQ0FDdEQsU0FBUyxDQUFDLEdBQUcsRUFBRTtJQUNiLE1BQU0sS0FBSyxHQUFHO1FBQ1osT0FBTyxFQUFFLElBQTBDO1FBQ25ELGVBQWUsRUFBRSxFQUF5QjtRQUMxQyxPQUFPLEVBQUUsRUFBeUI7UUFDbEMsS0FBSyxFQUFFLElBQTBDO1FBQ2pELE1BQU0sRUFBRSxhQUFhLENBQUMsVUFBVTtRQUNoQyxXQUFXLEVBQUUsSUFBdUM7UUFDcEQsVUFBVSxFQUFFLElBQTBDO0tBQ3ZELENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyxF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QUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xGLENBQUM7UUFFRCxLQUFLLENBQUMsT0FBTztZQUNYLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQzVDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSTtZQUNSLGdFQUFnRTtZQUNoRSx5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLG1EQUFtRDtZQUNuRCxRQUFRO1lBQ1IsSUFBSTtRQUNOLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZSwgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNlcnZpY2UsIGNsZWFuRGVlcCwgZ2V0U21hcnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQUGFnZVN0YXR1cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBwYXRjaFN0YXRlLCBzaWduYWxTdG9yZSwgd2l0aENvbXB1dGVkLCB3aXRoTWV0aG9kcywgd2l0aFN0YXRlIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQVhQTGF5b3V0RGV0YWlsc1ZpZXdBZGFwdGVyLFxuICBBWFBMYXlvdXREZXRhaWxzVmlld1BhZ2UsXG4gIEFYUExheW91dERldGFpbHNWaWV3VGFiSXRlbSxcbn0gZnJvbSAnLi9kZXRhaWxzLXZpZXcuYWRhcHRlcic7XG5cbmV4cG9ydCBjb25zdCBBWFBMYXlvdXREZXRhaWxzVmlld1ZpZXdNb2RlbCA9IHNpZ25hbFN0b3JlKFxuICB3aXRoU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgYWRhcHRlcjogbnVsbCBhcyBBWFBMYXlvdXREZXRhaWxzVmlld0FkYXB0ZXIgfCBudWxsLFxuICAgICAgcHJldmlvdXNDb250ZXh0OiB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29udGV4dDoge30gYXMgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIHNjb3BlOiBudWxsIGFzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZSB8IG51bGwsXG4gICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgIGN1cnJlbnRQYWdlOiBudWxsIGFzIEFYUExheW91dERldGFpbHNWaWV3UGFnZSB8IG51bGwsXG4gICAgICBjdXJyZW50VGFiOiBudWxsIGFzIEFYUExheW91dERldGFpbHNWaWV3VGFiSXRlbSB8IG51bGwsXG4gICAgfTtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH0pLFxuICB3aXRoQ29tcHV0ZWQoKHN0b3JlLCBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKSkgPT4gKHtcbiAgICBpY29uOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hZGFwdGVyKCk/Lmljb24gPz8gbnVsbCksXG4gICAgY29udGVudDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuYWRhcHRlcigpPy5wYWdlc1swXT8uY29udGVudCA/PyBbXSksXG4gICAgLy9cbiAgICBzaG93UGFnZXM6IGNvbXB1dGVkKCgpID0+ICFzdG9yZS5jdXJyZW50UGFnZSgpICYmICFsYXlvdXQuaXNMYXJnZSgpKSxcbiAgICBpc0xhcmdlOiBjb21wdXRlZCgoKSA9PiBsYXlvdXQuaXNMYXJnZSgpKSxcbiAgICAvL1xuICAgIGlzQnVzeTogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT0gQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nKSxcbiAgICBpc1NhdmluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT0gQVhQUGFnZVN0YXR1cy5TdWJtaXR0aW5nKSxcbiAgICBpc0RpcnR5OiBjb21wdXRlZCgoKSA9PiAhaXNFcXVhbChzdG9yZS5jb250ZXh0KCksIHN0b3JlLnByZXZpb3VzQ29udGV4dCgpKSksXG4gICAgaXNMb2FkZWQ6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmFkYXB0ZXIoKSAhPSBudWxsKSxcbiAgfSkpLFxuICB3aXRoTWV0aG9kcyhcbiAgICAoXG4gICAgICBzdG9yZSxcbiAgICAgIGV2YWx1YXRvclNlcnZpY2UgPSBpbmplY3QoQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNlcnZpY2UpLFxuICAgICAgcm91dGVyID0gaW5qZWN0KFJvdXRlciksXG4gICAgICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSksXG4gICAgICBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKSxcbiAgICApID0+IHtcbiAgICAgIC8vIENyZWF0ZSBhbiBlZmZlY3QgdG8gaGFuZGxlIHJvdXRlIGNoYW5nZXNcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChzdG9yZS5hZGFwdGVyKCkpIHtcbiAgICAgICAgICByb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFnZUlkID0gcGFyYW1zWydwYWdlJ107XG4gICAgICAgICAgICBjb25zdCBhZGFwdGVyID0gc3RvcmUuYWRhcHRlcigpO1xuXG4gICAgICAgICAgICBpZiAoYWRhcHRlcikge1xuICAgICAgICAgICAgICAvLyBGaW5kIGN1cnJlbnQgcGFnZSBmcm9tIHF1ZXJ5IHBhcmFtIG9yIGNvbmRpdGlvbmFsbHkgZGVmYXVsdCB0byBmaXJzdCBwYWdlXG4gICAgICAgICAgICAgIGxldCBjdXJyZW50UGFnZTogQVhQTGF5b3V0RGV0YWlsc1ZpZXdQYWdlIHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgICAgIGlmIChwYWdlSWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZFBhZ2UgPSBhZGFwdGVyLnBhZ2VzLmZpbmQoKHApID0+IHAuaWQgPT09IHBhZ2VJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kUGFnZSkge1xuICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2UgPSBmb3VuZFBhZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE9ubHkgYXV0by1zZWxlY3QgZmlyc3QgcGFnZSBpZiBsYXlvdXQgaXMgbGFyZ2VcbiAgICAgICAgICAgICAgICBpZiAobGF5b3V0LmlzTGFyZ2UoKSB8fCBhZGFwdGVyLnBhZ2VzLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgICAgICAgICAgICBjdXJyZW50UGFnZSA9IGFkYXB0ZXIucGFnZXNbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gU2V0IGN1cnJlbnQgdGFiIHRvIGZpcnN0IHRhYiBvZiB0aGUgY3VycmVudCBwYWdlIChpbnRlcm5hbCBzdGF0ZSBvbmx5KVxuICAgICAgICAgICAgICBsZXQgY3VycmVudFRhYiA9IGN1cnJlbnRQYWdlPy50YWJzPy5bMF0gPz8gbnVsbDtcblxuICAgICAgICAgICAgICAvLyBPbmx5IHVwZGF0ZSBpZiB0aGVyZSdzIGEgY2hhbmdlXG4gICAgICAgICAgICAgIGlmIChzdG9yZS5jdXJyZW50UGFnZSgpPy5pZCAhPT0gY3VycmVudFBhZ2U/LmlkKSB7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2UsXG4gICAgICAgICAgICAgICAgICBjdXJyZW50VGFiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBhc3luYyBsb2FkKGFkYXB0ZXI6IEFYUExheW91dERldGFpbHNWaWV3QWRhcHRlcikge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgYWRhcHRlciB9KTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGNvbnN0IHNjb3BlOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgPSB7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgIGV2YWw6IChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U21hcnQoc3RvcmUuY29udGV4dCgpLCBwYXRoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXNEaXJ0eTogKCkgPT4gc3RvcmUuaXNEaXJ0eSgpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2NvcGUgfSk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBsb2FkUmVzdWx0ID0gYXdhaXQgYWRhcHRlci5wYWdlc1swXS5sb2FkKHt9KTtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gbG9hZFJlc3VsdC5yZXN1bHQ/Lml0ZW1zPy5bMF0gPz8ge307XG5cbiAgICAgICAgICAvLyBHZXQgcXVlcnkgcGFyYW1zXG4gICAgICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSByb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdC5xdWVyeVBhcmFtcztcbiAgICAgICAgICBjb25zdCBwYWdlSWQgPSBxdWVyeVBhcmFtc1sncGFnZSddO1xuXG4gICAgICAgICAgLy8gRmluZCBjdXJyZW50IHBhZ2UgZnJvbSBxdWVyeSBwYXJhbSBvciBjb25kaXRpb25hbGx5IGRlZmF1bHQgdG8gZmlyc3QgcGFnZVxuICAgICAgICAgIGxldCBjdXJyZW50UGFnZTogQVhQTGF5b3V0RGV0YWlsc1ZpZXdQYWdlIHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgaWYgKHBhZ2VJZCkge1xuICAgICAgICAgICAgY29uc3QgZm91bmRQYWdlID0gYWRhcHRlci5wYWdlcy5maW5kKChwKSA9PiBwLmlkID09PSBwYWdlSWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kUGFnZSkge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZSA9IGZvdW5kUGFnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gT25seSBhdXRvLXNlbGVjdCBmaXJzdCBwYWdlIGlmIGxheW91dCBpcyBsYXJnZVxuICAgICAgICAgICAgaWYgKGxheW91dC5pc0xhcmdlKCkgfHwgYWRhcHRlci5wYWdlcy5sZW5ndGggPT0gMSkge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZSA9IGFkYXB0ZXIucGFnZXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2V0IGN1cnJlbnQgdGFiIHRvIGZpcnN0IHRhYiBvZiB0aGUgY3VycmVudCBwYWdlIChpbnRlcm5hbCBzdGF0ZSBvbmx5KVxuICAgICAgICAgIGxldCBjdXJyZW50VGFiID0gY3VycmVudFBhZ2U/LnRhYnM/LlswXSA/PyBudWxsO1xuXG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgcHJldmlvdXNDb250ZXh0OiBjbG9uZURlZXAoY29udGV4dCksXG4gICAgICAgICAgICBjb250ZXh0OiBjbG9uZURlZXAoY29udGV4dCksXG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUmVuZGVyZWQsXG4gICAgICAgICAgICBjdXJyZW50UGFnZSxcbiAgICAgICAgICAgIGN1cnJlbnRUYWIsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyBVcGRhdGUgVVJMIGlmIG5lZWRlZCAoaWYgbm8gcGFnZSBxdWVyeSBwYXJhbSB3YXMgcHJlc2VudCBhbmQgbGF5b3V0IGlzIGxhcmdlKVxuICAgICAgICAgIGlmICghcGFnZUlkICYmIChsYXlvdXQuaXNMYXJnZSgpIHx8IGFkYXB0ZXIucGFnZXMubGVuZ3RoID09IDEpICYmIGN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICByb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICB1cGRhdGVDb250ZXh0KGNvbnRleHQ6IGFueSkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGNsZWFuRGVlcChjb250ZXh0KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy9DdXJyZW50IFBhZ2VcbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VUaXRsZSgpIHtcbiAgICAgICAgICBjb25zdCByYXcgPSBzdG9yZS5jdXJyZW50UGFnZSgpPy50aXRsZTtcbiAgICAgICAgICBjb25zdCBwcm9jZXNzZWQgPSBhd2FpdCBldmFsdWF0b3JTZXJ2aWNlLmV2YWx1YXRlKHJhdywgc3RvcmUuc2NvcGUoKSBhcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpO1xuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgICBjb25zdCByYXcgPSBzdG9yZS5jdXJyZW50UGFnZSgpPy5kZXNjcmlwdGlvbjtcbiAgICAgICAgICBjb25zdCBwcm9jZXNzZWQgPSBhd2FpdCBldmFsdWF0b3JTZXJ2aWNlLmV2YWx1YXRlKHJhdywgc3RvcmUuc2NvcGUoKSBhcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpO1xuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VQcmltYXJ5QWN0aW9ucygpIHtcbiAgICAgICAgICBjb25zdCByYXcgPSBzdG9yZS5jdXJyZW50UGFnZSgpPy5hY3Rpb25zPy5maWx0ZXIoKGEpID0+IGEucHJpb3JpdHkgPT0gJ3ByaW1hcnknKSA/PyBbXTtcbiAgICAgICAgICBjb25zdCBwcm9jZXNzZWQgPSBhd2FpdCBldmFsdWF0b3JTZXJ2aWNlLmV2YWx1YXRlKHJhdywgc3RvcmUuc2NvcGUoKSBhcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpO1xuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VTZWNvbmRhcnlBY3Rpb25zKCkge1xuICAgICAgICAgIGNvbnN0IHJhdyA9IHN0b3JlLmN1cnJlbnRQYWdlKCk/LmFjdGlvbnM/LmZpbHRlcigoYSkgPT4gYS5wcmlvcml0eSA9PSAnc2Vjb25kYXJ5JykgPz8gW107XG4gICAgICAgICAgY29uc3QgcHJvY2Vzc2VkID0gYXdhaXQgZXZhbHVhdG9yU2VydmljZS5ldmFsdWF0ZShyYXcsIHN0b3JlLnNjb3BlKCkgYXMgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlKTtcbiAgICAgICAgICByZXR1cm4gcHJvY2Vzc2VkO1xuICAgICAgICB9LFxuXG4gICAgICAgIGN1cnJlbnRQYWdlQ29udGVudCgpIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gc3RvcmUuY3VycmVudFBhZ2UoKT8uY29udGVudDtcbiAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgfSxcblxuICAgICAgICBjdXJyZW50UGFnZVRhYnMoKSB7XG4gICAgICAgICAgcmV0dXJuIHN0b3JlLmN1cnJlbnRQYWdlKCk/LnRhYnM/LmZpbHRlcigodGFiKSA9PiB0YWIudmlzaWJsZSAhPT0gZmFsc2UpO1xuICAgICAgICB9LFxuXG4gICAgICAgIHNldEN1cnJlbnRQYWdlKHBhZ2U6IEFYUExheW91dERldGFpbHNWaWV3UGFnZSB8IG51bGwpIHtcbiAgICAgICAgICBpZiAocGFnZSkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RUYWIgPSBwYWdlLnRhYnM/LlswXSA/PyBudWxsO1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZTogcGFnZSxcbiAgICAgICAgICAgICAgY3VycmVudFRhYjogZmlyc3RUYWIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UuaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZTogbnVsbCxcbiAgICAgICAgICAgICAgY3VycmVudFRhYjogbnVsbCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gUmVtb3ZlIHBhZ2UgcXVlcnkgcGFyYW1ldGVyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGFyYW1zID0geyAuLi5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyB9O1xuICAgICAgICAgICAgZGVsZXRlIGN1cnJlbnRQYXJhbXNbJ3BhZ2UnXTtcbiAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtczogY3VycmVudFBhcmFtcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvL0N1cnJlbnQgVGFiXG4gICAgICAgIHNldEN1cnJlbnRUYWIodGFiOiBBWFBMYXlvdXREZXRhaWxzVmlld1RhYkl0ZW0pIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBjdXJyZW50VGFiOiB0YWIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZ2V0Q3VycmVudFRhYkNvbnRlbnQoKSB7XG4gICAgICAgICAgcmV0dXJuIHN0b3JlLmN1cnJlbnRUYWIoKT8uY29udGVudCA/PyBbXTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyB0aXRsZSgpIHtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuYWRhcHRlcigpPy50aXRsZTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBkZXNjcmlwdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuYWRhcHRlcigpPy5kZXNjcmlwdGlvbjtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBwcmltYXJ5QWN0aW9ucygpIHtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuYWRhcHRlcigpPy5hY3Rpb25zPy5maWx0ZXIoKGEpID0+IGEucHJpb3JpdHkgPT0gJ3ByaW1hcnknKSA/PyBbXTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBzZWNvbmRhcnlBY3Rpb25zKCkge1xuICAgICAgICAgIHJldHVybiBzdG9yZS5hZGFwdGVyKCk/LmFjdGlvbnM/LmZpbHRlcigoYSkgPT4gYS5wcmlvcml0eSA9PSAnc2Vjb25kYXJ5JykgPz8gW107XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgZGlzY2FyZCgpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBjb250ZXh0OiBjbG9uZURlZXAoc3RvcmUucHJldmlvdXNDb250ZXh0KCkpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIGFzeW5jIHNhdmUoKSB7XG4gICAgICAgICAgLy9jb25zdCByZXN1bHQgPSBhd2FpdCBzdG9yZS5hZGFwdGVyKCk/LnNhdmU/LihzdG9yZS5jb250ZXh0KCkpO1xuICAgICAgICAgIC8vIGlmIChyZXN1bHQ/LnN1Y2Nlc3MpIHtcbiAgICAgICAgICAvLyAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAvLyAgICAgcHJldmlvdXNDb250ZXh0OiBjbG9uZURlZXAoc3RvcmUuY29udGV4dCgpKSxcbiAgICAgICAgICAvLyAgIH0pO1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSxcbiAgKSxcbik7XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { Component, ViewEncapsulation, computed, effect, inject, input, signal, } from '@angular/core';\n//\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\n//\nimport { AXResizableDirective } from '@acorex/cdk/resizable';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutStartSideComponent, } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '../../layouts';\nimport { AXPLayoutDetailsViewViewModel } from './details-view.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/dropdown\";\nimport * as i3 from \"@acorex/core/translation\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/tabs\";\nimport * as i6 from \"@acorex/platform/layout/builder\";\nimport * as i7 from \"@angular/common\";\nexport class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.adapter = input.required(...(ngDevMode ? [{ debugName: \"adapter\" }] : []));\n //\n this.vm = inject(AXPLayoutDetailsViewViewModel);\n this.footerPrimaryActions = signal([], ...(ngDevMode ? [{ debugName: \"footerPrimaryActions\" }] : []));\n this.footerSecondaryActions = signal([], ...(ngDevMode ? [{ debugName: \"footerSecondaryActions\" }] : []));\n this.footerActions = computed(() => [...this.footerPrimaryActions(), ...this.footerSecondaryActions()], ...(ngDevMode ? [{ debugName: \"footerActions\" }] : []));\n this.hasVisibleFooterPrimaryActions = computed(() => {\n const primaryFooterActions = this.footerPrimaryActions();\n return primaryFooterActions.some((action) => action.visible != false);\n }, ...(ngDevMode ? [{ debugName: \"hasVisibleFooterPrimaryActions\" }] : []));\n this.hasVisibleFooterSecondaryActions = computed(() => {\n const secondaryFooterActions = this.footerSecondaryActions();\n return secondaryFooterActions.some((action) => action.visible != false);\n }, ...(ngDevMode ? [{ debugName: \"hasVisibleFooterSecondaryActions\" }] : []));\n this.#FooterActionsEffect = effect(async () => {\n this.updateTrigger();\n const footerPrimaryActions = await this.getFooterPrimaryActions();\n const footerSecondaryActions = await this.getFooterSecondaryActions();\n this.footerPrimaryActions.set(footerPrimaryActions);\n this.footerSecondaryActions.set(footerSecondaryActions);\n }, ...(ngDevMode ? [{ debugName: \"#FooterActionsEffect\" }] : []));\n }\n async ngOnInit() {\n await super.ngOnInit();\n //\n await this.vm.load(this.adapter());\n }\n ngOnDestroy() { }\n #FooterActionsEffect;\n handleOnContextChanged(e) {\n this.vm.updateContext(e.data);\n this.recompute();\n }\n handleSelectPage(page) {\n this.vm.setCurrentPage(page);\n }\n async getAllPrimaryActions() {\n if (!this.vm.showPages()) {\n const [primaryActions, pagePrimaryActions] = await Promise.all([\n this.vm.primaryActions(),\n this.vm.currentPagePrimaryActions(),\n ]);\n return [...primaryActions, ...pagePrimaryActions];\n }\n else {\n return [];\n }\n }\n async getPrimaryMenuItems() {\n return (await this.getAllPrimaryActions()).filter((item) => item.zone == 'header');\n }\n async getFooterPrimaryActions() {\n return (await this.getAllPrimaryActions()).filter((item) => item.zone == 'footer');\n }\n async getAllSecondaryActions() {\n if (!this.vm.showPages()) {\n const [secondaryActions, pageSecondaryActions] = await Promise.all([\n this.vm.secondaryActions(),\n this.vm.currentPageSecondaryActions(),\n ]);\n return [...secondaryActions, ...pageSecondaryActions];\n }\n else {\n return [];\n }\n }\n async getSecondaryMenuItems() {\n return (await this.getAllSecondaryActions()).filter((item) => item.zone == 'header');\n }\n async getFooterSecondaryActions() {\n return (await this.getAllSecondaryActions()).filter((item) => item.zone == 'footer');\n }\n async getPageTitle() {\n if (this.vm.showPages()) {\n return (await this.vm.title()) || '';\n }\n else {\n return await this.vm.currentPageTitle();\n }\n }\n async getPageDescription() {\n if (this.vm.showPages()) {\n return (await this.vm.description()) || '';\n }\n else {\n return await this.vm.currentPageDescription();\n }\n }\n async getBackButton() {\n if (!this.vm.showPages() && this.vm.adapter()?.pages?.length > 1) {\n return {\n title: this.vm.adapter()?.title ?? '',\n };\n }\n else {\n return null;\n }\n }\n onBackButtonClick() {\n this.vm.setCurrentPage(null);\n }\n //#region ---- Command Execution ----\n async execute(command) {\n if (!this.vm.adapter()) {\n return;\n }\n // Get all actions\n const [adapterPrimaryActions, adapterSecondaryActions, pagePrimaryActions, pageSecondaryActions] = await Promise.all([\n this.vm.primaryActions(),\n this.vm.secondaryActions(),\n this.vm.currentPagePrimaryActions(),\n this.vm.currentPageSecondaryActions(),\n ]);\n // Combine adapter actions (primary + secondary)\n const adapterActions = [...adapterPrimaryActions, ...adapterSecondaryActions];\n // Combine current page actions (primary + secondary)\n const pageActions = [...pagePrimaryActions, ...pageSecondaryActions];\n // Helper function to check if command exists in actions\n const commandExistsInActions = (actions, commandName) => {\n return actions.some((action) => action.command?.name === commandName);\n };\n // Check if command exists in adapter actions first\n if (commandExistsInActions(adapterActions, command.name)) {\n await this.vm.adapter()?.execute?.(command, this.vm.context());\n }\n // Check if command exists in current page actions\n else if (commandExistsInActions(pageActions, command.name)) {\n await this.vm.currentPage()?.execute?.(command, this.vm.context());\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPLayoutDetailsViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPLayoutDetailsViewComponent, isStandalone: true, selector: \"axp-layout-details-view\", inputs: { adapter: { classPropertyName: \"adapter\", publicName: \"adapter\", isSignal: true, isRequired: true, transformFunction: null } }, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPLayoutDetailsViewComponent,\n },\n AXPLayoutDetailsViewViewModel,\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\\n <axp-layout-start-side [axResizable]=\\\"true\\\">\\n <axp-layout-header>\\n <axp-layout-title>{{ t(vm.adapter()?.title) | async }}</axp-layout-title>\\n <axp-layout-description>{{ t(vm.adapter()?.description) | async }}</axp-layout-description>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs class=\\\"axp-vertical-tabs\\\" [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <ax-tab-item [text]=\\\"item.title\\\" (onClick)=\\\"handleSelectPage(item)\\\" [active]=\\\"vm.currentPage() == item\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n @if (vm.showPages()) {\\n <axp-layout-list class=\\\"ax-w-full\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectPage(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n } @else {\\n <axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleOnContextChanged($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-w-full ax-gap-4\\\">\\n @for (content of vm.currentPageContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"></ng-container>\\n }\\n @if (vm.currentPage()?.tabs?.length) {\\n <div class=\\\"axp-horizontal-tabs\\\">\\n <ax-tabs [location]=\\\"'bottom'\\\" [fitParent]=\\\"false\\\" look=\\\"with-line\\\">\\n @for (tab of vm.currentPageTabs(); track $index) {\\n <ax-tab-item (onClick)=\\\"vm.setCurrentTab(tab)\\\" [text]=\\\"tab.title\\\" [active]=\\\"vm.currentTab() == tab\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ tab.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n <div [class]=\\\"'content'\\\">\\n @for (content of vm.getCurrentTabContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </axp-widgets-container>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if (hasVisibleFooterPrimaryActions() || hasVisibleFooterSecondaryActions()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <!-- secondary footer actions -->\\n @if (hasVisibleFooterSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (action of footerSecondaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [color]=\\\"action.color\\\"\\n [disabled]=\\\"action.disabled\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ action.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (action.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n @if (hasVisibleFooterPrimaryActions()) {\\n @for (action of footerPrimaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"action.disabled\\\"\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"execute(sub.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\"axp-layout-details-view .axp-vertical-tabs{--ax-comp-tabs-default-border-radius: 0}axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-top:1rem;display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}axp-layout-details-view axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-details-view axp-layout-start-side{border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXMenuModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i1.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i1.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXButtonGroupModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i2.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i3.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXFileModule }, { kind: \"ngmodule\", type: AXDateTimeModule }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"component\", type: i5.AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: i5.AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"directive\", type: AXResizableDirective, selector: \"[axResizable]\", inputs: [\"axResizable\", \"minWidth\", \"maxWidth\", \"dblClickAction\", \"width\", \"defaultWidth\"], outputs: [\"axResizableChange\", \"minWidthChange\", \"maxWidthChange\", \"dblClickActionChange\", \"widthChange\", \"defaultWidthChange\", \"onResizingStarted\", \"onResizingEnded\", \"onResizingDblClick\"] }, { kind: \"component\", type: \n //\n AXPThemeLayoutListComponent, selector: \"axp-layout-list\" }, { kind: \"component\", type: AXPThemeLayoutListItemComponent, selector: \"axp-layout-list-item\" }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i6.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i6.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"pipe\", type: i7.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i3.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPLayoutDetailsViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-layout-details-view', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXMenuModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n AXSearchBoxModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n AXSearchBoxModule,\n AXTabsModule,\n AXResizableDirective,\n //\n AXPThemeLayoutListComponent,\n AXPThemeLayoutListItemComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPLayoutBuilderModule,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n ], encapsulation: ViewEncapsulation.None, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPLayoutDetailsViewComponent,\n },\n AXPLayoutDetailsViewViewModel,\n ], template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\\n <axp-layout-start-side [axResizable]=\\\"true\\\">\\n <axp-layout-header>\\n <axp-layout-title>{{ t(vm.adapter()?.title) | async }}</axp-layout-title>\\n <axp-layout-description>{{ t(vm.adapter()?.description) | async }}</axp-layout-description>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs class=\\\"axp-vertical-tabs\\\" [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <ax-tab-item [text]=\\\"item.title\\\" (onClick)=\\\"handleSelectPage(item)\\\" [active]=\\\"vm.currentPage() == item\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n @if (vm.showPages()) {\\n <axp-layout-list class=\\\"ax-w-full\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectPage(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n } @else {\\n <axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleOnContextChanged($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-w-full ax-gap-4\\\">\\n @for (content of vm.currentPageContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"></ng-container>\\n }\\n @if (vm.currentPage()?.tabs?.length) {\\n <div class=\\\"axp-horizontal-tabs\\\">\\n <ax-tabs [location]=\\\"'bottom'\\\" [fitParent]=\\\"false\\\" look=\\\"with-line\\\">\\n @for (tab of vm.currentPageTabs(); track $index) {\\n <ax-tab-item (onClick)=\\\"vm.setCurrentTab(tab)\\\" [text]=\\\"tab.title\\\" [active]=\\\"vm.currentTab() == tab\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ tab.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n <div [class]=\\\"'content'\\\">\\n @for (content of vm.getCurrentTabContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </axp-widgets-container>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if (hasVisibleFooterPrimaryActions() || hasVisibleFooterSecondaryActions()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <!-- secondary footer actions -->\\n @if (hasVisibleFooterSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (action of footerSecondaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [color]=\\\"action.color\\\"\\n [disabled]=\\\"action.disabled\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ action.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (action.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n @if (hasVisibleFooterPrimaryActions()) {\\n @for (action of footerPrimaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"action.disabled\\\"\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"execute(sub.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\"axp-layout-details-view .axp-vertical-tabs{--ax-comp-tabs-default-border-radius: 0}axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-top:1rem;display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}axp-layout-details-view axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-details-view axp-layout-start-side{border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvdmlld3MvZGV0YWlscy12aWV3L2RldGFpbHMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC92aWV3cy9zcmMvbGliL3ZpZXdzL2RldGFpbHMtdmlldy9kZXRhaWxzLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBR1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsRUFBRTtBQUNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUs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K0I7eUJBQzNDO3dCQUNELDZCQUE2QjtxQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vL1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkdyb3VwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bi1idXR0b24nO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhNZW51TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21lbnUnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBBWEZpbGVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XG5pbXBvcnQgeyBBWEZvcm1hdE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG4vL1xuaW1wb3J0IHsgQVhSZXNpemFibGVEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L2Nkay9yZXNpemFibGUnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHtcbiAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0TGlzdENvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbUNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGF5b3V0cyc7XG5pbXBvcnQge1xuICBBWFBMYXlvdXREZXRhaWxzVmlld0FjdGlvbixcbiAgQVhQTGF5b3V0RGV0YWlsc1ZpZXdBZGFwdGVyLFxuICBBWFBMYXlvdXREZXRhaWxzVmlld1BhZ2UsXG59IGZyb20gJy4vZGV0YWlscy12aWV3LmFkYXB0ZXInO1xuaW1wb3J0IHsgQVhQTGF5b3V0RGV0YWlsc1ZpZXdWaWV3TW9kZWwgfSBmcm9tICcuL2RldGFpbHMtdmlldy52aWV3bW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbHMtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kZXRhaWxzLXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtZGV0YWlscy12aWV3JyxcbiAgaW1wb3J0czogW1xuICAgIC8vIEFuZ3VsYXJcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy8gQUNvcmVYXG4gICAgQVhNZW51TW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYQnV0dG9uR3JvdXBNb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgQVhCYWRnZU1vZHVsZSxcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWEZvcm1hdE1vZHVsZSxcbiAgICBBWEZpbGVNb2R1bGUsXG4gICAgQVhEYXRlVGltZU1vZHVsZSxcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhSZXNpemFibGVEaXJlY3RpdmUsXG4gICAgLy9cbiAgICBBWFBUaGVtZUxheW91dExpc3RDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbUNvbXBvbmVudCxcbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQUGFnZUxheW91dEJhc2UsXG4gICAgICB1c2VFeGlzdGluZzogQVhQTGF5b3V0RGV0YWlsc1ZpZXdDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFBMYXlvdXREZXRhaWxzVmlld1ZpZXdNb2RlbCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGF5b3V0RGV0YWlsc1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgYWRhcHRlciA9IGlucHV0LnJlcXVpcmVkPEFYUExheW91dERldGFpbHNWaWV3QWRhcHRlcj4oKTtcbiAgLy9cbiAgcHJvdGVjdGVkIHZtID0gaW5qZWN0KEFYUExheW91dERldGFpbHNWaWV3Vmlld01vZGVsKTtcblxuICBwcm90ZWN0ZWQgZm9vdGVyUHJpbWFyeUFjdGlvbnMgPSBzaWduYWw8QVhQQWN0aW9uTWVudUl0ZW1bXT4oW10pO1xuICBwcm90ZWN0ZWQgZm9vdGVyU2Vjb25kYXJ5QWN0aW9ucyA9IHNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIGZvb3RlckFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiBbLi4udGhpcy5mb290ZXJQcmltYXJ5QWN0aW9ucygpLCAuLi50aGlzLmZvb3RlclNlY29uZGFyeUFjdGlvbnMoKV0pO1xuXG4gIHByb3RlY3RlZCBoYXNWaXNpYmxlRm9vdGVyUHJpbWFyeUFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgcHJpbWFyeUZvb3RlckFjdGlvbnMgPSB0aGlzLmZvb3RlclByaW1hcnlBY3Rpb25zKCk7XG4gICAgcmV0dXJuIHByaW1hcnlGb290ZXJBY3Rpb25zLnNvbWUoKGFjdGlvbikgPT4gYWN0aW9uLnZpc2libGUgIT0gZmFsc2UpO1xuICB9KTtcbiAgcHJvdGVjdGVkIGhhc1Zpc2libGVGb290ZXJTZWNvbmRhcnlBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNlY29uZGFyeUZvb3RlckFjdGlvbnMgPSB0aGlzLmZvb3RlclNlY29uZGFyeUFjdGlvbnMoKTtcbiAgICByZXR1cm4gc2Vjb25kYXJ5Rm9vdGVyQWN0aW9ucy5zb21lKChhY3Rpb24pID0+IGFjdGlvbi52aXNpYmxlICE9IGZhbHNlKTtcbiAgfSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvL1xuICAgIGF3YWl0IHRoaXMudm0ubG9hZCh0aGlzLmFkYXB0ZXIoKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG5cbiAgI0Zvb3RlckFjdGlvbnNFZmZlY3QgPSBlZmZlY3QoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgIGNvbnN0IGZvb3RlclByaW1hcnlBY3Rpb25zID0gYXdhaXQgdGhpcy5nZXRGb290ZXJQcmltYXJ5QWN0aW9ucygpO1xuICAgIGNvbnN0IGZvb3RlclNlY29uZGFyeUFjdGlvbnMgPSBhd2FpdCB0aGlzLmdldEZvb3RlclNlY29uZGFyeUFjdGlvbnMoKTtcbiAgICB0aGlzLmZvb3RlclByaW1hcnlBY3Rpb25zLnNldChmb290ZXJQcmltYXJ5QWN0aW9ucyk7XG4gICAgdGhpcy5mb290ZXJTZWNvbmRhcnlBY3Rpb25zLnNldChmb290ZXJTZWNvbmRhcnlBY3Rpb25zKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uQ29udGV4dENoYW5nZWQoZTogQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50KSB7XG4gICAgdGhpcy52bS51cGRhdGVDb250ZXh0KGUuZGF0YSk7XG4gICAgdGhpcy5yZWNvbXB1dGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTZWxlY3RQYWdlKHBhZ2U6IEFYUExheW91dERldGFpbHNWaWV3UGFnZSkge1xuICAgIHRoaXMudm0uc2V0Q3VycmVudFBhZ2UocGFnZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QWxsUHJpbWFyeUFjdGlvbnMoKTogUHJvbWlzZTxBWFBMYXlvdXREZXRhaWxzVmlld0FjdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLnZtLnNob3dQYWdlcygpKSB7XG4gICAgICBjb25zdCBbcHJpbWFyeUFjdGlvbnMsIHBhZ2VQcmltYXJ5QWN0aW9uc10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMudm0ucHJpbWFyeUFjdGlvbnMoKSxcbiAgICAgICAgdGhpcy52bS5jdXJyZW50UGFnZVByaW1hcnlBY3Rpb25zKCksXG4gICAgICBdKTtcbiAgICAgIHJldHVybiBbLi4ucHJpbWFyeUFjdGlvbnMsIC4uLnBhZ2VQcmltYXJ5QWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0UHJpbWFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0QWxsUHJpbWFyeUFjdGlvbnMoKSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnpvbmUgPT0gJ2hlYWRlcicpO1xuICB9XG4gIHByb3RlY3RlZCBhc3luYyBnZXRGb290ZXJQcmltYXJ5QWN0aW9ucygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0QWxsUHJpbWFyeUFjdGlvbnMoKSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnpvbmUgPT0gJ2Zvb3RlcicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldEFsbFNlY29uZGFyeUFjdGlvbnMoKTogUHJvbWlzZTxBWFBMYXlvdXREZXRhaWxzVmlld0FjdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLnZtLnNob3dQYWdlcygpKSB7XG4gICAgICBjb25zdCBbc2Vjb25kYXJ5QWN0aW9ucywgcGFnZVNlY29uZGFyeUFjdGlvbnNdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICB0aGlzLnZtLnNlY29uZGFyeUFjdGlvbnMoKSxcbiAgICAgICAgdGhpcy52bS5jdXJyZW50UGFnZVNlY29uZGFyeUFjdGlvbnMoKSxcbiAgICAgIF0pO1xuICAgICAgcmV0dXJuIFsuLi5zZWNvbmRhcnlBY3Rpb25zLCAuLi5wYWdlU2Vjb25kYXJ5QWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0U2Vjb25kYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRBbGxTZWNvbmRhcnlBY3Rpb25zKCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS56b25lID09ICdoZWFkZXInKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRGb290ZXJTZWNvbmRhcnlBY3Rpb25zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRBbGxTZWNvbmRhcnlBY3Rpb25zKCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS56b25lID09ICdmb290ZXInKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBnZXRQYWdlVGl0bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAodGhpcy52bS5zaG93UGFnZXMoKSkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLnZtLnRpdGxlKCkpIHx8ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy52bS5jdXJyZW50UGFnZVRpdGxlKCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZURlc2NyaXB0aW9uKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIGlmICh0aGlzLnZtLnNob3dQYWdlcygpKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMudm0uZGVzY3JpcHRpb24oKSkgfHwgJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnZtLmN1cnJlbnRQYWdlRGVzY3JpcHRpb24oKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0QmFja0J1dHRvbigpOiBQcm9taXNlPEFYUEJhY2tCdXR0b24gfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLnZtLnNob3dQYWdlcygpICYmIHRoaXMudm0uYWRhcHRlcigpPy5wYWdlcz8ubGVuZ3RoISA+IDEpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiB0aGlzLnZtLmFkYXB0ZXIoKT8udGl0bGUgPz8gJycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBvbkJhY2tCdXR0b25DbGljaygpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy52bS5zZXRDdXJyZW50UGFnZShudWxsKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBFeGVjdXRpb24gICAtLS0tXG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy52bS5hZGFwdGVyKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBHZXQgYWxsIGFjdGlvbnNcbiAgICBjb25zdCBbYWRhcHRlclByaW1hcnlBY3Rpb25zLCBhZGFwdGVyU2Vjb25kYXJ5QWN0aW9ucywgcGFnZVByaW1hcnlBY3Rpb25zLCBwYWdlU2Vjb25kYXJ5QWN0aW9uc10gPVxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICB0aGlzLnZtLnByaW1hcnlBY3Rpb25zKCksXG4gICAgICAgIHRoaXMudm0uc2Vjb25kYXJ5QWN0aW9ucygpLFxuICAgICAgICB0aGlzLnZtLmN1cnJlbnRQYWdlUHJpbWFyeUFjdGlvbnMoKSxcbiAgICAgICAgdGhpcy52bS5jdXJyZW50UGFnZVNlY29uZGFyeUFjdGlvbnMoKSxcbiAgICAgIF0pO1xuXG4gICAgLy8gQ29tYmluZSBhZGFwdGVyIGFjdGlvbnMgKHByaW1hcnkgKyBzZWNvbmRhcnkpXG4gICAgY29uc3QgYWRhcHRlckFjdGlvbnMgPSBbLi4uYWRhcHRlclByaW1hcnlBY3Rpb25zLCAuLi5hZGFwdGVyU2Vjb25kYXJ5QWN0aW9uc107XG5cbiAgICAvLyBDb21iaW5lIGN1cnJlbnQgcGFnZSBhY3Rpb25zIChwcmltYXJ5ICsgc2Vjb25kYXJ5KVxuICAgIGNvbnN0IHBhZ2VBY3Rpb25zID0gWy4uLnBhZ2VQcmltYXJ5QWN0aW9ucywgLi4ucGFnZVNlY29uZGFyeUFjdGlvbnNdO1xuXG4gICAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIGNvbW1hbmQgZXhpc3RzIGluIGFjdGlvbnNcbiAgICBjb25zdCBjb21tYW5kRXhpc3RzSW5BY3Rpb25zID0gKGFjdGlvbnM6IGFueVtdLCBjb21tYW5kTmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gYWN0aW9ucy5zb21lKChhY3Rpb24pID0+IGFjdGlvbi5jb21tYW5kPy5uYW1lID09PSBjb21tYW5kTmFtZSk7XG4gICAgfTtcblxuICAgIC8vIENoZWNrIGlmIGNvbW1hbmQgZXhpc3RzIGluIGFkYXB0ZXIgYWN0aW9ucyBmaXJzdFxuICAgIGlmIChjb21tYW5kRXhpc3RzSW5BY3Rpb25zKGFkYXB0ZXJBY3Rpb25zLCBjb21tYW5kLm5hbWUpKSB7XG4gICAgICBhd2FpdCB0aGlzLnZtLmFkYXB0ZXIoKT8uZXhlY3V0ZT8uKGNvbW1hbmQsIHRoaXMudm0uY29udGV4dCgpKTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgaWYgY29tbWFuZCBleGlzdHMgaW4gY3VycmVudCBwYWdlIGFjdGlvbnNcbiAgICBlbHNlIGlmIChjb21tYW5kRXhpc3RzSW5BY3Rpb25zKHBhZ2VBY3Rpb25zLCBjb21tYW5kLm5hbWUpKSB7XG4gICAgICBhd2FpdCB0aGlzLnZtLmN1cnJlbnRQYWdlKCk/LmV4ZWN1dGU/Lihjb21tYW5kLCB0aGlzLnZtLmNvbnRleHQoKSk7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8YXhwLXBhZ2UtbGF5b3V0ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLmFkYXB0ZXIoKT8ucGFnZXM/Lmxlbmd0aCEgPiAxICYmIHZtLmlzTGFyZ2UoKSkge1xuICAgIDxheHAtbGF5b3V0LXN0YXJ0LXNpZGUgW2F4UmVzaXphYmxlXT1cInRydWVcIj5cbiAgICAgIDxheHAtbGF5b3V0LWhlYWRlcj5cbiAgICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+e3sgdCh2bS5hZGFwdGVyKCk/LnRpdGxlKSB8IGFzeW5jIH19PC9heHAtbGF5b3V0LXRpdGxlPlxuICAgICAgICA8YXhwLWxheW91dC1kZXNjcmlwdGlvbj57eyB0KHZtLmFkYXB0ZXIoKT8uZGVzY3JpcHRpb24pIHwgYXN5bmMgfX08L2F4cC1sYXlvdXQtZGVzY3JpcHRpb24+XG4gICAgICA8L2F4cC1sYXlvdXQtaGVhZGVyPlxuICAgICAgPGF4cC1sYXlvdXQtY29udGVudD5cbiAgICAgICAgPGF4LXRhYnMgY2xhc3M9XCJheHAtdmVydGljYWwtdGFic1wiIFtsb29rXT1cIid3aXRoLWxpbmUtY29sb3InXCIgW2xvY2F0aW9uXT1cIidlbmQnXCIgW2ZpdFBhcmVudF09XCJ0cnVlXCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiB2bS5hZGFwdGVyKCk/LnBhZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJpdGVtLnRpdGxlXCIgKG9uQ2xpY2spPVwiaGFuZGxlU2VsZWN0UGFnZShpdGVtKVwiIFthY3RpdmVdPVwidm0uY3VycmVudFBhZ2UoKSA9PSBpdGVtXCI+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhciAke3sgaXRlbS5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgICAgICAgfVxuICAgICAgICA8L2F4LXRhYnM+XG4gICAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICA8L2F4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgfVxuICA8IS0tIENvbnRlbnQgU2VjdGlvbiAtLT5cbiAgPGF4cC1wYWdlLWNvbnRlbnQgY2xhc3M9XCJheC1vdmVyZmxvdy1hdXRvIGF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTRcIj5cbiAgICBAaWYgKHZtLnNob3dQYWdlcygpKSB7XG4gICAgICA8YXhwLWxheW91dC1saXN0IGNsYXNzPVwiYXgtdy1mdWxsXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygdm0uYWRhcHRlcigpPy5wYWdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGF4cC1sYXlvdXQtbGlzdC1pdGVtIChjbGljayk9XCJoYW5kbGVTZWxlY3RQYWdlKGl0ZW0pXCI+XG4gICAgICAgICAgICA8YXhwLWxheW91dC1wcmVmaXg+XG4gICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYXIgJHt7IGl0ZW0uaWNvbiB9fVwiIGNsYXNzPVwiYXgtdGV4dC1ncmF5LTUwMFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXhwLWxheW91dC1wcmVmaXg+XG4gICAgICAgICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57eyBpdGVtLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2E+XG4gICAgICAgICAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICAgICAgICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cIiBmYXIgZmEtY2hldnJvbi1yaWdodFwiIGNsYXNzPVwiYXgtdGV4dC1ncmF5LTQwMFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXhwLWxheW91dC1zdWZmaXg+XG4gICAgICAgICAgPC9heHAtbGF5b3V0LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC9heHAtbGF5b3V0LWxpc3Q+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8YXhwLXdpZGdldHMtY29udGFpbmVyIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiIChvbkNvbnRleHRDaGFuZ2VkKT1cImhhbmRsZU9uQ29udGV4dENoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC13LWZ1bGwgYXgtZ2FwLTRcIj5cbiAgICAgICAgICBAZm9yIChjb250ZW50IG9mIHZtLmN1cnJlbnRQYWdlQ29udGVudCgpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJjb250ZW50XCIgW21vZGVdPVwiY29udGVudC5tb2RlID8/ICd2aWV3J1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHZtLmN1cnJlbnRQYWdlKCk/LnRhYnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4cC1ob3Jpem9udGFsLXRhYnNcIj5cbiAgICAgICAgICAgICAgPGF4LXRhYnMgW2xvY2F0aW9uXT1cIidib3R0b20nXCIgW2ZpdFBhcmVudF09XCJmYWxzZVwiIGxvb2s9XCJ3aXRoLWxpbmVcIj5cbiAgICAgICAgICAgICAgICBAZm9yICh0YWIgb2Ygdm0uY3VycmVudFBhZ2VUYWJzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgPGF4LXRhYi1pdGVtIChvbkNsaWNrKT1cInZtLnNldEN1cnJlbnRUYWIodGFiKVwiIFt0ZXh0XT1cInRhYi50aXRsZVwiIFthY3RpdmVdPVwidm0uY3VycmVudFRhYigpID09IHRhYlwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYXIgJHt7IHRhYi5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2F4LXRhYnM+XG4gICAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cIidjb250ZW50J1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGNvbnRlbnQgb2Ygdm0uZ2V0Q3VycmVudFRhYkNvbnRlbnQoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4cC13aWRnZXQtcmVuZGVyZXIgW25vZGVdPVwiY29udGVudFwiIFttb2RlXT1cImNvbnRlbnQubW9kZSA/PyAndmlldydcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cblxuICA8IS0tIEZvb3RlciBTZWN0aW9uIC0tPlxuICBAaWYgKGhhc1Zpc2libGVGb290ZXJQcmltYXJ5QWN0aW9ucygpIHx8IGhhc1Zpc2libGVGb290ZXJTZWNvbmRhcnlBY3Rpb25zKCkpIHtcbiAgICA8YXhwLXBhZ2UtZm9vdGVyIGNsYXNzPVwiLS1hbmltYXRlZFwiPlxuICAgICAgPGF4cC1sYXlvdXQtc3VmZml4PlxuICAgICAgICA8IS0tIHNlY29uZGFyeSBmb290ZXIgYWN0aW9ucyAtLT5cbiAgICAgICAgQGlmIChoYXNWaXNpYmxlRm9vdGVyU2Vjb25kYXJ5QWN0aW9ucygpKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgW2NsYXNzLmF4LXNtXT1cImxheW91dFNlcnZpY2UuaXNTbWFsbCgpXCJcbiAgICAgICAgICAgIFtpY29uT25seV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICBbdGV4dF09XCJ0KCdhY3Rpb25zJykgfCBhc3luY1wiXG4gICAgICAgICAgICBbbG9va109XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKSA/ICdibGFuaycgOiAnc29saWQnXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCInZGVmYXVsdCdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2k+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCAjcGFuZWw+XG4gICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBmb290ZXJTZWNvbmRhcnlBY3Rpb25zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgQGlmIChhY3Rpb24udmlzaWJsZSAhPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCIodChhY3Rpb24udGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImFjdGlvbi5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiZXhlY3V0ZShhY3Rpb24uY29tbWFuZCEpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3sgYWN0aW9uLmljb24gfX1cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaGFzVmlzaWJsZUZvb3RlclByaW1hcnlBY3Rpb25zKCkpIHtcbiAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgZm9vdGVyUHJpbWFyeUFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICBAaWYgKGFjdGlvbi52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICAgICAgICAgIFtpY29uT25seV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW3RleHRdPVwiKHQoYWN0aW9uLnRpdGxlKSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICAgIFtsb29rXT1cIidzb2xpZCdcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3JcIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImV4ZWN1dGUoYWN0aW9uLmNvbW1hbmQhKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBhY3Rpb24uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICBAaWYgKGFjdGlvbj8uaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCAjcGFuZWw+XG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHN1YiBvZiBhY3Rpb24/Lml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc3ViLnZpc2libGUgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiKHQoc3ViLnRpdGxlKSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzdWIuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWIuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImV4ZWN1dGUoc3ViLmNvbW1hbmQhKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IHN1Yi5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHN1Yi5icmVhaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9heHAtbGF5b3V0LXN1ZmZpeD5cbiAgICA8L2F4cC1wYWdlLWZvb3Rlcj5cbiAgfVxuPC9heHAtcGFnZS1sYXlvdXQ+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWxheW91dC12aWV3cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9hY29yZXgtcGxhdGZvcm0tbGF5b3V0LXZpZXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i7","i1","i2","i3","i4","i5","i6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-layout-views.mjs","sources":["../tmp-esm2022/layout/views/lib/layouts/page/page-layout.base.js","../tmp-esm2022/layout/views/lib/layouts/page/page-layout.component.js","../tmp-esm2022/layout/views/lib/layouts/page/page-layout-base.component.js","../tmp-esm2022/layout/views/lib/layouts/popup/popup-layout.base.js","../tmp-esm2022/layout/views/lib/layouts/popup/popup-layout.component.js","../tmp-esm2022/layout/views/lib/layouts/popup/popup-layout-base.component.js","../tmp-esm2022/layout/views/lib/views/details-view/details-view.viewmodel.js","../tmp-esm2022/layout/views/lib/views/details-view/details-view.component.js","../tmp-esm2022/layout/views/acorex-platform-layout-views.js"],"sourcesContent":["export class AXPPageLayoutBase {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvbGF5b3V0cy9wYWdlL3BhZ2UtbGF5b3V0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQixpQkFBaUI7Q0FvQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEJyZWFkY3J1bWJJdGVtLCBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFBhZ2VMYXlvdXRCYXNlIHtcbiAgYWJzdHJhY3QgcHJpbWFyeU1lbnVJdGVtczogU2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+O1xuXG4gIGFic3RyYWN0IHNlY29uZGFyeU1lbnVJdGVtczogU2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+O1xuXG4gIGFic3RyYWN0IHRpdGxlQWN0aW9uczogU2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+O1xuXG4gIGFic3RyYWN0IGhhc1RpdGxlQWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGhhc1ByaW1hcnlBY3Rpb25zOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgaGFzU2Vjb25kYXJ5QWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGhhc0FjdGlvbnM6IFNpZ25hbDxib29sZWFuPjtcblxuICBhYnN0cmFjdCBicmVhZGNydW1iczogU2lnbmFsPEFYUEJyZWFkY3J1bWJJdGVtW10+O1xuXG4gIGFic3RyYWN0IHRpdGxlOiBTaWduYWw8c3RyaW5nPjtcblxuICBhYnN0cmFjdCBoYXNUaXRsZTogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGhhc0Rlc2NyaXB0aW9uOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgZGVzY3JpcHRpb246IFNpZ25hbDxzdHJpbmc+O1xuXG4gIGFic3RyYWN0IGhhc0JyZWFkY3J1bWJzOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgYWJzdHJhY3QgaGFzQmFja0J1dHRvbjogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIGFic3RyYWN0IGJhY2tCdXR0b246IFNpZ25hbDxBWFBCYWNrQnV0dG9uPjtcblxuICBhYnN0cmFjdCBvbkJhY2tCdXR0b25DbGljazogKCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG5cbiAgYWJzdHJhY3Qgc3RhcnRTaWRlVG9nZ2xlOiAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuICBhYnN0cmFjdCBleGVjdXRlOiAoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xufVxuIl19","import { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, inject, viewChild, ViewEncapsulation, } from '@angular/core';\n//\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\nimport { AXPStickyDirective } from '@acorex/platform/common';\n//\nimport { AXDrawerContainerDirective, AXDrawerDirectiveModule } from '@acorex/cdk/drawer';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutHeaderComponent, } from '@acorex/platform/layout/components';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPPageLayoutBase } from './page-layout.base';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/cdk/drawer\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/breadcrumbs\";\nimport * as i5 from \"@acorex/components/dropdown\";\nimport * as i6 from \"@acorex/components/button\";\nimport * as i7 from \"@acorex/core/translation\";\nimport * as i8 from \"@acorex/platform/layout/components\";\nexport class AXPPageLayoutComponent {\n constructor() {\n this.page = inject(AXPPageLayoutBase, { optional: true });\n this.layoutService = inject(AXPLayoutThemeService);\n this.startSideDrawer = viewChild('startSideDrawer', ...(ngDevMode ? [{ debugName: \"startSideDrawer\" }] : []));\n this.workflow = inject(AXPWorkflowService);\n this.commandService = inject(AXPCommandService);\n this.#initialize = afterNextRender(async () => {\n this.checkScrollableContent();\n });\n this.#effect = effect(() => {\n this.page?.title();\n this.page?.description();\n this.checkScrollableContent();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #initialize;\n #effect;\n checkScrollableContent() {\n const content = document.querySelector('axp-page-content');\n if (content && content.scrollHeight >= content.clientHeight) {\n content.classList.add('--scrollable');\n }\n }\n handleActionClick(item) {\n if (item.command && (item.items?.length ?? 0) == 0) {\n this.execute(item.command);\n }\n }\n toggleStartSide() {\n this.startSideDrawer()?.toggle();\n }\n handleSecondaryActionClick(item) {\n if (item.command) {\n this.execute(item.command);\n }\n }\n handleBackdropClick(e) {\n e.nativeEvent.preventDefault();\n e.nativeEvent.stopPropagation();\n e.component.hide();\n return false;\n }\n async execute(command) {\n const reserved = ['navigate'];\n if (reserved.includes(command.name)) {\n await this.workflow.execute(command.name, { options: command.options });\n return;\n }\n if (this.commandService.exists(command.name)) {\n await this.commandService.execute(command.name, command.options ?? {});\n }\n else {\n await this.page?.execute(command);\n }\n }\n handleOnBackdropClick(event) {\n event.stopPropagation();\n this.startSideDrawer()?.hide();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPageLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPPageLayoutComponent, isStandalone: true, selector: \"axp-page-layout\", providers: [], viewQueries: [{ propertyName: \"startSideDrawer\", first: true, predicate: [\"startSideDrawer\"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.AXDrawerContainerDirective }], ngImport: i0, template: \"<div\\n [mode]=\\\"layoutService.isSmall() ? 'overlay' : 'push'\\\"\\n [transition]=\\\"250\\\"\\n axDrawerItem\\n [backDrop]=\\\"true\\\"\\n (onBackdropClick)=\\\"handleBackdropClick($event)\\\"\\n #startSideDrawer=\\\"axDrawerItem\\\"\\n [backdropClass]=\\\"'ax-bg-darkest/75'\\\"\\n [collapsed]=\\\"layoutService.isSmall()\\\"\\n drawerLocation=\\\"start\\\"\\n class=\\\"ax-z-50 ax-h-full\\\"\\n>\\n <ng-content select=\\\"axp-layout-start-side\\\"></ng-content>\\n</div>\\n<axp-layout-container id=\\\"axp-page-layout\\\" #container>\\n <axp-layout-header\\n *translate=\\\"let t\\\"\\n #sticky=\\\"axpSticky\\\"\\n [axpSticky]=\\\"'axp-is-sticky'\\\"\\n [stickyOffset]=\\\"50\\\"\\n [stickyParent]=\\\"container.hostElement\\\"\\n >\\n @if (page?.hasBackButton() && layoutService.isSmall()) {\\n <ax-button\\n [look]=\\\"'blank'\\\"\\n class=\\\"ax-sm ax-w-fit ax-ms-1\\\"\\n color=\\\"secondary\\\"\\n (click)=\\\"page?.onBackButtonClick()\\\"\\n [text]=\\\"page?.backButton()?.title\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-solid fa-chevron-left rtl:ax-rotate-180\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n }\\n <!-------- Begin Title Bar -------->\\n <axp-layout-title-bar>\\n <!-------- Begin Title -------->\\n <div class=\\\"ax-flex ax-flex-col ax-transition\\\">\\n <!-- Breadcrumbs -->\\n @if (page?.hasBreadcrumbs() && !layoutService.isSmall()) {\\n <ax-breadcrumbs class=\\\"ax-mb-1\\\">\\n @for (item of page?.breadcrumbs(); track $index) {\\n <ax-breadcrumbs-item [active]=\\\"$last\\\" (click)=\\\"item.command ? execute(item.command) : null\\\">\\n @if (item.icon) {\\n <i [class]=\\\"item.icon\\\"></i>\\n }\\n {{ t(item.title) | async }}\\n </ax-breadcrumbs-item>\\n }\\n <ng-template #divider>\\n <i class=\\\"fa-regular fa-chevron-right rtl:ax-rotate-180 fa-sm\\\"></i>\\n </ng-template>\\n </ax-breadcrumbs>\\n }\\n <div class=\\\"__title-container\\\">\\n <!-- Title -->\\n @if (page?.hasTitle()) {\\n <axp-layout-title> {{ t(page?.title()) | async }}</axp-layout-title>\\n }\\n <!-- Title Actions -->\\n @if (page?.hasTitleActions()) {\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm -ax-mx-2\\\">\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-caret-down fa-fw\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of page?.titleActions(); track $index) {\\n <ng-container>\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n </ng-container>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </div>\\n <!-- Description -->\\n @if (page?.hasDescription()) {\\n <axp-layout-description> {{ t(page?.description()) | async }}</axp-layout-description>\\n }\\n </div>\\n <!-------- Finish Title -------->\\n <!--------------------------------------------------------------->\\n <!-------- Page Actions -------->\\n\\n <axp-layout-actions class=\\\"ax-shrink-0\\\">\\n <axp-component-slot name=\\\"page-header-actions\\\"></axp-component-slot>\\n <!--Primary Actions -->\\n @if (page?.hasPrimaryActions()) {\\n <!-- items -->\\n @for (item of page?.primaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n @if (item?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of item?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n <!-- Secondary Actions -->\\n @if (page?.hasSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (item of page?.secondaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [color]=\\\"item.color\\\"\\n [disabled]=\\\"item.disabled\\\"\\n (onClick)=\\\"handleSecondaryActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-actions>\\n <!-- Finish Page Actions -->\\n </axp-layout-title-bar>\\n <!----- Finish Title Bar ----->\\n <!--------------------------------------------------------------->\\n <!-- Begin Navbar -->\\n @if (!sticky.isSticky) {}\\n <ng-content select=\\\"axp-page-toolbar\\\"></ng-content>\\n <!-- Finish Navbar -->\\n </axp-layout-header>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n\\n <axp-page-footer-container\\n [ngStyle]=\\\"{ display: tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty() ? 'none' : 'block' }\\\"\\n >\\n <axp-layout-container #tt>\\n <ng-content select=\\\"axp-page-footer\\\"></ng-content>\\n </axp-layout-container>\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axp-component-slot name=\\\"page-footer-start\\\" #prefixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-prefix>\\n <axp-layout-suffix>\\n <axp-component-slot name=\\\"page-footer-end\\\" #suffixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n </axp-page-footer-container>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:16rem;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side axp-layout-header,axp-page-layout axp-layout-end-side axp-layout-header{display:flex;flex-direction:column;gap:.5rem;padding:1rem}axp-page-layout axp-layout-start-side axp-layout-header>axp-layout-title,axp-page-layout axp-layout-end-side axp-layout-header>axp-layout-title{font-size:1.125rem;line-height:1.75rem;font-weight:500}axp-page-layout axp-layout-start-side>axp-layout-content,axp-page-layout axp-layout-end-side>axp-layout-content{flex:1 1 0%}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1));opacity:.75}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem}@media (min-width: 1280px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:center;gap:.75rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500;line-height:1.625}@media (min-width: 1024px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:.5rem;padding-left:1rem;padding-right:1rem}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column;padding:.75rem 1rem}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:1rem}axp-page-layout>axp-layout-container>axp-page-footer-container{border-top-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"ngmodule\", type: \n //\n AXCommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"component\", type: i4.AXBreadCrumbsComponent, selector: \"ax-breadcrumbs\" }, { kind: \"component\", type: i4.AXBreadCrumbsItemComponent, selector: \"ax-breadcrumbs-item\", inputs: [\"disabled\", \"active\"] }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i5.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i6.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i6.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i6.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i7.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"ngmodule\", type: AXDrawerDirectiveModule }, { kind: \"directive\", type: i1.AXDrawerItemDirective, selector: \"[axDrawerItem]\", inputs: [\"location\", \"collapsed\", \"backDrop\", \"mode\", \"transition\", \"closeOnBackdropClick\", \"backdropClass\"], outputs: [\"collapseStateChanged\", \"locationChange\", \"collapsedChange\", \"backDropChange\", \"modeChange\", \"transitionChange\", \"closeOnBackdropClickChange\", \"backdropClassChange\", \"onBackdropClick\"], exportAs: [\"axDrawerItem\"] }, { kind: \"ngmodule\", type: \n //\n AXPComponentSlotModule }, { kind: \"directive\", type: i8.AXPComponentSlotDirective, selector: \"axp-component-slot\", inputs: [\"name\", \"host\", \"context\"], exportAs: [\"slot\"] }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutActionsComponent, selector: \"axp-layout-actions\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"directive\", type: AXPStickyDirective, selector: \"[axpSticky]\", inputs: [\"axpSticky\", \"stickyOffset\", \"stickyParent\", \"stickyTarget\"], outputs: [\"isStickyChange\"], exportAs: [\"axpSticky\"] }, { kind: \"component\", type: AXPThemeLayoutContainerComponent, selector: \"axp-layout-container\" }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPageLayoutComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n //\n AXCommonModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXButtonModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDrawerDirectiveModule,\n //\n AXPComponentSlotModule,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutActionsComponent,\n AXPThemeLayoutHeaderComponent,\n AXPStickyDirective,\n AXPThemeLayoutContainerComponent\n ], selector: 'axp-page-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXDrawerContainerDirective], providers: [], template: \"<div\\n [mode]=\\\"layoutService.isSmall() ? 'overlay' : 'push'\\\"\\n [transition]=\\\"250\\\"\\n axDrawerItem\\n [backDrop]=\\\"true\\\"\\n (onBackdropClick)=\\\"handleBackdropClick($event)\\\"\\n #startSideDrawer=\\\"axDrawerItem\\\"\\n [backdropClass]=\\\"'ax-bg-darkest/75'\\\"\\n [collapsed]=\\\"layoutService.isSmall()\\\"\\n drawerLocation=\\\"start\\\"\\n class=\\\"ax-z-50 ax-h-full\\\"\\n>\\n <ng-content select=\\\"axp-layout-start-side\\\"></ng-content>\\n</div>\\n<axp-layout-container id=\\\"axp-page-layout\\\" #container>\\n <axp-layout-header\\n *translate=\\\"let t\\\"\\n #sticky=\\\"axpSticky\\\"\\n [axpSticky]=\\\"'axp-is-sticky'\\\"\\n [stickyOffset]=\\\"50\\\"\\n [stickyParent]=\\\"container.hostElement\\\"\\n >\\n @if (page?.hasBackButton() && layoutService.isSmall()) {\\n <ax-button\\n [look]=\\\"'blank'\\\"\\n class=\\\"ax-sm ax-w-fit ax-ms-1\\\"\\n color=\\\"secondary\\\"\\n (click)=\\\"page?.onBackButtonClick()\\\"\\n [text]=\\\"page?.backButton()?.title\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-solid fa-chevron-left rtl:ax-rotate-180\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n }\\n <!-------- Begin Title Bar -------->\\n <axp-layout-title-bar>\\n <!-------- Begin Title -------->\\n <div class=\\\"ax-flex ax-flex-col ax-transition\\\">\\n <!-- Breadcrumbs -->\\n @if (page?.hasBreadcrumbs() && !layoutService.isSmall()) {\\n <ax-breadcrumbs class=\\\"ax-mb-1\\\">\\n @for (item of page?.breadcrumbs(); track $index) {\\n <ax-breadcrumbs-item [active]=\\\"$last\\\" (click)=\\\"item.command ? execute(item.command) : null\\\">\\n @if (item.icon) {\\n <i [class]=\\\"item.icon\\\"></i>\\n }\\n {{ t(item.title) | async }}\\n </ax-breadcrumbs-item>\\n }\\n <ng-template #divider>\\n <i class=\\\"fa-regular fa-chevron-right rtl:ax-rotate-180 fa-sm\\\"></i>\\n </ng-template>\\n </ax-breadcrumbs>\\n }\\n <div class=\\\"__title-container\\\">\\n <!-- Title -->\\n @if (page?.hasTitle()) {\\n <axp-layout-title> {{ t(page?.title()) | async }}</axp-layout-title>\\n }\\n <!-- Title Actions -->\\n @if (page?.hasTitleActions()) {\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm -ax-mx-2\\\">\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-caret-down fa-fw\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of page?.titleActions(); track $index) {\\n <ng-container>\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n </ng-container>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </div>\\n <!-- Description -->\\n @if (page?.hasDescription()) {\\n <axp-layout-description> {{ t(page?.description()) | async }}</axp-layout-description>\\n }\\n </div>\\n <!-------- Finish Title -------->\\n <!--------------------------------------------------------------->\\n <!-------- Page Actions -------->\\n\\n <axp-layout-actions class=\\\"ax-shrink-0\\\">\\n <axp-component-slot name=\\\"page-header-actions\\\"></axp-component-slot>\\n <!--Primary Actions -->\\n @if (page?.hasPrimaryActions()) {\\n <!-- items -->\\n @for (item of page?.primaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"item.disabled\\\"\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n @if (item?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of item?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"handleActionClick(sub)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n <!-- Secondary Actions -->\\n @if (page?.hasSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (item of page?.secondaryMenuItems(); track $index) {\\n @if (item.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [color]=\\\"item.color\\\"\\n [disabled]=\\\"item.disabled\\\"\\n (onClick)=\\\"handleSecondaryActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-actions>\\n <!-- Finish Page Actions -->\\n </axp-layout-title-bar>\\n <!----- Finish Title Bar ----->\\n <!--------------------------------------------------------------->\\n <!-- Begin Navbar -->\\n @if (!sticky.isSticky) {}\\n <ng-content select=\\\"axp-page-toolbar\\\"></ng-content>\\n <!-- Finish Navbar -->\\n </axp-layout-header>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n\\n <axp-page-footer-container\\n [ngStyle]=\\\"{ display: tt.isEmpty() && prefixSlot.isEmpty() && suffixSlot.isEmpty() ? 'none' : 'block' }\\\"\\n >\\n <axp-layout-container #tt>\\n <ng-content select=\\\"axp-page-footer\\\"></ng-content>\\n </axp-layout-container>\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axp-component-slot name=\\\"page-footer-start\\\" #prefixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-prefix>\\n <axp-layout-suffix>\\n <axp-component-slot name=\\\"page-footer-end\\\" #suffixSlot=\\\"slot\\\"></axp-component-slot>\\n </axp-layout-suffix>\\n </axp-page-footer>\\n </axp-page-footer-container>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-page-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side,axp-page-layout axp-layout-end-side{display:flex;min-height:100%;min-width:16rem;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout axp-layout-start-side axp-layout-header,axp-page-layout axp-layout-end-side axp-layout-header{display:flex;flex-direction:column;gap:.5rem;padding:1rem}axp-page-layout axp-layout-start-side axp-layout-header>axp-layout-title,axp-page-layout axp-layout-end-side axp-layout-header>axp-layout-title{font-size:1.125rem;line-height:1.75rem;font-weight:500}axp-page-layout axp-layout-start-side>axp-layout-content,axp-page-layout axp-layout-end-side>axp-layout-content{flex:1 1 0%}axp-page-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-page-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-page-layout>axp-layout-container>axp-layout-header.axp-is-sticky{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item{font-size:.75rem;line-height:1rem}axp-page-layout>axp-layout-container>axp-layout-header ax-breadcrumbs ax-breadcrumbs-item.ax-state-active .ax-breadcrumb-item-content{cursor:default;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1));opacity:.75}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{display:flex;width:100%;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem}@media (min-width: 1280px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar{border-width:0px}}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar ax-layout-nav-button{display:flex;align-items:center;justify-content:space-between}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container{display:flex;align-items:center;gap:.75rem}axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;line-height:1.75rem;font-weight:500;line-height:1.625}@media (min-width: 1024px){axp-page-layout>axp-layout-container>axp-layout-header axp-layout-title-bar .__title-container axp-layout-title{font-size:1.5rem;line-height:2rem}}axp-page-layout>axp-layout-container>axp-layout-header axp-page-toolbar{margin-top:.5rem;padding-left:1rem;padding-right:1rem}axp-page-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column;padding:.75rem 1rem}axp-page-layout>axp-layout-container>axp-page-content.--scrollable{padding-bottom:1rem}axp-page-layout>axp-layout-container>axp-page-footer-container{border-top-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-page-layout>axp-layout-container>axp-page-footer-container{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-page-layout>axp-layout-container>axp-page-footer-container.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BhZ2UvcGFnZS1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BhZ2UvcGFnZS1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsRUFBRTtBQUNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELEVBQUU7QUFDRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQXlCLE1BQU0sb0JBQW9CLENBQUM7QUFDaEgsT0FBTyxF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O3dCQUNGLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLEVBQUU7d0JBQ0Ysc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLDhCQUE4Qjt3QkFDOUIsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLGdDQUFnQztxQkFDakMsWUFHUyxpQkFBaUIsaUJBQ1osaUJBQWlCLENBQUMsSUFBSSxtQkFFcEIsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0IsQ0FBQywwQkFBMEIsQ0FBQyxhQUNqQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy9cbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2xpY2tFdmVudCwgQVhDb21tb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYUENvbXBvbmVudFNsb3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFN0aWNreURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbi8vXG5pbXBvcnQgeyBBWERyYXdlckNvbnRhaW5lckRpcmVjdGl2ZSwgQVhEcmF3ZXJEaXJlY3RpdmVNb2R1bGUsIEFYRHJhd2VySXRlbURpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvY2RrL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyYXdlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcmF3ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7XG4gIEFYUFRoZW1lTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRDb250YWluZXJDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UgfSBmcm9tICcuL3BhZ2UtbGF5b3V0LmJhc2UnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy9cbiAgICBBWENvbW1vbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJyZWFkY3J1bWJzTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRHJhd2VyTW9kdWxlLFxuICAgIEFYRHJhd2VyRGlyZWN0aXZlTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQQ29tcG9uZW50U2xvdE1vZHVsZSxcbiAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gICAgQVhQVGhlbWVMYXlvdXRDb250YWluZXJDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgc2VsZWN0b3I6ICdheHAtcGFnZS1sYXlvdXQnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW0FYRHJhd2VyQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUGFnZUxheW91dENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBwYWdlID0gaW5qZWN0PEFYUFBhZ2VMYXlvdXRCYXNlPihBWFBQYWdlTGF5b3V0QmFzZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBzdGFydFNpZGVEcmF3ZXIgPSB2aWV3Q2hpbGQ8QVhEcmF3ZXJJdGVtRGlyZWN0aXZlPignc3RhcnRTaWRlRHJhd2VyJyk7XG5cbiAgcHJvdGVjdGVkIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCBjb21tYW5kU2VydmljZSA9IGluamVjdChBWFBDb21tYW5kU2VydmljZSk7XG5cbiAgI2luaXRpYWxpemUgPSBhZnRlck5leHRSZW5kZXIoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlQ29udGVudCgpO1xuICB9KTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnBhZ2U/LnRpdGxlKCk7XG4gICAgdGhpcy5wYWdlPy5kZXNjcmlwdGlvbigpO1xuICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlQ29udGVudCgpO1xuICB9KTtcblxuICBwcml2YXRlIGNoZWNrU2Nyb2xsYWJsZUNvbnRlbnQoKSB7XG4gICAgY29uc3QgY29udGVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2F4cC1wYWdlLWNvbnRlbnQnKTtcbiAgICBpZiAoY29udGVudCAmJiBjb250ZW50LnNjcm9sbEhlaWdodCA+PSBjb250ZW50LmNsaWVudEhlaWdodCkge1xuICAgICAgY29udGVudC5jbGFzc0xpc3QuYWRkKCctLXNjcm9sbGFibGUnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aW9uQ2xpY2soaXRlbTogQVhQQWN0aW9uTWVudUl0ZW0pIHtcbiAgICBpZiAoaXRlbS5jb21tYW5kICYmIChpdGVtLml0ZW1zPy5sZW5ndGggPz8gMCkgPT0gMCkge1xuICAgICAgdGhpcy5leGVjdXRlKGl0ZW0uY29tbWFuZCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU3RhcnRTaWRlKCkge1xuICAgIHRoaXMuc3RhcnRTaWRlRHJhd2VyKCk/LnRvZ2dsZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVNlY29uZGFyeUFjdGlvbkNsaWNrKGl0ZW06IEFYUEFjdGlvbk1lbnVJdGVtKSB7XG4gICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgdGhpcy5leGVjdXRlKGl0ZW0uY29tbWFuZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUJhY2tkcm9wQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XG4gICAgZS5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUubmF0aXZlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5jb21wb25lbnQuaGlkZSgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBleGVjdXRlKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKSB7XG4gICAgY29uc3QgcmVzZXJ2ZWQgPSBbJ25hdmlnYXRlJ107XG4gICAgaWYgKHJlc2VydmVkLmluY2x1ZGVzKGNvbW1hbmQubmFtZSkpIHtcbiAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZShjb21tYW5kLm5hbWUsIHsgb3B0aW9uczogY29tbWFuZC5vcHRpb25zIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21tYW5kU2VydmljZS5leGlzdHMoY29tbWFuZC5uYW1lKSkge1xuICAgICAgYXdhaXQgdGhpcy5jb21tYW5kU2VydmljZS5leGVjdXRlKGNvbW1hbmQubmFtZSwgY29tbWFuZC5vcHRpb25zID8/IHt9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5wYWdlPy5leGVjdXRlKGNvbW1hbmQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPbkJhY2tkcm9wQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnN0YXJ0U2lkZURyYXdlcigpPy5oaWRlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW21vZGVdPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKCkgPyAnb3ZlcmxheScgOiAncHVzaCdcIlxuICBbdHJhbnNpdGlvbl09XCIyNTBcIlxuICBheERyYXdlckl0ZW1cbiAgW2JhY2tEcm9wXT1cInRydWVcIlxuICAob25CYWNrZHJvcENsaWNrKT1cImhhbmRsZUJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiXG4gICNzdGFydFNpZGVEcmF3ZXI9XCJheERyYXdlckl0ZW1cIlxuICBbYmFja2Ryb3BDbGFzc109XCInYXgtYmctZGFya2VzdC83NSdcIlxuICBbY29sbGFwc2VkXT1cImxheW91dFNlcnZpY2UuaXNTbWFsbCgpXCJcbiAgZHJhd2VyTG9jYXRpb249XCJzdGFydFwiXG4gIGNsYXNzPVwiYXgtei01MCBheC1oLWZ1bGxcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtbGF5b3V0LXN0YXJ0LXNpZGVcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxheHAtbGF5b3V0LWNvbnRhaW5lciBpZD1cImF4cC1wYWdlLWxheW91dFwiICNjb250YWluZXI+XG4gIDxheHAtbGF5b3V0LWhlYWRlclxuICAgICp0cmFuc2xhdGU9XCJsZXQgdFwiXG4gICAgI3N0aWNreT1cImF4cFN0aWNreVwiXG4gICAgW2F4cFN0aWNreV09XCInYXhwLWlzLXN0aWNreSdcIlxuICAgIFtzdGlja3lPZmZzZXRdPVwiNTBcIlxuICAgIFtzdGlja3lQYXJlbnRdPVwiY29udGFpbmVyLmhvc3RFbGVtZW50XCJcbiAgPlxuICAgIEBpZiAocGFnZT8uaGFzQmFja0J1dHRvbigpICYmIGxheW91dFNlcnZpY2UuaXNTbWFsbCgpKSB7XG4gICAgICA8YXgtYnV0dG9uXG4gICAgICAgIFtsb29rXT1cIidibGFuaydcIlxuICAgICAgICBjbGFzcz1cImF4LXNtIGF4LXctZml0IGF4LW1zLTFcIlxuICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiXG4gICAgICAgIChjbGljayk9XCJwYWdlPy5vbkJhY2tCdXR0b25DbGljaygpXCJcbiAgICAgICAgW3RleHRdPVwicGFnZT8uYmFja0J1dHRvbigpPy50aXRsZVwiXG4gICAgICA+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLXNvbGlkIGZhLWNoZXZyb24tbGVmdCBydGw6YXgtcm90YXRlLTE4MFwiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICB9XG4gICAgPCEtLS0tLS0tLSBCZWdpbiBUaXRsZSBCYXIgIC0tLS0tLS0tPlxuICAgIDxheHAtbGF5b3V0LXRpdGxlLWJhcj5cbiAgICAgIDwhLS0tLS0tLS0gQmVnaW4gVGl0bGUgIC0tLS0tLS0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtdHJhbnNpdGlvblwiPlxuICAgICAgICA8IS0tIEJyZWFkY3J1bWJzIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc0JyZWFkY3J1bWJzKCkgJiYgIWxheW91dFNlcnZpY2UuaXNTbWFsbCgpKSB7XG4gICAgICAgICAgPGF4LWJyZWFkY3J1bWJzIGNsYXNzPVwiYXgtbWItMVwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBwYWdlPy5icmVhZGNydW1icygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW0gW2FjdGl2ZV09XCIkbGFzdFwiIChjbGljayk9XCJpdGVtLmNvbW1hbmQgPyBleGVjdXRlKGl0ZW0uY29tbWFuZCkgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCJpdGVtLmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHt7IHQoaXRlbS50aXRsZSkgfCBhc3luYyB9fVxuICAgICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RpdmlkZXI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jaGV2cm9uLXJpZ2h0IHJ0bDpheC1yb3RhdGUtMTgwIGZhLXNtXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzPlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDwhLS0gVGl0bGUgIC0tPlxuICAgICAgICAgIEBpZiAocGFnZT8uaGFzVGl0bGUoKSkge1xuICAgICAgICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+IHt7IHQocGFnZT8udGl0bGUoKSkgfCBhc3luYyB9fTwvYXhwLWxheW91dC10aXRsZT5cbiAgICAgICAgICB9XG4gICAgICAgICAgPCEtLSBUaXRsZSBBY3Rpb25zIC0tPlxuICAgICAgICAgIEBpZiAocGFnZT8uaGFzVGl0bGVBY3Rpb25zKCkpIHtcbiAgICAgICAgICAgIDxheC1idXR0b24gW2xvb2tdPVwiJ2JsYW5rJ1wiIGNsYXNzPVwiYXgtc20gLWF4LW14LTJcIj5cbiAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNhcmV0LWRvd24gZmEtZndcIj48L2k+XG4gICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgI3BhbmVsPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgQGZvciAoc3ViIG9mIHBhZ2U/LnRpdGxlQWN0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIih0KHN1Yi50aXRsZSkgfCBhc3luYykhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzdWIuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Yi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVBY3Rpb25DbGljayhzdWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3sgc3ViLmljb24gfX1cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc3ViLmJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIERlc2NyaXB0aW9uIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc0Rlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICA8YXhwLWxheW91dC1kZXNjcmlwdGlvbj4ge3sgdChwYWdlPy5kZXNjcmlwdGlvbigpKSB8IGFzeW5jIH19PC9heHAtbGF5b3V0LWRlc2NyaXB0aW9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0tLS0tLS0gRmluaXNoIFRpdGxlICAtLS0tLS0tLT5cbiAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgICAgPCEtLS0tLS0tLSBQYWdlIEFjdGlvbnMgIC0tLS0tLS0tPlxuXG4gICAgICA8YXhwLWxheW91dC1hY3Rpb25zIGNsYXNzPVwiYXgtc2hyaW5rLTBcIj5cbiAgICAgICAgPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwicGFnZS1oZWFkZXItYWN0aW9uc1wiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuICAgICAgICA8IS0tUHJpbWFyeSBBY3Rpb25zIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc1ByaW1hcnlBY3Rpb25zKCkpIHtcbiAgICAgICAgICA8IS0tIGl0ZW1zIC0tPlxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgcGFnZT8ucHJpbWFyeU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIEBpZiAoaXRlbS52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICAgICAgICAgIFtpY29uT25seV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFt0ZXh0XT1cIih0KGl0ZW0udGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgW2xvb2tdPVwiJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cIml0ZW0uY29sb3JcIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFjdGlvbkNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0/Lml0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgI3BhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdWIgb2YgaXRlbT8uaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzdWIudmlzaWJsZSAhPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCIodChzdWIudGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInN1Yi5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN1Yi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWN0aW9uQ2xpY2soc3ViKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IHN1Yi5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHN1Yi5icmVhaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA8IS0tIFNlY29uZGFyeSBBY3Rpb25zIC0tPlxuICAgICAgICBAaWYgKHBhZ2U/Lmhhc1NlY29uZGFyeUFjdGlvbnMoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjbGFzcy5heC1zbV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICBbaWNvbk9ubHldPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICAgICAgW3RleHRdPVwidCgnYWN0aW9ucycpIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2xvb2tdPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKCkgPyAnYmxhbmsnIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVsbGlwc2lzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWwgI3BhbmVsPlxuICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHBhZ2U/LnNlY29uZGFyeU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIih0KGl0ZW0udGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIml0ZW0uY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVTZWNvbmRhcnlBY3Rpb25DbGljayhpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGl0ZW0uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2F4cC1sYXlvdXQtYWN0aW9ucz5cbiAgICAgIDwhLS0gRmluaXNoIFBhZ2UgQWN0aW9ucyAgLS0+XG4gICAgPC9heHAtbGF5b3V0LXRpdGxlLWJhcj5cbiAgICA8IS0tLS0tIEZpbmlzaCBUaXRsZSBCYXIgIC0tLS0tPlxuICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgIDwhLS0gQmVnaW4gTmF2YmFyIC0tPlxuICAgIEBpZiAoIXN0aWNreS5pc1N0aWNreSkge31cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheHAtcGFnZS10b29sYmFyXCI+PC9uZy1jb250ZW50PlxuICAgIDwhLS0gRmluaXNoIE5hdmJhciAgLS0+XG4gIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4cC1wYWdlLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPGF4cC1wYWdlLWZvb3Rlci1jb250YWluZXJcbiAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6IHR0LmlzRW1wdHkoKSAmJiBwcmVmaXhTbG90LmlzRW1wdHkoKSAmJiBzdWZmaXhTbG90LmlzRW1wdHkoKSA/ICdub25lJyA6ICdibG9jaycgfVwiXG4gID5cbiAgICA8YXhwLWxheW91dC1jb250YWluZXIgI3R0PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLXBhZ2UtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvYXhwLWxheW91dC1jb250YWluZXI+XG4gICAgPGF4cC1wYWdlLWZvb3Rlcj5cbiAgICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgICAgPGF4cC1jb21wb25lbnQtc2xvdCBuYW1lPVwicGFnZS1mb290ZXItc3RhcnRcIiAjcHJlZml4U2xvdD1cInNsb3RcIj48L2F4cC1jb21wb25lbnQtc2xvdD5cbiAgICAgIDwvYXhwLWxheW91dC1wcmVmaXg+XG4gICAgICA8YXhwLWxheW91dC1zdWZmaXg+XG4gICAgICAgIDxheHAtY29tcG9uZW50LXNsb3QgbmFtZT1cInBhZ2UtZm9vdGVyLWVuZFwiICNzdWZmaXhTbG90PVwic2xvdFwiPjwvYXhwLWNvbXBvbmVudC1zbG90PlxuICAgICAgPC9heHAtbGF5b3V0LXN1ZmZpeD5cbiAgICA8L2F4cC1wYWdlLWZvb3Rlcj5cbiAgPC9heHAtcGFnZS1mb290ZXItY29udGFpbmVyPlxuPC9heHAtbGF5b3V0LWNvbnRhaW5lcj5cbiJdfQ==","import { AXToastService } from '@acorex/components/toast';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { Component, computed, effect, inject, signal, viewChild } from '@angular/core';\nimport { isEmpty, isNil } from 'lodash-es';\nimport { AXPPageLayoutComponent } from './page-layout.component';\nimport { AXPPolicyEngineService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nexport class AXPPageLayoutBaseComponent {\n constructor() {\n //#region ---------------- Services ----------------\n this.layoutService = inject(AXPLayoutThemeService);\n this.sessionService = inject(AXPSessionService);\n this.translateService = inject(AXTranslationService);\n this.formatService = inject(AXFormatService);\n this.toastService = inject(AXToastService);\n this.homePageService = inject(AXPHomePageService);\n this.policyService = inject(AXPPolicyEngineService);\n //#endregion\n //#region ---------------- Signal to force recomputation ----------------\n this._updateTrigger = signal(0, ...(ngDevMode ? [{ debugName: \"_updateTrigger\" }] : []));\n this.updateTrigger = this._updateTrigger.asReadonly();\n //#endregion\n //#region ---------------- Title ----------------\n this.title = signal('', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.#titleEffect = effect(async () => {\n this.updateTrigger();\n this.title.set(await this.getPageTitle());\n }, ...(ngDevMode ? [{ debugName: \"#titleEffect\" }] : []));\n this.hasTitle = computed(() => this.title() !== '', ...(ngDevMode ? [{ debugName: \"hasTitle\" }] : []));\n //#endregion\n //#region ---------------- Description ----------------\n this.description = signal(null, ...(ngDevMode ? [{ debugName: \"description\" }] : []));\n this.hasDescription = computed(() => !isNil(this.description()) && !isEmpty(this.description()), ...(ngDevMode ? [{ debugName: \"hasDescription\" }] : []));\n this.#descriptionEffect = effect(async () => {\n this.updateTrigger();\n this.description.set(await this.getPageDescription());\n }, ...(ngDevMode ? [{ debugName: \"#descriptionEffect\" }] : []));\n //#endregion\n //#region ---------------- Breadcrumbs ----------------\n this.defaultBreadCrumbs = [\n {\n title: 't(\"home\")',\n icon: 'fa-solid fa-home ax-text-xs ax-me-1',\n command: {\n name: 'navigate',\n options: {\n path: this.homePageService.getCurrent().path,\n },\n },\n },\n ];\n this.breadcrumbs = signal(this.defaultBreadCrumbs, ...(ngDevMode ? [{ debugName: \"breadcrumbs\" }] : []));\n this.#breadcrumbsEffect = effect(async () => {\n this.updateTrigger();\n const breadCrumbs = await this.getPageBreadcrumbs();\n this.breadcrumbs.set([...this.defaultBreadCrumbs, ...breadCrumbs]);\n }, ...(ngDevMode ? [{ debugName: \"#breadcrumbsEffect\" }] : []));\n this.hasBreadcrumbs = computed(() => this.breadcrumbs().length > 1, ...(ngDevMode ? [{ debugName: \"hasBreadcrumbs\" }] : []));\n //#endregion\n //#region ---------------- Layout ----------------\n this.layout = viewChild(AXPPageLayoutComponent, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n //#endregion\n //#region ---------------- Actions ----------------\n this.primaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"primaryMenuItems\" }] : []));\n this.hasPrimaryActions = computed(() => this.primaryMenuItems().filter(item => item.visible != false).length > 0, ...(ngDevMode ? [{ debugName: \"hasPrimaryActions\" }] : []));\n this.#primaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n const items = await this.getPrimaryMenuItems();\n this.primaryMenuItems.set(items);\n }, ...(ngDevMode ? [{ debugName: \"#primaryMenuItemsEffect\" }] : []));\n this.secondaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"secondaryMenuItems\" }] : []));\n this.hasSecondaryActions = computed(() => this.secondaryMenuItems().filter(item => item.visible != false).length > 0, ...(ngDevMode ? [{ debugName: \"hasSecondaryActions\" }] : []));\n this.#secondaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n const items = await this.getSecondaryMenuItems();\n this.secondaryMenuItems.set(items);\n }, ...(ngDevMode ? [{ debugName: \"#secondaryMenuItemsEffect\" }] : []));\n this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), ...(ngDevMode ? [{ debugName: \"hasActions\" }] : []));\n this.titleActions = signal([], ...(ngDevMode ? [{ debugName: \"titleActions\" }] : []));\n this.hasTitleActions = computed(() => this.titleActions().length > 0, ...(ngDevMode ? [{ debugName: \"hasTitleActions\" }] : []));\n this.#titleActionsEffect = effect(async () => {\n this.updateTrigger();\n this.titleActions.set(await this.getTitleActions());\n }, ...(ngDevMode ? [{ debugName: \"#titleActionsEffect\" }] : []));\n this.backButton = signal(null, ...(ngDevMode ? [{ debugName: \"backButton\" }] : []));\n this.hasBackButton = computed(() => this.backButton() !== null, ...(ngDevMode ? [{ debugName: \"hasBackButton\" }] : []));\n this.#backButtonEffect = effect(async () => {\n this.updateTrigger();\n this.backButton.set(await this.getBackButton());\n }, ...(ngDevMode ? [{ debugName: \"#backButtonEffect\" }] : []));\n }\n recompute() {\n this._updateTrigger.set(this._updateTrigger() + 1);\n }\n //#endregion\n //#region ---------------- Lifecycle hooks ----------------\n async ngOnInit() {\n this.translateService.langChanges$.subscribe(() => {\n this.recompute();\n });\n }\n #titleEffect;\n getPageTitle() {\n return '';\n }\n #descriptionEffect;\n getPageDescription() {\n return null;\n }\n #breadcrumbsEffect;\n getPageBreadcrumbs() {\n return [];\n }\n //TODO: Remove this after migration to the new layout\n toggleEndSide() {\n //this.layout()?.toggleStartSide()\n }\n //TODO: Remove this after migration to the new layout\n toggleStartSide() {\n this.layout()?.toggleStartSide();\n }\n #primaryMenuItemsEffect;\n getPrimaryMenuItems() {\n return [];\n }\n #secondaryMenuItemsEffect;\n getSecondaryMenuItems() {\n return [];\n }\n #titleActionsEffect;\n getTitleActions() {\n return [];\n }\n getBackButton() {\n return null;\n }\n #backButtonEffect;\n //#endregion\n //#region ---------------- Handle Commands ----------------\n execute(command) { }\n startSideToggle() {\n this.layout();\n }\n onBackButtonClick() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPageLayoutBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.6\", type: AXPPageLayoutBaseComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"layout\", first: true, predicate: AXPPageLayoutComponent, descendants: true, isSignal: true }], ngImport: i0, template: '', isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPageLayoutBaseComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n template: '',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sYXlvdXQtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC92aWV3cy9zcmMvbGliL2xheW91dHMvcGFnZS9wYWdlLWxheW91dC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFnQiwwQkFBMEI7SUFKaEQ7UUFLRSx3REFBd0Q7UUFFckMsa0JBQWEsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hELGtCQUFhLEdBQUcs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QU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQVNELHFEQUFxRDtJQUMzQyxhQUFhO1FBQ3JCLGtDQUFrQztJQUNwQyxDQUFDO0lBRUQscURBQXFEO0lBQzNDLGVBQWU7UUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFBO0lBQ2xDLENBQUM7SUFVRCx1QkFBdUIsQ0FJcEI7SUFFTyxtQkFBbUI7UUFDM0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBTUQseUJBQXlCLENBSXRCO0lBSU8scUJBQXFCO1FBQzdCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQU1ELG1CQUFtQixDQUdoQjtJQUVPLGVBQWU7UUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBTVMsYUFBYTtRQUNyQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUIsQ0FHZDtJQUVILFlBQVk7SUFFWiwrREFBK0Q7SUFFeEQsT0FBTyxDQUFDLE9BQTBCLElBQTBCLENBQUM7SUFFN0QsZUFBZTtRQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLGlCQUFpQixLQUEyQixDQUFDOzhHQXpMaEMsMEJBQTBCO2tHQUExQiwwQkFBMEIsZ0hBdUdqQixzQkFBc0IsZ0VBekd6QyxFQUFFOzsyRkFFUSwwQkFBMEI7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQQmFja0J1dHRvbiwgQVhQQnJlYWRjcnVtYkl0ZW0sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRW1wdHksIGlzTmlsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFBhZ2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2UtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBQb2xpY3lFbmdpbmVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50IHtcbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBTZXJ2aWNlcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZVBhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEhvbWVQYWdlU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBwb2xpY3lTZXJ2aWNlID0gaW5qZWN0KEFYUFBvbGljeUVuZ2luZVNlcnZpY2UpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgU2lnbmFsIHRvIGZvcmNlIHJlY29tcHV0YXRpb24gICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJpdmF0ZSBfdXBkYXRlVHJpZ2dlciA9IHNpZ25hbCgwKTtcblxuICBwcm90ZWN0ZWQgdXBkYXRlVHJpZ2dlciA9IHRoaXMuX3VwZGF0ZVRyaWdnZXIuYXNSZWFkb25seSgpO1xuXG4gIHByb3RlY3RlZCByZWNvbXB1dGUoKSB7XG4gICAgdGhpcy5fdXBkYXRlVHJpZ2dlci5zZXQodGhpcy5fdXBkYXRlVHJpZ2dlcigpICsgMSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIExpZmVjeWNsZSBob29rcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UubGFuZ0NoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlY29tcHV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBUaXRsZSAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm90ZWN0ZWQgdGl0bGUgPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgI3RpdGxlRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnVwZGF0ZVRyaWdnZXIoKTtcbiAgICB0aGlzLnRpdGxlLnNldChhd2FpdCB0aGlzLmdldFBhZ2VUaXRsZSgpKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGdldFBhZ2VUaXRsZSgpOiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHByaXZhdGUgaGFzVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRpdGxlKCkgIT09ICcnKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIERlc2NyaXB0aW9uICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByaXZhdGUgZGVzY3JpcHRpb24gPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSBoYXNEZXNjcmlwdGlvbiA9IGNvbXB1dGVkKCgpID0+ICFpc05pbCh0aGlzLmRlc2NyaXB0aW9uKCkpICYmICFpc0VtcHR5KHRoaXMuZGVzY3JpcHRpb24oKSkpO1xuXG4gICNkZXNjcmlwdGlvbkVmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgdGhpcy5kZXNjcmlwdGlvbi5zZXQoYXdhaXQgdGhpcy5nZXRQYWdlRGVzY3JpcHRpb24oKSk7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBnZXRQYWdlRGVzY3JpcHRpb24oKTogc3RyaW5nIHwgbnVsbCB8IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBCcmVhZGNydW1icyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcml2YXRlIGRlZmF1bHRCcmVhZENydW1iczogQVhQQnJlYWRjcnVtYkl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ3QoXCJob21lXCIpJyxcbiAgICAgIGljb246ICdmYS1zb2xpZCBmYS1ob21lIGF4LXRleHQteHMgYXgtbWUtMScsXG4gICAgICBjb21tYW5kOiB7XG4gICAgICAgIG5hbWU6ICduYXZpZ2F0ZScsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBwYXRoOiB0aGlzLmhvbWVQYWdlU2VydmljZS5nZXRDdXJyZW50KCkucGF0aCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcblxuICBwcml2YXRlIGJyZWFkY3J1bWJzID0gc2lnbmFsPEFYUEJyZWFkY3J1bWJJdGVtW10+KHRoaXMuZGVmYXVsdEJyZWFkQ3J1bWJzKTtcblxuICAjYnJlYWRjcnVtYnNFZmZlY3QgPSBlZmZlY3QoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgIGNvbnN0IGJyZWFkQ3J1bWJzID0gYXdhaXQgdGhpcy5nZXRQYWdlQnJlYWRjcnVtYnMoKTtcbiAgICB0aGlzLmJyZWFkY3J1bWJzLnNldChbLi4udGhpcy5kZWZhdWx0QnJlYWRDcnVtYnMsIC4uLmJyZWFkQ3J1bWJzXSk7XG4gIH0pO1xuXG4gIHByaXZhdGUgaGFzQnJlYWRjcnVtYnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJyZWFkY3J1bWJzKCkubGVuZ3RoID4gMSk7XG5cbiAgcHJvdGVjdGVkIGdldFBhZ2VCcmVhZGNydW1icygpOiBBWFBCcmVhZGNydW1iSXRlbVtdIHwgUHJvbWlzZTxBWFBCcmVhZGNydW1iSXRlbVtdPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBMYXlvdXQgICAtLS0tLS0tLS0tLS0tLS0tXG5cblxuICBwcm90ZWN0ZWQgbGF5b3V0ID0gdmlld0NoaWxkKEFYUFBhZ2VMYXlvdXRDb21wb25lbnQpO1xuXG4gIC8vVE9ETzogUmVtb3ZlIHRoaXMgYWZ0ZXIgbWlncmF0aW9uIHRvIHRoZSBuZXcgbGF5b3V0XG4gIHByb3RlY3RlZCB0b2dnbGVFbmRTaWRlKCkge1xuICAgIC8vdGhpcy5sYXlvdXQoKT8udG9nZ2xlU3RhcnRTaWRlKClcbiAgfVxuXG4gIC8vVE9ETzogUmVtb3ZlIHRoaXMgYWZ0ZXIgbWlncmF0aW9uIHRvIHRoZSBuZXcgbGF5b3V0XG4gIHByb3RlY3RlZCB0b2dnbGVTdGFydFNpZGUoKSB7XG4gICAgdGhpcy5sYXlvdXQoKT8udG9nZ2xlU3RhcnRTaWRlKClcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgQWN0aW9ucyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwdWJsaWMgcHJpbWFyeU1lbnVJdGVtcyA9IHNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPihbXSk7XG5cbiAgcHVibGljIGhhc1ByaW1hcnlBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wcmltYXJ5TWVudUl0ZW1zKCkuZmlsdGVyKGl0ZW0gPT4gaXRlbS52aXNpYmxlICE9IGZhbHNlKS5sZW5ndGggPiAwKTtcblxuICAjcHJpbWFyeU1lbnVJdGVtc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldFByaW1hcnlNZW51SXRlbXMoKTtcbiAgICB0aGlzLnByaW1hcnlNZW51SXRlbXMuc2V0KGl0ZW1zKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGdldFByaW1hcnlNZW51SXRlbXMoKTogQVhQQWN0aW9uTWVudUl0ZW1bXSB8IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBzZWNvbmRhcnlNZW51SXRlbXMgPSBzaWduYWw8QVhQQWN0aW9uTWVudUl0ZW1bXT4oW10pO1xuXG4gIHB1YmxpYyBoYXNTZWNvbmRhcnlBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWNvbmRhcnlNZW51SXRlbXMoKS5maWx0ZXIoaXRlbSA9PiBpdGVtLnZpc2libGUgIT0gZmFsc2UpLmxlbmd0aCA+IDApO1xuXG4gICNzZWNvbmRhcnlNZW51SXRlbXNFZmZlY3QgPSBlZmZlY3QoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5nZXRTZWNvbmRhcnlNZW51SXRlbXMoKTtcbiAgICB0aGlzLnNlY29uZGFyeU1lbnVJdGVtcy5zZXQoaXRlbXMpO1xuICB9KTtcblxuICBwdWJsaWMgaGFzQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaGFzUHJpbWFyeUFjdGlvbnMoKSB8fCB0aGlzLmhhc1NlY29uZGFyeUFjdGlvbnMoKSk7XG5cbiAgcHJvdGVjdGVkIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBBWFBBY3Rpb25NZW51SXRlbVtdIHwgUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHVibGljIHRpdGxlQWN0aW9ucyA9IHNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPihbXSk7XG5cbiAgcHVibGljIGhhc1RpdGxlQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMudGl0bGVBY3Rpb25zKCkubGVuZ3RoID4gMCk7XG5cbiAgI3RpdGxlQWN0aW9uc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgdGhpcy50aXRsZUFjdGlvbnMuc2V0KGF3YWl0IHRoaXMuZ2V0VGl0bGVBY3Rpb25zKCkpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgZ2V0VGl0bGVBY3Rpb25zKCk6IEFYUEFjdGlvbk1lbnVJdGVtW10gfCBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgYmFja0J1dHRvbiA9IHNpZ25hbDxBWFBCYWNrQnV0dG9uIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIGhhc0JhY2tCdXR0b24gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJhY2tCdXR0b24oKSAhPT0gbnVsbCk7XG5cbiAgcHJvdGVjdGVkIGdldEJhY2tCdXR0b24oKTogKEFYUEJhY2tCdXR0b24gfCBudWxsKSB8IFByb21pc2U8QVhQQmFja0J1dHRvbiB8IG51bGw+IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICNiYWNrQnV0dG9uRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnVwZGF0ZVRyaWdnZXIoKTtcbiAgICB0aGlzLmJhY2tCdXR0b24uc2V0KGF3YWl0IHRoaXMuZ2V0QmFja0J1dHRvbigpKTtcbiAgfSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBIYW5kbGUgQ29tbWFuZHMgICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHVibGljIGV4ZWN1dGUoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7IH1cblxuICBwdWJsaWMgc3RhcnRTaWRlVG9nZ2xlKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxheW91dCgpO1xuICB9XG5cbiAgcHVibGljIG9uQmFja0J1dHRvbkNsaWNrKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHsgfVxuXG4gIC8vI2VuZHJlZ2lvblxufVxuIl19","export class AXPPopupLayoutBase {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbGF5b3V0LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC92aWV3cy9zcmMvbGliL2xheW91dHMvcG9wdXAvcG9wdXAtbGF5b3V0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFnQixrQkFBa0I7Q0FXdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBQb3B1cExheW91dEJhc2Uge1xuICAgIGFic3RyYWN0IHByaW1hcnlNZW51SXRlbXM6IFNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPjtcbiAgICBhYnN0cmFjdCBzZWNvbmRhcnlNZW51SXRlbXM6IFNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPjtcbiAgICBhYnN0cmFjdCB0aXRsZUFjdGlvbnM6IFNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPjtcbiAgICBhYnN0cmFjdCBoYXNUaXRsZUFjdGlvbnM6IFNpZ25hbDxib29sZWFuPjtcbiAgICBhYnN0cmFjdCBoYXNQcmltYXJ5QWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xuICAgIGFic3RyYWN0IGhhc1NlY29uZGFyeUFjdGlvbnM6IFNpZ25hbDxib29sZWFuPjtcbiAgICBhYnN0cmFjdCBoYXNBY3Rpb25zOiBTaWduYWw8Ym9vbGVhbj47XG4gICAgYWJzdHJhY3QgdGl0bGU6IFNpZ25hbDxzdHJpbmc+O1xuICAgIGFic3RyYWN0IGhhc1RpdGxlOiBTaWduYWw8Ym9vbGVhbj47XG4gICAgYWJzdHJhY3QgZXhlY3V0ZTogKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbn0gIl19","import { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, inject, ViewEncapsulation, } from '@angular/core';\n//\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from \"@acorex/cdk/common\";\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\n//\nimport { AXDrawerDirectiveModule } from '@acorex/cdk/drawer';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, } from '@acorex/platform/layout/components';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPPopupLayoutBase } from './popup-layout.base';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/core/translation\";\nimport * as i4 from \"@angular/common\";\nexport class AXPPopupLayoutComponent {\n constructor() {\n this.popup = inject(AXPPopupLayoutBase);\n this.layoutService = inject(AXPLayoutThemeService);\n this.workflow = inject(AXPWorkflowService);\n this.#initialize = afterNextRender(async () => {\n this.checkScrollableContent();\n });\n this.#effect = effect(() => {\n this.popup?.title();\n this.checkScrollableContent();\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n }\n #initialize;\n #effect;\n checkScrollableContent() {\n const content = document.querySelector('axp-popup-content');\n if (content && content.scrollHeight >= content.clientHeight) {\n content.classList.add('--scrollable');\n }\n }\n handleActionClick(item) {\n if (item.command && (item.items?.length ?? 0) == 0) {\n this.popup?.execute(item.command);\n }\n }\n handleSecondaryActionClick(item) {\n if (item.command) {\n this.popup?.execute(item.command);\n }\n }\n handleBackdropClick(e) {\n e.nativeEvent.preventDefault();\n e.nativeEvent.stopPropagation();\n e.component.hide();\n return false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPopupLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPPopupLayoutComponent, isStandalone: true, selector: \"axp-popup-layout\", ngImport: i0, template: \"<axp-layout-container id=\\\"axp-popup-layout\\\" #container>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n <axp-page-footer *translate=\\\"let t\\\">\\n <ax-prefix> </ax-prefix>\\n @if(popup.hasPrimaryActions()) {\\n <ax-suffix>\\n @for(item of popup.primaryMenuItems(); track $index) {\\n <ax-button\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button>\\n }\\n </ax-suffix>\\n }\\n </axp-page-footer>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-popup-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: \n //\n AXCommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i3.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDrawerModule }, { kind: \"ngmodule\", type: AXDrawerDirectiveModule }, { kind: \"component\", type: \n //\n AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutContainerComponent, selector: \"axp-layout-container\" }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPopupLayoutComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n //\n AXCommonModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXButtonModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDrawerDirectiveModule,\n //\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutContainerComponent,\n ], selector: 'axp-popup-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<axp-layout-container id=\\\"axp-popup-layout\\\" #container>\\n <ng-content select=\\\"axp-page-content\\\"></ng-content>\\n <axp-page-footer *translate=\\\"let t\\\">\\n <ax-prefix> </ax-prefix>\\n @if(popup.hasPrimaryActions()) {\\n <ax-suffix>\\n @for(item of popup.primaryMenuItems(); track $index) {\\n <ax-button\\n [text]=\\\"(t(item.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"item.color\\\"\\n (onClick)=\\\"handleActionClick(item)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ item.icon }}\\\"></i>\\n </ax-prefix>\\n </ax-button>\\n }\\n </ax-suffix>\\n }\\n </axp-page-footer>\\n</axp-layout-container>\\n\", styles: [\"axp-layout-title{display:block;width:100%;font-weight:600}axp-layout-description{display:block;width:100%;font-size:.875rem;line-height:1.25rem;opacity:.65}axp-layout-actions{display:flex;align-items:center;gap:.75rem}axp-layout-actions axp-layout-actions-primary{display:flex;align-items:center;gap:.75rem}axp-layout-footer,axp-layout-toolbar,axp-layout-header,axp-page-header,axp-page-footer,axp-page-toolbar{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-prefix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-prefix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-prefix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-prefix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-prefix,axp-page-toolbar>axp-layout-suffix{display:flex;flex-direction:row;align-items:center;gap:.5rem}axp-layout-footer>axp-layout-prefix,axp-layout-toolbar>axp-layout-prefix,axp-layout-header>axp-layout-prefix,axp-page-header>axp-layout-prefix,axp-page-footer>axp-layout-prefix,axp-page-toolbar>axp-layout-prefix{order:-9999}axp-layout-footer>axp-layout-suffix,axp-layout-toolbar>axp-layout-suffix,axp-layout-header>axp-layout-suffix,axp-page-header>axp-layout-suffix,axp-page-footer>axp-layout-suffix,axp-page-toolbar>axp-layout-suffix{order:9999;margin-inline-start:auto}axp-layout-list{display:flex;flex-direction:column}axp-layout-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed}axp-layout-list:focus{outline:none}axp-layout-list-group{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-group>axp-layout-title{padding-bottom:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600}axp-layout-list-group>axp-layout-header{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}axp-layout-list-item{margin-top:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;font-size:.875rem;line-height:1.25rem}axp-layout-list-item:focus{outline:none}axp-layout-list-item.axp-state-focused,axp-layout-list-item:hover{cursor:pointer;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-light-surface),var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-list-item>axp-layout-prefix{margin-inline-end:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-list-item>axp-layout-content{flex:1 1 0%}axp-layout-list-item>axp-layout-content axp-layout-description{margin-top:.25rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-list-item>axp-layout-suffix{margin-inline-start:auto;display:flex;flex-direction:row;gap:.5rem}axp-layout-sections{display:flex;flex-direction:column;gap:1rem}axp-layout-sections axp-layout-section{display:block;border-radius:.375rem;border-width:1px;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding:.5rem 1rem}@media (min-width: 1280px){axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-layout-sections axp-layout-section>axp-layout-footer,axp-layout-sections axp-layout-section>axp-layout-header{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-layout-sections axp-layout-section>axp-layout-footer:is(.ax-dark *),axp-layout-sections axp-layout-section>axp-layout-header:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}axp-layout-sections axp-layout-section>axp-layout-header{display:flex;flex-direction:column;gap:0px;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border-bottom-width:1px}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-title{font-weight:700;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-on-lightest-surface),var(--tw-text-opacity, 1))}axp-layout-sections axp-layout-section>axp-layout-header axp-layout-description{margin-top:.25rem;font-size:.875rem;line-height:1.25rem}axp-layout-sections axp-layout-section>axp-layout-footer{display:flex;align-items:center;justify-content:space-between;border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem;border-top-width:1px;padding:1rem;opacity:0;animation:fadeInDown .5s ease-out forwards}axp-layout-sections axp-layout-section>axp-layout-footer>axp-layout-suffix{margin-inline-start:auto;display:flex;gap:.5rem}@keyframes fadeInDown{0%{opacity:0}to{opacity:1}}axp-popup-layout{display:flex;width:100%;height:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container{position:relative;display:flex;width:100%;height:100%;flex-direction:column;overflow:auto;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}axp-popup-layout>axp-layout-container>axp-layout-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:0px;--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 768px){axp-popup-layout>axp-layout-container>axp-layout-header{padding-top:1rem;padding-bottom:1rem}}axp-popup-layout>axp-layout-container>axp-page-content{display:flex;width:100%;flex:1 1 0%;flex-direction:column}axp-popup-layout>axp-layout-container>axp-page-footer{border-top-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-lightest-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer:is(.ax-dark *){--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-dark-surface),var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgba(var(--ax-sys-color-dark-surface),var(--tw-bg-opacity, 1))}axp-popup-layout>axp-layout-container>axp-page-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem;--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@keyframes ax-fadeInUp{0%{transform:translate3d(0,100%,0);opacity:0}}axp-popup-layout>axp-layout-container>axp-page-footer.--animated{animation:1s both ax-fadeInUp;transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);animation-duration:.3s;animation-timing-function:cubic-bezier(0,0,.2,1)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvbGF5b3V0cy9wb3B1cC9wb3B1cC1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BvcHVwL3BvcHVwLWxheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLEVBQUU7QUFDRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFnQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxFQUFFO0FBQ0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFN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SUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGFmdGVyTmV4dFJlbmRlcixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vL1xuaW1wb3J0IHsgQVhCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDbGlja0V2ZW50LCBBWENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYWNvcmV4L2Nkay9jb21tb25cIjtcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG4vL1xuaW1wb3J0IHsgQVhEcmF3ZXJEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2Nkay9kcmF3ZXInO1xuaW1wb3J0IHsgQVhEcmF3ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJhd2VyJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZCc7XG5pbXBvcnQge1xuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRDb250YWluZXJDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBQb3B1cExheW91dEJhc2UgfSBmcm9tICcuL3BvcHVwLWxheW91dC5iYXNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgLy9cbiAgICAgICAgQVhDb21tb25Nb2R1bGUsXG4gICAgICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgICAgICBBWEJyZWFkY3J1bWJzTW9kdWxlLFxuICAgICAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgICAgIEFYRHJhd2VyRGlyZWN0aXZlTW9kdWxlLFxuICAgICAgICAvL1xuICAgICAgICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BvcHVwLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHNlbGVjdG9yOiAnYXhwLXBvcHVwLWxheW91dCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUG9wdXBMYXlvdXRDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCBwb3B1cCA9IGluamVjdDxBWFBQb3B1cExheW91dEJhc2U+KEFYUFBvcHVwTGF5b3V0QmFzZSk7XG4gICAgcHJvdGVjdGVkIGxheW91dFNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcblxuICAgICNpbml0aWFsaXplID0gYWZ0ZXJOZXh0UmVuZGVyKGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy5jaGVja1Njcm9sbGFibGVDb250ZW50KCk7XG4gICAgfSk7XG5cbiAgICAjZWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgdGhpcy5wb3B1cD8udGl0bGUoKTtcbiAgICAgICAgdGhpcy5jaGVja1Njcm9sbGFibGVDb250ZW50KCk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIGNoZWNrU2Nyb2xsYWJsZUNvbnRlbnQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdheHAtcG9wdXAtY29udGVudCcpO1xuICAgICAgICBpZiAoY29udGVudCAmJiBjb250ZW50LnNjcm9sbEhlaWdodCA+PSBjb250ZW50LmNsaWVudEhlaWdodCkge1xuICAgICAgICAgICAgY29udGVudC5jbGFzc0xpc3QuYWRkKCctLXNjcm9sbGFibGUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVBY3Rpb25DbGljayhpdGVtOiBBWFBBY3Rpb25NZW51SXRlbSkge1xuICAgICAgICBpZiAoaXRlbS5jb21tYW5kICYmIChpdGVtLml0ZW1zPy5sZW5ndGggPz8gMCkgPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5wb3B1cD8uZXhlY3V0ZShpdGVtLmNvbW1hbmQpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2Vjb25kYXJ5QWN0aW9uQ2xpY2soaXRlbTogQVhQQWN0aW9uTWVudUl0ZW0pIHtcbiAgICAgICAgaWYgKGl0ZW0uY29tbWFuZCkge1xuICAgICAgICAgICAgdGhpcy5wb3B1cD8uZXhlY3V0ZShpdGVtLmNvbW1hbmQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUJhY2tkcm9wQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XG4gICAgICAgIGUubmF0aXZlRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5uYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZS5jb21wb25lbnQuaGlkZSgpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufSAiLCI8YXhwLWxheW91dC1jb250YWluZXIgaWQ9XCJheHAtcG9wdXAtbGF5b3V0XCIgI2NvbnRhaW5lcj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXhwLXBhZ2UtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgPGF4cC1wYWdlLWZvb3RlciAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICA8YXgtcHJlZml4PiA8L2F4LXByZWZpeD5cbiAgICBAaWYocG9wdXAuaGFzUHJpbWFyeUFjdGlvbnMoKSkge1xuICAgIDxheC1zdWZmaXg+XG4gICAgICBAZm9yKGl0ZW0gb2YgcG9wdXAucHJpbWFyeU1lbnVJdGVtcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxheC1idXR0b25cbiAgICAgICAgW3RleHRdPVwiKHQoaXRlbS50aXRsZSkgfCBhc3luYykhXCJcbiAgICAgICAgW2xvb2tdPVwiJ3NvbGlkJ1wiXG4gICAgICAgIFtjb2xvcl09XCJpdGVtLmNvbG9yXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWN0aW9uQ2xpY2soaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5pY29uIH19XCI+PC9pPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgPC9heHAtcGFnZS1mb290ZXI+XG48L2F4cC1sYXlvdXQtY29udGFpbmVyPlxuIl19","import { AXToastService } from '@acorex/components/toast';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { Component, computed, effect, inject, signal, viewChild } from '@angular/core';\nimport { AXPPopupLayoutComponent } from './popup-layout.component';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport * as i0 from \"@angular/core\";\nexport class AXPPopupLayoutBaseComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n //#region ---------------- Services ----------------\n this.layoutService = inject(AXPLayoutThemeService);\n this.sessionService = inject(AXPSessionService);\n this.translateService = inject(AXTranslationService);\n this.formatService = inject(AXFormatService);\n this.toastService = inject(AXToastService);\n this.homePageService = inject(AXPHomePageService);\n //#endregion\n //#region ---------------- Signal to force recomputation ----------------\n this._updateTrigger = signal(0, ...(ngDevMode ? [{ debugName: \"_updateTrigger\" }] : []));\n this.updateTrigger = this._updateTrigger.asReadonly();\n //#endregion\n //#region ---------------- Title ----------------\n this.title = signal('', ...(ngDevMode ? [{ debugName: \"title\" }] : []));\n this.#titleEffect = effect(async () => {\n this.updateTrigger();\n this.title.set(await this.getPopupTitle());\n }, ...(ngDevMode ? [{ debugName: \"#titleEffect\" }] : []));\n this.hasTitle = computed(() => this.title() !== '', ...(ngDevMode ? [{ debugName: \"hasTitle\" }] : []));\n //#endregion\n //#region ---------------- Layout ----------------\n // Placeholder for popup layout reference if needed\n this.layout = viewChild(AXPPopupLayoutComponent, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n //#endregion\n //#region ---------------- Actions ----------------\n this.primaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"primaryMenuItems\" }] : []));\n this.hasPrimaryActions = computed(() => this.primaryMenuItems().length > 0, ...(ngDevMode ? [{ debugName: \"hasPrimaryActions\" }] : []));\n this.#primaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n this.primaryMenuItems.set(await this.getPrimaryMenuItems());\n }, ...(ngDevMode ? [{ debugName: \"#primaryMenuItemsEffect\" }] : []));\n this.secondaryMenuItems = signal([], ...(ngDevMode ? [{ debugName: \"secondaryMenuItems\" }] : []));\n this.hasSecondaryActions = computed(() => this.secondaryMenuItems().length > 0, ...(ngDevMode ? [{ debugName: \"hasSecondaryActions\" }] : []));\n this.#secondaryMenuItemsEffect = effect(async () => {\n this.updateTrigger();\n this.secondaryMenuItems.set(await this.getSecondaryMenuItems());\n }, ...(ngDevMode ? [{ debugName: \"#secondaryMenuItemsEffect\" }] : []));\n this.hasActions = computed(() => this.hasPrimaryActions() || this.hasSecondaryActions(), ...(ngDevMode ? [{ debugName: \"hasActions\" }] : []));\n this.titleActions = signal([], ...(ngDevMode ? [{ debugName: \"titleActions\" }] : []));\n this.hasTitleActions = computed(() => this.titleActions().length > 0, ...(ngDevMode ? [{ debugName: \"hasTitleActions\" }] : []));\n this.#titleActionsEffect = effect(async () => {\n this.updateTrigger();\n this.titleActions.set(await this.getTitleActions());\n }, ...(ngDevMode ? [{ debugName: \"#titleActionsEffect\" }] : []));\n }\n recompute() {\n this._updateTrigger.set(this._updateTrigger() + 1);\n }\n //#endregion\n //#region ---------------- Lifecycle hooks ----------------\n async ngOnInit() {\n super.ngOnInit();\n this.translateService.langChanges$.subscribe(() => {\n this.recompute();\n });\n }\n #titleEffect;\n getPopupTitle() {\n return '';\n }\n #primaryMenuItemsEffect;\n getPrimaryMenuItems() {\n return [];\n }\n #secondaryMenuItemsEffect;\n getSecondaryMenuItems() {\n return [];\n }\n #titleActionsEffect;\n getTitleActions() {\n return [];\n }\n //#endregion\n //#region ---------------- Handle Commands ----------------\n execute(command) { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPopupLayoutBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.1.6\", type: AXPPopupLayoutBaseComponent, isStandalone: true, selector: \"ng-component\", viewQueries: [{ propertyName: \"layout\", first: true, predicate: AXPPopupLayoutComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPPopupLayoutBaseComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n template: '',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbGF5b3V0LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvdmlld3Mvc3JjL2xpYi9sYXlvdXRzL3BvcHVwL3BvcHVwLWxheW91dC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNOUQsTUFBTSxPQUFnQiwyQkFBNEIsU0FBUSxtQkFBbUI7SUFKN0U7O1FBS0ksd0RBQXdEO1FBRXJDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUMsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxpQkFB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QVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBUUQsWUFBWSxDQUdUO0lBRU8sYUFBYTtRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFtQkQsdUJBQXVCLENBR3BCO0lBQ08sbUJBQW1CO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUlELHlCQUF5QixDQUd0QjtJQUNPLHFCQUFxQjtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFNRCxtQkFBbUIsQ0FHaEI7SUFDTyxlQUFlO1FBQ3JCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdELFlBQVk7SUFFWiwrREFBK0Q7SUFFeEQsT0FBTyxDQUFDLE9BQTBCLElBQTBCLENBQUM7OEdBcEdsRCwyQkFBMkI7a0dBQTNCLDJCQUEyQixnSEF5RGhCLHVCQUF1Qix1RkEzRDFDLEVBQUU7OzJGQUVNLDJCQUEyQjtrQkFKaEQsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b2FzdCc7XG5pbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEFjdGlvbk1lbnVJdGVtLCBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBMYXlvdXRUaGVtZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3RoZW1lcy9zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBQb3B1cExheW91dENvbXBvbmVudCB9IGZyb20gJy4vcG9wdXAtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEJhc2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BhZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQUG9wdXBMYXlvdXRCYXNlQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gICAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBTZXJ2aWNlcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dFRoZW1lU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZVBhZ2VTZXJ2aWNlID0gaW5qZWN0KEFYUEhvbWVQYWdlU2VydmljZSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgU2lnbmFsIHRvIGZvcmNlIHJlY29tcHV0YXRpb24gICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcml2YXRlIF91cGRhdGVUcmlnZ2VyID0gc2lnbmFsKDApO1xuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVRyaWdnZXIgPSB0aGlzLl91cGRhdGVUcmlnZ2VyLmFzUmVhZG9ubHkoKTtcblxuICAgIHByb3RlY3RlZCByZWNvbXB1dGUoKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVRyaWdnZXIuc2V0KHRoaXMuX3VwZGF0ZVRyaWdnZXIoKSArIDEpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBMaWZlY3ljbGUgaG9va3MgICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmxhbmdDaGFuZ2VzJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWNvbXB1dGUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIFRpdGxlICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHRpdGxlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gICAgI3RpdGxlRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgICAgIHRoaXMudGl0bGUuc2V0KGF3YWl0IHRoaXMuZ2V0UG9wdXBUaXRsZSgpKTtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBnZXRQb3B1cFRpdGxlKCk6IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRpdGxlKCkgIT09ICcnKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG5cblxuICAgIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgTGF5b3V0ICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gUGxhY2Vob2xkZXIgZm9yIHBvcHVwIGxheW91dCByZWZlcmVuY2UgaWYgbmVlZGVkXG4gICAgcHJvdGVjdGVkIGxheW91dCA9IHZpZXdDaGlsZChBWFBQb3B1cExheW91dENvbXBvbmVudCk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgQWN0aW9ucyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBwcmltYXJ5TWVudUl0ZW1zID0gc2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+KFtdKTtcbiAgICBwdWJsaWMgaGFzUHJpbWFyeUFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByaW1hcnlNZW51SXRlbXMoKS5sZW5ndGggPiAwKTtcbiAgICAjcHJpbWFyeU1lbnVJdGVtc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgICAgICB0aGlzLnByaW1hcnlNZW51SXRlbXMuc2V0KGF3YWl0IHRoaXMuZ2V0UHJpbWFyeU1lbnVJdGVtcygpKTtcbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgZ2V0UHJpbWFyeU1lbnVJdGVtcygpOiBBWFBBY3Rpb25NZW51SXRlbVtdIHwgUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2Vjb25kYXJ5TWVudUl0ZW1zID0gc2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+KFtdKTtcbiAgICBwdWJsaWMgaGFzU2Vjb25kYXJ5QWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2Vjb25kYXJ5TWVudUl0ZW1zKCkubGVuZ3RoID4gMCk7XG4gICAgI3NlY29uZGFyeU1lbnVJdGVtc0VmZmVjdCA9IGVmZmVjdChhc3luYyAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgICAgICB0aGlzLnNlY29uZGFyeU1lbnVJdGVtcy5zZXQoYXdhaXQgdGhpcy5nZXRTZWNvbmRhcnlNZW51SXRlbXMoKSk7XG4gICAgfSk7XG4gICAgcHJvdGVjdGVkIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBBWFBBY3Rpb25NZW51SXRlbVtdIHwgUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaGFzUHJpbWFyeUFjdGlvbnMoKSB8fCB0aGlzLmhhc1NlY29uZGFyeUFjdGlvbnMoKSk7XG5cbiAgICBwdWJsaWMgdGl0bGVBY3Rpb25zID0gc2lnbmFsPEFYUEFjdGlvbk1lbnVJdGVtW10+KFtdKTtcbiAgICBwdWJsaWMgaGFzVGl0bGVBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50aXRsZUFjdGlvbnMoKS5sZW5ndGggPiAwKTtcbiAgICAjdGl0bGVBY3Rpb25zRWZmZWN0ID0gZWZmZWN0KGFzeW5jICgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVUcmlnZ2VyKCk7XG4gICAgICAgIHRoaXMudGl0bGVBY3Rpb25zLnNldChhd2FpdCB0aGlzLmdldFRpdGxlQWN0aW9ucygpKTtcbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgZ2V0VGl0bGVBY3Rpb25zKCk6IEFYUEFjdGlvbk1lbnVJdGVtW10gfCBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIEhhbmRsZSBDb21tYW5kcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBleGVjdXRlKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKTogdm9pZCB8IFByb21pc2U8dm9pZD4geyB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn0gIl19","import { AXPExpressionEvaluatorService, cleanDeep, getSmart } from '@acorex/platform/core';\nimport { AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { computed, effect, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { cloneDeep, isEqual } from 'lodash-es';\nexport const AXPLayoutDetailsViewViewModel = signalStore(withState(() => {\n const state = {\n adapter: null,\n previousContext: {},\n context: {},\n scope: null,\n status: AXPPageStatus.Processing,\n currentPage: null,\n currentTab: null,\n };\n return state;\n}), withComputed((store, layout = inject(AXPLayoutThemeService)) => ({\n icon: computed(() => store.adapter()?.icon ?? null),\n content: computed(() => store.adapter()?.pages[0]?.content ?? []),\n //\n showPages: computed(() => !store.currentPage() && !layout.isLarge()),\n isLarge: computed(() => layout.isLarge()),\n //\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isSaving: computed(() => store.status() == AXPPageStatus.Submitting),\n isDirty: computed(() => !isEqual(store.context(), store.previousContext())),\n isLoaded: computed(() => store.adapter() != null),\n})), withMethods((store, evaluatorService = inject(AXPExpressionEvaluatorService), router = inject(Router), route = inject(ActivatedRoute), layout = inject(AXPLayoutThemeService)) => {\n // Create an effect to handle route changes\n effect(() => {\n if (store.adapter()) {\n route.queryParams.subscribe((params) => {\n const pageId = params['page'];\n const adapter = store.adapter();\n if (adapter) {\n // Find current page from query param or conditionally default to first page\n let currentPage = null;\n if (pageId) {\n const foundPage = adapter.pages.find((p) => p.id === pageId);\n if (foundPage) {\n currentPage = foundPage;\n }\n }\n else {\n // Only auto-select first page if layout is large\n if (layout.isLarge() || adapter.pages.length == 1) {\n currentPage = adapter.pages[0];\n }\n }\n // Set current tab to first tab of the current page (internal state only)\n let currentTab = currentPage?.tabs?.[0] ?? null;\n // Only update if there's a change\n if (store.currentPage()?.id !== currentPage?.id) {\n patchState(store, {\n currentPage,\n currentTab,\n });\n }\n }\n });\n }\n });\n return {\n async load(adapter) {\n patchState(store, { adapter });\n //\n const scope = {\n context: {\n eval: (path) => {\n return getSmart(store.context(), path);\n },\n isDirty: () => store.isDirty(),\n },\n };\n patchState(store, { scope });\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n const loadResult = await adapter.pages[0].load({});\n const context = loadResult.result?.items?.[0] ?? {};\n // Get query params\n const queryParams = router.routerState.snapshot.root.queryParams;\n const pageId = queryParams['page'];\n // Find current page from query param or conditionally default to first page\n let currentPage = null;\n if (pageId) {\n const foundPage = adapter.pages.find((p) => p.id === pageId);\n if (foundPage) {\n currentPage = foundPage;\n }\n }\n else {\n // Only auto-select first page if layout is large\n if (layout.isLarge() || adapter.pages.length == 1) {\n currentPage = adapter.pages[0];\n }\n }\n // Set current tab to first tab of the current page (internal state only)\n let currentTab = currentPage?.tabs?.[0] ?? null;\n patchState(store, {\n previousContext: cloneDeep(context),\n context: cloneDeep(context),\n status: AXPPageStatus.Rendered,\n currentPage,\n currentTab,\n });\n // Update URL if needed (if no page query param was present and layout is large)\n if (!pageId && (layout.isLarge() || adapter.pages.length == 1) && currentPage) {\n router.navigate([], {\n queryParams: {\n page: currentPage.id,\n },\n queryParamsHandling: 'merge',\n });\n }\n },\n updateContext(context) {\n patchState(store, {\n context: cleanDeep(context),\n });\n },\n //Current Page\n async currentPageTitle() {\n const raw = store.currentPage()?.title;\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n async currentPageDescription() {\n const raw = store.currentPage()?.description;\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n async currentPagePrimaryActions() {\n const raw = store.currentPage()?.actions?.filter((a) => a.priority == 'primary') ?? [];\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n async currentPageSecondaryActions() {\n const raw = store.currentPage()?.actions?.filter((a) => a.priority == 'secondary') ?? [];\n const processed = await evaluatorService.evaluate(raw, store.scope());\n return processed;\n },\n currentPageContent() {\n const content = store.currentPage()?.content;\n return content;\n },\n currentPageTabs() {\n return store.currentPage()?.tabs?.filter((tab) => tab.visible !== false);\n },\n setCurrentPage(page) {\n if (page) {\n const firstTab = page.tabs?.[0] ?? null;\n patchState(store, {\n currentPage: page,\n currentTab: firstTab,\n });\n router.navigate([], {\n queryParams: {\n page: page.id,\n },\n queryParamsHandling: 'merge',\n });\n }\n else {\n patchState(store, {\n currentPage: null,\n currentTab: null,\n });\n // Remove page query parameter\n const currentParams = { ...route.snapshot.queryParams };\n delete currentParams['page'];\n router.navigate([], {\n queryParams: currentParams,\n });\n }\n },\n //Current Tab\n setCurrentTab(tab) {\n patchState(store, {\n currentTab: tab,\n });\n },\n getCurrentTabContent() {\n return store.currentTab()?.content ?? [];\n },\n async title() {\n return store.adapter()?.title;\n },\n async description() {\n return store.adapter()?.description;\n },\n async primaryActions() {\n return store.adapter()?.actions?.filter((a) => a.priority == 'primary') ?? [];\n },\n async secondaryActions() {\n return store.adapter()?.actions?.filter((a) => a.priority == 'secondary') ?? [];\n },\n async discard() {\n patchState(store, {\n context: cloneDeep(store.previousContext()),\n });\n },\n async save() {\n //const result = await store.adapter()?.save?.(store.context());\n // if (result?.success) {\n // patchState(store, {\n // previousContext: cloneDeep(store.context()),\n // });\n // }\n },\n };\n}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy12aWV3LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvdmlld3MvZGV0YWlscy12aWV3L2RldGFpbHMtdmlldy52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQiw2QkFBNkIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTy9DLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLFdBQVcsQ0FDdEQsU0FBUyxDQUFDLEdBQUcsRUFBRTtJQUNiLE1BQU0sS0FBSyxHQUFHO1FBQ1osT0FBTyxFQUFFLElBQTBDO1FBQ25ELGVBQWUsRUFBRSxFQUF5QjtRQUMxQyxPQUFPLEVBQUUsRUFBeUI7UUFDbEMsS0FBSyxFQUFFLElBQTBDO1FBQ2pELE1BQU0sRUFBRSxhQUFhLENBQUMsVUFBVTtRQUNoQyxXQUFXLEVBQUUsSUFBdUM7UUFDcEQsVUFBVSxFQUFFLElBQTBDO0tBQ3ZELENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyxF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QUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xGLENBQUM7UUFFRCxLQUFLLENBQUMsT0FBTztZQUNYLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQzVDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxLQUFLLENBQUMsSUFBSTtZQUNSLGdFQUFnRTtZQUNoRSx5QkFBeUI7WUFDekIsd0JBQXdCO1lBQ3hCLG1EQUFtRDtZQUNuRCxRQUFRO1lBQ1IsSUFBSTtRQUNOLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZSwgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNlcnZpY2UsIGNsZWFuRGVlcCwgZ2V0U21hcnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQUGFnZVN0YXR1cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBwYXRjaFN0YXRlLCBzaWduYWxTdG9yZSwgd2l0aENvbXB1dGVkLCB3aXRoTWV0aG9kcywgd2l0aFN0YXRlIH0gZnJvbSAnQG5ncngvc2lnbmFscyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQVhQTGF5b3V0RGV0YWlsc1ZpZXdBZGFwdGVyLFxuICBBWFBMYXlvdXREZXRhaWxzVmlld1BhZ2UsXG4gIEFYUExheW91dERldGFpbHNWaWV3VGFiSXRlbSxcbn0gZnJvbSAnLi9kZXRhaWxzLXZpZXcuYWRhcHRlcic7XG5cbmV4cG9ydCBjb25zdCBBWFBMYXlvdXREZXRhaWxzVmlld1ZpZXdNb2RlbCA9IHNpZ25hbFN0b3JlKFxuICB3aXRoU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgYWRhcHRlcjogbnVsbCBhcyBBWFBMYXlvdXREZXRhaWxzVmlld0FkYXB0ZXIgfCBudWxsLFxuICAgICAgcHJldmlvdXNDb250ZXh0OiB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29udGV4dDoge30gYXMgUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIHNjb3BlOiBudWxsIGFzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZSB8IG51bGwsXG4gICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgIGN1cnJlbnRQYWdlOiBudWxsIGFzIEFYUExheW91dERldGFpbHNWaWV3UGFnZSB8IG51bGwsXG4gICAgICBjdXJyZW50VGFiOiBudWxsIGFzIEFYUExheW91dERldGFpbHNWaWV3VGFiSXRlbSB8IG51bGwsXG4gICAgfTtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH0pLFxuICB3aXRoQ29tcHV0ZWQoKHN0b3JlLCBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKSkgPT4gKHtcbiAgICBpY29uOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hZGFwdGVyKCk/Lmljb24gPz8gbnVsbCksXG4gICAgY29udGVudDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuYWRhcHRlcigpPy5wYWdlc1swXT8uY29udGVudCA/PyBbXSksXG4gICAgLy9cbiAgICBzaG93UGFnZXM6IGNvbXB1dGVkKCgpID0+ICFzdG9yZS5jdXJyZW50UGFnZSgpICYmICFsYXlvdXQuaXNMYXJnZSgpKSxcbiAgICBpc0xhcmdlOiBjb21wdXRlZCgoKSA9PiBsYXlvdXQuaXNMYXJnZSgpKSxcbiAgICAvL1xuICAgIGlzQnVzeTogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT0gQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nKSxcbiAgICBpc1NhdmluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT0gQVhQUGFnZVN0YXR1cy5TdWJtaXR0aW5nKSxcbiAgICBpc0RpcnR5OiBjb21wdXRlZCgoKSA9PiAhaXNFcXVhbChzdG9yZS5jb250ZXh0KCksIHN0b3JlLnByZXZpb3VzQ29udGV4dCgpKSksXG4gICAgaXNMb2FkZWQ6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmFkYXB0ZXIoKSAhPSBudWxsKSxcbiAgfSkpLFxuICB3aXRoTWV0aG9kcyhcbiAgICAoXG4gICAgICBzdG9yZSxcbiAgICAgIGV2YWx1YXRvclNlcnZpY2UgPSBpbmplY3QoQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNlcnZpY2UpLFxuICAgICAgcm91dGVyID0gaW5qZWN0KFJvdXRlciksXG4gICAgICByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSksXG4gICAgICBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKSxcbiAgICApID0+IHtcbiAgICAgIC8vIENyZWF0ZSBhbiBlZmZlY3QgdG8gaGFuZGxlIHJvdXRlIGNoYW5nZXNcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChzdG9yZS5hZGFwdGVyKCkpIHtcbiAgICAgICAgICByb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFnZUlkID0gcGFyYW1zWydwYWdlJ107XG4gICAgICAgICAgICBjb25zdCBhZGFwdGVyID0gc3RvcmUuYWRhcHRlcigpO1xuXG4gICAgICAgICAgICBpZiAoYWRhcHRlcikge1xuICAgICAgICAgICAgICAvLyBGaW5kIGN1cnJlbnQgcGFnZSBmcm9tIHF1ZXJ5IHBhcmFtIG9yIGNvbmRpdGlvbmFsbHkgZGVmYXVsdCB0byBmaXJzdCBwYWdlXG4gICAgICAgICAgICAgIGxldCBjdXJyZW50UGFnZTogQVhQTGF5b3V0RGV0YWlsc1ZpZXdQYWdlIHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgICAgIGlmIChwYWdlSWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZFBhZ2UgPSBhZGFwdGVyLnBhZ2VzLmZpbmQoKHApID0+IHAuaWQgPT09IHBhZ2VJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kUGFnZSkge1xuICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2UgPSBmb3VuZFBhZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIE9ubHkgYXV0by1zZWxlY3QgZmlyc3QgcGFnZSBpZiBsYXlvdXQgaXMgbGFyZ2VcbiAgICAgICAgICAgICAgICBpZiAobGF5b3V0LmlzTGFyZ2UoKSB8fCBhZGFwdGVyLnBhZ2VzLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgICAgICAgICAgICBjdXJyZW50UGFnZSA9IGFkYXB0ZXIucGFnZXNbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gU2V0IGN1cnJlbnQgdGFiIHRvIGZpcnN0IHRhYiBvZiB0aGUgY3VycmVudCBwYWdlIChpbnRlcm5hbCBzdGF0ZSBvbmx5KVxuICAgICAgICAgICAgICBsZXQgY3VycmVudFRhYiA9IGN1cnJlbnRQYWdlPy50YWJzPy5bMF0gPz8gbnVsbDtcblxuICAgICAgICAgICAgICAvLyBPbmx5IHVwZGF0ZSBpZiB0aGVyZSdzIGEgY2hhbmdlXG4gICAgICAgICAgICAgIGlmIChzdG9yZS5jdXJyZW50UGFnZSgpPy5pZCAhPT0gY3VycmVudFBhZ2U/LmlkKSB7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2UsXG4gICAgICAgICAgICAgICAgICBjdXJyZW50VGFiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBhc3luYyBsb2FkKGFkYXB0ZXI6IEFYUExheW91dERldGFpbHNWaWV3QWRhcHRlcikge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgYWRhcHRlciB9KTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGNvbnN0IHNjb3BlOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgPSB7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgIGV2YWw6IChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U21hcnQoc3RvcmUuY29udGV4dCgpLCBwYXRoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXNEaXJ0eTogKCkgPT4gc3RvcmUuaXNEaXJ0eSgpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2NvcGUgfSk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBsb2FkUmVzdWx0ID0gYXdhaXQgYWRhcHRlci5wYWdlc1swXS5sb2FkKHt9KTtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gbG9hZFJlc3VsdC5yZXN1bHQ/Lml0ZW1zPy5bMF0gPz8ge307XG5cbiAgICAgICAgICAvLyBHZXQgcXVlcnkgcGFyYW1zXG4gICAgICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSByb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdC5xdWVyeVBhcmFtcztcbiAgICAgICAgICBjb25zdCBwYWdlSWQgPSBxdWVyeVBhcmFtc1sncGFnZSddO1xuXG4gICAgICAgICAgLy8gRmluZCBjdXJyZW50IHBhZ2UgZnJvbSBxdWVyeSBwYXJhbSBvciBjb25kaXRpb25hbGx5IGRlZmF1bHQgdG8gZmlyc3QgcGFnZVxuICAgICAgICAgIGxldCBjdXJyZW50UGFnZTogQVhQTGF5b3V0RGV0YWlsc1ZpZXdQYWdlIHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgaWYgKHBhZ2VJZCkge1xuICAgICAgICAgICAgY29uc3QgZm91bmRQYWdlID0gYWRhcHRlci5wYWdlcy5maW5kKChwKSA9PiBwLmlkID09PSBwYWdlSWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kUGFnZSkge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZSA9IGZvdW5kUGFnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gT25seSBhdXRvLXNlbGVjdCBmaXJzdCBwYWdlIGlmIGxheW91dCBpcyBsYXJnZVxuICAgICAgICAgICAgaWYgKGxheW91dC5pc0xhcmdlKCkgfHwgYWRhcHRlci5wYWdlcy5sZW5ndGggPT0gMSkge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZSA9IGFkYXB0ZXIucGFnZXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2V0IGN1cnJlbnQgdGFiIHRvIGZpcnN0IHRhYiBvZiB0aGUgY3VycmVudCBwYWdlIChpbnRlcm5hbCBzdGF0ZSBvbmx5KVxuICAgICAgICAgIGxldCBjdXJyZW50VGFiID0gY3VycmVudFBhZ2U/LnRhYnM/LlswXSA/PyBudWxsO1xuXG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgcHJldmlvdXNDb250ZXh0OiBjbG9uZURlZXAoY29udGV4dCksXG4gICAgICAgICAgICBjb250ZXh0OiBjbG9uZURlZXAoY29udGV4dCksXG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUmVuZGVyZWQsXG4gICAgICAgICAgICBjdXJyZW50UGFnZSxcbiAgICAgICAgICAgIGN1cnJlbnRUYWIsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyBVcGRhdGUgVVJMIGlmIG5lZWRlZCAoaWYgbm8gcGFnZSBxdWVyeSBwYXJhbSB3YXMgcHJlc2VudCBhbmQgbGF5b3V0IGlzIGxhcmdlKVxuICAgICAgICAgIGlmICghcGFnZUlkICYmIChsYXlvdXQuaXNMYXJnZSgpIHx8IGFkYXB0ZXIucGFnZXMubGVuZ3RoID09IDEpICYmIGN1cnJlbnRQYWdlKSB7XG4gICAgICAgICAgICByb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBwYWdlOiBjdXJyZW50UGFnZS5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICB1cGRhdGVDb250ZXh0KGNvbnRleHQ6IGFueSkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGNsZWFuRGVlcChjb250ZXh0KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy9DdXJyZW50IFBhZ2VcbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VUaXRsZSgpIHtcbiAgICAgICAgICBjb25zdCByYXcgPSBzdG9yZS5jdXJyZW50UGFnZSgpPy50aXRsZTtcbiAgICAgICAgICBjb25zdCBwcm9jZXNzZWQgPSBhd2FpdCBldmFsdWF0b3JTZXJ2aWNlLmV2YWx1YXRlKHJhdywgc3RvcmUuc2NvcGUoKSBhcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpO1xuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgICBjb25zdCByYXcgPSBzdG9yZS5jdXJyZW50UGFnZSgpPy5kZXNjcmlwdGlvbjtcbiAgICAgICAgICBjb25zdCBwcm9jZXNzZWQgPSBhd2FpdCBldmFsdWF0b3JTZXJ2aWNlLmV2YWx1YXRlKHJhdywgc3RvcmUuc2NvcGUoKSBhcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpO1xuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VQcmltYXJ5QWN0aW9ucygpIHtcbiAgICAgICAgICBjb25zdCByYXcgPSBzdG9yZS5jdXJyZW50UGFnZSgpPy5hY3Rpb25zPy5maWx0ZXIoKGEpID0+IGEucHJpb3JpdHkgPT0gJ3ByaW1hcnknKSA/PyBbXTtcbiAgICAgICAgICBjb25zdCBwcm9jZXNzZWQgPSBhd2FpdCBldmFsdWF0b3JTZXJ2aWNlLmV2YWx1YXRlKHJhdywgc3RvcmUuc2NvcGUoKSBhcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpO1xuICAgICAgICAgIHJldHVybiBwcm9jZXNzZWQ7XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgY3VycmVudFBhZ2VTZWNvbmRhcnlBY3Rpb25zKCkge1xuICAgICAgICAgIGNvbnN0IHJhdyA9IHN0b3JlLmN1cnJlbnRQYWdlKCk/LmFjdGlvbnM/LmZpbHRlcigoYSkgPT4gYS5wcmlvcml0eSA9PSAnc2Vjb25kYXJ5JykgPz8gW107XG4gICAgICAgICAgY29uc3QgcHJvY2Vzc2VkID0gYXdhaXQgZXZhbHVhdG9yU2VydmljZS5ldmFsdWF0ZShyYXcsIHN0b3JlLnNjb3BlKCkgYXMgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlKTtcbiAgICAgICAgICByZXR1cm4gcHJvY2Vzc2VkO1xuICAgICAgICB9LFxuXG4gICAgICAgIGN1cnJlbnRQYWdlQ29udGVudCgpIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gc3RvcmUuY3VycmVudFBhZ2UoKT8uY29udGVudDtcbiAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgfSxcblxuICAgICAgICBjdXJyZW50UGFnZVRhYnMoKSB7XG4gICAgICAgICAgcmV0dXJuIHN0b3JlLmN1cnJlbnRQYWdlKCk/LnRhYnM/LmZpbHRlcigodGFiKSA9PiB0YWIudmlzaWJsZSAhPT0gZmFsc2UpO1xuICAgICAgICB9LFxuXG4gICAgICAgIHNldEN1cnJlbnRQYWdlKHBhZ2U6IEFYUExheW91dERldGFpbHNWaWV3UGFnZSB8IG51bGwpIHtcbiAgICAgICAgICBpZiAocGFnZSkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RUYWIgPSBwYWdlLnRhYnM/LlswXSA/PyBudWxsO1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZTogcGFnZSxcbiAgICAgICAgICAgICAgY3VycmVudFRhYjogZmlyc3RUYWIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UuaWQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50UGFnZTogbnVsbCxcbiAgICAgICAgICAgICAgY3VycmVudFRhYjogbnVsbCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gUmVtb3ZlIHBhZ2UgcXVlcnkgcGFyYW1ldGVyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGFyYW1zID0geyAuLi5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyB9O1xuICAgICAgICAgICAgZGVsZXRlIGN1cnJlbnRQYXJhbXNbJ3BhZ2UnXTtcbiAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgICBxdWVyeVBhcmFtczogY3VycmVudFBhcmFtcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvL0N1cnJlbnQgVGFiXG4gICAgICAgIHNldEN1cnJlbnRUYWIodGFiOiBBWFBMYXlvdXREZXRhaWxzVmlld1RhYkl0ZW0pIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBjdXJyZW50VGFiOiB0YWIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgZ2V0Q3VycmVudFRhYkNvbnRlbnQoKSB7XG4gICAgICAgICAgcmV0dXJuIHN0b3JlLmN1cnJlbnRUYWIoKT8uY29udGVudCA/PyBbXTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyB0aXRsZSgpIHtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuYWRhcHRlcigpPy50aXRsZTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBkZXNjcmlwdGlvbigpIHtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuYWRhcHRlcigpPy5kZXNjcmlwdGlvbjtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBwcmltYXJ5QWN0aW9ucygpIHtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuYWRhcHRlcigpPy5hY3Rpb25zPy5maWx0ZXIoKGEpID0+IGEucHJpb3JpdHkgPT0gJ3ByaW1hcnknKSA/PyBbXTtcbiAgICAgICAgfSxcblxuICAgICAgICBhc3luYyBzZWNvbmRhcnlBY3Rpb25zKCkge1xuICAgICAgICAgIHJldHVybiBzdG9yZS5hZGFwdGVyKCk/LmFjdGlvbnM/LmZpbHRlcigoYSkgPT4gYS5wcmlvcml0eSA9PSAnc2Vjb25kYXJ5JykgPz8gW107XG4gICAgICAgIH0sXG5cbiAgICAgICAgYXN5bmMgZGlzY2FyZCgpIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBjb250ZXh0OiBjbG9uZURlZXAoc3RvcmUucHJldmlvdXNDb250ZXh0KCkpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIGFzeW5jIHNhdmUoKSB7XG4gICAgICAgICAgLy9jb25zdCByZXN1bHQgPSBhd2FpdCBzdG9yZS5hZGFwdGVyKCk/LnNhdmU/LihzdG9yZS5jb250ZXh0KCkpO1xuICAgICAgICAgIC8vIGlmIChyZXN1bHQ/LnN1Y2Nlc3MpIHtcbiAgICAgICAgICAvLyAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAvLyAgICAgcHJldmlvdXNDb250ZXh0OiBjbG9uZURlZXAoc3RvcmUuY29udGV4dCgpKSxcbiAgICAgICAgICAvLyAgIH0pO1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSxcbiAgKSxcbik7XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { Component, ViewEncapsulation, computed, effect, inject, input, signal, } from '@angular/core';\n//\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\n//\nimport { AXResizableDirective } from '@acorex/cdk/resizable';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutStartSideComponent, } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '../../layouts';\nimport { AXPLayoutDetailsViewViewModel } from './details-view.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/dropdown\";\nimport * as i3 from \"@acorex/core/translation\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/tabs\";\nimport * as i6 from \"@acorex/platform/layout/builder\";\nimport * as i7 from \"@angular/common\";\nexport class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.adapter = input.required(...(ngDevMode ? [{ debugName: \"adapter\" }] : []));\n //\n this.vm = inject(AXPLayoutDetailsViewViewModel);\n this.footerPrimaryActions = signal([], ...(ngDevMode ? [{ debugName: \"footerPrimaryActions\" }] : []));\n this.footerSecondaryActions = signal([], ...(ngDevMode ? [{ debugName: \"footerSecondaryActions\" }] : []));\n this.footerActions = computed(() => [...this.footerPrimaryActions(), ...this.footerSecondaryActions()], ...(ngDevMode ? [{ debugName: \"footerActions\" }] : []));\n this.hasVisibleFooterPrimaryActions = computed(() => {\n const primaryFooterActions = this.footerPrimaryActions();\n return primaryFooterActions.some((action) => action.visible != false);\n }, ...(ngDevMode ? [{ debugName: \"hasVisibleFooterPrimaryActions\" }] : []));\n this.hasVisibleFooterSecondaryActions = computed(() => {\n const secondaryFooterActions = this.footerSecondaryActions();\n return secondaryFooterActions.some((action) => action.visible != false);\n }, ...(ngDevMode ? [{ debugName: \"hasVisibleFooterSecondaryActions\" }] : []));\n this.#FooterActionsEffect = effect(async () => {\n this.updateTrigger();\n const footerPrimaryActions = await this.getFooterPrimaryActions();\n const footerSecondaryActions = await this.getFooterSecondaryActions();\n this.footerPrimaryActions.set(footerPrimaryActions);\n this.footerSecondaryActions.set(footerSecondaryActions);\n }, ...(ngDevMode ? [{ debugName: \"#FooterActionsEffect\" }] : []));\n }\n async ngOnInit() {\n await super.ngOnInit();\n //\n await this.vm.load(this.adapter());\n }\n ngOnDestroy() { }\n #FooterActionsEffect;\n handleOnContextChanged(e) {\n this.vm.updateContext(e.data);\n this.recompute();\n }\n handleSelectPage(page) {\n this.vm.setCurrentPage(page);\n }\n async getAllPrimaryActions() {\n if (!this.vm.showPages()) {\n const [primaryActions, pagePrimaryActions] = await Promise.all([\n this.vm.primaryActions(),\n this.vm.currentPagePrimaryActions(),\n ]);\n return [...primaryActions, ...pagePrimaryActions];\n }\n else {\n return [];\n }\n }\n async getPrimaryMenuItems() {\n return (await this.getAllPrimaryActions()).filter((item) => item.zone == 'header');\n }\n async getFooterPrimaryActions() {\n return (await this.getAllPrimaryActions()).filter((item) => item.zone == 'footer');\n }\n async getAllSecondaryActions() {\n if (!this.vm.showPages()) {\n const [secondaryActions, pageSecondaryActions] = await Promise.all([\n this.vm.secondaryActions(),\n this.vm.currentPageSecondaryActions(),\n ]);\n return [...secondaryActions, ...pageSecondaryActions];\n }\n else {\n return [];\n }\n }\n async getSecondaryMenuItems() {\n return (await this.getAllSecondaryActions()).filter((item) => item.zone == 'header');\n }\n async getFooterSecondaryActions() {\n return (await this.getAllSecondaryActions()).filter((item) => item.zone == 'footer');\n }\n async getPageTitle() {\n if (this.vm.showPages()) {\n return (await this.vm.title()) || '';\n }\n else {\n return await this.vm.currentPageTitle();\n }\n }\n async getPageDescription() {\n if (this.vm.showPages()) {\n return (await this.vm.description()) || '';\n }\n else {\n return await this.vm.currentPageDescription();\n }\n }\n async getBackButton() {\n if (!this.vm.showPages() && this.vm.adapter()?.pages?.length > 1) {\n return {\n title: this.vm.adapter()?.title ?? '',\n };\n }\n else {\n return null;\n }\n }\n onBackButtonClick() {\n this.vm.setCurrentPage(null);\n }\n //#region ---- Command Execution ----\n async execute(command) {\n if (!this.vm.adapter()) {\n return;\n }\n // Get all actions\n const [adapterPrimaryActions, adapterSecondaryActions, pagePrimaryActions, pageSecondaryActions] = await Promise.all([\n this.vm.primaryActions(),\n this.vm.secondaryActions(),\n this.vm.currentPagePrimaryActions(),\n this.vm.currentPageSecondaryActions(),\n ]);\n // Combine adapter actions (primary + secondary)\n const adapterActions = [...adapterPrimaryActions, ...adapterSecondaryActions];\n // Combine current page actions (primary + secondary)\n const pageActions = [...pagePrimaryActions, ...pageSecondaryActions];\n // Helper function to check if command exists in actions\n const commandExistsInActions = (actions, commandName) => {\n return actions.some((action) => action.command?.name === commandName);\n };\n // Check if command exists in adapter actions first\n if (commandExistsInActions(adapterActions, command.name)) {\n await this.vm.adapter()?.execute?.(command, this.vm.context());\n }\n // Check if command exists in current page actions\n else if (commandExistsInActions(pageActions, command.name)) {\n await this.vm.currentPage()?.execute?.(command, this.vm.context());\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPLayoutDetailsViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPLayoutDetailsViewComponent, isStandalone: true, selector: \"axp-layout-details-view\", inputs: { adapter: { classPropertyName: \"adapter\", publicName: \"adapter\", isSignal: true, isRequired: true, transformFunction: null } }, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPLayoutDetailsViewComponent,\n },\n AXPLayoutDetailsViewViewModel,\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\\n <axp-layout-start-side [axResizable]=\\\"true\\\">\\n <axp-layout-header>\\n <axp-layout-title>{{ t(vm.adapter()?.title) | async }}</axp-layout-title>\\n <axp-layout-description>{{ t(vm.adapter()?.description) | async }}</axp-layout-description>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs class=\\\"axp-vertical-tabs\\\" [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <ax-tab-item [text]=\\\"item.title\\\" (onClick)=\\\"handleSelectPage(item)\\\" [active]=\\\"vm.currentPage() == item\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n @if (vm.showPages()) {\\n <axp-layout-list class=\\\"ax-w-full\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectPage(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n } @else {\\n <axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleOnContextChanged($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-w-full ax-gap-4\\\">\\n @for (content of vm.currentPageContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"></ng-container>\\n }\\n @if (vm.currentPage()?.tabs?.length) {\\n <div class=\\\"axp-horizontal-tabs\\\">\\n <ax-tabs [location]=\\\"'bottom'\\\" [fitParent]=\\\"false\\\" look=\\\"with-line\\\">\\n @for (tab of vm.currentPageTabs(); track $index) {\\n <ax-tab-item (onClick)=\\\"vm.setCurrentTab(tab)\\\" [text]=\\\"tab.title\\\" [active]=\\\"vm.currentTab() == tab\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ tab.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n <div [class]=\\\"'content'\\\">\\n @for (content of vm.getCurrentTabContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </axp-widgets-container>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if (hasVisibleFooterPrimaryActions() || hasVisibleFooterSecondaryActions()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <!-- secondary footer actions -->\\n @if (hasVisibleFooterSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (action of footerSecondaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [color]=\\\"action.color\\\"\\n [disabled]=\\\"action.disabled\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ action.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (action.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n @if (hasVisibleFooterPrimaryActions()) {\\n @for (action of footerPrimaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"action.disabled\\\"\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"execute(sub.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\"axp-layout-details-view .axp-vertical-tabs{--ax-comp-tabs-default-border-radius: 0}axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-top:1rem;display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}axp-layout-details-view axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-details-view axp-layout-start-side{border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: \n // ACoreX\n AXMenuModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i1.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i1.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXButtonGroupModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i2.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i3.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXFileModule }, { kind: \"ngmodule\", type: AXDateTimeModule }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"component\", type: i5.AXTabsComponent, selector: \"ax-tabs\", inputs: [\"look\", \"location\", \"fitParent\", \"minWidth\", \"content\"], outputs: [\"onActiveTabChanged\"] }, { kind: \"component\", type: i5.AXTabItemComponent, selector: \"ax-tab-item\", inputs: [\"disabled\", \"text\", \"key\", \"headerTemplate\", \"active\"], outputs: [\"disabledChange\", \"onClick\", \"onBlur\", \"onFocus\", \"activeChange\"] }, { kind: \"directive\", type: AXResizableDirective, selector: \"[axResizable]\", inputs: [\"axResizable\", \"minWidth\", \"maxWidth\", \"dblClickAction\", \"width\", \"defaultWidth\"], outputs: [\"axResizableChange\", \"minWidthChange\", \"maxWidthChange\", \"dblClickActionChange\", \"widthChange\", \"defaultWidthChange\", \"onResizingStarted\", \"onResizingEnded\", \"onResizingDblClick\"] }, { kind: \"component\", type: \n //\n AXPThemeLayoutListComponent, selector: \"axp-layout-list\" }, { kind: \"component\", type: AXPThemeLayoutListItemComponent, selector: \"axp-layout-list-item\" }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i6.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i6.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\"], exportAs: [\"widgetRenderer\"] }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"pipe\", type: i7.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i3.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPLayoutDetailsViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-layout-details-view', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXMenuModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n AXSearchBoxModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n AXSearchBoxModule,\n AXTabsModule,\n AXResizableDirective,\n //\n AXPThemeLayoutListComponent,\n AXPThemeLayoutListItemComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPLayoutBuilderModule,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n ], encapsulation: ViewEncapsulation.None, providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPLayoutDetailsViewComponent,\n },\n AXPLayoutDetailsViewViewModel,\n ], template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.adapter()?.pages?.length! > 1 && vm.isLarge()) {\\n <axp-layout-start-side [axResizable]=\\\"true\\\">\\n <axp-layout-header>\\n <axp-layout-title>{{ t(vm.adapter()?.title) | async }}</axp-layout-title>\\n <axp-layout-description>{{ t(vm.adapter()?.description) | async }}</axp-layout-description>\\n </axp-layout-header>\\n <axp-layout-content>\\n <ax-tabs class=\\\"axp-vertical-tabs\\\" [look]=\\\"'with-line-color'\\\" [location]=\\\"'end'\\\" [fitParent]=\\\"true\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <ax-tab-item [text]=\\\"item.title\\\" (onClick)=\\\"handleSelectPage(item)\\\" [active]=\\\"vm.currentPage() == item\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n @if (vm.showPages()) {\\n <axp-layout-list class=\\\"ax-w-full\\\">\\n @for (item of vm.adapter()?.pages; track $index) {\\n <axp-layout-list-item (click)=\\\"handleSelectPage(item)\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"far ${{ item.icon }}\\\" class=\\\"ax-text-gray-500\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <a class=\\\"ax-font-semibold\\\">{{ item.title | translate | async }}</a>\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <ax-icon icon=\\\" far fa-chevron-right\\\" class=\\\"ax-text-gray-400\\\"></ax-icon>\\n </axp-layout-suffix>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list>\\n } @else {\\n <axp-widgets-container [context]=\\\"vm.context()\\\" (onContextChanged)=\\\"handleOnContextChanged($event)\\\">\\n <div class=\\\"ax-flex ax-flex-col ax-w-full ax-gap-4\\\">\\n @for (content of vm.currentPageContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"></ng-container>\\n }\\n @if (vm.currentPage()?.tabs?.length) {\\n <div class=\\\"axp-horizontal-tabs\\\">\\n <ax-tabs [location]=\\\"'bottom'\\\" [fitParent]=\\\"false\\\" look=\\\"with-line\\\">\\n @for (tab of vm.currentPageTabs(); track $index) {\\n <ax-tab-item (onClick)=\\\"vm.setCurrentTab(tab)\\\" [text]=\\\"tab.title\\\" [active]=\\\"vm.currentTab() == tab\\\">\\n <ax-prefix>\\n <ax-icon icon=\\\"far ${{ tab.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-tab-item>\\n }\\n </ax-tabs>\\n <div [class]=\\\"'content'\\\">\\n @for (content of vm.getCurrentTabContent(); track $index) {\\n <ng-container axp-widget-renderer [node]=\\\"content\\\" [mode]=\\\"content.mode ?? 'view'\\\"> </ng-container>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </axp-widgets-container>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if (hasVisibleFooterPrimaryActions() || hasVisibleFooterSecondaryActions()) {\\n <axp-page-footer class=\\\"--animated\\\">\\n <axp-layout-suffix>\\n <!-- secondary footer actions -->\\n @if (hasVisibleFooterSecondaryActions()) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [text]=\\\"t('actions') | async\\\"\\n [look]=\\\"layoutService.isSmall() ? 'blank' : 'solid'\\\"\\n [color]=\\\"'default'\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"fa-solid fa-ellipsis-vertical\\\"></i>\\n </ax-prefix>\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (action of footerSecondaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [color]=\\\"action.color\\\"\\n [disabled]=\\\"action.disabled\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ action.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (action.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n @if (hasVisibleFooterPrimaryActions()) {\\n @for (action of footerPrimaryActions(); track $index) {\\n @if (action.visible != false) {\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n [iconOnly]=\\\"layoutService.isSmall()\\\"\\n [disabled]=\\\"action.disabled\\\"\\n [text]=\\\"(t(action.title) | async)!\\\"\\n [look]=\\\"'solid'\\\"\\n [color]=\\\"action.color\\\"\\n (onClick)=\\\"execute(action.command!)\\\"\\n >\\n <ax-prefix>\\n <i class=\\\"{{ action.icon }}\\\"></i>\\n </ax-prefix>\\n @if (action?.items) {\\n <ax-dropdown-panel #panel>\\n <ax-button-item-list>\\n @for (sub of action?.items; track $index) {\\n @if (sub.visible != false) {\\n <ax-button-item\\n [text]=\\\"(t(sub.title) | async)!\\\"\\n [color]=\\\"sub.color\\\"\\n [disabled]=\\\"sub.disabled\\\"\\n (onClick)=\\\"execute(sub.command!)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ sub.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if (sub.break) {\\n <ax-divider></ax-divider>\\n }\\n }\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n }\\n </ax-button>\\n }\\n }\\n }\\n </axp-layout-suffix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\"axp-layout-details-view .axp-vertical-tabs{--ax-comp-tabs-default-border-radius: 0}axp-layout-details-view .axp-vertical-tabs ax-tab-item{margin-top:0!important;margin-bottom:0!important;padding-top:.75rem!important;padding-bottom:.75rem!important;font-weight:600!important}axp-layout-details-view .axp-horizontal-tabs{display:flex;width:100%;flex-direction:column}axp-layout-details-view .axp-horizontal-tabs .content{margin-top:1rem;display:block;width:100%}axp-layout-details-view axp-layout-section axp-layout-content{display:flex;width:100%;flex-direction:column}axp-layout-details-view axp-layout-section axp-layout-content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-style:dashed;--tw-divide-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-divide-opacity, 1))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{align-items:center;gap:1rem;padding:1rem}@media (min-width: 1024px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1280px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2rem;padding-right:2rem}}@media (min-width: 1536px){axp-layout-details-view axp-layout-section axp-layout-content .--item-container{padding-left:2.5rem;padding-right:2.5rem}}axp-layout-details-view axp-layout-section axp-layout-content .--item-container{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}axp-layout-details-view axp-layout-section axp-layout-content .--item-container axp-layout-description{margin-top:.5rem!important;font-size:.75rem!important;line-height:1rem!important}axp-layout-details-view axp-layout-start-side{border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9saWIvdmlld3MvZGV0YWlscy12aWV3L2RldGFpbHMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC92aWV3cy9zcmMvbGliL3ZpZXdzL2RldGFpbHMtdmlldy9kZXRhaWxzLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBR1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsRUFBRTtBQUNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUs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K0I7eUJBQzNDO3dCQUNELDZCQUE2QjtxQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vL1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkdyb3VwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bi1idXR0b24nO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhNZW51TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21lbnUnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBBWEZpbGVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XG5pbXBvcnQgeyBBWEZvcm1hdE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG4vL1xuaW1wb3J0IHsgQVhSZXNpemFibGVEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L2Nkay9yZXNpemFibGUnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHtcbiAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0TGlzdENvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbUNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGF5b3V0cyc7XG5pbXBvcnQge1xuICBBWFBMYXlvdXREZXRhaWxzVmlld0FjdGlvbixcbiAgQVhQTGF5b3V0RGV0YWlsc1ZpZXdBZGFwdGVyLFxuICBBWFBMYXlvdXREZXRhaWxzVmlld1BhZ2UsXG59IGZyb20gJy4vZGV0YWlscy12aWV3LmFkYXB0ZXInO1xuaW1wb3J0IHsgQVhQTGF5b3V0RGV0YWlsc1ZpZXdWaWV3TW9kZWwgfSBmcm9tICcuL2RldGFpbHMtdmlldy52aWV3bW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbHMtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kZXRhaWxzLXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtZGV0YWlscy12aWV3JyxcbiAgaW1wb3J0czogW1xuICAgIC8vIEFuZ3VsYXJcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy8gQUNvcmVYXG4gICAgQVhNZW51TW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYQnV0dG9uR3JvdXBNb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgQVhCYWRnZU1vZHVsZSxcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWEZvcm1hdE1vZHVsZSxcbiAgICBBWEZpbGVNb2R1bGUsXG4gICAgQVhEYXRlVGltZU1vZHVsZSxcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhSZXNpemFibGVEaXJlY3RpdmUsXG4gICAgLy9cbiAgICBBWFBUaGVtZUxheW91dExpc3RDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbUNvbXBvbmVudCxcbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQUGFnZUxheW91dEJhc2UsXG4gICAgICB1c2VFeGlzdGluZzogQVhQTGF5b3V0RGV0YWlsc1ZpZXdDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFBMYXlvdXREZXRhaWxzVmlld1ZpZXdNb2RlbCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGF5b3V0RGV0YWlsc1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgYWRhcHRlciA9IGlucHV0LnJlcXVpcmVkPEFYUExheW91dERldGFpbHNWaWV3QWRhcHRlcj4oKTtcbiAgLy9cbiAgcHJvdGVjdGVkIHZtID0gaW5qZWN0KEFYUExheW91dERldGFpbHNWaWV3Vmlld01vZGVsKTtcblxuICBwcm90ZWN0ZWQgZm9vdGVyUHJpbWFyeUFjdGlvbnMgPSBzaWduYWw8QVhQQWN0aW9uTWVudUl0ZW1bXT4oW10pO1xuICBwcm90ZWN0ZWQgZm9vdGVyU2Vjb25kYXJ5QWN0aW9ucyA9IHNpZ25hbDxBWFBBY3Rpb25NZW51SXRlbVtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIGZvb3RlckFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiBbLi4udGhpcy5mb290ZXJQcmltYXJ5QWN0aW9ucygpLCAuLi50aGlzLmZvb3RlclNlY29uZGFyeUFjdGlvbnMoKV0pO1xuXG4gIHByb3RlY3RlZCBoYXNWaXNpYmxlRm9vdGVyUHJpbWFyeUFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgcHJpbWFyeUZvb3RlckFjdGlvbnMgPSB0aGlzLmZvb3RlclByaW1hcnlBY3Rpb25zKCk7XG4gICAgcmV0dXJuIHByaW1hcnlGb290ZXJBY3Rpb25zLnNvbWUoKGFjdGlvbikgPT4gYWN0aW9uLnZpc2libGUgIT0gZmFsc2UpO1xuICB9KTtcbiAgcHJvdGVjdGVkIGhhc1Zpc2libGVGb290ZXJTZWNvbmRhcnlBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNlY29uZGFyeUZvb3RlckFjdGlvbnMgPSB0aGlzLmZvb3RlclNlY29uZGFyeUFjdGlvbnMoKTtcbiAgICByZXR1cm4gc2Vjb25kYXJ5Rm9vdGVyQWN0aW9ucy5zb21lKChhY3Rpb24pID0+IGFjdGlvbi52aXNpYmxlICE9IGZhbHNlKTtcbiAgfSk7XG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvL1xuICAgIGF3YWl0IHRoaXMudm0ubG9hZCh0aGlzLmFkYXB0ZXIoKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHt9XG5cbiAgI0Zvb3RlckFjdGlvbnNFZmZlY3QgPSBlZmZlY3QoYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMudXBkYXRlVHJpZ2dlcigpO1xuICAgIGNvbnN0IGZvb3RlclByaW1hcnlBY3Rpb25zID0gYXdhaXQgdGhpcy5nZXRGb290ZXJQcmltYXJ5QWN0aW9ucygpO1xuICAgIGNvbnN0IGZvb3RlclNlY29uZGFyeUFjdGlvbnMgPSBhd2FpdCB0aGlzLmdldEZvb3RlclNlY29uZGFyeUFjdGlvbnMoKTtcbiAgICB0aGlzLmZvb3RlclByaW1hcnlBY3Rpb25zLnNldChmb290ZXJQcmltYXJ5QWN0aW9ucyk7XG4gICAgdGhpcy5mb290ZXJTZWNvbmRhcnlBY3Rpb25zLnNldChmb290ZXJTZWNvbmRhcnlBY3Rpb25zKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9uQ29udGV4dENoYW5nZWQoZTogQVhQTGF5b3V0Q29udGV4dENoYW5nZUV2ZW50KSB7XG4gICAgdGhpcy52bS51cGRhdGVDb250ZXh0KGUuZGF0YSk7XG4gICAgdGhpcy5yZWNvbXB1dGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTZWxlY3RQYWdlKHBhZ2U6IEFYUExheW91dERldGFpbHNWaWV3UGFnZSkge1xuICAgIHRoaXMudm0uc2V0Q3VycmVudFBhZ2UocGFnZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QWxsUHJpbWFyeUFjdGlvbnMoKTogUHJvbWlzZTxBWFBMYXlvdXREZXRhaWxzVmlld0FjdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLnZtLnNob3dQYWdlcygpKSB7XG4gICAgICBjb25zdCBbcHJpbWFyeUFjdGlvbnMsIHBhZ2VQcmltYXJ5QWN0aW9uc10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIHRoaXMudm0ucHJpbWFyeUFjdGlvbnMoKSxcbiAgICAgICAgdGhpcy52bS5jdXJyZW50UGFnZVByaW1hcnlBY3Rpb25zKCksXG4gICAgICBdKTtcbiAgICAgIHJldHVybiBbLi4ucHJpbWFyeUFjdGlvbnMsIC4uLnBhZ2VQcmltYXJ5QWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0UHJpbWFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0QWxsUHJpbWFyeUFjdGlvbnMoKSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnpvbmUgPT0gJ2hlYWRlcicpO1xuICB9XG4gIHByb3RlY3RlZCBhc3luYyBnZXRGb290ZXJQcmltYXJ5QWN0aW9ucygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0QWxsUHJpbWFyeUFjdGlvbnMoKSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnpvbmUgPT0gJ2Zvb3RlcicpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldEFsbFNlY29uZGFyeUFjdGlvbnMoKTogUHJvbWlzZTxBWFBMYXlvdXREZXRhaWxzVmlld0FjdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLnZtLnNob3dQYWdlcygpKSB7XG4gICAgICBjb25zdCBbc2Vjb25kYXJ5QWN0aW9ucywgcGFnZVNlY29uZGFyeUFjdGlvbnNdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICB0aGlzLnZtLnNlY29uZGFyeUFjdGlvbnMoKSxcbiAgICAgICAgdGhpcy52bS5jdXJyZW50UGFnZVNlY29uZGFyeUFjdGlvbnMoKSxcbiAgICAgIF0pO1xuICAgICAgcmV0dXJuIFsuLi5zZWNvbmRhcnlBY3Rpb25zLCAuLi5wYWdlU2Vjb25kYXJ5QWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0U2Vjb25kYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRBbGxTZWNvbmRhcnlBY3Rpb25zKCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS56b25lID09ICdoZWFkZXInKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRGb290ZXJTZWNvbmRhcnlBY3Rpb25zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRBbGxTZWNvbmRhcnlBY3Rpb25zKCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS56b25lID09ICdmb290ZXInKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBnZXRQYWdlVGl0bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAodGhpcy52bS5zaG93UGFnZXMoKSkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLnZtLnRpdGxlKCkpIHx8ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy52bS5jdXJyZW50UGFnZVRpdGxlKCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZURlc2NyaXB0aW9uKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIGlmICh0aGlzLnZtLnNob3dQYWdlcygpKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMudm0uZGVzY3JpcHRpb24oKSkgfHwgJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnZtLmN1cnJlbnRQYWdlRGVzY3JpcHRpb24oKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0QmFja0J1dHRvbigpOiBQcm9taXNlPEFYUEJhY2tCdXR0b24gfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLnZtLnNob3dQYWdlcygpICYmIHRoaXMudm0uYWRhcHRlcigpPy5wYWdlcz8ubGVuZ3RoISA+IDEpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiB0aGlzLnZtLmFkYXB0ZXIoKT8udGl0bGUgPz8gJycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBvbkJhY2tCdXR0b25DbGljaygpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy52bS5zZXRDdXJyZW50UGFnZShudWxsKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tbWFuZCBFeGVjdXRpb24gICAtLS0tXG5cbiAgb3ZlcnJpZGUgYXN5bmMgZXhlY3V0ZShjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy52bS5hZGFwdGVyKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBHZXQgYWxsIGFjdGlvbnNcbiAgICBjb25zdCBbYWRhcHRlclByaW1hcnlBY3Rpb25zLCBhZGFwdGVyU2Vjb25kYXJ5QWN0aW9ucywgcGFnZVByaW1hcnlBY3Rpb25zLCBwYWdlU2Vjb25kYXJ5QWN0aW9uc10gPVxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICB0aGlzLnZtLnByaW1hcnlBY3Rpb25zKCksXG4gICAgICAgIHRoaXMudm0uc2Vjb25kYXJ5QWN0aW9ucygpLFxuICAgICAgICB0aGlzLnZtLmN1cnJlbnRQYWdlUHJpbWFyeUFjdGlvbnMoKSxcbiAgICAgICAgdGhpcy52bS5jdXJyZW50UGFnZVNlY29uZGFyeUFjdGlvbnMoKSxcbiAgICAgIF0pO1xuXG4gICAgLy8gQ29tYmluZSBhZGFwdGVyIGFjdGlvbnMgKHByaW1hcnkgKyBzZWNvbmRhcnkpXG4gICAgY29uc3QgYWRhcHRlckFjdGlvbnMgPSBbLi4uYWRhcHRlclByaW1hcnlBY3Rpb25zLCAuLi5hZGFwdGVyU2Vjb25kYXJ5QWN0aW9uc107XG5cbiAgICAvLyBDb21iaW5lIGN1cnJlbnQgcGFnZSBhY3Rpb25zIChwcmltYXJ5ICsgc2Vjb25kYXJ5KVxuICAgIGNvbnN0IHBhZ2VBY3Rpb25zID0gWy4uLnBhZ2VQcmltYXJ5QWN0aW9ucywgLi4ucGFnZVNlY29uZGFyeUFjdGlvbnNdO1xuXG4gICAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIGNvbW1hbmQgZXhpc3RzIGluIGFjdGlvbnNcbiAgICBjb25zdCBjb21tYW5kRXhpc3RzSW5BY3Rpb25zID0gKGFjdGlvbnM6IGFueVtdLCBjb21tYW5kTmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gYWN0aW9ucy5zb21lKChhY3Rpb24pID0+IGFjdGlvbi5jb21tYW5kPy5uYW1lID09PSBjb21tYW5kTmFtZSk7XG4gICAgfTtcblxuICAgIC8vIENoZWNrIGlmIGNvbW1hbmQgZXhpc3RzIGluIGFkYXB0ZXIgYWN0aW9ucyBmaXJzdFxuICAgIGlmIChjb21tYW5kRXhpc3RzSW5BY3Rpb25zKGFkYXB0ZXJBY3Rpb25zLCBjb21tYW5kLm5hbWUpKSB7XG4gICAgICBhd2FpdCB0aGlzLnZtLmFkYXB0ZXIoKT8uZXhlY3V0ZT8uKGNvbW1hbmQsIHRoaXMudm0uY29udGV4dCgpKTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgaWYgY29tbWFuZCBleGlzdHMgaW4gY3VycmVudCBwYWdlIGFjdGlvbnNcbiAgICBlbHNlIGlmIChjb21tYW5kRXhpc3RzSW5BY3Rpb25zKHBhZ2VBY3Rpb25zLCBjb21tYW5kLm5hbWUpKSB7XG4gICAgICBhd2FpdCB0aGlzLnZtLmN1cnJlbnRQYWdlKCk/LmV4ZWN1dGU/Lihjb21tYW5kLCB0aGlzLnZtLmNvbnRleHQoKSk7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8YXhwLXBhZ2UtbGF5b3V0ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLmFkYXB0ZXIoKT8ucGFnZXM/Lmxlbmd0aCEgPiAxICYmIHZtLmlzTGFyZ2UoKSkge1xuICAgIDxheHAtbGF5b3V0LXN0YXJ0LXNpZGUgW2F4UmVzaXphYmxlXT1cInRydWVcIj5cbiAgICAgIDxheHAtbGF5b3V0LWhlYWRlcj5cbiAgICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+e3sgdCh2bS5hZGFwdGVyKCk/LnRpdGxlKSB8IGFzeW5jIH19PC9heHAtbGF5b3V0LXRpdGxlPlxuICAgICAgICA8YXhwLWxheW91dC1kZXNjcmlwdGlvbj57eyB0KHZtLmFkYXB0ZXIoKT8uZGVzY3JpcHRpb24pIHwgYXN5bmMgfX08L2F4cC1sYXlvdXQtZGVzY3JpcHRpb24+XG4gICAgICA8L2F4cC1sYXlvdXQtaGVhZGVyPlxuICAgICAgPGF4cC1sYXlvdXQtY29udGVudD5cbiAgICAgICAgPGF4LXRhYnMgY2xhc3M9XCJheHAtdmVydGljYWwtdGFic1wiIFtsb29rXT1cIid3aXRoLWxpbmUtY29sb3InXCIgW2xvY2F0aW9uXT1cIidlbmQnXCIgW2ZpdFBhcmVudF09XCJ0cnVlXCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiB2bS5hZGFwdGVyKCk/LnBhZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJpdGVtLnRpdGxlXCIgKG9uQ2xpY2spPVwiaGFuZGxlU2VsZWN0UGFnZShpdGVtKVwiIFthY3RpdmVdPVwidm0uY3VycmVudFBhZ2UoKSA9PSBpdGVtXCI+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhciAke3sgaXRlbS5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgICAgICAgfVxuICAgICAgICA8L2F4LXRhYnM+XG4gICAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICA8L2F4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgfVxuICA8IS0tIENvbnRlbnQgU2VjdGlvbiAtLT5cbiAgPGF4cC1wYWdlLWNvbnRlbnQgY2xhc3M9XCJheC1vdmVyZmxvdy1hdXRvIGF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTRcIj5cbiAgICBAaWYgKHZtLnNob3dQYWdlcygpKSB7XG4gICAgICA8YXhwLWxheW91dC1saXN0IGNsYXNzPVwiYXgtdy1mdWxsXCI+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygdm0uYWRhcHRlcigpPy5wYWdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPGF4cC1sYXlvdXQtbGlzdC1pdGVtIChjbGljayk9XCJoYW5kbGVTZWxlY3RQYWdlKGl0ZW0pXCI+XG4gICAgICAgICAgICA8YXhwLWxheW91dC1wcmVmaXg+XG4gICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYXIgJHt7IGl0ZW0uaWNvbiB9fVwiIGNsYXNzPVwiYXgtdGV4dC1ncmF5LTUwMFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXhwLWxheW91dC1wcmVmaXg+XG4gICAgICAgICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57eyBpdGVtLnRpdGxlIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2E+XG4gICAgICAgICAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICAgICAgICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cIiBmYXIgZmEtY2hldnJvbi1yaWdodFwiIGNsYXNzPVwiYXgtdGV4dC1ncmF5LTQwMFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXhwLWxheW91dC1zdWZmaXg+XG4gICAgICAgICAgPC9heHAtbGF5b3V0LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC9heHAtbGF5b3V0LWxpc3Q+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8YXhwLXdpZGdldHMtY29udGFpbmVyIFtjb250ZXh0XT1cInZtLmNvbnRleHQoKVwiIChvbkNvbnRleHRDaGFuZ2VkKT1cImhhbmRsZU9uQ29udGV4dENoYW5nZWQoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC13LWZ1bGwgYXgtZ2FwLTRcIj5cbiAgICAgICAgICBAZm9yIChjb250ZW50IG9mIHZtLmN1cnJlbnRQYWdlQ29udGVudCgpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJjb250ZW50XCIgW21vZGVdPVwiY29udGVudC5tb2RlID8/ICd2aWV3J1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHZtLmN1cnJlbnRQYWdlKCk/LnRhYnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4cC1ob3Jpem9udGFsLXRhYnNcIj5cbiAgICAgICAgICAgICAgPGF4LXRhYnMgW2xvY2F0aW9uXT1cIidib3R0b20nXCIgW2ZpdFBhcmVudF09XCJmYWxzZVwiIGxvb2s9XCJ3aXRoLWxpbmVcIj5cbiAgICAgICAgICAgICAgICBAZm9yICh0YWIgb2Ygdm0uY3VycmVudFBhZ2VUYWJzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgPGF4LXRhYi1pdGVtIChvbkNsaWNrKT1cInZtLnNldEN1cnJlbnRUYWIodGFiKVwiIFt0ZXh0XT1cInRhYi50aXRsZVwiIFthY3RpdmVdPVwidm0uY3VycmVudFRhYigpID09IHRhYlwiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYXIgJHt7IHRhYi5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2F4LXRhYnM+XG4gICAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cIidjb250ZW50J1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGNvbnRlbnQgb2Ygdm0uZ2V0Q3VycmVudFRhYkNvbnRlbnQoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4cC13aWRnZXQtcmVuZGVyZXIgW25vZGVdPVwiY29udGVudFwiIFttb2RlXT1cImNvbnRlbnQubW9kZSA/PyAndmlldydcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cblxuICA8IS0tIEZvb3RlciBTZWN0aW9uIC0tPlxuICBAaWYgKGhhc1Zpc2libGVGb290ZXJQcmltYXJ5QWN0aW9ucygpIHx8IGhhc1Zpc2libGVGb290ZXJTZWNvbmRhcnlBY3Rpb25zKCkpIHtcbiAgICA8YXhwLXBhZ2UtZm9vdGVyIGNsYXNzPVwiLS1hbmltYXRlZFwiPlxuICAgICAgPGF4cC1sYXlvdXQtc3VmZml4PlxuICAgICAgICA8IS0tIHNlY29uZGFyeSBmb290ZXIgYWN0aW9ucyAtLT5cbiAgICAgICAgQGlmIChoYXNWaXNpYmxlRm9vdGVyU2Vjb25kYXJ5QWN0aW9ucygpKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgW2NsYXNzLmF4LXNtXT1cImxheW91dFNlcnZpY2UuaXNTbWFsbCgpXCJcbiAgICAgICAgICAgIFtpY29uT25seV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICBbdGV4dF09XCJ0KCdhY3Rpb25zJykgfCBhc3luY1wiXG4gICAgICAgICAgICBbbG9va109XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKSA/ICdibGFuaycgOiAnc29saWQnXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCInZGVmYXVsdCdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2k+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCAjcGFuZWw+XG4gICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBmb290ZXJTZWNvbmRhcnlBY3Rpb25zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgQGlmIChhY3Rpb24udmlzaWJsZSAhPSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCIodChhY3Rpb24udGl0bGUpIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImFjdGlvbi5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiZXhlY3V0ZShhY3Rpb24uY29tbWFuZCEpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtbGlnaHQge3sgYWN0aW9uLmljb24gfX1cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaGFzVmlzaWJsZUZvb3RlclByaW1hcnlBY3Rpb25zKCkpIHtcbiAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgZm9vdGVyUHJpbWFyeUFjdGlvbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICBAaWYgKGFjdGlvbi52aXNpYmxlICE9IGZhbHNlKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgICAgICBbY2xhc3MuYXgtc21dPVwibGF5b3V0U2VydmljZS5pc1NtYWxsKClcIlxuICAgICAgICAgICAgICAgIFtpY29uT25seV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgW3RleHRdPVwiKHQoYWN0aW9uLnRpdGxlKSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICAgIFtsb29rXT1cIidzb2xpZCdcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJhY3Rpb24uY29sb3JcIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImV4ZWN1dGUoYWN0aW9uLmNvbW1hbmQhKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBhY3Rpb24uaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICBAaWYgKGFjdGlvbj8uaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbCAjcGFuZWw+XG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHN1YiBvZiBhY3Rpb24/Lml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc3ViLnZpc2libGUgIT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiKHQoc3ViLnRpdGxlKSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzdWIuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzdWIuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImV4ZWN1dGUoc3ViLmNvbW1hbmQhKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IHN1Yi5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHN1Yi5icmVhaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9heHAtbGF5b3V0LXN1ZmZpeD5cbiAgICA8L2F4cC1wYWdlLWZvb3Rlcj5cbiAgfVxuPC9heHAtcGFnZS1sYXlvdXQ+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWxheW91dC12aWV3cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzL3NyYy9hY29yZXgtcGxhdGZvcm0tbGF5b3V0LXZpZXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i7","i1","i2","i3","i4","i5","i6"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAM,iBAAiB,CAAC;AAC/B;;AC4BO,MAAM,sBAAsB,CAAC;AACpC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjE,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1D,QAAQ,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,iBAAiB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrH,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,QAAQ,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,YAAY;AACvD,YAAY,IAAI,CAAC,sBAAsB,EAAE;AACzC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM;AACpC,YAAY,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;AAC9B,YAAY,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE;AACpC,YAAY,IAAI,CAAC,sBAAsB,EAAE;AACzC,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5D;AACA,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,sBAAsB,GAAG;AAC7B,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC;AAClE,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE;AACrE,YAAY,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AACjD;AACA;AACA,IAAI,iBAAiB,CAAC,IAAI,EAAE;AAC5B,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;AAC5D,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACtC;AACA;AACA,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE;AACxC;AACA,IAAI,0BAA0B,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACtC;AACA;AACA,IAAI,mBAAmB,CAAC,CAAC,EAAE;AAC3B,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE;AACtC,QAAQ,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE;AACvC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;AAC1B,QAAQ,OAAO,KAAK;AACpB;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC;AACrC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC7C,YAAY,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;AACnF,YAAY;AACZ;AACA,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACtD,YAAY,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AAClF;AACA,aAAa;AACb,YAAY,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;AAC7C;AACA;AACA,IAAI,qBAAqB,CAAC,KAAK,EAAE;AACjC,QAAQ,KAAK,CAAC,eAAe,EAAE;AAC/B,QAAQ,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE;AACtC;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACxL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,6lQAA6lQ,EAAE,MAAM,EAAE,CAAC,4uVAA4uV,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AACn5mB;AACA,gBAAgB,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,0BAA0B,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AACj2E;AACA,gBAAgB,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qfAAqf,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,8BAA8B,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACh3C;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC;AAChI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;AAChD,wBAAwB,YAAY;AACpC;AACA,wBAAwB,cAAc;AACtC,wBAAwB,iBAAiB;AACzC,wBAAwB,mBAAmB;AAC3C,wBAAwB,sBAAsB;AAC9C,wBAAwB,gBAAgB;AACxC,wBAAwB,cAAc;AACtC,wBAAwB,mBAAmB;AAC3C,wBAAwB,cAAc;AACtC,wBAAwB,uBAAuB;AAC/C;AACA,wBAAwB,sBAAsB;AAC9C,wBAAwB,4BAA4B;AACpD,wBAAwB,8BAA8B;AACtD,wBAAwB,6BAA6B;AACrD,wBAAwB,kBAAkB;AAC1C,wBAAwB;AACxB,qBAAqB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,0BAA0B,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,6lQAA6lQ,EAAE,MAAM,EAAE,CAAC,4uVAA4uV,CAAC,EAAE;AAC1imB,SAAS,CAAC,EAAE,CAAC;;AC3GN,MAAM,0BAA0B,CAAC;AACxC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1D,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC5D,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACpD,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACzD,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC3D;AACA;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChG,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;AAC7D;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/E,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;AAC/C,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACrD,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjE,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9G;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjK,QAAQ,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY;AACrD,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACjE,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvE;AACA;AACA,QAAQ,IAAI,CAAC,kBAAkB,GAAG;AAClC,YAAY;AACZ,gBAAgB,KAAK,EAAE,WAAW;AAClC,gBAAgB,IAAI,EAAE,qCAAqC;AAC3D,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,UAAU;AACpC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,IAAI;AACpE,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChH,QAAQ,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY;AACrD,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/D,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,WAAW,CAAC,CAAC;AAC9E,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpI;AACA;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,sBAAsB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACxG;AACA;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrG,QAAQ,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrL,QAAQ,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,YAAY;AAC1D,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAC1D,YAAY,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5C,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5E,QAAQ,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzG,QAAQ,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3L,QAAQ,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,YAAY;AAC5D,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE;AAC5D,YAAY,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9C,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,QAAQ,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrJ,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvI,QAAQ,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,YAAY;AACtD,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC/D,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACxE,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F,QAAQ,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/H,QAAQ,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,YAAY;AACpD,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3D,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtE;AACA,IAAI,SAAS,GAAG;AAChB,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AAC1D;AACA;AACA;AACA,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM;AAC3D,YAAY,IAAI,CAAC,SAAS,EAAE;AAC5B,SAAS,CAAC;AACV;AACA,IAAI,YAAY;AAChB,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,kBAAkB;AACtB,IAAI,kBAAkB,GAAG;AACzB,QAAQ,OAAO,IAAI;AACnB;AACA,IAAI,kBAAkB;AACtB,IAAI,kBAAkB,GAAG;AACzB,QAAQ,OAAO,EAAE;AACjB;AACA;AACA,IAAI,aAAa,GAAG;AACpB;AACA;AACA;AACA,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE;AACxC;AACA,IAAI,uBAAuB;AAC3B,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,yBAAyB;AAC7B,IAAI,qBAAqB,GAAG;AAC5B,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,mBAAmB;AACvB,IAAI,eAAe,GAAG;AACtB,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,OAAO,IAAI;AACnB;AACA,IAAI,iBAAiB;AACrB;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE;AACrB,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB;AACA,IAAI,iBAAiB,GAAG;AACxB,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACxV;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;AACpI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,IAAI;AACpC,oBAAoB,QAAQ,EAAE,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC7JN,MAAM,kBAAkB,CAAC;AAChC;;ACqBO,MAAM,uBAAuB,CAAC;AACrC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1D,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,QAAQ,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,YAAY;AACvD,YAAY,IAAI,CAAC,sBAAsB,EAAE;AACzC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM;AACpC,YAAY,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;AAC/B,YAAY,IAAI,CAAC,sBAAsB,EAAE;AACzC,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5D;AACA,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,sBAAsB,GAAG;AAC7B,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC;AACnE,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE;AACrE,YAAY,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AACjD;AACA;AACA,IAAI,iBAAiB,CAAC,IAAI,EAAE;AAC5B,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;AAC5D,YAAY,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7C;AACA;AACA,IAAI,0BAA0B,CAAC,IAAI,EAAE;AACrC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7C;AACA;AACA,IAAI,mBAAmB,CAAC,CAAC,EAAE;AAC3B,QAAQ,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE;AACtC,QAAQ,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE;AACvC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;AAC1B,QAAQ,OAAO,KAAK;AACpB;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACzL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,mqBAAmqB,EAAE,MAAM,EAAE,CAAC,u7PAAu7P,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AAC93R;AACA,gBAAgB,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;AACjkC;AACA,gBAAgB,4BAA4B,EAAE,QAAQ,EAAE,qfAAqf,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACxyB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AACjI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;AAChD,wBAAwB,YAAY;AACpC;AACA,wBAAwB,cAAc;AACtC,wBAAwB,iBAAiB;AACzC,wBAAwB,mBAAmB;AAC3C,wBAAwB,sBAAsB;AAC9C,wBAAwB,gBAAgB;AACxC,wBAAwB,cAAc;AACtC,wBAAwB,mBAAmB;AAC3C,wBAAwB,cAAc;AACtC,wBAAwB,uBAAuB;AAC/C;AACA,wBAAwB,4BAA4B;AACpD,wBAAwB,gCAAgC;AACxD,qBAAqB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,mqBAAmqB,EAAE,MAAM,EAAE,CAAC,u7PAAu7P,CAAC,EAAE;AAC/vR,SAAS,CAAC,EAAE,CAAC;;AC1EN,MAAM,2BAA2B,SAAS,mBAAmB,CAAC;AACrE,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1D,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC5D,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACpD,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACzD;AACA;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChG,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;AAC7D;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/E,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY;AAC/C,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AACtD,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjE,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9G;AACA;AACA;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,uBAAuB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzG;AACA;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrG,QAAQ,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/I,QAAQ,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,YAAY;AAC1D,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACvE,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5E,QAAQ,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzG,QAAQ,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrJ,QAAQ,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,YAAY;AAC5D,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC3E,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,QAAQ,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrJ,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvI,QAAQ,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,YAAY;AACtD,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC/D,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACxE;AACA,IAAI,SAAS,GAAG;AAChB,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AAC1D;AACA;AACA;AACA,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,KAAK,CAAC,QAAQ,EAAE;AACxB,QAAQ,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM;AAC3D,YAAY,IAAI,CAAC,SAAS,EAAE;AAC5B,SAAS,CAAC;AACV;AACA,IAAI,YAAY;AAChB,IAAI,aAAa,GAAG;AACpB,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,uBAAuB;AAC3B,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,yBAAyB;AAC7B,IAAI,qBAAqB,GAAG;AAC5B,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,mBAAmB;AACvB,IAAI,eAAe,GAAG;AACtB,QAAQ,OAAO,EAAE;AACjB;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE;AACrB,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACjX;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC;AACrI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,IAAI;AACpC,oBAAoB,QAAQ,EAAE,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC1FD,MAAC,6BAA6B,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM;AACzE,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,eAAe,EAAE,EAAE;AAC3B,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,MAAM,EAAE,aAAa,CAAC,UAAU;AACxC,QAAQ,WAAW,EAAE,IAAI;AACzB,QAAQ,UAAU,EAAE,IAAI;AACxB,KAAK;AACL,IAAI,OAAO,KAAK;AAChB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM;AACrE,IAAI,IAAI,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC;AACvD,IAAI,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;AACrE;AACA,IAAI,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACxE,IAAI,OAAO,EAAE,QAAQ,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AAC7C;AACA,IAAI,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,UAAU,CAAC;AACtE,IAAI,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,UAAU,CAAC;AACxE,IAAI,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;AAC/E,IAAI,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;AACrD,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAAC,6BAA6B,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC,KAAK;AACvL;AACA,IAAI,MAAM,CAAC,MAAM;AACjB,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;AAC7B,YAAY,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK;AACpD,gBAAgB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC7C,gBAAgB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE;AAC/C,gBAAgB,IAAI,OAAO,EAAE;AAC7B;AACA,oBAAoB,IAAI,WAAW,GAAG,IAAI;AAC1C,oBAAoB,IAAI,MAAM,EAAE;AAChC,wBAAwB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;AACpF,wBAAwB,IAAI,SAAS,EAAE;AACvC,4BAA4B,WAAW,GAAG,SAAS;AACnD;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AAC3E,4BAA4B,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1D;AACA;AACA;AACA,oBAAoB,IAAI,UAAU,GAAG,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI;AACnE;AACA,oBAAoB,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,WAAW,EAAE,EAAE,EAAE;AACrE,wBAAwB,UAAU,CAAC,KAAK,EAAE;AAC1C,4BAA4B,WAAW;AACvC,4BAA4B,UAAU;AACtC,yBAAyB,CAAC;AAC1B;AACA;AACA,aAAa,CAAC;AACd;AACA,KAAK,CAAC;AACN,IAAI,OAAO;AACX,QAAQ,MAAM,IAAI,CAAC,OAAO,EAAE;AAC5B,YAAY,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;AAC1C;AACA,YAAY,MAAM,KAAK,GAAG;AAC1B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,CAAC,IAAI,KAAK;AACpC,wBAAwB,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;AAC9D,qBAAqB;AACrB,oBAAoB,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO,EAAE;AAClD,iBAAiB;AACjB,aAAa;AACb,YAAY,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;AACxC;AACA,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,MAAM,EAAE,aAAa,CAAC,UAAU;AAChD,aAAa,CAAC;AACd,YAAY,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,YAAY,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE;AAC/D;AACA,YAAY,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;AAC5E,YAAY,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;AAC9C;AACA,YAAY,IAAI,WAAW,GAAG,IAAI;AAClC,YAAY,IAAI,MAAM,EAAE;AACxB,gBAAgB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;AAC5E,gBAAgB,IAAI,SAAS,EAAE;AAC/B,oBAAoB,WAAW,GAAG,SAAS;AAC3C;AACA;AACA,iBAAiB;AACjB;AACA,gBAAgB,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;AACnE,oBAAoB,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD;AACA;AACA;AACA,YAAY,IAAI,UAAU,GAAG,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI;AAC3D,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC;AACnD,gBAAgB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;AAC3C,gBAAgB,MAAM,EAAE,aAAa,CAAC,QAAQ;AAC9C,gBAAgB,WAAW;AAC3B,gBAAgB,UAAU;AAC1B,aAAa,CAAC;AACd;AACA,YAAY,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,WAAW,EAAE;AAC3F,gBAAgB,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpC,oBAAoB,WAAW,EAAE;AACjC,wBAAwB,IAAI,EAAE,WAAW,CAAC,EAAE;AAC5C,qBAAqB;AACrB,oBAAoB,mBAAmB,EAAE,OAAO;AAChD,iBAAiB,CAAC;AAClB;AACA,SAAS;AACT,QAAQ,aAAa,CAAC,OAAO,EAAE;AAC/B,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;AAC3C,aAAa,CAAC;AACd,SAAS;AACT;AACA,QAAQ,MAAM,gBAAgB,GAAG;AACjC,YAAY,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK;AAClD,YAAY,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACjF,YAAY,OAAO,SAAS;AAC5B,SAAS;AACT,QAAQ,MAAM,sBAAsB,GAAG;AACvC,YAAY,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,WAAW;AACxD,YAAY,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACjF,YAAY,OAAO,SAAS;AAC5B,SAAS;AACT,QAAQ,MAAM,yBAAyB,GAAG;AAC1C,YAAY,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE;AAClG,YAAY,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACjF,YAAY,OAAO,SAAS;AAC5B,SAAS;AACT,QAAQ,MAAM,2BAA2B,GAAG;AAC5C,YAAY,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE;AACpG,YAAY,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACjF,YAAY,OAAO,SAAS;AAC5B,SAAS;AACT,QAAQ,kBAAkB,GAAG;AAC7B,YAAY,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO;AACxD,YAAY,OAAO,OAAO;AAC1B,SAAS;AACT,QAAQ,eAAe,GAAG;AAC1B,YAAY,OAAO,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;AACpF,SAAS;AACT,QAAQ,cAAc,CAAC,IAAI,EAAE;AAC7B,YAAY,IAAI,IAAI,EAAE;AACtB,gBAAgB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI;AACvD,gBAAgB,UAAU,CAAC,KAAK,EAAE;AAClC,oBAAoB,WAAW,EAAE,IAAI;AACrC,oBAAoB,UAAU,EAAE,QAAQ;AACxC,iBAAiB,CAAC;AAClB,gBAAgB,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpC,oBAAoB,WAAW,EAAE;AACjC,wBAAwB,IAAI,EAAE,IAAI,CAAC,EAAE;AACrC,qBAAqB;AACrB,oBAAoB,mBAAmB,EAAE,OAAO;AAChD,iBAAiB,CAAC;AAClB;AACA,iBAAiB;AACjB,gBAAgB,UAAU,CAAC,KAAK,EAAE;AAClC,oBAAoB,WAAW,EAAE,IAAI;AACrC,oBAAoB,UAAU,EAAE,IAAI;AACpC,iBAAiB,CAAC;AAClB;AACA,gBAAgB,MAAM,aAAa,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;AACvE,gBAAgB,OAAO,aAAa,CAAC,MAAM,CAAC;AAC5C,gBAAgB,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpC,oBAAoB,WAAW,EAAE,aAAa;AAC9C,iBAAiB,CAAC;AAClB;AACA,SAAS;AACT;AACA,QAAQ,aAAa,CAAC,GAAG,EAAE;AAC3B,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,UAAU,EAAE,GAAG;AAC/B,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,oBAAoB,GAAG;AAC/B,YAAY,OAAO,KAAK,CAAC,UAAU,EAAE,EAAE,OAAO,IAAI,EAAE;AACpD,SAAS;AACT,QAAQ,MAAM,KAAK,GAAG;AACtB,YAAY,OAAO,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK;AACzC,SAAS;AACT,QAAQ,MAAM,WAAW,GAAG;AAC5B,YAAY,OAAO,KAAK,CAAC,OAAO,EAAE,EAAE,WAAW;AAC/C,SAAS;AACT,QAAQ,MAAM,cAAc,GAAG;AAC/B,YAAY,OAAO,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE;AACzF,SAAS;AACT,QAAQ,MAAM,gBAAgB,GAAG;AACjC,YAAY,OAAO,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE;AAC3F,SAAS;AACT,QAAQ,MAAM,OAAO,GAAG;AACxB,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;AAC3D,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,CAAC,CAAC;;ACtLK,MAAM,6BAA6B,SAAS,0BAA0B,CAAC;AAC9E,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvF;AACA,QAAQ,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,6BAA6B,CAAC;AACvD,QAAQ,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7G,QAAQ,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjH,QAAQ,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvK,QAAQ,IAAI,CAAC,8BAA8B,GAAG,QAAQ,CAAC,MAAM;AAC7D,YAAY,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE;AACpE,YAAY,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;AACjF,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnF,QAAQ,IAAI,CAAC,gCAAgC,GAAG,QAAQ,CAAC,MAAM;AAC/D,YAAY,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,EAAE;AACxE,YAAY,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;AACnF,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kCAAkC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrF,QAAQ,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,YAAY;AACvD,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,YAAY,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE;AAC7E,YAAY,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE;AACjF,YAAY,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAC/D,YAAY,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,sBAAsB,CAAC;AACnE,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzE;AACA,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,MAAM,KAAK,CAAC,QAAQ,EAAE;AAC9B;AACA,QAAQ,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AAC1C;AACA,IAAI,WAAW,GAAG;AAClB,IAAI,oBAAoB;AACxB,IAAI,sBAAsB,CAAC,CAAC,EAAE;AAC9B,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB;AACA,IAAI,gBAAgB,CAAC,IAAI,EAAE;AAC3B,QAAQ,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;AACpC;AACA,IAAI,MAAM,oBAAoB,GAAG;AACjC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE;AAClC,YAAY,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC3E,gBAAgB,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;AACxC,gBAAgB,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAE;AACnD,aAAa,CAAC;AACd,YAAY,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,kBAAkB,CAAC;AAC7D;AACA,aAAa;AACb,YAAY,OAAO,EAAE;AACrB;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;AAC1F;AACA,IAAI,MAAM,uBAAuB,GAAG;AACpC,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;AAC1F;AACA,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE;AAClC,YAAY,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC/E,gBAAgB,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;AAC1C,gBAAgB,IAAI,CAAC,EAAE,CAAC,2BAA2B,EAAE;AACrD,aAAa,CAAC;AACd,YAAY,OAAO,CAAC,GAAG,gBAAgB,EAAE,GAAG,oBAAoB,CAAC;AACjE;AACA,aAAa;AACb,YAAY,OAAO,EAAE;AACrB;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;AAC5F;AACA,IAAI,MAAM,yBAAyB,GAAG;AACtC,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;AAC5F;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE;AACjC,YAAY,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE;AAChD;AACA,aAAa;AACb,YAAY,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;AACnD;AACA;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE;AACjC,YAAY,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE;AACtD;AACA,aAAa;AACb,YAAY,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE;AACzD;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAC1E,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI,EAAE;AACrD,aAAa;AACb;AACA,aAAa;AACb,YAAY,OAAO,IAAI;AACvB;AACA;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;AACpC;AACA;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;AAChC,YAAY;AACZ;AACA;AACA,QAAQ,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC7H,YAAY,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;AACpC,YAAY,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;AACtC,YAAY,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAE;AAC/C,YAAY,IAAI,CAAC,EAAE,CAAC,2BAA2B,EAAE;AACjD,SAAS,CAAC;AACV;AACA,QAAQ,MAAM,cAAc,GAAG,CAAC,GAAG,qBAAqB,EAAE,GAAG,uBAAuB,CAAC;AACrF;AACA,QAAQ,MAAM,WAAW,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,oBAAoB,CAAC;AAC5E;AACA,QAAQ,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK;AACjE,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC;AACjF,SAAS;AACT;AACA,QAAQ,IAAI,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;AAClE,YAAY,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;AAC1E;AACA;AACA,aAAa,IAAI,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;AACpE,YAAY,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;AAC9E;AACA;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACjM,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE;AAC9U,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,6BAA6B;AAC1D,aAAa;AACb,YAAY,6BAA6B;AACzC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,6iNAA6iN,EAAE,MAAM,EAAE,CAAC,kiEAAkiE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AAC9rR;AACA,gBAAgB,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AACxD;AACA,gBAAgB,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEH,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,EAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;AAChuF;AACA,gBAAgB,2BAA2B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,+BAA+B,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qfAAqf,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,0BAA0B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,mDAAmD,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEN,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEG,IAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACzmD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,UAAU,EAAE,CAAC;AACvI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,OAAO,EAAE;AACnE;AACA,wBAAwB,YAAY;AACpC;AACA,wBAAwB,YAAY;AACpC,wBAAwB,cAAc;AACtC,wBAAwB,mBAAmB;AAC3C,wBAAwB,sBAAsB;AAC9C,wBAAwB,gBAAgB;AACxC,wBAAwB,mBAAmB;AAC3C,wBAAwB,iBAAiB;AACzC,wBAAwB,eAAe;AACvC,wBAAwB,mBAAmB;AAC3C,wBAAwB,aAAa;AACrC,wBAAwB,iBAAiB;AACzC,wBAAwB,cAAc;AACtC,wBAAwB,YAAY;AACpC,wBAAwB,gBAAgB;AACxC,wBAAwB,iBAAiB;AACzC,wBAAwB,YAAY;AACpC,wBAAwB,oBAAoB;AAC5C;AACA,wBAAwB,2BAA2B;AACnD,wBAAwB,+BAA+B;AACvD,wBAAwB,sBAAsB;AAC9C,wBAAwB,4BAA4B;AACpD,wBAAwB,sBAAsB;AAC9C,wBAAwB,gCAAgC;AACxD,wBAAwB,6BAA6B;AACrD,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE;AACzE,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,6BAA6B;AACtE,yBAAyB;AACzB,wBAAwB,6BAA6B;AACrD,qBAAqB,EAAE,QAAQ,EAAE,6iNAA6iN,EAAE,MAAM,EAAE,CAAC,kiEAAkiE,CAAC,EAAE;AAC9nR,SAAS,CAAC,EAAE,CAAC;;AC1Nb;AACA;AACA;;;;"}
|