{"version":3,"file":"craftsjs-menu-admin.mjs","sources":["../../../../projects/craftsjs/menu-admin/src/lib/actions/menu.actions.ts","../../../../projects/craftsjs/menu-admin/src/lib/selectors/menu.selector.ts","../../../../projects/craftsjs/menu-admin/src/lib/services/menu.service.ts","../../../../projects/craftsjs/menu-admin/src/lib/menu.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/menu.component.html","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-header/menu-header.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-header/menu-header.component.html","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/components/menu-single/menu-single.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/components/menu-single/menu-single.component.html","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/components/menu-group/menu-group.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/components/menu-group/menu-group.component.html","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/components/shared-print-menu/shared-print-menu.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/components/shared-print-menu/shared-print-menu.component.html","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/menu-items-link.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-items-link/menu-items-link.component.html","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-user/menu-user.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/menu-user/menu-user.component.html","../../../../projects/craftsjs/menu-admin/src/lib/store/menu.store.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/button-mobile/button-mobile.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/button-mobile/button-mobile.component.html","../../../../projects/craftsjs/menu-admin/src/lib/components/collapse-button-mobile/collapse-button-mobile.component.ts","../../../../projects/craftsjs/menu-admin/src/lib/components/collapse-button-mobile/collapse-button-mobile.component.html","../../../../projects/craftsjs/menu-admin/src/lib/menu.module.ts","../../../../projects/craftsjs/menu-admin/src/lib/models/menu-header.model.ts","../../../../projects/craftsjs/menu-admin/src/lib/models/menu-user.model.ts","../../../../projects/craftsjs/menu-admin/src/lib/menu.providers.ts","../../../../projects/craftsjs/menu-admin/src/public-api.ts","../../../../projects/craftsjs/menu-admin/src/craftsjs-menu-admin.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\r\nimport { MenuModel } from '../models/menu.model';\r\n\r\nexport enum MenuActionTypes {\r\n    MenusLoaded = '[Menu] Menus loaded',\r\n    MenuMiniActivated = '[Menu] Menu mini activated',\r\n    MenuOpened = '[Menu] Menu opened'\r\n}\r\n\r\nexport const menusLoaded = createAction(MenuActionTypes.MenusLoaded, props<{ payload: { menus: MenuModel[] } }>());\r\n\r\nexport const menuMiniActivated = createAction(MenuActionTypes.MenuMiniActivated);\r\n\r\nexport const menuOpened = createAction(MenuActionTypes.MenuOpened);\r\n","import { createSelector } from '@ngrx/store';\r\nimport { MenuStoreModel } from '../models/menu.store.model';\r\n\r\n\r\nexport const selectMenuState = state => state.craftsjsmenu.sidebar as MenuStoreModel;\r\n\r\nexport const selectActiveMenuMini = createSelector(\r\n    selectMenuState,\r\n    sidebar => sidebar.activeMenuMini\r\n);\r\n\r\nexport const selectMenuOpen = createSelector(\r\n    selectMenuState,\r\n    sidebar => sidebar.isOpen\r\n);\r\n","import { Injectable } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { selectAllScreen } from '@craftsjs/core';\r\nimport { map, distinctUntilChanged, shareReplay } from 'rxjs/operators';\r\nimport { Observable, combineLatest, BehaviorSubject } from 'rxjs';\r\nimport * as MenuActions from '../actions/menu.actions';\r\nimport { selectActiveMenuMini, selectMenuOpen } from '../selectors/menu.selector';\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class MenuService {\r\n\r\n    activeMenuMini$: Observable<boolean>;\r\n\r\n    activeMobile$: Observable<boolean>;\r\n\r\n    collapseMenu$: Observable<boolean>;\r\n\r\n    open$: Observable<boolean>;\r\n    /** Emits the id of the currently opened menu-group (or null when none) */\r\n    openedGroup$: Observable<string | null>;\r\n\r\n    private _openedGroupSub = new BehaviorSubject<string | null>(null);\r\n\r\n    constructor(private readonly _store: Store<any>) {\r\n    }\r\n\r\n    init() {\r\n        this.open$ = this._store.pipe(\r\n            select(selectMenuOpen)\r\n        );\r\n        this.initMenuMini();\r\n        this.initScreen();\r\n        this.openedGroup$ = this._openedGroupSub.asObservable();\r\n        this.collapseMenu$ = combineLatest([\r\n            this.activeMenuMini$,\r\n            this.activeMobile$\r\n        ]).pipe(\r\n            map(([activeMenuMini, activeMobile]) => (activeMenuMini && !activeMobile)),\r\n            distinctUntilChanged(),\r\n            shareReplay()\r\n        );\r\n    }\r\n\r\n    /** Open a menu-group by id. Pass null to close all groups. */\r\n    openGroup(id: string | null) {\r\n        this._openedGroupSub.next(id);\r\n    }\r\n\r\n    private initMenuMini() {\r\n        this.activeMenuMini$ = this._store.pipe(\r\n            select(selectActiveMenuMini),\r\n            distinctUntilChanged()\r\n        );\r\n    }\r\n\r\n    private initScreen() {\r\n        this.activeMobile$ = combineLatest([\r\n            this._store.pipe(\r\n                select(selectAllScreen),\r\n                map(x => x.xs || x.sm),\r\n                distinctUntilChanged(),\r\n                shareReplay()\r\n            ),\r\n            this.open$\r\n        ]).pipe(\r\n            map(([activeMobile, isOpen]) => {\r\n                isOpen && !activeMobile && this._store.dispatch(MenuActions.menuOpened());\r\n                return activeMobile;\r\n            }),\r\n            distinctUntilChanged(),\r\n            shareReplay()\r\n        );\r\n    }\r\n}\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  HostListener,\r\n  OnDestroy,\r\n  HostBinding,\r\n  ChangeDetectorRef,\r\n  ChangeDetectionStrategy,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PerfectScrollbarDirective } from '@craftsjs/perfect-scrollbar';\r\nimport { Store } from '@ngrx/store';\r\nimport { tap, delay } from 'rxjs/operators';\r\nimport * as MenuActions from './actions/menu.actions';\r\nimport { MenuService } from './services/menu.service';\r\n\r\n@Component({\r\n  selector: 'craftsjs-menu',\r\n  templateUrl: './menu.component.html',\r\n  styleUrls: ['./menu.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  host: {\r\n    class: 'principal-menu d-flex flex-column flex-wrap align-content-start'\r\n  },\r\n  standalone: true,\r\n  imports: [CommonModule, PerfectScrollbarDirective]\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n\r\n  open$: Observable<boolean>;\r\n\r\n  activeMenuMini$: Observable<boolean>;\r\n\r\n  activeMobile = false;\r\n\r\n  subs: Array<Subscription> = [];\r\n\r\n  collapseMenu$: Observable<boolean>;\r\n\r\n  @HostBinding('class.menu-overlay')\r\n  isOpen = false;\r\n\r\n  @HostBinding('class.menu-mini-active')\r\n  collapse = false;\r\n\r\n  constructor(private readonly _store: Store<any>,\r\n              private readonly _menuService: MenuService,\r\n              private readonly _cdr: ChangeDetectorRef) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this._menuService.init();\r\n    this.open$ = this._menuService.open$.pipe(\r\n      tap(x => {\r\n        this.isOpen = x;\r\n        return x;\r\n      })\r\n    );\r\n    this.activeMenuMini$ = this._menuService.collapseMenu$;\r\n    this.collapseMenu$ = this.activeMenuMini$.pipe(\r\n      delay(500)\r\n    );\r\n    this.subs.push(this._menuService.collapseMenu$.subscribe(x => { this.collapse = x; this._cdr.detectChanges(); }));\r\n    this.subs.push(this._menuService.activeMobile$.subscribe(x => { this.activeMobile = x; this._cdr.detectChanges(); }));\r\n  }\r\n\r\n  @HostListener('click')\r\n  closeMenu() {\r\n    if (this.isOpen && this.activeMobile) {\r\n      this._store.dispatch(MenuActions.menuOpened());\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subs.forEach(x => x.unsubscribe());\r\n  }\r\n}\r\n","<div (click)=\"$event.stopPropagation()\"\r\n  [ngClass]=\"{'menu-open': open$ | async, 'menu-mini': activeMenuMini$ | async, 'menu-hover': collapseMenu$ | async }\"\r\n  class=\"menu d-flex flex-column flex-wrap align-content-start\">\r\n  <ng-content select=\"menu-header\"></ng-content>\r\n  <div perfectScrollbar class=\"menu-scroll-container d-flex flex-column flex-wrap align-content-start\">\r\n    <ng-content select=\"menu-user\"></ng-content>\r\n    <ng-content select=\"menu-items-link\"></ng-content>\r\n  </div>\r\n</div>","import { Component, Input, ChangeDetectionStrategy, OnInit } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Store } from '@ngrx/store';\r\nimport * as MenuActions from '../../actions/menu.actions';\r\nimport { MenuHeaderModel } from '../../models/menu-header.model';\r\nimport { Observable } from 'rxjs';\r\nimport { MenuService } from '../../services/menu.service';\r\nimport { AsyncPipe } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'menu-header',\r\n    templateUrl: './menu-header.component.html',\r\n    host: {\r\n        class: 'menu-tools d-flex justify-content-between align-items-center col-12'\r\n    },\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  standalone: true,\r\n  imports: [MatIcon, MatButtonModule, AsyncPipe]\r\n})\r\nexport class MenuHeaderComponent implements OnInit {\r\n\r\n    @Input()\r\n    header: MenuHeaderModel;\r\n\r\n    collapse$: Observable<boolean>;\r\n\r\n    constructor(private readonly _store: Store<any>, private readonly _menuService: MenuService) { }\r\n\r\n    ngOnInit(): void {\r\n        this.collapse$ = this._menuService.collapseMenu$;\r\n    }\r\n\r\n    colapseMenu() {\r\n        this._store.dispatch(MenuActions.menuMiniActivated());\r\n    }\r\n\r\n    closeMenu() {\r\n        this._store.dispatch(MenuActions.menuOpened());\r\n    }\r\n}\r\n","<div class=\"menu-title d-flex align-items-center\">\r\n  @if (header?.logoUrl) {\r\n    <img class=\"menu-tools-logo\" [src]=\"header.logoUrl\">\r\n  }\r\n  @if (header?.companyName) {\r\n    <span [class]=\"!(collapse$ | async)? 'text-dots': 'text-dots menu-mini-hide'\">{{header.companyName}}</span>\r\n  }\r\n</div>\r\n<div [class]=\"!(collapse$ | async)? 'menu-colapse': 'menu-mini-hide'\">\r\n  <button class=\"d-none d-md-block\" mat-icon-button (click)=\"colapseMenu()\">\r\n    <mat-icon class=\"secondary-text\">menu</mat-icon>\r\n  </button>\r\n  <button class=\"d-md-none\" mat-icon-button (click)=\"closeMenu()\">\r\n    <mat-icon class=\"secondary-text\">arrow_back</mat-icon>\r\n  </button>\r\n</div>","import { Component, ChangeDetectionStrategy, Input, OnInit } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MenuModel } from '../../../../models/menu.model';\r\nimport { Observable } from 'rxjs';\r\nimport { MenuService } from '../../../../services/menu.service';\r\nimport { AsyncPipe } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'menu-single',\r\n    templateUrl: './menu-single.component.html',\r\n    styleUrls: ['./menu-single.component.scss'],\r\n    host: {\r\n        class: 'd-flex'\r\n    },\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    standalone: true,\r\n    imports: [MatButton, TranslateModule, AsyncPipe]\r\n})\r\nexport class MenuSingleComponent implements OnInit {\r\n    @Input()\r\n    menu: MenuModel;\r\n\r\n    collapse$: Observable<boolean>;\r\n\r\n    constructor(private readonly _menuService: MenuService) { }\r\n\r\n    ngOnInit(): void {\r\n        this.collapse$ = this._menuService.collapseMenu$;\r\n    }\r\n}\r\n","@if (menu) {\r\n  <button class=\"menu-single\" mat-button>\r\n    <div class=\"d-flex flex-row align-items-center\">\r\n      @if (menu.class) {\r\n        <i class=\"menu-items-button-icon {{menu.class}}\" matSuffix>{{menu.value}}</i>\r\n      }\r\n      @if (!menu.class) {\r\n        <span class=\"menu-children-text text-dots\">{{menu.value}}</span>\r\n      }\r\n      <span [class]=\"!(collapse$ | async)? 'menu-items-title text-dots': 'menu-mini-items-title text-dots'\">\r\n        {{menu.title | translate}}\r\n      </span>\r\n    </div>\r\n  </button>\r\n}\r\n","import { Component, Input, ChangeDetectionStrategy, OnInit } from '@angular/core';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { Router, IsActiveMatchOptions, UrlTree } from '@angular/router';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\nimport { MenuModel } from '../../../../models/menu.model';\r\nimport { MenuService } from '../../../../services/menu.service';\r\nimport { AsyncPipe } from '@angular/common';\r\n\r\n@Component({\r\n  selector: 'menu-group',\r\n  templateUrl: './menu-group.component.html',\r\n  styleUrls: ['./menu-group.component.scss'],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  standalone: true,\r\n  imports: [MatButton, MatIcon, TranslateModule, AsyncPipe],\r\n  animations: [\r\n    trigger('collapseExpand', [\r\n      state('open', style({ height: '*', visibility: 'visible' })),\r\n      state('closed', style({ height: '0px', visibility: 'hidden' })),\r\n      transition('closed => open', [\r\n        animate('220ms ease-out')\r\n      ]),\r\n      transition('open => closed', [\r\n        animate('180ms ease-in')\r\n      ])\r\n    ]),\r\n    trigger('chevronRotate', [\r\n      state('open', style({ transform: 'rotate(180deg)' })),\r\n      state('closed', style({ transform: 'rotate(0deg)' })),\r\n      transition('closed => open', animate('220ms ease-out')),\r\n      transition('open => closed', animate('180ms ease-in'))\r\n    ])\r\n  ]\r\n})\r\nexport class MenuGroupComponent implements OnInit {\r\n\r\n  isOpenSub = new BehaviorSubject<boolean>(false);\r\n\r\n  isOpen$ = this.isOpenSub.asObservable();\r\n\r\n  menuGroup: MenuModel;\r\n\r\n  collapse$: Observable<boolean>;\r\n  private _subs: Subscription[] = [];\r\n  // Flag to open on init if current route is inside this group\r\n  private _shouldOpenByRoute = false;\r\n\r\n  // Performance hint: toggle content-visibility only after closing finishes\r\n  useContentVisibility = false;\r\n\r\n  /** Recursively checks if any descendant menu has an active route */\r\n  private _hasActiveDescendant(menu: MenuModel | undefined): boolean {\r\n    if (!menu || !menu.children || menu.children.length === 0) { return false; }\r\n    for (const child of menu.children) {\r\n      // If child has a concrete url, check it\r\n      if (child.url) {\r\n        const urlTree: UrlTree = child.url.startsWith('/')\r\n          ? this._router.parseUrl(child.url)\r\n          : this._router.createUrlTree([child.url]);\r\n        const matchOptions: IsActiveMatchOptions = {\r\n          paths: child.exact ? 'exact' : 'subset',\r\n          queryParams: 'subset',\r\n          fragment: 'ignored',\r\n          matrixParams: 'ignored'\r\n        };\r\n        if (this._router.isActive(urlTree, matchOptions)) {\r\n          return true;\r\n        }\r\n      }\r\n      // Recurse into deeper groups\r\n      if (this._hasActiveDescendant(child)) { return true; }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  @Input()\r\n  set menu(menu: MenuModel) {\r\n    this.menuGroup = menu;\r\n    const hasActive = this._hasActiveDescendant(this.menuGroup);\r\n    if (hasActive) {\r\n      this.isOpenSub.next(true);\r\n          this._shouldOpenByRoute = true;\r\n        }\r\n  }\r\n\r\n  constructor(private _router: Router, private readonly _menuService: MenuService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.collapse$ = this._menuService.collapseMenu$;\r\n\r\n    // Close this group when another group opens\r\n    this._subs.push(this._menuService.openedGroup$.subscribe(openedId => {\r\n      if (!this.menuGroup) { return; }\r\n      if (openedId === null) { // close all\r\n        this.isOpenSub.next(false);\r\n      } else if (openedId === this.menuGroup.id) { // open this group\r\n        this.isOpenSub.next(true);\r\n      } else { // another group opened\r\n        this.isOpenSub.next(false);\r\n      }\r\n    }));\r\n\r\n    // If route is active inside this group on reload, ensure it's opened in the shared service\r\n    if (this._shouldOpenByRoute && this.menuGroup?.id) {\r\n      this._menuService.openGroup(this.menuGroup.id);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this._subs.forEach(s => s.unsubscribe());\r\n  }\r\n\r\n  openAndClose() {\r\n    const newState = !this.isOpenSub.getValue();\r\n    this.isOpenSub.next(newState);\r\n    // notify service so other groups can close\r\n    this._menuService.openGroup(newState ? this.menuGroup?.id : null);\r\n  }\r\n\r\n  onCollapseStart(event: any) {\r\n    if (event.toState === 'open') {\r\n      // Ensure content is rendered during expand\r\n      this.useContentVisibility = false;\r\n    }\r\n  }\r\n\r\n  onCollapseDone(event: any) {\r\n    if (event.toState === 'closed') {\r\n      // After collapsing, allow browser to skip rendering subtree\r\n      this.useContentVisibility = true;\r\n    }\r\n  }\r\n}\r\n","@if (menuGroup.multiOption) {\r\n  <button class=\"menu-children-multioption menu-group\" mat-button (click)=\"openAndClose()\">\r\n    <div class=\"d-flex flex-row justify-content-between align-items-center\">\r\n      <div class=\"d-flex align-items-center\">\r\n        @if (menuGroup.class) {\r\n          <i class=\"menu-items-button-icon {{menuGroup.class}}\" matSuffix>{{menuGroup.value}}</i>\r\n        }\r\n        @if (!menuGroup.class) {\r\n          <span class=\"menu-children-text text-dots\">{{menuGroup.value}}</span>\r\n        }\r\n        <span [class]=\"!(collapse$ | async)? 'menu-items-title text-dots': 'menu-mini-items-title text-dots'\">\r\n          {{menuGroup.title | translate}}\r\n        </span>\r\n      </div>\r\n      <div [class]=\"!(collapse$ | async)? 'd-flex': 'd-flex menu-mini-hide'\">\r\n        <mat-icon matSuffix class=\"menu-group-chevron\" [@chevronRotate]=\"(isOpen$ | async) ? 'open' : 'closed'\">\r\n          arrow_drop_down\r\n        </mat-icon>\r\n      </div>\r\n    </div>\r\n  </button>\r\n}\r\n<div class=\"menu-group-content\" [class.cv]=\"useContentVisibility\"\r\n  [@collapseExpand]=\"(isOpen$ | async) ? 'open' : 'closed'\" (@collapseExpand.start)=\"onCollapseStart($event)\"\r\n  (@collapseExpand.done)=\"onCollapseDone($event)\">\r\n  <ng-content></ng-content>\r\n  </div>","import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MenuSingleComponent } from '../menu-single/menu-single.component';\r\nimport { MenuGroupComponent } from '../menu-group/menu-group.component';\r\nimport { Store } from '@ngrx/store';\r\nimport { ResponsiveService } from '@craftsjs/core';\r\nimport { MenuModel } from '../../../../models/menu.model';\r\nimport * as MenuActions from '../../../../actions/menu.actions';\r\nimport { MenuService } from '../../../../services/menu.service';\r\nimport { Observable } from 'rxjs';\r\nimport { AsyncPipe, NgClass } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'shared-print-menu',\r\n    templateUrl: './shared-print-menu.component.html',\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    styleUrls: ['./shared-print-menu.component.scss'],\r\n    encapsulation: ViewEncapsulation.None,\r\n    host: {\r\n        class: 'menu-items'\r\n  },\r\n  standalone: true,\r\n  imports: [RouterModule, MenuSingleComponent, MenuGroupComponent, NgClass, AsyncPipe],\r\n  providers: [ResponsiveService]\r\n})\r\nexport class SharedPrintMenuComponent implements OnInit {\r\n    @Input()\r\n    menus: MenuModel[];\r\n\r\n    @Input()\r\n    isDetail: boolean;\r\n\r\n    collapse$: Observable<boolean>;\r\n\r\n    constructor(private readonly _store: Store<any>,\r\n                private readonly responsiveService: ResponsiveService,\r\n                private readonly _menuService: MenuService) { }\r\n\r\n\r\n    ngOnInit(): void {\r\n        this.collapse$ = this._menuService.collapseMenu$;\r\n    }\r\n\r\n    openCloseMenu() {\r\n        const isMobile = this.responsiveService.isMobileSubject.getValue();\r\n        isMobile && this._store.dispatch(MenuActions.menuOpened());\r\n    }\r\n}\r\n","<ul [ngClass]=\"{'shared-print-detail': isDetail && !(collapse$ | async)}\">\r\n  @for (menu of menus; track menu) {\r\n    <li [ngClass]=\"{'shared-print-detail-li': isDetail && !(collapse$ | async)}\">\r\n      <a #menuElement=\"routerLinkActive\" [routerLinkActive]=\"!menu.multiOption? 'menu-items-button-active': ''\"\r\n        [routerLinkActiveOptions]=\"{exact: menu.exact}\" [routerLink]=\"menu.url\">\r\n        @if (!menu.multiOption) {\r\n          <menu-single [menu]=\"menu\" (click)=\"openCloseMenu()\">\r\n          </menu-single>\r\n        }\r\n      </a>\r\n      @if (menu.multiOption) {\r\n        <menu-group #menuGroup [menu]=\"menu\">\r\n          <shared-print-menu class=\"menu-children\" [menus]=\"menu.children\" [isDetail]=\"true\"></shared-print-menu>\r\n        </menu-group>\r\n      }\r\n    </li>\r\n  }\r\n</ul>\r\n","import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { SharedPrintMenuComponent } from './components/shared-print-menu/shared-print-menu.component';\r\nimport { MenuModel } from '../../models/menu.model';\r\n\r\n@Component({\r\n    selector: 'menu-items-link',\r\n    templateUrl: './menu-items-link.component.html',\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    host: {\r\n        class: 'menu-children-items'\r\n    },\r\n    standalone: true,\r\n    imports: [SharedPrintMenuComponent]\r\n})\r\nexport class MenuItemsLinkComponent {\r\n    @Input()\r\n    menus: MenuModel[];\r\n}\r\n","<shared-print-menu [menus]=\"menus\"></shared-print-menu>","import { Component, Input, ChangeDetectionStrategy, OnInit } from '@angular/core';\r\nimport { MatTooltip } from '@angular/material/tooltip';\r\nimport { MenuUserModel } from '../../models/menu-user.model';\r\nimport { MenuService } from '../../services/menu.service';\r\nimport { Observable } from 'rxjs';\r\nimport { AsyncPipe } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 'menu-user',\r\n    templateUrl: './menu-user.component.html',\r\n    styleUrls: ['./menu-user.component.scss'],\r\n    host: {\r\n        class: 'menu-user d-flex flex-column align-items-center'\r\n    },\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    standalone: true,\r\n    imports: [MatTooltip, AsyncPipe]\r\n})\r\nexport class MenuUserComponent implements OnInit {\r\n\r\n    @Input()\r\n    user: MenuUserModel;\r\n\r\n    collapse$: Observable<boolean>;\r\n\r\n    constructor(private readonly _menuService: MenuService) {\r\n\r\n    }\r\n\r\n    ngOnInit(): void {\r\n        this.collapse$ = this._menuService.collapseMenu$;\r\n    }\r\n\r\n}\r\n","@if (user?.initialName && (collapse$ | async)) {\r\n  <h3 class=\"menu-mini-user-initials\">\r\n    {{user.initialName}}\r\n  </h3>\r\n}\r\n@if (user?.fullName) {\r\n  <h3 [class]=\"!(collapse$ | async)? 'menu-user-title' : 'menu-mini-hide'\">\r\n    <span [matTooltip]=\"user.fullName\" class=\"user-text-dots\" matTooltipPosition=\"above\">{{user.fullName}}</span>\r\n  </h3>\r\n}\r\n@if (user?.email) {\r\n  <h5 [class]=\"!(collapse$ | async)? 'menu-user-subtitle' : 'menu-mini-hide'\">\r\n    <span [matTooltip]=\"user.email\" class=\"user-text-dots\" matTooltipPosition=\"above\">{{user.email}}</span>\r\n  </h5>\r\n}\r\n@if (user?.avatarUrl) {\r\n  <div class=\"menu-user-avatar\">\r\n    <img [class]=\"!(collapse$ | async)? 'user-avatar menu-user-avatar-img': 'user-avatar menu-mini-user-avatar'\" [src]=\"user.avatarUrl\">\r\n  </div>\r\n}","import { Store, Action } from '@craftsjs/ngrx-action';\r\nimport { MenuStoreModel } from '../models/menu.store.model';\r\nimport * as MenuActions from '../actions/menu.actions';\r\n\r\n\r\n@Store<MenuStoreModel>({\r\n    activeMenuMini: false,\r\n    isOpen: false\r\n})\r\nexport class MenuStore {\r\n\r\n    @Action(MenuActions.menusLoaded)\r\n    menusLoaded(state: MenuStoreModel, { payload: { menus } }) {\r\n        return { ...state, loading: false, menus };\r\n    }\r\n\r\n    @Action(MenuActions.menuMiniActivated)\r\n    menuMiniActivated(state: MenuStoreModel) {\r\n        return { ...state, activeMenuMini: !state.activeMenuMini };\r\n    }\r\n\r\n    @Action(MenuActions.menuOpened)\r\n    menuOpened(state: MenuStoreModel) {\r\n        return { ...state, isOpen: !state.isOpen };\r\n    }\r\n\r\n}\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { Store } from '@ngrx/store';\r\nimport * as MenuActions from '../../actions/menu.actions';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@Component({\r\n    selector: 'button-mobile',\r\n    templateUrl: './button-mobile.component.html',\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n  standalone: true,\r\n  imports: [MatButtonModule, MatIcon],\r\n    host: {\r\n        class: 'd-flex d-md-none justify-content-center'\r\n    }\r\n})\r\nexport class ButtonMobileComponent {\r\n\r\n    constructor(private readonly _store: Store<any>) { }\r\n\r\n    openMenu() {\r\n        this._store.dispatch(MenuActions.menuOpened());\r\n    }\r\n}\r\n","<button type=\"button\" mat-icon-button (click)=\"openMenu()\">\r\n    <mat-icon class=\"secondary-text\">menu</mat-icon>\r\n</button>","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { menuOpened } from '../../actions/menu.actions';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n@Component({\r\n    selector: 'craftsjs-collapse-button-mobile',\r\n    templateUrl: './collapse-button-mobile.component.html',\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    standalone: true,\r\n    host: {\r\n        class: 'd-flex d-md-none justify-content-center'\r\n    },\r\n    imports: [MatIcon]\r\n})\r\nexport class CollapseButtonMobileComponent {\r\n\r\n    constructor(private readonly _store: Store<any>) { }\r\n\r\n    openMenu() {\r\n        this._store.dispatch(menuOpened());\r\n    }\r\n}\r\n","<button type=\"button\" mat-icon-button (click)=\"openMenu()\">\r\n    <mat-icon class=\"secondary-text\">menu</mat-icon>\r\n</button>","import { NgModule } from '@angular/core';\r\nimport { ReduxRegisterFeatureModule, ReduxRegisterModule } from '@craftsjs/ngrx-action';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { PerfectScrollbarDirective } from '@craftsjs/perfect-scrollbar';\r\nimport { MenuComponent } from './menu.component';\r\nimport { MenuHeaderComponent } from './components/menu-header/menu-header.component';\r\nimport { MenuItemsLinkComponent } from './components/menu-items-link/menu-items-link.component';\r\nimport { MenuGroupComponent } from './components/menu-items-link/components/menu-group/menu-group.component';\r\nimport { MenuSingleComponent } from './components/menu-items-link/components/menu-single/menu-single.component';\r\nimport { MenuUserComponent } from './components/menu-user/menu-user.component';\r\nimport { MenuStore } from './store/menu.store';\r\nimport { SharedPrintMenuComponent } from './components/menu-items-link/components/shared-print-menu/shared-print-menu.component';\r\nimport { ButtonMobileComponent } from './components/button-mobile/button-mobile.component';\r\nimport { CollapseButtonMobileComponent } from './components/collapse-button-mobile/collapse-button-mobile.component';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    TranslateModule,\r\n    MatButtonModule,\r\n    MatIconModule,\r\n    MatTooltipModule,\r\n    CollapseButtonMobileComponent,\r\n    RouterModule,\r\n    PerfectScrollbarDirective,\r\n    ReduxRegisterFeatureModule,\r\n    // Standalone components imported instead of declared\r\n    MenuComponent,\r\n    ButtonMobileComponent,\r\n    MenuHeaderComponent,\r\n    MenuItemsLinkComponent,\r\n    MenuGroupComponent,\r\n    MenuSingleComponent,\r\n    MenuUserComponent,\r\n    SharedPrintMenuComponent,\r\n    ReduxRegisterModule.forFeature('craftsjsmenu', { sidebar: MenuStore }),\r\n  ],\r\n  declarations: [],\r\n  exports: [\r\n    MenuComponent,\r\n    MenuUserComponent,\r\n    MenuItemsLinkComponent,\r\n    MenuHeaderComponent,\r\n    ButtonMobileComponent\r\n  ]\r\n})\r\nexport class MenuModule { }\r\n","\r\nexport class MenuHeaderModel {\r\n    companyName: string;\r\n    logoUrl: string;\r\n}\r\n","export class MenuUserModel {\r\n    fullName: string;\r\n    avatarUrl: string;\r\n    initialName: string;\r\n    email: string;\r\n}\r\n","import { EnvironmentProviders } from '@angular/core';\r\nimport { provideReduxRegisterFeature } from '@craftsjs/ngrx-action';\r\nimport { MenuStore } from './store/menu.store';\r\n\r\n/**\r\n * Standalone provider to register the CraftsJS Menu feature store.\r\n * Feature key: 'craftsjsmenu', slice: { sidebar: MenuStore }\r\n */\r\nexport function provideCraftsjsMenu(): EnvironmentProviders {\r\n  return provideReduxRegisterFeature('craftsjsmenu', { sidebar: MenuStore });\r\n}\r\n","/*\r\n * Public API Surface of menu\r\n */\r\n\r\nexport * from './lib/menu.module';\r\nexport * from './lib/menu.component';\r\nexport * from './lib/actions/menu.actions';\r\nexport * from './lib/components/button-mobile/button-mobile.component';\r\nexport * from './lib/components/menu-header/menu-header.component';\r\nexport * from './lib/components/menu-items-link/menu-items-link.component';\r\nexport * from './lib/components/menu-items-link/components/menu-group/menu-group.component';\r\nexport * from './lib/components/menu-items-link/components/menu-single/menu-single.component';\r\nexport * from './lib/components/menu-items-link/components/shared-print-menu/shared-print-menu.component';\r\nexport * from './lib/components/menu-user/menu-user.component';\r\nexport * from './lib/models/menu-header.model';\r\nexport * from './lib/models/menu-user.model';\r\nexport * from './lib/models/menu.model';\r\nexport * from './lib/models/menu.store.model';\r\nexport * from './lib/selectors/menu.selector';\r\nexport * from './lib/services/menu.service';\r\nexport * from './lib/store/menu.store';\r\nexport * from './lib/menu.providers';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MenuActions.menuOpened","i2.MenuService","MenuActions.menuMiniActivated","i1.MenuService","i1","i3","i2","i3.MenuService","MenuActions.menusLoaded"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAGY;AAAZ,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,qBAAmC;AACnC,IAAA,eAAA,CAAA,mBAAA,CAAA,GAAA,4BAAgD;AAChD,IAAA,eAAA,CAAA,YAAA,CAAA,GAAA,oBAAiC;AACrC,CAAC,EAJW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;AAMpB,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,EAAuC;AAE1G,MAAM,iBAAiB,GAAG,YAAY,CAAC,eAAe,CAAC,iBAAiB;AAExE,MAAM,UAAU,GAAG,YAAY,CAAC,eAAe,CAAC,UAAU;;ACT1D,MAAM,eAAe,GAAG,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC;AAEpD,MAAM,oBAAoB,GAAG,cAAc,CAC9C,eAAe,EACf,OAAO,IAAI,OAAO,CAAC,cAAc;AAG9B,MAAM,cAAc,GAAG,cAAc,CACxC,eAAe,EACf,OAAO,IAAI,OAAO,CAAC,MAAM;;MCFhB,WAAW,CAAA;AAcpB,IAAA,WAAA,CAA6B,MAAkB,EAAA;QAAlB,IAAA,CAAA,MAAM,GAAN,MAAM;AAF3B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAgB,IAAI,CAAC;IAGlE;IAEA,IAAI,GAAA;AACA,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACzB,MAAM,CAAC,cAAc,CAAC,CACzB;QACD,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;AACvD,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AAC/B,YAAA,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC;AACR,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,MAAM,cAAc,IAAI,CAAC,YAAY,CAAC,CAAC,EAC1E,oBAAoB,EAAE,EACtB,WAAW,EAAE,CAChB;IACL;;AAGA,IAAA,SAAS,CAAC,EAAiB,EAAA;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;IACjC;IAEQ,YAAY,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,MAAM,CAAC,oBAAoB,CAAC,EAC5B,oBAAoB,EAAE,CACzB;IACL;IAEQ,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AAC/B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,MAAM,CAAC,eAAe,CAAC,EACvB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EACtB,oBAAoB,EAAE,EACtB,WAAW,EAAE,CAChB;AACD,YAAA,IAAI,CAAC;AACR,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,KAAI;AAC3B,YAAA,MAAM,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACA,UAAsB,EAAE,CAAC;AACzE,YAAA,OAAO,YAAY;QACvB,CAAC,CAAC,EACF,oBAAoB,EAAE,EACtB,WAAW,EAAE,CAChB;IACL;+GA/DS,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFR,MAAM,EAAA,CAAA,CAAA;;4FAET,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCoBY,aAAa,CAAA;AAkBxB,IAAA,WAAA,CAA6B,MAAkB,EAClB,YAAyB,EACzB,IAAuB,EAAA;QAFvB,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,IAAI,GAAJ,IAAI;QAdjC,IAAA,CAAA,YAAY,GAAG,KAAK;QAEpB,IAAA,CAAA,IAAI,GAAwB,EAAE;QAK9B,IAAA,CAAA,MAAM,GAAG,KAAK;QAGd,IAAA,CAAA,QAAQ,GAAG,KAAK;IAKhB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CACvC,GAAG,CAAC,CAAC,IAAG;AACN,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC;AACf,YAAA,OAAO,CAAC;QACV,CAAC,CAAC,CACH;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa;AACtD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5C,KAAK,CAAC,GAAG,CAAC,CACX;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAG,EAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAG,EAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvH;IAGA,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACA,UAAsB,EAAE,CAAC;QAChD;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC;+GAhDW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,EAAA,cAAA,EAAA,iEAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9B1B,whBAQM,EAAA,MAAA,EAAA,CAAA,yFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDoBM,YAAY,kLAAE,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEtC,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;+BACE,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,yBAAyB,CAAC,EAAA,QAAA,EAAA,whBAAA,EAAA,MAAA,EAAA,CAAA,yFAAA,CAAA,EAAA;iIAelD,MAAM,EAAA,CAAA;sBADL,WAAW;uBAAC,oBAAoB;gBAIjC,QAAQ,EAAA,CAAA;sBADP,WAAW;uBAAC,wBAAwB;gBAyBrC,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,OAAO;;;MEjDV,mBAAmB,CAAA;IAO5B,WAAA,CAA6B,MAAkB,EAAmB,YAAyB,EAAA;QAA9D,IAAA,CAAA,MAAM,GAAN,MAAM;QAA+B,IAAA,CAAA,YAAY,GAAZ,YAAY;IAAiB;IAE/F,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa;IACpD;IAEA,WAAW,GAAA;QACP,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACC,iBAA6B,EAAE,CAAC;IACzD;IAEA,SAAS,GAAA;QACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACF,UAAsB,EAAE,CAAC;IAClD;+GAnBS,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,sMCpBhC,6sBAeM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGM,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,yIAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAElC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,IAAA,EAEjB;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,eAAA,EACc,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,6sBAAA,EAAA;iGAK5C,MAAM,EAAA,CAAA;sBADL;;;MEHQ,mBAAmB,CAAA;AAM5B,IAAA,WAAA,CAA6B,YAAyB,EAAA;QAAzB,IAAA,CAAA,YAAY,GAAZ,YAAY;IAAiB;IAE1D,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa;IACpD;+GAVS,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,qICnBhC,8jBAeA,EAAA,MAAA,EAAA,CAAA,8DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEc,SAAS,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,uFAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEtC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,IAAA,EAGjB;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,8jBAAA,EAAA,MAAA,EAAA,CAAA,8DAAA,CAAA,EAAA;6EAIhD,IAAI,EAAA,CAAA;sBADH;;;MEkBQ,kBAAkB,CAAA;;AAiBrB,IAAA,oBAAoB,CAAC,IAA2B,EAAA;AACtD,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,KAAK;QAAE;AAC3E,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAEjC,YAAA,IAAI,KAAK,CAAC,GAAG,EAAE;gBACb,MAAM,OAAO,GAAY,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG;sBAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;AACjC,sBAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3C,gBAAA,MAAM,YAAY,GAAyB;oBACzC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,GAAG,QAAQ;AACvC,oBAAA,WAAW,EAAE,QAAQ;AACrB,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,YAAY,EAAE;iBACf;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;AAChD,oBAAA,OAAO,IAAI;gBACb;YACF;;AAEA,YAAA,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;AAAE,gBAAA,OAAO,IAAI;YAAE;QACvD;AACA,QAAA,OAAO,KAAK;IACd;IAEA,IACI,IAAI,CAAC,IAAe,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3D,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AACrB,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;QAChC;IACN;IAEA,WAAA,CAAoB,OAAe,EAAmB,YAAyB,EAAA;QAA3D,IAAA,CAAA,OAAO,GAAP,OAAO;QAA2B,IAAA,CAAA,YAAY,GAAZ,YAAY;AAjDlE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAE/C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;QAK/B,IAAA,CAAA,KAAK,GAAmB,EAAE;;QAE1B,IAAA,CAAA,kBAAkB,GAAG,KAAK;;QAGlC,IAAA,CAAA,oBAAoB,GAAG,KAAK;IAqCuD;IAEnF,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa;;AAGhD,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,IAAG;AAClE,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBAAE;YAAQ;AAC/B,YAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;AACrB,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B;iBAAO,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE;AACzC,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B;AAAO,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B;QACF,CAAC,CAAC,CAAC;;QAGH,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE;YACjD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C;IAEA,YAAY,GAAA;QACV,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAE7B,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC;IACnE;AAEA,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;;AAE5B,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;QACnC;IACF;AAEA,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;;AAE9B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;QAClC;IACF;+GAjGW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtC/B,0zCA0BQ,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRI,SAAS,EAAA,QAAA,EAAA,6GAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,UAAA,EAC5C;YACV,OAAO,CAAC,gBAAgB,EAAE;AACxB,gBAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AAC5D,gBAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/D,UAAU,CAAC,gBAAgB,EAAE;oBAC3B,OAAO,CAAC,gBAAgB;iBACzB,CAAC;gBACF,UAAU,CAAC,gBAAgB,EAAE;oBAC3B,OAAO,CAAC,eAAe;iBACxB;aACF,CAAC;YACF,OAAO,CAAC,eAAe,EAAE;gBACvB,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACrD,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;AACrD,gBAAA,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvD,gBAAA,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC;aACtD;AACF,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA1B9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,mBAGL,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAA,UAAA,EAC7C;wBACV,OAAO,CAAC,gBAAgB,EAAE;AACxB,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AAC5D,4BAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC/D,UAAU,CAAC,gBAAgB,EAAE;gCAC3B,OAAO,CAAC,gBAAgB;6BACzB,CAAC;4BACF,UAAU,CAAC,gBAAgB,EAAE;gCAC3B,OAAO,CAAC,eAAe;6BACxB;yBACF,CAAC;wBACF,OAAO,CAAC,eAAe,EAAE;4BACvB,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;4BACrD,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;AACrD,4BAAA,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACvD,4BAAA,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC;yBACtD;AACF,qBAAA,EAAA,QAAA,EAAA,0zCAAA,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA;oGA4CG,IAAI,EAAA,CAAA;sBADP;;;MEtDU,wBAAwB,CAAA;AASjC,IAAA,WAAA,CAA6B,MAAkB,EAClB,iBAAoC,EACpC,YAAyB,EAAA;QAFzB,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,YAAY,GAAZ,YAAY;IAAiB;IAG1D,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa;IACpD;IAEA,aAAa,GAAA;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,EAAE;AAClE,QAAA,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACL,UAAsB,EAAE,CAAC;IAC9D;+GArBS,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,IAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,0JAFxB,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBhC,o1BAkBA,EAAA,MAAA,EAAA,CAAA,sZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDOa,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAHzB,YAAY,qfAAE,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,+EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGxE,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;+BACI,mBAAmB,EAAA,eAAA,EAEZ,uBAAuB,CAAC,MAAM,iBAEhC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACF,wBAAA,KAAK,EAAE;AACZ,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,CAAC,EAAA,SAAA,EACzE,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,o1BAAA,EAAA,MAAA,EAAA,CAAA,sZAAA,CAAA,EAAA;mIAI5B,KAAK,EAAA,CAAA;sBADJ;gBAID,QAAQ,EAAA,CAAA;sBADP;;;MEdQ,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfnC,2DAAuD,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDazC,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEzB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,SAAS;+BACI,iBAAiB,EAAA,aAAA,EAEZ,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,OAAA,EACP,CAAC,wBAAwB,CAAC,EAAA,QAAA,EAAA,2DAAA,EAAA;8BAInC,KAAK,EAAA,CAAA;sBADJ;;;MEEQ,iBAAiB,CAAA;AAO1B,IAAA,WAAA,CAA6B,YAAyB,EAAA;QAAzB,IAAA,CAAA,YAAY,GAAZ,YAAY;IAEzC;IAEA,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa;IACpD;+GAbS,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iDAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB9B,k1BAmBC,EAAA,MAAA,EAAA,CAAA,kNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDHa,UAAU,4QAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAEtB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,IAAA,EAGf;AACF,wBAAA,KAAK,EAAE;qBACV,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,WACP,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,k1BAAA,EAAA,MAAA,EAAA,CAAA,kNAAA,CAAA,EAAA;6EAKhC,IAAI,EAAA,CAAA;sBADH;;;AEXE,IAAM,SAAS,GAAf,MAAM,SAAS,CAAA;IAGlB,WAAW,CAAC,KAAqB,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAA;QACrD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9C;AAGA,IAAA,iBAAiB,CAAC,KAAqB,EAAA;QACnC,OAAO,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE;IAC9D;AAGA,IAAA,UAAU,CAAC,KAAqB,EAAA;QAC5B,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE;IAC9C;;AAZA,UAAA,CAAA;AADC,IAAA,MAAM,CAACK,WAAuB;AAG9B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,MAAM,CAACN,iBAA6B;AAGpC,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;AAGD,UAAA,CAAA;AADC,IAAA,MAAM,CAACF,UAAsB;AAG7B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA;AAfQ,SAAS,GAAA,UAAA,CAAA;AAJrB,IAAA,KAAK,CAAiB;AACnB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,MAAM,EAAE;KACX;AACY,CAAA,EAAA,SAAS,CAiBrB;;MCVY,qBAAqB,CAAA;AAE9B,IAAA,WAAA,CAA6B,MAAkB,EAAA;QAAlB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAgB;IAEnD,QAAQ,GAAA;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAACA,UAAsB,EAAE,CAAC;IAClD;+GANS,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBlC,wIAES,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSG,eAAe,8IAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAKvB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACrC,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,OAAO,CAAC,EAAA,IAAA,EAC3B;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA;;;MECQ,6BAA6B,CAAA;AAEtC,IAAA,WAAA,CAA6B,MAAkB,EAAA;QAAlB,IAAA,CAAA,MAAM,GAAN,MAAM;IAAgB;IAEnD,QAAQ,GAAA;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACtC;+GANS,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf1C,wIAES,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDWK,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAER,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,mBAE1B,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,IAAA,EACV;AACF,wBAAA,KAAK,EAAE;qBACV,EAAA,OAAA,EACQ,CAAC,OAAO,CAAC,EAAA,QAAA,EAAA,wIAAA,EAAA;;;MEsCT,UAAU,CAAA;+GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YA7BnB,YAAY;YACZ,eAAe;YACf,eAAe;YACf,aAAa;YACb,gBAAgB;YAChB,6BAA6B;YAC7B,YAAY;YACZ,yBAAyB;YACzB,0BAA0B;;YAE1B,aAAa;YACb,qBAAqB;YACrB,mBAAmB;YACnB,sBAAsB;YACtB,kBAAkB;YAClB,mBAAmB;YACnB,iBAAiB;AACjB,YAAA,wBAAwB,8CAKxB,aAAa;YACb,iBAAiB;YACjB,sBAAsB;YACtB,mBAAmB;YACnB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YA7BnB,YAAY;YACZ,eAAe;YACf,eAAe;YACf,aAAa;YACb,gBAAgB;YAChB,6BAA6B;YAC7B,YAAY;YAEZ,0BAA0B;;YAE1B,aAAa;YACb,qBAAqB;YACrB,mBAAmB;YACnB,sBAAsB;YACtB,kBAAkB;YAClB,mBAAmB;YAEnB,wBAAwB;YACxB,mBAAmB,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAW7D,UAAU,EAAA,UAAA,EAAA,CAAA;kBA/BtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,gBAAgB;wBAChB,6BAA6B;wBAC7B,YAAY;wBACZ,yBAAyB;wBACzB,0BAA0B;;wBAE1B,aAAa;wBACb,qBAAqB;wBACrB,mBAAmB;wBACnB,sBAAsB;wBACtB,kBAAkB;wBAClB,mBAAmB;wBACnB,iBAAiB;wBACjB,wBAAwB;wBACxB,mBAAmB,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACvE,qBAAA;AACD,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB;AACD;AACF,iBAAA;;;MCjDY,eAAe,CAAA;AAG3B;;MCJY,aAAa,CAAA;AAKzB;;ACDD;;;AAGG;SACa,mBAAmB,GAAA;IACjC,OAAO,2BAA2B,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC5E;;ACVA;;AAEG;;ACFH;;AAEG;;;;"}