{"version":3,"file":"novo-elements-elements-simple-table.mjs","sources":["../../../projects/novo-elements/src/elements/simple-table/activity-table-renderers.ts","../../../projects/novo-elements/src/elements/simple-table/state.ts","../../../projects/novo-elements/src/elements/simple-table/sort.ts","../../../projects/novo-elements/src/elements/simple-table/cell.ts","../../../projects/novo-elements/src/elements/simple-table/cell-header.ts","../../../projects/novo-elements/src/elements/simple-table/pagination.ts","../../../projects/novo-elements/src/elements/simple-table/PaginationOld.ts","../../../projects/novo-elements/src/elements/simple-table/row.ts","../../../projects/novo-elements/src/elements/simple-table/table-source.ts","../../../projects/novo-elements/src/elements/simple-table/table.ts","../../../projects/novo-elements/src/elements/simple-table/simple-table.module.ts","../../../projects/novo-elements/src/elements/simple-table/novo-elements-elements-simple-table.ts"],"sourcesContent":["export class ActivityTableRenderers {\n  static propertyRenderer<T>(prop: string): Function {\n    const ret = (data: T): string => {\n      // TODO - allow for dots and sub props\n      return data[prop];\n    };\n    return ret;\n  }\n\n  static dateRenderer<T>(prop: string): Function {\n    const ret = (data: T): string => {\n      return data[prop] ? new Date(data[prop]).toLocaleDateString() : '';\n    };\n    return ret;\n  }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { NovoSimpleTableChange } from './interfaces';\n\n@Injectable()\nexport class NovoActivityTableState {\n  id: number = Math.random();\n  sort: { id: string; value: string } = undefined;\n  filter: { id: string; value: string } = undefined;\n  page: number = 0;\n  pageSize: number = undefined;\n  globalSearch: string = undefined;\n  selectedRows: Map<string, object> = new Map<string, object>();\n  outsideFilter: any;\n\n  updates: EventEmitter<NovoSimpleTableChange> = new EventEmitter<NovoSimpleTableChange>();\n  onReset: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  get userFiltered(): boolean {\n    return !!(this.filter || this.sort || this.globalSearch || this.outsideFilter);\n  }\n\n  public reset(fireUpdate: boolean = true, persistUserFilters?: boolean): void {\n    if (!persistUserFilters) {\n      this.sort = undefined;\n      this.globalSearch = undefined;\n      this.filter = undefined;\n    }\n    this.page = 0;\n    this.selectedRows.clear();\n    this.onReset.emit(true);\n    if (fireUpdate) {\n      this.updates.emit({\n        sort: this.sort,\n        filter: this.filter,\n        globalSearch: this.globalSearch,\n      });\n    }\n  }\n}\n","import { Directive, EventEmitter, OnDestroy, Output } from '@angular/core';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoActivityTableState } from './state';\n\n@Directive({\n    selector: '[novoSortFilter]',\n    standalone: false,\n})\nexport class NovoSortFilter {\n  constructor(private state: NovoActivityTableState) {}\n\n  public filter(id: string, value: any, transform: Function): void {\n    let filter;\n    if (!Helpers.isBlank(value)) {\n      filter = { id, value, transform };\n    } else {\n      filter = undefined;\n    }\n    this.state.filter = filter;\n    this.state.reset(false, true);\n    this.state.updates.next({ filter, sort: this.state.sort });\n  }\n\n  public sort(id: string, value: string, transform: Function): void {\n    const sort = { id, value, transform };\n    this.state.sort = sort;\n    this.state.reset(false, true);\n    this.state.updates.next({ sort, filter: this.state.filter });\n  }\n}\n\n@Directive({\n    selector: '[novoSelection]',\n    standalone: false,\n})\nexport class NovoSelection implements OnDestroy {\n  @Output()\n  public novoSelectAllToggle = new EventEmitter<boolean>();\n\n  public allRows = new Map<string, object>();\n  private throttleTimeout: any;\n\n  constructor(public state: NovoActivityTableState) {}\n\n  public register(id, row): void {\n    this.allRows.set(id, row);\n  }\n\n  public deregister(id): void {\n    this.allRows.delete(id);\n    this.state.selectedRows.delete(id);\n    clearTimeout(this.throttleTimeout);\n    this.throttleTimeout = setTimeout(() => {\n      if (this.state.selectedRows.size === 0) {\n        this.novoSelectAllToggle.emit(false);\n      }\n    });\n  }\n\n  public ngOnDestroy(): void {\n    this.allRows.clear();\n    this.state.selectedRows.clear();\n  }\n\n  public toggle(id: string, selected: boolean, row: any): void {\n    if (selected) {\n      this.state.selectedRows.set(id, row);\n    } else {\n      this.state.selectedRows.delete(id);\n    }\n  }\n\n  public selectAll(value: boolean): void {\n    if (value) {\n      this.state.selectedRows = new Map<string, object>(this.allRows);\n    } else {\n      this.state.selectedRows.clear();\n    }\n    this.novoSelectAllToggle.emit(value);\n  }\n}\n","import { CdkCell, CdkCellDef, CdkColumnDef, CdkHeaderCell, CdkHeaderCellDef } from '@angular/cdk/table';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Directive,\n  ElementRef,\n  HostBinding,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport { SimpleTableActionColumn, SimpleTableActionColumnOption, SimpleTableColumn } from './interfaces';\nimport { NovoSelection } from './sort';\n\n/** Workaround for https://github.com/angular/angular/issues/17849 */\nexport const _NovoCellDef = CdkCellDef;\nexport const _NovoHeaderCellDef = CdkHeaderCellDef;\nexport const _NovoColumnDef = CdkColumnDef;\nexport const _NovoHeaderCell = CdkHeaderCell;\nexport const _NovoCell = CdkCell;\n\n@Directive({\n    selector: '[novoSimpleCellDef]',\n    providers: [{ provide: CdkCellDef, useExisting: NovoSimpleCellDef }],\n    standalone: false,\n})\nexport class NovoSimpleCellDef extends _NovoCellDef {\n  // TODO: add explicit constructor\n}\n\n@Directive({\n    selector: '[novoSimpleHeaderCellDef]',\n    providers: [{ provide: CdkHeaderCellDef, useExisting: NovoSimpleHeaderCellDef }],\n    standalone: false,\n})\nexport class NovoSimpleHeaderCellDef extends _NovoHeaderCellDef {\n  // TODO: add explicit constructor\n}\n\n@Directive({\n    selector: '[novoSimpleColumnDef]',\n    providers: [{ provide: CdkColumnDef, useExisting: NovoSimpleColumnDef }],\n    standalone: false,\n})\nexport class NovoSimpleColumnDef extends _NovoColumnDef {\n  @Input('novoSimpleColumnDef')\n  get name(): string {\n    return this._name;\n  }\n  set name(name: string) {\n    this._setNameInput(name);\n  }\n  /**\n   * This has been extracted to a util because of TS 4 and VE.\n   * View Engine doesn't support property rename inheritance.\n   * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n   * @docs-private\n   */\n  protected _setNameInput(value: string) {\n    // If the directive is set without a name (updated programatically), then this setter will\n    // trigger with an empty string and should not overwrite the programatically set value.\n    if (value) {\n      this._name = value;\n      this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/gi, '-');\n      this._updateColumnCssClassName();\n    }\n  }\n}\n\n@Directive({\n    selector: 'novo-simple-header-cell',\n    standalone: false,\n})\nexport class NovoSimpleHeaderCell<T> extends _NovoHeaderCell implements OnInit {\n  @HostBinding('attr.role')\n  public role = 'columnheader';\n\n  @Input()\n  public column: SimpleTableColumn<T>;\n\n  constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2) {\n    super(columnDef, elementRef);\n    renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-header-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, 'novo-simple-header-cell');\n  }\n\n  public ngOnInit(): void {\n    if (this.column.width) {\n      this.renderer.setStyle(this.elementRef.nativeElement, 'min-width', `${this.column.width}px`);\n      this.renderer.setStyle(this.elementRef.nativeElement, 'max-width', `${this.column.width}px`);\n      this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.column.width}px`);\n    }\n  }\n}\n\n@Directive({\n    selector: 'novo-simple-empty-header-cell',\n    standalone: false,\n})\nexport class NovoSimpleEmptyHeaderCell extends _NovoHeaderCell {\n  @HostBinding('attr.role')\n  public role = 'columnheader';\n\n  constructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) {\n    super(columnDef, elementRef);\n    renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-header-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, 'novo-simple-empty-header-cell');\n  }\n}\n\n@Component({\n    selector: 'novo-simple-checkbox-header-cell',\n    template: '<novo-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"toggle($event)\"></novo-checkbox>',\n    standalone: false,\n})\nexport class NovoSimpleCheckboxHeaderCell extends _NovoHeaderCell implements OnDestroy {\n  @HostBinding('attr.role')\n  public role = 'columnheader';\n\n  public selectAll: boolean = false;\n  private selectAllSubscription: Subscription;\n\n  constructor(\n    columnDef: CdkColumnDef,\n    elementRef: ElementRef,\n    renderer: Renderer2,\n    ref: ChangeDetectorRef,\n    @Optional() private _selection: NovoSelection,\n  ) {\n    super(columnDef, elementRef);\n    renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-checkbox-column-header-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, 'novo-simple-checkbox-header-cell');\n\n    this.selectAllSubscription = _selection.novoSelectAllToggle.subscribe((value: boolean) => {\n      this.selectAll = value;\n      ref.markForCheck();\n    });\n  }\n\n  public ngOnDestroy(): void {\n    this.selectAllSubscription.unsubscribe();\n  }\n\n  public toggle(value: boolean): void {\n    this._selection.selectAll(value);\n  }\n}\n\n@Component({\n    selector: 'novo-simple-cell',\n    template: ' <span [class.clickable]=\"!!column.onClick\" (click)=\"onClick($event)\" #span>{{ column.renderer(row) }}</span> ',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class NovoSimpleCell<T> extends _NovoCell implements OnInit {\n  @HostBinding('attr.role')\n  public role = 'gridcell';\n\n  @Input()\n  public row: any;\n  @Input()\n  public column: SimpleTableColumn<T>;\n\n  constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2) {\n    super(columnDef, elementRef);\n    renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, 'novo-simple-cell');\n  }\n\n  public ngOnInit(): void {\n    if (this.column.customClass) {\n      this.renderer.addClass(this.elementRef.nativeElement, this.column.customClass(this.row));\n    }\n    if (this.column.width) {\n      this.renderer.setStyle(this.elementRef.nativeElement, 'min-width', `${this.column.width}px`);\n      this.renderer.setStyle(this.elementRef.nativeElement, 'max-width', `${this.column.width}px`);\n      this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.column.width}px`);\n    }\n  }\n\n  public onClick(event: MouseEvent): void {\n    Helpers.swallowEvent(event);\n    if (this.column.onClick) {\n      this.column.onClick(this.row);\n    }\n    return;\n  }\n}\n\n@Component({\n    selector: 'novo-simple-checkbox-cell',\n    template: ' <novo-checkbox [ngModel]=\"selected\" (ngModelChange)=\"toggle($event)\"></novo-checkbox> ',\n    standalone: false,\n})\nexport class NovoSimpleCheckboxCell extends _NovoCell implements OnDestroy, OnInit {\n  @HostBinding('attr.role')\n  public role = 'gridcell';\n\n  @Input()\n  public row: any;\n  @Input()\n  public index: any;\n\n  public selected: boolean = false;\n  private selectAllSubscription: Subscription;\n\n  constructor(public columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2, @Optional() public _selection: NovoSelection) {\n    super(columnDef, elementRef);\n    renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n    renderer.addClass(elementRef.nativeElement, 'novo-simple-checkbox-cell');\n\n    this.selectAllSubscription = _selection.novoSelectAllToggle.subscribe((value: boolean) => {\n      this.selected = value;\n    });\n  }\n\n  public ngOnInit(): void {\n    this._selection.register(this.row.id || this.index, this.row);\n    this.selected = this._selection.state.selectedRows.has(this.row.id || this.index);\n  }\n\n  public ngOnDestroy(): void {\n    this._selection.deregister(this.row.id || this.index);\n    this.selectAllSubscription.unsubscribe();\n  }\n\n  public toggle(value: boolean): void {\n    this._selection.toggle(this.row.id || this.index, value, this.row);\n  }\n}\n\n@Component({\n    selector: 'novo-simple-action-cell',\n    template: `\n    <ng-container *ngIf=\"!column.options\">\n      <novo-button theme=\"icon\" [icon]=\"column.icon\" (click)=\"column.onClick(row)\" [disabled]=\"isDisabled(column, row)\"></novo-button>\n    </ng-container>\n    <ng-container *ngIf=\"column.options\">\n      <novo-dropdown parentScrollSelector=\".novo-simple-table\" containerClass=\"novo-table-dropdown-cell\">\n        <novo-button type=\"button\" theme=\"dialogue\" icon=\"collapse\" inverse>{{ column.label || labels.actions }}</novo-button>\n        <list>\n          <item *ngFor=\"let option of column.options\" (action)=\"option.onClick(row)\" [disabled]=\"isDisabled(option, row)\">\n            <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n          </item>\n        </list>\n      </novo-dropdown>\n    </ng-container>\n  `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class NovoSimpleActionCell<T> extends _NovoCell implements OnInit {\n  @HostBinding('attr.role')\n  public role = 'gridcell';\n\n  @Input()\n  public row: T;\n  @Input()\n  public column: SimpleTableActionColumn<T>;\n\n  constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2, public labels: NovoLabelService) {\n    super(columnDef, elementRef);\n    renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-action-column-${columnDef.cssClassFriendlyName}`);\n  }\n\n  public ngOnInit(): void {\n    if (this.column.options) {\n      this.renderer.addClass(this.elementRef.nativeElement, 'novo-simple-dropdown-cell');\n    } else {\n      this.renderer.addClass(this.elementRef.nativeElement, 'novo-simple-button-cell');\n    }\n  }\n\n  public isDisabled(check: SimpleTableActionColumn<T> | SimpleTableActionColumnOption<T>, row: T): boolean {\n    if (check.disabled === true) {\n      return true;\n    }\n    if (check.disabledCheck) {\n      return check.disabledCheck(row);\n    }\n    return false;\n  }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkColumnDef } from '@angular/cdk/table';\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Directive,\n  ElementRef,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { startOfToday, startOfTomorrow } from 'date-fns';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers } from 'novo-elements/utils';\nimport { NovoDropdownElement } from 'novo-elements/elements/dropdown';\nimport { NovoSimpleSortFilter, NovoSimpleTableChange, SimpleTableColumnFilterConfig, SimpleTableColumnFilterOption } from './interfaces';\nimport { NovoSortFilter } from './sort';\nimport { NovoActivityTableState } from './state';\n\n@Directive({\n    selector: '[novoSimpleFilterFocus]',\n    standalone: false,\n})\nexport class NovoSimpleFilterFocus implements AfterViewInit {\n  constructor(private element: ElementRef) {}\n\n  ngAfterViewInit() {\n    this.element.nativeElement.focus();\n  }\n}\n\n@Component({\n    selector: '[novo-simple-cell-config]',\n    template: `\n    <label (click)=\"sort()\" data-automation-id=\"novo-activity-table-label\" [class.sort-disabled]=\"!config.sortable\">\n      <ng-content></ng-content>\n    </label>\n    <div>\n      <novo-button\n        *ngIf=\"config.sortable\"\n        theme=\"icon\"\n        [icon]=\"icon\"\n        (click)=\"sort()\"\n        [class.active]=\"sortActive\"\n        data-automation-id=\"novo-activity-table-sort\"\n      ></novo-button>\n      <novo-dropdown\n        *ngIf=\"config.filterable\"\n        side=\"right\"\n        parentScrollSelector=\".novo-simple-table\"\n        containerClass=\"simple-table-dropdown\"\n        data-automation-id=\"novo-activity-table-filter\"\n      >\n        <novo-button type=\"button\" theme=\"icon\" icon=\"filter\" [class.active]=\"filterActive\"></novo-button>\n        <div class=\"header\">\n          <span>{{ labels.filters }}</span>\n          <novo-button\n            theme=\"dialogue\"\n            color=\"negative\"\n            icon=\"times\"\n            (click)=\"clearFilter()\"\n            *ngIf=\"filter\"\n            data-automation-id=\"novo-activity-table-filter-clear\"\n          >\n            {{ labels.clear }}\n          </novo-button>\n        </div>\n        <ng-container [ngSwitch]=\"config.filterConfig.type\">\n          <novo-optgroup *ngSwitchCase=\"'date'\">\n            <ng-container *ngIf=\"!showCustomRange\">\n              <novo-option\n                [class.active]=\"activeDateFilter === option.label\"\n                *ngFor=\"let option of config.filterConfig.options\"\n                (click)=\"filterData(option)\"\n                [attr.data-automation-id]=\"'novo-activity-table-filter-' + option.label\"\n              >\n                {{ option.label }} <i class=\"bhi-check\" *ngIf=\"activeDateFilter === option.label\"></i>\n              </novo-option>\n            </ng-container>\n            <novo-option\n              [class.active]=\"labels.customDateRange === activeDateFilter\"\n              (click)=\"toggleCustomRange($event, true)\"\n              *ngIf=\"config.filterConfig.allowCustomRange && !showCustomRange\"\n              [keepOpen]=\"true\"\n            >\n              {{ labels.customDateRange }} <i class=\"bhi-check\" *ngIf=\"labels.customDateRange === activeDateFilter\"></i>\n            </novo-option>\n            <div class=\"calendar-container\" *ngIf=\"showCustomRange\">\n              <div (click)=\"toggleCustomRange($event, false)\"><i class=\"bhi-previous\"></i>{{ labels.backToPresetFilters }}</div>\n              <novo-date-picker (onSelect)=\"filterData($event)\" [(ngModel)]=\"filter\" range=\"true\"></novo-date-picker>\n            </div>\n          </novo-optgroup>\n          <novo-optgroup *ngSwitchCase=\"'select'\">\n            <novo-option\n              [class.active]=\"filter === option\"\n              *ngFor=\"let option of config.filterConfig.options\"\n              (click)=\"filterData(option)\"\n              [attr.data-automation-id]=\"'novo-activity-table-filter-' + (option?.label || option)\"\n            >\n              <span>{{ option?.label || option }}</span>\n              <i class=\"bhi-check\" *ngIf=\"option.hasOwnProperty('value') ? filter === option.value : filter === option\"></i>\n            </novo-option>\n          </novo-optgroup>\n          <novo-optgroup *ngSwitchDefault>\n            <novo-option class=\"filter-search\" keepOpen>\n              <input\n                type=\"text\"\n                [(ngModel)]=\"filter\"\n                (ngModelChange)=\"filterData($event)\"\n                novoSimpleFilterFocus\n                data-automation-id=\"novo-activity-table-filter-input\"\n              />\n            </novo-option>\n          </novo-optgroup>\n        </ng-container>\n      </novo-dropdown>\n    </div>\n  `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class NovoSimpleCellHeader implements NovoSimpleSortFilter, OnInit, OnDestroy {\n  @ViewChild(NovoDropdownElement)\n  dropdown: NovoDropdownElement;\n\n  @Input()\n  defaultSort: { id: string; value: string };\n\n  @Input('novo-simple-cell-config')\n  get config() {\n    return this._config;\n  }\n\n  set config(v) {\n    if (!v) {\n      this._config = {\n        sortable: false,\n        filterable: false,\n        filterConfig: {\n          type: 'text',\n        },\n      };\n    } else {\n      this._config = {\n        sortable: coerceBooleanProperty(v.sortable),\n        filterable: coerceBooleanProperty(v.filterable),\n        transforms: v.transforms || {},\n        filterConfig: v.filterConfig || {\n          type: 'text',\n        },\n      };\n\n      if (this._config.filterConfig.type === 'date' && !this._config.filterConfig.options) {\n        this._config.filterConfig.options = this.getDefaultDateFilterOptions();\n      }\n    }\n  }\n\n  private _config: {\n    sortable: boolean;\n    filterable: boolean;\n    transforms?: { filter?: Function; sort?: Function };\n    filterConfig: SimpleTableColumnFilterConfig;\n  };\n\n  private _rerenderSubscription: Subscription;\n  private changeTimeout: any;\n\n  public icon: string = 'sortable';\n  public id: string;\n  public filter: string | boolean;\n  public direction: string;\n  public filterActive: boolean = false;\n  public sortActive: boolean = false;\n  public showCustomRange: boolean = false;\n  public activeDateFilter: string;\n\n  constructor(\n    private changeDetectorRef: ChangeDetectorRef,\n    public labels: NovoLabelService,\n    private state: NovoActivityTableState,\n    @Optional() public _sort: NovoSortFilter,\n    @Optional() public _cdkColumnDef: CdkColumnDef,\n  ) {\n    this._rerenderSubscription = state.updates.subscribe((change: NovoSimpleTableChange) => {\n      if (change.sort && change.sort.id === this.id) {\n        this.icon = `sort-${change.sort.value}`;\n        this.sortActive = true;\n      } else {\n        this.icon = 'sortable';\n        this.sortActive = false;\n      }\n      if (change.filter && change.filter.id === this.id) {\n        this.filterActive = true;\n        this.filter = change.filter.value;\n      } else {\n        this.filterActive = false;\n        this.filter = undefined;\n      }\n      changeDetectorRef.markForCheck();\n    });\n  }\n\n  public ngOnInit(): void {\n    if (this._cdkColumnDef) {\n      this.id = this._cdkColumnDef.name;\n    }\n    if (this.defaultSort && this.id === this.defaultSort.id) {\n      this.icon = `sort-${this.defaultSort.value}`;\n      this.sortActive = true;\n      this.changeDetectorRef.markForCheck();\n    }\n  }\n\n  public ngOnDestroy(): void {\n    this._rerenderSubscription.unsubscribe();\n  }\n\n  public sort(): void {\n    if (this.changeTimeout) {\n      clearTimeout(this.changeTimeout);\n    }\n    this.changeTimeout = setTimeout(() => {\n      this.direction = this.getNextSortDirection(this.direction);\n      this._sort.sort(this.id, this.direction, this._config.transforms.sort);\n      this.changeDetectorRef.markForCheck();\n    }, 300);\n  }\n\n  public toggleCustomRange(event: Event, value: boolean): void {\n    Helpers.swallowEvent(event);\n    this.showCustomRange = value;\n    this.changeDetectorRef.markForCheck();\n    this.dropdown.openPanel(); // Ensures that the panel correctly updates to the dynamic size of the dropdown\n  }\n\n  public filterData(filter?: any): void {\n    let actualFilter = filter;\n    if (this.config.filterConfig.type === 'date' && filter) {\n      this.activeDateFilter = filter.label || this.labels.customDateRange;\n      if (filter.startDate && filter.endDate) {\n        actualFilter = {\n          min: DateUtil.startOfDay(filter.startDate.date),\n          max: DateUtil.startOfDay(DateUtil.addDays(DateUtil.startOfDay(filter.endDate.date), 1)),\n        };\n      } else {\n        actualFilter = {\n          min: filter.min ? DateUtil.addDays(startOfToday(), filter.min) : startOfToday(),\n          max: filter.max ? DateUtil.addDays(startOfTomorrow(), filter.max) : startOfTomorrow(),\n        };\n      }\n    }\n\n    if (actualFilter && actualFilter.hasOwnProperty('value')) {\n      actualFilter = filter.value;\n    }\n\n    if (this.changeTimeout) {\n      clearTimeout(this.changeTimeout);\n    }\n\n    this.changeTimeout = setTimeout(() => {\n      if (actualFilter === '') {\n        actualFilter = undefined;\n      }\n      this._sort.filter(this.id, actualFilter, this.config.transforms.filter);\n      this.changeDetectorRef.markForCheck();\n    }, 300);\n  }\n\n  public clearFilter(): void {\n    this.filter = undefined;\n    this.activeDateFilter = undefined;\n    this.filterData();\n  }\n\n  private getNextSortDirection(direction: string): string {\n    if (!direction) {\n      return 'asc';\n    }\n    if (direction === 'asc') {\n      return 'desc';\n    }\n    return 'asc';\n  }\n\n  private getDefaultDateFilterOptions(): SimpleTableColumnFilterOption[] {\n    const opts: SimpleTableColumnFilterOption[] = [\n      { label: this.labels.past1Day, min: -1, max: 0 },\n      { label: this.labels.past7Days, min: -7, max: 0 },\n      { label: this.labels.past30Days, min: -30, max: 0 },\n      { label: this.labels.past90Days, min: -90, max: 0 },\n      { label: this.labels.past1Year, min: -366, max: 0 },\n      { label: this.labels.next1Day, min: 0, max: 1 },\n      { label: this.labels.next7Days, min: 0, max: 7 },\n      { label: this.labels.next30Days, min: 0, max: 30 },\n      { label: this.labels.next90Days, min: 0, max: 90 },\n      { label: this.labels.next1Year, min: 0, max: 366 },\n    ];\n    return opts;\n  }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { NovoSimplePaginationEvent } from './interfaces';\nimport { NovoActivityTableState } from './state';\n\nconst DEFAULT_PAGE_SIZE = 50;\n\n@Component({\n    selector: 'novo-simple-table-pagination',\n    template: `\n    <div class=\"novo-simple-table-pagination-size\">\n      <novo-tiles\n        *ngIf=\"displayedPageSizeOptions.length > 1\"\n        [(ngModel)]=\"pageSize\"\n        [options]=\"displayedPageSizeOptions\"\n        (onChange)=\"changePageSize($event)\"\n        data-automation-id=\"novo-simple-table-pagination-tiles\"\n      >\n      </novo-tiles>\n      <div *ngIf=\"displayedPageSizeOptions.length <= 1\">{{ pageSize }}</div>\n    </div>\n\n    <div class=\"novo-simple-table-range-label-long\" data-automation-id=\"novo-simple-table-pagination-range-label-long\">\n      {{ longRangeLabel }}\n    </div>\n    <div class=\"novo-simple-table-range-label-short\" data-automation-id=\"novo-simple-table-pagination-range-label-short\">\n      {{ shortRangeLabel }}\n    </div>\n\n    <novo-button\n      theme=\"dialogue\"\n      type=\"button\"\n      class=\"novo-simple-table-pagination-navigation-previous\"\n      (click)=\"previousPage()\"\n      icon=\"previous\"\n      side=\"left\"\n      [disabled]=\"!hasPreviousPage()\"\n      data-automation-id=\"novo-simple-table-pagination-previous\"\n    >\n      <span>{{ labels.previous }}</span>\n    </novo-button>\n    <novo-button\n      theme=\"dialogue\"\n      type=\"button\"\n      class=\"novo-simple-table-pagination-navigation-next\"\n      (click)=\"nextPage()\"\n      icon=\"next\"\n      side=\"right\"\n      [disabled]=\"!hasNextPage()\"\n      data-automation-id=\"novo-simple-table-pagination-next\"\n    >\n      <span>{{ labels.next }}</span>\n    </novo-button>\n  `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class NovoSimpleTablePagination implements OnInit, OnDestroy {\n  private _initialized: boolean;\n\n  @Input()\n  get page(): number {\n    return this._page;\n  }\n  set page(page: number) {\n    this._page = page;\n    this.changeDetectorRef.markForCheck();\n    this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n    this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n    this.state.page = this._page;\n  }\n  _page: number = 0;\n\n  @Input()\n  get length(): number {\n    return this._length;\n  }\n  set length(length: number) {\n    this._length = length;\n    this.changeDetectorRef.markForCheck();\n    this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n    this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n  }\n  _length: number = 0;\n\n  @Input()\n  get pageSize(): number {\n    return this._pageSize;\n  }\n  set pageSize(pageSize: number) {\n    this._pageSize = pageSize;\n    this.updateDisplayedPageSizeOptions();\n    this.state.pageSize = this._pageSize;\n  }\n  private _pageSize: number;\n\n  @Input()\n  get pageSizeOptions(): number[] {\n    return this._pageSizeOptions;\n  }\n  set pageSizeOptions(pageSizeOptions: number[]) {\n    this._pageSizeOptions = pageSizeOptions;\n    this.updateDisplayedPageSizeOptions();\n  }\n  private _pageSizeOptions: number[] = [];\n\n  @Output()\n  pageChange = new EventEmitter<NovoSimplePaginationEvent>();\n\n  public displayedPageSizeOptions: number[];\n  public longRangeLabel: string;\n  public shortRangeLabel: string;\n\n  private resetSubscription: Subscription;\n\n  constructor(private changeDetectorRef: ChangeDetectorRef, public labels: NovoLabelService, private state: NovoActivityTableState) {\n    if (state && state.onReset) {\n      this.resetSubscription = this.state.onReset.subscribe((clear: boolean) => {\n        if (clear) {\n          this.page = 0;\n          this.changeDetectorRef.markForCheck();\n        }\n      });\n    }\n  }\n\n  public ngOnInit(): void {\n    this._initialized = true;\n    this.updateDisplayedPageSizeOptions();\n  }\n\n  public ngOnDestroy(): void {\n    this.resetSubscription.unsubscribe();\n  }\n\n  public nextPage(): void {\n    if (!this.hasNextPage()) {\n      return;\n    }\n    this.page++;\n    this.emitPageEvent();\n  }\n\n  public previousPage(): void {\n    if (!this.hasPreviousPage()) {\n      return;\n    }\n    this.page--;\n    this.emitPageEvent();\n  }\n\n  public hasPreviousPage(): boolean {\n    return this.page >= 1 && this.pageSize !== 0;\n  }\n\n  public hasNextPage(): boolean {\n    const numberOfPages = Math.ceil(this.length / this.pageSize) - 1;\n    return this.page < numberOfPages && this.pageSize !== 0;\n  }\n\n  public changePageSize(pageSize: number): void {\n    this.page = 0;\n    this.pageSize = pageSize;\n    this.emitPageEvent();\n  }\n\n  private updateDisplayedPageSizeOptions(): void {\n    if (!this._initialized) {\n      return;\n    }\n    if (!this.pageSize) {\n      this._pageSize = this.pageSizeOptions.length !== 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\n    }\n    this.displayedPageSizeOptions = this.pageSizeOptions.slice();\n    if (this.displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\n      this.displayedPageSizeOptions.push(this.pageSize);\n    }\n    this.displayedPageSizeOptions.sort((a, b) => a - b);\n    this.changeDetectorRef.markForCheck();\n    this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n    this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n  }\n\n  private emitPageEvent(): void {\n    const event = {\n      page: this.page,\n      pageSize: this.pageSize,\n      length: this.length,\n    };\n    this.pageChange.next(event);\n    this.state.page = this.page;\n    this.state.pageSize = this.pageSize;\n    this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n    this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n    this.state.updates.next(event);\n  }\n}\n","// NG2\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\n\ninterface Page {\n  num: number;\n  text: string;\n  active: boolean;\n}\n@Component({\n    selector: 'novo-pagination',\n    template: `\n    <ng-container *ngIf=\"rowOptions.length > 1\">\n      <h5 class=\"rows\">{{ label }}</h5>\n      <novo-select\n        class=\"table-pagination-select\"\n        [options]=\"rowOptions\"\n        [placeholder]=\"labels.select\"\n        [(ngModel)]=\"itemsPerPage\"\n        (onSelect)=\"onPageSizeChanged($event)\"\n        data-automation-id=\"pager-select\"\n      ></novo-select>\n      <span class=\"spacer\"></span>\n    </ng-container>\n    <ul class=\"pager\" data-automation-id=\"pager\">\n      <li class=\"page\" (click)=\"selectPage(page - 1)\" [ngClass]=\"{ disabled: noPrevious() }\">\n        <i class=\"bhi-previous\" data-automation-id=\"pager-previous\"></i>\n      </li>\n      <li\n        class=\"page\"\n        [ngClass]=\"{ active: p.active }\"\n        [class.disabled]=\"disablePageSelection\"\n        *ngFor=\"let p of pages\"\n        (click)=\"selectPage(p.num, $event)\"\n      >\n        {{ p.text }}\n      </li>\n      <li class=\"page\" (click)=\"selectPage(page + 1)\" [ngClass]=\"{ disabled: noNext() }\">\n        <i class=\"bhi-next\" data-automation-id=\"pager-next\"></i>\n      </li>\n    </ul>\n  `,\n    styleUrls: ['./PaginationOld.scss'],\n    encapsulation: ViewEncapsulation.None,\n    standalone: false,\n})\nexport class Pagination implements OnInit, OnChanges {\n  @Input()\n  page: number;\n  @Input()\n  totalItems: number;\n  @Input()\n  itemsPerPage = 10;\n  @Input()\n  rowOptions;\n  @Input()\n  label: string;\n  @Input()\n  get disablePageSelection(): boolean {\n    return this.pageSelectDisabled;\n  }\n  set disablePageSelection(val: boolean) {\n    this.pageSelectDisabled = coerceBooleanProperty(val);\n  }\n  @Output()\n  pageChange = new EventEmitter();\n  @Output()\n  itemsPerPageChange = new EventEmitter();\n  @Output()\n  onPageChange = new EventEmitter();\n\n  public pageSelectDisabled: boolean;\n  maxPagesDisplayed = 5;\n  totalPages: number;\n  pages: Array<Page>;\n\n  constructor(public labels: NovoLabelService) {}\n\n  ngOnInit() {\n    this.label = this.label || this.labels.itemsPerPage;\n    this.rowOptions = this.rowOptions || this.getDefaultRowOptions();\n  }\n\n  ngOnChanges(changes?: SimpleChanges) {\n    this.page = this.page || 1;\n    this.totalPages = this.calculateTotalPages();\n    this.pages = this.getPages(this.page, this.totalPages);\n  }\n\n  getDefaultRowOptions() {\n    return [\n      { value: 10, label: '10' },\n      { value: 25, label: '25' },\n      { value: 50, label: '50' },\n      { value: 100, label: '100' },\n    ];\n  }\n\n  onPageSizeChanged(event) {\n    this.page = 1;\n    this.itemsPerPage = event.selected;\n    this.totalPages = this.calculateTotalPages();\n    this.pages = this.getPages(this.page, this.totalPages);\n    this.pageChange.emit(this.page);\n    this.itemsPerPageChange.emit(this.itemsPerPage);\n    this.onPageChange.emit({\n      page: this.page,\n      itemsPerPage: this.itemsPerPage,\n    });\n  }\n\n  selectPage(page: number, event?: MouseEvent) {\n    if (event) {\n      event.preventDefault();\n    }\n\n    this.page = page;\n    this.pages = this.getPages(this.page, this.totalPages);\n    this.pageChange.emit(this.page);\n    this.onPageChange.emit({\n      page: this.page,\n      itemsPerPage: this.itemsPerPage,\n    });\n  }\n\n  noPrevious() {\n    return this.page === 1;\n  }\n\n  noNext() {\n    return this.page === this.totalPages;\n  }\n\n  // Create page object used in template\n  makePage(num: number, text: string, isActive: boolean) {\n    return { num, text, active: isActive } as Page;\n  }\n\n  getPages(currentPage: number, totalPages: number) {\n    const pages: Array<Page> = [];\n    // Default page limits\n    let startPage = 1;\n    let endPage = totalPages;\n    const isMaxSized = this.maxPagesDisplayed < totalPages;\n\n    // recompute if maxPagesDisplayed\n    if (isMaxSized) {\n      // Current page is displayed in the middle of the visible ones\n      startPage = Math.max(currentPage - Math.floor(this.maxPagesDisplayed / 2), 1);\n      endPage = startPage + this.maxPagesDisplayed - 1;\n\n      // Adjust if limit is exceeded\n      if (endPage > totalPages) {\n        endPage = totalPages;\n        startPage = endPage - this.maxPagesDisplayed + 1;\n      }\n    }\n\n    // Add page number links\n    for (let num = startPage; num <= endPage; num++) {\n      const page = this.makePage(num, num.toString(), num === currentPage);\n      pages.push(page);\n    }\n    return pages;\n  }\n\n  calculateTotalPages() {\n    const totalPages = this.itemsPerPage < 1 ? 1 : Math.ceil(this.totalItems / this.itemsPerPage);\n    return Math.max(totalPages || 0, 1);\n  }\n}\n","import { CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef, CDK_ROW_TEMPLATE } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, HostBinding, Input } from '@angular/core';\n\n/** Workaround for https://github.com/angular/angular/issues/17849 */\nexport const _NovoHeaderRowDef = CdkHeaderRowDef;\nexport const _NovoCdkRowDef = CdkRowDef;\nexport const _NovoHeaderRow = CdkHeaderRow;\nexport const _NovoRow = CdkRow;\n\n@Directive({\n    selector: '[novoSimpleHeaderRowDef]',\n    providers: [{ provide: CdkHeaderRowDef, useExisting: NovoSimpleHeaderRowDef }],\n    standalone: false,\n})\nexport class NovoSimpleHeaderRowDef extends _NovoHeaderRowDef {\n  // TODO: add explicit constructor\n\n  @Input('novoSimpleHeaderRowDef')\n  columns;\n}\n\n@Directive({\n    selector: '[novoSimpleRowDef]',\n    providers: [{ provide: CdkRowDef, useExisting: NovoSimpleRowDef }],\n    standalone: false,\n})\nexport class NovoSimpleRowDef<T> extends _NovoCdkRowDef<T> {\n  // TODO: add explicit constructor\n\n  @Input('novoSimpleRowDefColumns')\n  columns;\n}\n\n@Component({\n    selector: 'novo-simple-header-row',\n    template: CDK_ROW_TEMPLATE,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class NovoSimpleHeaderRow extends _NovoHeaderRow {\n  @HostBinding('class')\n  public rowClass = 'novo-simple-header-row';\n  @HostBinding('attr.role')\n  public role = 'row';\n}\n\n@Component({\n    selector: 'novo-simple-row',\n    template: CDK_ROW_TEMPLATE,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: false,\n})\nexport class NovoSimpleRow extends _NovoRow {\n  @HostBinding('class')\n  public rowClass = 'novo-simple-row';\n  @HostBinding('attr.role')\n  public role = 'row';\n}\n","import { DataSource } from '@angular/cdk/table';\nimport { ChangeDetectorRef } from '@angular/core';\nimport { merge, Observable, of } from 'rxjs';\nimport { catchError, map, startWith, switchMap } from 'rxjs/operators';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoActivityTableState } from './state';\n\nexport interface ActivityTableService<T> {\n  getTableResults(\n    sort: { id: string; value: string; transform?: Function },\n    filter: { id: string; value: string; transform?: Function },\n    page: number,\n    pageSize: number,\n    globalSearch?: string,\n    outsideFilter?: any,\n  ): Observable<{ results: T[]; total: number }>;\n}\n\nexport abstract class RemoteActivityTableService<T> implements ActivityTableService<T> {\n  abstract getTableResults(\n    sort: { id: string; value: string; transform?: Function },\n    filter: { id: string; value: string; transform?: Function },\n    page: number,\n    pageSize: number,\n    globalSearch?: string,\n    outsideFilter?: any,\n  ): Observable<{ results: T[]; total: number }>;\n}\n\nexport class StaticActivityTableService<T> implements ActivityTableService<T> {\n  constructor(private data: T[] = []) {}\n\n  public getTableResults(\n    sort: { id: string; value: string; transform?: Function },\n    filter: { id: string; value: string; transform?: Function },\n    page: number = 0,\n    pageSize: number,\n    globalSearch?: string,\n    outsideFilter?: any,\n  ): Observable<{ results: T[]; total: number }> {\n    let ret: T[] = Helpers.deepClone(this.data);\n    if (ret.length !== 0) {\n      if (globalSearch) {\n        ret = ret.filter((item) => Object.keys(item).some((key) => `${item[key]}`.toLowerCase().includes(globalSearch.toLowerCase())));\n      }\n      if (filter) {\n        const value = Helpers.isString(filter.value) ? filter.value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&') : filter.value;\n        ret = ret.filter(Helpers.filterByField(filter.id, value));\n      }\n      if (sort) {\n        ret = ret.sort(Helpers.sortByField(sort.id, sort.value === 'desc'));\n      }\n      if (!Helpers.isBlank(page) && !Helpers.isBlank(pageSize)) {\n        ret = ret.slice(page * pageSize, (page + 1) * pageSize);\n      }\n    }\n    return of({ results: ret, total: this.data.length });\n  }\n}\n\nexport class ActivityTableDataSource<T> extends DataSource<T> {\n  public total = 0;\n  public current = 0;\n  public loading = false;\n  public pristine = true;\n\n  get totallyEmpty(): boolean {\n    return this.total === 0;\n  }\n\n  get currentlyEmpty(): boolean {\n    return this.current === 0;\n  }\n\n  constructor(private tableService: ActivityTableService<T>, private state: NovoActivityTableState, private ref: ChangeDetectorRef) {\n    super();\n  }\n\n  public connect(): Observable<any[]> {\n    const displayDataChanges: any = [this.state.updates];\n    return merge(...displayDataChanges).pipe(\n      startWith(null),\n      switchMap(() => {\n        this.pristine = false;\n        this.loading = true;\n        return this.tableService.getTableResults(\n          this.state.sort,\n          this.state.filter,\n          this.state.page,\n          this.state.pageSize,\n          this.state.globalSearch,\n          this.state.outsideFilter,\n        );\n      }),\n      map((data: { results: T[]; total: number }) => {\n        this.loading = false;\n        this.total = data.total;\n        this.current = data.results.length;\n        setTimeout(() => {\n          this.ref.markForCheck();\n        });\n        return data.results;\n      }),\n      catchError((error) => {\n        console.error(error);\n        this.loading = false;\n        return of(null);\n      }),\n    );\n  }\n\n  public disconnect(): void {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _VIEW_REPEATER_STRATEGY, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport { CdkTable, CDK_TABLE } from '@angular/cdk/table';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Directive,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnDestroy,\n  SimpleChanges,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { notify } from 'novo-elements/utils';\nimport { SimpleTableActionColumn, SimpleTableColumn, SimpleTablePaginationOptions, SimpleTableSearchOptions } from './interfaces';\nimport { NovoActivityTableState } from './state';\nimport { ActivityTableDataSource, ActivityTableService } from './table-source';\n\n@Component({\n    selector: 'novo-simple-table',\n    template: `\n      <table role=\"table\">\n        <caption></caption>\n        <colgroup></colgroup>\n        <thead role=\"rowgroup\">\n          <ng-container headerRowOutlet></ng-container>\n        </thead>\n        <tbody role=\"rowgroup\">\n          <ng-container rowOutlet></ng-container>\n          <ng-container noDataRowOutlet></ng-container>\n        </tbody>\n        <tfoot role=\"rowgroup\">\n          <ng-container footerRowOutlet></ng-container>\n        </tfoot>\n      </table>`,\n    styleUrls: ['./table.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [{ provide: CDK_TABLE, useExisting: NovoTable }],\n    standalone: false,\n})\nexport class NovoTable<T> extends CdkTable<T> {\n  // TODO: add explicit constructor\n}\n\n@Directive({\n    selector: 'novo-activity-table-actions',\n    standalone: false,\n})\nexport class NovoActivityTableActions {}\n\n@Directive({\n    selector: 'novo-activity-table-custom-header',\n    standalone: false,\n})\nexport class NovoActivityTableCustomHeader {}\n\n@Directive({\n    selector: 'novo-activity-table-custom-filter',\n    standalone: false,\n})\nexport class NovoActivityTableCustomFilter {}\n\n@Directive({\n    selector: 'novo-activity-table-empty-message',\n    standalone: false,\n})\nexport class NovoActivityTableEmptyMessage {}\n\n@Directive({\n    selector: 'novo-activity-table-no-results-message',\n    standalone: false,\n})\nexport class NovoActivityTableNoResultsMessage {}\n\n@Component({\n    selector: 'novo-activity-table',\n    template: `\n    <div *ngIf=\"debug\">\n      <p>Total: {{ dataSource?.total }}</p>\n      <p>Current: {{ dataSource?.current }}</p>\n      <p>Totally Empty: {{ dataSource?.totallyEmpty }}</p>\n      <p>Currently Empty: {{ dataSource?.currentlyEmpty }}</p>\n      <p>Loading (DataSource): {{ dataSource?.loading }}</p>\n      <p>User Filtered: {{ state.userFiltered }}</p>\n      <p>Loading (Table): {{ loading }}</p>\n    </div>\n    <header *ngIf=\"(!(dataSource?.totallyEmpty && !state.userFiltered) && !loading) || forceShowHeader\">\n      <ng-content select=\"[novo-activity-table-custom-header]\"></ng-content>\n      <novo-search\n        [alwaysOpen]=true\n        (searchChanged)=\"onSearchChange($event)\"\n        [(ngModel)]=\"state.globalSearch\"\n        *ngIf=\"!hideGlobalSearch\"\n        [placeholder]=\"searchOptions?.placeholder\"\n        [hint]=\"searchOptions?.tooltip\"\n      >\n      </novo-search>\n      <novo-simple-table-pagination\n        *ngIf=\"paginationOptions\"\n        [length]=\"dataSource?.total\"\n        [page]=\"paginationOptions.page\"\n        [pageSize]=\"paginationOptions.pageSize\"\n        [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n      >\n      </novo-simple-table-pagination>\n      <div class=\"novo-activity-table-actions\">\n        <ng-content select=\"[novo-activity-table-actions]\"></ng-content>\n      </div>\n    </header>\n    <div class=\"novo-activity-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-activity-table-loading\">\n      <novo-loading></novo-loading>\n    </div>\n    <div class=\"novo-activity-table-filter-container\">\n      <div class=\"novo-activity-table-custom-filter\" *ngIf=\"customFilter\">\n        <ng-content select=\"[novo-activity-table-custom-filter]\"></ng-content>\n      </div>\n      <div class=\"novo-activity-table-container\">\n        <novo-simple-table\n          *ngIf=\"columns?.length > 0\"\n          [dataSource]=\"dataSource\"\n          novoSortFilter\n          novoSelection\n          [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n          [hidden]=\"dataSource?.totallyEmpty && !state.userFiltered\">\n          <ng-content></ng-content>\n          <ng-container novoSimpleColumnDef=\"selection\">\n            <novo-simple-checkbox-header-cell *novoSimpleHeaderCellDef></novo-simple-checkbox-header-cell>\n            <novo-simple-checkbox-cell *novoSimpleCellDef=\"let row; let i = index\" [row]=\"row\" [index]=\"i\"></novo-simple-checkbox-cell>\n          </ng-container>\n          <ng-container *ngFor=\"let column of actionColumns\" [novoSimpleColumnDef]=\"column.id\">\n            <novo-simple-empty-header-cell\n              [class.button-header-cell]=\"!column.options\"\n              [class.dropdown-header-cell]=\"column.options\"\n              *novoSimpleHeaderCellDef\n            ></novo-simple-empty-header-cell>\n            <novo-simple-action-cell *novoSimpleCellDef=\"let row; let i = index\" [row]=\"row\" [column]=\"column\"></novo-simple-action-cell>\n          </ng-container>\n          <ng-container *ngFor=\"let column of columns\" [novoSimpleColumnDef]=\"column.id\">\n            <novo-simple-header-cell\n              *novoSimpleHeaderCellDef\n              [column]=\"column\"\n              [novo-simple-cell-config]=\"column.config\"\n              [defaultSort]=\"defaultSort\"\n              >{{ column.label }}</novo-simple-header-cell>\n            <novo-simple-cell *novoSimpleCellDef=\"let row\" [column]=\"column\" [row]=\"row\"></novo-simple-cell>\n          </ng-container>\n          <novo-simple-header-row *novoSimpleHeaderRowDef=\"displayedColumns\"></novo-simple-header-row>\n          <novo-simple-row *novoSimpleRowDef=\"let row; columns: displayedColumns\"></novo-simple-row>\n        </novo-simple-table>\n        <div\n          class=\"novo-activity-table-no-results-container\"\n          *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n        >\n          <div #filtered><ng-content select=\"[novo-activity-table-no-results-message]\"></ng-content></div>\n          <div class=\"novo-activity-table-empty-message\" *ngIf=\"filtered.childNodes.length == 0\">\n            <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n          </div>\n        </div>\n        <div\n          class=\"novo-activity-table-empty-container\"\n          *ngIf=\"dataSource?.totallyEmpty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n        >\n          <div #empty><ng-content select=\"[novo-activity-table-empty-message]\"></ng-content></div>\n          <div class=\"novo-activity-table-empty-message\" *ngIf=\"empty.childNodes.length == 0\">\n            <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n    styleUrls: ['./table.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        NovoActivityTableState,\n        { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n    ],\n    standalone: false,\n})\nexport class NovoActivityTable<T> implements AfterContentInit, OnChanges, OnDestroy {\n  @HostBinding('class.global-search-hidden')\n  globalSearchHiddenClassToggle: boolean = false;\n\n  @Input()\n  activityService: ActivityTableService<T>;\n  @Input()\n  columns: SimpleTableColumn<T>[];\n  @Input()\n  displayedColumns: string[];\n  @Input()\n  actionColumns: SimpleTableActionColumn<T>[];\n  @Input()\n  paginationOptions: SimpleTablePaginationOptions;\n  @Input()\n  searchOptions: SimpleTableSearchOptions;\n  @Input()\n  defaultSort: { id: string; value: string };\n  @Input()\n  outsideFilter: EventEmitter<any>;\n\n  @Input()\n  set customFilter(v: boolean) {\n    this._customFilter = coerceBooleanProperty(v);\n  }\n  get customFilter() {\n    return this._customFilter;\n  }\n  private _customFilter: boolean;\n\n  @Input()\n  set forceShowHeader(v: boolean) {\n    this._forceShowHeader = coerceBooleanProperty(v);\n  }\n  get forceShowHeader() {\n    return this._forceShowHeader;\n  }\n  private _forceShowHeader: boolean;\n\n  @Input()\n  set hideGlobalSearch(v: boolean) {\n    this._hideGlobalSearch = coerceBooleanProperty(v);\n    this.globalSearchHiddenClassToggle = this._hideGlobalSearch;\n  }\n  get hideGlobalSearch() {\n    return this._hideGlobalSearch;\n  }\n  private _hideGlobalSearch: boolean;\n\n  @Input()\n  set debug(v: boolean) {\n    this._debug = coerceBooleanProperty(v);\n  }\n  get debug() {\n    return this._debug;\n  }\n  private _debug: boolean;\n\n  public dataSource: ActivityTableDataSource<T>;\n  public loading: boolean = true;\n\n  private outsideFilterSubscription: Subscription;\n\n  @HostBinding('class.empty')\n  get empty() {\n    return this.dataSource && this.dataSource.totallyEmpty;\n  }\n\n  @HostBinding('class.loading')\n  get loadingClass() {\n    return this.loading || (this.dataSource && this.dataSource.loading);\n  }\n\n  constructor(public labels: NovoLabelService, private ref: ChangeDetectorRef, public state: NovoActivityTableState) {\n    notify('[Deprecated]: The simple table is deprecated. Please migrate to novo-data-tables!');\n  }\n\n  public ngOnChanges(changes: SimpleChanges): void {\n    this.loading = changes.activityService && !changes.activityService.currentValue;\n    this.ref.detectChanges();\n    if (changes.activityService && changes.activityService.currentValue) {\n      this.loading = false;\n      this.dataSource = new ActivityTableDataSource<T>(this.activityService, this.state, this.ref);\n      this.ref.detectChanges();\n    }\n    if (changes.outsideFilter && changes.outsideFilter.currentValue) {\n      if (!this.outsideFilterSubscription) {\n        this.outsideFilterSubscription = this.outsideFilter.subscribe((filter: any) => {\n          this.state.outsideFilter = filter;\n          this.state.updates.next({ globalSearch: this.state.globalSearch, filter: this.state.filter, sort: this.state.sort });\n          this.ref.markForCheck();\n        });\n      }\n    }\n  }\n\n  public ngOnDestroy(): void {\n    if (this.outsideFilterSubscription) {\n      this.outsideFilterSubscription.unsubscribe();\n    }\n  }\n\n  public ngAfterContentInit(): void {\n    if (this.paginationOptions && !this.paginationOptions.page) {\n      this.paginationOptions.page = 0;\n    }\n    if (this.paginationOptions && !this.paginationOptions.pageSize) {\n      this.paginationOptions.pageSize = 50;\n    }\n    if (this.paginationOptions && !this.paginationOptions.pageSizeOptions) {\n      this.paginationOptions.pageSizeOptions = [10, 25, 50, 100];\n    }\n    this.state.page = this.paginationOptions ? this.paginationOptions.page : undefined;\n    this.state.pageSize = this.paginationOptions ? this.paginationOptions.pageSize : undefined;\n    this.ref.markForCheck();\n  }\n\n  public onSearchChange(term: string): void {\n    this.state.globalSearch = term;\n    this.state.reset(false, true);\n    this.state.updates.next({ globalSearch: term, filter: this.state.filter, sort: this.state.sort });\n  }\n}\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoCheckboxModule } from 'novo-elements/elements/checkbox';\nimport { NovoCommonModule, NovoOptionModule } from 'novo-elements/elements/common';\nimport { NovoDatePickerModule } from 'novo-elements/elements/date-picker';\nimport { NovoDropdownModule } from 'novo-elements/elements/dropdown';\nimport { NovoFormExtrasModule } from 'novo-elements/elements/form';\nimport { NovoLoadingModule } from 'novo-elements/elements/loading';\nimport { NovoSearchBoxModule } from 'novo-elements/elements/search';\nimport { NovoSelectModule } from 'novo-elements/elements/select';\nimport { NovoTilesModule } from 'novo-elements/elements/tiles';\nimport {\n  NovoSimpleActionCell,\n  NovoSimpleCell,\n  NovoSimpleCellDef,\n  NovoSimpleCheckboxCell,\n  NovoSimpleCheckboxHeaderCell,\n  NovoSimpleColumnDef,\n  NovoSimpleEmptyHeaderCell,\n  NovoSimpleHeaderCell,\n  NovoSimpleHeaderCellDef,\n} from './cell';\nimport { NovoSimpleCellHeader, NovoSimpleFilterFocus } from './cell-header';\nimport { NovoSimpleTablePagination } from './pagination';\nimport { Pagination } from './PaginationOld';\nimport { NovoSimpleHeaderRow, NovoSimpleHeaderRowDef, NovoSimpleRow, NovoSimpleRowDef } from './row';\nimport { NovoSelection, NovoSortFilter } from './sort';\nimport { NovoActivityTableState } from './state';\nimport {\n  NovoActivityTable,\n  NovoActivityTableActions,\n  NovoActivityTableCustomFilter,\n  NovoActivityTableCustomHeader,\n  NovoActivityTableEmptyMessage,\n  NovoActivityTableNoResultsMessage,\n  NovoTable,\n} from './table';\n\n@NgModule({\n  imports: [\n    NovoDatePickerModule,\n    CdkTableModule,\n    CommonModule,\n    FormsModule,\n    NovoCommonModule,\n    NovoButtonModule,\n    NovoDropdownModule,\n    NovoFormExtrasModule,\n    NovoLoadingModule,\n    NovoTilesModule,\n    NovoSearchBoxModule,\n    NovoSelectModule,\n    NovoCheckboxModule,\n    NovoOptionModule,\n  ],\n  exports: [\n    NovoTable,\n    NovoSimpleCellDef,\n    NovoSimpleHeaderCellDef,\n    NovoSimpleColumnDef,\n    NovoActivityTableEmptyMessage,\n    NovoActivityTableNoResultsMessage,\n    NovoSimpleHeaderRowDef,\n    NovoSimpleRowDef,\n    NovoSimpleCellHeader,\n    NovoSortFilter,\n    NovoSimpleActionCell,\n    NovoSimpleEmptyHeaderCell,\n    NovoSimpleHeaderCell,\n    NovoSimpleCell,\n    NovoSimpleHeaderRow,\n    NovoSimpleRow,\n    NovoSimpleFilterFocus,\n    NovoSimpleTablePagination,\n    NovoActivityTableCustomHeader,\n    NovoSimpleCheckboxCell,\n    NovoSimpleCheckboxHeaderCell,\n    NovoSelection,\n    NovoActivityTable,\n    NovoActivityTableActions,\n    NovoActivityTableCustomFilter,\n    Pagination,\n  ],\n  declarations: [\n    NovoTable,\n    NovoSimpleCellDef,\n    NovoSimpleHeaderCellDef,\n    NovoSimpleColumnDef,\n    NovoActivityTableEmptyMessage,\n    NovoActivityTableNoResultsMessage,\n    NovoSimpleHeaderRowDef,\n    NovoSimpleRowDef,\n    NovoSimpleCellHeader,\n    NovoSortFilter,\n    NovoSimpleActionCell,\n    NovoSimpleEmptyHeaderCell,\n    NovoSimpleHeaderCell,\n    NovoSimpleCell,\n    NovoSimpleHeaderRow,\n    NovoSimpleRow,\n    NovoSimpleFilterFocus,\n    NovoSimpleTablePagination,\n    NovoActivityTableCustomHeader,\n    NovoSimpleCheckboxCell,\n    NovoSimpleCheckboxHeaderCell,\n    NovoSelection,\n    NovoActivityTable,\n    NovoActivityTableActions,\n    NovoActivityTableCustomFilter,\n    Pagination,\n  ],\n  providers: [NovoActivityTableState],\n})\nexport class NovoSimpleTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoActivityTableState","i2.NovoSelection","i5","i7","i8","i1","i2.NovoActivityTableState","i3.NovoSortFilter","i4","i9","i10","i3","i6","i2","i3.NovoActivityTableState","i8.NovoSimpleCellDef","i8.NovoSimpleHeaderCellDef","i8.NovoSimpleColumnDef","i9.NovoSimpleHeaderRowDef","i9.NovoSimpleRowDef","i10.NovoSimpleCellHeader","i11.NovoSortFilter","i8.NovoSimpleActionCell","i8.NovoSimpleEmptyHeaderCell","i8.NovoSimpleHeaderCell","i8.NovoSimpleCell","i9.NovoSimpleHeaderRow","i9.NovoSimpleRow","i12.NovoSimpleTablePagination","i8.NovoSimpleCheckboxCell","i8.NovoSimpleCheckboxHeaderCell","i11.NovoSelection"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAa,sBAAsB,CAAA;IACjC,OAAO,gBAAgB,CAAI,IAAY,EAAA;AACrC,QAAA,MAAM,GAAG,GAAG,CAAC,IAAO,KAAY;;AAE9B,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,QAAA,CAAC;AACD,QAAA,OAAO,GAAG;IACZ;IAEA,OAAO,YAAY,CAAI,IAAY,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,CAAC,IAAO,KAAY;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,GAAG,EAAE;AACpE,QAAA,CAAC;AACD,QAAA,OAAO,GAAG;IACZ;AACD;;MCXY,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,EAAE,GAAW,IAAI,CAAC,MAAM,EAAE;QAC1B,IAAA,CAAA,IAAI,GAAkC,SAAS;QAC/C,IAAA,CAAA,MAAM,GAAkC,SAAS;QACjD,IAAA,CAAA,IAAI,GAAW,CAAC;QAChB,IAAA,CAAA,QAAQ,GAAW,SAAS;QAC5B,IAAA,CAAA,YAAY,GAAW,SAAS;AAChC,QAAA,IAAA,CAAA,YAAY,GAAwB,IAAI,GAAG,EAAkB;AAG7D,QAAA,IAAA,CAAA,OAAO,GAAwC,IAAI,YAAY,EAAyB;AACxF,QAAA,IAAA,CAAA,OAAO,GAA0B,IAAI,YAAY,EAAW;AAuB7D,IAAA;AArBC,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;IAChF;AAEO,IAAA,KAAK,CAAC,UAAA,GAAsB,IAAI,EAAE,kBAA4B,EAAA;QACnE,IAAI,CAAC,kBAAkB,EAAE;AACvB,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS;AACrB,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS;AAC7B,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS;QACzB;AACA,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;AAChC,aAAA,CAAC;QACJ;IACF;+GAjCW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAtB,sBAAsB,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC;;;MCKY,cAAc,CAAA;AACzB,IAAA,WAAA,CAAoB,KAA6B,EAAA;QAA7B,IAAA,CAAA,KAAK,GAAL,KAAK;IAA2B;AAE7C,IAAA,MAAM,CAAC,EAAU,EAAE,KAAU,EAAE,SAAmB,EAAA;AACvD,QAAA,IAAI,MAAM;QACV,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;QACnC;aAAO;YACL,MAAM,GAAG,SAAS;QACpB;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5D;AAEO,IAAA,IAAI,CAAC,EAAU,EAAE,KAAa,EAAE,SAAmB,EAAA;QACxD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;AACrC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC9D;+GApBW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;MA4BY,aAAa,CAAA;AAOxB,IAAA,WAAA,CAAmB,KAA6B,EAAA;QAA7B,IAAA,CAAA,KAAK,GAAL,KAAK;AALjB,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW;AAEjD,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,GAAG,EAAkB;IAGS;IAE5C,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAA;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;IAC3B;AAEO,IAAA,UAAU,CAAC,EAAE,EAAA;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;AAClC,QAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC;AAClC,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAK;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE;AACtC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;YACtC;AACF,QAAA,CAAC,CAAC;IACJ;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;IACjC;AAEO,IAAA,MAAM,CAAC,EAAU,EAAE,QAAiB,EAAE,GAAQ,EAAA;QACnD,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;QACtC;aAAO;YACL,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC;IACF;AAEO,IAAA,SAAS,CAAC,KAAc,EAAA;QAC7B,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,CAAiB,IAAI,CAAC,OAAO,CAAC;QACjE;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE;QACjC;AACA,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;IACtC;+GA5CW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE;;;AChBH;AACO,MAAM,YAAY,GAAG;AACrB,MAAM,kBAAkB,GAAG;AAC3B,MAAM,cAAc,GAAG;AACvB,MAAM,eAAe,GAAG;AACxB,MAAM,SAAS,GAAG;AAOnB,MAAO,iBAAkB,SAAQ,YAAY,CAAA;+GAAtC,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,SAAA,EAHf,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG3D,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;oBAC/B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAA,iBAAmB,EAAE,CAAC;AACpE,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;AAUK,MAAO,uBAAwB,SAAQ,kBAAkB,CAAA;+GAAlD,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,SAAA,EAHrB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGvE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAA,uBAAyB,EAAE,CAAC;AAChF,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;AAUK,MAAO,mBAAoB,SAAQ,cAAc,CAAA;AACrD,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1B;AACA;;;;;AAKG;AACO,IAAA,aAAa,CAAC,KAAa,EAAA;;;QAGnC,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;YAC/D,IAAI,CAAC,yBAAyB,EAAE;QAClC;IACF;+GAtBW,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,EAAA,EAAA,SAAA,EAHjB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG/D,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;oBACjC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAA,mBAAqB,EAAE,CAAC;AACxE,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE,KAAK;uBAAC,qBAAqB;;AA4BxB,MAAO,oBAAwB,SAAQ,eAAe,CAAA;AAO1D,IAAA,WAAA,CAAY,SAAuB,EAAU,UAAsB,EAAU,QAAmB,EAAA;AAC9F,QAAA,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;QADe,IAAA,CAAA,UAAU,GAAV,UAAU;QAAsB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAL9E,IAAA,CAAA,IAAI,GAAG,cAAc;AAO1B,QAAA,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,oBAAoB,EAAE,sBAAsB,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;AAC7H,QAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,YAAA,EAAe,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;QAC5F,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,yBAAyB,CAAC;IACxE;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA,EAAA,CAAI,CAAC;YAC5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA,EAAA,CAAI,CAAC;YAC5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA,EAAA,CAAI,CAAC;QAC1F;IACF;+GApBW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE,WAAW;uBAAC,WAAW;;sBAGvB;;AAuBG,MAAO,yBAA0B,SAAQ,eAAe,CAAA;AAI5D,IAAA,WAAA,CAAY,SAAuB,EAAE,UAAsB,EAAE,QAAmB,EAAA;AAC9E,QAAA,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;QAHvB,IAAA,CAAA,IAAI,GAAG,cAAc;AAI1B,QAAA,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,oBAAoB,EAAE,sBAAsB,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;AAC7H,QAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,YAAA,EAAe,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;QAC5F,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,+BAA+B,CAAC;IAC9E;+GATW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE,WAAW;uBAAC,WAAW;;AAgBpB,MAAO,4BAA6B,SAAQ,eAAe,CAAA;IAO/D,WAAA,CACE,SAAuB,EACvB,UAAsB,EACtB,QAAmB,EACnB,GAAsB,EACF,UAAyB,EAAA;AAE7C,QAAA,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;QAFR,IAAA,CAAA,UAAU,GAAV,UAAU;QAVzB,IAAA,CAAA,IAAI,GAAG,cAAc;QAErB,IAAA,CAAA,SAAS,GAAY,KAAK;AAW/B,QAAA,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,oBAAoB,EAAE,+BAA+B,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;AACtI,QAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;QACrG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,kCAAkC,CAAC;AAE/E,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAc,KAAI;AACvF,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;YACtB,GAAG,CAAC,YAAY,EAAE;AACpB,QAAA,CAAC,CAAC;IACJ;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE;IAC1C;AAEO,IAAA,MAAM,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;IAClC;+GA/BW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,wKAH3B,0FAA0F,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAG3F,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,0FAA0F;AACpG,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAaI;;sBAXF,WAAW;uBAAC,WAAW;;AAuCpB,MAAO,cAAkB,SAAQ,SAAS,CAAA;AAS9C,IAAA,WAAA,CAAY,SAAuB,EAAU,UAAsB,EAAU,QAAmB,EAAA;AAC9F,QAAA,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;QADe,IAAA,CAAA,UAAU,GAAV,UAAU;QAAsB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAP9E,IAAA,CAAA,IAAI,GAAG,UAAU;AAStB,QAAA,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;AACtH,QAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,YAAA,EAAe,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;QAC5F,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC;IACjE;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA,EAAA,CAAI,CAAC;YAC5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA,EAAA,CAAI,CAAC;YAC5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA,EAAA,CAAI,CAAC;QAC1F;IACF;AAEO,IAAA,OAAO,CAAC,KAAiB,EAAA;AAC9B,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/B;QACA;IACF;+GAjCW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,kMAJb,gHAAgH,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIjH,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gHAAgH;oBAC1H,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE,WAAW;uBAAC,WAAW;;sBAGvB;;sBAEA;;AAmCG,MAAO,sBAAuB,SAAQ,SAAS,CAAA;AAYnD,IAAA,WAAA,CAAmB,SAAuB,EAAE,UAAsB,EAAE,QAAmB,EAAqB,UAAyB,EAAA;AACnI,QAAA,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;QADX,IAAA,CAAA,SAAS,GAAT,SAAS;QAAgF,IAAA,CAAA,UAAU,GAAV,UAAU;QAV/G,IAAA,CAAA,IAAI,GAAG,UAAU;QAOjB,IAAA,CAAA,QAAQ,GAAY,KAAK;AAK9B,QAAA,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,oBAAoB,EAAE,wBAAwB,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;AAC/H,QAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;QACrG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,2BAA2B,CAAC;AAExE,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAc,KAAI;AACvF,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACvB,QAAA,CAAC,CAAC;IACJ;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC;IACnF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC;AACrD,QAAA,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE;IAC1C;AAEO,IAAA,MAAM,CAAC,KAAc,EAAA;QAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;IACpE;+GAnCW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yMAHrB,yFAAyF,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAG1F,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE,yFAAyF;AACnG,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAa2F;;sBAXzF,WAAW;uBAAC,WAAW;;sBAGvB;;sBAEA;;AAoDG,MAAO,oBAAwB,SAAQ,SAAS,CAAA;AASpD,IAAA,WAAA,CAAY,SAAuB,EAAU,UAAsB,EAAU,QAAmB,EAAS,MAAwB,EAAA;AAC/H,QAAA,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;QADe,IAAA,CAAA,UAAU,GAAV,UAAU;QAAsB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAAoB,IAAA,CAAA,MAAM,GAAN,MAAM;QAPxG,IAAA,CAAA,IAAI,GAAG,UAAU;AAStB,QAAA,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,oBAAoB,EAAE,sBAAsB,SAAS,CAAC,oBAAoB,CAAA,CAAE,CAAC;IAC/H;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,2BAA2B,CAAC;QACpF;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,yBAAyB,CAAC;QAClF;IACF;IAEO,UAAU,CAAC,KAAoE,EAAE,GAAM,EAAA;AAC5F,QAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC3B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,KAAK,CAAC,aAAa,EAAE;AACvB,YAAA,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;QACjC;AACA,QAAA,OAAO,KAAK;IACd;+GA9BW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlBnB;;;;;;;;;;;;;;AAcX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBApBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;AAcX,EAAA,CAAA;oBACC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE,WAAW;uBAAC,WAAW;;sBAGvB;;sBAEA;;;MC/OU,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,OAAmB,EAAA;QAAnB,IAAA,CAAA,OAAO,GAAP,OAAO;IAAe;IAE1C,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;IACpC;+GALW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;MAoGY,oBAAoB,CAAA;AAO/B,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAI,MAAM,CAAC,CAAC,EAAA;QACV,IAAI,CAAC,CAAC,EAAE;YACN,IAAI,CAAC,OAAO,GAAG;AACb,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,YAAY,EAAE;AACZ,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;aACF;QACH;aAAO;YACL,IAAI,CAAC,OAAO,GAAG;AACb,gBAAA,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3C,gBAAA,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC;AAC/C,gBAAA,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;AAC9B,gBAAA,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI;AAC9B,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;aACF;AAED,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE;gBACnF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,2BAA2B,EAAE;YACxE;QACF;IACF;IAqBA,WAAA,CACU,iBAAoC,EACrC,MAAwB,EACvB,KAA6B,EAClB,KAAqB,EACrB,aAA2B,EAAA;QAJtC,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAClB,IAAA,CAAA,MAAM,GAAN,MAAM;QACL,IAAA,CAAA,KAAK,GAAL,KAAK;QACM,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,aAAa,GAAb,aAAa;QAd3B,IAAA,CAAA,IAAI,GAAW,UAAU;QAIzB,IAAA,CAAA,YAAY,GAAY,KAAK;QAC7B,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,eAAe,GAAY,KAAK;AAUrC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAA6B,KAAI;AACrF,YAAA,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;gBAC7C,IAAI,CAAC,IAAI,GAAG,CAAA,KAAA,EAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAA,CAAE;AACvC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;YACxB;iBAAO;AACL,gBAAA,IAAI,CAAC,IAAI,GAAG,UAAU;AACtB,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACzB;AACA,YAAA,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;AACjD,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;gBACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK;YACnC;iBAAO;AACL,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,gBAAA,IAAI,CAAC,MAAM,GAAG,SAAS;YACzB;YACA,iBAAiB,CAAC,YAAY,EAAE;AAClC,QAAA,CAAC,CAAC;IACJ;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI;QACnC;AACA,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;YACvD,IAAI,CAAC,IAAI,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAA,CAAE;AAC5C,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACvC;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE;IAC1C;IAEO,IAAI,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QAClC;AACA,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;AACtE,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACvC,CAAC,EAAE,GAAG,CAAC;IACT;IAEO,iBAAiB,CAAC,KAAY,EAAE,KAAc,EAAA;AACnD,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5B;AAEO,IAAA,UAAU,CAAC,MAAY,EAAA;QAC5B,IAAI,YAAY,GAAG,MAAM;AACzB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,EAAE;AACtD,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe;YACnE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE;AACtC,gBAAA,YAAY,GAAG;oBACb,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC/C,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBACxF;YACH;iBAAO;AACL,gBAAA,YAAY,GAAG;oBACb,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,EAAE;oBAC/E,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,EAAE;iBACtF;YACH;QACF;QAEA,IAAI,YAAY,IAAI,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;AACxD,YAAA,YAAY,GAAG,MAAM,CAAC,KAAK;QAC7B;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QAClC;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;AACnC,YAAA,IAAI,YAAY,KAAK,EAAE,EAAE;gBACvB,YAAY,GAAG,SAAS;YAC1B;AACA,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;AACvE,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACvC,CAAC,EAAE,GAAG,CAAC;IACT;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS;AACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;QACjC,IAAI,CAAC,UAAU,EAAE;IACnB;AAEQ,IAAA,oBAAoB,CAAC,SAAiB,EAAA;QAC5C,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,OAAO,KAAK;QACd;AACA,QAAA,IAAI,SAAS,KAAK,KAAK,EAAE;AACvB,YAAA,OAAO,MAAM;QACf;AACA,QAAA,OAAO,KAAK;IACd;IAEQ,2BAA2B,GAAA;AACjC,QAAA,MAAM,IAAI,GAAoC;AAC5C,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AAChD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AACjD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;AACnD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;AACnD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;AACnD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AAC/C,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;AAChD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;AAClD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;AAClD,YAAA,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;SACnD;AACD,QAAA,OAAO,IAAI;IACb;+GAnLW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACpB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA1FlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA9FU,qBAAqB,EAAA,QAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAmGrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA3FhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFX,EAAA,CAAA;oBACC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BA6DI;;0BACA;;sBA5DF,SAAS;uBAAC,mBAAmB;;sBAG7B;;sBAGA,KAAK;uBAAC,yBAAyB;;;ACjIlC,MAAM,iBAAiB,GAAG,EAAE;MAoDf,yBAAyB,CAAA;AAGpC,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK;IACnB;IACA,IAAI,IAAI,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAC5F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;IAC9B;AAGA,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAI,MAAM,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAC5F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;IAC9F;AAGA,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,QAAgB,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;QACzB,IAAI,CAAC,8BAA8B,EAAE;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS;IACtC;AAGA,IAAA,IACI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IACA,IAAI,eAAe,CAAC,eAAyB,EAAA;AAC3C,QAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe;QACvC,IAAI,CAAC,8BAA8B,EAAE;IACvC;AAYA,IAAA,WAAA,CAAoB,iBAAoC,EAAS,MAAwB,EAAU,KAA6B,EAAA;QAA5G,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAA4B,IAAA,CAAA,MAAM,GAAN,MAAM;QAA4B,IAAA,CAAA,KAAK,GAAL,KAAK;QA5CxG,IAAA,CAAA,KAAK,GAAW,CAAC;QAYjB,IAAA,CAAA,OAAO,GAAW,CAAC;QAqBX,IAAA,CAAA,gBAAgB,GAAa,EAAE;AAGvC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAA6B;AASxD,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAc,KAAI;gBACvE,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,oBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;gBACvC;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,8BAA8B,EAAE;IACvC;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;IACtC;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACvB;QACF;QACA,IAAI,CAAC,IAAI,EAAE;QACX,IAAI,CAAC,aAAa,EAAE;IACtB;IAEO,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B;QACF;QACA,IAAI,CAAC,IAAI,EAAE;QACX,IAAI,CAAC,aAAa,EAAE;IACtB;IAEO,eAAe,GAAA;QACpB,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;IAC9C;IAEO,WAAW,GAAA;AAChB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,GAAG,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;IACzD;AAEO,IAAA,cAAc,CAAC,QAAgB,EAAA;AACpC,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;QACxB,IAAI,CAAC,aAAa,EAAE;IACtB;IAEQ,8BAA8B,GAAA;AACpC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB;QACF;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,iBAAiB;QAClG;QACA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAC5D,QAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAC/D,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnD;AACA,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAC5F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;IAC9F;IAEQ,aAAa,GAAA;AACnB,QAAA,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;QAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;QAC5F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;+GA1IW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhDxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,uBAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAlDrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CX,EAAA,CAAA;oBACC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAIE;;sBAaA;;sBAYA;;sBAWA;;sBAUA;;;AC3GH;MAgDa,UAAU,CAAA;AAWrB,IAAA,IACI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,kBAAkB;IAChC;IACA,IAAI,oBAAoB,CAAC,GAAY,EAAA;AACnC,QAAA,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC;IACtD;AAaA,IAAA,WAAA,CAAmB,MAAwB,EAAA;QAAxB,IAAA,CAAA,MAAM,GAAN,MAAM;QAxBzB,IAAA,CAAA,YAAY,GAAG,EAAE;AAajB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE;AAE/B,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAE;AAEvC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE;QAGjC,IAAA,CAAA,iBAAiB,GAAG,CAAC;IAIyB;IAE9C,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,EAAE;IAClE;AAEA,IAAA,WAAW,CAAC,OAAuB,EAAA;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAC5C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;IACxD;IAEA,oBAAoB,GAAA;QAClB,OAAO;AACL,YAAA,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1B,YAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;SAC7B;IACH;AAEA,IAAA,iBAAiB,CAAC,KAAK,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAC5C,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;AAChC,SAAA,CAAC;IACJ;IAEA,UAAU,CAAC,IAAY,EAAE,KAAkB,EAAA;QACzC,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,cAAc,EAAE;QACxB;AAEA,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;AAChC,SAAA,CAAC;IACJ;IAEA,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC;IACxB;IAEA,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU;IACtC;;AAGA,IAAA,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,QAAiB,EAAA;QACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAU;IAChD;IAEA,QAAQ,CAAC,WAAmB,EAAE,UAAkB,EAAA;QAC9C,MAAM,KAAK,GAAgB,EAAE;;QAE7B,IAAI,SAAS,GAAG,CAAC;QACjB,IAAI,OAAO,GAAG,UAAU;AACxB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,GAAG,UAAU;;QAGtD,IAAI,UAAU,EAAE;;YAEd,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC;;AAGhD,YAAA,IAAI,OAAO,GAAG,UAAU,EAAE;gBACxB,OAAO,GAAG,UAAU;gBACpB,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC;YAClD;QACF;;AAGA,QAAA,KAAK,IAAI,GAAG,GAAG,SAAS,EAAE,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE,EAAE;AAC/C,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,WAAW,CAAC;AACpE,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAClB;AACA,QAAA,OAAO,KAAK;IACd;IAEA,mBAAmB,GAAA;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7F,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC;+GA3HW,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnCT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gkCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAKU,UAAU,EAAA,UAAA,EAAA,CAAA;kBArCtB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,QAAA,EACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BX,EAAA,CAAA,EAAA,aAAA,EAEgB,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,KAAK,EAAA,MAAA,EAAA,CAAA,gkCAAA,CAAA,EAAA;;sBAGlB;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAOA;;sBAEA;;sBAEA;;;ACnEH;AACO,MAAM,iBAAiB,GAAG;AAC1B,MAAM,cAAc,GAAG;AACvB,MAAM,cAAc,GAAG;AACvB,MAAM,QAAQ,GAAG;AAOlB,MAAO,sBAAuB,SAAQ,iBAAiB,CAAA;+GAAhD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAHpB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGrE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;oBACpC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC;AAC9E,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAIE,KAAK;uBAAC,wBAAwB;;AAS3B,MAAO,gBAAoB,SAAQ,cAAiB,CAAA;+GAA7C,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAHd,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGzD,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAA,gBAAkB,EAAE,CAAC;AAClE,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAIE,KAAK;uBAAC,yBAAyB;;AAU5B,MAAO,mBAAoB,SAAQ,cAAc,CAAA;AANvD,IAAA,WAAA,GAAA;;QAQS,IAAA,CAAA,QAAQ,GAAG,wBAAwB;QAEnC,IAAA,CAAA,IAAI,GAAG,KAAK;AACpB,IAAA;+GALY,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE,WAAW;uBAAC,OAAO;;sBAEnB,WAAW;uBAAC,WAAW;;AAUpB,MAAO,aAAc,SAAQ,QAAQ,CAAA;AAN3C,IAAA,WAAA,GAAA;;QAQS,IAAA,CAAA,QAAQ,GAAG,iBAAiB;QAE5B,IAAA,CAAA,IAAI,GAAG,KAAK;AACpB,IAAA;+GALY,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;sBAEE,WAAW;uBAAC,OAAO;;sBAEnB,WAAW;uBAAC,WAAW;;;MCrCJ,0BAA0B,CAAA;AAS/C;MAEY,0BAA0B,CAAA;AACrC,IAAA,WAAA,CAAoB,OAAY,EAAE,EAAA;QAAd,IAAA,CAAA,IAAI,GAAJ,IAAI;IAAa;AAE9B,IAAA,eAAe,CACpB,IAAyD,EACzD,MAA2D,EAC3D,IAAA,GAAe,CAAC,EAChB,QAAgB,EAChB,YAAqB,EACrB,aAAmB,EAAA;QAEnB,IAAI,GAAG,GAAQ,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,IAAI,YAAY,EAAE;AAChB,gBAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAChI;YACA,IAAI,MAAM,EAAE;AACV,gBAAA,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK;AACjH,gBAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3D;YACA,IAAI,IAAI,EAAE;gBACR,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;YACrE;AACA,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACxD,gBAAA,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC;YACzD;QACF;AACA,QAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD;AACD;AAEK,MAAO,uBAA2B,SAAQ,UAAa,CAAA;AAM3D,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC;IACzB;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,CAAC;IAC3B;AAEA,IAAA,WAAA,CAAoB,YAAqC,EAAU,KAA6B,EAAU,GAAsB,EAAA;AAC9H,QAAA,KAAK,EAAE;QADW,IAAA,CAAA,YAAY,GAAZ,YAAY;QAAmC,IAAA,CAAA,KAAK,GAAL,KAAK;QAAkC,IAAA,CAAA,GAAG,GAAH,GAAG;QAbtG,IAAA,CAAA,KAAK,GAAG,CAAC;QACT,IAAA,CAAA,OAAO,GAAG,CAAC;QACX,IAAA,CAAA,OAAO,GAAG,KAAK;QACf,IAAA,CAAA,QAAQ,GAAG,IAAI;IAYtB;IAEO,OAAO,GAAA;QACZ,MAAM,kBAAkB,GAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACpD,QAAA,OAAO,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,IAAI,CAAC,EACf,SAAS,CAAC,MAAK;AACb,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CACtC,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,IAAI,CAAC,KAAK,CAAC,aAAa,CACzB;AACH,QAAA,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,IAAqC,KAAI;AAC5C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YAClC,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,YAAA,CAAC,CAAC;YACF,OAAO,IAAI,CAAC,OAAO;AACrB,QAAA,CAAC,CAAC,EACF,UAAU,CAAC,CAAC,KAAK,KAAI;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC;QACjB,CAAC,CAAC,CACH;IACH;AAEO,IAAA,UAAU,KAAU;AAC5B;;ACjEK,MAAO,SAAa,SAAQ,QAAW,CAAA;+GAAhC,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAHP,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlBjD;;;;;;;;;;;;;;AAcC,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,62UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAOF,SAAS,EAAA,UAAA,EAAA,CAAA;kBAvBrB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,QAAA,EACnB;;;;;;;;;;;;;;AAcC,cAAA,CAAA,EAAA,aAAA,EAEI,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,WAAW,EAAE,CAAC,cAC/C,KAAK,EAAA,MAAA,EAAA,CAAA,62UAAA,CAAA,EAAA;;MAUR,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;MAOY,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;MAOY,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;MAOY,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;MAOY,iCAAiC,CAAA;+GAAjC,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjC,iCAAiC,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAJ7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wCAAwC;AAClD,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;MA4GY,iBAAiB,CAAA;IAqB5B,IACI,YAAY,CAAC,CAAU,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,CAAC;IAC/C;AACA,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;IAGA,IACI,eAAe,CAAC,CAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,CAAC,CAAC;IAClD;AACA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;IAGA,IACI,gBAAgB,CAAC,CAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,iBAAiB;IAC7D;AACA,IAAA,IAAI,gBAAgB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IAGA,IACI,KAAK,CAAC,CAAU,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;IACxC;AACA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;AAQA,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY;IACxD;AAEA,IAAA,IACI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACrE;AAEA,IAAA,WAAA,CAAmB,MAAwB,EAAU,GAAsB,EAAS,KAA6B,EAAA;QAA9F,IAAA,CAAA,MAAM,GAAN,MAAM;QAA4B,IAAA,CAAA,GAAG,GAAH,GAAG;QAA4B,IAAA,CAAA,KAAK,GAAL,KAAK;QAvEzF,IAAA,CAAA,6BAA6B,GAAY,KAAK;QAyDvC,IAAA,CAAA,OAAO,GAAY,IAAI;QAe5B,MAAM,CAAC,mFAAmF,CAAC;IAC7F;AAEO,IAAA,WAAW,CAAC,OAAsB,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY;AAC/E,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QACxB,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE;AACnE,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAuB,CAAI,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;AAC5F,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QAC1B;QACA,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE;AAC/D,YAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;AACnC,gBAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAW,KAAI;AAC5E,oBAAA,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM;AACjC,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACpH,oBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,gBAAA,CAAC,CAAC;YACJ;QACF;IACF;IAEO,WAAW,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAClC,YAAA,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE;QAC9C;IACF;IAEO,kBAAkB,GAAA;QACvB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;AAC1D,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;QACjC;QACA,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE;AAC9D,YAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,EAAE;QACtC;QACA,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;AACrE,YAAA,IAAI,CAAC,iBAAiB,CAAC,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QAC5D;QACA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,SAAS;QAClF,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,SAAS;AAC1F,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;AAEO,IAAA,cAAc,CAAC,IAAY,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI;QAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACnG;+GAzHW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,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,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,oCAAA,EAAA,aAAA,EAAA,YAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EANf;YACP,sBAAsB;AACtB,YAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,4BAA4B,EAAE;SAC/E,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApGS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6FX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,62UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,OAAA,EAAA,OAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAjIU,SAAS,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FA2IT,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAzG7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,QAAA,EACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6FX,EAAA,CAAA,EAAA,aAAA,EAEgB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;wBACP,sBAAsB;AACtB,wBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,4BAA4B,EAAE;AAC/E,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,MAAA,EAAA,CAAA,62UAAA,CAAA,EAAA;;sBAGlB,WAAW;uBAAC,4BAA4B;;sBAGxC;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAEA;;sBAGA;;sBASA;;sBASA;;sBAUA;;sBAcA,WAAW;uBAAC,aAAa;;sBAKzB,WAAW;uBAAC,eAAe;;;MC1IjB,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,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,qBAAqB,iBA7B9B,SAAS;YACT,iBAAiB;YACjB,uBAAuB;YACvB,mBAAmB;YACnB,6BAA6B;YAC7B,iCAAiC;YACjC,sBAAsB;YACtB,gBAAgB;YAChB,oBAAoB;YACpB,cAAc;YACd,oBAAoB;YACpB,yBAAyB;YACzB,oBAAoB;YACpB,cAAc;YACd,mBAAmB;YACnB,aAAa;YACb,qBAAqB;YACrB,yBAAyB;YACzB,6BAA6B;YAC7B,sBAAsB;YACtB,4BAA4B;YAC5B,aAAa;YACb,iBAAiB;YACjB,wBAAwB;YACxB,6BAA6B;AAC7B,YAAA,UAAU,aArEV,oBAAoB;YACpB,cAAc;YACd,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,gBAAgB;YAChB,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,eAAe;YACf,mBAAmB;YACnB,gBAAgB;YAChB,kBAAkB;AAClB,YAAA,gBAAgB,aAGhB,SAAS;YACT,iBAAiB;YACjB,uBAAuB;YACvB,mBAAmB;YACnB,6BAA6B;YAC7B,iCAAiC;YACjC,sBAAsB;YACtB,gBAAgB;YAChB,oBAAoB;YACpB,cAAc;YACd,oBAAoB;YACpB,yBAAyB;YACzB,oBAAoB;YACpB,cAAc;YACd,mBAAmB;YACnB,aAAa;YACb,qBAAqB;YACrB,yBAAyB;YACzB,6BAA6B;YAC7B,sBAAsB;YACtB,4BAA4B;YAC5B,aAAa;YACb,iBAAiB;YACjB,wBAAwB;YACxB,6BAA6B;YAC7B,UAAU,CAAA,EAAA,CAAA,CAAA;AAgCD,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,qBAAqB,EAAA,SAAA,EAFrB,CAAC,sBAAsB,CAAC,YAvEjC,oBAAoB;YACpB,cAAc;YACd,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,gBAAgB;YAChB,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,eAAe;YACf,mBAAmB;YACnB,gBAAgB;YAChB,kBAAkB;YAClB,gBAAgB,CAAA,EAAA,CAAA,CAAA;;4FA4DP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA3EjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,cAAc;wBACd,YAAY;wBACZ,WAAW;wBACX,gBAAgB;wBAChB,gBAAgB;wBAChB,kBAAkB;wBAClB,oBAAoB;wBACpB,iBAAiB;wBACjB,eAAe;wBACf,mBAAmB;wBACnB,gBAAgB;wBAChB,kBAAkB;wBAClB,gBAAgB;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,SAAS;wBACT,iBAAiB;wBACjB,uBAAuB;wBACvB,mBAAmB;wBACnB,6BAA6B;wBAC7B,iCAAiC;wBACjC,sBAAsB;wBACtB,gBAAgB;wBAChB,oBAAoB;wBACpB,cAAc;wBACd,oBAAoB;wBACpB,yBAAyB;wBACzB,oBAAoB;wBACpB,cAAc;wBACd,mBAAmB;wBACnB,aAAa;wBACb,qBAAqB;wBACrB,yBAAyB;wBACzB,6BAA6B;wBAC7B,sBAAsB;wBACtB,4BAA4B;wBAC5B,aAAa;wBACb,iBAAiB;wBACjB,wBAAwB;wBACxB,6BAA6B;wBAC7B,UAAU;AACX,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,SAAS;wBACT,iBAAiB;wBACjB,uBAAuB;wBACvB,mBAAmB;wBACnB,6BAA6B;wBAC7B,iCAAiC;wBACjC,sBAAsB;wBACtB,gBAAgB;wBAChB,oBAAoB;wBACpB,cAAc;wBACd,oBAAoB;wBACpB,yBAAyB;wBACzB,oBAAoB;wBACpB,cAAc;wBACd,mBAAmB;wBACnB,aAAa;wBACb,qBAAqB;wBACrB,yBAAyB;wBACzB,6BAA6B;wBAC7B,sBAAsB;wBACtB,4BAA4B;wBAC5B,aAAa;wBACb,iBAAiB;wBACjB,wBAAwB;wBACxB,6BAA6B;wBAC7B,UAAU;AACX,qBAAA;oBACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;AACpC,iBAAA;;;ACnHD;;AAEG;;;;"}