@morozeckiy/dd-lib 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"morozeckiy-dd-lib.mjs","sources":["../../../projects/dd-lib/src/lib/common/lib-common-button.ts","../../../projects/dd-lib/src/lib/common/lib-common-input-text.ts","../../../projects/dd-lib/src/lib/lib-loader/lib-loader.component.ts","../../../projects/dd-lib/src/lib/lib-loader/lib-loader.component.html","../../../projects/dd-lib/src/lib/lib-button/lib-button.component.ts","../../../projects/dd-lib/src/lib/lib-button/lib-button.component.html","../../../projects/dd-lib/src/lib/core/services/theme-constructor.service.ts","../../../projects/dd-lib/src/lib/core/services/date.service.ts","../../../projects/dd-lib/src/lib/core/services/svg-icons.service.ts","../../../projects/dd-lib/src/lib/core/services/destroy.service.ts","../../../projects/dd-lib/src/lib/core/services/interceptors.service.ts","../../../projects/dd-lib/src/lib/core/services/validators.service.ts","../../../projects/dd-lib/src/lib/core/services/fetcher.service.ts","../../../projects/dd-lib/src/lib/core/tools.ts","../../../projects/dd-lib/src/lib/core/pipes/filter.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/highlight.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/safe.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/reverse.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/filter-tabs.pipe.ts","../../../projects/dd-lib/src/lib/core/directives/auto-height.directive.ts","../../../projects/dd-lib/src/lib/core/directives/counter.directive.ts","../../../projects/dd-lib/src/lib/core/directives/declension.directive.ts","../../../projects/dd-lib/src/lib/core/directives/click-outside.directive.ts","../../../projects/dd-lib/src/lib/core/directives/resize-textarea.directive.ts","../../../projects/dd-lib/src/lib/core/directives/triangle.directive.ts","../../../projects/dd-lib/src/lib/core/tooltip/tooltip.component.ts","../../../projects/dd-lib/src/lib/core/tooltip/tooltip.component.html","../../../projects/dd-lib/src/lib/core/tooltip/tooltip.directive.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog-ref.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog-config.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog-container.component.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog.service.ts","../../../projects/dd-lib/src/lib/core/index.ts","../../../projects/dd-lib/src/lib/lib-svg-icon/lib-svg-icon.component.ts","../../../projects/dd-lib/src/lib/lib-accordion/lib-accordion.component.ts","../../../projects/dd-lib/src/lib/lib-accordion/lib-accordion.component.html","../../../projects/dd-lib/src/lib/lib-back-button/lib-back-button.component.ts","../../../projects/dd-lib/src/lib/lib-back-button/lib-back-button.component.html","../../../projects/dd-lib/src/lib/lib-filter-button/lib-filter-button.component.ts","../../../projects/dd-lib/src/lib/lib-filter-button/lib-filter-button.component.html","../../../projects/dd-lib/src/lib/lib-skeleton/lib-skeleton.component.ts","../../../projects/dd-lib/src/lib/lib-skeleton/lib-skeleton.component.html","../../../projects/dd-lib/src/lib/lib-card/lib-card.component.ts","../../../projects/dd-lib/src/lib/lib-card/lib-card.component.html","../../../projects/dd-lib/src/lib/lib-radio/lib-radio.component.ts","../../../projects/dd-lib/src/lib/lib-radio/lib-radio.component.html","../../../projects/dd-lib/src/lib/lib-calendar/lib-calendar.component.ts","../../../projects/dd-lib/src/lib/lib-calendar/lib-calendar.component.html","../../../projects/dd-lib/src/lib/lib-checkbox/lib-checkbox.component.ts","../../../projects/dd-lib/src/lib/lib-checkbox/lib-checkbox.component.html","../../../projects/dd-lib/src/lib/lib-comment-input/lib-comment-input.component.ts","../../../projects/dd-lib/src/lib/lib-comment-input/lib-comment-input.component.html","../../../projects/dd-lib/src/lib/lib-file-upload/lib-file-upload.component.ts","../../../projects/dd-lib/src/lib/lib-file-upload/lib-file-upload.component.html","../../../projects/dd-lib/src/lib/lib-image-loader/lib-image-loader.component.ts","../../../projects/dd-lib/src/lib/lib-image-loader/lib-image-loader.component.html","../../../projects/dd-lib/src/lib/lib-input/lib-input.component.ts","../../../projects/dd-lib/src/lib/lib-input/lib-input.component.html","../../../projects/dd-lib/src/lib/lib-period/lib-period.component.ts","../../../projects/dd-lib/src/lib/lib-period/lib-period.component.html","../../../projects/dd-lib/src/lib/lib-search-input/lib-search-input.component.ts","../../../projects/dd-lib/src/lib/lib-search-input/lib-search-input.component.html","../../../projects/dd-lib/src/lib/lib-select/lib-select.component.ts","../../../projects/dd-lib/src/lib/lib-select/lib-select.component.html","../../../projects/dd-lib/src/lib/lib-sort/lib-sort.component.ts","../../../projects/dd-lib/src/lib/lib-sort/lib-sort.component.html","../../../projects/dd-lib/src/lib/lib-step/lib-step.component.ts","../../../projects/dd-lib/src/lib/lib-step/lib-step.component.html","../../../projects/dd-lib/src/lib/lib-svg/lib-svg.component.ts","../../../projects/dd-lib/src/lib/lib-svg/lib-svg.component.html","../../../projects/dd-lib/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.ts","../../../projects/dd-lib/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.html","../../../projects/dd-lib/src/lib/lib-textarea/lib-textarea.component.ts","../../../projects/dd-lib/src/lib/lib-textarea/lib-textarea.component.html","../../../projects/dd-lib/src/lib/utils/decorators.ts","../../../projects/dd-lib/src/lib/toast/toast-base/toast-base.component.ts","../../../projects/dd-lib/src/lib/toast/toast-base/toast-base.component.html","../../../projects/dd-lib/src/lib/toast/toast.service.ts","../../../projects/dd-lib/src/lib/toast/toast-placeholder/toast-placeholder.component.ts","../../../projects/dd-lib/src/public-api.ts","../../../projects/dd-lib/src/morozeckiy-dd-lib.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class LibCommonButtonComponent {\r\n @Input() public width: string | undefined;\r\n @Input() public height: string | undefined;\r\n @Input() public size: 'md' | 'lg' | '' = '';\r\n @Input() public fontSize: number | null | undefined;\r\n @Input() public autofocus = false;\r\n @Input() public btnColor: 'white' | 'green' | 'red' | 'transparent' | 'dark' = 'green';\r\n @Input() public active = false;\r\n @Input() public disabled: boolean | null = false;\r\n\r\n @Input() public showLoader: null | boolean | undefined = false;\r\n @Input() public buttonType: 'submit' | 'reset' | 'button' = 'button';\r\n\r\n @ViewChild('contentData', { static: false }) public content: ElementRef | undefined;\r\n @ViewChild('btn', { static: false }) public button: ElementRef | undefined;\r\n\r\n @Output() public clickEvent = new EventEmitter<null>();\r\n\r\n public onClick(event: Event): void {\r\n if (this.disabled || this.showLoader || this.active) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n } else {\r\n this.clickEvent.emit();\r\n const el = document.activeElement as HTMLElement;\r\n el?.blur();\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dd-lib-common-input',\r\n template: '',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibCommonInputTextComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport abstract class LibCommonInputTextComponent {\r\n @ViewChild('searchInput') protected inputSearchElement: ElementRef<HTMLInputElement> | undefined;\r\n @ViewChild('input') protected inputElement: ElementRef<HTMLInputElement> | undefined;\r\n @ViewChild('textarea') protected textAreaElement: ElementRef<HTMLTextAreaElement> | undefined;\r\n @Input() public name: string | undefined;\r\n @Input() public label: string | undefined;\r\n @Input() public formControlName: string | undefined;\r\n @Input() public type: 'password' | 'email' | 'number' | 'text' | undefined;\r\n @Input() public contextClass: string | undefined; // класс разметки для deep стилей\r\n @Input() public minlength: string | number | undefined;\r\n @Input() public maxlength = 700;\r\n @Input() public placeholder?: string;\r\n @Input() public autocomplete?: string;\r\n @Input() public tabIndex?: string | number;\r\n @Input() public readOnly?: boolean;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public commitOnInput = true; // коммитить по input или по change\r\n @Input() public clearable = false;\r\n @Input() public uppercase = false;\r\n @Input() public invalid = false;\r\n @Input() public errorText: string | undefined;\r\n @Output() public cleared = new EventEmitter<void>();\r\n @Output() public focus = new EventEmitter<any>();\r\n @Output() public blur = new EventEmitter<any>();\r\n public get id() {\r\n return this._ID;\r\n }\r\n public focused = false;\r\n public touched = false;\r\n public control: AbstractControl | undefined | null;\r\n public value: string | undefined = '';\r\n public changeDetection: ChangeDetectorRef;\r\n\r\n protected destroyed = false;\r\n protected onTouchedCallback: (() => void) | undefined;\r\n private _ID = '';\r\n\r\n protected constructor(changeDetection: ChangeDetectorRef) {\r\n this.changeDetection = changeDetection;\r\n }\r\n\r\n public handleInput(_e: Event): void {\r\n if (this.commitOnInput) {\r\n this.commit(this.value);\r\n }\r\n }\r\n\r\n public notifyFocusEvent(e: Event): void {\r\n // this.focusManager.notifyFocusMayChanged(this, e.type === 'focus');\r\n }\r\n\r\n // public writeValue(value: string | number | null): void {\r\n // this.value = value === null || value === undefined ? '' : '' + value;\r\n // if (!this.destroyed) {\r\n // this.changeDetection.detectChanges();\r\n // }\r\n // }\r\n\r\n // public clearValue(e: Event): void {\r\n // if (!this.disabled) {\r\n // this.writeValue(null);\r\n // this.commit(null);\r\n // this.cleared.emit();\r\n // this.returnFocus(e);\r\n // }\r\n // e.stopPropagation();\r\n // }\r\n\r\n public handleBlur(): void {\r\n this.focused = false;\r\n if (this.onTouchedCallback) {\r\n this.onTouchedCallback();\r\n }\r\n\r\n this.blur.emit();\r\n this.changeDetection.detectChanges();\r\n }\r\n\r\n public handleFocus(): void {\r\n this.focused = this.touched = true;\r\n if (this.onTouchedCallback) {\r\n this.onTouchedCallback();\r\n }\r\n this.focus.emit();\r\n }\r\n\r\n public returnFocus(e?: Event): void {\r\n if (\r\n this.inputElement &&\r\n this.inputElement.nativeElement &&\r\n (!e || e.target !== this.inputElement.nativeElement)\r\n ) {\r\n this.inputElement.nativeElement.focus();\r\n // HelperService.resetSelection(this.inputElement.nativeElement);\r\n }\r\n }\r\n\r\n public loseFocus(): void {\r\n this.inputElement?.nativeElement.blur();\r\n }\r\n\r\n public forceChange(): void {\r\n if (this.inputElement) {\r\n // this.inputElement.nativeElement.dispatchEvent(HelperService.createEvent('change', true, false));\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.commit = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n if (!this.destroyed) {\r\n this.changeDetection.detectChanges();\r\n }\r\n }\r\n\r\n public handleChange(): void {\r\n if (!this.commitOnInput) {\r\n this.commit(this.value);\r\n }\r\n }\r\n\r\n public commit(_value: string | null | undefined): void {}\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dd-lib-loader',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-loader.component.html',\r\n styleUrl: './lib-loader.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibLoaderComponent {\r\n @Input() public color = '#07b700';\r\n}\r\n","<div class=\"loader\">\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_728_22764)\">\n <path\n [attr.stroke]=\"color\"\n d=\"M12 6V3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M6 12H3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M7.74961 7.74961L5.59961 5.59961\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n </g>\n <defs>\n <clipPath id=\"clip0_728_22764\">\n <rect fill=\"white\" height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n</div>\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n Input,\r\n NO_ERRORS_SCHEMA,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LibCommonButtonComponent } from '../common/lib-common-button';\r\nimport { LibLoaderComponent } from '../lib-loader/lib-loader.component';\r\n\r\n@Component({\r\n selector: 'dd-lib-button',\r\n standalone: true,\r\n templateUrl: './lib-button.component.html',\r\n styleUrls: ['./lib-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, FormsModule, LibLoaderComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n})\r\nexport class LibButtonComponent extends LibCommonButtonComponent implements AfterViewInit {\r\n @Input() public noPadding: boolean | undefined;\r\n @Input() public loaderColor = this.btnColor === 'green' ? '#fff' : '';\r\n\r\n public ngAfterViewInit() {\r\n const btn = this.button?.nativeElement;\r\n if (btn && btn.attributes?.autofocus) {\r\n btn.focus();\r\n }\r\n }\r\n}\r\n","<div (click)=\"onClick($event)\" [ngStyle]=\"{width, height}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [class.active]=\"active\"\r\n [class.disabled]=\"disabled\"\r\n [class.green]=\"btnColor === 'green'\"\r\n [class.loader]=\"showLoader\"\r\n [class.no-padding]=\"noPadding\"\r\n [class.red]=\"btnColor === 'red'\"\r\n [class.transparent]=\"btnColor === 'transparent'\"\r\n [class.white]=\"btnColor === 'white'\"\r\n [class.dark]=\"btnColor === 'dark'\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"{width, height}\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <dd-lib-loader [color]=\"loaderColor\"></dd-lib-loader>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n</ng-template>\r\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ThemeConstructorService {\r\n public get getTheme(): boolean {\r\n return this.themeConfigurator.theme;\r\n }\r\n public isDarkTheme!: Observable<boolean>;\r\n private readonly renderer: Renderer2;\r\n private themeConfigurator!: ThemeConfigurator;\r\n\r\n constructor(private rendererFactory: RendererFactory2) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n public setThemeConfiguratorRoot(document: Document): void {\r\n this.themeConfigurator = new ThemeConfigurator(document, this.renderer);\r\n this.isDarkTheme = this.themeConfigurator.isDarkThemeObservable;\r\n }\r\n\r\n public changeTheme(darkMode: boolean): void {\r\n this.themeConfigurator.setTheme(darkMode);\r\n }\r\n\r\n public switchTheme(): void {\r\n this.themeConfigurator.switchTheme();\r\n }\r\n}\r\n\r\nexport class ThemeConfigurator {\r\n public set theme(value: boolean) {\r\n localStorage.setItem('theme', value.toString());\r\n this.isDarkTheme$.next(value);\r\n }\r\n\r\n public get theme(): boolean {\r\n return this.isDarkTheme$.getValue();\r\n }\r\n\r\n private isDarkTheme$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n public isDarkThemeObservable: Observable<boolean> = this.isDarkTheme$.asObservable();\r\n\r\n constructor(private document: Document, private renderer: Renderer2) {\r\n this.isDarkThemeObservable.subscribe(ref => this.setTheme(ref));\r\n const theme = localStorage.getItem('theme');\r\n\r\n if (!theme) {\r\n this.theme = false;\r\n } else {\r\n this.theme = localStorage.getItem('theme') !== 'false';\r\n }\r\n }\r\n\r\n public switchTheme(): void {\r\n this.theme = !this.theme;\r\n }\r\n\r\n public setTheme(isDarkMode: boolean): void {\r\n if (!this.document) {\r\n return;\r\n }\r\n const hostClass = isDarkMode ? 'theme-dark' : 'theme-light';\r\n this.renderer.setAttribute(this.document.body, 'class', hostClass);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { format } from 'date-fns';\n\nexport declare type GetDateMethod = () => Date;\n\nexport declare type PeriodName = 'day' | 'week' | 'month' | 'month_3' | 'half_year' | 'year' | 'calendar';\n\nexport declare interface GetDateBy {\n day?: GetDateMethod;\n week?: GetDateMethod;\n month?: GetDateMethod;\n month_3?: GetDateMethod;\n half_year?: GetDateMethod;\n year?: GetDateMethod;\n calendar?: GetDateMethod;\n}\n\nexport declare type DateTypes = keyof GetDateBy;\n\nexport declare interface TimeDate {\n time: string;\n}\n\nexport declare interface CommonDateData {\n title: string;\n active: boolean;\n name: PeriodName;\n visible: string[];\n}\n\nexport declare type PeriodMenuDate = TimeDate & CommonDateData;\n\nexport const DEFAULT_FORMAT = 'yyyy-MM-dd';\nconst DEFAULT_COMMON_DATE_DATA = {\n active: false,\n visible: ['all'],\n};\n\nexport interface IDaysInMonth {\n prevDays: number[];\n days: number[];\n lastDays: number[];\n}\n\n@Injectable({ providedIn: 'root' }) /** сервис для обработки дат */\nexport class DateService {\n private commonDateDataBy: Record<DateTypes, CommonDateData> = {\n day: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за день',\n name: 'day',\n },\n week: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за неделю',\n name: 'week',\n },\n month: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за месяц',\n name: 'month',\n },\n month_3: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за 3 месяца',\n name: 'month_3',\n },\n half_year: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за полгода',\n name: 'half_year',\n },\n year: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за год',\n name: 'year',\n },\n calendar: {\n active: false,\n visible: [],\n name: 'calendar',\n title: '',\n },\n };\n\n private getDateBy: GetDateBy = {\n day: () => new Date(new Date().setDate(new Date().getDate() - 1)),\n week: () => new Date(new Date().setDate(new Date().getDate() - 7)),\n month: () => new Date(new Date().setMonth(new Date().getMonth() - 1)),\n month_3: () => new Date(new Date().setMonth(new Date().getMonth() - 3)),\n half_year: () => new Date(new Date().setMonth(new Date().getMonth() - 6)),\n year: () => new Date(new Date().setFullYear(new Date().getFullYear() - 1)),\n };\n\n public getFormattedDate(dateType: keyof GetDateBy, f: string = DEFAULT_FORMAT): string {\n const date = this.getDateBy[dateType] || this.getDateBy.day;\n return format(date!(), f);\n }\n\n public getPeriodMenuDate(dateType: DateTypes, f?: string): TimeDate & CommonDateData {\n return {\n time: this.getFormattedDate(dateType, f),\n ...this.commonDateDataBy[dateType],\n };\n }\n\n public getPeriodMenuDateRange(dateTypes: DateTypes[], f?: string): PeriodMenuDate[] {\n return dateTypes.map(dateType => this.getPeriodMenuDate(dateType, f));\n }\n\n public getPeriodTime(name: string) {\n const period = this.getPeriodMenu();\n return period.find(p => p.name === name) || period[0];\n }\n\n public getPeriodMenu(activePeriodName: DateTypes = 'month'): PeriodMenuDate[] {\n const arr: DateTypes[] = ['day', 'week', 'month', 'month_3', 'half_year', 'year'];\n\n const periodMenus = this.getPeriodMenuDateRange(arr);\n const activePeriod = periodMenus.find(p => p.name === activePeriodName) || periodMenus[0];\n\n activePeriod.active = true;\n return periodMenus;\n }\n\n public getDaysInMonth(month: number, year: number): IDaysInMonth {\n const date = new Date(year, month, 1);\n const datePrev = new Date(year, month, 0);\n const days = [];\n const prevDays = [];\n while (date.getMonth() === month) {\n days.push(date.getDay());\n date.setDate(date.getDate() + 1);\n }\n\n const needFirstDays = days[0] === 1 ? 0 : days[0] === 0 ? 6 : days[0] - 1;\n const firstDays = [...Array(needFirstDays)].map(() => 0);\n const m = month === 0 ? 12 : month;\n while (datePrev.getMonth() === m - 1 && firstDays.length !== prevDays.length) {\n prevDays.push(datePrev.getDate());\n datePrev.setDate(datePrev.getDate() - 1);\n }\n\n const needLastDays = days[days.length - 1] === 0 ? 0 : 7 - days[days.length - 1];\n const lastDays = [...Array(needLastDays)].map((_d, i) => ++i);\n\n return {\n prevDays: prevDays.reverse(),\n days: days.map((_d, i) => ++i),\n lastDays,\n };\n }\n}\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SvgIconsService {\r\n\r\n private registry = new Map<string, string>();\r\n\r\n registerIcons(icons: any[]): void {\r\n icons.forEach((icon: any) => this.registry.set(icon.name, icon.data));\r\n }\r\n\r\n getIcon(iconName: string): string | undefined {\r\n if (!this.registry.has(iconName)) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `We could not find the icon with name ${ iconName }, did you add it to the icon registry?`,\r\n );\r\n }\r\n\r\n return this.registry.get(iconName);\r\n }\r\n}\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DestroyService extends Subject<void> implements OnDestroy {\r\n public ngOnDestroy(): void {\r\n this.next();\r\n this.complete();\r\n }\r\n}\r\n","import {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest,} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class InterceptorsService implements HttpInterceptor {\r\n\r\n constructor(private router: Router) {\r\n }\r\n\r\n /** перехватчик состояния запросов к api */\r\n public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(req).pipe(\r\n catchError(err => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status >= 500) {\r\n this.router.navigate(['tech-works']);\r\n }\r\n }\r\n throw err;\r\n }),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, ValidationErrors, Validators } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ValidatorsService {\r\n constructor() {}\r\n\r\n /** валидатор совпадения пароллей. При использовании указывать поля pswd & confPswd*/\r\n public static passEqual(el: AbstractControl): ValidationErrors | null {\r\n if (!el.get('pswd') || !el.get('oldPswd')) {\r\n return null;\r\n }\r\n if (!(el.dirty || el.touched) || el.get('pswd')?.value === el.get('confPswd')?.value) {\r\n return null;\r\n }\r\n return {\r\n passEqual: 'Пароли не совпадают',\r\n };\r\n }\r\n\r\n public static passNotEqual(el: AbstractControl): ValidationErrors | null {\r\n if (!el.get('pswd') || !el.get('oldPswd')) {\r\n return null;\r\n }\r\n if (!(el.dirty || el.touched) || el.get('pswd')?.value !== el.get('oldPswd')?.value) {\r\n return null;\r\n }\r\n return {\r\n passNotEqual: 'Старый и новый пароли не должны совпадать',\r\n };\r\n }\r\n\r\n public static wrongLogin(): ValidationErrors {\r\n return {\r\n wrongMail: 'Неверный логин!',\r\n };\r\n }\r\n\r\n public static wrongLoginOrPswd(): ValidationErrors {\r\n return {\r\n wrongLogin: 'Неверный логин или пароль!',\r\n };\r\n }\r\n\r\n public static existLogin(): ValidationErrors {\r\n return {\r\n mailErr: 'Пользователь с таким адресом уже зарегистрирован.',\r\n };\r\n }\r\n\r\n /** валидатор имени*/\r\n public static getNameValid() {\r\n return [Validators.required, Validators.pattern(/^[A-ZА-Яa-zа-яЁё0-9- .]+$/), Validators.maxLength(35)];\r\n }\r\n\r\n /** валидатор email*/\r\n public static getMailValid(el?: AbstractControl): Observable<ValidationErrors | null> {\r\n const pattern =\r\n /^([A-Za-z0-9+_-]+\\.)*[A-Za-z0-9+_-]+@[A-Za-z0-9+_-]+(\\.[A-Za-z0-9+_-]+)*\\.[A-Za-z]{2,6}$/;\r\n if (!el?.value) {\r\n return of({\r\n required: 'Это поле обязательно для заполнения',\r\n });\r\n } else if (!pattern.test(el.value) && el.value !== 'test_admin' && el.value !== 'admin') {\r\n return of({\r\n email: 'Некорректно введены данные',\r\n });\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n}\r\n","import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {Inject, Injectable} from '@angular/core';\r\n\r\nimport {Observable, of} from 'rxjs';\r\nimport {switchMap} from 'rxjs/operators';\r\nimport {isArray} from \"@angular/compiler-cli/src/ngtsc/annotations/common\";\r\n\r\nexport interface HttpIResponse<T> {\r\n error: string;\r\n errorCode: string;\r\n message: null | string;\r\n redirect: null | string;\r\n systemMessage: null | string;\r\n result: 'OK' | 'ERROR' | 'FAIL';\r\n value: T;\r\n}\r\n\r\ntype PayloadMethod = 'post' | 'put' | 'get' | 'delete';\r\n\r\n@Injectable({providedIn: 'root'}) /** сервис обработки запросов к api */\r\nexport class FetcherService {\r\n // private apiUrl = 'api';\r\n private readonly payloadMethods: string[] = ['post', 'put'];\r\n\r\n constructor(private http: HttpClient, @Inject('apiUrl') private apiUrl: string = 'api') {\r\n }\r\n\r\n public get<R>(urlParts: string, options: any = {}, urlId?: string | number): Observable<R> {\r\n urlParts = urlId ? urlParts.replace(/{[^}]+}/g, urlId.toString()) : urlParts;\r\n const url: string = urlParts ? [this.apiUrl].concat(urlParts).join('/') : this.apiUrl;\r\n let params = new HttpParams();\r\n for (const key of Object.keys(options)) {\r\n if (options[key] != null) {\r\n if (options[key].length && isArray(options[key])) {\r\n options[key].forEach((f: string | number | boolean) => {\r\n params = params.append(key, f);\r\n });\r\n } else {\r\n params = params.append(key, options[key]);\r\n }\r\n }\r\n }\r\n return this.request('get', url, {params});\r\n }\r\n\r\n public post<R>(urlParts: string[] | string, data?: any, options: any = {}): Observable<R> {\r\n const url: string = [this.apiUrl].concat(urlParts).join('/');\r\n if (options?.params) {\r\n let params = new HttpParams();\r\n for (const key of Object.keys(options.params)) {\r\n if (options.params[key] != null) {\r\n params = params.append(key, options.params[key]);\r\n }\r\n }\r\n options.params = params;\r\n }\r\n return this.request('post', url, options, data);\r\n }\r\n\r\n public put<R>(urlParts: string[] | string, options: any = {}, data: any): Observable<any> {\r\n const url: string = [this.apiUrl].concat(urlParts).join('/');\r\n return this.request('put', url, options, data);\r\n }\r\n\r\n public delete<R>(urlParts: string[] | string, options: any = {}): Observable<R> {\r\n const url: string = [this.apiUrl].concat(urlParts).join('/');\r\n return this.request('delete', url, options);\r\n }\r\n\r\n /** перегоняем объкты в форм дату*/\r\n public createFormData(form: { [x: string]: any }) {\r\n const formData: FormData = new FormData();\r\n Object.keys(form).forEach((item: string) => {\r\n formData.append(item, form[item]);\r\n });\r\n return formData;\r\n }\r\n\r\n private request<R>(method: PayloadMethod, url: string, options: any, data?: any): Observable<R> {\r\n if (options.headers) {\r\n options.headers = new HttpHeaders(options.headers);\r\n }\r\n let request: Observable<any>;\r\n options.withCredentials = true;\r\n\r\n if (this.payloadMethods.includes(method)) {\r\n request = this.http[method as 'post' | 'put'](url, data, options);\r\n } else {\r\n request = (this.http as any)[method](url, options);\r\n }\r\n\r\n return request.pipe(\r\n switchMap((response: any) => {\r\n if (response && response.error) {\r\n console.error(`API error with status: ${response.status}`);\r\n console.error(response.error);\r\n }\r\n return of(response);\r\n }),\r\n // catchError((error: any) => {\r\n // console.timeEnd('Время выполнения - ' + url);\r\n // if (error.status !== 403) {\r\n // console.log(error);\r\n // }\r\n // return of(error);\r\n // }),\r\n );\r\n }\r\n}\r\n","export function compare(field?: any, order?: number, ...args: undefined[]): any {\n let len = args.length;\n if (len === 0) {\n return (a: number, b: number) => (a < b && -1) || (a > b && 1) || 0;\n }\n if (len === 1) {\n switch (typeof field) {\n case 'number':\n return field < 0\n ? (a: number, b: number) => (a < b && 1) || (a > b && -1) || 0\n : (a: number, b: number) => (a < b && -1) || (a > b && 1) || 0;\n case 'string':\n return (a: { [x: string]: string }, b: { [x: string]: string }) =>\n (a[field] ? a[field].toLowerCase() : '' < b[field] ? b[field].toLowerCase() : '' && -1) ||\n (a[field] ? a[field].toLowerCase() : '' > b[field] ? b[field].toLowerCase() : '' && 1) ||\n 0;\n }\n }\n if (field && len === 2 && typeof order === 'number') {\n return order < 0\n ? (\n a: { [x: string]: any },\n b: {\n [x: string]: any;\n },\n ) => (b[field] || '').toLowerCase().localeCompare((a[field] || '').toLowerCase())\n : (\n a: { [x: string]: any },\n b: {\n [x: string]: any;\n },\n ) => (a[field] || '').toLowerCase().localeCompare((b[field] || '').toLowerCase());\n }\n let fields: any[];\n let orders: any[];\n if (typeof field === 'object') {\n fields = Object.getOwnPropertyNames(field);\n orders = fields.map(key => field[key]);\n len = fields.length;\n } else {\n fields = new Array(len);\n orders = new Array(len);\n for (let i = len; i--; ) {\n fields[i] = args[i];\n orders[i] = 1;\n }\n }\n return (\n a: { [x: string]: { toLowerCase: () => number } },\n b: { [x: string]: { toLowerCase: () => number } },\n ) => {\n for (let i = 0; i < len; i++) {\n if (a[fields[i]].toLowerCase() < b[fields[i]].toLowerCase()) {\n return orders[i];\n }\n if (a[fields[i]].toLowerCase() > b[fields[i]].toLowerCase()) {\n return -orders[i];\n }\n }\n return 0;\n };\n}\n\n// export function parseDate(value) {\n// if (value && value.length === 6) {\n// const year = parseInt(value.slice(2, 6), 10);\n// const month = parseInt(value.slice(0, 2), 10) - 1;\n// return new Date(year, month);\n// }\n// }\n\nexport function rndRgb() {\n const x = Math.floor(Math.random() * 256);\n const y = Math.floor(Math.random() * 256);\n const z = Math.floor(Math.random() * 256);\n return 'rgb(' + x + ',' + y + ',' + z + ')';\n}\n\nexport function setMinDate() {\n let curYear = new Date().getFullYear();\n let curMonth = new Date().getMonth();\n const curDay = new Date().getDate();\n if (curMonth < 6) {\n curYear -= 1;\n curMonth = curMonth - 6 + 12;\n } else {\n curMonth -= 6;\n }\n return new Date(curYear, curMonth, curDay);\n}\n\nexport function isNil(value: any): value is null | undefined {\n return value === null || typeof value === 'undefined';\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nexport function isObject(value: any): boolean {\n return value !== null && typeof value === 'object';\n}\n\nexport function getProperty(value: { [key: string]: any }, key: string): any {\n if (isNil(value) || !isObject(value)) {\n return undefined;\n }\n\n const keys: string[] = key.split('.');\n let result: any = value[keys.shift()!];\n\n for (const k of keys) {\n if (isNil(result) || !isObject(result)) {\n return undefined;\n }\n\n result = result[k];\n }\n\n return result;\n}\n\nexport function isMobile() {\n return Android() || BlackBerry() || iOS() || Opera() || Windows();\n}\n\nexport function Android() {\n return !!navigator.userAgent.match(/Android/i);\n}\n\nexport function BlackBerry() {\n return !!navigator.userAgent.match(/BlackBerry/i);\n}\n\nexport function iOS() {\n return !!navigator.userAgent.match(/iPhone|iPad|iPod/i);\n}\n\nexport function Opera() {\n return !!navigator.userAgent.match(/Opera Mini/i);\n}\n\nexport function Windows() {\n return !!navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i);\n}\n\nexport function dataURLtoFile(dataUrl: string, filename: string) {\n const arr = dataUrl.split(',');\n const mime = (arr as any)[0].match(/:(.*?);/)[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n return new File([u8arr], filename, { type: mime });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { getProperty } from '../tools';\n\n@Pipe({\n name: 'filter',\n standalone: true,\n})\nexport class FilterPipe implements PipeTransform {\n public transform(value: any[], args?: number): any {\n if (value && value.length) {\n return value.filter((item, i) => i === args);\n }\n }\n}\n\n@Pipe({\n name: 'filterByKey',\n standalone: true,\n})\nexport class FilterByKeyPipe<T> implements PipeTransform {\n public transform(arr: any, fn: any): any[] {\n if (!arr?.length) {\n return arr;\n }\n if (typeof fn === 'function') {\n return arr.filter(fn);\n } else if (fn?.length) {\n const [key, value] = fn;\n return arr.filter((item: any) => getProperty(item, key) === value);\n } else if (fn) {\n return arr.filter((item: any) => item === fn);\n } else {\n return arr;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { log } from '@angular-devkit/build-angular/src/builders/ssr-dev-server';\n\n@Pipe({\n name: 'highlight',\n standalone: true,\n})\nexport class HighlightPipe implements PipeTransform {\n public transform(name: string, val?: string): string {\n if (val) {\n const re = new RegExp(val, 'gi');\n return name.toString().replace(re, `<span style=\"color: #07B700\">$&</span>`);\n } else {\n return name;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {\n DomSanitizer,\n SafeHtml,\n SafeResourceUrl,\n SafeScript,\n SafeStyle,\n SafeUrl,\n} from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe',\n standalone: true,\n})\nexport class SafePipe implements PipeTransform {\n constructor(protected sanitizer: DomSanitizer) {}\n\n public transform(\n value: string,\n type: string,\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n throw new Error(`Invalid safe type specified: ${type}`);\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'reverse',\n standalone: true,\n})\nexport class ReversePipe implements PipeTransform {\n public transform(value: any[], sort: string): any[] {\n return sort === 'asc' ? value : value.reverse();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filterTabs',\r\n standalone: true,\r\n})\r\nexport class FilterTabsPipe implements PipeTransform {\r\n public transform(arr: any[] | null, tab?: number | null | undefined): any[] {\r\n if (arr) {\r\n return arr.filter(v => {\r\n if (tab === 0) {\r\n return [1, 2].indexOf(v.status.id) !== -1;\r\n }\r\n if (tab === 1) {\r\n return [3, 4].indexOf(v.status.id) !== -1;\r\n }\r\n if (tab === 2) {\r\n return [6].indexOf(v.status.id) !== -1;\r\n }\r\n return arr;\r\n });\r\n }\r\n return [];\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[ddAutoHeight]',\n standalone: true,\n})\nexport class AutoHeightDirective implements OnInit {\n // уровень до родителя\n @Input() public ddAutoHeight: number | undefined;\n\n constructor(private el: ElementRef, private rdr: Renderer2) {}\n\n public ngOnInit(): void {\n setTimeout(() => {\n if (this.ddAutoHeight) {\n let i = 1;\n let parent: any;\n while (i <= this.ddAutoHeight) {\n parent = parent ? parent.parentNode : this.el.nativeElement.parentNode;\n i++;\n }\n const height = parent.clientHeight;\n if (height) {\n this.rdr.setStyle(this.el.nativeElement, 'height', height + 'px');\n }\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { DecimalPipe } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[ddCounter]',\r\n standalone: true,\r\n})\r\nexport class CounterDirective implements OnChanges {\r\n @Input() public ddCounter: number | undefined;\r\n @Input() public needPositive = false;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n public ngOnChanges(change: SimpleChanges): void {\r\n this.el.nativeElement.innerHTML = 0;\r\n let interval: any;\r\n if (change['ddCounter']?.currentValue) {\r\n /** получаем шаг для инкремента делением конечного числа на 20*/\r\n let step = Math.floor(change['ddCounter'].currentValue / 20);\r\n /** бывают маленькие и отрицательные числа*/\r\n step = step >= 1 || step <= -1 ? step : 1;\r\n let x = 0;\r\n if (change['ddCounter'].currentValue > 0) {\r\n interval = setInterval(() => {\r\n if (x + step >= change['ddCounter'].currentValue) {\r\n /** Если шаг увеличивает значение больше чем исходные число, приравниваем к исходнику и заканчиваем*/\r\n const transformNumberFirst = new DecimalPipe('ru').transform(change['ddCounter'].currentValue);\r\n this.el.nativeElement.innerHTML = this.needPositive\r\n ? '+' + transformNumberFirst\r\n : transformNumberFirst;\r\n clearInterval(interval);\r\n return;\r\n }\r\n x += step;\r\n const transformNumber = new DecimalPipe('ru').transform(x);\r\n this.el.nativeElement.innerHTML = this.needPositive ? '+' + transformNumber : transformNumber;\r\n }, 1);\r\n } else if (change['ddCounter'].currentValue < 0) {\r\n interval = setInterval(() => {\r\n if (x - step <= change['ddCounter'].currentValue) {\r\n this.el.nativeElement.innerHTML = new DecimalPipe('ru').transform(change['ddCounter'].currentValue);\r\n clearInterval(interval);\r\n return;\r\n }\r\n x += step;\r\n this.el.nativeElement.innerHTML = new DecimalPipe('ru').transform(x);\r\n }, 10);\r\n }\r\n }\r\n setTimeout(() => {\r\n clearInterval(interval);\r\n }, 4000);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ddDeclension]',\r\n standalone: true,\r\n})\r\nexport class DeclensionDirective implements OnInit {\r\n @Input() public ddDeclension!: string[];\r\n @Input() public count = 0;\r\n @Input() public whitespace = true;\r\n @Input() public needCount = true;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n public ngOnInit(): void {\r\n const declension = { 1: this.ddDeclension[0], 2: this.ddDeclension[1], 5: this.ddDeclension[2] };\r\n let x = this.count >= 10 && this.count <= 20 ? 5 : this.count % 10;\r\n if (this.count > 999) {\r\n x = this.count % 100;\r\n }\r\n const keys: [1, 2, 5] = (Object.keys(declension).map(Number) as [1, 2, 5]).sort();\r\n const text = !x\r\n ? `${declension[keys.pop() || 1]}`\r\n : keys.reduce((result, key) => (x >= +key ? declension[key] : result), '');\r\n this.el.nativeElement.innerHTML = `${this.whitespace ? '&nbsp;' : ''}${\r\n this.needCount ? this.count : ''\r\n } ${text}`;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ddClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Input() public elements!: string[] | undefined;\r\n @Output() public ddClickOutside = new EventEmitter();\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n public onClick(targetElement: Event) {\r\n let clickedElemInside = false;\r\n if (this.elements?.length) {\r\n this.elements.forEach(el => {\r\n if (el) {\r\n const elem = document.getElementById(el) as any;\r\n if (elem && !clickedElemInside) {\r\n clickedElemInside = elem.contains(targetElement.target);\r\n }\r\n }\r\n });\r\n }\r\n\r\n const clickedInside = this.el.nativeElement.contains(targetElement.target);\r\n\r\n if (!clickedElemInside) {\r\n this.ddClickOutside.emit(clickedInside);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[ddResizeTextarea]',\n standalone: true,\n})\nexport class ResizeTextareaDirective {\n constructor(private el: ElementRef, private rdr: Renderer2) {}\n\n @HostListener('input', ['$event'])\n public onKeyup(): void {\n const h = this.el.nativeElement.scrollHeight;\n this.rdr.setStyle(this.el.nativeElement, 'max-height', h + 'px');\n this.rdr.setStyle(this.el.nativeElement, 'height', h + 'px');\n }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ddTriangle]',\r\n})\r\nexport class TriangleDirective implements OnInit {\r\n @Input() public width = 16;\r\n @Input() public height = 16;\r\n @Input() public fill = '#fff';\r\n @Input() public stroke = '#fff';\r\n @Input() public points = '0,8 4,0 8,8';\r\n @Input() public drTriangle: 'top' | 'left' | 'right' | 'bottom' | 'top-left' = 'left';\r\n\r\n constructor(private rdr: Renderer2, private el: ElementRef) {}\r\n\r\n public ngOnInit(): void {\r\n setTimeout(() => {\r\n const option = this.el.nativeElement.getBoundingClientRect();\r\n let left = option.width / 2 - this.width / 2;\r\n let top = -this.height / 2;\r\n if (this.drTriangle === 'left') {\r\n this.points = '8,0 0,8 8,16';\r\n left = -this.width / 2;\r\n top = option.height / 2 - this.width / 2;\r\n }\r\n if (this.drTriangle === 'right') {\r\n this.points = '8,0 16,8 8,16';\r\n left = option.width - this.width / 2 - 2;\r\n top = option.height / 2 - this.width;\r\n }\r\n if (this.drTriangle === 'bottom') {\r\n this.points = '16,8 8,16 0,8';\r\n top = option.height - this.height / 2 - 2;\r\n }\r\n if (this.drTriangle === 'top-left') {\r\n left = 46 - this.width / 2;\r\n }\r\n const svg = this.rdr.createElement('svg', 'svg');\r\n this.rdr.setAttribute(svg, 'width', `${this.width}`);\r\n this.rdr.setAttribute(svg, 'height', `${this.height}`);\r\n this.rdr.setStyle(svg, 'width', `${this.width}px`);\r\n this.rdr.setStyle(svg, 'height', `${this.height}px`);\r\n this.rdr.setStyle(svg, 'position', 'absolute');\r\n this.rdr.setStyle(svg, 'fill', this.fill);\r\n this.rdr.setStyle(svg, 'stroke', this.stroke);\r\n this.rdr.setStyle(svg, 'top', `${top}px`);\r\n this.rdr.setStyle(svg, 'left', `${left}px`);\r\n this.rdr.setStyle(svg, 'box-shadow', `0 14px 64px -4px #18274B0F, 0px 8px 22px -6px #18274B0F`);\r\n const polyline = this.rdr.createElement('polyline', 'svg');\r\n this.rdr.setAttribute(polyline, 'points', this.points);\r\n this.rdr.appendChild(svg, polyline);\r\n this.rdr.appendChild(this.el.nativeElement, svg);\r\n });\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, Inject, InjectionToken, TemplateRef} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TriangleDirective} from \"../directives/triangle.directive\";\r\n\r\nexport type TooltipData = string | TemplateRef<void>;\r\nexport const TOOLTIP_DATA = new InjectionToken<TooltipData>('Подсказка');\r\n\r\n@Component({\r\n selector: 'dd-tooltip',\r\n standalone: true,\r\n imports: [CommonModule, TriangleDirective],\r\n templateUrl: './tooltip.component.html',\r\n styleUrl: './tooltip.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TooltipComponent {\r\n public get asString(): string | false {\r\n return typeof this.tooltipData === 'string' ? this.tooltipData : false;\r\n }\r\n\r\n public get asTemplate(): TemplateRef<void> | false {\r\n return this.tooltipData instanceof TemplateRef ? this.tooltipData : false;\r\n }\r\n\r\n constructor(@Inject(TOOLTIP_DATA) public tooltipData: TooltipData) {\r\n }\r\n}\r\n","<div class=\"tooltip-container\">\r\n @if (asString; as string) {\r\n {{ string }}\r\n } @if (asTemplate; as template) {\r\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\r\n }\r\n <svg class=\"tooltip-container__triangle\" width=\"16\" height=\"16\">\r\n <polyline points=\"8,0 0,8 8,16\"></polyline>\r\n </svg>\r\n</div>\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { TOOLTIP_DATA, TooltipComponent } from './tooltip.component';\r\n\r\n@Directive({\r\n selector: '[ddTooltip]',\r\n standalone: true,\r\n})\r\nexport class TooltipDirective implements OnDestroy {\r\n @Input() public ddTooltip!: string | TemplateRef<void>;\r\n @Input() public withClick = false;\r\n private overlayRef: OverlayRef | null = null;\r\n\r\n constructor(\r\n private element: ElementRef,\r\n private overlay: Overlay,\r\n private viewContainer: ViewContainerRef,\r\n private rdr: Renderer2,\r\n ) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n public onClick(targetElement: Event) {\r\n const clickedInside = this.element.nativeElement.contains(targetElement.target);\r\n\r\n if (!clickedInside) {\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click')\r\n public showTooltipOnClick(): void {\r\n const overlay = document.getElementsByClassName('cdk-overlay-container')?.[0];\r\n if (overlay && overlay.firstChild) {\r\n overlay.removeChild(overlay.firstChild);\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n return;\r\n }\r\n\r\n this.attachTooltip();\r\n }\r\n\r\n @HostListener('mouseenter')\r\n @HostListener('focus')\r\n public showTooltip(): void {\r\n if (this.withClick) {\r\n return;\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n return;\r\n }\r\n\r\n this.attachTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n @HostListener('blur')\r\n public hideTooltip(): void {\r\n if (this.withClick) {\r\n return;\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.overlayRef?.dispose();\r\n }\r\n\r\n private attachTooltip(): void {\r\n if (this.overlayRef === null) {\r\n const positionStrategy = this.getPositionStrategy();\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: TOOLTIP_DATA,\r\n useValue: this.ddTooltip,\r\n },\r\n ],\r\n });\r\n const component = new ComponentPortal(TooltipComponent, this.viewContainer, injector);\r\n this.overlayRef.attach(component);\r\n }\r\n\r\n private getPositionStrategy(): PositionStrategy {\r\n return this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.element)\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n panelClass: 'right',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n panelClass: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n panelClass: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n panelClass: 'left',\r\n },\r\n ]);\r\n }\r\n}\r\n","import { ComponentRef } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { OverlayRef } from '@angular/cdk/overlay';\r\n\r\nexport class DDDialogRef<T> {\r\n public componentRef: ComponentRef<T> | undefined;\r\n\r\n /**\r\n * Stream of backdrop click events.\r\n * */\r\n public readonly onBackdropClick: Observable<MouseEvent>;\r\n protected onClose$: Subject<any> = new Subject();\r\n public readonly onClose: Observable<any> = this.onClose$.asObservable();\r\n\r\n constructor(protected overlayRef: OverlayRef) {\r\n this.onBackdropClick = this.overlayRef.backdropClick();\r\n }\r\n\r\n /**\r\n * Hides dialog.\r\n * */\r\n public close(res?: any) {\r\n this.overlayRef.detach();\r\n this.overlayRef.dispose();\r\n this.onClose$.next(res);\r\n this.onClose$.complete();\r\n }\r\n}\r\n","import { InjectionToken, ViewContainerRef } from '@angular/core';\r\n\r\nexport const DIALOG_CONFIG = new InjectionToken<DialogConfig>('Default options');\r\n\r\nexport class DialogConfig<D = any> {\r\n public hasBackdrop = true;\r\n public backdropClass = 'modal-overlay';\r\n public dialogClass = '';\r\n public closeOnBackdropClick = true;\r\n public closeOnEsc = true;\r\n public hasScroll = false;\r\n public autoFocus = true;\r\n public viewContainerRef: ViewContainerRef | undefined;\r\n public context: D | undefined;\r\n\r\n constructor(config: Partial<DialogConfig>) {\r\n Object.assign(this, config);\r\n }\r\n}\r\n","import { Component, ComponentRef, ElementRef, EmbeddedViewRef, ViewChild } from '@angular/core';\r\nimport { CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\r\n\r\n@Component({\r\n selector: 'dd-dialog-container',\r\n standalone: true,\r\n imports: [CdkPortalOutlet],\r\n template: '<ng-template cdkPortalOutlet></ng-template>',\r\n})\r\nexport class DialogContainerComponent {\r\n @ViewChild(CdkPortalOutlet, { static: true }) public portalOutlet: CdkPortalOutlet | undefined;\r\n\r\n protected focusTrap: FocusTrap | undefined;\r\n\r\n constructor(\r\n protected config: DialogConfig,\r\n protected elementRef: ElementRef,\r\n protected focusTrapFactory: FocusTrapFactory,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n if (this.config.autoFocus) {\r\n this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);\r\n // this.focusTrap.blurPreviouslyFocusedElement();\r\n this.focusTrap.focusInitialElement();\r\n }\r\n }\r\n\r\n public attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n return this.portalOutlet!.attachComponentPortal(portal);\r\n }\r\n\r\n public attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n return this.portalOutlet!.attachTemplatePortal(portal);\r\n }\r\n}\r\n","import {\r\n ComponentFactoryResolver,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { DDDialogRef as DialogRef } from './dialog-ref';\r\nimport { DIALOG_CONFIG, DialogConfig } from './dialog-config';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport {\r\n GlobalPositionStrategy,\r\n Overlay,\r\n OverlayRef,\r\n PositionStrategy,\r\n ScrollStrategy,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';\r\nimport { DialogContainerComponent } from './dialog-container.component';\r\nimport { fromEvent } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DialogService {\r\n public dialogRef: DialogRef<any> | undefined;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) protected document: Document,\r\n @Inject(DIALOG_CONFIG) protected globalConfig: DialogConfig,\r\n protected overlay: Overlay,\r\n protected injector: Injector,\r\n protected cfr: ComponentFactoryResolver,\r\n ) {}\r\n\r\n public open<T, R = any>(\r\n content: Type<T> | TemplateRef<T>,\r\n userConfig: Partial<DialogConfig<Partial<R> | string>> = {},\r\n ): DialogRef<T> {\r\n const config = new DialogConfig({ ...this.globalConfig, ...userConfig });\r\n const overlayRef = this.createOverlay(config);\r\n const dialogRef = new DialogRef<T>(overlayRef);\r\n this.dialogRef = dialogRef;\r\n const container = this.createContainer(config, overlayRef);\r\n this.createContent(config, content, container, dialogRef);\r\n\r\n this.registerCloseListeners(config, overlayRef, dialogRef);\r\n\r\n return dialogRef;\r\n }\r\n\r\n protected createOverlay(config: DialogConfig): OverlayRef {\r\n const positionStrategy = this.createPositionStrategy();\r\n const scrollStrategy = this.createScrollStrategy(config.hasScroll);\r\n\r\n return this.overlay.create({\r\n positionStrategy,\r\n scrollStrategy,\r\n hasBackdrop: config.hasBackdrop,\r\n backdropClass: config.backdropClass,\r\n panelClass: config.dialogClass,\r\n });\r\n }\r\n\r\n protected createPositionStrategy(): PositionStrategy {\r\n return new GlobalPositionStrategy().centerVertically().centerHorizontally();\r\n }\r\n\r\n protected createScrollStrategy(hasScroll: boolean): ScrollStrategy {\r\n if (hasScroll) {\r\n return this.overlay.scrollStrategies.noop();\r\n } else {\r\n return this.overlay.scrollStrategies.block();\r\n }\r\n }\r\n\r\n protected createContainer(config: DialogConfig, overlayRef: OverlayRef): DialogContainerComponent {\r\n const injector = new PortalInjector(this.createInjector(config), new WeakMap([[DialogConfig, config]]));\r\n const containerPortal = new ComponentPortal(DialogContainerComponent, null, injector, this.cfr);\r\n const containerRef = overlayRef.attach(containerPortal);\r\n return containerRef.instance;\r\n }\r\n\r\n protected createInjector(config: DialogConfig): Injector {\r\n return (config.viewContainerRef && config.viewContainerRef.injector) || this.injector;\r\n }\r\n\r\n protected createContent<T>(\r\n config: DialogConfig,\r\n content: Type<T> | TemplateRef<T>,\r\n container: DialogContainerComponent,\r\n dialogRef: DialogRef<T>,\r\n ) {\r\n if (content instanceof TemplateRef) {\r\n const portal = this.createTemplatePortal(config, content, dialogRef);\r\n container.attachTemplatePortal(portal);\r\n } else {\r\n const portal = this.createComponentPortal(config, content, dialogRef);\r\n dialogRef.componentRef = container.attachComponentPortal(portal);\r\n\r\n if (config.context) {\r\n Object.assign(dialogRef.componentRef.instance as any, { ...config.context });\r\n }\r\n }\r\n }\r\n\r\n protected createTemplatePortal<T>(\r\n config: DialogConfig,\r\n content: TemplateRef<T>,\r\n dialogRef: DialogRef<T>,\r\n ): TemplatePortal {\r\n return new TemplatePortal(\r\n content,\r\n {} as ViewContainerRef,\r\n { $implicit: config.context, dialogRef } as any,\r\n );\r\n }\r\n\r\n protected createComponentPortal<T>(\r\n config: DialogConfig,\r\n content: Type<T>,\r\n dialogRef: DialogRef<T>,\r\n ): ComponentPortal<T> {\r\n const injector = this.createInjector(config);\r\n const portalInjector = new PortalInjector(injector, new WeakMap([[DialogRef, dialogRef]]));\r\n return new ComponentPortal(content, config.viewContainerRef, portalInjector);\r\n }\r\n\r\n protected registerCloseListeners<T>(config: DialogConfig, overlayRef: OverlayRef, dialogRef: DialogRef<T>) {\r\n if (config.closeOnBackdropClick) {\r\n overlayRef.backdropClick().subscribe(() => dialogRef.close());\r\n }\r\n\r\n if (config.closeOnEsc) {\r\n fromEvent<KeyboardEvent>(this.document, 'keyup')\r\n .pipe(\r\n filter((event: KeyboardEvent) => event.keyCode === 27),\r\n takeUntil(dialogRef.onClose),\r\n )\r\n .subscribe(() => dialogRef.close());\r\n }\r\n }\r\n}\r\n","// services\r\nexport * from './services/theme-constructor.service'\r\nexport * from './services/date.service'\r\nexport * from './services/svg-icons.service'\r\nexport * from './services/destroy.service'\r\nexport * from './services/interceptors.service'\r\nexport * from './services/validators.service'\r\nexport * from './services/fetcher.service'\r\n// pipes\r\nexport * from './pipes/filter.pipe'\r\nexport * from './pipes/highlight.pipe'\r\nexport * from './pipes/safe.pipe'\r\nexport * from './pipes/reverse.pipe'\r\nexport * from './pipes/filter-tabs.pipe'\r\n\r\n// directives\r\nexport * from './directives/auto-height.directive'\r\nexport * from './directives/counter.directive'\r\nexport * from './directives/declension.directive'\r\nexport * from './directives/click-outside.directive'\r\nexport * from './directives/resize-textarea.directive'\r\nexport * from './tooltip/tooltip.directive'\r\nexport * from './tooltip/tooltip.component'\r\n// export * from './directives/triangle.directive'\r\n// dialog\r\n\r\nexport * from './dialog/dialog.service'\r\n","import {ChangeDetectionStrategy, Component, ElementRef, Inject, Input, Optional, Renderer2} from '@angular/core';\r\nimport {SvgIconsService} from \"../core\";\r\nimport {DOCUMENT} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'dd-lib-svg-icon',\r\n standalone: true,\r\n imports: [],\r\n template: '<ng-content></ng-content>',\r\n styleUrl: './lib-svg-icon.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n\r\n})\r\nexport class LibSvgIconComponent {\r\n @Input() public width: string | undefined;\r\n @Input() public height: string | undefined;\r\n @Input() public color: string | undefined;\r\n\r\n @Input()\r\n public set icon(iconName: string) {\r\n const svgData = this.svgIconRegistry.getIcon(iconName);\r\n if (this.svgIcon) {\r\n this.el.nativeElement.removeChild(this.svgIcon);\r\n }\r\n\r\n if (svgData) {\r\n this.svgIcon = this.svgElementFromString(svgData);\r\n if (this.width) {\r\n this.rdr.setStyle(this.svgIcon, 'width', this.width)\r\n }\r\n if ( this.height) {\r\n }\r\n if (this.color) {\r\n this.rdr.setStyle(this.svgIcon, 'fill', this.color)\r\n }\r\n\r\n\r\n this.el.nativeElement.appendChild(this.svgIcon);\r\n }\r\n }\r\n\r\n private svgIcon: SVGElement | undefined;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private rdr: Renderer2,\r\n private svgIconRegistry: SvgIconsService,\r\n @Optional() @Inject(DOCUMENT) private document: any,\r\n ) {\r\n }\r\n\r\n private svgElementFromString(svgContent: string): SVGElement {\r\n const div = this.document.createElement('DIV');\r\n div.innerHTML = svgContent;\r\n\r\n return div.querySelector('svg') || this.document.createElementNS('http://www.w3.org/200/svg', 'path');\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-accordion',\r\n standalone: true,\r\n imports: [NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-accordion.component.html',\r\n styleUrl: './lib-accordion.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibAccordionComponent {\r\n @Input() public accTitle: string | SafeHtml | undefined;\r\n public showAccordionContent: boolean | undefined;\r\n}\r\n","<div class=\"accordion\">\r\n <div (click)=\"showAccordionContent = !showAccordionContent\" class=\"accordion__header\">\r\n @if (accTitle) {\r\n <div [innerHTML]=\"accTitle\" class=\"accordion__title\"></div>\r\n }\r\n <div>\r\n <dd-lib-svg-icon class=\"cup\" icon=\"{{ showAccordionContent ? 'minus' : 'plus' }}\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n @if (showAccordionContent) {\r\n <div class=\"mt-8\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>\r\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\r\nimport {Location, NgOptimizedImage} from '@angular/common';\r\nimport {Router} from '@angular/router';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-back-button',\r\n standalone: true,\r\n imports: [NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-back-button.component.html',\r\n styleUrl: './lib-back-button.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibBackButtonComponent {\r\n @Input() public backTitle = 'Назад';\r\n @Input() public rout: string | undefined;\r\n\r\n constructor(private location: Location, private router: Router) {}\r\n\r\n public onBack(): void {\r\n if (this.rout) {\r\n this.router.navigate([this.rout]);\r\n } else {\r\n try {\r\n this.location.back();\r\n } catch (err) {\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n }\r\n}\r\n","<div (click)=\"onBack()\" class=\"mr-8 align-center cup d-inline-flex\">\r\n <dd-lib-svg-icon icon=\"back_arrow\"></dd-lib-svg-icon>\r\n <div class=\"b3-title gray cup\">{{ backTitle }}</div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n EventEmitter,\r\n Input,\r\n NO_ERRORS_SCHEMA,\r\n Output,\r\n} from '@angular/core';\r\nimport {CommonModule, NgOptimizedImage} from '@angular/common';\r\nimport {LibCommonButtonComponent} from '../common/lib-common-button';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TooltipData, TooltipDirective} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-filter-button',\r\n standalone: true,\r\n templateUrl: './lib-filter-button.component.html',\r\n styleUrl: './lib-filter-button.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, FormsModule, NgOptimizedImage, TooltipDirective],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n})\r\nexport class LibFilterButtonComponent extends LibCommonButtonComponent {\r\n // public onClick(event: Event): void {\r\n // super.onClick(event);\r\n // // this.active = !this.active;\r\n // }\r\n @Output() public clearEvent = new EventEmitter<null>();\r\n @Output() public hintEvent = new EventEmitter<null>();\r\n @Input() public hintContent: TooltipData | undefined;\r\n\r\n public onClear($event: MouseEvent): void {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.active = false;\r\n this.clearEvent.emit();\r\n }\r\n\r\n public hintClick($event: MouseEvent): void {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n this.hintEvent.emit();\r\n }\r\n}\r\n","<div (click)=\"onClick($event)\" [class.disabled]=\"disabled\" [ngStyle]=\"{width}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n loader: showLoader,\r\n active: active,\r\n white: btnColor === 'white',\r\n transparent: btnColor === 'transparent',\r\n }\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <div class=\"loader\"></div>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n @if (hintContent) {\r\n <img\r\n (click)=\"hintClick($event)\"\r\n alt=\"Описание\"\r\n [ddTooltip]=\"hintContent\"\r\n [withClick]=\"true\"\r\n class=\"ml-8\"\r\n height=\"16\"\r\n ngSrc=\"assets/images/svg/question{{ active ? '-white-g' : '' }}.svg\"\r\n width=\"16\" />\r\n } @if (active) {\r\n <img\r\n (click)=\"onClear($event)\"\r\n alt=\"Очистить\"\r\n class=\"ml-8 cup\"\r\n height=\"20\"\r\n ngSrc=\"assets/images/svg/close.svg\"\r\n width=\"20\" />\r\n }\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\r\nimport {AutoHeightDirective} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-skeleton',\r\n standalone: true,\r\n imports: [AutoHeightDirective],\r\n templateUrl: './lib-skeleton.component.html',\r\n styleUrl: './lib-skeleton.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibSkeletonComponent {\r\n @Input() public deepParent: number | undefined;\r\n @Input() public sHeight: string | undefined = '200px';\r\n @Input() public sMb: string | undefined;\r\n\r\n @Input()\r\n public set skeleton(s: boolean | undefined) {\r\n if (s === true) {\r\n this._skeleton = s;\r\n this.cdr.detectChanges();\r\n } else {\r\n setTimeout(() => {\r\n this._skeleton = s;\r\n this.cdr.detectChanges();\r\n }, 1000);\r\n }\r\n }\r\n @Input() public set plugs(n: number | undefined) {\r\n if (n && n > 0) {\r\n this._plugs = Array.from(Array(n).keys());\r\n }\r\n }\r\n\r\n public _plugs: number[] = [];\r\n public _skeleton: boolean | undefined;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n protected readonly length = length;\r\n}\r\n","@if (_skeleton && _plugs.length) { @for (plug of _plugs; track plug) {\r\n<div\r\n [class.skeleton]=\"_skeleton\"\r\n [style.height]=\"_skeleton ? sHeight : ''\"\r\n [style.margin-bottom]=\"sMb\"\r\n class=\"skelet full-width full-height\"></div>\r\n} } @else {\r\n<div [style.height]=\"_skeleton ? sHeight : ''\" [class.skeleton]=\"_skeleton\" [ddAutoHeight]=\"deepParent\">\r\n <ng-content></ng-content>\r\n</div>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { LibSkeletonComponent } from '../lib-skeleton/lib-skeleton.component';\r\n\r\n@Component({\r\n selector: 'dd-lib-card',\r\n standalone: true,\r\n imports: [LibSkeletonComponent],\r\n templateUrl: './lib-card.component.html',\r\n styleUrl: './lib-card.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibCardComponent {\r\n @Input() public type: 'giant' | 'standard' | 'small' = 'standard';\r\n @Input() public footerBtn: string | undefined;\r\n @Input() public sHeight: string | undefined;\r\n @Input() public skeleton: any;\r\n @Input() public parentLvlForSkeleton: number | undefined;\r\n @Input() public plugs: number | undefined;\r\n @Input() public borderRadius: 'all' | 'top' | 'bottom' | 'none' = 'all';\r\n\r\n @Output() public cardBtnEvent = new EventEmitter<undefined>();\r\n\r\n constructor(public cdr: ChangeDetectorRef) {}\r\n}\r\n","<div\r\n class=\"lib-card-wrapper\"\r\n [class.border-r-bottom]=\"borderRadius === 'bottom'\"\r\n [class.border-r-none]=\"borderRadius === 'none'\"\r\n [class.border-r-top]=\"borderRadius === 'top'\"\r\n [class.giant-card]=\"type === 'giant'\"\r\n [class.small-card]=\"type === 'small'\"\r\n [class.with-footer]=\"!!footerBtn\">\r\n <dd-lib-skeleton\r\n [deepParent]=\"parentLvlForSkeleton\"\r\n [skeleton]=\"skeleton\"\r\n [plugs]=\"plugs\"\r\n [sHeight]=\"sHeight\">\r\n <div class=\"lib-card\">\r\n <ng-content></ng-content>\r\n </div>\r\n </dd-lib-skeleton>\r\n</div>\r\n@if (footerBtn) {\r\n<div (click)=\"cardBtnEvent.emit(); cdr.detectChanges()\" class=\"lib-card-footer-btn\">\r\n {{ footerBtn }}\r\n</div>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dd-lib-radio',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './lib-radio.component.html',\r\n styleUrl: './lib-radio.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibRadioComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibRadioComponent implements OnInit, ControlValueAccessor {\r\n public static idCounter = 1;\r\n\r\n @Input() public radioId: string | undefined; // input ID: если не указан, генерируется уникальный ID\r\n @Input() public disabled = false; // состояние: по умолчанию - активное\r\n @Input() public required = false;\r\n @Input() public name: string | undefined;\r\n @Input() public value: any;\r\n @Input() public checked = false;\r\n\r\n @Output() public changed = new EventEmitter();\r\n\r\n public focused: boolean | undefined;\r\n public onTouchedCallback: (() => void) | undefined;\r\n private modelInitialization = true;\r\n\r\n public ngOnInit() {\r\n if (!this.radioId) {\r\n this.radioId = 'dd-radio-' + LibRadioComponent.idCounter++;\r\n }\r\n }\r\n\r\n public onSelected(target: EventTarget | null) {\r\n this.checked = (target as HTMLInputElement)?.checked;\r\n this.propagateChange(this.value);\r\n this.changed.emit(this.value);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public setDisabledState(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public writeValue(value: any): void {\r\n const isInitialization = this.modelInitialization;\r\n this.modelInitialization = false;\r\n if (this.checked !== undefined && value === undefined && isInitialization) {\r\n return;\r\n }\r\n this.checked = value === this.value;\r\n }\r\n\r\n private propagateChange(_value: any) {}\r\n}\r\n","<label [for]=\"radioId\" class=\"radio\">\n <input\n (change)=\"onSelected($event.target)\"\n [attr.aria-checked]=\"checked\"\n [attr.tabIndex]=\"disabled ? -1 : 0\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"radioId\"\n [name]=\"name\"\n [ngClass]=\"{ disabled: disabled }\"\n [required]=\"required\"\n class=\"radio-input\"\n role=\"radio\"\n type=\"radio\" />\n <div [class.focused]=\"focused\" class=\"mark-wrap\">\n <div class=\"radio-button\"></div>\n </div>\n <div class=\"label-wrap\">\n <span><ng-content></ng-content></span>\n </div>\n</label>\n","import {ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnInit, Output,} from '@angular/core';\r\nimport {LibFilterButtonComponent} from '../lib-filter-button/lib-filter-button.component';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {LibRadioComponent} from '../lib-radio/lib-radio.component';\r\nimport {CommonModule, NgOptimizedImage} from '@angular/common';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {LibButtonComponent} from '../lib-button/lib-button.component';\r\nimport {parse} from 'date-fns';\r\nimport {DateService, IDaysInMonth} from \"../core\";\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\nconst Months = [\r\n 'Январь',\r\n 'Февраль',\r\n 'Март',\r\n 'Апрель',\r\n 'Май',\r\n 'Июнь',\r\n 'Июль',\r\n 'Август',\r\n 'Сентябрь',\r\n 'Октябрь',\r\n 'Ноябрь',\r\n 'Декабрь',\r\n];\r\n\r\n/**\r\n Этот компонент используется для отображения календаря с возможностью выбора даты.\r\n Ниже приведено описание свойств и методов данного компонента:\r\n\r\n Свойства:\r\n - @Input() public type: 'string' | 'number' | 'date' = 'string'; - тип данных для выбора даты.\r\n - @Input() public format = 'dd.MM.yyyy HH:mm'; - формат отображения даты.\r\n - @Input() public maxDate = new Date(); - максимальная дата, которую можно выбрать.\r\n - @Output() public emitDate = new EventEmitter<date | undefined>(); - событие, срабатывающее при выборе даты.\r\n - public dateValue: Date | undefined; - выбранная пользователем дата.\r\n - public months = Months; - массив с названиями месяцев.\r\n - public week = ['ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ', 'ВС']; - массив с названиями дней недели.\r\n - public year = new Date().getFullYear(); - текущий год.\r\n - public month = new Date().getMonth(); - текущий месяц.\r\n - public day = new Date().getDay(); - текущий день недели.\r\n - public daysInMonth: IDaysInMonth; - количество дней в текущем месяце.\r\n - public currentDate = new Date(); - текущая выбранная дата.\r\n - public dateNow = new Date(); - текущая дата.\r\n - public onTouchedCallback: () => void; - функция обратного вызова при касании.\r\n\r\n Методы:\r\n - public propagateChange(_value: Date): void {} - метод для обновления значения выбранной даты.\r\n - public ngOnInit(): void {} - метод жизненного цикла компонента, вызываемый при инициализации.\r\n - public setDayInMonth(): void {} - метод для установки количества дней в текущем месяце.\r\n - public changeMonth(number: number): void {} - метод для изменения месяца в календаре.\r\n - public getMonth(): string {} - метод для получения названия текущего месяца.\r\n - public registerOnChange(fn: any): void {} - метод для регистрации функции обратного вызова при изменении значения.\r\n - public registerOnTouched(fn: any): void {} - метод для регистрации функции обратного вызова при касании.\r\n - public writeValue(val: Date): void {} - метод для установки значения даты.\r\n - public selectDay(day: number): void {} - метод для выбора конкретного дня в календаре.\r\n - public selectDate(): void {} - метод для выбора даты и передачи значения через propagateChange и emitDate.\r\n - public checkHideDay(day: number): boolean {} - метод для проверки скрытия определенного дня в календаре.\r\n - public canselDate(): void {} - метод для отмены выбранной даты и сброса значений.\r\n **/\r\n@Component({\r\n selector: 'dd-lib-calendar',\r\n standalone: true,\r\n imports: [\r\n LibFilterButtonComponent,\r\n LibCardComponent,\r\n LibRadioComponent,\r\n CommonModule,\r\n LibButtonComponent,\r\n NgOptimizedImage,\r\n LibSvgIconComponent,\r\n ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibCalendarComponent),\r\n multi: true,\r\n },\r\n ],\r\n templateUrl: './lib-calendar.component.html',\r\n styleUrl: './lib-calendar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibCalendarComponent implements ControlValueAccessor, OnInit {\r\n @Input() public type: 'string' | 'number' | 'date' = 'string';\r\n @Input() public formatDate = 'dd.MM.yyyy';\r\n @Input() public formatTime: string | undefined;\r\n @Input() public mode: 'icon' | 'full' = 'full';\r\n @Output() public emitDate = new EventEmitter<Date | undefined>();\r\n @Input()\r\n public set maxDate(date: any) {\r\n if (date === 'current') {\r\n this._maxDate = new Date();\r\n } else if (typeof date === 'object') {\r\n this._maxDate = date;\r\n } else if (typeof date === 'string') {\r\n this._maxDate = parse(\r\n date,\r\n `${this.formatDate}${this.formatTime ? ' ' + this.formatTime : ''}`,\r\n new Date(),\r\n );\r\n }\r\n }\r\n\r\n @Input()\r\n public set minDate(date: any) {\r\n if (date === 'current') {\r\n this._minDate = new Date();\r\n } else if (date === 'year') {\r\n this._minDate = new Date(new Date().setFullYear(new Date().getFullYear() - 1));\r\n } else if (date === 'month') {\r\n this._minDate = new Date(new Date().setMonth(new Date().getMonth() - 1));\r\n } else if (typeof date === 'object') {\r\n this._minDate = date;\r\n } else if (typeof date === 'string') {\r\n this._minDate = parse(\r\n date,\r\n `${this.formatDate}${this.formatTime ? ' ' + this.formatTime : ''}`,\r\n new Date(),\r\n );\r\n }\r\n }\r\n\r\n private _maxDate: Date | undefined;\r\n private _minDate: Date | undefined;\r\n public dateValue: Date | undefined;\r\n public months = Months;\r\n public week = ['ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ', 'ВС'];\r\n public year = new Date().getFullYear();\r\n public month = new Date().getMonth();\r\n public day = new Date().getDay();\r\n public daysInMonth: IDaysInMonth | undefined;\r\n // minDate = setMinDate();\r\n public currentDate = new Date();\r\n public dateNow = new Date();\r\n public onTouchedCallback: (() => void) | undefined;\r\n public showCalendar: boolean | undefined;\r\n\r\n constructor(private dateService: DateService) {}\r\n\r\n public propagateChange(_value: Date): void {}\r\n\r\n public ngOnInit(): void {\r\n this.setDayInMonth();\r\n }\r\n\r\n public setDayInMonth(): void {\r\n this.daysInMonth = this.dateService.getDaysInMonth(this.month, this.year);\r\n }\r\n\r\n public changeMonth(number: number): void {\r\n const temp = new Date(this.currentDate);\r\n temp.setMonth(temp.getMonth() + number);\r\n this.month = temp.getMonth();\r\n this.year = temp.getFullYear();\r\n this.currentDate = temp;\r\n this.setDayInMonth();\r\n }\r\n\r\n public getMonth(): string {\r\n if (this.currentDate) {\r\n return this.months[this.currentDate.getMonth()];\r\n } else {\r\n return this.months[this.month];\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public writeValue(val: Date): void {\r\n this.dateValue = val;\r\n }\r\n\r\n public selectDay(day: number): void {\r\n if (!this.checkHideDay(day)) {\r\n this.dateValue = new Date(this.year, this.month, day);\r\n }\r\n }\r\n\r\n public selectDate(): void {\r\n this.propagateChange(this.dateValue as Date);\r\n this.emitDate.emit(this.dateValue);\r\n this.showCalendar = false;\r\n }\r\n\r\n public checkHideDay(day: number): boolean {\r\n let moreDay = false;\r\n let moreMonth = false;\r\n let moreYear = false;\r\n const lessDay = false;\r\n const lessMonth = false;\r\n const lessYear = false;\r\n if (this._maxDate) {\r\n const [maxYear, maxMonth, maxDay] = [\r\n this._maxDate.getFullYear(),\r\n this._maxDate.getMonth(),\r\n this._maxDate.getDate(),\r\n ];\r\n moreDay = this.year >= maxYear && this.month >= maxMonth && day > maxDay;\r\n moreMonth = this.year >= maxYear && this.month > maxMonth;\r\n moreYear = this.year > maxYear;\r\n }\r\n if (this._minDate) {\r\n const [minYear, minMonth, minDay] = [\r\n this._minDate.getFullYear(),\r\n this._minDate.getMonth(),\r\n this._minDate.getDate(),\r\n ];\r\n moreDay = this.year <= minYear && this.month <= minMonth && day < minDay;\r\n moreMonth = this.year <= minYear && this.month < minMonth;\r\n moreYear = this.year < minYear;\r\n }\r\n return moreDay || moreMonth || moreYear || lessDay || lessMonth || lessYear;\r\n }\r\n\r\n public canselDate(): void {\r\n this.emitDate.emit();\r\n this.dateValue = undefined;\r\n this.showCalendar = false;\r\n }\r\n}\r\n","@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"\r\n dateValue?.getDate() === day && dateValue?.getMonth() === month && dateValue?.getFullYear() === year\r\n \"\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >Отменить\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\" [disabled]=\"!dateValue\" class=\"calendar-block__footer_btn\"\r\n >Выбрать\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dd-lib-checkbox',\r\n standalone: true,\r\n imports: [FormsModule],\r\n templateUrl: './lib-checkbox.component.html',\r\n styleUrl: './lib-checkbox.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibCheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibCheckboxComponent implements OnInit, ControlValueAccessor {\r\n public static idCounter = 1;\r\n\r\n @Input() public checkboxId: string | undefined;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public checked = false;\r\n @Input() public customClass: string | undefined;\r\n @Input() public invalid = false;\r\n\r\n @Output() public checkEvent = new EventEmitter<boolean>();\r\n public focused: boolean | undefined;\r\n private onTouchedCallback: (() => void) | undefined;\r\n\r\n public ngOnInit(): void {\r\n if (!this.checkboxId) {\r\n this.checkboxId = 'dd-checkbox-' + LibCheckboxComponent.idCounter++;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public onChecked(target: EventTarget | null): void {\r\n this.checked = (target as HTMLInputElement)?.checked;\r\n this.propagateChange(this.checked);\r\n this.checkEvent.emit(this.checked);\r\n }\r\n\r\n public writeValue(value: boolean): void {\r\n this.checked = value;\r\n }\r\n\r\n private propagateChange(value: boolean) {}\r\n}\r\n","<input\n (change)=\"onChecked($event.target)\"\n [checked]=\"checked\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [id]=\"checkboxId\"\n [required]=\"required\"\n [tabindex]=\"disabled ? -1 : null\"\n class=\"check-input\"\n type=\"checkbox\" />\n<label [for]=\"checkboxId\" class=\"{{ customClass }} check\">\n <span [class.focused]=\"focused\" class=\"checkbox\"></span>\n <ng-content></ng-content>\n</label>\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibButtonComponent} from '../lib-button/lib-button.component';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {ResizeTextareaDirective} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-comment-input',\r\n standalone: true,\r\n imports: [FormsModule, LibButtonComponent, NgOptimizedImage, ResizeTextareaDirective],\r\n templateUrl: './lib-comment-input.component.html',\r\n styleUrl: './lib-comment-input.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibCommentInputComponent extends LibCommonInputTextComponent {\r\n constructor(changeDetection: ChangeDetectorRef) {\r\n super(changeDetection);\r\n }\r\n}\r\n","<div class=\"lib-comment-textarea\">\n <textarea\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly\"\n ddResizeTextarea\n type=\"text\"></textarea>\n <dd-lib-button [disabled]=\"disabled\" [noPadding]=\"true\" height=\"48px\" width=\"48px\">\n <svg fill=\"none\" height=\"28\" viewBox=\"0 0 24 22\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_429_4922)\">\n <path\n [attr.stroke]=\"disabled ? '#8e9cbe' : 'white'\"\n d=\"M10 14L21 3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n <path\n [attr.stroke]=\"disabled ? '#8e9cbe' : 'white'\"\n d=\"M21.0001 3L14.5001 21C14.4562 21.0957 14.3858 21.1769 14.2971 21.2338C14.2085 21.2906 14.1054 21.3209 14.0001 21.3209C13.8948 21.3209 13.7917 21.2906 13.703 21.2338C13.6144 21.1769 13.5439 21.0957 13.5001 21L10.0001 14L3.00007 10.5C2.90433 10.4561 2.8232 10.3857 2.76632 10.2971C2.70944 10.2084 2.6792 10.1053 2.6792 10C2.6792 9.89468 2.70944 9.79158 2.76632 9.70295C2.8232 9.61431 2.90433 9.54387 3.00007 9.5L21.0001 3Z\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n </g>\n <defs>\n <clipPath id=\"clip0_429_4922\">\n <rect [attr.fill]=\"disabled ? '#8e9cbe' : 'white'\" height=\"28\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n </dd-lib-button>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'dd-lib-file-upload',\r\n standalone: true,\r\n imports: [NgTemplateOutlet],\r\n templateUrl: './lib-file-upload.component.html',\r\n styleUrl: './lib-file-upload.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibFileUploadComponent {\r\n @Input() public multi: boolean | undefined;\r\n @Input() public requiredFileType: string | undefined;\r\n @Input() public template: TemplateRef<HTMLElement> | undefined;\r\n @Output() public outputFile = new EventEmitter<File>();\r\n @Output() public outputFiles = new EventEmitter<File[]>();\r\n public onFileSelected($event: Event) {\r\n if (!this.multi) {\r\n const file: File | undefined = ($event?.target as HTMLInputElement)?.files?.[0];\r\n if (file) {\r\n this.outputFile.emit(file);\r\n }\r\n }\r\n }\r\n}\r\n","<input\r\n type=\"file\"\r\n class=\"file-input\"\r\n [accept]=\"requiredFileType\"\r\n (change)=\"onFileSelected($event)\"\r\n #fileUpload />\r\n\r\n<div class=\"file-upload\">\r\n <div class=\"upload-btn\" (click)=\"fileUpload.click()\">\r\n @if (template) {\r\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\r\n } @else { Загрузить }\r\n </div>\r\n</div>\r\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\r\nimport {LibButtonComponent} from '../lib-button/lib-button.component';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-image-loader',\r\n standalone: true,\r\n imports: [LibButtonComponent, NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-image-loader.component.html',\r\n styleUrl: './lib-image-loader.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibImageLoaderComponent {\r\n public images: any;\r\n}\r\n","<div class=\"image-loader\">\r\n <div class=\"b3-title mb-4\">Вы можете прикрепить до 5 фотографий</div>\r\n <div class=\"gray b6-title mb-16\">Только .png и .jpg файлы. Общий объем не должен превышать 5 мегабайт</div>\r\n @if (images) {\r\n <div class=\"loaded-images\"></div>\r\n }\r\n <div>\r\n <dd-lib-button btnColor=\"white\">\r\n <div class=\"d-flex align-center\">\r\n <div class=\"mr-8\">\r\n <dd-lib-svg-icon icon=\"paperclip\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"title-soc-btn\">Добавить фотографии</div>\r\n </div>\r\n </dd-lib-button>\r\n </div>\r\n</div>\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Host,\n OnDestroy,\n OnInit,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {ControlContainer, ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {NgOptimizedImage} from '@angular/common';\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\nimport {LibCardComponent} from '../lib-card/lib-card.component';\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\n\n@Component({\n selector: 'dd-lib-input',\n standalone: true,\n templateUrl: './lib-input.component.html',\n styleUrls: ['./lib-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => LibInputComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, NgOptimizedImage, LibCardComponent, LibSvgIconComponent],\n})\nexport class LibInputComponent\n extends LibCommonInputTextComponent\n implements OnInit, OnDestroy, ControlValueAccessor\n{\n constructor(\n changeDetection: ChangeDetectorRef,\n @Optional() @Host() @SkipSelf() private controlContainer: ControlContainer,\n ) {\n super(changeDetection);\n }\n\n public ngOnInit(): void {\n this.control =\n this.controlContainer && this.formControlName\n ? this.controlContainer?.control?.get(this.formControlName)\n : null;\n }\n\n public writeValue(value: string | number | null): void {\n this.value = value === null || value === undefined ? '' : '' + value;\n if (!this.destroyed) {\n this.changeDetection.detectChanges();\n }\n }\n\n public ngOnDestroy(): void {\n this.destroyed = true;\n // this.focusManager.unregister(this);\n }\n}\n","<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { LibCardComponent } from '../lib-card/lib-card.component';\r\nimport { LibFilterButtonComponent } from '../lib-filter-button/lib-filter-button.component';\r\nimport { LibRadioComponent } from '../lib-radio/lib-radio.component';\r\n\r\nimport { LibCalendarComponent } from '../lib-calendar/lib-calendar.component';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { format } from 'date-fns';\r\nimport {ClickOutsideDirective, DateService, DEFAULT_FORMAT, GetDateBy, PeriodMenuDate, PeriodName} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-period',\r\n standalone: true,\r\n imports: [\r\n LibCardComponent,\r\n LibFilterButtonComponent,\r\n LibRadioComponent,\r\n LibCalendarComponent,\r\n FormsModule,\r\n ClickOutsideDirective,\r\n ],\r\n\r\n templateUrl: './lib-period.component.html',\r\n styleUrl: './lib-period.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibPeriodComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibPeriodComponent implements OnInit, ControlValueAccessor {\r\n public static idCounter = 1;\r\n @Input() public maxDate: Date | undefined;\r\n @Output() public setPeriodDate = new EventEmitter<{ [key in keyof GetDateBy]: string } | null>();\r\n\r\n public periodMenu: PeriodMenuDate[] | undefined;\r\n public periodIsShown = false;\r\n public calendarIsShown = false;\r\n public periodIsSelected = false;\r\n public calendarIsSelected = false;\r\n public selectedPeriod: PeriodName | undefined;\r\n public selectedDate: Date | undefined;\r\n public idPeriod!: string;\r\n public idCalendar!: string;\r\n private onTouchedCallback: (() => void) | undefined;\r\n\r\n constructor(private dateService: DateService) {}\r\n\r\n public ngOnInit(): void {\r\n this.idPeriod = 'period-wrapper-' + LibPeriodComponent.idCounter++;\r\n this.idCalendar = 'calendar-wrapper-' + LibPeriodComponent.idCounter++;\r\n this.periodMenu = this.dateService.getPeriodMenu();\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public showPeriod(): void {\r\n this.periodIsShown = !this.periodIsShown;\r\n this.calendarIsShown = !!this.selectedDate;\r\n }\r\n\r\n public clearPeriod(): void {\r\n this.periodIsSelected = false;\r\n this.calendarIsSelected = false;\r\n this.periodIsShown = false;\r\n this.calendarIsShown = false;\r\n this.selectedPeriod = undefined;\r\n this.selectedDate = undefined;\r\n this.setPeriodDate.emit(null);\r\n }\r\n\r\n public selectPeriod(type: keyof GetDateBy): void {\r\n this.periodIsShown = false;\r\n this.calendarIsShown = false;\r\n this.periodIsSelected = true;\r\n this.calendarIsSelected = false;\r\n const date = this.dateService.getFormattedDate(type);\r\n this.propagateChange(type);\r\n this.setPeriodDate.emit({ [type]: date });\r\n }\r\n\r\n public writeValue(value: any): void {\r\n this.selectedPeriod = value;\r\n }\r\n\r\n public selectDate($event: Date | undefined): void {\r\n this.calendarIsShown = false;\r\n if ($event) {\r\n this.selectedPeriod = 'calendar';\r\n this.propagateChange(this.selectedPeriod);\r\n this.periodIsShown = false;\r\n this.periodIsSelected = false;\r\n this.calendarIsSelected = true;\r\n this.setPeriodDate.emit({ calendar: format($event, DEFAULT_FORMAT) });\r\n } else {\r\n this.selectedDate = undefined;\r\n this.setPeriodDate.emit(null);\r\n if (!this.selectedPeriod) {\r\n this.periodIsSelected = false;\r\n }\r\n this.calendarIsSelected = false;\r\n }\r\n }\r\n\r\n public clickOutside($event: boolean): void {\r\n this.periodIsShown = $event;\r\n if (this.periodIsShown && !$event) {\r\n this.calendarIsShown = $event;\r\n }\r\n }\r\n\r\n private propagateChange(value: PeriodName) {}\r\n}\r\n","<div class=\"pos-relative\">\r\n <dd-lib-filter-button\r\n (clearEvent)=\"clearPeriod()\"\r\n (clickEvent)=\"showPeriod()\"\r\n [active]=\"periodIsSelected || calendarIsSelected\"\r\n [id]=\"idPeriod\"\r\n btnColor=\"transparent\">\r\n <div>Период</div>\r\n </dd-lib-filter-button>\r\n @if (periodIsShown) {\r\n <div (ddClickOutside)=\"clickOutside($event)\" [elements]=\"[idPeriod, idCalendar]\" class=\"wrapper-calendar\">\r\n <dd-lib-card class=\"period-block\" type=\"small\">\r\n <div>\r\n <div class=\"period-block__header\">\r\n <div class=\"period-block__header_title\">Период</div>\r\n <div (click)=\"clearPeriod()\" class=\"period-block__header_clear\">Сбросить</div>\r\n </div>\r\n <div class=\"period-block__list\">\r\n @for (period of periodMenu; track period) {\r\n <dd-lib-radio (changed)=\"selectPeriod($event)\" [(ngModel)]=\"selectedPeriod\" [value]=\"period.name\">{{\r\n period.title\r\n }}</dd-lib-radio>\r\n }\r\n </div>\r\n <div (click)=\"calendarIsShown = !calendarIsShown\" class=\"period-block__footer\">\r\n {{ calendarIsShown ? 'Закрыть' : 'Открыть' }} календарь\r\n </div>\r\n </div>\r\n </dd-lib-card>\r\n @if (calendarIsShown) {\r\n <dd-lib-calendar\r\n (emitDate)=\"selectDate($event)\"\r\n [(ngModel)]=\"selectedDate\"\r\n [id]=\"idCalendar\"\r\n [maxDate]=\"maxDate\"\r\n class=\"calendar-block\">\r\n </dd-lib-calendar>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {of, Subject} from 'rxjs';\r\nimport {debounceTime, delay, map, mergeMap, takeUntil} from 'rxjs/operators';\r\nimport {DestroyService, HighlightPipe, SafePipe} from \"../core\";\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-search-input',\r\n standalone: true,\r\n imports: [FormsModule, NgOptimizedImage, LibCardComponent, HighlightPipe, SafePipe, LibSvgIconComponent],\r\n templateUrl: './lib-search-input.component.html',\r\n styleUrl: './lib-search-input.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [DestroyService],\r\n})\r\nexport class LibSearchInputComponent<T> extends LibCommonInputTextComponent implements OnInit {\r\n @Input() public keyTitle = 'title';\r\n @Input() public keyDesc = 'description';\r\n @Input() public styleInput: 'round' | 'standard' = 'standard';\r\n @Input() public inputStyle: 'white' | 'gray' = 'gray';\r\n @Input() public searchData: T[] | null | undefined;\r\n @Input() public debounceTime = 100;\r\n @Input() public delay = 0;\r\n @Input() public idClose: string | undefined;\r\n @Output() public keyupEvent = new EventEmitter<string>();\r\n @Output() public selectedItem = new EventEmitter();\r\n public keyUp = new Subject<KeyboardEvent>();\r\n\r\n constructor(\r\n private destroy$: DestroyService,\r\n changeDetection: ChangeDetectorRef,\r\n private cdr: ChangeDetectorRef,\r\n ) {\r\n super(changeDetection);\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (this.commitOnInput) {\r\n this.keyUp\r\n .pipe(\r\n map(event => (event.target as HTMLInputElement)?.value),\r\n debounceTime(this.debounceTime),\r\n // distinctUntilChanged(), надо ли?\r\n mergeMap(search => of(search).pipe(delay(this.delay))),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(str => {\r\n this.keyupEvent.emit(str);\r\n });\r\n }\r\n }\r\n\r\n public override forceChange(): void {\r\n if (!this.commitOnInput) {\r\n this.keyupEvent.emit(this.value);\r\n }\r\n }\r\n\r\n public onClear(noEmit?: boolean): void {\r\n this.value = '';\r\n if (!noEmit) {\r\n this.cleared.emit();\r\n this.keyupEvent.emit('');\r\n }\r\n this.inputSearchElement?.nativeElement.focus();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n public onClickSearchItem(item: T): void {\r\n this.onClear();\r\n this.selectedItem.emit(item);\r\n this.value = this.getTitle(item);\r\n }\r\n\r\n public getTitle(item: T): string {\r\n return item[this.keyTitle as keyof typeof item] as string;\r\n }\r\n\r\n public getDesc(item: T): string {\r\n return item[this.keyDesc as keyof typeof item] as string;\r\n }\r\n}\r\n","<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n </div>\r\n\r\n @if (searchData?.length) {\r\n <dd-lib-card>\r\n @for (item of searchData; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Host,\r\n Input,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n} from '@angular/core';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {\r\n ControlContainer,\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {LibLoaderComponent} from '../lib-loader/lib-loader.component';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\nimport {ClickOutsideDirective, FilterByKeyPipe, HighlightPipe, SafePipe} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-select',\r\n standalone: true,\r\n imports: [\r\n NgOptimizedImage,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HighlightPipe,\r\n LibCardComponent,\r\n SafePipe,\r\n ClickOutsideDirective,\r\n LibLoaderComponent,\r\n FilterByKeyPipe,\r\n LibSvgIconComponent,\r\n ],\r\n templateUrl: './lib-select.component.html',\r\n styleUrl: './lib-select.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibSelectComponent<T>\r\n extends LibCommonInputTextComponent\r\n implements OnInit, ControlValueAccessor\r\n{\r\n public static idCounter = 1;\r\n\r\n @Input() public selectId: string | undefined;\r\n @Input() public data: any | undefined;\r\n @Input() public keyTitle: string | undefined;\r\n @Input() public keyDesc: string | undefined;\r\n @Input() public keyValue: string | undefined;\r\n @Input() public override placeholder = 'Выберите из списка';\r\n public checkedItem: any;\r\n public inputValue: string | undefined;\r\n public searchValue: string | undefined;\r\n public isShownList: boolean | undefined;\r\n\r\n constructor(\r\n changeDetection: ChangeDetectorRef,\r\n @Optional() @Host() @SkipSelf() private controlContainer: ControlContainer,\r\n ) {\r\n super(changeDetection);\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (!this.selectId) {\r\n this.selectId = 'dd-select-' + LibSelectComponent.idCounter++;\r\n }\r\n if (this.keyTitle && !this.keyValue) {\r\n this.keyValue = this.keyTitle;\r\n }\r\n this.control =\r\n this.controlContainer && this.formControlName\r\n ? this.controlContainer?.control?.get(this.formControlName)\r\n : null;\r\n }\r\n\r\n public override registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n super.registerOnChange(fn)\r\n }\r\n\r\n public override registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n super.registerOnTouched(fn)\r\n }\r\n\r\n public override handleInput(e: Event): void {\r\n this.isShownList = true;\r\n this.searchValue = this.inputValue;\r\n super.handleInput(e)\r\n }\r\n\r\n public override notifyFocusEvent(e: Event): void {\r\n if (!this.disabled) {\r\n this.isShownList = !this.isShownList;\r\n }\r\n super.notifyFocusEvent(e)\r\n }\r\n\r\n public writeValue(value: any): void {\r\n this.value = value;\r\n this.inputValue = value;\r\n }\r\n\r\n public selectItem(item: any): void {\r\n if (typeof item === 'string') {\r\n if (!this.checkedItem) {\r\n this.checkedItem = item;\r\n this.inputValue = item;\r\n this.value = item;\r\n this.propagateChange(this.value);\r\n } else {\r\n this.checkedItem = null;\r\n this.inputValue = undefined;\r\n this.value = undefined;\r\n this.propagateChange(undefined);\r\n }\r\n } else {\r\n if (!this.checkedItem || item[this.keyValue!] !== this.checkedItem?.[this.keyValue!]) {\r\n this.checkedItem = item;\r\n this.inputValue = this.checkedItem[this.keyTitle!];\r\n this.value = item[this.keyValue!];\r\n this.propagateChange(this.value);\r\n } else {\r\n this.checkedItem = null;\r\n this.inputValue = undefined;\r\n this.value = undefined;\r\n this.propagateChange(undefined);\r\n }\r\n }\r\n this.searchValue = undefined;\r\n this.isShownList = false;\r\n }\r\n\r\n public filterList(item: any): any {\r\n return item[this.keyTitle!]?.toLowerCase().includes(this.searchValue?.toLowerCase() || '');\r\n }\r\n\r\n private propagateChange(_value: any) {}\r\n}\r\n","<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\">\n <label [for]=\"id\" class=\"lib-select__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n\n <div class=\"pos-relative\">\n <input\n #select\n (change)=\"handleChange()\"\n (click)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n [(ngModel)]=\"inputValue\"\n [attr.id]=\"selectId\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [title]=\"inputValue\"\n class=\"text-select\" />\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\n @if (!checkedItem) {\n <dd-lib-svg-icon\n (click)=\"notifyFocusEvent($event)\"\n [class.black-svg]=\"isShownList\"\n [class.disabled]=\"disabled\"\n [class.gray-svg]=\"!isShownList\"\n [class.up]=\"isShownList\"\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\n\n } @else {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"clear\"\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\n\n }\n </div>\n\n @if (errorText && invalid) {\n <div class=\"lib-select__error\">{{ errorText }}</div>\n } @if (isShownList) {\n <div\n (ddClickOutside)=\"notifyFocusEvent($event)\"\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\n class=\"select-list-wrapper\">\n @if (data?.length) { @for (item of data | filterByKey: filterList.bind(this); track item) {\n <div\n (click)=\"selectItem(item)\"\n [class.active]=\"checkedItem?.[keyValue!] === item[keyValue!] || checkedItem === item\"\n class=\"select-data\">\n @if (!keyDesc && !keyTitle) {\n <div [innerHTML]=\"item | highlight: inputValue | safe: 'html'\" class=\"select-data__title\"></div>\n } @if (keyTitle) {\n <div\n [innerHTML]=\"item[keyTitle!] | highlight: inputValue | safe: 'html'\"\n class=\"select-data__title\"></div>\n } @if (keyDesc) {\n <div\n [innerHTML]=\"item[keyDesc!] | highlight: inputValue | safe: 'html'\"\n [title]=\"item[keyDesc]\"\n class=\"select-data__desc\"></div>\n } @if (checkedItem?.[keyValue!] === item?.[keyValue!] || checkedItem === item) {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"checked\"\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\n }\n </div>\n } } @else {\n <div class=\"select-loader\">\n <dd-lib-loader></dd-lib-loader>\n </div>\n }\n </div>\n }\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {ClickOutsideDirective} from \"../core\";\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\nexport interface ISort {\r\n value: string;\r\n name: string;\r\n default?: boolean;\r\n}\r\n\r\nconst DefaultSort = [\r\n { name: 'По возрастанию', value: 'asc', default: true },\r\n { name: 'По убыванию', value: 'desc' },\r\n];\r\n\r\n@Component({\r\n selector: 'dd-lib-sort',\r\n standalone: true,\r\n templateUrl: './lib-sort.component.html',\r\n styleUrls: ['./lib-sort.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ClickOutsideDirective, LibCardComponent, NgOptimizedImage, LibSvgIconComponent],\r\n})\r\nexport class LibSortComponent implements OnInit {\r\n @Input() public sortItems: ISort[] = DefaultSort;\r\n @Output() public sortEvent = new EventEmitter<string>();\r\n\r\n public sort: string | undefined;\r\n public showSort: boolean | undefined;\r\n\r\n public ngOnInit(): void {\r\n if (this.sortItems?.length) {\r\n this.sort = this.sortItems?.find(f => f.default)?.value || this.sortItems[0]?.value;\r\n }\r\n }\r\n\r\n public onSort(field: string): void {\r\n if (field !== this.sort) {\r\n this.sort = field;\r\n this.sortEvent.emit(field);\r\n this.showSort = false;\r\n }\r\n }\r\n\r\n public showSortList(): void {\r\n if (this.sortItems?.length) {\r\n this.showSort = !this.showSort;\r\n }\r\n }\r\n}\r\n","<div class=\"pos-relative\" id=\"js-sort-wrapper\">\r\n <div (click)=\"showSortList()\" class=\"d-flex align-center cup\">\r\n <div class=\"text-plain green mr-12\">Сортировка</div>\r\n <div>\r\n <dd-lib-svg-icon icon=\"sort\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n @if (showSort) {\r\n <div (ddClickOutside)=\"showSort = false\" [elements]=\"['js-sort-wrapper']\" class=\"sort-list-container\">\r\n <dd-lib-card type=\"small\">\r\n <div class=\"sort-list-container__list\">\r\n @for (item of sortItems; track item) {\r\n <div (click)=\"onSort(item.value)\" [class.green]=\"sort === item.value\" class=\"mb-12 text-plain\">\r\n {{ item.name }}\r\n </div>\r\n }\r\n </div>\r\n </dd-lib-card>\r\n </div>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dd-lib-step',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-step.component.html',\r\n styleUrl: './lib-step.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibStepComponent {\r\n @Input() public step = 1;\r\n @Input() public name = 'шаг';\r\n}\r\n","<span class=\"step-badge\">\r\n <span class=\"h3-title\">{{ step }}</span>\r\n &nbsp;<span class=\"h4-title\">{{ name }}</span>\r\n</span>\r\n","import {ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, Renderer2, ViewChild,} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\nexport type TSvgColor = 'white' | 'green' | 'black' | 'gray' | 'gold' | 'blue';\r\n/**\r\n Компонент LibSvgComponent отвечает за отображение SVG иконок. Он содержит следующие свойства и методы:\r\n\r\n Свойства:\r\n - @ViewChild('svgRef', { static: true }) public svg: ElementRef; - ссылка на элемент SVG.\r\n - @Input() public width: string; - ширина иконки.\r\n - @Input() public height: string; - высота иконки.\r\n - @Input() public icon: string; - название иконки.\r\n - @Input() public pack = 'svg'; - тип иконки (по умолчанию 'svg').\r\n - @Input() public color: TSvgColor = 'green'; - цвет иконки (зеленый по умолчанию).\r\n - @Input() public stroke: TSvgColor; - цвет обводки иконки.\r\n\r\n Методы:\r\n - public ngOnInit(): void {} - метод жизненного цикла компонента, вызываемый при инициализации. В нем происходит загрузка SVG изображения и настройка его параметров, таких как ширина, высота и цвет.\r\n\r\n В методе ngOnInit компонента LibSvgComponent происходит загрузка SVG изображения по указанному пути в зависимости от типа иконки и ее названия. Затем происходит обработка SVG элементов: удаление атрибутов fill и stroke у всех элементов path, а также у элементов svg и g. Задается ширина и высота SVG изображения в соответствии с переданными значениями.\r\n\r\n Этот компонент значительно упрощает процесс отображения иконок на веб-странице, позволяя легко управлять их параметрами, такими как размеры и цвет.\r\n**/\r\n// @Deprecate\r\n@Component({\r\n selector: 'dd-lib-svg',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-svg.component.html',\r\n styleUrl: './lib-svg.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibSvgComponent implements OnInit {\r\n @ViewChild('svgRef', {static: true}) public svg!: ElementRef;\r\n @Input() public width: string | undefined;\r\n @Input() public height: string | undefined;\r\n @Input() public icon: string | undefined;\r\n @Input() public pack = 'svg';\r\n @Input() public color: TSvgColor = 'green';\r\n @Input() public stroke: TSvgColor | undefined;\r\n\r\n constructor(private http: HttpClient, private rdr: Renderer2) {}\r\n\r\n public ngOnInit(): void {\r\n this.http\r\n .get(`assets/images/${this.pack}/${this.icon}.svg`, { responseType: 'text', withCredentials: true })\r\n .subscribe(txt => {\r\n this.svg.nativeElement.innerHTML = txt;\r\n const svg = this.svg.nativeElement.children[0];\r\n const g = this.svg.nativeElement.children[0].children[0];\r\n const path = this.svg.nativeElement.children[0].children[0].children;\r\n for (const item of path) {\r\n this.rdr.removeAttribute(item, 'fill');\r\n this.rdr.removeAttribute(item, 'stroke');\r\n }\r\n this.rdr.removeAttribute(svg, 'fill');\r\n this.rdr.removeAttribute(g, 'fill');\r\n if (this.width) {\r\n this.rdr.setAttribute(svg, 'width', this.width);\r\n }\r\n if (this.height) {\r\n this.rdr.setAttribute(svg, 'height', this.height);\r\n }\r\n });\r\n }\r\n}\r\n","<div\r\n #svgRef\r\n [class.black-stroke]=\"stroke === 'black'\"\r\n [class.black]=\"color === 'black'\"\r\n [class.gray-stroke]=\"stroke === 'gray'\"\r\n [class.gray]=\"color === 'gray'\"\r\n [class.green-stroke]=\"stroke === 'green'\"\r\n [class.green]=\"color === 'green'\"\r\n [class.white-stroke]=\"stroke === 'white'\"\r\n [class.white]=\"color === 'white'\"\r\n [class.gold-stroke]=\"stroke === 'gold'\"\r\n [class.gold]=\"color === 'gold'\"\r\n [class.blue-stroke]=\"stroke === 'blue'\"\r\n [class.blue]=\"color === 'blue'\"\r\n class=\"lib-icon\"></div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nexport class ITab {\r\n public title: string;\r\n public id: null | number;\r\n public fragment: string;\r\n public name?: string;\r\n public welcomeText?: string;\r\n public type?: 1 | 2;\r\n\r\n constructor(body: any) {\r\n this.id = body.id;\r\n this.title = body.namePage;\r\n this.name = body.name;\r\n this.fragment = body.address;\r\n this.welcomeText = body.welcomeText;\r\n this.type = body.type;\r\n for (const key in body) {\r\n if (key) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n this[key] = body[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'dd-lib-tabs-fragment',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-tabs-fragment.component.html',\r\n styleUrl: './lib-tabs-fragment.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibTabsFragmentComponent implements OnInit {\r\n @Input() public rout = location.pathname;\r\n @Input() public tabs: ITab[] | undefined;\r\n @Input() public tabsFragment: string[] | undefined;\r\n @Input() public needInitEvent: boolean | undefined;\r\n @Output() public setActiveTab = new EventEmitter<null | number>();\r\n public activeFragment: number | null | undefined;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private cdr: ChangeDetectorRef) {}\r\n\r\n public ngOnInit(): void {\r\n if (this.tabs) {\r\n this.tabsFragment = this.tabs.map(t => t.fragment);\r\n this.getFragment();\r\n }\r\n }\r\n\r\n public checkActiveTab(tab?: ITab) {\r\n if (tab) {\r\n this.activeFragment = tab.id;\r\n if (this.rout) {\r\n this.router.navigate([this.rout], { fragment: tab.fragment });\r\n }\r\n this.setActiveTab.emit(this.activeFragment);\r\n } else {\r\n this.activeFragment = undefined;\r\n this.router.navigate([this.rout], { fragment: undefined });\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private getFragment(): void {\r\n const activeFragment = this.route.snapshot.fragment as string;\r\n this.activeFragment = this.tabs?.[0]?.id || 0;\r\n if (this.tabsFragment?.includes(activeFragment)) {\r\n this.activeFragment = this.tabs?.find(f => f.fragment === activeFragment)?.id;\r\n if (this.needInitEvent) {\r\n this.setActiveTab.emit(this.activeFragment);\r\n }\r\n } else if (this.needInitEvent) {\r\n this.setActiveTab.emit(this.activeFragment);\r\n }\r\n }\r\n}\r\n","@if (tabs?.length) {\r\n<div class=\"tabs-filter-types\">\r\n @for (tab of tabs; track tab) {\r\n <div\r\n (click)=\"checkActiveTab(tab)\"\r\n [class.active]=\"tab.id === activeFragment\"\r\n class=\"tabs-filter-types__type\">\r\n {{ tab.title }}\r\n </div>\r\n }\r\n</div>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Host,\r\n Input,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n} from '@angular/core';\r\nimport {ControlContainer, FormsModule, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-textarea',\r\n standalone: true,\r\n imports: [FormsModule, NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-textarea.component.html',\r\n styleUrl: './lib-textarea.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibTextareaComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibTextareaComponent extends LibCommonInputTextComponent implements OnInit {\r\n @Input() public rows = '6';\r\n @Input() public needCounter = true;\r\n\r\n constructor(\r\n changeDetection: ChangeDetectorRef,\r\n @Optional() @Host() @SkipSelf() private controlContainer: ControlContainer,\r\n ) {\r\n super(changeDetection);\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.control =\r\n this.controlContainer && this.formControlName\r\n ? this.controlContainer?.control?.get(this.formControlName)\r\n : null;\r\n }\r\n}\r\n","<div class=\"lib-textarea\">\r\n <label [for]=\"id\" class=\"lib-textarea__title\">\r\n {{ label }} @if (needCounter) {\r\n <span>(осталось {{ maxlength - (value?.length || 0) }} символов)</span>\r\n } @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative d-flex\">\r\n <textarea\r\n #textarea\r\n (blur)=\"notifyFocusEvent($event)\"\r\n (change)=\"handleChange()\"\r\n (focus)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n [required]=\"required\"\r\n [rows]=\"rows\"\r\n class=\"textarea\"></textarea>\r\n <span class=\"lib-textarea__counter\">{{ value?.length || 0 }}/{{ maxlength }}</span>\r\n </div>\r\n\r\n @if (errorText && invalid) {\r\n <div class=\"lib-input__error\">{{ errorText }}</div>\r\n }\r\n</div>\r\n","import { debounceTime, switchMap, throttleTime } from 'rxjs/operators';\r\nimport { combineLatest, Observable, of, Subject } from 'rxjs';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\n// export function Debounce(delay: number = 1000): MethodDecorator {\r\n// return function (_target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) {\r\n// let timeout: any = null;\r\n// const original = descriptor.value;\r\n//\r\n// descriptor.value = function (...args: any) {\r\n// clearTimeout(timeout);\r\n// timeout = setTimeout(() => original.apply(this, args), delay);\r\n// };\r\n//\r\n// return descriptor;\r\n// };\r\n//\r\n// }\r\n\r\nexport function Debounce(delay: number = 1000): MethodDecorator {\r\n return function (_target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) {\r\n const originalMethod = descriptor.value;\r\n const subject = new Subject();\r\n let lastArgs: any[] | null = null;\r\n let isFirstCall = true;\r\n\r\n descriptor.value = function (this: any, ...args: any[]) {\r\n if (isFirstCall) {\r\n isFirstCall = false;\r\n originalMethod.apply(this, args);\r\n } else {\r\n lastArgs = args;\r\n if (!subject.isStopped) {\r\n subject.next(null);\r\n }\r\n }\r\n\r\n subject.pipe(debounceTime(delay)).subscribe(() => {\r\n if (lastArgs) {\r\n originalMethod.apply(this, lastArgs);\r\n lastArgs = null;\r\n }\r\n });\r\n };\r\n\r\n return descriptor;\r\n };\r\n}\r\n\r\nexport function Throttle(delay: number = 1000): MethodDecorator {\r\n let isThrottled = false;\r\n\r\n return function (_target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) {\r\n const originalMethod = descriptor.value;\r\n\r\n descriptor.value = function (this: any, ...args: any[]) {\r\n if (!isThrottled) {\r\n isThrottled = true;\r\n originalMethod.apply(this, args);\r\n\r\n setTimeout(() => {\r\n isThrottled = false;\r\n }, delay);\r\n }\r\n };\r\n\r\n return descriptor;\r\n };\r\n}\r\n\r\nexport function Disabled<C, K extends keyof C = keyof C>(\r\n controlKey: K,\r\n streams: K[] = ['loadings', 'subloadings'] as K[],\r\n): PropertyDecorator {\r\n return function (target: any, key: string | symbol): void {\r\n Object.defineProperty(target, key, {\r\n enumerable: false,\r\n configurable: true,\r\n get () {\r\n const control: AbstractControl | undefined | null = this[controlKey];\r\n\r\n if (!control) {\r\n return of(true);\r\n }\r\n\r\n if (streams.length === 0) {\r\n const checkControl = control.invalid || !control.dirty;\r\n return of(checkControl);\r\n }\r\n\r\n const streams$: Observable<boolean>[] = streams\r\n .filter(streamKey => !!this[streamKey])\r\n .map(streamKey => this[streamKey]);\r\n\r\n return combineLatest(streams$).pipe(\r\n switchMap(streamsSwitch => {\r\n const checkControl = control.invalid || !control.dirty;\r\n const checkLoaders = streamsSwitch.some(loader => loader);\r\n\r\n return of(checkControl || checkLoaders);\r\n }),\r\n );\r\n },\r\n });\r\n };\r\n}\r\n\r\nexport function DisableAfterNCall(limit: number = 5) {\r\n return function (target: any, key: string, descriptor: PropertyDescriptor) {\r\n const originalMethod = descriptor.value;\r\n let count = 0;\r\n\r\n descriptor.value = function (...args: any[]) {\r\n count++;\r\n if (count <= limit) {\r\n return originalMethod.apply(this, args);\r\n } else {\r\n console.log(`Метод ${key} будет отключен после ${limit} вызовов`);\r\n }\r\n };\r\n\r\n return descriptor;\r\n };\r\n}\r\n","import {ChangeDetectionStrategy, Component, Inject, InjectionToken} from '@angular/core';\r\nimport {NgIf, NgOptimizedImage} from '@angular/common';\r\nimport {ToastService, ToastType} from '../toast.service';\r\nimport {LibSvgIconComponent} from \"../../lib-svg-icon/lib-svg-icon.component\";\r\n\r\nexport interface ToastData {\r\n title?: string;\r\n description?: string;\r\n type: ToastType;\r\n id: number;\r\n}\r\n\r\nexport const TOAST_DATA = new InjectionToken<ToastData>('ToastData');\r\n\r\n@Component({\r\n selector: 'dd-toast-base',\r\n standalone: true,\r\n imports: [NgOptimizedImage, NgIf, LibSvgIconComponent],\r\n templateUrl: './toast-base.component.html',\r\n styleUrl: './toast-base.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ToastBaseComponent {\r\n public get id() {\r\n return this.data.id;\r\n }\r\n\r\n public title: string | undefined;\r\n protected data: ToastData;\r\n\r\n constructor(private toastService: ToastService, @Inject(TOAST_DATA) public ddToastData: ToastData) {\r\n this.data = { ...this.ddToastData };\r\n }\r\n\r\n public destroy(): void {\r\n this.toastService.destroyToast(this.id);\r\n }\r\n}\r\n","<div (click)=\"destroy()\" class=\"toast-wrapper {{ data.type }}\">\n <dd-lib-svg-icon [icon]=\"data.type\"></dd-lib-svg-icon>\n <div>\n <div>{{ data.title }}</div>\n <div>{{ data.description }}</div>\n </div>\n</div>\n","import {Injectable, Injector, ViewContainerRef} from '@angular/core';\r\nimport {ConnectedPosition, Overlay, PositionStrategy} from '@angular/cdk/overlay';\r\nimport {ComponentPortal} from '@angular/cdk/portal';\r\nimport {TOAST_DATA, ToastBaseComponent, ToastData} from './toast-base/toast-base.component';\r\n\r\nexport enum ToastType {\r\n Warning = 'warning_t',\r\n Success = 'success_t',\r\n Info = 'info_t',\r\n Danger = 'danger_t',\r\n}\r\n\r\nexport class ToastConfig {\r\n public timeOut = 5000;\r\n\r\n constructor(config?: ToastConfig) {\r\n if (config) {\r\n Object.keys(config).forEach(key => (this[key as keyof ToastConfig] = config[key as keyof ToastConfig]));\r\n }\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ToastService {\r\n public config = new ToastConfig();\r\n private viewContainer: ViewContainerRef | undefined;\r\n private counter = 0;\r\n public ddToastData: ToastData = { type: ToastType.Success, id: this.counter };\r\n private injector: Injector | undefined;\r\n private overlayRefs: any = {};\r\n\r\n constructor(private overlay: Overlay) {}\r\n\r\n public warning(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Warning);\r\n }\r\n\r\n public success(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Success);\r\n }\r\n\r\n public danger(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Danger);\r\n }\r\n\r\n public info(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Info);\r\n }\r\n\r\n public registerViewContainerRef(vcRef: ViewContainerRef): void {\r\n this.viewContainer = vcRef;\r\n }\r\n\r\n public registerInjector(injector: Injector): void {\r\n this.injector = injector;\r\n }\r\n\r\n public destroyToast(id: number): void {\r\n if (this.overlayRefs?.[id].hasAttached() === true) {\r\n this.overlayRefs?.[id].detach();\r\n }\r\n }\r\n\r\n private createToast(title: string, description: string | undefined, type: ToastType) {\r\n const positionStrategy = this.getPositionStrategy();\r\n // this.overlayRef = this.overlay.create({ positionStrategy });\r\n this.overlayRefs[this.counter] = this.overlay.create({ positionStrategy });\r\n this.ddToastData.title = title;\r\n this.ddToastData.description = description;\r\n this.ddToastData.type = type;\r\n this.ddToastData.id = this.counter;\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: TOAST_DATA,\r\n useValue: this.ddToastData,\r\n },\r\n ],\r\n parent: this.injector,\r\n });\r\n const component = new ComponentPortal(ToastBaseComponent, this.viewContainer, injector);\r\n console.log(component)\r\n // this.overlayRef.attach(component);\r\n this.overlayRefs[this.counter].attach(component);\r\n setTimeout(() => {\r\n for (const id in this.overlayRefs) {\r\n if (this.overlayRefs[id]?.hasAttached()) {\r\n this.overlayRefs[id]?.detach();\r\n }\r\n }\r\n\r\n // if (this.overlayRef?.hasAttached() === true) {\r\n // this.overlayRef?.detach();\r\n // }\r\n }, this.config.timeOut);\r\n this.counter++;\r\n }\r\n\r\n private getPositionStrategy(): PositionStrategy {\r\n let element;\r\n let positions;\r\n const haveToast = document.getElementsByClassName('cdk-overlay-pane');\r\n if (haveToast.length) {\r\n element = haveToast[haveToast.length - 1];\r\n positions = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n panelClass: 'toast-top',\r\n },\r\n ] as ConnectedPosition[];\r\n } else {\r\n element = document.getElementsByTagName('body')[0];\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n panelClass: '',\r\n },\r\n ] as ConnectedPosition[];\r\n }\r\n return this.overlay.position().flexibleConnectedTo(element).withPositions(positions);\r\n }\r\n}\r\n","import {Component, Injector, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {ToastService} from '../toast.service';\r\n\r\n@Component({\r\n selector: 'dd-toast-placeholder',\r\n standalone: true,\r\n template: ` <div #toastPlaceholder></div>\r\n <div id=\"toast-overlay\"></div>`,\r\n})\r\nexport class ToastPlaceholderComponent {\r\n @ViewChild('toastPlaceholder', { read: ViewContainerRef, static: true })\r\n private viewContainerRef: ViewContainerRef | undefined;\r\n\r\n constructor(private toastService: ToastService, private injector: Injector) {}\r\n\r\n public ngOnInit() {\r\n this.toastService.registerViewContainerRef(this.viewContainerRef!);\r\n this.toastService.registerInjector(this.injector);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of dd-lib\r\n */\r\nexport const t = true\r\n// components\r\nexport * from './lib/common/lib-common-button'\r\nexport * from './lib/common/lib-common-input-text'\r\nexport * from './lib/lib-loader/lib-loader.component'\r\nexport * from './lib/lib-button/lib-button.component'\r\nexport * from './lib/lib-accordion/lib-accordion.component'\r\nexport * from './lib/lib-back-button/lib-back-button.component'\r\nexport * from './lib/lib-calendar/lib-calendar.component'\r\nexport * from './lib/lib-card/lib-card.component'\r\nexport * from './lib/lib-checkbox/lib-checkbox.component'\r\nexport * from './lib/lib-comment-input/lib-comment-input.component'\r\nexport * from './lib/lib-file-upload/lib-file-upload.component'\r\nexport * from './lib/lib-filter-button/lib-filter-button.component'\r\nexport * from './lib/lib-image-loader/lib-image-loader.component'\r\nexport * from './lib/lib-input/lib-input.component'\r\nexport * from './lib/lib-period/lib-period.component'\r\nexport * from './lib/lib-radio/lib-radio.component'\r\nexport * from './lib/lib-search-input/lib-search-input.component'\r\nexport * from './lib/lib-select/lib-select.component'\r\nexport * from './lib/lib-skeleton/lib-skeleton.component'\r\nexport * from './lib/lib-sort/lib-sort.component'\r\nexport * from './lib/lib-step/lib-step.component'\r\nexport * from './lib/lib-svg/lib-svg.component'\r\nexport * from './lib/lib-svg-icon/lib-svg-icon.component'\r\nexport * from './lib/lib-tabs-fragment/lib-tabs-fragment.component'\r\nexport * from './lib/lib-textarea/lib-textarea.component'\r\nexport * from './lib/utils/decorators'\r\n\r\nexport * from './lib/toast/toast.service'\r\nexport * from './lib/toast/toast-placeholder/toast-placeholder.component'\r\nexport * from './lib/core/index'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.DialogConfig","DialogRef","i2","i1.DateService","i1.DestroyService","i1.ToastService"],"mappings":";;;;;;;;;;;;;;;;;;;MAKsB,wBAAwB,CAAA;AAH9C,IAAA,WAAA,GAAA;QAMkB,IAAI,CAAA,IAAA,GAAqB,EAAE,CAAC;QAE5B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAQ,CAAA,QAAA,GAAuD,OAAO,CAAC;QACvE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QACf,IAAQ,CAAA,QAAA,GAAmB,KAAK,CAAC;QAEjC,IAAU,CAAA,UAAA,GAA+B,KAAK,CAAC;QAC/C,IAAU,CAAA,UAAA,GAAkC,QAAQ,CAAC;AAKpD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AAYxD,KAAA;AAVQ,IAAA,OAAO,CAAC,KAAY,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;YACnD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM;AACL,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,aAA4B,CAAC;YACjD,EAAE,EAAE,IAAI,EAAE,CAAC;SACZ;KACF;8GA3BmB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,+eAFlC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEQ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAH7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA,CAAA;8BAEiB,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBAEU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBAE8C,OAAO,EAAA,CAAA;sBAA1D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBACC,MAAM,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAElB,UAAU,EAAA,CAAA;sBAA1B,MAAM;;;MCEa,2BAA2B,CAAA;AAyB/C,IAAA,IAAW,EAAE,GAAA;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;KACjB;AAWD,IAAA,WAAA,CAAsB,eAAkC,EAAA;QA5BxC,IAAS,CAAA,SAAA,GAAG,GAAG,CAAC;QAKhB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC;QACrB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEf,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAQ,CAAC;AACnC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAO,CAAC;AAChC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAO,CAAC;QAIzC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAEhB,IAAK,CAAA,KAAA,GAAuB,EAAE,CAAC;QAG5B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAEpB,IAAG,CAAA,GAAA,GAAG,EAAE,CAAC;AAGf,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KACxC;AAEM,IAAA,WAAW,CAAC,EAAS,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;KACF;AAEM,IAAA,gBAAgB,CAAC,CAAQ,EAAA;;KAE/B;;;;;;;;;;;;;;;;IAmBM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;KACtC;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACnC,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;AAEM,IAAA,WAAW,CAAC,CAAS,EAAA;QAC1B,IACE,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,YAAY,CAAC,aAAa;AAC/B,aAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EACpD;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;;SAEzC;KACF;IAEM,SAAS,GAAA;AACd,QAAA,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;KACzC;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;;SAEtB;KACF;AAEM,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;KAClB;AAEM,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAEM,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;SACtC;KACF;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACzB;KACF;IAEM,MAAM,CAAC,MAAiC,EAAA,GAAU;8GAjIrC,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EARpC,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FASQ,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAXhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,EAAE;AACZ,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;sFAEqC,kBAAkB,EAAA,CAAA;sBAArD,SAAS;uBAAC,aAAa,CAAA;gBACM,YAAY,EAAA,CAAA;sBAAzC,SAAS;uBAAC,OAAO,CAAA;gBACe,eAAe,EAAA,CAAA;sBAA/C,SAAS;uBAAC,UAAU,CAAA;gBACL,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACW,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,KAAK,EAAA,CAAA;sBAArB,MAAM;gBACU,IAAI,EAAA,CAAA;sBAApB,MAAM;;;MCrCI,kBAAkB,CAAA;AAR/B,IAAA,WAAA,GAAA;QASkB,IAAK,CAAA,KAAA,GAAG,SAAS,CAAC;AACnC,KAAA;8GAFY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,qGCV/B,u3BA6BA,EAAA,MAAA,EAAA,CAAA,4NAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDnBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,cACb,IAAI,EAAA,OAAA,EACP,EAAE,EAGM,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,u3BAAA,EAAA,MAAA,EAAA,CAAA,4NAAA,CAAA,EAAA,CAAA;8BAG/B,KAAK,EAAA,CAAA;sBAApB,KAAK;;;AEWF,MAAO,kBAAmB,SAAQ,wBAAwB,CAAA;AAThE,IAAA,WAAA,GAAA;;AAWkB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC;AAQvE,KAAA;IANQ,eAAe,GAAA;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;QACvC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE;YACpC,GAAG,CAAC,KAAK,EAAE,CAAC;SACb;KACF;8GATU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,gKCtB/B,qhCA8BA,EAAA,MAAA,EAAA,CAAA,m/CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXY,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,+BAAE,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAG5C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,cACb,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,WACtC,CAAC,YAAY,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAAA,OAAA,EAC/C,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,qhCAAA,EAAA,MAAA,EAAA,CAAA,m/CAAA,CAAA,EAAA,CAAA;8BAGnC,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;;;MElBK,uBAAuB,CAAA;AAClC,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;KACrC;AAKD,IAAA,WAAA,CAAoB,eAAiC,EAAA;QAAjC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAkB;QACnD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC5D;AAEM,IAAA,wBAAwB,CAAC,QAAkB,EAAA;AAChD,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;KACjE;AAEM,IAAA,WAAW,CAAC,QAAiB,EAAA;AAClC,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KAC3C;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;KACtC;8GAvBU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;MA2BY,iBAAiB,CAAA;IAC5B,IAAW,KAAK,CAAC,KAAc,EAAA;QAC7B,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;AAED,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KACrC;IAKD,WAAoB,CAAA,QAAkB,EAAU,QAAmB,EAAA;QAA/C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAH3D,QAAA,IAAA,CAAA,YAAY,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC9E,QAAA,IAAA,CAAA,qBAAqB,GAAwB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;AAGnF,QAAA,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;SACxD;KACF;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;KAC1B;AAEM,IAAA,QAAQ,CAAC,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QACD,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAC5D,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KACpE;AACF;;ACnCM,MAAM,cAAc,GAAG,aAAa;AAC3C,MAAM,wBAAwB,GAAG;AAC/B,IAAA,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,CAAC,KAAK,CAAC;CACjB,CAAC;MASW,WAAW,CAAA;AADxB,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,gBAAgB,GAAsC;AAC5D,YAAA,GAAG,EAAE;AACH,gBAAA,GAAG,wBAAwB;AAC3B,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,IAAI,EAAE,KAAK;AACZ,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,wBAAwB;AAC3B,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,GAAG,wBAAwB;AAC3B,gBAAA,KAAK,EAAE,UAAU;AACjB,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,GAAG,wBAAwB;AAC3B,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,GAAG,wBAAwB;AAC3B,gBAAA,KAAK,EAAE,YAAY;AACnB,gBAAA,IAAI,EAAE,WAAW;AAClB,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,wBAAwB;AAC3B,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA;SACF,CAAC;AAEM,QAAA,IAAA,CAAA,SAAS,GAAc;YAC7B,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAClE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACrE,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACvE,SAAS,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACzE,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SAC3E,CAAC;AA4DH,KAAA;AA1DQ,IAAA,gBAAgB,CAAC,QAAyB,EAAE,CAAA,GAAY,cAAc,EAAA;AAC3E,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;AAC5D,QAAA,OAAO,MAAM,CAAC,IAAK,EAAE,EAAE,CAAC,CAAC,CAAC;KAC3B;IAEM,iBAAiB,CAAC,QAAmB,EAAE,CAAU,EAAA;QACtD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxC,YAAA,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;SACnC,CAAC;KACH;IAEM,sBAAsB,CAAC,SAAsB,EAAE,CAAU,EAAA;AAC9D,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;KACvE;AAEM,IAAA,aAAa,CAAC,IAAY,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AACpC,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;KACvD;IAEM,aAAa,CAAC,mBAA8B,OAAO,EAAA;AACxD,QAAA,MAAM,GAAG,GAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAElF,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAE1F,QAAA,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;AAC3B,QAAA,OAAO,WAAW,CAAC;KACpB;IAEM,cAAc,CAAC,KAAa,EAAE,IAAY,EAAA;QAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAClC;AAED,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1E,QAAA,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,QAAA,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AACnC,QAAA,OAAO,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;YAC5E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAC1C;AAED,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE9D,OAAO;AACL,YAAA,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9B,QAAQ;SACT,CAAC;KACH;8GA1GU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cADE,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCvCrB,eAAe,CAAA;AAH5B,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAgB9C,KAAA;AAdC,IAAA,aAAa,CAAC,KAAY,EAAA;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACvE;AAED,IAAA,OAAO,CAAC,QAAgB,EAAA;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;;AAEhC,YAAA,OAAO,CAAC,IAAI,CACV,wCAAyC,QAAS,CAAA,sCAAA,CAAwC,CAC3F,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACpC;8GAjBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACAK,MAAO,cAAe,SAAQ,OAAa,CAAA;IACxC,WAAW,GAAA;QAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;8GAJU,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAd,cAAc,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;MCIE,mBAAmB,CAAA;AAE9B,IAAA,WAAA,CAAoB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KACjC;;IAGM,SAAS,CAAC,GAAqB,EAAE,IAAiB,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,UAAU,CAAC,GAAG,IAAG;AACf,YAAA,IAAI,GAAG,YAAY,iBAAiB,EAAE;AACpC,gBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACtC;aACF;AACD,YAAA,MAAM,GAAG,CAAC;SACX,CAAC,CACH,CAAC;KACH;8GAjBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAnB,mBAAmB,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;MCDE,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA,GAAgB;;IAGT,OAAO,SAAS,CAAC,EAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACzC,YAAA,OAAO,IAAI,CAAC;SACb;AACD,QAAA,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE;AACpF,YAAA,OAAO,IAAI,CAAC;SACb;QACD,OAAO;AACL,YAAA,SAAS,EAAE,qBAAqB;SACjC,CAAC;KACH;IAEM,OAAO,YAAY,CAAC,EAAmB,EAAA;AAC5C,QAAA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACzC,YAAA,OAAO,IAAI,CAAC;SACb;AACD,QAAA,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE;AACnF,YAAA,OAAO,IAAI,CAAC;SACb;QACD,OAAO;AACL,YAAA,YAAY,EAAE,2CAA2C;SAC1D,CAAC;KACH;AAEM,IAAA,OAAO,UAAU,GAAA;QACtB,OAAO;AACL,YAAA,SAAS,EAAE,iBAAiB;SAC7B,CAAC;KACH;AAEM,IAAA,OAAO,gBAAgB,GAAA;QAC5B,OAAO;AACL,YAAA,UAAU,EAAE,4BAA4B;SACzC,CAAC;KACH;AAEM,IAAA,OAAO,UAAU,GAAA;QACtB,OAAO;AACL,YAAA,OAAO,EAAE,mDAAmD;SAC7D,CAAC;KACH;;AAGM,IAAA,OAAO,YAAY,GAAA;AACxB,QAAA,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;KACzG;;IAGM,OAAO,YAAY,CAAC,EAAoB,EAAA;QAC7C,MAAM,OAAO,GACX,0FAA0F,CAAC;AAC7F,QAAA,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;AACd,YAAA,OAAO,EAAE,CAAC;AACR,gBAAA,QAAQ,EAAE,qCAAqC;AAChD,aAAA,CAAC,CAAC;SACJ;aAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,YAAY,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE;AACvF,YAAA,OAAO,EAAE,CAAC;AACR,gBAAA,KAAK,EAAE,4BAA4B;AACpC,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;SACjB;KACF;8GAlEU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCgBrB,cAAc,CAAA;IAIzB,WAAoB,CAAA,IAAgB,EAA4B,MAAA,GAAiB,KAAK,EAAA;QAAlE,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAA4B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;;AAFrE,QAAA,IAAA,CAAA,cAAc,GAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAG3D;AAEM,IAAA,GAAG,CAAI,QAAgB,EAAE,OAAe,GAAA,EAAE,EAAE,KAAuB,EAAA;QACxE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC7E,MAAM,GAAG,GAAW,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtF,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACtC,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;AACxB,gBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;oBAChD,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAA4B,KAAI;wBACpD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACjC,qBAAC,CAAC,CAAC;iBACJ;qBAAM;AACL,oBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC3C;aACF;SACF;AACD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;KAC3C;AAEM,IAAA,IAAI,CAAI,QAA2B,EAAE,IAAU,EAAE,UAAe,EAAE,EAAA;AACvE,QAAA,MAAM,GAAG,GAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,QAAA,IAAI,OAAO,EAAE,MAAM,EAAE;AACnB,YAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,YAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC7C,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;AAC/B,oBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBAClD;aACF;AACD,YAAA,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;SACzB;AACD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;KACjD;AAEM,IAAA,GAAG,CAAI,QAA2B,EAAE,OAAe,GAAA,EAAE,EAAE,IAAS,EAAA;AACrE,QAAA,MAAM,GAAG,GAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;KAChD;AAEM,IAAA,MAAM,CAAI,QAA2B,EAAE,OAAA,GAAe,EAAE,EAAA;AAC7D,QAAA,MAAM,GAAG,GAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;KAC7C;;AAGM,IAAA,cAAc,CAAC,IAA0B,EAAA;AAC9C,QAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,KAAI;YACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,QAAQ,CAAC;KACjB;AAEO,IAAA,OAAO,CAAI,MAAqB,EAAE,GAAW,EAAE,OAAY,EAAE,IAAU,EAAA;AAC7E,QAAA,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACpD;AACD,QAAA,IAAI,OAAwB,CAAC;AAC7B,QAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;QAE/B,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxC,YAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAwB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SACnE;aAAM;AACL,YAAA,OAAO,GAAI,IAAI,CAAC,IAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACpD;QAED,OAAO,OAAO,CAAC,IAAI,CACjB,SAAS,CAAC,CAAC,QAAa,KAAI;AAC1B,YAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE;gBAC9B,OAAO,CAAC,KAAK,CAAC,CAAA,uBAAA,EAA0B,QAAQ,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;AAC3D,gBAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC/B;AACD,YAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;SACrB,CAAC,CAQH,CAAC;KACH;AAvFU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,8CAIqB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAJ3C,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADF,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAClB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;0BAKS,MAAM;2BAAC,QAAQ,CAAA;;;ACxBlD,SAAU,OAAO,CAAC,KAAW,EAAE,KAAc,EAAE,GAAG,IAAiB,EAAA;AACvE,IAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE;QACb,OAAO,CAAC,CAAS,EAAE,CAAS,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;KACrE;AACD,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE;QACb,QAAQ,OAAO,KAAK;AAClB,YAAA,KAAK,QAAQ;gBACX,OAAO,KAAK,GAAG,CAAC;sBACZ,CAAC,CAAS,EAAE,CAAS,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;sBAC5D,CAAC,CAAS,EAAE,CAAS,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE,YAAA,KAAK,QAAQ;gBACX,OAAO,CAAC,CAA0B,EAAE,CAA0B,KAC5D,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACtF,qBAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACtF,oBAAA,CAAC,CAAC;SACP;KACF;IACD,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACnD,OAAO,KAAK,GAAG,CAAC;AACd,cAAE,CACE,CAAuB,EACvB,CAEC,KACE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;AACnF,cAAE,CACE,CAAuB,EACvB,CAEC,KACE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;KACvF;AACD,IAAA,IAAI,MAAa,CAAC;AAClB,IAAA,IAAI,MAAa,CAAC;AAClB,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC3C,QAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,QAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;KACrB;SAAM;AACL,QAAA,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACxB,QAAA,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAI;YACvB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACf;KACF;AACD,IAAA,OAAO,CACL,CAAiD,EACjD,CAAiD,KAC/C;AACF,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;AAC3D,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;aAClB;YACD,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;AAC3D,gBAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACnB;SACF;AACD,QAAA,OAAO,CAAC,CAAC;AACX,KAAC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;SAEgB,MAAM,GAAA;AACpB,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;AAC1C,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;AAC1C,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;AAC1C,IAAA,OAAO,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC9C,CAAC;SAEe,UAAU,GAAA;IACxB,IAAI,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AACpC,IAAA,IAAI,QAAQ,GAAG,CAAC,EAAE;QAChB,OAAO,IAAI,CAAC,CAAC;AACb,QAAA,QAAQ,GAAG,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;KAC9B;SAAM;QACL,QAAQ,IAAI,CAAC,CAAC;KACf;IACD,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAEK,SAAU,KAAK,CAAC,KAAU,EAAA;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;AACxD,CAAC;AAEK,SAAU,QAAQ,CAAC,KAAU,EAAA;AACjC,IAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAEK,SAAU,QAAQ,CAAC,KAAU,EAAA;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC;AAEe,SAAA,WAAW,CAAC,KAA6B,EAAE,GAAW,EAAA;IACpE,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACpC,QAAA,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,IAAI,GAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,MAAM,GAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;AAEvC,IAAA,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtC,YAAA,OAAO,SAAS,CAAC;SAClB;AAED,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KACpB;AAED,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;SAEe,QAAQ,GAAA;AACtB,IAAA,OAAO,OAAO,EAAE,IAAI,UAAU,EAAE,IAAI,GAAG,EAAE,IAAI,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;AACpE,CAAC;SAEe,OAAO,GAAA;IACrB,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;SAEe,UAAU,GAAA;IACxB,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACpD,CAAC;SAEe,GAAG,GAAA;IACjB,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAC1D,CAAC;SAEe,KAAK,GAAA;IACnB,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACpD,CAAC;SAEe,OAAO,GAAA;AACrB,IAAA,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7F,CAAC;AAEe,SAAA,aAAa,CAAC,OAAe,EAAE,QAAgB,EAAA;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/B,IAAA,MAAM,IAAI,GAAI,GAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,IAAA,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACpB,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhC,OAAO,CAAC,EAAE,EAAE;QACV,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KAC/B;AAED,IAAA,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD;;MCvJa,UAAU,CAAA;IACd,SAAS,CAAC,KAAY,EAAE,IAAa,EAAA;AAC1C,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;SAC9C;KACF;8GALU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA,EAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;MAaY,eAAe,CAAA;IACnB,SAAS,CAAC,GAAQ,EAAE,EAAO,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE;AAChB,YAAA,OAAO,GAAG,CAAC;SACZ;AACD,QAAA,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;AAC5B,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACvB;AAAM,aAAA,IAAI,EAAE,EAAE,MAAM,EAAE;AACrB,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AACxB,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;SACpE;aAAM,IAAI,EAAE,EAAE;AACb,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;SAC/C;aAAM;AACL,YAAA,OAAO,GAAG,CAAC;SACZ;KACF;8GAfU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCXY,aAAa,CAAA;IACjB,SAAS,CAAC,IAAY,EAAE,GAAY,EAAA;QACzC,IAAI,GAAG,EAAE;YACP,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAwC,sCAAA,CAAA,CAAC,CAAC;SAC9E;aAAM;AACL,YAAA,OAAO,IAAI,CAAC;SACb;KACF;8GARU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCQY,QAAQ,CAAA;AACnB,IAAA,WAAA,CAAsB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;KAAI;IAE1C,SAAS,CACd,KAAa,EACb,IAAY,EAAA;QAEZ,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACvD,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACxD,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;AACzD,YAAA,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACtD,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;AAC9D,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAA,CAAE,CAAC,CAAC;SAC3D;KACF;8GArBU,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCPY,WAAW,CAAA;IACf,SAAS,CAAC,KAAY,EAAE,IAAY,EAAA;AACzC,QAAA,OAAO,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;KACjD;8GAHU,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,SAAS;AACf,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCCY,cAAc,CAAA;IAClB,SAAS,CAAC,GAAiB,EAAE,GAA+B,EAAA;QACjE,IAAI,GAAG,EAAE;AACP,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAG;AACpB,gBAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,oBAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC3C;AACD,gBAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,oBAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC3C;AACD,gBAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,oBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;iBACxC;AACD,gBAAA,OAAO,GAAG,CAAC;AACb,aAAC,CAAC,CAAC;SACJ;AACD,QAAA,OAAO,EAAE,CAAC;KACX;8GAjBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCCY,mBAAmB,CAAA;IAI9B,WAAoB,CAAA,EAAc,EAAU,GAAc,EAAA;QAAtC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAW;KAAI;IAEvD,QAAQ,GAAA;QACb,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,gBAAA,IAAI,MAAW,CAAC;AAChB,gBAAA,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;AAC7B,oBAAA,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;AACvE,oBAAA,CAAC,EAAE,CAAC;iBACL;AACD,gBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;gBACnC,IAAI,MAAM,EAAE;AACV,oBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;iBACnE;aACF;SACF,EAAE,CAAC,CAAC,CAAC;KACP;8GArBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,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,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;uGAGiB,YAAY,EAAA,CAAA;sBAA3B,KAAK;;;MCDK,gBAAgB,CAAA;AAI3B,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAFlB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;KAEC;AAE/B,IAAA,WAAW,CAAC,MAAqB,EAAA;QACtC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;AACpC,QAAA,IAAI,QAAa,CAAC;AAClB,QAAA,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE;;AAErC,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;;AAE7D,YAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE;AACxC,gBAAA,QAAQ,GAAG,WAAW,CAAC,MAAK;oBAC1B,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE;;AAEhD,wBAAA,MAAM,oBAAoB,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;wBAC/F,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY;8BAC/C,GAAG,GAAG,oBAAoB;8BAC1B,oBAAoB,CAAC;wBACzB,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,OAAO;qBACR;oBACD,CAAC,IAAI,IAAI,CAAC;AACV,oBAAA,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC3D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,eAAe,GAAG,eAAe,CAAC;iBAC/F,EAAE,CAAC,CAAC,CAAC;aACP;iBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE;AAC/C,gBAAA,QAAQ,GAAG,WAAW,CAAC,MAAK;oBAC1B,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE;wBAChD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;wBACpG,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,OAAO;qBACR;oBACD,CAAC,IAAI,IAAI,CAAC;AACV,oBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBACtE,EAAE,EAAE,CAAC,CAAC;aACR;SACF;QACD,UAAU,CAAC,MAAK;YACd,aAAa,CAAC,QAAQ,CAAC,CAAC;SACzB,EAAE,IAAI,CAAC,CAAC;KACV;8GA7CU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+EAEiB,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;;;MCHK,mBAAmB,CAAA;AAM9B,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAJlB,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;QACV,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;KAEK;IAE/B,QAAQ,GAAA;AACb,QAAA,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACnE,QAAA,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;AACpB,YAAA,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SACtB;AACD,QAAA,MAAM,IAAI,GAAe,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAe,CAAC,IAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,CAAC,CAAC;cACX,CAAG,EAAA,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAE,CAAA;AAClC,cAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,UAAU,GAAG,QAAQ,GAAG,EAAE,CAAA,EAClE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,EAChC,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;KACZ;8GArBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;+EAEiB,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;;;MCJK,qBAAqB,CAAA;AAIhC,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AAFjB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;KAEf;AAG/B,IAAA,OAAO,CAAC,aAAoB,EAAA;QACjC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAG;gBACzB,IAAI,EAAE,EAAE;oBACN,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAQ,CAAC;AAChD,oBAAA,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;wBAC9B,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;qBACzD;iBACF;AACH,aAAC,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3E,IAAI,CAAC,iBAAiB,EAAE;AACtB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACzC;KACF;8GAzBU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA,CAAA;+EAEiB,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACW,cAAc,EAAA,CAAA;sBAA9B,MAAM;gBAKA,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCN/B,uBAAuB,CAAA;IAClC,WAAoB,CAAA,EAAc,EAAU,GAAc,EAAA;QAAtC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAW;KAAI;IAGvD,OAAO,GAAA;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC;AAC7C,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACjE,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;KAC9D;8GARU,uBAAuB,EAAA,IAAA,EAAA,CAAA,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,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;uGAKQ,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCHtB,iBAAiB,CAAA;IAQ5B,WAAoB,CAAA,GAAc,EAAU,EAAc,EAAA;QAAtC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAW;QAAU,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAP1C,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QACX,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;QACZ,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;QACd,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,aAAa,CAAC;QACvB,IAAU,CAAA,UAAA,GAAqD,MAAM,CAAC;KAExB;IAEvD,QAAQ,GAAA;QACb,UAAU,CAAC,MAAK;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAC7D,YAAA,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3B,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;AAC9B,gBAAA,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;AAC7B,gBAAA,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACvB,gBAAA,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAC1C;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;AAC/B,gBAAA,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;AAC9B,gBAAA,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aACtC;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;AAC9B,gBAAA,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;aAC3C;AACD,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;gBAClC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAC5B;AACD,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC,CAAC;AACrD,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;AACvD,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA,EAAA,CAAI,CAAC,CAAC;AACnD,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA,EAAA,CAAI,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,CAA0D,wDAAA,CAAA,CAAC,CAAC;AACjG,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC3D,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACnD,SAAC,CAAC,CAAC;KACJ;8GAhDU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;uGAEiB,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;;;MCPK,YAAY,GAAG,IAAI,cAAc,CAAc,WAAW,EAAE;MAU5D,gBAAgB,CAAA;AAC3B,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,OAAO,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KACxE;AAED,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,WAAW,YAAY,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC3E;AAED,IAAA,WAAA,CAAyC,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAChE;AAVU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBASP,YAAY,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGATrB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf7B,gWAUA,EAAA,MAAA,EAAA,CAAA,+pBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;+BACE,YAAY,EAAA,UAAA,EACV,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAA,eAAA,EAGzB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gWAAA,EAAA,MAAA,EAAA,CAAA,+pBAAA,CAAA,EAAA,CAAA;;0BAWlC,MAAM;2BAAC,YAAY,CAAA;;;MELrB,gBAAgB,CAAA;AAK3B,IAAA,WAAA,CACU,OAAmB,EACnB,OAAgB,EAChB,aAA+B,EAC/B,GAAc,EAAA;QAHd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;QAC/B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAW;QAPR,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAC1B,IAAU,CAAA,UAAA,GAAsB,IAAI,CAAC;KAOzC;AAGG,IAAA,OAAO,CAAC,aAAoB,EAAA;AACjC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEhF,IAAI,CAAC,aAAa,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;AAC3C,gBAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;aAC3B;SACF;KACF;IAGM,kBAAkB,GAAA;AACvB,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9E,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;AACjC,YAAA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;AAC3C,YAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC1B,OAAO;SACR;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAIM,WAAW,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;YAC3C,OAAO;SACR;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAIM,WAAW,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;AAC3C,YAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;SAC3B;KACF;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;KAC5B;IAEO,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;AAC5B,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACpD,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;SAC7D;AACD,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,IAAI,CAAC,SAAS;AACzB,iBAAA;AACF,aAAA;AACF,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACtF,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KACnC;IAEO,mBAAmB,GAAA;QACzB,OAAO,IAAI,CAAC,OAAO;AAChB,aAAA,QAAQ,EAAE;AACV,aAAA,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,aAAA,aAAa,CAAC;AACb,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,UAAU,EAAE,QAAQ;AACrB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,UAAU,EAAE,KAAK;AAClB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA;AACF,SAAA,CAAC,CAAC;KACN;8GApHU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,eAAA,EAAA,YAAA,EAAA,eAAA,EAAA,MAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8JAEiB,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBAWC,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAYnC,kBAAkB,EAAA,CAAA;sBADxB,YAAY;uBAAC,OAAO,CAAA;gBAgBd,WAAW,EAAA,CAAA;sBAFjB,YAAY;uBAAC,YAAY,CAAA;;sBACzB,YAAY;uBAAC,OAAO,CAAA;gBAcd,WAAW,EAAA,CAAA;sBAFjB,YAAY;uBAAC,YAAY,CAAA;;sBACzB,YAAY;uBAAC,MAAM,CAAA;;;MClET,WAAW,CAAA;AAUtB,IAAA,WAAA,CAAsB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAHlC,QAAA,IAAA,CAAA,QAAQ,GAAiB,IAAI,OAAO,EAAE,CAAC;AACjC,QAAA,IAAA,CAAA,OAAO,GAAoB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAGtE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;KACxD;AAED;;AAEK;AACE,IAAA,KAAK,CAAC,GAAS,EAAA;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;AACF;;ACzBM,MAAM,aAAa,GAAG,IAAI,cAAc,CAAe,iBAAiB,CAAC,CAAC;MAEpE,YAAY,CAAA;AAWvB,IAAA,WAAA,CAAY,MAA6B,EAAA;QAVlC,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;QACnB,IAAa,CAAA,aAAA,GAAG,eAAe,CAAC;QAChC,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;QAC5B,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAKtB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;AACF;;MCPY,wBAAwB,CAAA;AAKnC,IAAA,WAAA,CACY,MAAoB,EACpB,UAAsB,EACtB,gBAAkC,EAAA;QAFlC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;QACpB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAC1C;IAEG,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;;AAE7E,YAAA,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;SACtC;KACF;AAEM,IAAA,qBAAqB,CAAI,MAA0B,EAAA;QACxD,OAAO,IAAI,CAAC,YAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;KACzD;AAEM,IAAA,oBAAoB,CAAI,MAAyB,EAAA;QACtD,OAAO,IAAI,CAAC,YAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;KACxD;8GAzBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,EAHhB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6CAA6C,4DAD7C,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGd,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,eAAe,CAAC;AAC1B,oBAAA,QAAQ,EAAE,6CAA6C;AACxD,iBAAA,CAAA;sIAEsD,YAAY,EAAA,CAAA;sBAAhE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MCajC,aAAa,CAAA;IAGxB,WAC8B,CAAA,QAAkB,EACb,YAA0B,EACjD,OAAgB,EAChB,QAAkB,EAClB,GAA6B,EAAA;QAJX,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACb,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QACjD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAG,CAAA,GAAA,GAAH,GAAG,CAA0B;KACrC;AAEG,IAAA,IAAI,CACT,OAAiC,EACjC,UAAA,GAAyD,EAAE,EAAA;AAE3D,QAAA,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,MAAM,SAAS,GAAG,IAAIC,WAAS,CAAI,UAAU,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAE1D,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAE3D,QAAA,OAAO,SAAS,CAAC;KAClB;AAES,IAAA,aAAa,CAAC,MAAoB,EAAA;AAC1C,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAEnE,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACzB,gBAAgB;YAChB,cAAc;YACd,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,UAAU,EAAE,MAAM,CAAC,WAAW;AAC/B,SAAA,CAAC,CAAC;KACJ;IAES,sBAAsB,GAAA;QAC9B,OAAO,IAAI,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,CAAC;KAC7E;AAES,IAAA,oBAAoB,CAAC,SAAkB,EAAA;QAC/C,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC7C;aAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;SAC9C;KACF;IAES,eAAe,CAAC,MAAoB,EAAE,UAAsB,EAAA;QACpE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,QAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,wBAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACxD,OAAO,YAAY,CAAC,QAAQ,CAAC;KAC9B;AAES,IAAA,cAAc,CAAC,MAAoB,EAAA;AAC3C,QAAA,OAAO,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;KACvF;AAES,IAAA,aAAa,CACrB,MAAoB,EACpB,OAAiC,EACjC,SAAmC,EACnC,SAAuB,EAAA;AAEvB,QAAA,IAAI,OAAO,YAAY,WAAW,EAAE;AAClC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AACrE,YAAA,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACxC;aAAM;AACL,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACtE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAEjE,YAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,gBAAA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,QAAe,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;aAC9E;SACF;KACF;AAES,IAAA,oBAAoB,CAC5B,MAAoB,EACpB,OAAuB,EACvB,SAAuB,EAAA;AAEvB,QAAA,OAAO,IAAI,cAAc,CACvB,OAAO,EACP,EAAsB,EACtB,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAS,CAChD,CAAC;KACH;AAES,IAAA,qBAAqB,CAC7B,MAAoB,EACpB,OAAgB,EAChB,SAAuB,EAAA;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7C,QAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAACA,WAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;KAC9E;AAES,IAAA,sBAAsB,CAAI,MAAoB,EAAE,UAAsB,EAAE,SAAuB,EAAA;AACvG,QAAA,IAAI,MAAM,CAAC,oBAAoB,EAAE;AAC/B,YAAA,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;SAC/D;AAED,QAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,YAAA,SAAS,CAAgB,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;iBAC7C,IAAI,CACH,MAAM,CAAC,CAAC,KAAoB,KAAK,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,EACtD,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAC7B;iBACA,SAAS,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;SACvC;KACF;8GArHU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAId,QAAQ,EAAA,EAAA,EAAA,KAAA,EACR,aAAa,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AALZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;0BAK7B,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,aAAa,CAAA;;;AC9BzB;;MCaa,mBAAmB,CAAA;IAK9B,IACW,IAAI,CAAC,QAAgB,EAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjD;QAED,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAClD,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACrD;AACD,YAAA,IAAK,IAAI,CAAC,MAAM,EAAE;aACjB;AACD,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;aACpD;YAGD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjD;KACF;AAID,IAAA,WAAA,CACU,EAAc,EACd,GAAc,EACd,eAAgC,EACF,QAAa,EAAA;QAH3C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAG,CAAA,GAAA,GAAH,GAAG,CAAW;QACd,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QACF,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;KAEpD;AAEO,IAAA,oBAAoB,CAAC,UAAkB,EAAA;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;AAE3B,QAAA,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;KACvG;AA3CU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iGAkCR,QAAQ,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAlCnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,uJALpB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAK1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EACP,OAAA,EAAA,EAAE,YACD,2BAA2B,EAAA,eAAA,EAEpB,uBAAuB,CAAC,MAAM,EAAA,CAAA;;0BAqC5C,QAAQ;;0BAAI,MAAM;2BAAC,QAAQ,CAAA;yCAjCd,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAGK,IAAI,EAAA,CAAA;sBADd,KAAK;;;MCLK,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECblC,0fAeA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDP8B,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKpC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;+BACE,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAG/B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0fAAA,EAAA,CAAA;8BAG/B,QAAQ,EAAA,CAAA;sBAAvB,KAAK;;;MEDK,sBAAsB,CAAA;IAIjC,WAAoB,CAAA,QAAkB,EAAU,MAAc,EAAA;QAA1C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAH9C,IAAS,CAAA,SAAA,GAAG,OAAO,CAAC;KAG8B;IAE3D,MAAM,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACnC;aAAM;AACL,YAAA,IAAI;AACF,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aACtB;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7B;SACF;KACF;8GAhBU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbnC,iNAIA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDI8B,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKpC,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAG/B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,iNAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;oGAG/B,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;;;AEQF,MAAO,wBAAyB,SAAQ,wBAAwB,CAAA;AATtE,IAAA,WAAA,GAAA;;;;;;AAcmB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AACtC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;AAevD,KAAA;AAZQ,IAAA,OAAO,CAAC,MAAkB,EAAA;QAC/B,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;AAEM,IAAA,SAAS,CAAC,MAAkB,EAAA;QACjC,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;8GApBU,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBrC,24CA8CA,ED1BY,MAAA,EAAA,CAAA,s4EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,wXAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAG5D,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;+BACE,sBAAsB,EAAA,UAAA,EACpB,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,WAC/D,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,24CAAA,EAAA,MAAA,EAAA,CAAA,s4EAAA,CAAA,EAAA,CAAA;8BAOlC,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,SAAS,EAAA,CAAA;sBAAzB,MAAM;gBACS,WAAW,EAAA,CAAA;sBAA1B,KAAK;;;MEnBK,oBAAoB,CAAA;IAK/B,IACW,QAAQ,CAAC,CAAsB,EAAA;AACxC,QAAA,IAAI,CAAC,KAAK,IAAI,EAAE;AACd,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;aAAM;YACL,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACnB,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAC1B,EAAE,IAAI,CAAC,CAAC;SACV;KACF;IACD,IAAoB,KAAK,CAAC,CAAqB,EAAA;AAC7C,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACd,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC3C;KACF;AAKD,IAAA,WAAA,CAAoB,GAAsB,EAAA;QAAtB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAxB1B,IAAO,CAAA,OAAA,GAAuB,OAAO,CAAC;QAqB/C,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;QAKV,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;KAFW;8GA1BnC,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXjC,+aAWA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDLY,mBAAmB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKlB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EACP,OAAA,EAAA,CAAC,mBAAmB,CAAC,EAAA,eAAA,EAGb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+aAAA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA,CAAA;sFAG/B,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,GAAG,EAAA,CAAA;sBAAlB,KAAK;gBAGK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAYc,KAAK,EAAA,CAAA;sBAAxB,KAAK;;;METK,gBAAgB,CAAA;AAW3B,IAAA,WAAA,CAAmB,GAAsB,EAAA;QAAtB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAVzB,IAAI,CAAA,IAAA,GAAmC,UAAU,CAAC;QAMlD,IAAY,CAAA,YAAA,GAAsC,KAAK,CAAC;AAEvD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAa,CAAC;KAEjB;8GAXlC,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB7B,svBAuBA,EAAA,MAAA,EAAA,CAAA,q4BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDTY,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;+BACE,aAAa,EAAA,UAAA,EACX,IAAI,EACP,OAAA,EAAA,CAAC,oBAAoB,CAAC,EAAA,eAAA,EAGd,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,svBAAA,EAAA,MAAA,EAAA,CAAA,q4BAAA,CAAA,EAAA,CAAA;sFAG/B,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,oBAAoB,EAAA,CAAA;sBAAnC,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBAEW,YAAY,EAAA,CAAA;sBAA5B,MAAM;;;MEDI,iBAAiB,CAAA;AAf9B,IAAA,WAAA,GAAA;AAmBkB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC;QACjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAGjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEf,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAItC,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAoCpC,KAAA;aAjDe,IAAS,CAAA,SAAA,GAAG,CAAH,CAAK,EAAA;IAerB,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;SAC5D;KACF;AAEM,IAAA,UAAU,CAAC,MAA0B,EAAA;AAC1C,QAAA,IAAI,CAAC,OAAO,GAAI,MAA2B,EAAE,OAAO,CAAC;AACrD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;AAEM,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;AAEM,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;AAEM,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAEM,IAAA,UAAU,CAAC,KAAU,EAAA;AAC1B,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAClD,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACjC,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,gBAAgB,EAAE;YACzE,OAAO;SACR;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;KACrC;IAEO,eAAe,CAAC,MAAW,EAAA,GAAI;8GAjD5B,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EARjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBH,woBAsBA,EDPY,MAAA,EAAA,CAAA,suDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,8BAAE,mBAAmB,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAY7C,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAf7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EACZ,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAGxC,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,woBAAA,EAAA,MAAA,EAAA,CAAA,suDAAA,CAAA,EAAA,CAAA;8BAKe,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBAEW,OAAO,EAAA,CAAA;sBAAvB,MAAM;;;AE1BT,MAAM,MAAM,GAAG;IACb,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;IACT,QAAQ;IACR,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCI;MAwBS,oBAAoB,CAAA;IAM/B,IACW,OAAO,CAAC,IAAS,EAAA;AAC1B,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;SAC5B;AAAM,aAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;AAAM,aAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CACnB,IAAI,EACJ,CAAG,EAAA,IAAI,CAAC,UAAU,CAAG,EAAA,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,EACnE,IAAI,IAAI,EAAE,CACX,CAAC;SACH;KACF;IAED,IACW,OAAO,CAAC,IAAS,EAAA;AAC1B,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;SAC5B;AAAM,aAAA,IAAI,IAAI,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SAChF;AAAM,aAAA,IAAI,IAAI,KAAK,OAAO,EAAE;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SAC1E;AAAM,aAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;AAAM,aAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CACnB,IAAI,EACJ,CAAG,EAAA,IAAI,CAAC,UAAU,CAAG,EAAA,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE,EAAE,EACnE,IAAI,IAAI,EAAE,CACX,CAAC;SACH;KACF;AAiBD,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAtD5B,IAAI,CAAA,IAAA,GAAiC,QAAQ,CAAC;QAC9C,IAAU,CAAA,UAAA,GAAG,YAAY,CAAC;QAE1B,IAAI,CAAA,IAAA,GAAoB,MAAM,CAAC;AAC9B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAoB,CAAC;QAsC1D,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;AAChB,QAAA,IAAA,CAAA,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAChC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC9B,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;;AAG1B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;AACzB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;KAIoB;IAEzC,eAAe,CAAC,MAAY,EAAA,GAAU;IAEtC,QAAQ,GAAA;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEM,aAAa,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3E;AAEM,IAAA,WAAW,CAAC,MAAc,EAAA;QAC/B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjD;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;KACF;AAEM,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;AAEM,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAEM,IAAA,UAAU,CAAC,GAAS,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;KACtB;AAEM,IAAA,SAAS,CAAC,GAAW,EAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACvD;KACF;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAiB,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC3B;AAEM,IAAA,YAAY,CAAC,GAAW,EAAA;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QAClB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,SAAS,GAAG,KAAK,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG;AAClC,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC3B,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;aACxB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,GAAG,GAAG,MAAM,CAAC;AACzE,YAAA,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;AAC1D,YAAA,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;SAChC;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG;AAClC,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC3B,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;aACxB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,GAAG,GAAG,MAAM,CAAC;AACzE,YAAA,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;AAC1D,YAAA,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;SAChC;QACD,OAAO,OAAO,IAAI,SAAS,IAAI,QAAQ,IAAI,OAAO,IAAI,SAAS,IAAI,QAAQ,CAAC;KAC7E;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC3B;8GA9IU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAXpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EC9EH,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,mvFAgEA,m6CDCI,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEhB,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,gGAElB,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAaV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAvBhC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EACP,OAAA,EAAA;wBACP,wBAAwB;wBACxB,gBAAgB;wBAChB,iBAAiB;wBACjB,YAAY;wBACZ,kBAAkB;wBAClB,gBAAgB;wBAChB,mBAAmB;qBACpB,EACU,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EAGgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mvFAAA,EAAA,MAAA,EAAA,CAAA,22CAAA,CAAA,EAAA,CAAA;6EAG/B,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACW,QAAQ,EAAA,CAAA;sBAAxB,MAAM;gBAEI,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAgBK,OAAO,EAAA,CAAA;sBADjB,KAAK;;;ME7EK,oBAAoB,CAAA;AAfjC,IAAA,WAAA,GAAA;QAmBkB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAEhB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEf,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW,CAAC;AA6B3D,KAAA;aAtCe,IAAS,CAAA,SAAA,GAAG,CAAH,CAAK,EAAA;IAarB,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,oBAAoB,CAAC,SAAS,EAAE,CAAC;SACrE;KACF;AAEM,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;AAEM,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAEM,IAAA,SAAS,CAAC,MAA0B,EAAA;AACzC,QAAA,IAAI,CAAC,OAAO,GAAI,MAA2B,EAAE,OAAO,CAAC;AACrD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACpC;AAEM,IAAA,UAAU,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;IAEO,eAAe,CAAC,KAAc,EAAA,GAAI;8GAtC/B,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EARpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,ECzBH,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wdAeA,ilDDAY,WAAW,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAYV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAfhC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EAAA,OAAA,EACP,CAAC,WAAW,CAAC,EAGL,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,wdAAA,EAAA,MAAA,EAAA,CAAA,0hDAAA,CAAA,EAAA,CAAA;8BAKe,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBAEW,UAAU,EAAA,CAAA;sBAA1B,MAAM;;;AEtBH,MAAO,wBAAyB,SAAQ,2BAA2B,CAAA;AACvE,IAAA,WAAA,CAAY,eAAkC,EAAA;QAC5C,KAAK,CAAC,eAAe,CAAC,CAAC;KACxB;8GAHU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,uGCfrC,6gDAgCA,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtBY,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,kBAAkB,gGAAoB,uBAAuB,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKzE,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EACpB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAGpE,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6gDAAA,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA,CAAA;;;MEFpC,sBAAsB,CAAA;AARnC,IAAA,WAAA,GAAA;AAYmB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;AACtC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AAS3D,KAAA;AARQ,IAAA,cAAc,CAAC,MAAa,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,GAAsB,MAAM,EAAE,MAA2B,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAChF,IAAI,IAAI,EAAE;AACR,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B;SACF;KACF;8GAbU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXnC,sbAcA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRY,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKf,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EACP,OAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sbAAA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,CAAA;8BAG/B,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,gBAAgB,EAAA,CAAA;sBAA/B,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACW,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,WAAW,EAAA,CAAA;sBAA3B,MAAM;;;MEHI,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,ECbpC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ylCAiBA,EDTY,MAAA,EAAA,CAAA,iEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,gGAAoB,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKxD,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EACnB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAGnD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ylCAAA,EAAA,MAAA,EAAA,CAAA,iEAAA,CAAA,EAAA,CAAA;;;AEqB3C,MAAO,iBACX,SAAQ,2BAA2B,CAAA;IAGnC,WACE,CAAA,eAAkC,EACM,gBAAkC,EAAA;QAE1E,KAAK,CAAC,eAAe,CAAC,CAAC;QAFiB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAG3E;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,OAAO;AACV,YAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe;AAC3C,kBAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;kBACzD,IAAI,CAAC;KACZ;AAEM,IAAA,UAAU,CAAC,KAA6B,EAAA;QAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AACrE,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;SACtC;KACF;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;KAEvB;8GA5BU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAVjB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BH,u/BAgCA,EAAA,MAAA,EAAA,CAAA,mmCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFY,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,EAAsC,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAEnE,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAf7B,SAAS;+BACE,cAAc,EAAA,UAAA,EACZ,IAAI,EAGL,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,u/BAAA,EAAA,MAAA,EAAA,CAAA,mmCAAA,CAAA,EAAA,CAAA;;0BAQ5E,QAAQ;;0BAAI,IAAI;;0BAAI,QAAQ;;;MEIpB,kBAAkB,CAAA;aACf,IAAS,CAAA,SAAA,GAAG,CAAH,CAAK,EAAA;AAe5B,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAb3B,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAA+C,CAAC;QAG1F,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QACtB,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;QACxB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACzB,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;KAOc;IAEzC,QAAQ,GAAA;QACb,IAAI,CAAC,QAAQ,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;KACpD;AAEM,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;AAEM,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;KAC5C;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AAC9B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;AAEM,IAAA,YAAY,CAAC,IAAqB,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;KAC3C;AAEM,IAAA,UAAU,CAAC,KAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;KAC7B;AAEM,IAAA,UAAU,CAAC,MAAwB,EAAA;AACxC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;AACjC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC/B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;SACvE;aAAM;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;AAC9B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;AACD,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;KACF;AAEM,IAAA,YAAY,CAAC,MAAe,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AAC5B,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE;AACjC,YAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;SAC/B;KACF;IAEO,eAAe,CAAC,KAAiB,EAAA,GAAI;8GAvFlC,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAI,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EARlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCH,ywDAyCA,EAAA,MAAA,EAAA,CAAA,83BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBI,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,wBAAwB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,EACX,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAcZ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAvB9B,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EACP,OAAA,EAAA;wBACP,gBAAgB;wBAChB,wBAAwB;wBACxB,iBAAiB;wBACjB,oBAAoB;wBACpB,WAAW;wBACX,qBAAqB;qBACtB,EAIgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,ywDAAA,EAAA,MAAA,EAAA,CAAA,83BAAA,CAAA,EAAA,CAAA;6EAIe,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACW,aAAa,EAAA,CAAA;sBAA7B,MAAM;;;AElBH,MAAO,uBAA2B,SAAQ,2BAA2B,CAAA;AAazE,IAAA,WAAA,CACU,QAAwB,EAChC,eAAkC,EAC1B,GAAsB,EAAA;QAE9B,KAAK,CAAC,eAAe,CAAC,CAAC;QAJf,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAgB;QAExB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAfhB,IAAQ,CAAA,QAAA,GAAG,OAAO,CAAC;QACnB,IAAO,CAAA,OAAA,GAAG,aAAa,CAAC;QACxB,IAAU,CAAA,UAAA,GAAyB,UAAU,CAAC;QAC9C,IAAU,CAAA,UAAA,GAAqB,MAAM,CAAC;QAEtC,IAAY,CAAA,YAAA,GAAG,GAAG,CAAC;QACnB,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AAET,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU,CAAC;AACxC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAC5C,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAiB,CAAC;KAQ3C;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK;AACP,iBAAA,IAAI,CACH,GAAG,CAAC,KAAK,IAAK,KAAK,CAAC,MAA2B,EAAE,KAAK,CAAC,EACvD,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;;YAE/B,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACtD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;iBACA,SAAS,CAAC,GAAG,IAAG;AACf,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,aAAC,CAAC,CAAC;SACN;KACF;IAEe,WAAW,GAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC;KACF;AAEM,IAAA,OAAO,CAAC,MAAgB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1B;AACD,QAAA,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;AAC/C,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;AAEM,IAAA,iBAAiB,CAAC,IAAO,EAAA;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAClC;AAEM,IAAA,QAAQ,CAAC,IAAO,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,QAA6B,CAAW,CAAC;KAC3D;AAEM,IAAA,OAAO,CAAC,IAAO,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAA4B,CAAW,CAAC;KAC1D;8GAjEU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAFvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAAA,CAAC,cAAc,CAAC,iDCzB7B,s0DAgDA,EAAA,MAAA,EAAA,CAAA,6uCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3BY,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,EAAoB,gBAAgB,EAAE,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,EAAE,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,QAAQ,6CAAE,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAM5F,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBATnC,SAAS;+BACE,qBAAqB,EAAA,UAAA,EACnB,IAAI,EACP,OAAA,EAAA,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC,EAGvF,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,cAAc,CAAC,EAAA,QAAA,EAAA,s0DAAA,EAAA,MAAA,EAAA,CAAA,6uCAAA,CAAA,EAAA,CAAA;gJAGX,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACW,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;;;AEcH,MAAO,kBACX,SAAQ,2BAA2B,CAAA;aAGrB,IAAS,CAAA,SAAA,GAAG,CAAH,CAAK,EAAA;IAa5B,WACE,CAAA,eAAkC,EACM,gBAAkC,EAAA;QAE1E,KAAK,CAAC,eAAe,CAAC,CAAC;QAFiB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QARnD,IAAW,CAAA,WAAA,GAAG,oBAAoB,CAAC;KAW3D;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC;SAC/D;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC/B;AACD,QAAA,IAAI,CAAC,OAAO;AACV,YAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe;AAC3C,kBAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;kBACzD,IAAI,CAAC;KACZ;AAEe,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC1B,QAAA,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;KAC3B;AAEe,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvC,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC5B,QAAA,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;KAC5B;AAEe,IAAA,WAAW,CAAC,CAAQ,EAAA;AAClC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;KACrB;AAEe,IAAA,gBAAgB,CAAC,CAAQ,EAAA;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;SACtC;AACD,QAAA,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;KAC1B;AAEM,IAAA,UAAU,CAAC,KAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAEM,IAAA,UAAU,CAAC,IAAS,EAAA;AACzB,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;iBAAM;AACL,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,gBAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,gBAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;aACjC;SACF;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAS,CAAC,EAAE;AACpF,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;AAClC,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;iBAAM;AACL,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,gBAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,gBAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;aACjC;SACF;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC1B;AAEM,IAAA,UAAU,CAAC,IAAS,EAAA;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAS,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;KAC5F;IAEO,eAAe,CAAC,MAAW,EAAA,GAAI;8GAnG5B,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EATlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChDH,w0FAmFA,EDrDI,MAAA,EAAA,CAAA,ujEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,oPACX,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAEb,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACR,qBAAqB,EACrB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAe,oDACf,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAaV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBA1B9B,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EACP,OAAA,EAAA;wBACP,gBAAgB;wBAChB,mBAAmB;wBACnB,WAAW;wBACX,aAAa;wBACb,gBAAgB;wBAChB,QAAQ;wBACR,qBAAqB;wBACrB,kBAAkB;wBAClB,eAAe;wBACf,mBAAmB;qBACpB,EAGU,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,w0FAAA,EAAA,MAAA,EAAA,CAAA,ujEAAA,CAAA,EAAA,CAAA;;0BAqB5C,QAAQ;;0BAAI,IAAI;;0BAAI,QAAQ;yCAbf,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;;;AElDR,MAAM,WAAW,GAAG;IAClB,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;AACvD,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;CACvC,CAAC;MAUW,gBAAgB,CAAA;AAR7B,IAAA,WAAA,GAAA;QASkB,IAAS,CAAA,SAAA,GAAY,WAAW,CAAC;AAChC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU,CAAC;AAwBzD,KAAA;IAnBQ,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;AAC1B,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;SACrF;KACF;AAEM,IAAA,MAAM,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;SAChC;KACF;8GAzBU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,gJCzB7B,o1BAqBA,EAAA,MAAA,EAAA,CAAA,oQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEY,qBAAqB,EAAE,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,0LAAoB,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAE7E,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACX,UAAA,EAAA,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,o1BAAA,EAAA,MAAA,EAAA,CAAA,oQAAA,CAAA,EAAA,CAAA;8BAGzE,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACW,SAAS,EAAA,CAAA;sBAAzB,MAAM;;;MEjBI,gBAAgB,CAAA;AAR7B,IAAA,WAAA,GAAA;QASkB,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC;QACT,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AAC9B,KAAA;8GAHY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,+GCV7B,kJAIA,EAAA,MAAA,EAAA,CAAA,qRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cACX,IAAI,EAAA,OAAA,EACP,EAAE,EAGM,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kJAAA,EAAA,MAAA,EAAA,CAAA,qRAAA,CAAA,EAAA,CAAA;8BAG/B,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;;;AERR;;;;;;;;;;;;;;;;;;AAkBG;AACH;MASa,eAAe,CAAA;IAS1B,WAAoB,CAAA,IAAgB,EAAU,GAAc,EAAA;QAAxC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAW;QAJ5C,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QACb,IAAK,CAAA,KAAA,GAAc,OAAO,CAAC;KAGqB;IAEzD,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,IAAI;aACN,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,CAAA,IAAA,CAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;aACnG,SAAS,CAAC,GAAG,IAAG;YACf,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG,CAAC;AACvC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC/C,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrE,YAAA,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACvB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpC,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aACjD;AACD,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACnD;AACH,SAAC,CAAC,CAAC;KACN;8GAhCU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,+RChC5B,skBAeA,EAAA,MAAA,EAAA,CAAA,ihCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDiBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAR3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cACV,IAAI,EAAA,OAAA,EACP,EAAE,EAGM,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,skBAAA,EAAA,MAAA,EAAA,CAAA,ihCAAA,CAAA,EAAA,CAAA;yGAGH,GAAG,EAAA,CAAA;sBAA9C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;gBACnB,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;;;ME5BK,IAAI,CAAA;AAQf,IAAA,WAAA,CAAY,IAAS,EAAA;AACnB,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACpC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,EAAE;;;gBAGP,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;aACvB;SACF;KACF;AACF,CAAA;MAUY,wBAAwB,CAAA;AAQnC,IAAA,WAAA,CAAoB,KAAqB,EAAU,MAAc,EAAU,GAAsB,EAAA;QAA7E,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AAPjF,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAIxB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAiB,CAAC;KAGmC;IAE9F,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;KACF;AAEM,IAAA,cAAc,CAAC,GAAU,EAAA;QAC9B,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC;AAC7B,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC/D;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7C;aAAM;AACL,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;AAChC,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;SAC5D;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAEO,WAAW,GAAA;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAkB,CAAC;AAC9D,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE;YAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,EAAE,EAAE,CAAC;AAC9E,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC7C;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7C;KACF;8GA1CU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,iOC5CrC,4SAYA,EAAA,MAAA,EAAA,CAAA,2YAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDgCa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cACpB,IAAI,EAAA,OAAA,EACP,EAAE,EAGM,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4SAAA,EAAA,MAAA,EAAA,CAAA,2YAAA,CAAA,EAAA,CAAA;4IAG/B,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBACW,YAAY,EAAA,CAAA;sBAA5B,MAAM;;;AElBH,MAAO,oBAAqB,SAAQ,2BAA2B,CAAA;IAInE,WACE,CAAA,eAAkC,EACM,gBAAkC,EAAA;QAE1E,KAAK,CAAC,eAAe,CAAC,CAAC;QAFiB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAL5D,IAAI,CAAA,IAAA,GAAG,GAAG,CAAC;QACX,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;KAOlC;IAEM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,OAAO;AACV,YAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe;AAC3C,kBAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;kBACzD,IAAI,CAAC;KACZ;8GAhBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EARpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BH,83CAqCA,EAAA,MAAA,EAAA,CAAA,szCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDlBY,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,EAAoB,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAYjD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAfhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACf,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAG5C,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,83CAAA,EAAA,MAAA,EAAA,CAAA,szCAAA,CAAA,EAAA,CAAA;;0BAQE,QAAQ;;0BAAI,IAAI;;0BAAI,QAAQ;yCALf,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;;;AE7BR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEgB,SAAA,QAAQ,CAAC,KAAA,GAAgB,IAAI,EAAA;AAC3C,IAAA,OAAO,UAAU,OAAY,EAAE,YAA6B,EAAE,UAA8B,EAAA;AAC1F,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;AACxC,QAAA,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,QAAQ,GAAiB,IAAI,CAAC;QAClC,IAAI,WAAW,GAAG,IAAI,CAAC;AAEvB,QAAA,UAAU,CAAC,KAAK,GAAG,UAAqB,GAAG,IAAW,EAAA;YACpD,IAAI,WAAW,EAAE;gBACf,WAAW,GAAG,KAAK,CAAC;AACpB,gBAAA,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAClC;iBAAM;gBACL,QAAQ,GAAG,IAAI,CAAC;AAChB,gBAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AACtB,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB;aACF;AAED,YAAA,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBAC/C,IAAI,QAAQ,EAAE;AACZ,oBAAA,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACrC,QAAQ,GAAG,IAAI,CAAC;iBACjB;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;AACpB,KAAC,CAAC;AACJ,CAAC;AAEe,SAAA,QAAQ,CAAC,KAAA,GAAgB,IAAI,EAAA;IAC3C,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,IAAA,OAAO,UAAU,OAAY,EAAE,YAA6B,EAAE,UAA8B,EAAA;AAC1F,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;AAExC,QAAA,UAAU,CAAC,KAAK,GAAG,UAAqB,GAAG,IAAW,EAAA;YACpD,IAAI,CAAC,WAAW,EAAE;gBAChB,WAAW,GAAG,IAAI,CAAC;AACnB,gBAAA,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAEjC,UAAU,CAAC,MAAK;oBACd,WAAW,GAAG,KAAK,CAAC;iBACrB,EAAE,KAAK,CAAC,CAAC;aACX;AACH,SAAC,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;AACpB,KAAC,CAAC;AACJ,CAAC;AAEK,SAAU,QAAQ,CACtB,UAAa,EACb,UAAe,CAAC,UAAU,EAAE,aAAa,CAAQ,EAAA;IAEjD,OAAO,UAAU,MAAW,EAAE,GAAoB,EAAA;AAChD,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;AACjC,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,YAAY,EAAE,IAAI;YAClB,GAAG,GAAA;AACD,gBAAA,MAAM,OAAO,GAAuC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAErE,IAAI,CAAC,OAAO,EAAE;AACZ,oBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;iBACjB;AAED,gBAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACvD,oBAAA,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;iBACzB;gBAED,MAAM,QAAQ,GAA0B,OAAO;qBAC5C,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACtC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAErC,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CACjC,SAAS,CAAC,aAAa,IAAG;oBACxB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACvD,oBAAA,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;AAE1D,oBAAA,OAAO,EAAE,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC;iBACzC,CAAC,CACH,CAAC;aACH;AACF,SAAA,CAAC,CAAC;AACL,KAAC,CAAC;AACJ,CAAC;AAEe,SAAA,iBAAiB,CAAC,KAAA,GAAgB,CAAC,EAAA;AACjD,IAAA,OAAO,UAAU,MAAW,EAAE,GAAW,EAAE,UAA8B,EAAA;AACvE,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;AAEd,QAAA,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW,EAAA;AACzC,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,IAAI,KAAK,IAAI,KAAK,EAAE;gBAClB,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACzC;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,CAAA,MAAA,EAAS,GAAG,CAAyB,sBAAA,EAAA,KAAK,CAAU,QAAA,CAAA,CAAC,CAAC;aACnE;AACH,SAAC,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;AACpB,KAAC,CAAC;AACJ;;AC/GO,MAAM,UAAU,GAAG,IAAI,cAAc,CAAY,WAAW,CAAC,CAAC;MAUxD,kBAAkB,CAAA;AAC7B,IAAA,IAAW,EAAE,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KACrB;IAKD,WAAoB,CAAA,YAA0B,EAA6B,WAAsB,EAAA;QAA7E,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAA6B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAW;QAC/F,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;KACrC;IAEM,OAAO,GAAA;QACZ,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACzC;AAdU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,2CAQ2B,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGARvD,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtB/B,sOAOA,EAAA,MAAA,EAAA,CAAA,8fAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDUoC,mBAAmB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAK1C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACb,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAGrC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sOAAA,EAAA,MAAA,EAAA,CAAA,8fAAA,CAAA,EAAA,CAAA;;0BAUE,MAAM;2BAAC,UAAU,CAAA;;;IEzBxD,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,WAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,WAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;AACrB,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA,CAAA;MAEY,WAAW,CAAA;AAGtB,IAAA,WAAA,CAAY,MAAoB,EAAA;QAFzB,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QAGpB,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,GAAwB,CAAC,GAAG,MAAM,CAAC,GAAwB,CAAC,CAAC,CAAC,CAAC;SACzG;KACF;AACF,CAAA;MAKY,YAAY,CAAA;AAQvB,IAAA,WAAA,CAAoB,OAAgB,EAAA;QAAhB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AAP7B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAE1B,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC;AACb,QAAA,IAAA,CAAA,WAAW,GAAc,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAEtE,IAAW,CAAA,WAAA,GAAQ,EAAE,CAAC;KAEU;IAEjC,OAAO,CAAC,KAAa,EAAE,WAAoB,EAAA;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KACzD;IAEM,OAAO,CAAC,KAAa,EAAE,WAAoB,EAAA;QAChD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KACzD;IAEM,MAAM,CAAC,KAAa,EAAE,WAAoB,EAAA;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;KACxD;IAEM,IAAI,CAAC,KAAa,EAAE,WAAoB,EAAA;QAC7C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;KACtD;AAEM,IAAA,wBAAwB,CAAC,KAAuB,EAAA;AACrD,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;AAEM,IAAA,gBAAgB,CAAC,QAAkB,EAAA;AACxC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;AAEM,IAAA,YAAY,CAAC,EAAU,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SACjC;KACF;AAEO,IAAA,WAAW,CAAC,KAAa,EAAE,WAA+B,EAAE,IAAe,EAAA;AACjF,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;;AAEpD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;AAC3C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;AACnC,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,IAAI,CAAC,WAAW;AAC3B,iBAAA;AACF,aAAA;YACD,MAAM,EAAE,IAAI,CAAC,QAAQ;AACtB,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACxF,QAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;;AAEtB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,UAAU,CAAC,MAAK;AACd,YAAA,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;gBACjC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE;oBACvC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;iBAChC;aACF;;;;AAKH,SAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,OAAO,CAAC;AACZ,QAAA,IAAI,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,QAAQ,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;AACtE,QAAA,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1C,YAAA,SAAS,GAAG;AACV,gBAAA;AACE,oBAAA,OAAO,EAAE,OAAO;AAChB,oBAAA,OAAO,EAAE,QAAQ;AACjB,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,UAAU,EAAE,WAAW;AACxB,iBAAA;aACqB,CAAC;SAC1B;aAAM;YACL,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,YAAA,SAAS,GAAG;AACV,gBAAA;AACE,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,UAAU,EAAE,EAAE;AACf,iBAAA;aACqB,CAAC;SAC1B;AACD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;KACtF;8GAvGU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCfY,yBAAyB,CAAA;IAIpC,WAAoB,CAAA,YAA0B,EAAU,QAAkB,EAAA;QAAtD,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;IAEvE,QAAQ,GAAA;QACb,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAiB,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnD;8GATU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAM,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACG,gBAAgB,EAJ7C,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;AACuB,kCAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEtB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;AACuB,kCAAA,CAAA;AAClC,iBAAA,CAAA;qGAGS,gBAAgB,EAAA,CAAA;sBADvB,SAAS;uBAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;ACVzE;;AAEG;AACI,MAAM,CAAC,GAAG;;ACHjB;;AAEG;;;;"}
1
+ {"version":3,"file":"morozeckiy-dd-lib.mjs","sources":["../../../projects/dd-lib/src/lib/common/lib-common-button.ts","../../../projects/dd-lib/src/lib/common/lib-common-input-text.ts","../../../projects/dd-lib/src/lib/lib-loader/lib-loader.component.ts","../../../projects/dd-lib/src/lib/lib-loader/lib-loader.component.html","../../../projects/dd-lib/src/lib/lib-button/lib-button.component.ts","../../../projects/dd-lib/src/lib/lib-button/lib-button.component.html","../../../projects/dd-lib/src/lib/core/services/theme-constructor.service.ts","../../../projects/dd-lib/src/lib/core/services/date.service.ts","../../../projects/dd-lib/src/lib/core/services/svg-icons.service.ts","../../../projects/dd-lib/src/lib/core/services/destroy.service.ts","../../../projects/dd-lib/src/lib/core/services/interceptors.service.ts","../../../projects/dd-lib/src/lib/core/services/validators.service.ts","../../../projects/dd-lib/src/lib/core/services/fetcher.service.ts","../../../projects/dd-lib/src/lib/core/tools.ts","../../../projects/dd-lib/src/lib/core/pipes/filter.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/highlight.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/safe.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/reverse.pipe.ts","../../../projects/dd-lib/src/lib/core/pipes/filter-tabs.pipe.ts","../../../projects/dd-lib/src/lib/core/directives/auto-height.directive.ts","../../../projects/dd-lib/src/lib/core/directives/counter.directive.ts","../../../projects/dd-lib/src/lib/core/directives/declension.directive.ts","../../../projects/dd-lib/src/lib/core/directives/click-outside.directive.ts","../../../projects/dd-lib/src/lib/core/directives/resize-textarea.directive.ts","../../../projects/dd-lib/src/lib/core/directives/triangle.directive.ts","../../../projects/dd-lib/src/lib/core/tooltip/tooltip.component.ts","../../../projects/dd-lib/src/lib/core/tooltip/tooltip.component.html","../../../projects/dd-lib/src/lib/core/tooltip/tooltip.directive.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog-ref.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog-config.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog-container.component.ts","../../../projects/dd-lib/src/lib/core/dialog/dialog.service.ts","../../../projects/dd-lib/src/lib/core/index.ts","../../../projects/dd-lib/src/lib/lib-svg-icon/lib-svg-icon.component.ts","../../../projects/dd-lib/src/lib/lib-accordion/lib-accordion.component.ts","../../../projects/dd-lib/src/lib/lib-accordion/lib-accordion.component.html","../../../projects/dd-lib/src/lib/lib-back-button/lib-back-button.component.ts","../../../projects/dd-lib/src/lib/lib-back-button/lib-back-button.component.html","../../../projects/dd-lib/src/lib/lib-filter-button/lib-filter-button.component.ts","../../../projects/dd-lib/src/lib/lib-filter-button/lib-filter-button.component.html","../../../projects/dd-lib/src/lib/lib-skeleton/lib-skeleton.component.ts","../../../projects/dd-lib/src/lib/lib-skeleton/lib-skeleton.component.html","../../../projects/dd-lib/src/lib/lib-card/lib-card.component.ts","../../../projects/dd-lib/src/lib/lib-card/lib-card.component.html","../../../projects/dd-lib/src/lib/lib-radio/lib-radio.component.ts","../../../projects/dd-lib/src/lib/lib-radio/lib-radio.component.html","../../../projects/dd-lib/src/lib/lib-calendar/lib-calendar.component.ts","../../../projects/dd-lib/src/lib/lib-calendar/lib-calendar.component.html","../../../projects/dd-lib/src/lib/lib-checkbox/lib-checkbox.component.ts","../../../projects/dd-lib/src/lib/lib-checkbox/lib-checkbox.component.html","../../../projects/dd-lib/src/lib/lib-comment-input/lib-comment-input.component.ts","../../../projects/dd-lib/src/lib/lib-comment-input/lib-comment-input.component.html","../../../projects/dd-lib/src/lib/lib-file-upload/lib-file-upload.component.ts","../../../projects/dd-lib/src/lib/lib-file-upload/lib-file-upload.component.html","../../../projects/dd-lib/src/lib/lib-image-loader/lib-image-loader.component.ts","../../../projects/dd-lib/src/lib/lib-image-loader/lib-image-loader.component.html","../../../projects/dd-lib/src/lib/lib-input/lib-input.component.ts","../../../projects/dd-lib/src/lib/lib-input/lib-input.component.html","../../../projects/dd-lib/src/lib/lib-period/lib-period.component.ts","../../../projects/dd-lib/src/lib/lib-period/lib-period.component.html","../../../projects/dd-lib/src/lib/lib-search-input/lib-search-input.component.ts","../../../projects/dd-lib/src/lib/lib-search-input/lib-search-input.component.html","../../../projects/dd-lib/src/lib/lib-select/lib-select.component.ts","../../../projects/dd-lib/src/lib/lib-select/lib-select.component.html","../../../projects/dd-lib/src/lib/lib-sort/lib-sort.component.ts","../../../projects/dd-lib/src/lib/lib-sort/lib-sort.component.html","../../../projects/dd-lib/src/lib/lib-step/lib-step.component.ts","../../../projects/dd-lib/src/lib/lib-step/lib-step.component.html","../../../projects/dd-lib/src/lib/lib-svg/lib-svg.component.ts","../../../projects/dd-lib/src/lib/lib-svg/lib-svg.component.html","../../../projects/dd-lib/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.ts","../../../projects/dd-lib/src/lib/lib-tabs-fragment/lib-tabs-fragment.component.html","../../../projects/dd-lib/src/lib/lib-textarea/lib-textarea.component.ts","../../../projects/dd-lib/src/lib/lib-textarea/lib-textarea.component.html","../../../projects/dd-lib/src/lib/utils/decorators.ts","../../../projects/dd-lib/src/lib/toast/toast-base/toast-base.component.ts","../../../projects/dd-lib/src/lib/toast/toast-base/toast-base.component.html","../../../projects/dd-lib/src/lib/toast/toast.service.ts","../../../projects/dd-lib/src/lib/toast/toast-placeholder/toast-placeholder.component.ts","../../../projects/dd-lib/src/public-api.ts","../../../projects/dd-lib/src/morozeckiy-dd-lib.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport abstract class LibCommonButtonComponent {\r\n @Input() public width: string | undefined;\r\n @Input() public height: string | undefined;\r\n @Input() public size: 'md' | 'lg' | '' = '';\r\n @Input() public fontSize: number | null | undefined;\r\n @Input() public autofocus = false;\r\n @Input() public btnColor: 'white' | 'green' | 'red' | 'transparent' | 'dark' = 'green';\r\n @Input() public active = false;\r\n @Input() public disabled: boolean | null = false;\r\n\r\n @Input() public showLoader: null | boolean | undefined = false;\r\n @Input() public buttonType: 'submit' | 'reset' | 'button' = 'button';\r\n\r\n @ViewChild('contentData', { static: false }) public content: ElementRef | undefined;\r\n @ViewChild('btn', { static: false }) public button: ElementRef | undefined;\r\n\r\n @Output() public clickEvent = new EventEmitter<null>();\r\n\r\n public onClick(event: Event): void {\r\n if (this.disabled || this.showLoader || this.active) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n } else {\r\n this.clickEvent.emit();\r\n const el = document.activeElement as HTMLElement;\r\n el?.blur();\r\n }\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dd-lib-common-input',\r\n template: '',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibCommonInputTextComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport abstract class LibCommonInputTextComponent {\r\n @ViewChild('searchInput') protected inputSearchElement: ElementRef<HTMLInputElement> | undefined;\r\n @ViewChild('input') protected inputElement: ElementRef<HTMLInputElement> | undefined;\r\n @ViewChild('textarea') protected textAreaElement: ElementRef<HTMLTextAreaElement> | undefined;\r\n @Input() public name: string | undefined;\r\n @Input() public label: string | undefined;\r\n @Input() public formControlName: string | undefined;\r\n @Input() public type: 'password' | 'email' | 'number' | 'text' | undefined;\r\n @Input() public contextClass: string | undefined; // класс разметки для deep стилей\r\n @Input() public minlength: string | number | undefined;\r\n @Input() public maxlength = 700;\r\n @Input() public placeholder?: string;\r\n @Input() public autocomplete?: string;\r\n @Input() public tabIndex?: string | number;\r\n @Input() public readOnly?: boolean;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public commitOnInput = true; // коммитить по input или по change\r\n @Input() public clearable = false;\r\n @Input() public uppercase = false;\r\n @Input() public invalid = false;\r\n @Input() public errorText: string | undefined;\r\n @Output() public cleared = new EventEmitter<void>();\r\n @Output() public focus = new EventEmitter<any>();\r\n @Output() public blur = new EventEmitter<any>();\r\n public get id() {\r\n return this._ID;\r\n }\r\n public focused = false;\r\n public touched = false;\r\n public control: AbstractControl | undefined | null;\r\n public value: string | undefined = '';\r\n public changeDetection: ChangeDetectorRef;\r\n\r\n protected destroyed = false;\r\n protected onTouchedCallback: (() => void) | undefined;\r\n private _ID = '';\r\n\r\n protected constructor(changeDetection: ChangeDetectorRef) {\r\n this.changeDetection = changeDetection;\r\n }\r\n\r\n public handleInput(_e: Event): void {\r\n if (this.commitOnInput) {\r\n this.commit(this.value);\r\n }\r\n }\r\n\r\n public notifyFocusEvent(e: Event): void {\r\n // this.focusManager.notifyFocusMayChanged(this, e.type === 'focus');\r\n }\r\n\r\n // public writeValue(value: string | number | null): void {\r\n // this.value = value === null || value === undefined ? '' : '' + value;\r\n // if (!this.destroyed) {\r\n // this.changeDetection.detectChanges();\r\n // }\r\n // }\r\n\r\n // public clearValue(e: Event): void {\r\n // if (!this.disabled) {\r\n // this.writeValue(null);\r\n // this.commit(null);\r\n // this.cleared.emit();\r\n // this.returnFocus(e);\r\n // }\r\n // e.stopPropagation();\r\n // }\r\n\r\n public handleBlur(): void {\r\n this.focused = false;\r\n if (this.onTouchedCallback) {\r\n this.onTouchedCallback();\r\n }\r\n\r\n this.blur.emit();\r\n this.changeDetection.detectChanges();\r\n }\r\n\r\n public handleFocus(): void {\r\n this.focused = this.touched = true;\r\n if (this.onTouchedCallback) {\r\n this.onTouchedCallback();\r\n }\r\n this.focus.emit();\r\n }\r\n\r\n public returnFocus(e?: Event): void {\r\n if (\r\n this.inputElement &&\r\n this.inputElement.nativeElement &&\r\n (!e || e.target !== this.inputElement.nativeElement)\r\n ) {\r\n this.inputElement.nativeElement.focus();\r\n // HelperService.resetSelection(this.inputElement.nativeElement);\r\n }\r\n }\r\n\r\n public loseFocus(): void {\r\n this.inputElement?.nativeElement.blur();\r\n }\r\n\r\n public forceChange(): void {\r\n if (this.inputElement) {\r\n // this.inputElement.nativeElement.dispatchEvent(HelperService.createEvent('change', true, false));\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.commit = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n if (!this.destroyed) {\r\n this.changeDetection.detectChanges();\r\n }\r\n }\r\n\r\n public handleChange(): void {\r\n if (!this.commitOnInput) {\r\n this.commit(this.value);\r\n }\r\n }\r\n\r\n public commit(_value: string | null | undefined): void {}\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dd-lib-loader',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-loader.component.html',\r\n styleUrl: './lib-loader.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibLoaderComponent {\r\n @Input() public color = '#07b700';\r\n}\r\n","<div class=\"loader\">\n <svg fill=\"none\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_728_22764)\">\n <path\n [attr.stroke]=\"color\"\n d=\"M12 6V3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M6 12H3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n <path\n [attr.stroke]=\"color\"\n d=\"M7.74961 7.74961L5.59961 5.59961\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\" />\n </g>\n <defs>\n <clipPath id=\"clip0_728_22764\">\n <rect fill=\"white\" height=\"24\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n</div>\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n Input,\r\n NO_ERRORS_SCHEMA,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LibCommonButtonComponent } from '../common/lib-common-button';\r\nimport { LibLoaderComponent } from '../lib-loader/lib-loader.component';\r\n\r\n@Component({\r\n selector: 'dd-lib-button',\r\n standalone: true,\r\n templateUrl: './lib-button.component.html',\r\n styleUrls: ['./lib-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, FormsModule, LibLoaderComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n})\r\nexport class LibButtonComponent extends LibCommonButtonComponent implements AfterViewInit {\r\n @Input() public noPadding: boolean | undefined;\r\n @Input() public loaderColor = this.btnColor === 'green' ? '#fff' : '';\r\n\r\n public ngAfterViewInit() {\r\n const btn = this.button?.nativeElement;\r\n if (btn && btn.attributes?.autofocus) {\r\n btn.focus();\r\n }\r\n }\r\n}\r\n","<div (click)=\"onClick($event)\" [ngStyle]=\"{width, height}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [class.active]=\"active\"\r\n [class.disabled]=\"disabled\"\r\n [class.green]=\"btnColor === 'green'\"\r\n [class.loader]=\"showLoader\"\r\n [class.no-padding]=\"noPadding\"\r\n [class.red]=\"btnColor === 'red'\"\r\n [class.transparent]=\"btnColor === 'transparent'\"\r\n [class.white]=\"btnColor === 'white'\"\r\n [class.dark]=\"btnColor === 'dark'\"\r\n [disabled]=\"disabled\"\r\n [ngStyle]=\"{width, height}\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <dd-lib-loader [color]=\"loaderColor\"></dd-lib-loader>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n</ng-template>\r\n","import { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ThemeConstructorService {\r\n public get getTheme(): boolean {\r\n return this.themeConfigurator.theme;\r\n }\r\n public isDarkTheme!: Observable<boolean>;\r\n private readonly renderer: Renderer2;\r\n private themeConfigurator!: ThemeConfigurator;\r\n\r\n constructor(private rendererFactory: RendererFactory2) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n public setThemeConfiguratorRoot(document: Document): void {\r\n this.themeConfigurator = new ThemeConfigurator(document, this.renderer);\r\n this.isDarkTheme = this.themeConfigurator.isDarkThemeObservable;\r\n }\r\n\r\n public changeTheme(darkMode: boolean): void {\r\n this.themeConfigurator.setTheme(darkMode);\r\n }\r\n\r\n public switchTheme(): void {\r\n this.themeConfigurator.switchTheme();\r\n }\r\n}\r\n\r\nexport class ThemeConfigurator {\r\n public set theme(value: boolean) {\r\n localStorage.setItem('theme', value.toString());\r\n this.isDarkTheme$.next(value);\r\n }\r\n\r\n public get theme(): boolean {\r\n return this.isDarkTheme$.getValue();\r\n }\r\n\r\n private isDarkTheme$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n public isDarkThemeObservable: Observable<boolean> = this.isDarkTheme$.asObservable();\r\n\r\n constructor(private document: Document, private renderer: Renderer2) {\r\n this.isDarkThemeObservable.subscribe(ref => this.setTheme(ref));\r\n const theme = localStorage.getItem('theme');\r\n\r\n if (!theme) {\r\n this.theme = false;\r\n } else {\r\n this.theme = localStorage.getItem('theme') !== 'false';\r\n }\r\n }\r\n\r\n public switchTheme(): void {\r\n this.theme = !this.theme;\r\n }\r\n\r\n public setTheme(isDarkMode: boolean): void {\r\n if (!this.document) {\r\n return;\r\n }\r\n const hostClass = isDarkMode ? 'theme-dark' : 'theme-light';\r\n this.renderer.setAttribute(this.document.body, 'class', hostClass);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { format } from 'date-fns';\n\nexport declare type GetDateMethod = () => Date;\n\nexport declare type PeriodName = 'day' | 'week' | 'month' | 'month_3' | 'half_year' | 'year' | 'calendar';\n\nexport declare interface GetDateBy {\n day?: GetDateMethod;\n week?: GetDateMethod;\n month?: GetDateMethod;\n month_3?: GetDateMethod;\n half_year?: GetDateMethod;\n year?: GetDateMethod;\n calendar?: GetDateMethod;\n}\n\nexport declare type DateTypes = keyof GetDateBy;\n\nexport declare interface TimeDate {\n time: string;\n}\n\nexport declare interface CommonDateData {\n title: string;\n active: boolean;\n name: PeriodName;\n visible: string[];\n}\n\nexport declare type PeriodMenuDate = TimeDate & CommonDateData;\n\nexport const DEFAULT_FORMAT = 'yyyy-MM-dd';\nconst DEFAULT_COMMON_DATE_DATA = {\n active: false,\n visible: ['all'],\n};\n\nexport interface IDaysInMonth {\n prevDays: number[];\n days: number[];\n lastDays: number[];\n}\n\n@Injectable({ providedIn: 'root' }) /** сервис для обработки дат */\nexport class DateService {\n private commonDateDataBy: Record<DateTypes, CommonDateData> = {\n day: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за день',\n name: 'day',\n },\n week: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за неделю',\n name: 'week',\n },\n month: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за месяц',\n name: 'month',\n },\n month_3: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за 3 месяца',\n name: 'month_3',\n },\n half_year: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за полгода',\n name: 'half_year',\n },\n year: {\n ...DEFAULT_COMMON_DATE_DATA,\n title: 'за год',\n name: 'year',\n },\n calendar: {\n active: false,\n visible: [],\n name: 'calendar',\n title: '',\n },\n };\n\n private getDateBy: GetDateBy = {\n day: () => new Date(new Date().setDate(new Date().getDate() - 1)),\n week: () => new Date(new Date().setDate(new Date().getDate() - 7)),\n month: () => new Date(new Date().setMonth(new Date().getMonth() - 1)),\n month_3: () => new Date(new Date().setMonth(new Date().getMonth() - 3)),\n half_year: () => new Date(new Date().setMonth(new Date().getMonth() - 6)),\n year: () => new Date(new Date().setFullYear(new Date().getFullYear() - 1)),\n };\n\n public getFormattedDate(dateType: keyof GetDateBy, f: string = DEFAULT_FORMAT): string {\n const date = this.getDateBy[dateType] || this.getDateBy.day;\n return format(date!(), f);\n }\n\n public getPeriodMenuDate(dateType: DateTypes, f?: string): TimeDate & CommonDateData {\n return {\n time: this.getFormattedDate(dateType, f),\n ...this.commonDateDataBy[dateType],\n };\n }\n\n public getPeriodMenuDateRange(dateTypes: DateTypes[], f?: string): PeriodMenuDate[] {\n return dateTypes.map(dateType => this.getPeriodMenuDate(dateType, f));\n }\n\n public getPeriodTime(name: string) {\n const period = this.getPeriodMenu();\n return period.find(p => p.name === name) || period[0];\n }\n\n public getPeriodMenu(activePeriodName: DateTypes = 'month'): PeriodMenuDate[] {\n const arr: DateTypes[] = ['day', 'week', 'month', 'month_3', 'half_year', 'year'];\n\n const periodMenus = this.getPeriodMenuDateRange(arr);\n const activePeriod = periodMenus.find(p => p.name === activePeriodName) || periodMenus[0];\n\n activePeriod.active = true;\n return periodMenus;\n }\n\n public getDaysInMonth(month: number, year: number): IDaysInMonth {\n const date = new Date(year, month, 1);\n const datePrev = new Date(year, month, 0);\n const days = [];\n const prevDays = [];\n while (date.getMonth() === month) {\n days.push(date.getDay());\n date.setDate(date.getDate() + 1);\n }\n\n const needFirstDays = days[0] === 1 ? 0 : days[0] === 0 ? 6 : days[0] - 1;\n const firstDays = [...Array(needFirstDays)].map(() => 0);\n const m = month === 0 ? 12 : month;\n while (datePrev.getMonth() === m - 1 && firstDays.length !== prevDays.length) {\n prevDays.push(datePrev.getDate());\n datePrev.setDate(datePrev.getDate() - 1);\n }\n\n const needLastDays = days[days.length - 1] === 0 ? 0 : 7 - days[days.length - 1];\n const lastDays = [...Array(needLastDays)].map((_d, i) => ++i);\n\n return {\n prevDays: prevDays.reverse(),\n days: days.map((_d, i) => ++i),\n lastDays,\n };\n }\n}\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SvgIconsService {\r\n\r\n private registry = new Map<string, string>();\r\n\r\n registerIcons(icons: any[]): void {\r\n icons.forEach((icon: any) => this.registry.set(icon.name, icon.data));\r\n }\r\n\r\n getIcon(iconName: string): string | undefined {\r\n if (!this.registry.has(iconName)) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `We could not find the icon with name ${ iconName }, did you add it to the icon registry?`,\r\n );\r\n }\r\n\r\n return this.registry.get(iconName);\r\n }\r\n}\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DestroyService extends Subject<void> implements OnDestroy {\r\n public ngOnDestroy(): void {\r\n this.next();\r\n this.complete();\r\n }\r\n}\r\n","import {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest,} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class InterceptorsService implements HttpInterceptor {\r\n\r\n constructor(private router: Router) {\r\n }\r\n\r\n /** перехватчик состояния запросов к api */\r\n public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(req).pipe(\r\n catchError(err => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status >= 500) {\r\n this.router.navigate(['tech-works']);\r\n }\r\n }\r\n throw err;\r\n }),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {AbstractControl, FormGroup, ValidationErrors, Validators} from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ValidatorsService {\r\n constructor() {}\r\n\r\n /** валидатор совпадения пароллей. При использовании указывать поля pswd & confPswd*/\r\n public static passEqual(passwordKey: string, passwordConfirmationKey: string): ValidationErrors {\r\n return (group: FormGroup) => {\r\n const passwordInput = group.controls[passwordKey];\r\n const passwordConfirmationInput = group.controls[passwordConfirmationKey];\r\n if (passwordInput.value !== passwordConfirmationInput.value) {\r\n return passwordConfirmationInput.setErrors({ notEquivalent: true });\r\n } else {\r\n return passwordConfirmationInput.setErrors(null);\r\n }\r\n };\r\n }\r\n\r\n public static passNotEqual(el: AbstractControl): ValidationErrors | null {\r\n if (!el.get('pswd') || !el.get('oldPswd')) {\r\n return null;\r\n }\r\n if (!(el.dirty || el.touched) || el.get('pswd')?.value !== el.get('oldPswd')?.value) {\r\n return null;\r\n }\r\n return {\r\n passNotEqual: 'Старый и новый пароли не должны совпадать',\r\n };\r\n }\r\n\r\n public static wrongLogin(): ValidationErrors {\r\n return {\r\n wrongMail: 'Неверный логин!',\r\n };\r\n }\r\n\r\n public static wrongLoginOrPswd(): ValidationErrors {\r\n return {\r\n wrongLogin: 'Неверный логин или пароль!',\r\n };\r\n }\r\n\r\n public static existLogin(): ValidationErrors {\r\n return {\r\n mailErr: 'Пользователь с таким адресом уже зарегистрирован.',\r\n };\r\n }\r\n\r\n /** валидатор имени*/\r\n public static getNameValid() {\r\n return [Validators.required, Validators.pattern(/^[A-ZА-Яa-zа-яЁё0-9- .]+$/), Validators.maxLength(35)];\r\n }\r\n\r\n /** валидатор email*/\r\n public static getMailValid(el?: AbstractControl): Observable<ValidationErrors | null> {\r\n const pattern =\r\n /^([A-Za-z0-9+_-]+\\.)*[A-Za-z0-9+_-]+@[A-Za-z0-9+_-]+(\\.[A-Za-z0-9+_-]+)*\\.[A-Za-z]{2,6}$/;\r\n if (!el?.value) {\r\n return of({\r\n required: 'Это поле обязательно для заполнения',\r\n });\r\n } else if (!pattern.test(el.value) && el.value !== 'test_admin' && el.value !== 'admin') {\r\n return of({\r\n email: 'Некорректно введены данные',\r\n });\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n}\r\n","import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport {Inject, Injectable} from '@angular/core';\r\n\r\nimport {Observable, of} from 'rxjs';\r\nimport {switchMap} from 'rxjs/operators';\r\n\r\nexport interface HttpIResponse<T> {\r\n error: string;\r\n errorCode: string;\r\n message: null | string;\r\n redirect: null | string;\r\n systemMessage: null | string;\r\n result: 'OK' | 'ERROR' | 'FAIL';\r\n value: T;\r\n}\r\n\r\ntype PayloadMethod = 'post' | 'put' | 'get' | 'delete';\r\n\r\n@Injectable({providedIn: 'root'}) /** сервис обработки запросов к api */\r\nexport class FetcherService {\r\n // private apiUrl = 'api';\r\n private readonly payloadMethods: string[] = ['post', 'put'];\r\n\r\n constructor(private http: HttpClient, @Inject('apiUrl') private apiUrl: string = 'api') {\r\n }\r\n\r\n public get<R>(urlParts: string, options: any = {}, urlId?: string | number): Observable<R> {\r\n urlParts = urlId ? urlParts.replace(/{[^}]+}/g, urlId.toString()) : urlParts;\r\n const url: string = urlParts ? [this.apiUrl].concat(urlParts).join('/') : this.apiUrl;\r\n let params = new HttpParams();\r\n for (const key of Object.keys(options)) {\r\n if (options[key] != null) {\r\n if (options[key]?.length) {\r\n options[key].forEach((f: string | number | boolean) => {\r\n params = params.append(key, f);\r\n });\r\n } else {\r\n params = params.append(key, options[key]);\r\n }\r\n }\r\n }\r\n return this.request('get', url, {params});\r\n }\r\n\r\n public post<R>(urlParts: string[] | string, data?: any, options: any = {}): Observable<R> {\r\n const url: string = [this.apiUrl].concat(urlParts).join('/');\r\n if (options?.params) {\r\n let params = new HttpParams();\r\n for (const key of Object.keys(options.params)) {\r\n if (options.params[key] != null) {\r\n params = params.append(key, options.params[key]);\r\n }\r\n }\r\n options.params = params;\r\n }\r\n return this.request('post', url, options, data);\r\n }\r\n\r\n public put<R>(urlParts: string[] | string, options: any = {}, data: any): Observable<any> {\r\n const url: string = [this.apiUrl].concat(urlParts).join('/');\r\n return this.request('put', url, options, data);\r\n }\r\n\r\n public delete<R>(urlParts: string[] | string, options: any = {}): Observable<R> {\r\n const url: string = [this.apiUrl].concat(urlParts).join('/');\r\n return this.request('delete', url, options);\r\n }\r\n\r\n /** перегоняем объкты в форм дату*/\r\n public createFormData(form: { [x: string]: any }) {\r\n const formData: FormData = new FormData();\r\n Object.keys(form).forEach((item: string) => {\r\n formData.append(item, form[item]);\r\n });\r\n return formData;\r\n }\r\n\r\n private request<R>(method: PayloadMethod, url: string, options: any, data?: any): Observable<R> {\r\n if (options.headers) {\r\n options.headers = new HttpHeaders(options.headers);\r\n }\r\n let request: Observable<any>;\r\n options.withCredentials = true;\r\n\r\n if (this.payloadMethods.includes(method)) {\r\n request = this.http[method as 'post' | 'put'](url, data, options);\r\n } else {\r\n request = (this.http as any)[method](url, options);\r\n }\r\n\r\n return request.pipe(\r\n switchMap((response: any) => {\r\n if (response && response.error) {\r\n console.error(`API error with status: ${response.status}`);\r\n console.error(response.error);\r\n }\r\n return of(response);\r\n }),\r\n // catchError((error: any) => {\r\n // console.timeEnd('Время выполнения - ' + url);\r\n // if (error.status !== 403) {\r\n // console.log(error);\r\n // }\r\n // return of(error);\r\n // }),\r\n );\r\n }\r\n}\r\n","export function compare(field?: any, order?: number, ...args: undefined[]): any {\n let len = args.length;\n if (len === 0) {\n return (a: number, b: number) => (a < b && -1) || (a > b && 1) || 0;\n }\n if (len === 1) {\n switch (typeof field) {\n case 'number':\n return field < 0\n ? (a: number, b: number) => (a < b && 1) || (a > b && -1) || 0\n : (a: number, b: number) => (a < b && -1) || (a > b && 1) || 0;\n case 'string':\n return (a: { [x: string]: string }, b: { [x: string]: string }) =>\n (a[field] ? a[field].toLowerCase() : '' < b[field] ? b[field].toLowerCase() : '' && -1) ||\n (a[field] ? a[field].toLowerCase() : '' > b[field] ? b[field].toLowerCase() : '' && 1) ||\n 0;\n }\n }\n if (field && len === 2 && typeof order === 'number') {\n return order < 0\n ? (\n a: { [x: string]: any },\n b: {\n [x: string]: any;\n },\n ) => (b[field] || '').toLowerCase().localeCompare((a[field] || '').toLowerCase())\n : (\n a: { [x: string]: any },\n b: {\n [x: string]: any;\n },\n ) => (a[field] || '').toLowerCase().localeCompare((b[field] || '').toLowerCase());\n }\n let fields: any[];\n let orders: any[];\n if (typeof field === 'object') {\n fields = Object.getOwnPropertyNames(field);\n orders = fields.map(key => field[key]);\n len = fields.length;\n } else {\n fields = new Array(len);\n orders = new Array(len);\n for (let i = len; i--; ) {\n fields[i] = args[i];\n orders[i] = 1;\n }\n }\n return (\n a: { [x: string]: { toLowerCase: () => number } },\n b: { [x: string]: { toLowerCase: () => number } },\n ) => {\n for (let i = 0; i < len; i++) {\n if (a[fields[i]].toLowerCase() < b[fields[i]].toLowerCase()) {\n return orders[i];\n }\n if (a[fields[i]].toLowerCase() > b[fields[i]].toLowerCase()) {\n return -orders[i];\n }\n }\n return 0;\n };\n}\n\n// export function parseDate(value) {\n// if (value && value.length === 6) {\n// const year = parseInt(value.slice(2, 6), 10);\n// const month = parseInt(value.slice(0, 2), 10) - 1;\n// return new Date(year, month);\n// }\n// }\n\nexport function rndRgb() {\n const x = Math.floor(Math.random() * 256);\n const y = Math.floor(Math.random() * 256);\n const z = Math.floor(Math.random() * 256);\n return 'rgb(' + x + ',' + y + ',' + z + ')';\n}\n\nexport function setMinDate() {\n let curYear = new Date().getFullYear();\n let curMonth = new Date().getMonth();\n const curDay = new Date().getDate();\n if (curMonth < 6) {\n curYear -= 1;\n curMonth = curMonth - 6 + 12;\n } else {\n curMonth -= 6;\n }\n return new Date(curYear, curMonth, curDay);\n}\n\nexport function isNil(value: any): value is null | undefined {\n return value === null || typeof value === 'undefined';\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nexport function isObject(value: any): boolean {\n return value !== null && typeof value === 'object';\n}\n\nexport function getProperty(value: { [key: string]: any }, key: string): any {\n if (isNil(value) || !isObject(value)) {\n return undefined;\n }\n\n const keys: string[] = key.split('.');\n let result: any = value[keys.shift()!];\n\n for (const k of keys) {\n if (isNil(result) || !isObject(result)) {\n return undefined;\n }\n\n result = result[k];\n }\n\n return result;\n}\n\nexport function isMobile() {\n return Android() || BlackBerry() || iOS() || Opera() || Windows();\n}\n\nexport function Android() {\n return !!navigator.userAgent.match(/Android/i);\n}\n\nexport function BlackBerry() {\n return !!navigator.userAgent.match(/BlackBerry/i);\n}\n\nexport function iOS() {\n return !!navigator.userAgent.match(/iPhone|iPad|iPod/i);\n}\n\nexport function Opera() {\n return !!navigator.userAgent.match(/Opera Mini/i);\n}\n\nexport function Windows() {\n return !!navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i);\n}\n\nexport function dataURLtoFile(dataUrl: string, filename: string) {\n const arr = dataUrl.split(',');\n const mime = (arr as any)[0].match(/:(.*?);/)[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n return new File([u8arr], filename, { type: mime });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { getProperty } from '../tools';\n\n@Pipe({\n name: 'filter',\n standalone: true,\n})\nexport class FilterPipe implements PipeTransform {\n public transform(value: any[], args?: number): any {\n if (value && value.length) {\n return value.filter((item, i) => i === args);\n }\n }\n}\n\n@Pipe({\n name: 'filterByKey',\n standalone: true,\n})\nexport class FilterByKeyPipe<T> implements PipeTransform {\n public transform(arr: any, fn: any): any[] {\n if (!arr?.length) {\n return arr;\n }\n if (typeof fn === 'function') {\n return arr.filter(fn);\n } else if (fn?.length) {\n const [key, value] = fn;\n return arr.filter((item: any) => getProperty(item, key) === value);\n } else if (fn) {\n return arr.filter((item: any) => item === fn);\n } else {\n return arr;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { log } from '@angular-devkit/build-angular/src/builders/ssr-dev-server';\n\n@Pipe({\n name: 'highlight',\n standalone: true,\n})\nexport class HighlightPipe implements PipeTransform {\n public transform(name: string, val?: string): string {\n if (val) {\n const re = new RegExp(val, 'gi');\n return name.toString().replace(re, `<span style=\"color: #07B700\">$&</span>`);\n } else {\n return name;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {\n DomSanitizer,\n SafeHtml,\n SafeResourceUrl,\n SafeScript,\n SafeStyle,\n SafeUrl,\n} from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe',\n standalone: true,\n})\nexport class SafePipe implements PipeTransform {\n constructor(protected sanitizer: DomSanitizer) {}\n\n public transform(\n value: string,\n type: string,\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n throw new Error(`Invalid safe type specified: ${type}`);\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'reverse',\n standalone: true,\n})\nexport class ReversePipe implements PipeTransform {\n public transform(value: any[], sort: string): any[] {\n return sort === 'asc' ? value : value.reverse();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filterTabs',\r\n standalone: true,\r\n})\r\nexport class FilterTabsPipe implements PipeTransform {\r\n public transform(arr: any[] | null, tab?: number | null | undefined): any[] {\r\n if (arr) {\r\n return arr.filter(v => {\r\n if (tab === 0) {\r\n return [1, 2].indexOf(v.status.id) !== -1;\r\n }\r\n if (tab === 1) {\r\n return [3, 4].indexOf(v.status.id) !== -1;\r\n }\r\n if (tab === 2) {\r\n return [6].indexOf(v.status.id) !== -1;\r\n }\r\n return arr;\r\n });\r\n }\r\n return [];\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[ddAutoHeight]',\n standalone: true,\n})\nexport class AutoHeightDirective implements OnInit {\n // уровень до родителя\n @Input() public ddAutoHeight: number | undefined;\n\n constructor(private el: ElementRef, private rdr: Renderer2) {}\n\n public ngOnInit(): void {\n setTimeout(() => {\n if (this.ddAutoHeight) {\n let i = 1;\n let parent: any;\n while (i <= this.ddAutoHeight) {\n parent = parent ? parent.parentNode : this.el.nativeElement.parentNode;\n i++;\n }\n const height = parent.clientHeight;\n if (height) {\n this.rdr.setStyle(this.el.nativeElement, 'height', height + 'px');\n }\n }\n }, 0);\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { DecimalPipe } from '@angular/common';\r\n\r\n@Directive({\r\n selector: '[ddCounter]',\r\n standalone: true,\r\n})\r\nexport class CounterDirective implements OnChanges {\r\n @Input() public ddCounter: number | undefined;\r\n @Input() public needPositive = false;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n public ngOnChanges(change: SimpleChanges): void {\r\n this.el.nativeElement.innerHTML = 0;\r\n let interval: any;\r\n if (change['ddCounter']?.currentValue) {\r\n /** получаем шаг для инкремента делением конечного числа на 20*/\r\n let step = Math.floor(change['ddCounter'].currentValue / 20);\r\n /** бывают маленькие и отрицательные числа*/\r\n step = step >= 1 || step <= -1 ? step : 1;\r\n let x = 0;\r\n if (change['ddCounter'].currentValue > 0) {\r\n interval = setInterval(() => {\r\n if (x + step >= change['ddCounter'].currentValue) {\r\n /** Если шаг увеличивает значение больше чем исходные число, приравниваем к исходнику и заканчиваем*/\r\n const transformNumberFirst = new DecimalPipe('ru').transform(change['ddCounter'].currentValue);\r\n this.el.nativeElement.innerHTML = this.needPositive\r\n ? '+' + transformNumberFirst\r\n : transformNumberFirst;\r\n clearInterval(interval);\r\n return;\r\n }\r\n x += step;\r\n const transformNumber = new DecimalPipe('ru').transform(x);\r\n this.el.nativeElement.innerHTML = this.needPositive ? '+' + transformNumber : transformNumber;\r\n }, 1);\r\n } else if (change['ddCounter'].currentValue < 0) {\r\n interval = setInterval(() => {\r\n if (x - step <= change['ddCounter'].currentValue) {\r\n this.el.nativeElement.innerHTML = new DecimalPipe('ru').transform(change['ddCounter'].currentValue);\r\n clearInterval(interval);\r\n return;\r\n }\r\n x += step;\r\n this.el.nativeElement.innerHTML = new DecimalPipe('ru').transform(x);\r\n }, 10);\r\n }\r\n }\r\n setTimeout(() => {\r\n clearInterval(interval);\r\n }, 4000);\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ddDeclension]',\r\n standalone: true,\r\n})\r\nexport class DeclensionDirective implements OnInit {\r\n @Input() public ddDeclension!: string[];\r\n @Input() public count = 0;\r\n @Input() public whitespace = true;\r\n @Input() public needCount = true;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n public ngOnInit(): void {\r\n const declension = { 1: this.ddDeclension[0], 2: this.ddDeclension[1], 5: this.ddDeclension[2] };\r\n let x = this.count >= 10 && this.count <= 20 ? 5 : this.count % 10;\r\n if (this.count > 999) {\r\n x = this.count % 100;\r\n }\r\n const keys: [1, 2, 5] = (Object.keys(declension).map(Number) as [1, 2, 5]).sort();\r\n const text = !x\r\n ? `${declension[keys.pop() || 1]}`\r\n : keys.reduce((result, key) => (x >= +key ? declension[key] : result), '');\r\n this.el.nativeElement.innerHTML = `${this.whitespace ? '&nbsp;' : ''}${\r\n this.needCount ? this.count : ''\r\n } ${text}`;\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ddClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Input() public elements!: string[] | undefined;\r\n @Output() public ddClickOutside = new EventEmitter();\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n public onClick(targetElement: Event) {\r\n let clickedElemInside = false;\r\n if (this.elements?.length) {\r\n this.elements.forEach(el => {\r\n if (el) {\r\n const elem = document.getElementById(el) as any;\r\n if (elem && !clickedElemInside) {\r\n clickedElemInside = elem.contains(targetElement.target);\r\n }\r\n }\r\n });\r\n }\r\n\r\n const clickedInside = this.el.nativeElement.contains(targetElement.target);\r\n\r\n if (!clickedElemInside) {\r\n this.ddClickOutside.emit(clickedInside);\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[ddResizeTextarea]',\n standalone: true,\n})\nexport class ResizeTextareaDirective {\n constructor(private el: ElementRef, private rdr: Renderer2) {}\n\n @HostListener('input', ['$event'])\n public onKeyup(): void {\n const h = this.el.nativeElement.scrollHeight;\n this.rdr.setStyle(this.el.nativeElement, 'max-height', h + 'px');\n this.rdr.setStyle(this.el.nativeElement, 'height', h + 'px');\n }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: true,\r\n selector: '[ddTriangle]',\r\n})\r\nexport class TriangleDirective implements OnInit {\r\n @Input() public width = 16;\r\n @Input() public height = 16;\r\n @Input() public fill = '#fff';\r\n @Input() public stroke = '#fff';\r\n @Input() public points = '0,8 4,0 8,8';\r\n @Input() public drTriangle: 'top' | 'left' | 'right' | 'bottom' | 'top-left' = 'left';\r\n\r\n constructor(private rdr: Renderer2, private el: ElementRef) {}\r\n\r\n public ngOnInit(): void {\r\n setTimeout(() => {\r\n const option = this.el.nativeElement.getBoundingClientRect();\r\n let left = option.width / 2 - this.width / 2;\r\n let top = -this.height / 2;\r\n if (this.drTriangle === 'left') {\r\n this.points = '8,0 0,8 8,16';\r\n left = -this.width / 2;\r\n top = option.height / 2 - this.width / 2;\r\n }\r\n if (this.drTriangle === 'right') {\r\n this.points = '8,0 16,8 8,16';\r\n left = option.width - this.width / 2 - 2;\r\n top = option.height / 2 - this.width;\r\n }\r\n if (this.drTriangle === 'bottom') {\r\n this.points = '16,8 8,16 0,8';\r\n top = option.height - this.height / 2 - 2;\r\n }\r\n if (this.drTriangle === 'top-left') {\r\n left = 46 - this.width / 2;\r\n }\r\n const svg = this.rdr.createElement('svg', 'svg');\r\n this.rdr.setAttribute(svg, 'width', `${this.width}`);\r\n this.rdr.setAttribute(svg, 'height', `${this.height}`);\r\n this.rdr.setStyle(svg, 'width', `${this.width}px`);\r\n this.rdr.setStyle(svg, 'height', `${this.height}px`);\r\n this.rdr.setStyle(svg, 'position', 'absolute');\r\n this.rdr.setStyle(svg, 'fill', this.fill);\r\n this.rdr.setStyle(svg, 'stroke', this.stroke);\r\n this.rdr.setStyle(svg, 'top', `${top}px`);\r\n this.rdr.setStyle(svg, 'left', `${left}px`);\r\n this.rdr.setStyle(svg, 'box-shadow', `0 14px 64px -4px #18274B0F, 0px 8px 22px -6px #18274B0F`);\r\n const polyline = this.rdr.createElement('polyline', 'svg');\r\n this.rdr.setAttribute(polyline, 'points', this.points);\r\n this.rdr.appendChild(svg, polyline);\r\n this.rdr.appendChild(this.el.nativeElement, svg);\r\n });\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, Inject, InjectionToken, TemplateRef} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TriangleDirective} from \"../directives/triangle.directive\";\r\n\r\nexport type TooltipData = string | TemplateRef<void>;\r\nexport const TOOLTIP_DATA = new InjectionToken<TooltipData>('Подсказка');\r\n\r\n@Component({\r\n selector: 'dd-tooltip',\r\n standalone: true,\r\n imports: [CommonModule, TriangleDirective],\r\n templateUrl: './tooltip.component.html',\r\n styleUrl: './tooltip.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TooltipComponent {\r\n public get asString(): string | false {\r\n return typeof this.tooltipData === 'string' ? this.tooltipData : false;\r\n }\r\n\r\n public get asTemplate(): TemplateRef<void> | false {\r\n return this.tooltipData instanceof TemplateRef ? this.tooltipData : false;\r\n }\r\n\r\n constructor(@Inject(TOOLTIP_DATA) public tooltipData: TooltipData) {\r\n }\r\n}\r\n","<div class=\"tooltip-container\">\r\n @if (asString; as string) {\r\n {{ string }}\r\n } @if (asTemplate; as template) {\r\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\r\n }\r\n <svg class=\"tooltip-container__triangle\" width=\"16\" height=\"16\">\r\n <polyline points=\"8,0 0,8 8,16\"></polyline>\r\n </svg>\r\n</div>\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Injector,\r\n Input,\r\n OnDestroy,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { TOOLTIP_DATA, TooltipComponent } from './tooltip.component';\r\n\r\n@Directive({\r\n selector: '[ddTooltip]',\r\n standalone: true,\r\n})\r\nexport class TooltipDirective implements OnDestroy {\r\n @Input() public ddTooltip!: string | TemplateRef<void>;\r\n @Input() public withClick = false;\r\n private overlayRef: OverlayRef | null = null;\r\n\r\n constructor(\r\n private element: ElementRef,\r\n private overlay: Overlay,\r\n private viewContainer: ViewContainerRef,\r\n private rdr: Renderer2,\r\n ) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n public onClick(targetElement: Event) {\r\n const clickedInside = this.element.nativeElement.contains(targetElement.target);\r\n\r\n if (!clickedInside) {\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click')\r\n public showTooltipOnClick(): void {\r\n const overlay = document.getElementsByClassName('cdk-overlay-container')?.[0];\r\n if (overlay && overlay.firstChild) {\r\n overlay.removeChild(overlay.firstChild);\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n return;\r\n }\r\n\r\n this.attachTooltip();\r\n }\r\n\r\n @HostListener('mouseenter')\r\n @HostListener('focus')\r\n public showTooltip(): void {\r\n if (this.withClick) {\r\n return;\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n return;\r\n }\r\n\r\n this.attachTooltip();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n @HostListener('blur')\r\n public hideTooltip(): void {\r\n if (this.withClick) {\r\n return;\r\n }\r\n if (this.overlayRef?.hasAttached() === true) {\r\n this.overlayRef?.detach();\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.overlayRef?.dispose();\r\n }\r\n\r\n private attachTooltip(): void {\r\n if (this.overlayRef === null) {\r\n const positionStrategy = this.getPositionStrategy();\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: TOOLTIP_DATA,\r\n useValue: this.ddTooltip,\r\n },\r\n ],\r\n });\r\n const component = new ComponentPortal(TooltipComponent, this.viewContainer, injector);\r\n this.overlayRef.attach(component);\r\n }\r\n\r\n private getPositionStrategy(): PositionStrategy {\r\n return this.overlay\r\n .position()\r\n .flexibleConnectedTo(this.element)\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n panelClass: 'right',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n panelClass: 'bottom',\r\n },\r\n {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n panelClass: 'top',\r\n },\r\n {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n panelClass: 'left',\r\n },\r\n ]);\r\n }\r\n}\r\n","import { ComponentRef } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { OverlayRef } from '@angular/cdk/overlay';\r\n\r\nexport class DDDialogRef<T> {\r\n public componentRef: ComponentRef<T> | undefined;\r\n\r\n /**\r\n * Stream of backdrop click events.\r\n * */\r\n public readonly onBackdropClick: Observable<MouseEvent>;\r\n protected onClose$: Subject<any> = new Subject();\r\n public readonly onClose: Observable<any> = this.onClose$.asObservable();\r\n\r\n constructor(protected overlayRef: OverlayRef) {\r\n this.onBackdropClick = this.overlayRef.backdropClick();\r\n }\r\n\r\n /**\r\n * Hides dialog.\r\n * */\r\n public close(res?: any) {\r\n this.overlayRef.detach();\r\n this.overlayRef.dispose();\r\n this.onClose$.next(res);\r\n this.onClose$.complete();\r\n }\r\n}\r\n","import { InjectionToken, ViewContainerRef } from '@angular/core';\r\n\r\nexport const DIALOG_CONFIG = new InjectionToken<DialogConfig>('Default options');\r\n\r\nexport class DialogConfig<D = any> {\r\n public hasBackdrop = true;\r\n public backdropClass = 'modal-overlay';\r\n public dialogClass = '';\r\n public closeOnBackdropClick = true;\r\n public closeOnEsc = true;\r\n public hasScroll = false;\r\n public autoFocus = true;\r\n public viewContainerRef: ViewContainerRef | undefined;\r\n public context: D | undefined;\r\n\r\n constructor(config: Partial<DialogConfig>) {\r\n Object.assign(this, config);\r\n }\r\n}\r\n","import { Component, ComponentRef, ElementRef, EmbeddedViewRef, ViewChild } from '@angular/core';\r\nimport { CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport { DialogConfig } from './dialog-config';\r\nimport { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';\r\n\r\n@Component({\r\n selector: 'dd-dialog-container',\r\n standalone: true,\r\n imports: [CdkPortalOutlet],\r\n template: '<ng-template cdkPortalOutlet></ng-template>',\r\n})\r\nexport class DialogContainerComponent {\r\n @ViewChild(CdkPortalOutlet, { static: true }) public portalOutlet: CdkPortalOutlet | undefined;\r\n\r\n protected focusTrap: FocusTrap | undefined;\r\n\r\n constructor(\r\n protected config: DialogConfig,\r\n protected elementRef: ElementRef,\r\n protected focusTrapFactory: FocusTrapFactory,\r\n ) {}\r\n\r\n public ngOnInit(): void {\r\n if (this.config.autoFocus) {\r\n this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);\r\n // this.focusTrap.blurPreviouslyFocusedElement();\r\n this.focusTrap.focusInitialElement();\r\n }\r\n }\r\n\r\n public attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n return this.portalOutlet!.attachComponentPortal(portal);\r\n }\r\n\r\n public attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n return this.portalOutlet!.attachTemplatePortal(portal);\r\n }\r\n}\r\n","import {\r\n ComponentFactoryResolver,\r\n Inject,\r\n Injectable,\r\n Injector,\r\n TemplateRef,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { DDDialogRef as DialogRef } from './dialog-ref';\r\nimport { DIALOG_CONFIG, DialogConfig } from './dialog-config';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport {\r\n GlobalPositionStrategy,\r\n Overlay,\r\n OverlayRef,\r\n PositionStrategy,\r\n ScrollStrategy,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';\r\nimport { DialogContainerComponent } from './dialog-container.component';\r\nimport { fromEvent } from 'rxjs';\r\nimport { filter, takeUntil } from 'rxjs/operators';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DialogService {\r\n public dialogRef: DialogRef<any> | undefined;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) protected document: Document,\r\n @Inject(DIALOG_CONFIG) protected globalConfig: DialogConfig,\r\n protected overlay: Overlay,\r\n protected injector: Injector,\r\n protected cfr: ComponentFactoryResolver,\r\n ) {}\r\n\r\n public open<T, R = any>(\r\n content: Type<T> | TemplateRef<T>,\r\n userConfig: Partial<DialogConfig<Partial<R> | string>> = {},\r\n ): DialogRef<T> {\r\n const config = new DialogConfig({ ...this.globalConfig, ...userConfig });\r\n const overlayRef = this.createOverlay(config);\r\n const dialogRef = new DialogRef<T>(overlayRef);\r\n this.dialogRef = dialogRef;\r\n const container = this.createContainer(config, overlayRef);\r\n this.createContent(config, content, container, dialogRef);\r\n\r\n this.registerCloseListeners(config, overlayRef, dialogRef);\r\n\r\n return dialogRef;\r\n }\r\n\r\n protected createOverlay(config: DialogConfig): OverlayRef {\r\n const positionStrategy = this.createPositionStrategy();\r\n const scrollStrategy = this.createScrollStrategy(config.hasScroll);\r\n\r\n return this.overlay.create({\r\n positionStrategy,\r\n scrollStrategy,\r\n hasBackdrop: config.hasBackdrop,\r\n backdropClass: config.backdropClass,\r\n panelClass: config.dialogClass,\r\n });\r\n }\r\n\r\n protected createPositionStrategy(): PositionStrategy {\r\n return new GlobalPositionStrategy().centerVertically().centerHorizontally();\r\n }\r\n\r\n protected createScrollStrategy(hasScroll: boolean): ScrollStrategy {\r\n if (hasScroll) {\r\n return this.overlay.scrollStrategies.noop();\r\n } else {\r\n return this.overlay.scrollStrategies.block();\r\n }\r\n }\r\n\r\n protected createContainer(config: DialogConfig, overlayRef: OverlayRef): DialogContainerComponent {\r\n const injector = new PortalInjector(this.createInjector(config), new WeakMap([[DialogConfig, config]]));\r\n const containerPortal = new ComponentPortal(DialogContainerComponent, null, injector, this.cfr);\r\n const containerRef = overlayRef.attach(containerPortal);\r\n return containerRef.instance;\r\n }\r\n\r\n protected createInjector(config: DialogConfig): Injector {\r\n return (config.viewContainerRef && config.viewContainerRef.injector) || this.injector;\r\n }\r\n\r\n protected createContent<T>(\r\n config: DialogConfig,\r\n content: Type<T> | TemplateRef<T>,\r\n container: DialogContainerComponent,\r\n dialogRef: DialogRef<T>,\r\n ) {\r\n if (content instanceof TemplateRef) {\r\n const portal = this.createTemplatePortal(config, content, dialogRef);\r\n container.attachTemplatePortal(portal);\r\n } else {\r\n const portal = this.createComponentPortal(config, content, dialogRef);\r\n dialogRef.componentRef = container.attachComponentPortal(portal);\r\n\r\n if (config.context) {\r\n Object.assign(dialogRef.componentRef.instance as any, { ...config.context });\r\n }\r\n }\r\n }\r\n\r\n protected createTemplatePortal<T>(\r\n config: DialogConfig,\r\n content: TemplateRef<T>,\r\n dialogRef: DialogRef<T>,\r\n ): TemplatePortal {\r\n return new TemplatePortal(\r\n content,\r\n {} as ViewContainerRef,\r\n { $implicit: config.context, dialogRef } as any,\r\n );\r\n }\r\n\r\n protected createComponentPortal<T>(\r\n config: DialogConfig,\r\n content: Type<T>,\r\n dialogRef: DialogRef<T>,\r\n ): ComponentPortal<T> {\r\n const injector = this.createInjector(config);\r\n const portalInjector = new PortalInjector(injector, new WeakMap([[DialogRef, dialogRef]]));\r\n return new ComponentPortal(content, config.viewContainerRef, portalInjector);\r\n }\r\n\r\n protected registerCloseListeners<T>(config: DialogConfig, overlayRef: OverlayRef, dialogRef: DialogRef<T>) {\r\n if (config.closeOnBackdropClick) {\r\n overlayRef.backdropClick().subscribe(() => dialogRef.close());\r\n }\r\n\r\n if (config.closeOnEsc) {\r\n fromEvent<KeyboardEvent>(this.document, 'keyup')\r\n .pipe(\r\n filter((event: KeyboardEvent) => event.keyCode === 27),\r\n takeUntil(dialogRef.onClose),\r\n )\r\n .subscribe(() => dialogRef.close());\r\n }\r\n }\r\n}\r\n","// services\r\nexport * from './services/theme-constructor.service'\r\nexport * from './services/date.service'\r\nexport * from './services/svg-icons.service'\r\nexport * from './services/destroy.service'\r\nexport * from './services/interceptors.service'\r\nexport * from './services/validators.service'\r\nexport * from './services/fetcher.service'\r\n// pipes\r\nexport * from './pipes/filter.pipe'\r\nexport * from './pipes/highlight.pipe'\r\nexport * from './pipes/safe.pipe'\r\nexport * from './pipes/reverse.pipe'\r\nexport * from './pipes/filter-tabs.pipe'\r\n\r\n// directives\r\nexport * from './directives/auto-height.directive'\r\nexport * from './directives/counter.directive'\r\nexport * from './directives/declension.directive'\r\nexport * from './directives/click-outside.directive'\r\nexport * from './directives/resize-textarea.directive'\r\nexport * from './tooltip/tooltip.directive'\r\nexport * from './tooltip/tooltip.component'\r\n// export * from './directives/triangle.directive'\r\n// dialog\r\n\r\nexport * from './dialog/dialog.service'\r\n","import {ChangeDetectionStrategy, Component, ElementRef, Inject, Input, Optional, Renderer2} from '@angular/core';\r\nimport {SvgIconsService} from \"../core\";\r\nimport {DOCUMENT} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'dd-lib-svg-icon',\r\n standalone: true,\r\n imports: [],\r\n template: '<ng-content></ng-content>',\r\n styleUrl: './lib-svg-icon.component.css',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n\r\n})\r\nexport class LibSvgIconComponent {\r\n @Input() public width: string | undefined;\r\n @Input() public height: string | undefined;\r\n @Input() public color: string | undefined;\r\n\r\n @Input()\r\n public set icon(iconName: string) {\r\n const svgData = this.svgIconRegistry.getIcon(iconName);\r\n if (this.svgIcon) {\r\n this.el.nativeElement.removeChild(this.svgIcon);\r\n }\r\n\r\n if (svgData) {\r\n this.svgIcon = this.svgElementFromString(svgData);\r\n if (this.width) {\r\n this.rdr.setStyle(this.svgIcon, 'width', this.width)\r\n }\r\n if ( this.height) {\r\n }\r\n if (this.color) {\r\n this.rdr.setStyle(this.svgIcon, 'fill', this.color)\r\n }\r\n\r\n\r\n this.el.nativeElement.appendChild(this.svgIcon);\r\n }\r\n }\r\n\r\n private svgIcon: SVGElement | undefined;\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private rdr: Renderer2,\r\n private svgIconRegistry: SvgIconsService,\r\n @Optional() @Inject(DOCUMENT) private document: any,\r\n ) {\r\n }\r\n\r\n private svgElementFromString(svgContent: string): SVGElement {\r\n const div = this.document.createElement('DIV');\r\n div.innerHTML = svgContent;\r\n\r\n return div.querySelector('svg') || this.document.createElementNS('http://www.w3.org/200/svg', 'path');\r\n }\r\n}\r\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {SafeHtml} from '@angular/platform-browser';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-accordion',\r\n standalone: true,\r\n imports: [NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-accordion.component.html',\r\n styleUrl: './lib-accordion.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibAccordionComponent {\r\n @Input() public accTitle: string | SafeHtml | undefined;\r\n public showAccordionContent: boolean | undefined;\r\n}\r\n","<div class=\"accordion\">\r\n <div (click)=\"showAccordionContent = !showAccordionContent\" class=\"accordion__header\">\r\n @if (accTitle) {\r\n <div [innerHTML]=\"accTitle\" class=\"accordion__title\"></div>\r\n }\r\n <div>\r\n <dd-lib-svg-icon class=\"cup\" icon=\"{{ showAccordionContent ? 'minus' : 'plus' }}\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n @if (showAccordionContent) {\r\n <div class=\"mt-8\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>\r\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\r\nimport {Location, NgOptimizedImage} from '@angular/common';\r\nimport {Router} from '@angular/router';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-back-button',\r\n standalone: true,\r\n imports: [NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-back-button.component.html',\r\n styleUrl: './lib-back-button.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibBackButtonComponent {\r\n @Input() public backTitle = 'Назад';\r\n @Input() public rout: string | undefined;\r\n\r\n constructor(private location: Location, private router: Router) {}\r\n\r\n public onBack(): void {\r\n if (this.rout) {\r\n this.router.navigate([this.rout]);\r\n } else {\r\n try {\r\n this.location.back();\r\n } catch (err) {\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n }\r\n}\r\n","<div (click)=\"onBack()\" class=\"mr-8 align-center cup d-inline-flex\">\r\n <dd-lib-svg-icon icon=\"back_arrow\"></dd-lib-svg-icon>\r\n <div class=\"b3-title gray cup\">{{ backTitle }}</div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n EventEmitter,\r\n Input,\r\n NO_ERRORS_SCHEMA,\r\n Output,\r\n} from '@angular/core';\r\nimport {CommonModule, NgOptimizedImage} from '@angular/common';\r\nimport {LibCommonButtonComponent} from '../common/lib-common-button';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {TooltipData, TooltipDirective} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-filter-button',\r\n standalone: true,\r\n templateUrl: './lib-filter-button.component.html',\r\n styleUrl: './lib-filter-button.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, FormsModule, NgOptimizedImage, TooltipDirective],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n})\r\nexport class LibFilterButtonComponent extends LibCommonButtonComponent {\r\n // public onClick(event: Event): void {\r\n // super.onClick(event);\r\n // // this.active = !this.active;\r\n // }\r\n @Output() public clearEvent = new EventEmitter<null>();\r\n @Output() public hintEvent = new EventEmitter<null>();\r\n @Input() public hintContent: TooltipData | undefined;\r\n\r\n public onClear($event: MouseEvent): void {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.active = false;\r\n this.clearEvent.emit();\r\n }\r\n\r\n public hintClick($event: MouseEvent): void {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n this.hintEvent.emit();\r\n }\r\n}\r\n","<div (click)=\"onClick($event)\" [class.disabled]=\"disabled\" [ngStyle]=\"{width}\" class=\"button-container\">\r\n <button\r\n #btn\r\n [attr.tabIndex]=\"disabled ? -1 : 0\"\r\n [autofocus]=\"autofocus\"\r\n [disabled]=\"disabled\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n loader: showLoader,\r\n active: active,\r\n white: btnColor === 'white',\r\n transparent: btnColor === 'transparent',\r\n }\"\r\n [type]=\"buttonType\"\r\n class=\"\"\r\n role=\"button\">\r\n @if (!showLoader) {\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n } @if (showLoader) {\r\n <div class=\"loader\"></div>\r\n }\r\n </button>\r\n</div>\r\n\r\n<ng-template #content>\r\n <span #contentData><ng-content></ng-content></span>\r\n @if (hintContent) {\r\n <img\r\n (click)=\"hintClick($event)\"\r\n alt=\"Описание\"\r\n [ddTooltip]=\"hintContent\"\r\n [withClick]=\"true\"\r\n class=\"ml-8\"\r\n height=\"16\"\r\n ngSrc=\"assets/images/svg/question{{ active ? '-white-g' : '' }}.svg\"\r\n width=\"16\" />\r\n } @if (active) {\r\n <img\r\n (click)=\"onClear($event)\"\r\n alt=\"Очистить\"\r\n class=\"ml-8 cup\"\r\n height=\"20\"\r\n ngSrc=\"assets/images/svg/close.svg\"\r\n width=\"20\" />\r\n }\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\r\nimport {AutoHeightDirective} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-skeleton',\r\n standalone: true,\r\n imports: [AutoHeightDirective],\r\n templateUrl: './lib-skeleton.component.html',\r\n styleUrl: './lib-skeleton.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibSkeletonComponent {\r\n @Input() public deepParent: number | undefined;\r\n @Input() public sHeight: string | undefined = '200px';\r\n @Input() public sMb: string | undefined;\r\n\r\n @Input()\r\n public set skeleton(s: boolean | undefined) {\r\n if (s === true) {\r\n this._skeleton = s;\r\n this.cdr.detectChanges();\r\n } else {\r\n setTimeout(() => {\r\n this._skeleton = s;\r\n this.cdr.detectChanges();\r\n }, 1000);\r\n }\r\n }\r\n @Input() public set plugs(n: number | undefined) {\r\n if (n && n > 0) {\r\n this._plugs = Array.from(Array(n).keys());\r\n }\r\n }\r\n\r\n public _plugs: number[] = [];\r\n public _skeleton: boolean | undefined;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n protected readonly length = length;\r\n}\r\n","@if (_skeleton && _plugs.length) { @for (plug of _plugs; track plug) {\r\n<div\r\n [class.skeleton]=\"_skeleton\"\r\n [style.height]=\"_skeleton ? sHeight : ''\"\r\n [style.margin-bottom]=\"sMb\"\r\n class=\"skelet full-width full-height\"></div>\r\n} } @else {\r\n<div [style.height]=\"_skeleton ? sHeight : ''\" [class.skeleton]=\"_skeleton\" [ddAutoHeight]=\"deepParent\">\r\n <ng-content></ng-content>\r\n</div>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { LibSkeletonComponent } from '../lib-skeleton/lib-skeleton.component';\r\n\r\n@Component({\r\n selector: 'dd-lib-card',\r\n standalone: true,\r\n imports: [LibSkeletonComponent],\r\n templateUrl: './lib-card.component.html',\r\n styleUrl: './lib-card.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibCardComponent {\r\n @Input() public type: 'giant' | 'standard' | 'small' = 'standard';\r\n @Input() public footerBtn: string | undefined;\r\n @Input() public sHeight: string | undefined;\r\n @Input() public skeleton: any;\r\n @Input() public parentLvlForSkeleton: number | undefined;\r\n @Input() public plugs: number | undefined;\r\n @Input() public borderRadius: 'all' | 'top' | 'bottom' | 'none' = 'all';\r\n\r\n @Output() public cardBtnEvent = new EventEmitter<undefined>();\r\n\r\n constructor(public cdr: ChangeDetectorRef) {}\r\n}\r\n","<div\r\n class=\"lib-card-wrapper\"\r\n [class.border-r-bottom]=\"borderRadius === 'bottom'\"\r\n [class.border-r-none]=\"borderRadius === 'none'\"\r\n [class.border-r-top]=\"borderRadius === 'top'\"\r\n [class.giant-card]=\"type === 'giant'\"\r\n [class.small-card]=\"type === 'small'\"\r\n [class.with-footer]=\"!!footerBtn\">\r\n <dd-lib-skeleton\r\n [deepParent]=\"parentLvlForSkeleton\"\r\n [skeleton]=\"skeleton\"\r\n [plugs]=\"plugs\"\r\n [sHeight]=\"sHeight\">\r\n <div class=\"lib-card\">\r\n <ng-content></ng-content>\r\n </div>\r\n </dd-lib-skeleton>\r\n</div>\r\n@if (footerBtn) {\r\n<div (click)=\"cardBtnEvent.emit(); cdr.detectChanges()\" class=\"lib-card-footer-btn\">\r\n {{ footerBtn }}\r\n</div>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dd-lib-radio',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\r\n templateUrl: './lib-radio.component.html',\r\n styleUrl: './lib-radio.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibRadioComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibRadioComponent implements OnInit, ControlValueAccessor {\r\n public static idCounter = 1;\r\n\r\n @Input() public radioId: string | undefined; // input ID: если не указан, генерируется уникальный ID\r\n @Input() public disabled = false; // состояние: по умолчанию - активное\r\n @Input() public required = false;\r\n @Input() public name: string | undefined;\r\n @Input() public value: any;\r\n @Input() public checked = false;\r\n\r\n @Output() public changed = new EventEmitter();\r\n\r\n public focused: boolean | undefined;\r\n public onTouchedCallback: (() => void) | undefined;\r\n private modelInitialization = true;\r\n\r\n public ngOnInit() {\r\n if (!this.radioId) {\r\n this.radioId = 'dd-radio-' + LibRadioComponent.idCounter++;\r\n }\r\n }\r\n\r\n public onSelected(target: EventTarget | null) {\r\n this.checked = (target as HTMLInputElement)?.checked;\r\n this.propagateChange(this.value);\r\n this.changed.emit(this.value);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public setDisabledState(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public writeValue(value: any): void {\r\n const isInitialization = this.modelInitialization;\r\n this.modelInitialization = false;\r\n if (this.checked !== undefined && value === undefined && isInitialization) {\r\n return;\r\n }\r\n this.checked = value === this.value;\r\n }\r\n\r\n private propagateChange(_value: any) {}\r\n}\r\n","<label [for]=\"radioId\" class=\"radio\">\n <input\n (change)=\"onSelected($event.target)\"\n [attr.aria-checked]=\"checked\"\n [attr.tabIndex]=\"disabled ? -1 : 0\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"radioId\"\n [name]=\"name\"\n [ngClass]=\"{ disabled: disabled }\"\n [required]=\"required\"\n class=\"radio-input\"\n role=\"radio\"\n type=\"radio\" />\n <div [class.focused]=\"focused\" class=\"mark-wrap\">\n <div class=\"radio-button\"></div>\n </div>\n <div class=\"label-wrap\">\n <span><ng-content></ng-content></span>\n </div>\n</label>\n","import {ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, OnInit, Output,} from '@angular/core';\r\nimport {LibFilterButtonComponent} from '../lib-filter-button/lib-filter-button.component';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {LibRadioComponent} from '../lib-radio/lib-radio.component';\r\nimport {CommonModule, NgOptimizedImage} from '@angular/common';\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {LibButtonComponent} from '../lib-button/lib-button.component';\r\nimport {parse} from 'date-fns';\r\nimport {DateService, IDaysInMonth} from \"../core\";\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\nconst Months = [\r\n 'Январь',\r\n 'Февраль',\r\n 'Март',\r\n 'Апрель',\r\n 'Май',\r\n 'Июнь',\r\n 'Июль',\r\n 'Август',\r\n 'Сентябрь',\r\n 'Октябрь',\r\n 'Ноябрь',\r\n 'Декабрь',\r\n];\r\n\r\n/**\r\n Этот компонент используется для отображения календаря с возможностью выбора даты.\r\n Ниже приведено описание свойств и методов данного компонента:\r\n\r\n Свойства:\r\n - @Input() public type: 'string' | 'number' | 'date' = 'string'; - тип данных для выбора даты.\r\n - @Input() public format = 'dd.MM.yyyy HH:mm'; - формат отображения даты.\r\n - @Input() public maxDate = new Date(); - максимальная дата, которую можно выбрать.\r\n - @Output() public emitDate = new EventEmitter<date | undefined>(); - событие, срабатывающее при выборе даты.\r\n - public dateValue: Date | undefined; - выбранная пользователем дата.\r\n - public months = Months; - массив с названиями месяцев.\r\n - public week = ['ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ', 'ВС']; - массив с названиями дней недели.\r\n - public year = new Date().getFullYear(); - текущий год.\r\n - public month = new Date().getMonth(); - текущий месяц.\r\n - public day = new Date().getDay(); - текущий день недели.\r\n - public daysInMonth: IDaysInMonth; - количество дней в текущем месяце.\r\n - public currentDate = new Date(); - текущая выбранная дата.\r\n - public dateNow = new Date(); - текущая дата.\r\n - public onTouchedCallback: () => void; - функция обратного вызова при касании.\r\n\r\n Методы:\r\n - public propagateChange(_value: Date): void {} - метод для обновления значения выбранной даты.\r\n - public ngOnInit(): void {} - метод жизненного цикла компонента, вызываемый при инициализации.\r\n - public setDayInMonth(): void {} - метод для установки количества дней в текущем месяце.\r\n - public changeMonth(number: number): void {} - метод для изменения месяца в календаре.\r\n - public getMonth(): string {} - метод для получения названия текущего месяца.\r\n - public registerOnChange(fn: any): void {} - метод для регистрации функции обратного вызова при изменении значения.\r\n - public registerOnTouched(fn: any): void {} - метод для регистрации функции обратного вызова при касании.\r\n - public writeValue(val: Date): void {} - метод для установки значения даты.\r\n - public selectDay(day: number): void {} - метод для выбора конкретного дня в календаре.\r\n - public selectDate(): void {} - метод для выбора даты и передачи значения через propagateChange и emitDate.\r\n - public checkHideDay(day: number): boolean {} - метод для проверки скрытия определенного дня в календаре.\r\n - public canselDate(): void {} - метод для отмены выбранной даты и сброса значений.\r\n **/\r\n@Component({\r\n selector: 'dd-lib-calendar',\r\n standalone: true,\r\n imports: [\r\n LibFilterButtonComponent,\r\n LibCardComponent,\r\n LibRadioComponent,\r\n CommonModule,\r\n LibButtonComponent,\r\n NgOptimizedImage,\r\n LibSvgIconComponent,\r\n ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibCalendarComponent),\r\n multi: true,\r\n },\r\n ],\r\n templateUrl: './lib-calendar.component.html',\r\n styleUrl: './lib-calendar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibCalendarComponent implements ControlValueAccessor, OnInit {\r\n @Input() public type: 'string' | 'number' | 'date' = 'string';\r\n @Input() public formatDate = 'dd.MM.yyyy';\r\n @Input() public formatTime: string | undefined;\r\n @Input() public mode: 'icon' | 'full' = 'full';\r\n @Output() public emitDate = new EventEmitter<Date | undefined>();\r\n @Input()\r\n public set maxDate(date: any) {\r\n if (date === 'current') {\r\n this._maxDate = new Date();\r\n } else if (typeof date === 'object') {\r\n this._maxDate = date;\r\n } else if (typeof date === 'string') {\r\n this._maxDate = parse(\r\n date,\r\n `${this.formatDate}${this.formatTime ? ' ' + this.formatTime : ''}`,\r\n new Date(),\r\n );\r\n }\r\n }\r\n\r\n @Input()\r\n public set minDate(date: any) {\r\n if (date === 'current') {\r\n this._minDate = new Date();\r\n } else if (date === 'year') {\r\n this._minDate = new Date(new Date().setFullYear(new Date().getFullYear() - 1));\r\n } else if (date === 'month') {\r\n this._minDate = new Date(new Date().setMonth(new Date().getMonth() - 1));\r\n } else if (typeof date === 'object') {\r\n this._minDate = date;\r\n } else if (typeof date === 'string') {\r\n this._minDate = parse(\r\n date,\r\n `${this.formatDate}${this.formatTime ? ' ' + this.formatTime : ''}`,\r\n new Date(),\r\n );\r\n }\r\n }\r\n\r\n private _maxDate: Date | undefined;\r\n private _minDate: Date | undefined;\r\n public dateValue: Date | undefined;\r\n public months = Months;\r\n public week = ['ПН', 'ВТ', 'СР', 'ЧТ', 'ПТ', 'СБ', 'ВС'];\r\n public year = new Date().getFullYear();\r\n public month = new Date().getMonth();\r\n public day = new Date().getDay();\r\n public daysInMonth: IDaysInMonth | undefined;\r\n // minDate = setMinDate();\r\n public currentDate = new Date();\r\n public dateNow = new Date();\r\n public onTouchedCallback: (() => void) | undefined;\r\n public showCalendar: boolean | undefined;\r\n\r\n constructor(private dateService: DateService) {}\r\n\r\n public propagateChange(_value: Date): void {}\r\n\r\n public ngOnInit(): void {\r\n this.setDayInMonth();\r\n }\r\n\r\n public setDayInMonth(): void {\r\n this.daysInMonth = this.dateService.getDaysInMonth(this.month, this.year);\r\n }\r\n\r\n public changeMonth(number: number): void {\r\n const temp = new Date(this.currentDate);\r\n temp.setMonth(temp.getMonth() + number);\r\n this.month = temp.getMonth();\r\n this.year = temp.getFullYear();\r\n this.currentDate = temp;\r\n this.setDayInMonth();\r\n }\r\n\r\n public getMonth(): string {\r\n if (this.currentDate) {\r\n return this.months[this.currentDate.getMonth()];\r\n } else {\r\n return this.months[this.month];\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public writeValue(val: Date): void {\r\n this.dateValue = val;\r\n }\r\n\r\n public selectDay(day: number): void {\r\n if (!this.checkHideDay(day)) {\r\n this.dateValue = new Date(this.year, this.month, day);\r\n }\r\n }\r\n\r\n public selectDate(): void {\r\n this.propagateChange(this.dateValue as Date);\r\n this.emitDate.emit(this.dateValue);\r\n this.showCalendar = false;\r\n }\r\n\r\n public checkHideDay(day: number): boolean {\r\n let moreDay = false;\r\n let moreMonth = false;\r\n let moreYear = false;\r\n const lessDay = false;\r\n const lessMonth = false;\r\n const lessYear = false;\r\n if (this._maxDate) {\r\n const [maxYear, maxMonth, maxDay] = [\r\n this._maxDate.getFullYear(),\r\n this._maxDate.getMonth(),\r\n this._maxDate.getDate(),\r\n ];\r\n moreDay = this.year >= maxYear && this.month >= maxMonth && day > maxDay;\r\n moreMonth = this.year >= maxYear && this.month > maxMonth;\r\n moreYear = this.year > maxYear;\r\n }\r\n if (this._minDate) {\r\n const [minYear, minMonth, minDay] = [\r\n this._minDate.getFullYear(),\r\n this._minDate.getMonth(),\r\n this._minDate.getDate(),\r\n ];\r\n moreDay = this.year <= minYear && this.month <= minMonth && day < minDay;\r\n moreMonth = this.year <= minYear && this.month < minMonth;\r\n moreYear = this.year < minYear;\r\n }\r\n return moreDay || moreMonth || moreYear || lessDay || lessMonth || lessYear;\r\n }\r\n\r\n public canselDate(): void {\r\n this.emitDate.emit();\r\n this.dateValue = undefined;\r\n this.showCalendar = false;\r\n }\r\n}\r\n","@if (mode === 'icon') {\r\n<div class=\"pos-relative d-flex align-center\">\r\n @if (dateValue) {\r\n <span class=\"mr-12 green\">{{ dateValue | date: 'dd.MM.yyyy' }}</span>\r\n }\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"showCalendar = !showCalendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n @if (dateValue) {\r\n <dd-lib-svg-icon class=\"cup\" (click)=\"canselDate()\" icon=\"clear\"></dd-lib-svg-icon>\r\n } @if (showCalendar) {\r\n <div class=\"calendar-abs-wrapper\">\r\n <ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n </div>\r\n }\r\n</div>\r\n} @if (mode === 'full') {\r\n<ng-template [ngTemplateOutlet]=\"calendar\"></ng-template>\r\n}\r\n\r\n<ng-template #calendar>\r\n <dd-lib-card class=\"calendar-block\" type=\"small\">\r\n <div class=\"calendar-block__header\">\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(-1)\" icon=\"left_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"calendar-block__header_year\">{{ getMonth() + ' ' + year }}</div>\r\n <div class=\"calendar-block__header_arrow\">\r\n <dd-lib-svg-icon (click)=\"changeMonth(1)\" icon=\"right_chevron\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n <div class=\"calendar-block__week\">\r\n @for (day of week; track day) {\r\n <div class=\"calendar-block__week_day\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__days\">\r\n @for (day of daysInMonth?.prevDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n } @for (day of daysInMonth?.days; track day) {\r\n <div\r\n (click)=\"selectDay(day)\"\r\n [class.active]=\"\r\n dateValue?.getDate() === day && dateValue?.getMonth() === month && dateValue?.getFullYear() === year\r\n \"\r\n [class.current]=\"\r\n dateNow.getDate() === day && dateNow.getMonth() === month && dateNow.getFullYear() === year\r\n \"\r\n [class.hide]=\"checkHideDay(day)\"\r\n class=\"calendar-block__days_day normal\">\r\n {{ day }}\r\n </div>\r\n } @for (day of daysInMonth?.lastDays; track day) {\r\n <div class=\"calendar-block__days_day hide\">{{ day }}</div>\r\n }\r\n </div>\r\n <div class=\"calendar-block__footer\">\r\n <dd-lib-button (click)=\"canselDate()\" [btnColor]=\"'transparent'\" class=\"calendar-block__footer_btn\"\r\n >Отменить\r\n </dd-lib-button>\r\n <dd-lib-button (click)=\"selectDate()\" [disabled]=\"!dateValue\" class=\"calendar-block__footer_btn\"\r\n >Выбрать\r\n </dd-lib-button>\r\n </div>\r\n </dd-lib-card>\r\n</ng-template>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dd-lib-checkbox',\r\n standalone: true,\r\n imports: [FormsModule],\r\n templateUrl: './lib-checkbox.component.html',\r\n styleUrl: './lib-checkbox.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibCheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibCheckboxComponent implements OnInit, ControlValueAccessor {\r\n public static idCounter = 1;\r\n\r\n @Input() public checkboxId: string | undefined;\r\n @Input() public required = false;\r\n @Input() public disabled = false;\r\n @Input() public checked = false;\r\n @Input() public customClass: string | undefined;\r\n @Input() public invalid = false;\r\n\r\n @Output() public checkEvent = new EventEmitter<boolean>();\r\n public focused: boolean | undefined;\r\n private onTouchedCallback: (() => void) | undefined;\r\n\r\n public ngOnInit(): void {\r\n if (!this.checkboxId) {\r\n this.checkboxId = 'dd-checkbox-' + LibCheckboxComponent.idCounter++;\r\n }\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public onChecked(target: EventTarget | null): void {\r\n this.checked = (target as HTMLInputElement)?.checked;\r\n this.propagateChange(this.checked);\r\n this.checkEvent.emit(this.checked);\r\n }\r\n\r\n public writeValue(value: boolean): void {\r\n this.checked = value;\r\n }\r\n\r\n private propagateChange(value: boolean) {}\r\n}\r\n","<input\n (change)=\"onChecked($event.target)\"\n [checked]=\"checked\"\n [class.disabled]=\"disabled\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [id]=\"checkboxId\"\n [required]=\"required\"\n [tabindex]=\"disabled ? -1 : null\"\n class=\"check-input\"\n type=\"checkbox\" />\n<label [for]=\"checkboxId\" class=\"{{ customClass }} check\">\n <span [class.focused]=\"focused\" class=\"checkbox\"></span>\n <ng-content></ng-content>\n</label>\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibButtonComponent} from '../lib-button/lib-button.component';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {ResizeTextareaDirective} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-comment-input',\r\n standalone: true,\r\n imports: [FormsModule, LibButtonComponent, NgOptimizedImage, ResizeTextareaDirective],\r\n templateUrl: './lib-comment-input.component.html',\r\n styleUrl: './lib-comment-input.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibCommentInputComponent extends LibCommonInputTextComponent {\r\n constructor(changeDetection: ChangeDetectorRef) {\r\n super(changeDetection);\r\n }\r\n}\r\n","<div class=\"lib-comment-textarea\">\n <textarea\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly\"\n ddResizeTextarea\n type=\"text\"></textarea>\n <dd-lib-button [disabled]=\"disabled\" [noPadding]=\"true\" height=\"48px\" width=\"48px\">\n <svg fill=\"none\" height=\"28\" viewBox=\"0 0 24 22\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_429_4922)\">\n <path\n [attr.stroke]=\"disabled ? '#8e9cbe' : 'white'\"\n d=\"M10 14L21 3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n <path\n [attr.stroke]=\"disabled ? '#8e9cbe' : 'white'\"\n d=\"M21.0001 3L14.5001 21C14.4562 21.0957 14.3858 21.1769 14.2971 21.2338C14.2085 21.2906 14.1054 21.3209 14.0001 21.3209C13.8948 21.3209 13.7917 21.2906 13.703 21.2338C13.6144 21.1769 13.5439 21.0957 13.5001 21L10.0001 14L3.00007 10.5C2.90433 10.4561 2.8232 10.3857 2.76632 10.2971C2.70944 10.2084 2.6792 10.1053 2.6792 10C2.6792 9.89468 2.70944 9.79158 2.76632 9.70295C2.8232 9.61431 2.90433 9.54387 3.00007 9.5L21.0001 3Z\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"1.7\" />\n </g>\n <defs>\n <clipPath id=\"clip0_429_4922\">\n <rect [attr.fill]=\"disabled ? '#8e9cbe' : 'white'\" height=\"28\" width=\"24\" />\n </clipPath>\n </defs>\n </svg>\n </dd-lib-button>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'dd-lib-file-upload',\r\n standalone: true,\r\n imports: [NgTemplateOutlet],\r\n templateUrl: './lib-file-upload.component.html',\r\n styleUrl: './lib-file-upload.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibFileUploadComponent {\r\n @Input() public multi: boolean | undefined;\r\n @Input() public requiredFileType: string | undefined;\r\n @Input() public template: TemplateRef<HTMLElement> | undefined;\r\n @Output() public outputFile = new EventEmitter<File>();\r\n @Output() public outputFiles = new EventEmitter<File[]>();\r\n public onFileSelected($event: Event) {\r\n if (!this.multi) {\r\n const file: File | undefined = ($event?.target as HTMLInputElement)?.files?.[0];\r\n if (file) {\r\n this.outputFile.emit(file);\r\n }\r\n }\r\n }\r\n}\r\n","<input\r\n type=\"file\"\r\n class=\"file-input\"\r\n [accept]=\"requiredFileType\"\r\n (change)=\"onFileSelected($event)\"\r\n #fileUpload />\r\n\r\n<div class=\"file-upload\">\r\n <div class=\"upload-btn\" (click)=\"fileUpload.click()\">\r\n @if (template) {\r\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\r\n } @else { Загрузить }\r\n </div>\r\n</div>\r\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\r\nimport {LibButtonComponent} from '../lib-button/lib-button.component';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-image-loader',\r\n standalone: true,\r\n imports: [LibButtonComponent, NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-image-loader.component.html',\r\n styleUrl: './lib-image-loader.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibImageLoaderComponent {\r\n public images: any;\r\n}\r\n","<div class=\"image-loader\">\r\n <div class=\"b3-title mb-4\">Вы можете прикрепить до 5 фотографий</div>\r\n <div class=\"gray b6-title mb-16\">Только .png и .jpg файлы. Общий объем не должен превышать 5 мегабайт</div>\r\n @if (images) {\r\n <div class=\"loaded-images\"></div>\r\n }\r\n <div>\r\n <dd-lib-button btnColor=\"white\">\r\n <div class=\"d-flex align-center\">\r\n <div class=\"mr-8\">\r\n <dd-lib-svg-icon icon=\"paperclip\"></dd-lib-svg-icon>\r\n </div>\r\n <div class=\"title-soc-btn\">Добавить фотографии</div>\r\n </div>\r\n </dd-lib-button>\r\n </div>\r\n</div>\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Host,\n OnDestroy,\n OnInit,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {ControlContainer, ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {NgOptimizedImage} from '@angular/common';\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\nimport {LibCardComponent} from '../lib-card/lib-card.component';\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\n\n@Component({\n selector: 'dd-lib-input',\n standalone: true,\n templateUrl: './lib-input.component.html',\n styleUrls: ['./lib-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => LibInputComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, NgOptimizedImage, LibCardComponent, LibSvgIconComponent],\n})\nexport class LibInputComponent\n extends LibCommonInputTextComponent\n implements OnInit, OnDestroy, ControlValueAccessor\n{\n constructor(\n changeDetection: ChangeDetectorRef,\n @Optional() @Host() @SkipSelf() private controlContainer: ControlContainer,\n ) {\n super(changeDetection);\n }\n\n public ngOnInit(): void {\n this.control =\n this.controlContainer && this.formControlName\n ? this.controlContainer?.control?.get(this.formControlName)\n : null;\n }\n\n public writeValue(value: string | number | null): void {\n this.value = value === null || value === undefined ? '' : '' + value;\n if (!this.destroyed) {\n this.changeDetection.detectChanges();\n }\n }\n\n public ngOnDestroy(): void {\n this.destroyed = true;\n // this.focusManager.unregister(this);\n }\n}\n","<div class=\"lib-input\">\n <label [for]=\"id\" class=\"lib-input__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n <input\n #input\n (blur)=\"notifyFocusEvent($event)\"\n (change)=\"handleChange()\"\n (focus)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n (keyup.enter)=\"forceChange()\"\n [(ngModel)]=\"value\"\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\n [attr.id]=\"id ? id : null\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"type || 'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n class=\"text-input\" />\n @if (errorText && invalid) {\n <div class=\"lib-input__error\">{{ errorText }}</div>\n }\n</div>\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { LibCardComponent } from '../lib-card/lib-card.component';\r\nimport { LibFilterButtonComponent } from '../lib-filter-button/lib-filter-button.component';\r\nimport { LibRadioComponent } from '../lib-radio/lib-radio.component';\r\n\r\nimport { LibCalendarComponent } from '../lib-calendar/lib-calendar.component';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { format } from 'date-fns';\r\nimport {ClickOutsideDirective, DateService, DEFAULT_FORMAT, GetDateBy, PeriodMenuDate, PeriodName} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-period',\r\n standalone: true,\r\n imports: [\r\n LibCardComponent,\r\n LibFilterButtonComponent,\r\n LibRadioComponent,\r\n LibCalendarComponent,\r\n FormsModule,\r\n ClickOutsideDirective,\r\n ],\r\n\r\n templateUrl: './lib-period.component.html',\r\n styleUrl: './lib-period.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibPeriodComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibPeriodComponent implements OnInit, ControlValueAccessor {\r\n public static idCounter = 1;\r\n @Input() public maxDate: Date | undefined;\r\n @Output() public setPeriodDate = new EventEmitter<{ [key in keyof GetDateBy]: string } | null>();\r\n\r\n public periodMenu: PeriodMenuDate[] | undefined;\r\n public periodIsShown = false;\r\n public calendarIsShown = false;\r\n public periodIsSelected = false;\r\n public calendarIsSelected = false;\r\n public selectedPeriod: PeriodName | undefined;\r\n public selectedDate: Date | undefined;\r\n public idPeriod!: string;\r\n public idCalendar!: string;\r\n private onTouchedCallback: (() => void) | undefined;\r\n\r\n constructor(private dateService: DateService) {}\r\n\r\n public ngOnInit(): void {\r\n this.idPeriod = 'period-wrapper-' + LibPeriodComponent.idCounter++;\r\n this.idCalendar = 'calendar-wrapper-' + LibPeriodComponent.idCounter++;\r\n this.periodMenu = this.dateService.getPeriodMenu();\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public showPeriod(): void {\r\n this.periodIsShown = !this.periodIsShown;\r\n this.calendarIsShown = !!this.selectedDate;\r\n }\r\n\r\n public clearPeriod(): void {\r\n this.periodIsSelected = false;\r\n this.calendarIsSelected = false;\r\n this.periodIsShown = false;\r\n this.calendarIsShown = false;\r\n this.selectedPeriod = undefined;\r\n this.selectedDate = undefined;\r\n this.setPeriodDate.emit(null);\r\n }\r\n\r\n public selectPeriod(type: keyof GetDateBy): void {\r\n this.periodIsShown = false;\r\n this.calendarIsShown = false;\r\n this.periodIsSelected = true;\r\n this.calendarIsSelected = false;\r\n const date = this.dateService.getFormattedDate(type);\r\n this.propagateChange(type);\r\n this.setPeriodDate.emit({ [type]: date });\r\n }\r\n\r\n public writeValue(value: any): void {\r\n this.selectedPeriod = value;\r\n }\r\n\r\n public selectDate($event: Date | undefined): void {\r\n this.calendarIsShown = false;\r\n if ($event) {\r\n this.selectedPeriod = 'calendar';\r\n this.propagateChange(this.selectedPeriod);\r\n this.periodIsShown = false;\r\n this.periodIsSelected = false;\r\n this.calendarIsSelected = true;\r\n this.setPeriodDate.emit({ calendar: format($event, DEFAULT_FORMAT) });\r\n } else {\r\n this.selectedDate = undefined;\r\n this.setPeriodDate.emit(null);\r\n if (!this.selectedPeriod) {\r\n this.periodIsSelected = false;\r\n }\r\n this.calendarIsSelected = false;\r\n }\r\n }\r\n\r\n public clickOutside($event: boolean): void {\r\n this.periodIsShown = $event;\r\n if (this.periodIsShown && !$event) {\r\n this.calendarIsShown = $event;\r\n }\r\n }\r\n\r\n private propagateChange(value: PeriodName) {}\r\n}\r\n","<div class=\"pos-relative\">\r\n <dd-lib-filter-button\r\n (clearEvent)=\"clearPeriod()\"\r\n (clickEvent)=\"showPeriod()\"\r\n [active]=\"periodIsSelected || calendarIsSelected\"\r\n [id]=\"idPeriod\"\r\n btnColor=\"transparent\">\r\n <div>Период</div>\r\n </dd-lib-filter-button>\r\n @if (periodIsShown) {\r\n <div (ddClickOutside)=\"clickOutside($event)\" [elements]=\"[idPeriod, idCalendar]\" class=\"wrapper-calendar\">\r\n <dd-lib-card class=\"period-block\" type=\"small\">\r\n <div>\r\n <div class=\"period-block__header\">\r\n <div class=\"period-block__header_title\">Период</div>\r\n <div (click)=\"clearPeriod()\" class=\"period-block__header_clear\">Сбросить</div>\r\n </div>\r\n <div class=\"period-block__list\">\r\n @for (period of periodMenu; track period) {\r\n <dd-lib-radio (changed)=\"selectPeriod($event)\" [(ngModel)]=\"selectedPeriod\" [value]=\"period.name\">{{\r\n period.title\r\n }}</dd-lib-radio>\r\n }\r\n </div>\r\n <div (click)=\"calendarIsShown = !calendarIsShown\" class=\"period-block__footer\">\r\n {{ calendarIsShown ? 'Закрыть' : 'Открыть' }} календарь\r\n </div>\r\n </div>\r\n </dd-lib-card>\r\n @if (calendarIsShown) {\r\n <dd-lib-calendar\r\n (emitDate)=\"selectDate($event)\"\r\n [(ngModel)]=\"selectedDate\"\r\n [id]=\"idCalendar\"\r\n [maxDate]=\"maxDate\"\r\n class=\"calendar-block\">\r\n </dd-lib-calendar>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {of, Subject} from 'rxjs';\r\nimport {debounceTime, delay, map, mergeMap, takeUntil} from 'rxjs/operators';\r\nimport {DestroyService, HighlightPipe, SafePipe} from \"../core\";\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-search-input',\r\n standalone: true,\r\n imports: [FormsModule, NgOptimizedImage, LibCardComponent, HighlightPipe, SafePipe, LibSvgIconComponent],\r\n templateUrl: './lib-search-input.component.html',\r\n styleUrl: './lib-search-input.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [DestroyService],\r\n})\r\nexport class LibSearchInputComponent<T> extends LibCommonInputTextComponent implements OnInit {\r\n @Input() public keyTitle = 'title';\r\n @Input() public keyDesc = 'description';\r\n @Input() public styleInput: 'round' | 'standard' = 'standard';\r\n @Input() public inputStyle: 'white' | 'gray' = 'gray';\r\n @Input() public searchData: T[] | null | undefined;\r\n @Input() public debounceTime = 100;\r\n @Input() public delay = 0;\r\n @Input() public idClose: string | undefined;\r\n @Output() public keyupEvent = new EventEmitter<string>();\r\n @Output() public selectedItem = new EventEmitter();\r\n public keyUp = new Subject<KeyboardEvent>();\r\n\r\n constructor(\r\n private destroy$: DestroyService,\r\n changeDetection: ChangeDetectorRef,\r\n private cdr: ChangeDetectorRef,\r\n ) {\r\n super(changeDetection);\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (this.commitOnInput) {\r\n this.keyUp\r\n .pipe(\r\n map(event => (event.target as HTMLInputElement)?.value),\r\n debounceTime(this.debounceTime),\r\n // distinctUntilChanged(), надо ли?\r\n mergeMap(search => of(search).pipe(delay(this.delay))),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(str => {\r\n this.keyupEvent.emit(str);\r\n });\r\n }\r\n }\r\n\r\n public override forceChange(): void {\r\n if (!this.commitOnInput) {\r\n this.keyupEvent.emit(this.value);\r\n }\r\n }\r\n\r\n public onClear(noEmit?: boolean): void {\r\n this.value = '';\r\n if (!noEmit) {\r\n this.cleared.emit();\r\n this.keyupEvent.emit('');\r\n }\r\n this.inputSearchElement?.nativeElement.focus();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n public onClickSearchItem(item: T): void {\r\n this.onClear();\r\n this.selectedItem.emit(item);\r\n this.value = this.getTitle(item);\r\n }\r\n\r\n public getTitle(item: T): string {\r\n return item[this.keyTitle as keyof typeof item] as string;\r\n }\r\n\r\n public getDesc(item: T): string {\r\n return item[this.keyDesc as keyof typeof item] as string;\r\n }\r\n}\r\n","<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n </div>\r\n\r\n @if (searchData?.length) {\r\n <dd-lib-card>\r\n @for (item of searchData; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Host,\r\n Input,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n} from '@angular/core';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {\r\n ControlContainer,\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {LibLoaderComponent} from '../lib-loader/lib-loader.component';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\nimport {ClickOutsideDirective, FilterByKeyPipe, HighlightPipe, SafePipe} from \"../core\";\r\n\r\n@Component({\r\n selector: 'dd-lib-select',\r\n standalone: true,\r\n imports: [\r\n NgOptimizedImage,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n HighlightPipe,\r\n LibCardComponent,\r\n SafePipe,\r\n ClickOutsideDirective,\r\n LibLoaderComponent,\r\n FilterByKeyPipe,\r\n LibSvgIconComponent,\r\n ],\r\n templateUrl: './lib-select.component.html',\r\n styleUrl: './lib-select.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibSelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibSelectComponent<T>\r\n extends LibCommonInputTextComponent\r\n implements OnInit, ControlValueAccessor\r\n{\r\n public static idCounter = 1;\r\n\r\n @Input() public selectId: string | undefined;\r\n @Input() public data: any | undefined;\r\n @Input() public keyTitle: string | undefined;\r\n @Input() public keyDesc: string | undefined;\r\n @Input() public keyValue: string | undefined;\r\n @Input() public override placeholder = 'Выберите из списка';\r\n public checkedItem: any;\r\n public inputValue: string | undefined;\r\n public searchValue: string | undefined;\r\n public isShownList: boolean | undefined;\r\n\r\n constructor(\r\n changeDetection: ChangeDetectorRef,\r\n @Optional() @Host() @SkipSelf() private controlContainer: ControlContainer,\r\n ) {\r\n super(changeDetection);\r\n }\r\n\r\n public ngOnInit(): void {\r\n if (!this.selectId) {\r\n this.selectId = 'dd-select-' + LibSelectComponent.idCounter++;\r\n }\r\n if (this.keyTitle && !this.keyValue) {\r\n this.keyValue = this.keyTitle;\r\n }\r\n this.control =\r\n this.controlContainer && this.formControlName\r\n ? this.controlContainer?.control?.get(this.formControlName)\r\n : null;\r\n }\r\n\r\n public override registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n super.registerOnChange(fn)\r\n }\r\n\r\n public override registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n super.registerOnTouched(fn)\r\n }\r\n\r\n public override handleInput(e: Event): void {\r\n this.isShownList = true;\r\n this.searchValue = this.inputValue;\r\n super.handleInput(e)\r\n }\r\n\r\n public override notifyFocusEvent(e: Event): void {\r\n if (!this.disabled) {\r\n this.isShownList = !this.isShownList;\r\n }\r\n super.notifyFocusEvent(e)\r\n }\r\n\r\n public writeValue(value: any): void {\r\n this.value = value;\r\n this.inputValue = value;\r\n }\r\n\r\n public selectItem(item: any): void {\r\n if (typeof item === 'string') {\r\n if (!this.checkedItem) {\r\n this.checkedItem = item;\r\n this.inputValue = item;\r\n this.value = item;\r\n this.propagateChange(this.value);\r\n } else {\r\n this.checkedItem = null;\r\n this.inputValue = undefined;\r\n this.value = undefined;\r\n this.propagateChange(undefined);\r\n }\r\n } else {\r\n if (!this.checkedItem || item[this.keyValue!] !== this.checkedItem?.[this.keyValue!]) {\r\n this.checkedItem = item;\r\n this.inputValue = this.checkedItem[this.keyTitle!];\r\n this.value = item[this.keyValue!];\r\n this.propagateChange(this.value);\r\n } else {\r\n this.checkedItem = null;\r\n this.inputValue = undefined;\r\n this.value = undefined;\r\n this.propagateChange(undefined);\r\n }\r\n }\r\n this.searchValue = undefined;\r\n this.isShownList = false;\r\n }\r\n\r\n public filterList(item: any): any {\r\n return item[this.keyTitle!]?.toLowerCase().includes(this.searchValue?.toLowerCase() || '');\r\n }\r\n\r\n private propagateChange(_value: any) {}\r\n}\r\n","<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\">\n <label [for]=\"id\" class=\"lib-select__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n\n <div class=\"pos-relative\">\n <input\n #select\n (change)=\"handleChange()\"\n (click)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n [(ngModel)]=\"inputValue\"\n [attr.id]=\"selectId\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [title]=\"inputValue\"\n class=\"text-select\" />\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\n @if (!checkedItem) {\n <dd-lib-svg-icon\n (click)=\"notifyFocusEvent($event)\"\n [class.black-svg]=\"isShownList\"\n [class.disabled]=\"disabled\"\n [class.gray-svg]=\"!isShownList\"\n [class.up]=\"isShownList\"\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\n\n } @else {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"clear\"\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\n\n }\n </div>\n\n @if (errorText && invalid) {\n <div class=\"lib-select__error\">{{ errorText }}</div>\n } @if (isShownList) {\n <div\n (ddClickOutside)=\"notifyFocusEvent($event)\"\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\n class=\"select-list-wrapper\">\n @if (data?.length) { @for (item of data | filterByKey: filterList.bind(this); track item) {\n <div\n (click)=\"selectItem(item)\"\n [class.active]=\"checkedItem?.[keyValue!] === item[keyValue!] || checkedItem === item\"\n class=\"select-data\">\n @if (!keyDesc && !keyTitle) {\n <div [innerHTML]=\"item | highlight: inputValue | safe: 'html'\" class=\"select-data__title\"></div>\n } @if (keyTitle) {\n <div\n [innerHTML]=\"item[keyTitle!] | highlight: inputValue | safe: 'html'\"\n class=\"select-data__title\"></div>\n } @if (keyDesc) {\n <div\n [innerHTML]=\"item[keyDesc!] | highlight: inputValue | safe: 'html'\"\n [title]=\"item[keyDesc]\"\n class=\"select-data__desc\"></div>\n } @if (checkedItem?.[keyValue!] === item?.[keyValue!] || checkedItem === item) {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"checked\"\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\n }\n </div>\n } } @else {\n <div class=\"select-loader\">\n <dd-lib-loader></dd-lib-loader>\n </div>\n }\n </div>\n }\n</div>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {LibCardComponent} from '../lib-card/lib-card.component';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {ClickOutsideDirective} from \"../core\";\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\nexport interface ISort {\r\n value: string;\r\n name: string;\r\n default?: boolean;\r\n}\r\n\r\nconst DefaultSort = [\r\n { name: 'По возрастанию', value: 'asc', default: true },\r\n { name: 'По убыванию', value: 'desc' },\r\n];\r\n\r\n@Component({\r\n selector: 'dd-lib-sort',\r\n standalone: true,\r\n templateUrl: './lib-sort.component.html',\r\n styleUrls: ['./lib-sort.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [ClickOutsideDirective, LibCardComponent, NgOptimizedImage, LibSvgIconComponent],\r\n})\r\nexport class LibSortComponent implements OnInit {\r\n @Input() public sortItems: ISort[] = DefaultSort;\r\n @Output() public sortEvent = new EventEmitter<string>();\r\n\r\n public sort: string | undefined;\r\n public showSort: boolean | undefined;\r\n\r\n public ngOnInit(): void {\r\n if (this.sortItems?.length) {\r\n this.sort = this.sortItems?.find(f => f.default)?.value || this.sortItems[0]?.value;\r\n }\r\n }\r\n\r\n public onSort(field: string): void {\r\n if (field !== this.sort) {\r\n this.sort = field;\r\n this.sortEvent.emit(field);\r\n this.showSort = false;\r\n }\r\n }\r\n\r\n public showSortList(): void {\r\n if (this.sortItems?.length) {\r\n this.showSort = !this.showSort;\r\n }\r\n }\r\n}\r\n","<div class=\"pos-relative\" id=\"js-sort-wrapper\">\r\n <div (click)=\"showSortList()\" class=\"d-flex align-center cup\">\r\n <div class=\"text-plain green mr-12\">Сортировка</div>\r\n <div>\r\n <dd-lib-svg-icon icon=\"sort\"></dd-lib-svg-icon>\r\n </div>\r\n </div>\r\n @if (showSort) {\r\n <div (ddClickOutside)=\"showSort = false\" [elements]=\"['js-sort-wrapper']\" class=\"sort-list-container\">\r\n <dd-lib-card type=\"small\">\r\n <div class=\"sort-list-container__list\">\r\n @for (item of sortItems; track item) {\r\n <div (click)=\"onSort(item.value)\" [class.green]=\"sort === item.value\" class=\"mb-12 text-plain\">\r\n {{ item.name }}\r\n </div>\r\n }\r\n </div>\r\n </dd-lib-card>\r\n </div>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dd-lib-step',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-step.component.html',\r\n styleUrl: './lib-step.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibStepComponent {\r\n @Input() public step = 1;\r\n @Input() public name = 'шаг';\r\n}\r\n","<span class=\"step-badge\">\r\n <span class=\"h3-title\">{{ step }}</span>\r\n &nbsp;<span class=\"h4-title\">{{ name }}</span>\r\n</span>\r\n","import {ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, Renderer2, ViewChild,} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\nexport type TSvgColor = 'white' | 'green' | 'black' | 'gray' | 'gold' | 'blue';\r\n/**\r\n Компонент LibSvgComponent отвечает за отображение SVG иконок. Он содержит следующие свойства и методы:\r\n\r\n Свойства:\r\n - @ViewChild('svgRef', { static: true }) public svg: ElementRef; - ссылка на элемент SVG.\r\n - @Input() public width: string; - ширина иконки.\r\n - @Input() public height: string; - высота иконки.\r\n - @Input() public icon: string; - название иконки.\r\n - @Input() public pack = 'svg'; - тип иконки (по умолчанию 'svg').\r\n - @Input() public color: TSvgColor = 'green'; - цвет иконки (зеленый по умолчанию).\r\n - @Input() public stroke: TSvgColor; - цвет обводки иконки.\r\n\r\n Методы:\r\n - public ngOnInit(): void {} - метод жизненного цикла компонента, вызываемый при инициализации. В нем происходит загрузка SVG изображения и настройка его параметров, таких как ширина, высота и цвет.\r\n\r\n В методе ngOnInit компонента LibSvgComponent происходит загрузка SVG изображения по указанному пути в зависимости от типа иконки и ее названия. Затем происходит обработка SVG элементов: удаление атрибутов fill и stroke у всех элементов path, а также у элементов svg и g. Задается ширина и высота SVG изображения в соответствии с переданными значениями.\r\n\r\n Этот компонент значительно упрощает процесс отображения иконок на веб-странице, позволяя легко управлять их параметрами, такими как размеры и цвет.\r\n**/\r\n// @Deprecate\r\n@Component({\r\n selector: 'dd-lib-svg',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-svg.component.html',\r\n styleUrl: './lib-svg.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibSvgComponent implements OnInit {\r\n @ViewChild('svgRef', {static: true}) public svg!: ElementRef;\r\n @Input() public width: string | undefined;\r\n @Input() public height: string | undefined;\r\n @Input() public icon: string | undefined;\r\n @Input() public pack = 'svg';\r\n @Input() public color: TSvgColor = 'green';\r\n @Input() public stroke: TSvgColor | undefined;\r\n\r\n constructor(private http: HttpClient, private rdr: Renderer2) {}\r\n\r\n public ngOnInit(): void {\r\n this.http\r\n .get(`assets/images/${this.pack}/${this.icon}.svg`, { responseType: 'text', withCredentials: true })\r\n .subscribe(txt => {\r\n this.svg.nativeElement.innerHTML = txt;\r\n const svg = this.svg.nativeElement.children[0];\r\n const g = this.svg.nativeElement.children[0].children[0];\r\n const path = this.svg.nativeElement.children[0].children[0].children;\r\n for (const item of path) {\r\n this.rdr.removeAttribute(item, 'fill');\r\n this.rdr.removeAttribute(item, 'stroke');\r\n }\r\n this.rdr.removeAttribute(svg, 'fill');\r\n this.rdr.removeAttribute(g, 'fill');\r\n if (this.width) {\r\n this.rdr.setAttribute(svg, 'width', this.width);\r\n }\r\n if (this.height) {\r\n this.rdr.setAttribute(svg, 'height', this.height);\r\n }\r\n });\r\n }\r\n}\r\n","<div\r\n #svgRef\r\n [class.black-stroke]=\"stroke === 'black'\"\r\n [class.black]=\"color === 'black'\"\r\n [class.gray-stroke]=\"stroke === 'gray'\"\r\n [class.gray]=\"color === 'gray'\"\r\n [class.green-stroke]=\"stroke === 'green'\"\r\n [class.green]=\"color === 'green'\"\r\n [class.white-stroke]=\"stroke === 'white'\"\r\n [class.white]=\"color === 'white'\"\r\n [class.gold-stroke]=\"stroke === 'gold'\"\r\n [class.gold]=\"color === 'gold'\"\r\n [class.blue-stroke]=\"stroke === 'blue'\"\r\n [class.blue]=\"color === 'blue'\"\r\n class=\"lib-icon\"></div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nexport class ITab {\r\n public title: string;\r\n public id: null | number;\r\n public fragment: string;\r\n public name?: string;\r\n public welcomeText?: string;\r\n public type?: 1 | 2;\r\n\r\n constructor(body: any) {\r\n this.id = body.id;\r\n this.title = body.namePage;\r\n this.name = body.name;\r\n this.fragment = body.address;\r\n this.welcomeText = body.welcomeText;\r\n this.type = body.type;\r\n for (const key in body) {\r\n if (key) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n this[key] = body[key];\r\n }\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'dd-lib-tabs-fragment',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './lib-tabs-fragment.component.html',\r\n styleUrl: './lib-tabs-fragment.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LibTabsFragmentComponent implements OnInit {\r\n @Input() public rout = location.pathname;\r\n @Input() public tabs: ITab[] | undefined;\r\n @Input() public tabsFragment: string[] | undefined;\r\n @Input() public needInitEvent: boolean | undefined;\r\n @Output() public setActiveTab = new EventEmitter<null | number>();\r\n public activeFragment: number | null | undefined;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private cdr: ChangeDetectorRef) {}\r\n\r\n public ngOnInit(): void {\r\n if (this.tabs) {\r\n this.tabsFragment = this.tabs.map(t => t.fragment);\r\n this.getFragment();\r\n }\r\n }\r\n\r\n public checkActiveTab(tab?: ITab) {\r\n if (tab) {\r\n this.activeFragment = tab.id;\r\n if (this.rout) {\r\n this.router.navigate([this.rout], { fragment: tab.fragment });\r\n }\r\n this.setActiveTab.emit(this.activeFragment);\r\n } else {\r\n this.activeFragment = undefined;\r\n this.router.navigate([this.rout], { fragment: undefined });\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private getFragment(): void {\r\n const activeFragment = this.route.snapshot.fragment as string;\r\n this.activeFragment = this.tabs?.[0]?.id || 0;\r\n if (this.tabsFragment?.includes(activeFragment)) {\r\n this.activeFragment = this.tabs?.find(f => f.fragment === activeFragment)?.id;\r\n if (this.needInitEvent) {\r\n this.setActiveTab.emit(this.activeFragment);\r\n }\r\n } else if (this.needInitEvent) {\r\n this.setActiveTab.emit(this.activeFragment);\r\n }\r\n }\r\n}\r\n","@if (tabs?.length) {\r\n<div class=\"tabs-filter-types\">\r\n @for (tab of tabs; track tab) {\r\n <div\r\n (click)=\"checkActiveTab(tab)\"\r\n [class.active]=\"tab.id === activeFragment\"\r\n class=\"tabs-filter-types__type\">\r\n {{ tab.title }}\r\n </div>\r\n }\r\n</div>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Host,\r\n Input,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n} from '@angular/core';\r\nimport {ControlContainer, FormsModule, NG_VALUE_ACCESSOR} from '@angular/forms';\r\nimport {NgOptimizedImage} from '@angular/common';\r\nimport {LibCommonInputTextComponent} from '../common/lib-common-input-text';\r\nimport {LibSvgIconComponent} from \"../lib-svg-icon/lib-svg-icon.component\";\r\n\r\n@Component({\r\n selector: 'dd-lib-textarea',\r\n standalone: true,\r\n imports: [FormsModule, NgOptimizedImage, LibSvgIconComponent],\r\n templateUrl: './lib-textarea.component.html',\r\n styleUrl: './lib-textarea.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LibTextareaComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class LibTextareaComponent extends LibCommonInputTextComponent implements OnInit {\r\n @Input() public rows = '6';\r\n @Input() public needCounter = true;\r\n\r\n constructor(\r\n changeDetection: ChangeDetectorRef,\r\n @Optional() @Host() @SkipSelf() private controlContainer: ControlContainer,\r\n ) {\r\n super(changeDetection);\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.control =\r\n this.controlContainer && this.formControlName\r\n ? this.controlContainer?.control?.get(this.formControlName)\r\n : null;\r\n }\r\n}\r\n","<div class=\"lib-textarea\">\r\n <label [for]=\"id\" class=\"lib-textarea__title\">\r\n {{ label }} @if (needCounter) {\r\n <span>(осталось {{ maxlength - (value?.length || 0) }} символов)</span>\r\n } @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative d-flex\">\r\n <textarea\r\n #textarea\r\n (blur)=\"notifyFocusEvent($event)\"\r\n (change)=\"handleChange()\"\r\n (focus)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n [required]=\"required\"\r\n [rows]=\"rows\"\r\n class=\"textarea\"></textarea>\r\n <span class=\"lib-textarea__counter\">{{ value?.length || 0 }}/{{ maxlength }}</span>\r\n </div>\r\n\r\n @if (errorText && invalid) {\r\n <div class=\"lib-input__error\">{{ errorText }}</div>\r\n }\r\n</div>\r\n","import { debounceTime, switchMap, throttleTime } from 'rxjs/operators';\r\nimport { combineLatest, Observable, of, Subject } from 'rxjs';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\n// export function Debounce(delay: number = 1000): MethodDecorator {\r\n// return function (_target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) {\r\n// let timeout: any = null;\r\n// const original = descriptor.value;\r\n//\r\n// descriptor.value = function (...args: any) {\r\n// clearTimeout(timeout);\r\n// timeout = setTimeout(() => original.apply(this, args), delay);\r\n// };\r\n//\r\n// return descriptor;\r\n// };\r\n//\r\n// }\r\n\r\nexport function Debounce(delay: number = 1000): MethodDecorator {\r\n return function (_target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) {\r\n const originalMethod = descriptor.value;\r\n const subject = new Subject();\r\n let lastArgs: any[] | null = null;\r\n let isFirstCall = true;\r\n\r\n descriptor.value = function (this: any, ...args: any[]) {\r\n if (isFirstCall) {\r\n isFirstCall = false;\r\n originalMethod.apply(this, args);\r\n } else {\r\n lastArgs = args;\r\n if (!subject.isStopped) {\r\n subject.next(null);\r\n }\r\n }\r\n\r\n subject.pipe(debounceTime(delay)).subscribe(() => {\r\n if (lastArgs) {\r\n originalMethod.apply(this, lastArgs);\r\n lastArgs = null;\r\n }\r\n });\r\n };\r\n\r\n return descriptor;\r\n };\r\n}\r\n\r\nexport function Throttle(delay: number = 1000): MethodDecorator {\r\n let isThrottled = false;\r\n\r\n return function (_target: any, _propertyKey: string | symbol, descriptor: PropertyDescriptor) {\r\n const originalMethod = descriptor.value;\r\n\r\n descriptor.value = function (this: any, ...args: any[]) {\r\n if (!isThrottled) {\r\n isThrottled = true;\r\n originalMethod.apply(this, args);\r\n\r\n setTimeout(() => {\r\n isThrottled = false;\r\n }, delay);\r\n }\r\n };\r\n\r\n return descriptor;\r\n };\r\n}\r\n\r\nexport function Disabled<C, K extends keyof C = keyof C>(\r\n controlKey: K,\r\n streams: K[] = ['loadings', 'subloadings'] as K[],\r\n): PropertyDecorator {\r\n return function (target: any, key: string | symbol): void {\r\n Object.defineProperty(target, key, {\r\n enumerable: false,\r\n configurable: true,\r\n get () {\r\n const control: AbstractControl | undefined | null = this[controlKey];\r\n\r\n if (!control) {\r\n return of(true);\r\n }\r\n\r\n if (streams.length === 0) {\r\n const checkControl = control.invalid || !control.dirty;\r\n return of(checkControl);\r\n }\r\n\r\n const streams$: Observable<boolean>[] = streams\r\n .filter(streamKey => !!this[streamKey])\r\n .map(streamKey => this[streamKey]);\r\n\r\n return combineLatest(streams$).pipe(\r\n switchMap(streamsSwitch => {\r\n const checkControl = control.invalid || !control.dirty;\r\n const checkLoaders = streamsSwitch.some(loader => loader);\r\n\r\n return of(checkControl || checkLoaders);\r\n }),\r\n );\r\n },\r\n });\r\n };\r\n}\r\n\r\nexport function DisableAfterNCall(limit: number = 5) {\r\n return function (target: any, key: string, descriptor: PropertyDescriptor) {\r\n const originalMethod = descriptor.value;\r\n let count = 0;\r\n\r\n descriptor.value = function (...args: any[]) {\r\n count++;\r\n if (count <= limit) {\r\n return originalMethod.apply(this, args);\r\n } else {\r\n console.log(`Метод ${key} будет отключен после ${limit} вызовов`);\r\n }\r\n };\r\n\r\n return descriptor;\r\n };\r\n}\r\n","import {ChangeDetectionStrategy, Component, Inject, InjectionToken} from '@angular/core';\r\nimport {NgIf, NgOptimizedImage} from '@angular/common';\r\nimport {ToastService, ToastType} from '../toast.service';\r\nimport {LibSvgIconComponent} from \"../../lib-svg-icon/lib-svg-icon.component\";\r\n\r\nexport interface ToastData {\r\n title?: string;\r\n description?: string;\r\n type: ToastType;\r\n id: number;\r\n}\r\n\r\nexport const TOAST_DATA = new InjectionToken<ToastData>('ToastData');\r\n\r\n@Component({\r\n selector: 'dd-toast-base',\r\n standalone: true,\r\n imports: [NgOptimizedImage, NgIf, LibSvgIconComponent],\r\n templateUrl: './toast-base.component.html',\r\n styleUrl: './toast-base.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ToastBaseComponent {\r\n public get id() {\r\n return this.data.id;\r\n }\r\n\r\n public title: string | undefined;\r\n protected data: ToastData;\r\n\r\n constructor(private toastService: ToastService, @Inject(TOAST_DATA) public ddToastData: ToastData) {\r\n this.data = { ...this.ddToastData };\r\n }\r\n\r\n public destroy(): void {\r\n this.toastService.destroyToast(this.id);\r\n }\r\n}\r\n","<div (click)=\"destroy()\" class=\"toast-wrapper {{ data.type }}\">\n <dd-lib-svg-icon [icon]=\"data.type\"></dd-lib-svg-icon>\n <div>\n <div>{{ data.title }}</div>\n <div>{{ data.description }}</div>\n </div>\n</div>\n","import {Injectable, Injector, ViewContainerRef} from '@angular/core';\r\nimport {ConnectedPosition, Overlay, PositionStrategy} from '@angular/cdk/overlay';\r\nimport {ComponentPortal} from '@angular/cdk/portal';\r\nimport {TOAST_DATA, ToastBaseComponent, ToastData} from './toast-base/toast-base.component';\r\n\r\nexport enum ToastType {\r\n Warning = 'warning_t',\r\n Success = 'success_t',\r\n Info = 'info_t',\r\n Danger = 'danger_t',\r\n}\r\n\r\nexport class ToastConfig {\r\n public timeOut = 5000;\r\n\r\n constructor(config?: ToastConfig) {\r\n if (config) {\r\n Object.keys(config).forEach(key => (this[key as keyof ToastConfig] = config[key as keyof ToastConfig]));\r\n }\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ToastService {\r\n public config = new ToastConfig();\r\n private viewContainer: ViewContainerRef | undefined;\r\n private counter = 0;\r\n public ddToastData: ToastData = { type: ToastType.Success, id: this.counter };\r\n private injector: Injector | undefined;\r\n private overlayRefs: any = {};\r\n\r\n constructor(private overlay: Overlay) {}\r\n\r\n public warning(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Warning);\r\n }\r\n\r\n public success(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Success);\r\n }\r\n\r\n public danger(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Danger);\r\n }\r\n\r\n public info(title: string, description?: string): void {\r\n this.createToast(title, description, ToastType.Info);\r\n }\r\n\r\n public registerViewContainerRef(vcRef: ViewContainerRef): void {\r\n this.viewContainer = vcRef;\r\n }\r\n\r\n public registerInjector(injector: Injector): void {\r\n this.injector = injector;\r\n }\r\n\r\n public destroyToast(id: number): void {\r\n if (this.overlayRefs?.[id].hasAttached() === true) {\r\n this.overlayRefs?.[id].detach();\r\n }\r\n }\r\n\r\n private createToast(title: string, description: string | undefined, type: ToastType) {\r\n const positionStrategy = this.getPositionStrategy();\r\n // this.overlayRef = this.overlay.create({ positionStrategy });\r\n this.overlayRefs[this.counter] = this.overlay.create({ positionStrategy });\r\n this.ddToastData.title = title;\r\n this.ddToastData.description = description;\r\n this.ddToastData.type = type;\r\n this.ddToastData.id = this.counter;\r\n const injector = Injector.create({\r\n providers: [\r\n {\r\n provide: TOAST_DATA,\r\n useValue: this.ddToastData,\r\n },\r\n ],\r\n parent: this.injector,\r\n });\r\n const component = new ComponentPortal(ToastBaseComponent, this.viewContainer, injector);\r\n console.log(component)\r\n // this.overlayRef.attach(component);\r\n this.overlayRefs[this.counter].attach(component);\r\n setTimeout(() => {\r\n for (const id in this.overlayRefs) {\r\n if (this.overlayRefs[id]?.hasAttached()) {\r\n this.overlayRefs[id]?.detach();\r\n }\r\n }\r\n\r\n // if (this.overlayRef?.hasAttached() === true) {\r\n // this.overlayRef?.detach();\r\n // }\r\n }, this.config.timeOut);\r\n this.counter++;\r\n }\r\n\r\n private getPositionStrategy(): PositionStrategy {\r\n let element;\r\n let positions;\r\n const haveToast = document.getElementsByClassName('cdk-overlay-pane');\r\n if (haveToast.length) {\r\n element = haveToast[haveToast.length - 1];\r\n positions = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n panelClass: 'toast-top',\r\n },\r\n ] as ConnectedPosition[];\r\n } else {\r\n element = document.getElementsByTagName('body')[0];\r\n positions = [\r\n {\r\n originX: 'end',\r\n originY: 'top',\r\n overlayX: 'end',\r\n overlayY: 'top',\r\n panelClass: '',\r\n },\r\n ] as ConnectedPosition[];\r\n }\r\n return this.overlay.position().flexibleConnectedTo(element).withPositions(positions);\r\n }\r\n}\r\n","import {Component, Injector, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {ToastService} from '../toast.service';\r\n\r\n@Component({\r\n selector: 'dd-toast-placeholder',\r\n standalone: true,\r\n template: ` <div #toastPlaceholder></div>\r\n <div id=\"toast-overlay\"></div>`,\r\n})\r\nexport class ToastPlaceholderComponent {\r\n @ViewChild('toastPlaceholder', { read: ViewContainerRef, static: true })\r\n private viewContainerRef: ViewContainerRef | undefined;\r\n\r\n constructor(private toastService: ToastService, private injector: Injector) {}\r\n\r\n public ngOnInit() {\r\n this.toastService.registerViewContainerRef(this.viewContainerRef!);\r\n this.toastService.registerInjector(this.injector);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of dd-lib\r\n */\r\nexport const t = true\r\n// components\r\nexport * from './lib/common/lib-common-button'\r\nexport * from './lib/common/lib-common-input-text'\r\nexport * from './lib/lib-loader/lib-loader.component'\r\nexport * from './lib/lib-button/lib-button.component'\r\nexport * from './lib/lib-accordion/lib-accordion.component'\r\nexport * from './lib/lib-back-button/lib-back-button.component'\r\nexport * from './lib/lib-calendar/lib-calendar.component'\r\nexport * from './lib/lib-card/lib-card.component'\r\nexport * from './lib/lib-checkbox/lib-checkbox.component'\r\nexport * from './lib/lib-comment-input/lib-comment-input.component'\r\nexport * from './lib/lib-file-upload/lib-file-upload.component'\r\nexport * from './lib/lib-filter-button/lib-filter-button.component'\r\nexport * from './lib/lib-image-loader/lib-image-loader.component'\r\nexport * from './lib/lib-input/lib-input.component'\r\nexport * from './lib/lib-period/lib-period.component'\r\nexport * from './lib/lib-radio/lib-radio.component'\r\nexport * from './lib/lib-search-input/lib-search-input.component'\r\nexport * from './lib/lib-select/lib-select.component'\r\nexport * from './lib/lib-skeleton/lib-skeleton.component'\r\nexport * from './lib/lib-sort/lib-sort.component'\r\nexport * from './lib/lib-step/lib-step.component'\r\nexport * from './lib/lib-svg/lib-svg.component'\r\nexport * from './lib/lib-svg-icon/lib-svg-icon.component'\r\nexport * from './lib/lib-tabs-fragment/lib-tabs-fragment.component'\r\nexport * from './lib/lib-textarea/lib-textarea.component'\r\nexport * from './lib/utils/decorators'\r\n\r\nexport * from './lib/toast/toast.service'\r\nexport * from './lib/toast/toast-placeholder/toast-placeholder.component'\r\nexport * from './lib/core/index'\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.DialogConfig","DialogRef","i2","i1.DateService","i1.DestroyService","i1.ToastService"],"mappings":"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"}