rd-outer-component 0.1.21 → 0.1.23

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":"rd-outer-component.mjs","sources":["../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.component.ts","../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.component.html","../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.module.ts","../../../projects/shared-lib/src/lib/modules/form-item/form-item.component.ts","../../../projects/shared-lib/src/lib/modules/form-item/form-item.component.html","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.component.ts","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.component.html","../../../projects/shared-lib/src/lib/modules/form-item/form-item.module.ts","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.module.ts","../../../projects/shared-lib/src/lib/utils/big-number.ts","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.component.ts","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.component.html","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.module.ts","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.component.ts","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.component.html","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.module.ts","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.component.ts","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.component.html","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.module.ts","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.component.ts","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.component.html","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.module.ts","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.component.ts","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.component.html","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.module.ts","../../../projects/shared-lib/src/lib/modules/status-field/status-field.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.html","../../../projects/shared-lib/src/lib/modules/status-field/status-field.module.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.module.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.types.ts","../../../projects/shared-lib/src/lib/utils/form-vaild-lang.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.html","../../../projects/shared-lib/src/lib/utils/debounce.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.html","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.component.html","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.module.ts","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.component.ts","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.component.html","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.module.ts","../../../projects/shared-lib/src/lib/modules/header-step/header-step.component.ts","../../../projects/shared-lib/src/lib/modules/header-step/header-step.component.html","../../../projects/shared-lib/src/lib/modules/header-step/header-step.module.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.component.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.component.html","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.service.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.module.ts","../../../projects/shared-lib/src/lib/modules/task-base/task-base.component.ts","../../../projects/shared-lib/src/lib/modules/rd-loading/rd-loading.component.ts","../../../projects/shared-lib/src/lib/modules/rd-loading/rd-loading.module.ts","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.component.ts","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.component.html","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.component.ts","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.component.html","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.module.ts","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.module.ts","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.component.ts","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.component.html","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.module.ts","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.component.ts","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.component.html","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.module.ts","../../../projects/shared-lib/src/lib/pipes/big-number.pipe.ts","../../../projects/shared-lib/src/lib/pipes/pipes.module.ts","../../../projects/shared-lib/src/lib/decorators/search-debounce.decorator.ts","../../../projects/shared-lib/src/public-api.ts","../../../projects/shared-lib/src/rd-outer-component.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ISelectOption } from '../custom-select';\n\n@Component({\n selector: 'app-rd-checkbox',\n templateUrl: './custom-checkbox.component.html',\n styleUrls: ['./custom-checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomCheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CustomCheckboxComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() type: '' | 'isBpn' = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n @Input()\n set options(val: any) {\n this._rawOptions = val;\n }\n get options(): any {\n return this._rawOptions;\n }\n\n @Output() valueChange = new EventEmitter<ISelectOption[]>();\n\n private _rawOptions: ISelectOption[] = [];\n\n value: ISelectOption | undefined = undefined;\n nativeValue: ISelectOption['value'] | undefined = undefined;\n\n onChange: (value: ISelectOption[]) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: ISelectOption): void {\n this.value = value;\n this.nativeValue = value?.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n handleValueChange(value: ISelectOption[]): void {\n this.onChange(value);\n this.valueChange.emit(value);\n }\n}\n","<div>\n <div\n class=\"rd-form-item-check\"\n [ngClass]=\"{\n disabled: disabled,\n isBpn: type === 'isBpn',\n }\"\n >\n <div class=\"rd-form-item-check-label\">{{ label }}</div>\n <nz-checkbox-group\n [(ngModel)]=\"options\"\n (ngModelChange)=\"handleValueChange($event)\"\n ></nz-checkbox-group>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CustomCheckboxComponent } from './custom-checkbox.component';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\n@NgModule({\n declarations: [CustomCheckboxComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, NzCheckboxModule],\n exports: [CustomCheckboxComponent],\n})\nexport class RdCheckboxModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'app-rd-form-item',\n templateUrl: './form-item.component.html',\n styleUrls: ['./form-item.component.scss'],\n})\nexport class FormItemComponent {\n @Input() errorMessage?: string;\n @Input() disabled?: boolean;\n @Input() label?: string;\n @Input() type?: 'select' | 'date';\n @Input() focus?: boolean;\n @Input() value?: string | number | any;\n @Input() size?: 'small' | 'normal' = 'normal';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get isShowSelectIcon() {\n return this.type === 'select';\n }\n\n get isShowDateIcon() {\n return this.type === 'date';\n }\n}\n","<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': !!errorMessage,\n 'rd-focus': focus,\n 'rd-has-value': !!value,\n 'rd-form-item-s': size === 'small',\n 'rd-form-item-normal': size === 'normal',\n }\"\n>\n <ng-content></ng-content>\n <div *ngIf=\"label\" class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n *ngIf=\"isShowSelectIcon\"\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? 'var(--rd-copy-disable)' : 'var(--rd-copy-primary)'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n<div *ngIf=\"errorMessage\" class=\"rd-form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ errorMessage }}\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NzDatePickerComponent } from 'ng-zorro-antd/date-picker';\n\n@Component({\n selector: 'app-rd-date',\n templateUrl: './custom-date.component.html',\n styleUrls: [\n './custom-date.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomDateComponent),\n multi: true,\n },\n ],\n})\nexport class CustomDateComponent implements ControlValueAccessor, Validator {\n @Input() disabled = false;\n @Input() disabledDate?: (d: Date) => boolean;\n @Input() label!: string;\n @Input() type: 'date' | 'range' = 'date';\n @Input() required = false;\n @Input() name = '';\n @Input() placeholder: string = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n @Input() errorMessages: { [key: string]: string } = {\n required: 'please_select_date',\n invalid: 'invalid_date',\n custom: 'validation_failed',\n };\n\n @ViewChild('datePicker') datePicker!: NzDatePickerComponent;\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get popupClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['rd-form-item-date-popup', themeClass].filter(Boolean).join(' ');\n }\n\n inputValue: [string, string] | string | null = null;\n isPickerOpen = false;\n isFocus = false;\n isComponentReady = false;\n\n private control: AbstractControl | null = null;\n private onChange: any = () => {};\n private onTouched: any = () => {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n switch (firstError) {\n case 'required':\n return `${this.translate.instant(\n 'please_select',\n )}${this.label.toLowerCase()}`;\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get displayValue(): string {\n if (!this.inputValue) return '';\n\n if (this.type === 'range' && Array.isArray(this.inputValue)) {\n const [start, end] = this.inputValue;\n return `${start || ''} - ${end || ''}`;\n }\n\n return this.inputValue as string;\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.control = control;\n\n // 添加自定义验证逻辑\n const errors: ValidationErrors = {};\n\n // 必填验证\n if (this.required && !this.inputValue) {\n errors['required'] = true;\n return errors;\n }\n\n // 如果是范围选择,验证两个日期都有值\n if (this.type === 'range' && Array.isArray(this.inputValue)) {\n const [start, end] = this.inputValue;\n if ((start && !end) || (!start && end)) {\n errors['incomplete'] = true;\n return errors;\n }\n }\n\n return null;\n }\n\n writeValue(value: any): void {\n this.inputValue = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onDateChange(value: any): void {\n this.inputValue = value;\n this.onChange(value);\n\n // 触发验证\n if (this.control) {\n this.control.markAsTouched();\n this.control.updateValueAndValidity();\n }\n\n this.cdr.markForCheck();\n }\n\n onOpenChange(open: any): void {\n setTimeout(() => {\n this.isPickerOpen = open;\n this.cdr.markForCheck();\n }, 0);\n }\n\n openPicker(): void {\n if (this.disabled || this.isPickerOpen) {\n return;\n }\n this.isPickerOpen = true;\n this.datePicker?.open();\n }\n\n onFocus(): void {\n this.isFocus = true;\n }\n\n onBlur(): void {\n this.isFocus = false;\n this.onTouched();\n }\n\n ngAfterViewInit(): void {\n // 等待下一个变更检测周期,确保所有样式和类已应用\n setTimeout(() => {\n this.isComponentReady = true;\n this.cdr.markForCheck();\n }, 0);\n }\n\n // 在组件中\n disabledEndDate = (current: Date): boolean => {\n if (!current) {\n return false;\n }\n\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n const currentDate = new Date(current);\n currentDate.setHours(0, 0, 0, 0);\n\n // 禁用今天和未来的日期\n return currentDate.getTime() >= today.getTime();\n };\n}\n","<div [class.rd-date-ready]=\"isComponentReady\" class=\"rd-date-container\">\n <app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isPickerOpen\"\n [type]=\"'date'\"\n [label]=\"label\"\n [value]=\"displayValue\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openPicker()\"\n >\n <nz-range-picker\n *ngIf=\"type === 'range'\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onDateChange($event)\"\n (nzOnOpenChange)=\"onOpenChange($event)\"\n [nzFormat]=\"'dd/MM/yyyy'\"\n [nzShowTime]=\"false\"\n [nzAllowClear]=\"false\"\n [nzPlaceHolder]=\"['From', 'To']\"\n class=\"rd-form-item-date\"\n [nzDisabledDate]=\"disabledDate\"\n [nzDropdownClassName]=\"popupClassName\"\n [nzSeparator]=\"'-'\"\n [nzDisabled]=\"disabled\"\n nzSuffixIcon=\"\"\n #datePicker\n nzBorderless\n nzPlacement=\"bottomRight\"\n [nzInputReadOnly]=\"true\"\n [name]=\"name\"\n (nzFocus)=\"onFocus()\"\n (nzBlur)=\"onBlur()\"\n [ngClass]=\"{\n 'rd-form-item-date-hide': !inputValue?.length,\n }\"\n ></nz-range-picker>\n <nz-date-picker\n *ngIf=\"type === 'date'\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onDateChange($event)\"\n (nzOnOpenChange)=\"onOpenChange($event)\"\n [nzFormat]=\"'dd/MM/yyyy'\"\n [nzShowTime]=\"false\"\n [nzAllowClear]=\"false\"\n [nzShowToday]=\"false\"\n class=\"rd-form-item-date\"\n [nzDisabledDate]=\"disabledDate || disabledEndDate\"\n [nzDropdownClassName]=\"popupClassName\"\n [nzDisabled]=\"disabled\"\n nzSuffixIcon=\"\"\n #datePicker\n nzBorderless\n [nzInputReadOnly]=\"true\"\n [name]=\"name\"\n (nzFocus)=\"onFocus()\"\n (nzBlur)=\"onBlur()\"\n [ngClass]=\"{\n 'rd-form-item-date-hide': !inputValue,\n }\"\n ></nz-date-picker>\n </app-rd-form-item>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n declarations: [FormItemComponent],\n exports: [FormItemComponent],\n imports: [CommonModule],\n})\nexport class FormItemModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomDateComponent } from './custom-date.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FormItemModule } from '../form-item/form-item.module';\n\n@NgModule({\n declarations: [CustomDateComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzDatePickerModule,\n FormItemModule,\n ],\n exports: [CustomDateComponent],\n})\nexport class RdDateModule {}\n","import Big from 'big.js';\n\nexport function formatBigNumber(\n value: string | number | undefined,\n precision: number | null = 6,\n mode: 'cut' | 'toFixed' | 'keepAll' = 'cut'\n): string {\n if (!value) return '';\n\n try {\n const bigValue = new Big(value);\n let fixedValue = '';\n\n switch (mode) {\n case 'keepAll':\n fixedValue = bigValue.toString();\n break;\n default:\n // 如果 precision 是 null,则转为 undefined\n const roundPrecision = precision === null ? undefined : precision;\n fixedValue = bigValue\n .round(roundPrecision, 0)\n .toFixed(precision === null ? 0 : precision);\n if (mode === 'cut') {\n fixedValue = fixedValue.replace(/\\.?0+$/, '');\n }\n break;\n }\n\n const parts = fixedValue.split('.');\n const integerPart = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n const decimalPart = parts[1] ? '.' + parts[1] : '';\n\n return integerPart + decimalPart;\n } catch (error) {\n console.error('Invalid number format:', value);\n return `${value}`;\n }\n}\n\nexport function numberToBig(\n value: string,\n precision = 6,\n mode: 'cut' | 'toFixed' = 'cut'\n) {\n if (!value) return '';\n const fixedValue = new Big(value).round(precision, 0).toFixed(precision);\n\n if (mode === 'toFixed') {\n return fixedValue;\n }\n return fixedValue.replace(/\\.?0+$/, '');\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\nimport Big from 'big.js';\nimport { formatBigNumber } from '../../utils/big-number';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-input',\n templateUrl: './custom-input.component.html',\n styleUrls: [\n './custom-input.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CustomInputComponent),\n multi: true,\n },\n ],\n})\nexport class CustomInputComponent implements ControlValueAccessor, Validator {\n @Input() label: string = '';\n @Input() symbol = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() maskNumber = 6;\n @Input() maskType: 'amount' | 'number' | 'text' = 'text';\n @Input() type: 'password' | 'text' | 'select' = 'text';\n @Input() allowNegativeNumbers = true;\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n @Input() required = false;\n @Input() placeholder?: string;\n @Input() min?: number;\n @Input() max?: number;\n @Input() minLength?: number;\n @Input() maxLength?: number;\n @Input() pattern?: string | RegExp;\n @Input() customValidator?: ValidatorFn;\n @Input() size?: 'small' | 'default' = 'default';\n\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'Invalid format',\n custom: 'Validation failed',\n };\n\n @Output() valueChange = new EventEmitter<string>();\n @Output() focus = new EventEmitter<void>();\n @Output() blur = new EventEmitter<void>();\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n value: string = '';\n isFocused = false;\n private touched = false;\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n private control: AbstractControl | null = null;\n private onValidatorChange: () => void = () => {};\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n );\n case 'min':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'min_value_error',\n )}${formatBigNumber(this.min)}`\n );\n case 'max':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'max_value_error',\n )}${formatBigNumber(this.max)}`\n );\n case 'precision':\n return (\n msg ||\n `${this.translate.instant('max_decimal_places')}${this.maskNumber}`\n );\n case 'minLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_be_less')}${this.minLength}`\n );\n case 'maxLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_exceed')}${this.maxLength}`\n );\n case 'email':\n return msg || `${this.translate.instant('email_invalid')}`;\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get resolvedPlaceholder(): string {\n if (!this.label) return this.placeholder || '';\n return this.isFocused ? this.placeholder || ' ' : ' ';\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n writeValue(value: string): void {\n this.value = value || '';\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (this.type === 'select') {\n this.disabled = true;\n } else {\n this.disabled = isDisabled;\n }\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.isFocused = false;\n this.touched = true;\n this.onTouched();\n this.blur.emit();\n this.cdr.markForCheck();\n }\n\n onFocus(): void {\n this.isFocused = true;\n this.focus.emit();\n }\n\n handleValueChange(value: string): void {\n const cleanedValue =\n this.maskType === 'amount'\n ? value.replace(/,/g, '')\n : typeof value === 'string'\n ? value.trim()\n : value;\n this.value = cleanedValue;\n this.onChange(cleanedValue);\n this.valueChange.emit(cleanedValue);\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n const errors: ValidationErrors = {};\n let value;\n if (this.maskType === 'amount') {\n value = control?.value?.replace(/,/g, '');\n\n try {\n if (value) {\n const bigValue = new Big(value);\n if (this.min && !Number.isNaN(this.min) && bigValue.lt(this.min)) {\n errors['min'] = { min: this.min, actual: value };\n }\n if (this.max && !Number.isNaN(this.max) && bigValue.gt(this.max)) {\n errors['max'] = { max: this.max, actual: value };\n }\n }\n } catch (error) {\n errors['invalid'] = true;\n }\n } else {\n value =\n typeof control?.value === 'string'\n ? control?.value?.trim()\n : control?.value;\n }\n\n if (this.required && !value) {\n errors['required'] = true;\n }\n\n if (value && typeof value === 'string') {\n if (this.minLength && value.length < this.minLength) {\n errors['minLength'] = {\n requiredLength: this.minLength,\n actualLength: value.length,\n };\n }\n if (this.maxLength && value.length > this.maxLength) {\n errors['maxLength'] = {\n requiredLength: this.maxLength,\n actualLength: value.length,\n };\n }\n }\n\n if (this.pattern && value) {\n const pattern =\n this.pattern instanceof RegExp\n ? this.pattern\n : new RegExp(this.pattern);\n if (!pattern.test(value)) {\n errors['pattern'] = { requiredPattern: pattern, actualValue: value };\n }\n }\n\n if (this.customValidator) {\n const customErrors = this.customValidator(control!);\n if (customErrors) {\n Object.assign(errors, customErrors);\n }\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","<div\n [ngClass]=\"{\n 'rd-form-item-rd-input-relative': type === 'select',\n 'rd-form-item-s': size === 'small',\n }\"\n>\n <div\n class=\"rd-form-item rd-form-item-p-deal\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': showError,\n 'rd-focus': isFocused,\n 'rd-has-value': !!value,\n 'rd-form-item-input-select': type === 'select',\n 'rd-form-item-password': type === 'password',\n }\"\n >\n <input\n nz-input\n [placeholder]=\"resolvedPlaceholder\"\n [name]=\"name\"\n aria-autocomplete=\"none\"\n [type]=\"type\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [allowNegativeNumbers]=\"allowNegativeNumbers\"\n [dropSpecialCharacters]=\"false\"\n [mask]=\"\n maskType === 'amount'\n ? 'separator.' + maskNumber\n : maskType === 'number'\n ? '0*'\n : ''\n \"\n [thousandSeparator]=\"maskType === 'amount' ? ',' : ''\"\n class=\"rd-form-item-input\"\n [ngClass]=\"{\n 'rd-form-item-input-no-label': !label,\n }\"\n />\n <div class=\"rd-form-item-label\" *ngIf=\"label\">{{ label }}</div>\n <ng-container *ngIf=\"symbol\">\n <div class=\"rd-input-symbol\">{{ symbol }}</div>\n </ng-container>\n </div>\n <div class=\"rd-form-item-rd-input-absolute\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <svg\n class=\"rd-error-icon-light\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EA485D\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EA485D\"\n />\n </svg>\n\n <svg\n class=\"rd-error-icon-dark\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EF7484\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EF7484\"\n />\n </svg>\n\n {{ currentErrorMessage | translate }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { CustomInputComponent } from './custom-input.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [CustomInputComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzInputModule,\n NgxMaskModule,\n TranslateModule,\n ],\n exports: [CustomInputComponent],\n})\nexport class RdInputModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-textarea',\n templateUrl: './custom-textarea.component.html',\n styleUrls: [\n './custom-textarea.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomTextareaComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CustomTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class CustomTextareaComponent\n implements ControlValueAccessor, Validator\n{\n @Input() lang = 'en';\n @Input() label: string = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() required = false;\n @Input() minLength?: number;\n @Input() maxLength?: number;\n @Input() pattern?: string | RegExp;\n @Input() customValidator?: ValidatorFn;\n @Input() nzAutosize: boolean = true;\n @ViewChild(CdkTextareaAutosize) autosize?: CdkTextareaAutosize;\n\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'Invalid format',\n custom: 'Validation failed',\n };\n\n @Output() valueChange = new EventEmitter<string>();\n @Output() focus = new EventEmitter<void>();\n @Output() blur = new EventEmitter<void>();\n\n value: string = '';\n isFocused = false;\n private touched = false;\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n private control: AbstractControl | null = null;\n private onValidatorChange: () => void = () => {};\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n );\n case 'minLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_be_less')}${this.minLength}`\n );\n case 'maxLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_exceed')}${this.maxLength}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n writeValue(value: string): void {\n this.value = value || '';\n this.cdr.markForCheck();\n setTimeout(() => {\n this.autosize?.resizeToFitContent(true);\n });\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.isFocused = false;\n this.touched = true;\n this.onTouched();\n this.blur.emit();\n this.cdr.markForCheck();\n }\n\n handleValueChange(value: string): void {\n const cleanedValue = value.trim();\n this.value = cleanedValue;\n this.onChange(cleanedValue);\n this.valueChange.emit(cleanedValue);\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n const errors: ValidationErrors = {};\n let value = control?.value?.trim();\n\n if (this.required && !value) {\n errors['required'] = true;\n }\n\n if (value && typeof value === 'string') {\n if (this.minLength && value.length < this.minLength) {\n errors['minLength'] = {\n requiredLength: this.minLength,\n actualLength: value.length,\n };\n }\n if (this.maxLength && value.length > this.maxLength) {\n errors['maxLength'] = {\n requiredLength: this.maxLength,\n actualLength: value.length,\n };\n }\n }\n\n if (this.pattern && value) {\n const pattern =\n this.pattern instanceof RegExp\n ? this.pattern\n : new RegExp(this.pattern);\n if (!pattern.test(value)) {\n errors['pattern'] = { requiredPattern: pattern, actualValue: value };\n }\n }\n\n if (this.customValidator) {\n const customErrors = this.customValidator(control!);\n if (customErrors) {\n Object.assign(errors, customErrors);\n }\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","<div>\n <div\n class=\"rd-form-item rd-form-textarea\"\n [ngClass]=\"{ disabled: disabled, error: showError }\"\n >\n <textarea\n nz-input\n nzBorderless\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [nzAutosize]=\"nzAutosize\"\n placeholder=\" \"\n class=\"rd-form-item-input\"\n ></textarea>\n <div class=\"rd-form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { CustomTextareaComponent } from './custom-textarea.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [CustomTextareaComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzInputModule,\n TranslateModule,\n ],\n exports: [CustomTextareaComponent],\n})\nexport class RdTextareaModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport Big from 'big.js';\nimport { formatBigNumber, numberToBig } from '../../utils/big-number';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-input-amount',\n templateUrl: './custom-input-amount.component.html',\n styleUrls: [\n './custom-input-amount.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomInputAmountComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CustomInputAmountComponent),\n multi: true,\n },\n ],\n})\nexport class CustomInputAmountComponent\n implements ControlValueAccessor, Validator\n{\n @Input() lang = 'en';\n @Input() label = '';\n @Input() symbol = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() min?: number;\n @Input() max?: number;\n @Input() nzPrecision = 6;\n @Input() allowNegativeNumbers = true;\n @Input() required = true;\n @Input() nzSize: 'default' | 'small' = 'default';\n @Input() errorMessages: any = {\n invalid: 'Please enter a valid number',\n };\n @Input() clearError = true;\n\n @Output() blur = new EventEmitter<void>();\n @Output() focus = new EventEmitter<void>();\n @Output() valueChange = new EventEmitter<string>();\n @Input() theme?: 'light' | 'dark';\n\n inputValue: string = ''; // 绑定到输入框\n private value: string = ''; // 内部值,始终以 string 形式存储\n private touched = false;\n private control: AbstractControl | null = null;\n errors: ValidationErrors | null = null;\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n private onValidatorChange: () => void = () => {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n const msg = this.errorMessages[firstError];\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n );\n case 'min':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'min_value_error',\n )}${formatBigNumber(this.min)}`\n );\n case 'max':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'max_value_error',\n )}${formatBigNumber(this.max)}`\n );\n case 'precision':\n return (\n msg ||\n `${this.translate.instant('max_decimal_places')}${this.nzPrecision}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n `${this.translate.instant('validation_failed')}`\n );\n default:\n return msg || this.translate.instant('validation_failed');\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n handleValueChange(value: string): void {\n const rawValue = value.replace(/,/g, '');\n\n // 处理输入的值,转换成 Big.js 格式\n this.value = numberToBig(rawValue, this.nzPrecision);\n\n // 更新绑定值\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n\n this.touched = true;\n this.onTouched();\n\n if (this.control) {\n const errors = this.validate(this.control);\n this.control.setErrors(errors);\n this.onValidatorChange();\n }\n\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.touched = true;\n this.onTouched();\n if (this.control && this.clearError) {\n const errors = this.validate(this.control);\n this.control.setErrors(errors);\n this.onValidatorChange();\n }\n this.cdr.markForCheck();\n this.blur.emit();\n }\n\n onFocus() {\n this.focus.emit();\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n const errors: ValidationErrors = {};\n const value = this.value;\n\n if (this.required && !value) {\n errors['required'] = true;\n }\n\n if (value) {\n try {\n const bigValue = new Big(value);\n\n if (this.min && !Number.isNaN(this.min) && bigValue.lt(this.min)) {\n errors['min'] = { min: this.min, actual: value };\n }\n if (this.max && !Number.isNaN(this.max) && bigValue.gt(this.max)) {\n errors['max'] = { max: this.max, actual: value };\n }\n\n const decimalPlaces = value.split('.')[1]?.length || 0;\n if (decimalPlaces > this.nzPrecision) {\n errors['precision'] = true;\n }\n } catch (e) {\n errors['invalid'] = true;\n }\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n\n writeValue(value: string | number | null): void {\n const v = value?.toString() ?? '';\n this.value = v;\n this.inputValue = v;\n this.cdr.markForCheck();\n }\n}\n","<div>\n <div\n class=\"rd-form-number-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': showError,\n 'rd-form-number-small': nzSize === 'small',\n disabled: disabled,\n error: showError,\n }\"\n >\n <div class=\"rd-item-label\">{{ label }}</div>\n <div class=\"rd-item-content\">\n <input\n nz-input\n [name]=\"name\"\n type=\"text\"\n [placeholder]=\"'0'\"\n [mask]=\"'separator.' + nzPrecision\"\n [thousandSeparator]=\"','\"\n [allowNegativeNumbers]=\"allowNegativeNumbers\"\n [dropSpecialCharacters]=\"false\"\n [(ngModel)]=\"inputValue\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n class=\"rd-item-content-value\"\n />\n <ng-content select=\"[slot='token']\"></ng-content>\n <div *ngIf=\"symbol\" class=\"rd-item-content-symbol\">{{ symbol }}</div>\n </div>\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <svg\n class=\"rd-error-icon-light\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EA485D\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EA485D\"\n />\n </svg>\n\n <svg\n class=\"rd-error-icon-dark\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EF7484\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EF7484\"\n />\n </svg>\n {{ currentErrorMessage }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { CustomInputAmountComponent } from './custom-input-amount.component';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [CustomInputAmountComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzInputModule,\n NgxMaskModule,\n TranslateModule,\n ],\n exports: [CustomInputAmountComponent],\n})\nexport class RdInputAmountModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ISelectOption } from '../../types/common.type';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-rd-radio',\n templateUrl: './custom-radio.component.html',\n styleUrls: ['./custom-radio.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomRadioComponent),\n multi: true,\n },\n ],\n})\nexport class CustomRadioComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() name = '';\n @Input() disabled = false;\n /** 按钮大小:large, default, small */\n @Input() size: 'large' | 'default' | 'small' = 'default';\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Input() allowDeselect = true; // 新增:是否允许取消选中\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n @Input()\n set options(val: ISelectOption[]) {\n this._rawOptions = val;\n }\n get options(): ISelectOption[] {\n return this._rawOptions;\n }\n\n @Output() valueChange = new EventEmitter<ISelectOption | null>();\n\n private _rawOptions: ISelectOption[] = [];\n private _value: ISelectOption | null = null;\n\n onChange: (value: ISelectOption | null) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit() {}\n\n ngOnDestroy() {}\n\n get value(): ISelectOption | null {\n return this._value;\n }\n\n set value(val: ISelectOption | null) {\n if (this._value !== val) {\n this._value = val;\n this.onChange(val);\n this.valueChange.emit(val);\n }\n }\n\n get nativeValue(): any {\n return this._value?.value;\n }\n\n set nativeValue(val: any) {\n const option = this.options.find((opt) => opt.value === val);\n this.value = option || null;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: any): void {\n if (value) {\n if (typeof value === 'object' && 'value' in value) {\n // 如果传入的是 ISelectOption 对象\n this._value =\n this.options.find((opt) => opt.value === value.value) || value;\n } else {\n // 如果传入的是值\n this._value = this.options.find((opt) => opt.value === value) || null;\n }\n } else {\n this._value = null;\n }\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n // 处理单选按钮点击\n handleRadioClick(optionValue: any): void {\n if (this.disabled) return;\n\n this.onTouched();\n\n // 如果允许取消选中,并且点击的是当前选中的选项\n if (this.allowDeselect && this.nativeValue === optionValue) {\n // 取消选中\n this.nativeValue = null;\n } else {\n // 选中新选项\n this.nativeValue = optionValue;\n }\n }\n\n // 判断选项是否选中\n isOptionSelected(optionValue: any): boolean {\n return this.nativeValue === optionValue;\n }\n}\n","<div\n class=\"rd-form-item-radio\"\n [ngClass]=\"{\n 'rd-form-item-radio-disabled': disabled,\n 'rd-form-item-radio-vertical': direction === 'vertical',\n large: size === 'large',\n }\"\n>\n <div class=\"rd-form-item-radio-label\" *ngIf=\"label\">\n {{ label }}\n </div>\n\n <div\n [ngClass]=\"{\n 'rd-radio-group-horizontal': direction === 'horizontal',\n 'rd-radio-group-vertical': direction === 'vertical',\n }\"\n class=\"rd-custom-radio-group\"\n >\n <label\n *ngFor=\"let option of options\"\n class=\"rd-radio-item\"\n [class.rd-radio-item-selected]=\"isOptionSelected(option.value)\"\n [class.rd-radio-item-disabled]=\"disabled || option.disabled\"\n [class.rd-radio-item-large]=\"size === 'large'\"\n [class.rd-radio-item-small]=\"size === 'small'\"\n (click)=\"handleRadioClick(option.value)\"\n >\n <div\n [style.width.px]=\"size === 'large' ? 40 : size === 'small' ? 20 : 24\"\n [style.height.px]=\"size === 'large' ? 40 : size === 'small' ? 20 : 24\"\n >\n <span\n class=\"rd-custom-radio\"\n [class.rd-custom-radio-selected]=\"isOptionSelected(option.value)\"\n [class.rd-custom-radio-disabled]=\"disabled || option.disabled\"\n >\n <span class=\"rd-custom-radio-inner\"></span>\n </span>\n </div>\n <span class=\"rd-radio-text\" [innerHtml]=\"option.label\"> </span>\n </label>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomRadioComponent } from './custom-radio.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\n@NgModule({\n declarations: [CustomRadioComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSpinModule,\n NzRadioModule,\n ],\n exports: [CustomRadioComponent],\n})\nexport class RdRadioModule {}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n// ng-zorro 按钮类型\ntype NzButtonType = 'primary' | 'default' | 'dashed' | 'link' | 'text';\ntype NzButtonShape = 'circle' | 'round';\ntype NzButtonSize = 'large' | 'default' | 'small';\n\n/** Figma ALPHA Button: Solid Primary / Secondary / Tertiary / Gradient + Outline */\nexport type RdButtonType =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'gradient'\n | 'default'\n | 'danger'\n | 'yellow'\n | 'gray'\n | 'link'\n | 'text';\n\n@Component({\n selector: 'app-rd-button',\n templateUrl: './rd-button.component.html',\n styleUrls: ['./rd-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RdButtonComponent {\n /**\n * 按钮类型。\n * Solid: primary / secondary / tertiary / gradient / danger\n * type=\"default\" 兼容旧用法,等同 outline primary。\n */\n @Input() type: RdButtonType = 'default';\n\n /** 按钮大小:large, default, small */\n @Input() size: 'large' | 'default' | 'small' = 'default';\n\n /** 按钮形状:default, circle, round */\n @Input() shape: 'default' | 'circle' | 'round' = 'default';\n\n /** 是否禁用 */\n @Input() disabled = false;\n\n /** 是否加载中 */\n @Input() loading = false;\n\n /** 是否块级元素,宽度充满父容器 */\n @Input() block = false;\n\n /** 原生 button 类型:button, submit, reset */\n @Input() htmlType: 'button' | 'submit' | 'reset' = 'button';\n\n /** Outline 描边按钮,可与 primary / secondary / tertiary / gradient / danger 组合 */\n @Input() outline = false;\n\n /** 是否显示为幽灵按钮(背景透明,Ghost token) */\n @Input() ghost = false;\n\n /** 是否显示为虚线按钮 */\n @Input() dashed = false;\n\n /** 图标类名(使用项目图标库) */\n @Input() icon?: string;\n\n /** 危险按钮(type=danger 时自动为 true) */\n @Input() danger = false;\n\n /** 点击事件 */\n @Output() click = new EventEmitter<MouseEvent>();\n\n @Input() minWidth = 56;\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n /** 获取 ng-zorro 的 nzType,兼容现有代码 */\n get nzType(): NzButtonType {\n if (this.type === 'link' || this.type === 'text') {\n return this.type;\n }\n if (this.outline || this.ghost) {\n return 'default';\n }\n if (this.type === 'danger' || this.type === 'yellow' || this.type === 'primary') {\n return 'primary';\n }\n return 'default';\n }\n\n /** 获取 ng-zorro 的 nzShape */\n get nzShape(): NzButtonShape | any {\n return this.shape !== 'default' ? (this.shape as NzButtonShape) : undefined;\n }\n\n /** 获取 ng-zorro 的 nzSize */\n get nzSize(): NzButtonSize | any {\n return this.size !== 'default' ? (this.size as NzButtonSize) : undefined;\n }\n\n /** 处理点击事件 */\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n if (!this.disabled && !this.loading) {\n this.click.emit(event);\n }\n }\n\n /** 获取按钮 CSS 类 */\n get buttonClasses(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {\n 'rd-button': true,\n [`rd-button-${this.type}`]: true,\n 'rd-button-block': this.block,\n 'rd-button-loading': this.loading,\n 'rd-button-disabled': this.disabled,\n 'rd-button-ghost': this.ghost && !this.outline,\n 'rd-button-outline': this.outline,\n 'rd-button-dashed': this.dashed,\n 'rd-button-danger': this.danger || this.type === 'danger',\n 'rd-button-icon-only': !!this.icon && !this.hasContent,\n };\n\n // 添加尺寸类,避免与 type=\"default\" 冲突\n if (this.size !== 'default') {\n classes[`rd-button-size-${this.size}`] = true;\n }\n\n // 添加形状类,避免与 type 值冲突\n if (this.shape !== 'default') {\n classes[`rd-button-shape-${this.shape}`] = true;\n }\n\n return classes;\n }\n\n /** 检查是否有内容(除了图标) */\n get hasContent(): boolean {\n // 通过内容投影判断,在模板中使用 <ng-content>\n return true; // 实际由模板判断,这里返回 true 假设有内容\n }\n}\n","<button\n nz-button\n [nzType]=\"nzType\"\n [nzShape]=\"nzShape\"\n [nzSize]=\"nzSize\"\n [nzGhost]=\"ghost\"\n [nzDanger]=\"danger || type === 'danger'\"\n [nzBlock]=\"block\"\n [nzLoading]=\"loading\"\n [disabled]=\"disabled\"\n [type]=\"htmlType\"\n [ngClass]=\"buttonClasses\"\n [ngStyle]=\"{ 'min-width': minWidth + 'px' }\"\n (click)=\"onClick($event)\"\n class=\"rd-button-native\"\n>\n <span class=\"rd-button-content\">\n <ng-content></ng-content>\n </span>\n</button>\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostListener,\n AfterViewInit,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ISelectOption } from '../../types/common.type';\n\n@Component({\n selector: 'app-rd-select',\n templateUrl: './rd-select.component.html',\n styleUrls: ['./rd-select.component.scss', './select.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RdSelectComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RdSelectComponent),\n multi: true,\n },\n ],\n})\nexport class RdSelectComponent implements ControlValueAccessor, AfterViewInit {\n @Input() label: string = '';\n @Input() customTpl: any;\n @Input() optionTpl: any;\n @Input() name = '';\n @Input() disabled = false;\n @Input() nzMode: 'multiple' | 'default' = 'default';\n @Input() isCurrency?: boolean;\n @Input() currencyUrlMap?: Record<string, string>;\n @Input() optionHeightPx?: number;\n @Input() nzMaxMultipleCount: any = 100;\n @Input() isLoading = false;\n @Input() isShowSearch = false;\n @Input() isRemoteSearch = false;\n @Input() placeholder = '';\n @Input() isRquired = true;\n @Input() isShowErrorTip = true; // 问卷外部已经有错误提示了,这里需要忽略\n @Input() isSearchWidthAuto = false;\n\n @Input()\n set options(val: ISelectOption[]) {\n this._rawOptions = val;\n this.filteredOptions = val;\n }\n get options(): ISelectOption[] {\n return this._rawOptions;\n }\n\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'invalid_format',\n custom: 'validation_failed',\n };\n\n @Output() searchChange = new EventEmitter<string>();\n @Output() valueChange = new EventEmitter<ISelectOption | ISelectOption[]>();\n @Output() scrollToBottomEmit = new EventEmitter<void>();\n\n private _rawOptions: ISelectOption[] = [];\n filteredOptions: ISelectOption[] = [];\n\n value: ISelectOption | ISelectOption[] | undefined = undefined;\n nativeValue: ISelectOption['value'] | ISelectOption['value'][] | undefined =\n undefined;\n drawerSelectValue:\n | any\n | ISelectOption['value']\n | ISelectOption['value'][]\n | undefined = undefined;\n searchInput = '';\n @Input() businessLocation = false;\n @Input() businessLocationTitle = '';\n onChange: (value: ISelectOption | ISelectOption[] | undefined) => void =\n () => {};\n onTouched: () => void = () => {};\n\n isFocus = false;\n isOpen = false;\n isComponentReady = false;\n private control: AbstractControl | null = null;\n\n searchTerm = '';\n drawerOpen = false;\n modalOpen = false;\n @Input() showSelectedCount = false; // 新增:是否显示选中计数\n @Input() showClearAll = false; // 新增:是否显示清空按钮\n @Input() selectedLabel = 'Selected:';\n @Input() clearAllLabel = 'Clear all';\n @Input() showTopHint = false; // 新增:是否显示顶部提示\n @Input() topHintText = 'You can choose up to 3 locations'; // 顶部提示文本\n // 计算选中的数量\n get selectedCount(): number {\n if (this.nzMode === 'multiple') {\n return Array.isArray(this.nativeValue) ? this.nativeValue.length : 0;\n }\n return this.nativeValue !== undefined && this.nativeValue !== null ? 1 : 0;\n }\n\n get dropdownClassNames(): string[] {\n const classes: string[] = [];\n\n // 基础类名\n if (this.nzMode === 'multiple') {\n classes.push('rd-form-item-multiple-select-dropdown');\n } else {\n classes.push('rd-form-item-select-dropdown');\n }\n\n // 条件类名\n if (this.showTopHint) {\n classes.push('has-top-hint');\n }\n\n return classes;\n }\n\n get isShowMaxCount() {\n // hack\n return this.nzMaxMultipleCount < 10000;\n }\n\n // 响应式:是否是移动端\n isMobile = false;\n @HostListener('window:resize')\n onResize() {\n this.updateIsMobile();\n }\n\n // 清空所有选项\n clearAll(): void {\n if (this.nzMode === 'multiple') {\n if (!this.isMobile) {\n this.nativeValue = [];\n this.value = [];\n }\n this.drawerSelectValue = [];\n } else {\n this.nativeValue = undefined;\n this.value = undefined;\n this.drawerSelectValue = [];\n }\n\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n this.cdr.markForCheck();\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant(\n 'please_select',\n )}${this.label.toLowerCase()}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {\n this.updateIsMobile();\n const mq = window.matchMedia('(max-width: 997px)');\n if (mq.addEventListener) {\n mq.addEventListener('change', () => this.updateIsMobile());\n } else {\n mq.addListener(() => this.updateIsMobile());\n }\n }\n\n private updateIsMobile() {\n this.isMobile = window.matchMedia('(max-width: 997px)').matches;\n }\n\n openDrawer(): void {\n if (this.disabled) return;\n this.searchTerm = '';\n\n if (!this.isMobile && this.businessLocation && this.nzMode === 'multiple') {\n this.modalOpen = true;\n } else {\n this.drawerOpen = true;\n }\n\n this.drawerSelectValue = this.nativeValue;\n this.filteredOptions = this.options;\n }\n\n getDrawerSelectValueLen() {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue?.length;\n } else {\n return 0;\n }\n }\n\n closeDrawer() {\n this.drawerOpen = false;\n this.filteredOptions = this.options;\n this.searchTerm = '';\n }\n\n closeModal() {\n this.modalOpen = false;\n this.filteredOptions = this.options;\n this.searchTerm = '';\n }\n\n // 获取抽屉中已选中的数量\n get drawerSelectedCount(): number {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue.length;\n }\n return this.drawerSelectValue ? 1 : 0;\n }\n\n // 检查选项是否应该被禁用\n getOptionDisabled(option: ISelectOption): boolean {\n // 如果选项本身被禁用,直接返回true\n if (option.disabled) {\n return true;\n }\n\n // 如果当前不是多选模式,返回选项的disabled状态\n if (this.nzMode !== 'multiple') {\n return false;\n }\n\n // 在移动端抽屉中,检查是否达到最大选择数量\n if (\n (this.isMobile && this.businessLocation && this.drawerOpen) ||\n (!this.isMobile && this.businessLocation && this.modalOpen)\n ) {\n // 如果已经达到最大选择数量,并且当前选项没有被选中,则禁用\n if (this.drawerSelectedCount >= this.nzMaxMultipleCount) {\n return !this.isValueSelected(option.value);\n }\n }\n\n return false;\n }\n\n // 修改 onCheckboxChange 方法,添加数量限制\n onCheckboxChange(selectedValues: any[]): void {\n // 检查是否超过最大选择数量\n if (\n this.nzMode === 'multiple' &&\n selectedValues.length > this.nzMaxMultipleCount\n ) {\n // 如果超过最大数量,只保留前 nzMaxMultipleCount 个\n selectedValues = selectedValues.slice(0, this.nzMaxMultipleCount);\n }\n\n let newDrawerValue: any[];\n\n if (this.searchTerm) {\n // 在搜索状态下,合并历史选中值和当前选中值\n const currentDrawerValue = Array.isArray(this.drawerSelectValue)\n ? this.drawerSelectValue\n : [];\n // 找出被取消勾选的值\n const previousFilteredValues = this.filteredOptions\n .map((opt) => opt.value)\n .filter((value) => currentDrawerValue.includes(value));\n\n const deselectedValues = previousFilteredValues.filter(\n (value) => !selectedValues.includes(value),\n );\n\n // 从当前抽屉值中移除被取消勾选的值\n const remainingValues = currentDrawerValue.filter(\n (value) => !deselectedValues.includes(value),\n );\n\n // 合并剩余值和当前选中值(去重)\n newDrawerValue = [...new Set([...remainingValues, ...selectedValues])];\n\n // 再次检查是否超过最大数量\n if (newDrawerValue.length > this.nzMaxMultipleCount) {\n newDrawerValue = newDrawerValue.slice(0, this.nzMaxMultipleCount);\n }\n } else {\n // 非搜索状态下,直接使用当前选中值,但确保不超过最大数量\n newDrawerValue =\n selectedValues.length > this.nzMaxMultipleCount\n ? selectedValues.slice(0, this.nzMaxMultipleCount)\n : selectedValues;\n }\n\n this.drawerSelectValue = newDrawerValue;\n }\n\n // 修改多选移动端下一步的方法\n multSelectMobileNext(): void {\n // 确保选择数量不超过最大限制\n if (\n Array.isArray(this.drawerSelectValue) &&\n this.drawerSelectValue.length > this.nzMaxMultipleCount\n ) {\n // 如果超过最大数量,截取前n个\n this.drawerSelectValue = this.drawerSelectValue.slice(\n 0,\n this.nzMaxMultipleCount,\n );\n }\n\n this.handleValueChange(this.drawerSelectValue);\n this.closeDrawer();\n this.closeModal();\n }\n\n getDisableNext() {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue?.length > this.nzMaxMultipleCount;\n } else {\n return false;\n }\n }\n\n doMobileSearch(value: string): void {\n this.filteredOptions = this.options.filter((opt: any) =>\n opt.name.toLowerCase().includes(value.toLowerCase()),\n );\n this.cdr.markForCheck();\n }\n\n isValueSelected(optionValue: any): boolean {\n if (this.nzMode === 'multiple') {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue.includes(optionValue);\n }\n return false;\n } else {\n return this.drawerSelectValue === optionValue;\n }\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n return null;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: ISelectOption | ISelectOption[]): void {\n if (Array.isArray(value)) {\n this.value = value;\n this.nativeValue = value.map((item) => item.value);\n return;\n }\n this.value = value;\n this.nativeValue = value?.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n handleValueChange(\n value: ISelectOption['value'] | ISelectOption['value'][],\n ): void {\n this.nativeValue = value;\n if (Array.isArray(value)) {\n this.value = this.options.filter((item) => value.includes(item.value));\n } else {\n this.value = this.options.find((item) => item.value === value);\n }\n\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n }\n\n onScrollToBottom(): void {\n if (!this.isLoading) {\n this.scrollToBottomEmit.emit();\n }\n }\n\n onSearch(searchValue: string) {\n this.searchInput = searchValue;\n if (this.isRemoteSearch) {\n this.searchChange.emit(searchValue);\n return;\n }\n\n const lower = searchValue.toLowerCase();\n this.filteredOptions = this._rawOptions.filter((item) =>\n item.name?.toLowerCase().includes(lower),\n );\n }\n\n handleOpenChange(value: boolean) {\n this.isOpen = value;\n }\n\n getCurrencyKey(value: string): string {\n const parts = value.split(/[-/]/);\n const mapKeys = Object.keys(this.currencyUrlMap || {});\n for (const part of parts) {\n if (mapKeys.includes(part)) {\n return part;\n }\n }\n return parts[0];\n }\n\n ngAfterViewInit(): void {\n // 等待下一个变更检测周期,确保所有样式和类已应用\n setTimeout(() => {\n this.isComponentReady = true;\n this.cdr.markForCheck();\n }, 0);\n }\n}\n","<!-- rd-select.component.html -->\n<div\n [class.rd-select-ready]=\"isComponentReady\"\n [class.rd-search-width-auto]=\"isSearchWidthAuto\"\n class=\"rd-select-container\"\n>\n <app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"nativeValue\"\n [errorMessage]=\"showError && isShowErrorTip ? currentErrorMessage : ''\"\n [ngClass]=\"{\n 'rd-form-item-phone': !label,\n }\"\n (click)=\"openDrawer()\"\n >\n <nz-select\n class=\"rd-form-item-select\"\n [ngStyle]=\"{\n 'pointer-events':\n businessLocation && nzMode === 'multiple' ? 'none' : '',\n }\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzMaxMultipleCount]=\"nzMaxMultipleCount ? nzMaxMultipleCount : null\"\n [nzPlaceHolder]=\"placeholder\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"dropdownClassNames\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"optionHeightPx || 40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzShowSearch]=\"\n nzMode === 'multiple' && businessLocation ? false : isShowSearch\n \"\n (nzOnSearch)=\"onSearch($event)\"\n [name]=\"name\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n [nzDropdownRender]=\"\n showSelectedCount || showClearAll ? customDropdownFooter : null\n \"\n [ngClass]=\"{\n 'rd-select-disabled-open': isMobile && businessLocation,\n }\"\n >\n <nz-option\n *ngIf=\"showTopHint && isShowMaxCount\"\n nzDisabled\n nzCustomContent\n >\n <div class=\"top-hint-option\">\n <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n </div>\n </nz-option>\n\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n </ng-container>\n </nz-option>\n\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n </app-rd-form-item>\n</div>\n\n<!-- 自定义下拉菜单底部 -->\n<ng-template #customDropdownFooter>\n <div class=\"select-footer-container\">\n <div\n class=\"select-footer-content d-flex justify-content-between align-items-center\"\n >\n <div>\n <!-- 选中计数 -->\n <span *ngIf=\"showSelectedCount\" class=\"t14-400 c-text-primary\">\n {{ selectedLabel }}\n {{\n isMobile ? getDrawerSelectValueLen() : selectedCount\n }}/<ng-container *ngIf=\"isShowMaxCount\"\n >/{{ nzMaxMultipleCount }}\n </ng-container>\n </span>\n\n <!-- 清空按钮 -->\n <a\n *ngIf=\"\n showClearAll &&\n (isMobile ? getDrawerSelectValueLen() : selectedCount) > 0\n \"\n class=\"b14 ml-16\"\n (click)=\"clearAll(); $event.stopPropagation()\"\n >\n {{ clearAllLabel }}\n </a>\n </div>\n\n <div>\n <app-rd-button\n type=\"primary\"\n *ngIf=\"isMobile\"\n [disabled]=\"getDisableNext()\"\n (click)=\"multSelectMobileNext()\"\n >\n {{ \"next\" | translate }}</app-rd-button\n >\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #customModalFooter>\n <div class=\"select-footer-container\">\n <div\n class=\"select-footer-content d-flex justify-content-between align-items-center\"\n >\n <div>\n <!-- 选中计数 -->\n <span *ngIf=\"showSelectedCount\" class=\"t14-400 c-text-primary\">\n {{ selectedLabel }}\n {{ getDrawerSelectValueLen()\n }}<ng-container *ngIf=\"isShowMaxCount\"\n >/{{ nzMaxMultipleCount }}\n </ng-container>\n </span>\n\n <!-- 清空按钮 -->\n <a\n *ngIf=\"showClearAll && getDrawerSelectValueLen() > 0\"\n class=\"b14 ml-16\"\n (click)=\"clearAll(); $event.stopPropagation()\"\n >\n {{ clearAllLabel }}\n </a>\n </div>\n\n <div>\n <app-rd-button\n type=\"primary\"\n [disabled]=\"isRquired ? getDrawerSelectValueLen() === 0 : false\"\n (click)=\"multSelectMobileNext()\"\n >\n {{ \"done\" | translate }}</app-rd-button\n >\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- 其他模板保持不变 -->\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[getCurrencyKey(selected.nzValue)]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile && businessLocation\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzFooter]=\"customDropdownFooter\"\n nzWrapClassName=\"select-drawer\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"select-drawer-header\">\n <div class=\"header-title\">\n <div>\n {{\n (businessLocation ? \"select_nature_of_business\" : \" \") | translate\n }}\n </div>\n <div class=\"close-btn\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n class=\"w-full\"\n >\n <path\n d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n stroke=\"var(--rd-copy-primary)\"\n stroke-width=\"1.36\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n </div>\n\n <div class=\"cascader-drawer-list\">\n <div *ngIf=\"isShowMaxCount\" class=\"my-16 ml-8\">\n <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n </div>\n <ng-container *ngIf=\"filteredOptions?.length\">\n <nz-checkbox-wrapper\n class=\"question-content\"\n class=\"t14-400 c-text-primary\"\n (nzOnChange)=\"onCheckboxChange($event)\"\n >\n <div *ngFor=\"let option of filteredOptions\" class=\"mb-8\">\n <label\n nz-checkbox\n [nzValue]=\"option?.value\"\n [nzDisabled]=\"getOptionDisabled(option)\"\n [nzChecked]=\"isValueSelected(option?.value)\"\n >\n <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n </label>\n </div>\n </nz-checkbox-wrapper>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<!-- Modal for desktop business location multi-select -->\n<nz-modal\n [(nzVisible)]=\"modalOpen\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzFooter]=\"customModalFooter\"\n nzWrapClassName=\"select-modal\"\n (nzOnCancel)=\"closeModal()\"\n [nzWidth]=\"632\"\n [nzBodyStyle]=\"{ height: '600px' }\"\n nzCentered\n>\n <div *nzModalContent>\n <div class=\"select-modal-header\">\n <div\n class=\"header-title d-flex justify-content-between align-items-center\"\n >\n <div>\n {{\n (businessLocationTitle\n ? businessLocationTitle\n : businessLocation\n ? \"select_nature_of_business\"\n : \" \"\n ) | translate\n }}\n </div>\n <div class=\"close-btn\" (click)=\"closeModal()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n stroke=\"var(--rd-copy-primary)\"\n stroke-width=\"1.36\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-modal-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n </div>\n\n <div class=\"cascader-modal-list\">\n <div class=\"mb-16\" *ngIf=\"showTopHint && isShowMaxCount\">\n <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n </div>\n <ng-container *ngIf=\"filteredOptions?.length\">\n <nz-checkbox-wrapper\n class=\"question-content\"\n class=\"t14-400 c-text-primary\"\n (nzOnChange)=\"onCheckboxChange($event)\"\n >\n <div *ngFor=\"let option of filteredOptions\" class=\"mb-8\">\n <label\n nz-checkbox\n [nzValue]=\"option?.value\"\n [nzDisabled]=\"getOptionDisabled(option)\"\n [nzChecked]=\"isValueSelected(option?.value)\"\n >\n <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n </label>\n </div>\n </nz-checkbox-wrapper>\n </ng-container>\n </div>\n </div>\n</nz-modal>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\nimport { NzIconModule } from \"ng-zorro-antd/icon\";\nimport { RdButtonComponent } from \"./rd-button.component\";\n\n@NgModule({\n declarations: [RdButtonComponent],\n imports: [CommonModule, NzButtonModule, NzIconModule],\n exports: [RdButtonComponent],\n})\nexport class RdButtonModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RdSelectComponent } from './rd-select.component';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { FormItemModule } from '../form-item/form-item.module';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { RdButtonModule } from '../rd-button/rd-button.module';\n\n@NgModule({\n declarations: [RdSelectComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSpinModule,\n NzSelectModule,\n FormItemModule,\n NzDrawerModule,\n NzInputModule,\n TranslateModule,\n NzCheckboxModule,\n NzButtonModule,\n NzModalModule,\n RdButtonModule,\n ],\n exports: [RdSelectComponent],\n})\nexport class RdSelectModule {}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ITokenSelectOption } from './pure-select-token.type';\n\nexport interface ISelectOption {\n value: string;\n name: string;\n iconUrl: string;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'app-rd-pure-select-token',\n templateUrl: './pure-select-token.component.html',\n styleUrls: ['./pure-select-token.component.scss', '../select.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PureSelectTokenComponent),\n multi: true,\n },\n ],\n})\nexport class PureSelectTokenComponent implements ControlValueAccessor {\n @Input() disabled = false;\n @Input() tokens: ITokenSelectOption[] = [];\n @Input() label!: string;\n\n value: string | null = null;\n\n isLoading = false;\n isFocus = false;\n isOpen = false;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value: string | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleValueChange(value: string): void {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n }\n\n handleOpenChange(value: boolean) {\n this.isOpen = value;\n }\n\n getIconUrl(token: string) {\n if (!token) return '';\n return (\n this.tokens.find((item) => token.includes(item.value))?.iconUrl || ''\n );\n }\n}\n","<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\n\nimport { PureSelectTokenComponent } from './pure-select-token.component';\nimport { FormItemModule } from '../../form-item/form-item.module';\n\n@NgModule({\n declarations: [PureSelectTokenComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSpinModule,\n NzSelectModule,\n FormItemModule,\n NzAvatarModule,\n ],\n exports: [PureSelectTokenComponent],\n})\nexport class RdPureSelectTokenModule {}\n","import {\n Component,\n HostBinding,\n HostListener,\n OnInit,\n OnChanges,\n SimpleChanges,\n ChangeDetectorRef,\n Input,\n Output,\n EventEmitter,\n forwardRef,\n AfterViewInit,\n ElementRef,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NzCascaderOption } from 'ng-zorro-antd/cascader';\n\n@Component({\n selector: 'app-industry-cascader',\n templateUrl: './industry-cascader.component.html',\n styleUrls: ['./industry-cascader.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IndustryCascaderComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => IndustryCascaderComponent),\n multi: true,\n },\n ],\n})\nexport class IndustryCascaderComponent\n implements OnInit, OnChanges, ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @ViewChild('cascaderContainer') cascaderContainer!: ElementRef;\n @ViewChild('valueText') valueText!: ElementRef;\n constructor(\n private translate: TranslateService,\n private cdr: ChangeDetectorRef,\n ) {}\n\n @Input() disabled = false;\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'invalid_format',\n custom: 'validation_failed',\n };\n @Input() industryCodes: any;\n @Output() valueChange = new EventEmitter<string[] | null>();\n\n @Input() label = '1st industry nature of business';\n @Input() name = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get drawerWrapClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['cascader-drawer', themeClass].filter(Boolean).join(' ');\n }\n options: NzCascaderOption[] = [];\n\n searchInput = '';\n value: string[] = [];\n\n drawerOpen = false;\n view: 'root' | 'children' = 'root';\n activeParent: any | NzCascaderOption | null = null;\n\n isFocus = false;\n isOpen = false;\n\n searchTerm = '';\n searchChildrenTerm = '';\n filteredOptions: any = [];\n filteredChildren: any = [];\n private searchTimer: any = null;\n\n private control: AbstractControl | null = null;\n // 添加新属性\n isTextOverflow = false;\n // 修改isTextOverflow为对象,记录更详细的信息\n textOverflowInfo = {\n isOverflow: false,\n lineCount: 0,\n maxLines: 2, // 你可以设置最大允许的行数\n exceededLines: 0, // 超过的行数\n };\n overflowLineCount = 0; // 实际占用的行数\n maxAllowedLines = 2; // 最大允许行数\n\n private resizeObserver: ResizeObserver | null = null;\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n\n const firstError = Object.keys(this.control?.errors || {})[0];\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant(\n 'please_select',\n )}${this.label.toLowerCase()}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n onChange: (value: string[] | null | undefined) => void = () => {};\n onTouched: () => void = () => {};\n\n // 响应式:是否是移动端\n isMobile = false;\n @HostListener('window:resize')\n onResize() {\n this.updateIsMobile();\n }\n\n ngOnInit(): void {\n this.handleInitOptions();\n this.updateIsMobile();\n const mq = window.matchMedia('(max-width: 997px)');\n if (mq.addEventListener) {\n mq.addEventListener('change', () => this.updateIsMobile());\n } else {\n mq.addListener(() => this.updateIsMobile());\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['industryCodes']) {\n this.handleInitOptions();\n }\n }\n\n ngAfterViewInit() {\n this.setupResizeObserver();\n // 初始检测\n setTimeout(() => this.checkTextOverflow(), 0);\n }\n\n ngOnDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n private setupResizeObserver() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkTextOverflow();\n });\n\n if (this.valueText?.nativeElement) {\n this.resizeObserver.observe(this.valueText.nativeElement);\n }\n\n if (this.cascaderContainer?.nativeElement) {\n this.resizeObserver.observe(this.cascaderContainer.nativeElement);\n }\n }\n }\n\n private checkTextOverflow(): void {\n if (!this.valueText?.nativeElement) return;\n\n const textElement = this.valueText.nativeElement;\n\n // 方法1:计算实际行数\n this.calculateLineCount(textElement);\n\n // 方法2:备用宽度检测\n this.checkWidthOverflow(textElement);\n }\n\n private calculateLineCount(element: HTMLElement): void {\n // 获取元素的样式\n const computedStyle = window.getComputedStyle(element);\n const lineHeight = parseFloat(computedStyle.lineHeight);\n const scrollHeight = element.scrollHeight;\n const clientHeight = element.clientHeight;\n\n // 如果lineHeight为0或NaN,使用默认值\n const actualLineHeight = lineHeight && !isNaN(lineHeight) ? lineHeight : 20; // 默认20px\n\n // 计算实际行数\n const lineCount = Math.round(scrollHeight / actualLineHeight);\n this.overflowLineCount = lineCount;\n\n // 检查是否超过最大允许行数\n this.isTextOverflow = lineCount > this.maxAllowedLines;\n\n // 你也可以记录更多信息\n this.textOverflowInfo = {\n isOverflow: lineCount > this.maxAllowedLines,\n lineCount: lineCount,\n maxLines: this.maxAllowedLines,\n exceededLines: Math.max(0, lineCount - this.maxAllowedLines),\n };\n\n console.log(`文本行数: ${lineCount}, 是否溢出: ${this.isTextOverflow}`);\n\n this.cdr.markForCheck();\n }\n\n private checkWidthOverflow(element: HTMLElement): void {\n // 原有的宽度检测逻辑(作为备用)\n const container = this.cascaderContainer?.nativeElement;\n if (container) {\n const containerStyle = window.getComputedStyle(container);\n const containerWidth = parseFloat(containerStyle.width);\n const textWidth = element.scrollWidth;\n const containerPadding =\n parseFloat(containerStyle.paddingLeft) +\n parseFloat(containerStyle.paddingRight);\n const availableWidth = containerWidth - containerPadding - 56;\n\n const isWidthOverflow = textWidth > availableWidth;\n\n // 结合两种检测结果\n if (isWidthOverflow && !this.isTextOverflow) {\n this.isTextOverflow = true;\n }\n }\n }\n\n // 修改handleValueChange方法,添加延迟检测\n handleValueChange(value: string[]): void {\n this.value = value;\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n\n // 增加延迟,确保DOM完全更新\n setTimeout(() => {\n this.checkTextOverflow();\n // 可能需要多次检测以确保准确\n setTimeout(() => this.checkTextOverflow(), 100);\n }, 50);\n }\n\n private updateIsMobile() {\n this.isMobile = window.matchMedia('(max-width: 997px)').matches;\n }\n\n cascaderSearchFn = (input: string, path: any[]): boolean => {\n const i = input.toLowerCase();\n\n return path.some((p) => p.labelLower.includes(i));\n };\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n return null;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onVisibleChange(value: any) {\n this.isOpen = value;\n }\n\n handleInitOptions() {\n if (this.industryCodes?.length > 0) {\n this.options = this.industryCodes.map((item: any) => {\n return {\n ...item,\n value: item.objId,\n label: item.annexa,\n isLeaf: false,\n labelLower: item.annexa.toLowerCase(),\n children: item.subList.map((subItem: any) => {\n return {\n ...subItem,\n value: subItem.objId,\n label: subItem.annexa,\n labelLower: subItem.annexa.toLowerCase(),\n isLeaf: true,\n };\n }),\n };\n });\n this.filteredOptions = this.options;\n } else {\n this.options = [];\n this.filteredOptions = [];\n }\n }\n\n // ---------- 移动端操作 ----------\n\n openDrawer(): void {\n if (this.disabled) return;\n this.searchTerm = '';\n this.searchChildrenTerm = '';\n this.drawerOpen = true;\n this.view = 'root';\n this.activeParent = null;\n this.filteredOptions = this.options;\n this.filteredChildren = [];\n }\n\n closeDrawer() {\n this.drawerOpen = false;\n }\n\n goBackMobile(): void {\n this.view = 'root';\n this.activeParent = null;\n this.searchChildrenTerm = '';\n }\n\n selectLeafMobile(option: any, parent?: any) {\n const parentVal = parent?.value ?? this.activeParent?.value ?? null;\n const value = [String(parentVal), String(option.value)];\n this.handleValueChange(value);\n this.drawerOpen = false;\n this.view = 'root';\n this.activeParent = null;\n }\n\n openChildrenMobile(opt: any) {\n if (!opt?.value) return;\n this.view = 'children';\n this.activeParent = opt;\n this.filteredChildren = this.activeParent?.children || [];\n this.value = [opt.value];\n }\n\n doMobileSearch(value: string): void {\n const term = value?.trim().toLowerCase();\n\n clearTimeout(this.searchTimer);\n\n this.searchTimer = setTimeout(() => {\n if (!term) {\n // 恢复原数据\n this.filteredOptions = this.options;\n this.filteredChildren = this.activeParent?.children || [];\n return;\n }\n\n if (this.view === 'root') {\n this.filteredOptions = this.options.filter((opt: any) =>\n opt.label.toLowerCase().includes(term),\n );\n } else {\n this.filteredChildren = this.activeParent?.children.filter(\n (child: any) => child.label.toLowerCase().includes(term),\n );\n }\n }, 150);\n }\n}\n","<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NzCascaderModule } from \"ng-zorro-antd/cascader\";\nimport { NzDrawerModule } from \"ng-zorro-antd/drawer\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { NzListModule } from \"ng-zorro-antd/list\";\nimport { NzSpinModule } from \"ng-zorro-antd/spin\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\n\nimport { IndustryCascaderComponent } from \"./industry-cascader.component\";\nimport { FormItemModule } from \"../../form-item/form-item.module\";\nimport { NzRadioModule } from \"ng-zorro-antd/radio\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n declarations: [IndustryCascaderComponent],\n imports: [\n CommonModule,\n FormsModule,\n NzCascaderModule,\n NzDrawerModule,\n NzInputModule,\n NzListModule,\n NzSpinModule,\n NzButtonModule,\n FormItemModule,\n NzRadioModule,\n TranslateModule.forChild(),\n ],\n exports: [IndustryCascaderComponent],\n})\nexport class IndustryCascaderModule {}\n","import { Component, Input } from '@angular/core';\nimport {\n StatusDisplayConfig,\n StatusGroupConfig,\n} from '../custom-filter/custom-filter.types';\n\n@Component({\n selector: 'app-rd-status-field',\n template: `\n <div class=\"rd-status-field\" [ngClass]=\"size\">\n <img\n *ngIf=\"getStatusDisplay()?.icon\"\n [src]=\"getStatusDisplay()['icon'] || ''\"\n alt=\"\"\n />\n {{ getStatusDisplay()['text'] || '' }}\n </div>\n `,\n styleUrls: ['./status-field.component.scss'],\n})\nexport class StatusFieldComponent {\n @Input() status!: string | number;\n @Input() text?: string;\n @Input() size: 'default' | 'large' = 'default';\n @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n @Input() statusGroupConfigs: StatusGroupConfig = {};\n constructor() {}\n\n getStatusDisplay(): { icon: string; text: string } {\n // 1. 查找精确匹配的配置\n const exactMatch = this.statusDisplayConfigs?.find(\n (c) => c?.status === this.status\n );\n if (exactMatch) {\n return {\n icon: exactMatch?.icon,\n text: exactMatch?.text || (this.status as string),\n };\n }\n\n // 2. 查找分组匹配\n for (const groupName in this.statusGroupConfigs) {\n const group = this.statusGroupConfigs[groupName];\n if (group?.match(this.status as string)) {\n return {\n icon: group?.icon,\n text: this.status as string, // 或者可以配置默认文本\n };\n }\n }\n\n // 3. 默认返回\n return {\n icon: '',\n text: this.status as string,\n };\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ICustomFilter,\n StatusDisplayConfig,\n StatusGroupConfig,\n} from '../custom-filter.types';\n\n@Component({\n selector: 'app-rd-filter-select',\n templateUrl: './custom-filter-select.component.html',\n styleUrls: ['./custom-filter-select.component.scss'],\n})\nexport class RdFilterSelectComponent implements OnChanges {\n @Input() item!: ICustomFilter;\n @Output() handleChangeValue = new EventEmitter();\n @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n @Input() statusGroupConfigs: StatusGroupConfig = {};\n selectValue: string | number | Array<string | number> | null = null;\n\n get mode() {\n return this.item?.selectMode || 'multiple';\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['item'].currentValue) {\n if (!this.item.value) {\n this.selectValue = null;\n } else {\n this.selectValue =\n this.mode === 'multiple'\n ? this.item?.value?.split(',')\n : this.item.value;\n }\n }\n }\n\n ngOnInit(): void {\n if (!this.item.value) return;\n if (this.mode === 'multiple') {\n this.selectValue = this.item?.value.split(',');\n } else {\n this.selectValue = this.item.value;\n }\n }\n\n modelChange(event: string | string[]) {\n if (this.mode === 'multiple') {\n this.item.value = (event as string[]).join(',');\n } else {\n this.item.value = event as string;\n }\n this.handleChangeValue.emit(event);\n }\n}\n","<nz-select\n class=\"rd-custom-filter-select\"\n [ngStyle]=\"{ 'min-width': item.minWidth ? item.minWidth : '132px' }\"\n [nzPlaceHolder]=\"item.title\"\n [nzShowArrow]=\"true\"\n [nzMode]=\"mode\"\n [nzAllowClear]=\"false\"\n [nzDropdownClassName]=\"\n mode === 'multiple'\n ? 'rd-custom-multiple-filter-select-dropdown'\n : 'rd-custom-filter-select-dropdown'\n \"\n [(ngModel)]=\"selectValue\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"40\"\n [nzDropdownMatchSelectWidth]=\"false\"\n (ngModelChange)=\"modelChange($event)\"\n [nzCustomTemplate]=\"customTpl\"\n [nzMaxTagCount]=\"3\"\n>\n <nz-option\n *ngFor=\"let option of item.options\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n nzCustomContent\n >\n <app-rd-status-field\n *ngIf=\"item.isStatusField; else defaultTpl\"\n [status]=\"option.value\"\n [statusGroupConfigs]=\"statusGroupConfigs\"\n [statusDisplayConfigs]=\"statusDisplayConfigs\"\n ></app-rd-status-field>\n <ng-template #defaultTpl> {{ option.label }}</ng-template>\n </nz-option>\n</nz-select>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #removeIcon>\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg> -->\n</ng-template>\n\n<ng-template #customTpl let-selected>\n <!-- <app-status-field\n *ngIf=\"item.isStatusField\"\n [status]=\"selected.nzValue\"\n ></app-status-field> -->\n <ng-container>\n {{ selected.nzLabel }}\n </ng-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatusFieldComponent } from './status-field.component';\n\n@NgModule({\n declarations: [StatusFieldComponent],\n imports: [CommonModule],\n exports: [StatusFieldComponent],\n})\nexport class RdStatusFieldModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { RdFilterSelectComponent } from './custom-filter-select.component';\nimport { RdStatusFieldModule } from '../../status-field/status-field.module';\n\n@NgModule({\n declarations: [RdFilterSelectComponent],\n imports: [\n CommonModule,\n NzDatePickerModule,\n NzDropDownModule,\n NzSelectModule,\n NzButtonModule,\n NzInputModule,\n FormsModule,\n RdStatusFieldModule,\n ],\n exports: [RdFilterSelectComponent],\n})\nexport class RdFilterSelectModule {}\n","import { NzSelectModeType } from 'ng-zorro-antd/select';\n\nexport enum FilterTypeEnum {\n input = 1,\n select = 2,\n date = 3,\n}\n\nexport interface ICustomFilter {\n key: string;\n title: string;\n formType: FilterTypeEnum;\n value: string;\n options?: Array<{ label: string; value: string | number; icon?: string }>;\n selectMode?: NzSelectModeType;\n isStatusField?: boolean;\n minWidth?: string;\n statusGroupConfigs?: StatusGroupConfig;\n statusDisplayConfigs?: StatusDisplayConfig[];\n}\n\nexport interface StatusGroupConfig {\n [groupName: string]: {\n icon: string;\n match: (status: string | number) => boolean;\n };\n}\n\nexport interface StatusDisplayConfig {\n status: string | number;\n icon: string;\n text?: string;\n group?: string;\n}\n","export interface TranslationKeys {\n pleaseEnter: string;\n lengthCannotBeLess: string;\n lengthCannotExceed: string;\n validationFailed: string;\n cannotBeLessThan: string;\n cannotExceed: string;\n maxDecimalPlaces: string;\n clearFilter: string;\n email_invalid: string;\n}\n\nexport interface Translations {\n en: TranslationKeys;\n zh: TranslationKeys;\n [key: string]: TranslationKeys;\n}\n\nexport const translations: Translations = {\n en: {\n pleaseEnter: 'Please enter ',\n lengthCannotBeLess: ' Length cannot be less than the minimum length ',\n lengthCannotExceed: ' Length cannot exceed the maximum length ',\n validationFailed: 'Validation failed',\n cannotBeLessThan: ' cannot be less than the minimum value ',\n cannotExceed: ' cannot exceed the maximum value ',\n maxDecimalPlaces: 'The maximum number of decimal places is ',\n clearFilter: 'Clear filter',\n email_invalid: 'The email format is not correct.',\n },\n zh: {\n pleaseEnter: '請輸入',\n lengthCannotBeLess: '長度不得少於最小長度',\n lengthCannotExceed: '長度不得超過最大長度',\n validationFailed: '驗證失敗',\n cannotBeLessThan: '不得小於最小值',\n cannotExceed: '不得超過最大值',\n maxDecimalPlaces: '最大小數位數為',\n clearFilter: '清除篩選',\n email_invalid: '電子郵件格式不正確。',\n },\n};\n\nexport function getTranslation(\n lang: string,\n key: keyof TranslationKeys,\n): string {\n return translations[lang]?.[key] || translations.en[key];\n}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { NzDatePickerComponent } from 'ng-zorro-antd/date-picker';\nimport { formatDate } from '@angular/common';\nimport { differenceInCalendarDays } from 'date-fns';\nimport { ICustomFilter } from '../custom-filter.types';\n\n@Component({\n selector: 'app-rd-filter-date',\n templateUrl: './custom-filter-date.component.html',\n styleUrls: ['./custom-filter-date.component.scss'],\n})\nexport class RdFilterDateComponent implements OnChanges {\n @Input() item!: ICustomFilter & { value: any };\n @ViewChild('datePicker') datePicker!: NzDatePickerComponent;\n @Output() handleChangeValue = new EventEmitter();\n isPickerOpen = false;\n\n inputValue: Date[] = [];\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n disabledDate = (current: Date): boolean =>\n differenceInCalendarDays(current, new Date()) > 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['item']?.currentValue) {\n this.inputValue = this.item?.value ? this.item?.value.split(',') : [];\n }\n }\n\n openPicker(): void {\n if (this.isPickerOpen) {\n return;\n }\n this.isPickerOpen = true;\n this.datePicker?.open();\n }\n\n onDateChange(dates: Date[]): void {\n if (!dates?.length && this.item) {\n this.item.value = '';\n return;\n }\n const startDate = formatDate(dates[0], 'yyyy-MM-dd', 'en');\n const endDate = formatDate(dates[1], 'yyyy-MM-dd', 'en');\n if (this.item) {\n this.item.value = `${startDate},${endDate}`;\n }\n this.handleChangeValue.emit(this.inputValue);\n }\n\n onOpenChange(open: any): void {\n setTimeout(() => {\n this.isPickerOpen = open;\n }, 0);\n }\n\n get popupClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['rd-date-picker-popup', themeClass].filter(Boolean).join(' ');\n }\n}\n","<div\n class=\"rd-date-picker-container\"\n [ngClass]=\"{ 'rd-date-picker-focus': isPickerOpen }\"\n *ngIf=\"item\"\n>\n <nz-range-picker\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onDateChange($event)\"\n (nzOnOpenChange)=\"onOpenChange($event)\"\n [nzFormat]=\"'yyyy-MM-dd'\"\n [nzShowTime]=\"false\"\n [nzAllowClear]=\"false\"\n [nzPlaceHolder]=\"['From', 'To']\"\n class=\"rd-range-picker\"\n [nzDisabledDate]=\"disabledDate\"\n [nzSuffixIcon]=\"customIcon\"\n [nzDropdownClassName]=\"popupClassName\"\n [nzSeparator]=\"'-'\"\n nzSuffixIcon=\"\"\n #datePicker\n [ngClass]=\"{ 'rd-hidden-range-picker': !item.value?.length }\"\n ></nz-range-picker>\n\n <div\n *ngIf=\"!item?.value?.length\"\n class=\"rd-placeholder-box\"\n [ngClass]=\"{ 'rd-placeholder-box-focus': isPickerOpen }\"\n (click)=\"openPicker()\"\n >\n {{ item.title }}\n <ng-container *ngTemplateOutlet=\"customIcon\"></ng-container>\n </div>\n\n <ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </ng-template>\n</div>\n","export default function debounce(delay: number = 300): MethodDecorator {\n // @ts-ignore\n return function (\n _target: any,\n _propertyKey: string,\n descriptor: PropertyDescriptor\n ) {\n const timeoutKey = Symbol();\n\n const original = descriptor.value;\n\n descriptor.value = function (...args: any[]) {\n // @ts-ignore\n clearTimeout(this[timeoutKey]);\n // @ts-ignore\n this[timeoutKey] = setTimeout(() => original.apply(this, args), delay);\n };\n\n return descriptor;\n };\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ICustomFilter } from '../custom-filter.types';\nimport debounce from '../../../utils/debounce';\n\n@Component({\n selector: 'app-rd-filter-input',\n templateUrl: './custom-filter-input.component.html',\n styleUrls: ['./custom-filter-input.component.scss'],\n})\nexport class RdFilterInputComponent implements OnChanges {\n @Input() item!: ICustomFilter;\n @Output() handleChangeValue = new EventEmitter();\n inputValue: string = '';\n\n ngOnInit(): void {\n this.inputValue = this.item.value;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['item']?.currentValue) {\n this.inputValue = this.item.value;\n }\n }\n\n @debounce()\n handleValueChange(e: string) {\n this.handleChangeValue.emit(e);\n }\n}\n","<div\n class=\"rd-input-container\"\n [ngStyle]=\"{ 'min-width': item.minWidth ? item.minWidth : '150px' }\"\n>\n <nz-input-group [nzPrefix]=\"prefixIconSearch\">\n <input\n type=\"text\"\n nz-input\n [placeholder]=\"item.title\"\n [(ngModel)]=\"item.value\"\n (ngModelChange)=\"handleValueChange($event)\"\n />\n </nz-input-group>\n</div>\n\n<ng-template #prefixIconSearch>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.4951 13.6938L11.3962 10.5949C12.3175 9.46805 12.7704 8.03024 12.6613 6.57885C12.5522 5.12746 11.8894 3.77353 10.81 2.7971C9.73066 1.82066 8.3173 1.29643 6.86227 1.33283C5.40723 1.36923 4.02185 1.96348 2.99266 2.99266C1.96348 4.02184 1.36923 5.40722 1.33283 6.86225C1.29643 8.31728 1.82066 9.73064 2.7971 10.81C3.77354 11.8894 5.12747 12.5521 6.57887 12.6612C8.03026 12.7703 9.46807 12.3174 10.5949 11.3962L13.6938 14.5022C13.8027 14.6063 13.9474 14.6647 14.098 14.6653C14.2105 14.6651 14.3204 14.6315 14.4138 14.5687C14.5071 14.5059 14.5796 14.4168 14.6222 14.3126C14.6648 14.2085 14.6754 14.0941 14.6528 13.9839C14.6302 13.8737 14.5753 13.7727 14.4951 13.6938ZM7.00667 11.5451C6.10905 11.5451 5.23158 11.2789 4.48523 10.7802C3.73889 10.2816 3.15718 9.57274 2.81367 8.74345C2.47017 7.91416 2.38029 7.00162 2.55541 6.12125C2.73053 5.24087 3.16277 4.4322 3.79749 3.79748C4.43221 3.16277 5.24088 2.73052 6.12126 2.55541C7.00164 2.38029 7.91417 2.47017 8.74347 2.81367C9.57277 3.15718 10.2816 3.73888 10.7803 4.48523C11.279 5.23157 11.5451 6.10904 11.5451 7.00666C11.5433 8.20976 11.0645 9.36304 10.2138 10.2138C9.36306 11.0645 8.20977 11.5432 7.00667 11.5451Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n FilterTypeEnum,\n ICustomFilter,\n StatusDisplayConfig,\n StatusGroupConfig,\n} from './custom-filter.types';\nimport { getTranslation } from '../../utils/form-vaild-lang';\n\n@Component({\n selector: 'app-rd-filter',\n templateUrl: './custom-filter.component.html',\n styleUrls: [\n './custom-filter.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n})\nexport class RdFilterComponent {\n @Input() lang = 'en';\n @Input() filterArr: ICustomFilter[] = [];\n // @Output() filterArrChange = new EventEmitter<ICustomFilter[]>();\n @Output() defSearchChange = new EventEmitter<string>();\n @Output() clearFilter = new EventEmitter();\n @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n @Input() statusGroupConfigs: StatusGroupConfig = {};\n @Input() clearText?: string;\n filterTypeEnum = FilterTypeEnum;\n\n get isClearAble() {\n return this.filterArr.findIndex((item) => !!item.value) > -1;\n }\n\n constructor(private cdf: ChangeDetectorRef) {}\n\n handleChangeValue(value: any) {\n this.defSearchChange.emit();\n }\n\n clear() {\n this.filterArr.forEach((item) => (item.value = ''));\n this.clearFilter.emit();\n }\n\n getClearTrans() {\n return getTranslation(this.lang, 'clearFilter');\n }\n}\n","<div class=\"rd-custom-filter-wrap\" *ngIf=\"filterArr?.length\">\n <ng-container *ngFor=\"let item of filterArr\">\n <ng-container [ngSwitch]=\"item.formType\">\n <app-rd-filter-date\n *ngSwitchCase=\"filterTypeEnum.date\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n >\n </app-rd-filter-date>\n <app-rd-filter-select\n *ngSwitchCase=\"filterTypeEnum.select\"\n [item]=\"item\"\n [statusGroupConfigs]=\"statusGroupConfigs\"\n [statusDisplayConfigs]=\"statusDisplayConfigs\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-select>\n <app-rd-filter-input\n *ngSwitchCase=\"filterTypeEnum.input\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-input>\n </ng-container>\n </ng-container>\n <button\n [disabled]=\"!isClearAble\"\n (click)=\"clear()\"\n class=\"rd-custom-filter-clear\"\n nz-button\n nzType=\"link\"\n >\n {{ getClearTrans() }}\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { FormsModule } from '@angular/forms';\nimport { RdFilterComponent } from './custom-filter.component';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { RdStatusFieldModule } from '../status-field/status-field.module';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { RdFilterDateComponent } from './custom-filter-date/custom-filter-date.component';\nimport { RdFilterInputComponent } from './custom-filter-input/custom-filter-input.component';\nimport { RdFilterSelectModule } from './custom-filter-select/custom-filter-select.module';\n\n@NgModule({\n declarations: [\n RdFilterComponent,\n RdFilterDateComponent,\n RdFilterInputComponent,\n ],\n imports: [\n CommonModule,\n NzDatePickerModule,\n NzDropDownModule,\n NzSelectModule,\n NzButtonModule,\n NzInputModule,\n FormsModule,\n RdStatusFieldModule,\n RdFilterSelectModule,\n ],\n exports: [RdFilterComponent],\n})\nexport class RdFilterModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-rd-pagination',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n})\nexport class CustomPaginatorComponent {\n @Input() lang = 'en';\n @Input() pageIndex = 0;\n @Input() pageSize = 0;\n @Input() currentTotalSize = 0;\n @Input() totalSize = 0;\n @Input() specilMargin = 12;\n @Input() showLeftPageDorp = true;\n @Input() isWhiteBg = false;\n @Input() totalItemsText?: string;\n @Input() pageText?: string;\n @Output() readonly changePageSize: EventEmitter<any> = new EventEmitter();\n @Output() readonly changePageIndex: EventEmitter<any> = new EventEmitter();\n constructor() {}\n\n nzPageSizeChange(e: any) {\n this.changePageSize.emit(e);\n }\n nzPageIndexChange(e: any) {\n this.changePageIndex.emit(e);\n }\n}\n","<div *ngIf=\"currentTotalSize > 0\" class=\"pagination-div\" nz-row>\n <div class=\"pagination-total\">\n <ng-container *ngIf=\"lang === 'en'\">\n {{ \"Total \" + totalSize + \" items\" }}\n </ng-container>\n <ng-container *ngIf=\"lang === 'zh'\">\n {{ \"共 \" + totalSize + \" 項\" }}\n </ng-container>\n </div>\n <div class=\"pagination-cnt\" *ngIf=\"totalSize > 10\">\n <nz-pagination\n [nzTotal]=\"totalSize\"\n [nzPageIndex]=\"pageIndex\"\n [nzPageSize]=\"pageSize\"\n (nzPageIndexChange)=\"nzPageIndexChange($event)\"\n ></nz-pagination>\n </div>\n <div\n *ngIf=\"totalSize > 0 && totalSize > 10 && showLeftPageDorp\"\n class=\"pagination-select\"\n >\n <nz-select\n [(ngModel)]=\"pageSize\"\n class=\"pagination-select-size\"\n (ngModelChange)=\"nzPageSizeChange(pageSize)\"\n [nzDropdownClassName]=\"'paginator-select'\"\n >\n <nz-option [nzValue]=\"10\" nzLabel=\"10\"></nz-option>\n <nz-option [nzValue]=\"25\" nzLabel=\"25\"></nz-option>\n <nz-option [nzValue]=\"50\" nzLabel=\"50\"></nz-option>\n <nz-option [nzValue]=\"100\" nzLabel=\"100\"></nz-option>\n </nz-select>\n <span class=\"page-text\"\n >/\n <ng-container *ngIf=\"lang === 'en'\"> Page </ng-container>\n <ng-container *ngIf=\"lang === 'zh'\"> 頁面 </ng-container>\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzPaginationModule } from 'ng-zorro-antd/pagination';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { CustomPaginatorComponent } from './paginator.component';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\n\nconst COMPONENTS = [CustomPaginatorComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n NzSelectModule,\n ReactiveFormsModule,\n FormsModule,\n NzPaginationModule,\n NzGridModule,\n ],\n declarations: COMPONENTS,\n exports: COMPONENTS,\n})\nexport class RdPaginatorModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-rd-header-step',\n templateUrl: './header-step.component.html',\n styleUrls: ['./header-step.component.scss'],\n})\nexport class HeaderStepComponent {\n @Input() step: number = 1;\n @Input() stepArr: string[] = [];\n @Input() disableReturn = false;\n @Output() stepChange = new EventEmitter<number>();\n @Output() onClose = new EventEmitter();\n\n onClickBack() {\n if (this.step <= 1) {\n return;\n }\n this.stepChange.emit(this.step - 1);\n }\n\n onClickStep(step: number) {\n if (step >= this.step || this.disableReturn) {\n return;\n }\n this.stepChange.emit(step);\n }\n\n close() {\n this.onClose.emit();\n }\n}\n","<div class=\"rd-header-step\">\n <div>\n <div\n class=\"rd-header-step-back\"\n *ngIf=\"!disableReturn && step > 1\"\n (click)=\"onClickBack()\"\n >\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g id=\"Back\">\n <path\n id=\"Vector\"\n d=\"M16 3L8 12L16 21\"\n stroke=\"var(--rd-copy-primary)\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </svg>\n </div>\n </div>\n <div class=\"rd-header-step-title\">\n <ng-container *ngFor=\"let stepTitle of stepArr; let i = index\">\n <svg\n *ngIf=\"i !== 0\"\n width=\"17\"\n height=\"16\"\n viewBox=\"0 0 17 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n [attr.fill]=\"step === i + 1 ? 'var(--rd-copy-primary)' : 'var(--rd-copy-disable)'\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.40777 2.60136C5.62811 2.36633 5.99727 2.35442 6.2323 2.57476L11.5656 7.57476C11.6833 7.68504 11.75 7.83909 11.75 8.00033C11.75 8.16157 11.6833 8.31561 11.5656 8.42589L6.2323 13.4259C5.99727 13.6462 5.62811 13.6343 5.40777 13.3993C5.18743 13.1643 5.19934 12.7951 5.43437 12.5748L10.3138 8.00033L5.43437 3.42589C5.19934 3.20555 5.18743 2.83639 5.40777 2.60136Z\"\n />\n </svg>\n <span\n class=\"rd-header-step-index\"\n [ngClass]=\"{\n active: step === i + 1,\n 'cusor-pointer': step > i + 1 && !disableReturn\n }\"\n (click)=\"onClickStep(i + 1)\"\n >\n {{ stepTitle }}\n </span>\n </ng-container>\n </div>\n\n <div class=\"rd-header-step-close\" (click)=\"close()\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { HeaderStepComponent } from \"./header-step.component\";\n\n@NgModule({\n declarations: [HeaderStepComponent],\n imports: [CommonModule],\n exports: [HeaderStepComponent],\n})\nexport class RdHeaderStepModule {}\n","// notification.component.ts\nimport { Component, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport {\n NzNotificationRef,\n NzNotificationService,\n} from 'ng-zorro-antd/notification';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { IData } from './notification.service';\n\nconst borderColorMap: Record<string, string> = {\n success: 'var(--rd-alert-border-success)',\n warn: 'var(--rd-alert-border-warning)',\n error: 'var(--rd-toast-fg-danger)',\n};\n\n@Component({\n selector: 'app-rd-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n})\nexport class RdNotificationComponent implements OnDestroy {\n @ViewChild('notificationTpl', { static: true })\n private notificationTpl!: TemplateRef<any>;\n\n @ViewChild('closeTpl', { static: true })\n private closeTpl!: TemplateRef<any>;\n\n private notifications = new Map<string, NzNotificationRef>();\n\n constructor(\n private notificationService: NzNotificationService,\n private sanitizer: DomSanitizer\n ) {}\n\n showNotification(data: IData) {\n const notificationId = this.generateId();\n\n const notification = this.notificationService.template(\n this.notificationTpl,\n {\n nzData: data,\n nzDuration: data.duration || 8 * 1000,\n nzStyle: {\n borderRadius: '4px',\n border: `1px solid ${borderColorMap[data?.type] || 'var(--rd-bg-panel-border)'}`,\n boxShadow: '0px 8px 16px 0px rgba(31, 41, 55, 0.08)',\n display: 'flex',\n padding: '0',\n width: '320px',\n marginTop: '-1px',\n },\n nzClass: 'custom-wallet-notification',\n nzCloseIcon: this.closeTpl,\n nzKey: notificationId, // 添加唯一 key\n }\n );\n\n this.notifications.set(notificationId, notification);\n\n // 自动清理\n setTimeout(() => {\n this.notifications.delete(notificationId);\n }, data.duration || 8000);\n }\n\n getDesc(desc: string) {\n return this.sanitizer.bypassSecurityTrustHtml(desc);\n }\n\n onClick(data: IData) {\n if (data.onLinkClick) {\n data.onLinkClick();\n }\n }\n\n private generateId(): string {\n return `rd-notification-${Date.now()}-${Math.random()\n .toString(36)\n .substr(2, 9)}`;\n }\n\n ngOnDestroy(): void {\n // 清理所有通知\n this.notifications.forEach((notification, id) => {\n this.notificationService.remove(id);\n });\n this.notifications.clear();\n }\n}\n","<ng-template #notificationTpl let-data=\"data\">\n <div class=\"rd-custom-notification\"></div>\n <div\n class=\"rd-custom-notification-icon\"\n [class]=\"\n data.type === 'warn'\n ? 'rd-custom-warn-background'\n : data.type === 'error'\n ? 'rd-custom-error-background'\n : ''\n \"\n >\n <img\n [hidden]=\"data.type !== 'success'\"\n src=\"assets/img/icon/success-tip.svg\"\n />\n <img [hidden]=\"data.type !== 'warn'\" src=\"assets/img/icon/warm-tip.svg\" />\n <img [hidden]=\"data.type !== 'error'\" src=\"assets/img/icon/error-tip.svg\" />\n </div>\n <div class=\"rd-custom-notification-container\">\n <div class=\"rd-custom-notification-title\">{{ data.title }}</div>\n <div\n class=\"rd-custom-notification-desc\"\n [innerHTML]=\"getDesc(data.desc)\"\n ></div>\n <div\n *ngIf=\"data.actionDesc\"\n class=\"rd-custom-notification-link\"\n (click)=\"onClick(data)\"\n >\n {{ data.actionDesc }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #closeTpl>\n <div class=\"rd-custom-notification-close\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n stroke=\"var(--rd-copy-primary)\"\n stroke-width=\"1.36\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n</ng-template>\n","// notification.service.ts\nimport {\n Injectable,\n Injector,\n OnDestroy,\n EnvironmentInjector,\n} from '@angular/core';\nimport { ComponentRef, createComponent, EmbeddedViewRef } from '@angular/core';\nimport { RdNotificationComponent } from './notification.component';\n\nexport interface IData {\n title?: string;\n desc?: string;\n actionDesc?: string;\n duration?: number;\n type: 'success' | 'warn' | 'error';\n onLinkClick?: () => void;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RdNotificationService implements OnDestroy {\n private static instance: RdNotificationService | null = null;\n private notificationComponentRef?: ComponentRef<RdNotificationComponent>;\n private isCreating = false;\n\n constructor(\n private injector: Injector,\n private environmentInjector: EnvironmentInjector // 添加 EnvironmentInjector\n ) {\n // 防止重复实例化\n if (RdNotificationService.instance) {\n return RdNotificationService.instance;\n }\n RdNotificationService.instance = this;\n }\n\n private ensureComponentCreated(): Promise<void> {\n return new Promise((resolve) => {\n if (this.notificationComponentRef) {\n resolve();\n return;\n }\n\n if (this.isCreating) {\n // 如果正在创建,等待创建完成\n const checkInterval = setInterval(() => {\n if (this.notificationComponentRef && !this.isCreating) {\n clearInterval(checkInterval);\n resolve();\n }\n }, 10);\n return;\n }\n\n this.isCreating = true;\n\n try {\n // 使用 setTimeout 避免在 Angular 生命周期内创建组件\n setTimeout(() => {\n // Angular 15+ 的正确用法\n this.notificationComponentRef = createComponent(\n RdNotificationComponent,\n {\n environmentInjector: this.environmentInjector, // 必需参数\n elementInjector: this.injector,\n }\n );\n\n const hostView = this.notificationComponentRef\n .hostView as EmbeddedViewRef<any>;\n const rootNode = hostView.rootNodes[0];\n\n if (document.body) {\n document.body.appendChild(rootNode);\n } else {\n // 如果 document.body 还不存在,等待 DOM 准备就绪\n document.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(rootNode);\n });\n }\n\n this.notificationComponentRef.changeDetectorRef.detectChanges();\n this.isCreating = false;\n resolve();\n });\n } catch (error) {\n console.error('Failed to create notification component:', error);\n this.isCreating = false;\n resolve();\n }\n });\n }\n\n async show(data: IData): Promise<void> {\n await this.ensureComponentCreated();\n\n if (this.notificationComponentRef?.instance) {\n // 使用 setTimeout 确保在下一个 Angular 周期执行\n setTimeout(() => {\n this.notificationComponentRef!.instance.showNotification(data);\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.notificationComponentRef) {\n this.notificationComponentRef.destroy();\n this.notificationComponentRef = undefined;\n }\n RdNotificationService.instance = null;\n }\n\n // 静态方法用于快速访问\n static show(data: IData): void {\n setTimeout(() => {\n const instance = this.getInstance();\n if (instance) {\n instance.show(data);\n }\n });\n }\n\n private static getInstance(): RdNotificationService | null {\n return this.instance;\n }\n}\n","// notification.module.ts (在 NPM 包中)\nimport {\n NgModule,\n Optional,\n SkipSelf,\n ModuleWithProviders,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzNotificationModule } from 'ng-zorro-antd/notification';\n\nimport { RdNotificationComponent } from './notification.component';\nimport { RdNotificationService } from './notification.service';\n\n// 添加配置接口\nexport interface RdNotificationConfig {\n // 可以添加配置选项,比如默认持续时间等\n defaultDuration?: number;\n maxStack?: number;\n}\n\n@NgModule({\n imports: [CommonModule, NzNotificationModule],\n declarations: [RdNotificationComponent],\n exports: [RdNotificationComponent],\n})\nexport class RdNotificationModule {\n constructor(@Optional() @SkipSelf() parentModule?: RdNotificationModule) {\n if (parentModule) {\n throw new Error(\n 'RdNotificationModule is already loaded. Import it in the AppModule only'\n );\n }\n }\n\n // 修复:使用正确的类型和静态方法\n static forRoot(\n config?: RdNotificationConfig\n ): ModuleWithProviders<RdNotificationModule> {\n return {\n ngModule: RdNotificationModule,\n providers: [\n RdNotificationService,\n // 如果有配置,可以在这里提供\n config ? { provide: 'RD_NOTIFICATION_CONFIG', useValue: config } : [],\n ],\n };\n }\n}\n","import { NzTableQueryParams } from 'ng-zorro-antd/table';\nimport { Subject } from 'rxjs';\nimport {\n IFilterItem,\n IPage,\n ISearchParams,\n ISearchSortedItem,\n IStorageOption,\n} from './task-base.type';\nimport { ICustomFilter } from '../custom-filter';\n\nexport abstract class SearchListBaseComponent {\n public defSearch = '';\n public isFilter = false;\n public searchTerms = new Subject<ISearchParams>();\n public defSearchKey = 'defSearch';\n\n public filterArr: ICustomFilter[] = [];\n\n public paginationParams: IPage = {\n pageSize: 10,\n pageNumber: 1,\n totalRecords: 0,\n totalPages: 0,\n };\n\n public currentSorters: ISearchSortedItem[] = [];\n\n constructor(\n public searchStorageKey: string = '',\n public isOutDatePicker = false\n ) {}\n\n public getSortedParam() {\n return this.currentSorters;\n }\n\n public handleRestoreLastRequest(): IStorageOption[] {\n const searchParams = sessionStorage.getItem(this.searchStorageKey);\n if (searchParams) {\n let advancedFilterArr = JSON.parse(searchParams);\n this.defSearch = advancedFilterArr.find(\n (item: { key: string }) => item.key === this.defSearchKey\n )?.value;\n this.paginationParams.pageNumber = advancedFilterArr.find(\n (item: { key: string }) => item.key === 'pageNumber'\n )?.value;\n this.paginationParams.pageSize = advancedFilterArr.find(\n (item: { key: string }) => item.key === 'pageSize'\n )?.value;\n if (advancedFilterArr.length >= 4) {\n this.isFilter = true;\n advancedFilterArr.forEach((storage: { key: string; value: any }) => {\n this.filterArr.forEach((item) => {\n if (item.key === storage.key) {\n item.value = storage.value;\n }\n });\n });\n }\n return advancedFilterArr;\n }\n return [];\n }\n\n public handleAdvancedFilterArrStorage(storageArr: IStorageOption[] = []) {\n this.filterArr.forEach((item) => {\n if (item.value) {\n storageArr.push({ key: item.key, value: item.value });\n }\n });\n storageArr.push({ key: this.defSearchKey, value: this.defSearch || '' });\n storageArr.push({\n key: 'pageNumber',\n value: this.paginationParams.pageNumber,\n });\n storageArr.push({ key: 'pageSize', value: this.paginationParams.pageSize });\n sessionStorage.setItem(this.searchStorageKey, JSON.stringify(storageArr));\n }\n\n public filterSearchChange() {\n this.searchTerms.next({\n page: this.paginationParams.pageNumber,\n pageSize: this.paginationParams.pageSize,\n filtered: this.getFilterParam(),\n sorted: this.currentSorters,\n });\n }\n\n public nzPageSizeChange(size: number) {\n this.paginationParams.pageNumber = 1;\n this.paginationParams.pageSize = size;\n this.filterSearchChange();\n }\n\n public nzPageIndexChange(index: number) {\n this.paginationParams.pageNumber = index;\n this.filterSearchChange();\n }\n\n public onQueryParamsChange(params: NzTableQueryParams) {\n this.currentSorters = params.sort\n .filter((item) => item.value)\n .map((item) => ({\n id: item.key,\n desc: item.value === 'descend' ? true : false,\n }));\n this.searchTerms.next({\n page: this.paginationParams.pageNumber,\n pageSize: this.paginationParams.pageSize,\n filtered: this.getFilterParam(),\n sorted: this.currentSorters,\n });\n }\n\n public defSearchChange(keyword: string = '') {\n this.defSearch = keyword;\n this.paginationParams.pageNumber = 1;\n this.filterSearchChange();\n }\n\n public refreshPage() {\n this.nzPageIndexChange(1);\n }\n\n protected abstract getFilterParam(): IFilterItem[];\n}\n","import {\n Component,\n Input,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport lottie, { AnimationItem } from 'lottie-web';\n\n// 直接导入 JSON 文件\nimport OPLoading from './OPLoading.json';\n\n// 传进来的size需要*0.173倍,因为loading.json原始图比较大,scale才没有锯齿\n@Component({\n selector: 'app-rd-loading',\n template: `\n <div\n #lottieContainer\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n [style.transform]=\"'scale(0.173)'\"\n [class]=\"containerClass\"\n [style.margin]=\"margin\"\n ></div>\n `,\n styles: [\n `\n :host {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n }\n .lottie-loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .inline-loading {\n display: inline-flex;\n vertical-align: middle;\n }\n `,\n ],\n})\nexport class RdLoadingComponent implements AfterViewInit, OnDestroy, OnChanges {\n @ViewChild('lottieContainer', { static: true }) lottieContainer!: ElementRef;\n\n /**\n * 动画容器尺寸(px)。\n *\n * **注意**:OPLoading.json 原始尺寸为 368×368,模板内通过 `scale(0.17)` 缩放以消除锯齿。\n * 实际显示尺寸 = `size × 0.173`。\n *\n * @example\n * // 默认 ≈ 64px\n * <app-rd-loading></app-rd-loading>\n *\n * // ≈ 40px\n * <app-rd-loading [size]=\"235\"></app-rd-loading>\n */\n @Input() size: number = 368; // 默认大小\n @Input() loop: boolean = true; // 是否循环\n @Input() autoplay: boolean = true; // 是否自动播放\n @Input() speed: number = 1; // 播放速度\n @Input() margin: string = '0'; // 外边距\n\n // 样式类名\n @Input() containerClass: string = 'lottie-loading-container';\n\n // 备用动画数据(如果需要覆盖默认动画)\n @Input() customAnimationData?: any;\n\n private animation: AnimationItem | null = null;\n\n // 使用内置的 OPLoading 动画数据\n private get animationData(): any {\n return this.customAnimationData || OPLoading;\n }\n\n ngAfterViewInit(): void {\n this.loadAnimation();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // 如果大小、自定义动画数据发生变化,重新加载动画\n if (\n (changes['size'] || changes['customAnimationData']) &&\n this.lottieContainer\n ) {\n this.reloadAnimation();\n }\n\n // 如果速度发生变化,更新动画速度\n if (changes['speed'] && this.animation) {\n this.animation.setSpeed(this.speed);\n }\n\n // 如果自动播放状态变化\n if (changes['autoplay'] && this.animation) {\n if (this.autoplay) {\n this.animation.play();\n } else {\n this.animation.pause();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroyAnimation();\n }\n\n private loadAnimation(): void {\n this.destroyAnimation();\n\n const container = this.lottieContainer.nativeElement;\n\n const options = {\n container: container,\n renderer: 'svg' as const,\n loop: this.loop,\n autoplay: this.autoplay,\n animationData: this.animationData,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid meet',\n progressiveLoad: true,\n hideOnTransparent: true,\n },\n };\n\n try {\n this.animation = lottie.loadAnimation(options);\n this.animation.setSpeed(this.speed);\n\n // 监听动画加载完成事件\n this.animation.addEventListener('DOMLoaded', () => {});\n } catch (error) {}\n }\n\n private reloadAnimation(): void {\n // 使用 setTimeout 确保在下一个周期执行,避免 ExpressionChangedAfterItHasBeenCheckedError\n setTimeout(() => {\n this.loadAnimation();\n });\n }\n\n private destroyAnimation(): void {\n if (this.animation) {\n this.animation.destroy();\n this.animation = null;\n }\n }\n\n // ========== 公共方法 ==========\n\n /** 停止动画 */\n stop(): void {\n if (this.animation) {\n this.animation.stop();\n }\n }\n\n /** 设置播放速度 */\n setSpeed(speed: number): void {\n this.speed = speed;\n if (this.animation) {\n this.animation.setSpeed(speed);\n }\n }\n\n /** 跳转到指定帧并播放 */\n goToAndPlay(value: number, isFrame: boolean = true): void {\n if (this.animation) {\n this.animation.goToAndPlay(value, isFrame);\n }\n }\n\n /** 跳转到指定帧并停止 */\n goToAndStop(value: number, isFrame: boolean = true): void {\n if (this.animation) {\n this.animation.goToAndStop(value, isFrame);\n }\n }\n\n /** 获取动画总帧数 */\n getTotalFrames(): number {\n return this.animation ? this.animation.totalFrames : 0;\n }\n\n /** 获取动画持续时间(秒) */\n getDuration(): number {\n return this.animation ? this.animation.getDuration() : 0;\n }\n\n /** 重新启动动画 */\n restart(): void {\n if (this.animation) {\n this.animation.goToAndPlay(0, true);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { RdLoadingComponent } from \"./rd-loading.component\";\n\n@NgModule({\n declarations: [RdLoadingComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, NzInputModule],\n exports: [RdLoadingComponent],\n})\nexport class RdLoadingModule {}\n","import {\n Component,\n forwardRef,\n HostBinding,\n Input,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-select-value',\n templateUrl: './rd-select-value.component.html',\n styleUrls: [\n './rd-select-value.component.scss',\n '../custom-select/select.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RdSelectValueComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RdSelectValueComponent),\n multi: true,\n },\n ],\n})\nexport class RdSelectValueComponent implements ControlValueAccessor {\n @Input() options: { name: string; value: any }[] = [];\n @Input() isShowSearch: boolean = false;\n @Input() isShowErrorTip = true;\n @Input() placeholder: string = '';\n @Input() label: string = '';\n @Input() name: string = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get dropdownClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['rd-form-item-select-dropdown', themeClass]\n .filter(Boolean)\n .join(' ');\n }\n\n value: any = null;\n isDisabled: boolean = false;\n isFocus: boolean = false;\n isOpen: boolean = false;\n searchInput: string = '';\n\n private control: AbstractControl | null = null;\n private onChange: (val: any) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n get showError(): boolean {\n if (!this.isShowErrorTip) return false;\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n if (this.control.errors['required']) {\n return `${this.translate.instant('please_select')}${this.label.toLowerCase()}`;\n }\n if (this.control.errors['custom']) {\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n }\n return this.translate.instant('validation_failed');\n }\n\n onValueChange(val: any): void {\n this.value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n return null;\n }\n\n // ── ControlValueAccessor ────────────────────────────────────────────────\n\n writeValue(val: any): void {\n this.value = val ?? null;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: (val: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n this.cdr.markForCheck();\n }\n}\n","<app-rd-form-item\n [disabled]=\"isDisabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"value\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n [ngClass]=\"{ 'rd-form-item-phone': !label }\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [nzPlaceHolder]=\"placeholder\"\n [nzShowSearch]=\"isShowSearch\"\n [disabled]=\"isDisabled\"\n [nzDropdownClassName]=\"dropdownClassName\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n (nzOpenChange)=\"isOpen = $event\"\n (nzOnSearch)=\"searchInput = $event\"\n [name]=\"name\"\n [nzOptionHeightPx]=\"40\"\n [nzSuffixIcon]=\"customIcon\"\n >\n <nz-option\n *ngFor=\"let option of options\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name\"\n ></nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #customIcon>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n HostBinding,\n} from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-rd-phone',\n templateUrl: './rd-phone.component.html',\n styleUrls: ['./rd-phone.component.scss'],\n})\nexport class RdPhoneComponent implements OnInit, OnDestroy {\n /** Parent FormGroup — controls are registered into it */\n @Input() form: any | FormGroup;\n @Input() areaCodeControlName: string = 'areaCode';\n @Input() phoneControlName: string = 'phoneNumber';\n @Input() label: string = '';\n @Input() required: boolean = false;\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n /** Area codes to exclude from the dropdown (e.g. ['+86']) */\n @Input() excludeAreaCodes: any[] = [];\n /** Full area-code list from the host (e.g. commonService.areaDictionary) */\n @Input() areaCodeOptions: any[] = [];\n\n get filteredAreaCodeOptions(): any[] {\n if (!this.excludeAreaCodes?.length) return this.areaCodeOptions || [];\n return (this.areaCodeOptions || []).filter(\n (opt: any) => !this.excludeAreaCodes.includes(opt.value),\n );\n }\n\n private destroy$ = new Subject<void>();\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n constructor() {}\n\n ngOnInit(): void {\n if (!this.form.contains(this.areaCodeControlName)) {\n this.form.addControl(\n this.areaCodeControlName,\n new FormControl('+852', this.required ? Validators.required : []),\n );\n }\n\n if (!this.form.contains(this.phoneControlName)) {\n this.form.addControl(\n this.phoneControlName,\n new FormControl('', this.required ? Validators.required : []),\n );\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<div class=\"rd-phone-field\" [formGroup]=\"form\">\n <div class=\"rd-phone-row\">\n <div class=\"rd-phone-area-code\">\n <app-rd-select-value\n [formControlName]=\"areaCodeControlName\"\n [options]=\"filteredAreaCodeOptions\"\n [isShowSearch]=\"true\"\n [theme]=\"theme\"\n ></app-rd-select-value>\n </div>\n <div class=\"rd-phone-number\">\n <app-rd-input\n [formControlName]=\"phoneControlName\"\n [label]=\"label\"\n [required]=\"required\"\n [maskType]=\"'number'\"\n [theme]=\"theme\"\n ></app-rd-input>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RdSelectValueComponent } from './rd-select-value.component';\nimport { FormItemModule } from '../form-item/form-item.module';\n\n@NgModule({\n declarations: [RdSelectValueComponent],\n imports: [\n CommonModule,\n FormsModule,\n NzSelectModule,\n TranslateModule,\n FormItemModule,\n ],\n exports: [RdSelectValueComponent],\n})\nexport class RdSelectValueModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RdPhoneComponent } from './rd-phone.component';\nimport { RdSelectValueModule } from '../rd-select-value';\nimport { RdInputModule } from '../custom-input';\n\n@NgModule({\n declarations: [RdPhoneComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n RdSelectValueModule,\n RdInputModule,\n ],\n exports: [RdPhoneComponent],\n})\nexport class RdPhoneModule {}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: \"app-rd-remark-history\",\n templateUrl: \"./rd-remark-history.component.html\",\n styleUrls: [\"./rd-remark-history.component.scss\"],\n})\nexport class RdRemarkHistoryComponent {\n @Input() remarks: string[] = [];\n @Output() select = new EventEmitter<string>();\n\n onSelect(remark: string) {\n this.select.emit(remark);\n }\n}\n","<div class=\"remark-options\">\n <div class=\"t12-500 c-text-secondary remark-options-title\">\n {{ \"recent_remarks\" | translate }}\n </div>\n <div\n class=\"remark-options-item t13-500 c-text-primary\"\n *ngFor=\"let remark of remarks\"\n (click)=\"onSelect(remark)\"\n >\n {{ remark }}\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { RdRemarkHistoryComponent } from \"./rd-remark-history.component\";\n\n@NgModule({\n declarations: [RdRemarkHistoryComponent],\n imports: [CommonModule, TranslateModule],\n exports: [RdRemarkHistoryComponent],\n})\nexport class RdRemarkHistoryModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n ChangeDetectorRef,\n} from \"@angular/core\";\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from \"@angular/forms\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Component({\n selector: \"app-rd-switch\",\n templateUrl: \"./rd-switch.component.html\",\n styleUrls: [\"./rd-switch.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RdSwitchComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RdSwitchComponent),\n multi: true,\n },\n ],\n})\nexport class RdSwitchComponent implements ControlValueAccessor, Validator {\n @Input() label: string = \"\";\n @Input() name: string = \"\";\n @Input() tooltip: string = \"\";\n @Input() disabled: boolean = false;\n @Input() required: boolean = false;\n @Input() checkedChildren: string = \"\";\n @Input() unCheckedChildren: string = \"\";\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: \"light\" | \"dark\";\n\n @HostBinding(\"class.theme-light\")\n get hostThemeLight(): boolean {\n return this.theme === \"light\";\n }\n\n @HostBinding(\"class.theme-dark\")\n get hostThemeDark(): boolean {\n return this.theme === \"dark\";\n }\n\n @Input() errorMessages: { [key: string]: string } = {\n required: \"field_required\",\n };\n\n @Output() valueChange = new EventEmitter<boolean>();\n @Output() blur = new EventEmitter<void>();\n\n value: boolean = false;\n private touched = false;\n private onChange: (value: boolean) => void = () => {};\n private onTouched: () => void = () => {};\n private control: AbstractControl | null = null;\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return \"\";\n const firstError = Object.keys(this.control?.errors || {})[0];\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case \"required\":\n return (\n msg ||\n `${this.translate.instant(\n \"please_select\",\n )} ${this.label.toLowerCase()}`\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant(\"validation_failed\")\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n writeValue(value: boolean): void {\n this.value = !!value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.touched = true;\n this.onTouched();\n this.blur.emit();\n }\n\n handleValueChange(value: boolean): void {\n this.value = value;\n this.onChange(value);\n this.valueChange.emit(value);\n this.cdr.markForCheck();\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n const errors: ValidationErrors = {};\n\n if (this.required && !this.value) {\n errors[\"required\"] = true;\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","<div class=\"rd-form-item rd-form-item-switch\">\n <nz-switch\n [nzCheckedChildren]=\"checkedChildren\"\n [nzUnCheckedChildren]=\"unCheckedChildren\"\n [nzDisabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n ></nz-switch>\n <div class=\"rd-form-item-label\">\n <div\n class=\"cursor-pointer\"\n [innerHTML]=\"label\"\n nz-tooltip\n [nzTooltipTitle]=\"tooltip | translate\"\n [nzTooltipColor]=\"'#F8F9FA'\"\n nzTooltipOverlayClassName=\"custom-tooltip-dark\"\n ></div>\n </div>\n\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <svg\n class=\"rd-error-icon-light\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EA485D\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EA485D\"\n />\n </svg>\n\n <svg\n class=\"rd-error-icon-dark\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EF7484\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EF7484\"\n />\n </svg>\n\n {{ currentErrorMessage }}\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\nimport { RdSwitchComponent } from \"./rd-switch.component\";\nimport { NzToolTipModule } from \"ng-zorro-antd/tooltip\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n declarations: [RdSwitchComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzSwitchModule,\n NzToolTipModule,\n TranslateModule,\n ],\n exports: [RdSwitchComponent],\n})\nexport class RdSwitchModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatBigNumber } from '../utils/big-number';\n\n@Pipe({\n name: 'bigNumber',\n})\nexport class BigNumberPipe implements PipeTransform {\n transform(\n value: string | number,\n precision: number | null = 6,\n mode: 'cut' | 'toFixed' | 'keepAll' = 'cut'\n ): string | number {\n if (!value) return '';\n\n return formatBigNumber(value, precision, mode);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BigNumberPipe } from './big-number.pipe';\n\n@NgModule({\n imports: [],\n exports: [BigNumberPipe],\n declarations: [BigNumberPipe],\n})\nexport class PipesModule {}\n","import { Subject, isObservable, of } from 'rxjs';\nimport { debounceTime, filter, switchMap } from 'rxjs/operators';\n\n// this 是绑定到组件列的实例\nexport function DebounceSearch(\n milliseconds: number = 300,\n queryMinLength = 0,\n queryMaxLength?: number\n) {\n return function (\n target: any,\n propertyKey: string,\n descriptor: PropertyDescriptor\n ) {\n const originalMethod = descriptor.value;\n\n descriptor.value = function (...args: any[]) {\n const subjectKey = `__debounceSubject__${propertyKey}`;\n const _this = this as any;\n if (!_this[subjectKey]) {\n _this[subjectKey] = new Subject<any>();\n\n _this[subjectKey]\n .pipe(\n debounceTime(milliseconds),\n // distinctUntilChanged(),\n filter((query: any) => {\n let showQuery = true;\n if (!query) return true;\n if (queryMinLength && queryMaxLength) {\n showQuery =\n query.length >= queryMinLength &&\n query.length <= queryMaxLength;\n } else if (queryMinLength) {\n showQuery = query.length >= queryMinLength;\n } else if (queryMaxLength) {\n showQuery = query.length <= queryMaxLength;\n }\n return showQuery;\n }),\n switchMap((query) => {\n const result = originalMethod.apply(this, [\n query,\n ...args.slice(1),\n ]);\n\n // Wrap result in an observable if it's not already one\n return isObservable(result) ? result : of(result);\n })\n )\n .subscribe((result: any) => result);\n }\n\n _this[subjectKey].next(...args);\n };\n\n return descriptor;\n };\n}\n","/*\n * Public API Surface of shared-lib\n */\n\nexport * from './lib/modules/custom-checkbox';\nexport * from './lib/modules/custom-date';\nexport * from './lib/modules/custom-input';\nexport * from './lib/modules/custom-textarea';\nexport * from './lib/modules/custom-input-amount';\nexport * from './lib/modules/custom-radio';\nexport * from './lib/modules/custom-select';\nexport * from './lib/modules/custom-filter';\nexport * from './lib/modules/custom-pagination';\nexport * from './lib/modules/status-field';\nexport * from './lib/modules/header-step';\nexport * from './lib/modules/rd-notification';\nexport * from './lib/modules/task-base';\n\nexport * from './lib/modules/rd-button';\nexport * from './lib/modules/rd-loading';\nexport * from './lib/modules/rd-phone';\nexport * from './lib/modules/rd-remark-history';\nexport * from './lib/modules/rd-select-value';\nexport * from './lib/modules/rd-switch';\nexport * from './lib/modules/rd-select-value';\n\nexport * from './lib/pipes';\n\nexport * from './lib/decorators';\n\n// utils\nexport * from './lib/utils/debounce';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1","i5.FormItemComponent","i4","i5","i6.FormItemComponent","i8","i10","i12.RdButtonComponent","i6","i7","i8.FormItemComponent","i9","i4.StatusFieldComponent","i4.RdFilterSelectComponent","i5.RdFilterDateComponent","i6.RdFilterInputComponent","i2.RdSelectValueComponent","i3.CustomInputComponent"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/GD;MAqCa,kBAAkB,CAAA;AApC/B,IAAA,WAAA,GAAA;AAuCE;;;;;;;;;;;;AAYG;AACM,QAAA,IAAA,CAAA,IAAI,GAAW,GAAG,CAAC;AACnB,QAAA,IAAA,CAAA,IAAI,GAAY,IAAI,CAAC;AACrB,QAAA,IAAA,CAAA,QAAQ,GAAY,IAAI,CAAC;AACzB,QAAA,IAAA,CAAA,KAAK,GAAW,CAAC,CAAC;AAClB,QAAA,IAAA,CAAA,MAAM,GAAW,GAAG,CAAC;;AAGrB,QAAA,IAAc,CAAA,cAAA,GAAW,0BAA0B,CAAC;AAKrD,QAAA,IAAS,CAAA,SAAA,GAAyB,IAAI,CAAC;KA+HhD;;AA5HC,IAAA,IAAY,aAAa,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,mBAAmB,IAAI,SAAS,CAAC;KAC9C;IAED,eAAe,GAAA;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;;QAEhC,IACE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,qBAAqB,CAAC;YAClD,IAAI,CAAC,eAAe,EACpB;YACA,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;;QAGD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAA;;QAGD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YACzC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACvB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxB,aAAA;AACF,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAEO,aAAa,GAAA;QACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAExB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;AAErD,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,KAAc;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;AACjC,YAAA,gBAAgB,EAAE;AAChB,gBAAA,mBAAmB,EAAE,eAAe;AACpC,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,iBAAiB,EAAE,IAAI;AACxB,aAAA;SACF,CAAC;QAEF,IAAI;YACF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAGpC,YAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAK,GAAG,CAAC,CAAC;AACxD,SAAA;QAAC,OAAO,KAAK,EAAE,GAAE;KACnB;IAEO,eAAe,GAAA;;QAErB,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;KACJ;IAEO,gBAAgB,GAAA;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACvB,SAAA;KACF;;;IAKD,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACvB,SAAA;KACF;;AAGD,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;KACF;;AAGD,IAAA,WAAW,CAAC,KAAa,EAAE,OAAA,GAAmB,IAAI,EAAA;QAChD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5C,SAAA;KACF;;AAGD,IAAA,WAAW,CAAC,KAAa,EAAE,OAAA,GAAmB,IAAI,EAAA;QAChD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC5C,SAAA;KACF;;IAGD,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC;KACxD;;IAGD,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;KAC1D;;IAGD,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACrC,SAAA;KACF;;gHA1JU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAlCnB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;GAST,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sOAAA,CAAA,EAAA,CAAA,CAAA;4FAyBU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBApC9B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,sOAAA,CAAA,EAAA,CAAA;8BA0B+C,eAAe,EAAA,CAAA;sBAA9D,SAAS;gBAAC,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAerC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAGG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;;;MCnEK,eAAe,CAAA;;6GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8GAAf,eAAe,EAAA,YAAA,EAAA,CAJX,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,CAAA,EAAA,OAAA,EAAA,CAC7D,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAHhB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;4FAG5D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,CAAC;oBACxE,OAAO,EAAE,CAAC,kBAAkB,CAAC;iBAC9B,CAAA;;;MC4BY,sBAAsB,CAAA;AAUjC,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,KAAK,OAAO;AACpB,cAAE,aAAa;AACf,cAAE,IAAI,CAAC,KAAK,KAAK,MAAM;AACrB,kBAAE,YAAY;kBACZ,EAAE,CAAC;AACX,QAAA,OAAO,CAAC,8BAA8B,EAAE,UAAU,CAAC;aAChD,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,CAAC;KACd;IAYD,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;AAD3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AA3C5B,QAAA,IAAO,CAAA,OAAA,GAAmC,EAAE,CAAC;AAC7C,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;AACtB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AA0B3B,QAAA,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAC;AAClB,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAC5B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAEjB,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAuB,MAAK,GAAG,CAAC;AACxC,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;KAKrC;AAEJ,IAAA,IAAI,SAAS,GAAA;;QACX,IAAI,CAAC,IAAI,CAAC,cAAc;AAAE,YAAA,OAAO,KAAK,CAAC;AACvC,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;AAED,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACnC,YAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AAChF,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACjC,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,QAAQ,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACH,SAAA;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;KACpD;AAED,IAAA,aAAa,CAAC,GAAQ,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,QAAQ,CAAC,OAA+B,EAAA;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;;AAID,IAAA,UAAU,CAAC,GAAQ,EAAA;QACjB,IAAI,CAAC,KAAK,GAAG,GAAG,KAAA,IAAA,IAAH,GAAG,KAAH,KAAA,CAAA,GAAA,GAAG,GAAI,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;;oHAnGU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAbtB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpCH,gsDAoDA,EAAA,MAAA,EAAA,CAAA,6TAAA,EAAA,kjNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDda,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBArBlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAMd,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,gsDAAA,EAAA,MAAA,EAAA,CAAA,6TAAA,EAAA,kjNAAA,CAAA,EAAA,CAAA;yIAGQ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MEtCpB,gBAAgB,CAAA;AAc3B,IAAA,IAAI,uBAAuB,GAAA;;QACzB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,MAAM,CACxC,CAAC,GAAQ,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CACzD,CAAC;KACH;AAID,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,WAAA,GAAA;AA9BS,QAAA,IAAmB,CAAA,mBAAA,GAAW,UAAU,CAAC;AACzC,QAAA,IAAgB,CAAA,gBAAA,GAAW,aAAa,CAAC;AACzC,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;;AAI1B,QAAA,IAAgB,CAAA,gBAAA,GAAU,EAAE,CAAC;;AAE7B,QAAA,IAAe,CAAA,eAAA,GAAU,EAAE,CAAC;AAS7B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;KAYvB;IAEhB,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,IAAI,CAAC,mBAAmB,EACxB,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC,CAClE,CAAC;AACH,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAC9C,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC,CAC9D,CAAC;AACH,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;;8GAtDU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,gZCf7B,4nBAqBA,EAAA,MAAA,EAAA,CAAA,odAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAgB,sBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,KAAA,EAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDNa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,4nBAAA,EAAA,MAAA,EAAA,CAAA,odAAA,CAAA,EAAA,CAAA;0EAMf,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAYF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MExBpB,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAVf,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAEnC,YAAY;QACZ,WAAW;QACX,cAAc;QACd,eAAe;QACf,cAAc,aAEN,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAErB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAR5B,YAAY;QACZ,WAAW;QACX,cAAc;QACd,eAAe;QACf,cAAc,CAAA,EAAA,CAAA,CAAA;4FAIL,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,cAAc;wBACd,eAAe;wBACf,cAAc;AACf,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC,CAAA;;;MCCY,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAVT,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAE7B,YAAY;QACZ,mBAAmB;QACnB,eAAe;QACf,mBAAmB;QACnB,aAAa,aAEL,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAEf,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YARtB,YAAY;QACZ,mBAAmB;QACnB,eAAe;QACf,mBAAmB;QACnB,aAAa,CAAA,EAAA,CAAA,CAAA;4FAIJ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;AAChC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,eAAe;wBACf,mBAAmB;wBACnB,aAAa;AACd,qBAAA;oBACD,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC5B,CAAA;;;MCXY,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;AAMW,QAAA,IAAO,CAAA,OAAA,GAAa,EAAE,CAAC;AACtB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;KAK/C;AAHC,IAAA,QAAQ,CAAC,MAAc,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1B;;sHANU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4HCPrC,0UAYA,EAAA,MAAA,EAAA,CAAA,gWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAnB,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDLa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,0UAAA,EAAA,MAAA,EAAA,CAAA,gWAAA,CAAA,EAAA,CAAA;8BAKxB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MECI,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAJjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC7B,YAAY,EAAE,eAAe,aAC7B,wBAAwB,CAAA,EAAA,CAAA,CAAA;oHAEvB,qBAAqB,EAAA,OAAA,EAAA,CAHtB,YAAY,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;4FAG5B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;AACxC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACpC,CAAA;;;MC2BY,iBAAiB,CAAA;AAW5B,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAeD,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACvB,eAAe,CAChB,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA,CAAE,EAC/B;AACJ,YAAA;AACE,gBAAA,QACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACL,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;;AACX,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;IAED,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;AAD3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AA9D5B,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;AACrB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAe,CAAA,eAAA,GAAW,EAAE,CAAC;AAC7B,QAAA,IAAiB,CAAA,iBAAA,GAAW,EAAE,CAAC;QAc/B,IAAA,CAAA,aAAa,GAA8B;AAClD,YAAA,QAAQ,EAAE,gBAAgB;SAC3B,CAAC;AAEQ,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;AAC1C,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;AAE1C,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AACf,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAA,CAAA,QAAQ,GAA6B,MAAK,GAAG,CAAC;AAC9C,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;AACjC,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;KAgC3C;AAEJ,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;AAED,IAAA,iBAAiB,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,QAAQ,CAAC,OAA+B,EAAA;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;QAED,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAChC,YAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC3B,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;KACvD;;+GA7GU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAbjB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCH,kxGAoEA,EAAA,MAAA,EAAA,CAAA,ogDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhCa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGd,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EAAA,QAAA,EAAA,kxGAAA,EAAA,MAAA,EAAA,CAAA,ogDAAA,CAAA,EAAA,CAAA;yIAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;gBAKtB,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAII,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,IAAI,EAAA,CAAA;sBAAb,MAAM;;;ME1CI,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,CAXV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAE9B,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,cAAc;QACd,eAAe;QACf,eAAe,aAEP,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YATvB,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,cAAc;QACd,eAAe;QACf,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACjC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,cAAc;wBACd,eAAe;wBACf,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;iBAC7B,CAAA;;;MCbY,aAAa,CAAA;IACxB,SAAS,CACP,KAAsB,EACtB,YAA2B,CAAC,EAC5B,OAAsC,KAAK,EAAA;AAE3C,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE,CAAC;QAEtB,OAAO,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;KAChD;;2GATU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;iBAClB,CAAA;;;MCGY,WAAW,CAAA;;yGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0GAAX,WAAW,EAAA,YAAA,EAAA,CAFP,aAAa,CAAA,EAAA,OAAA,EAAA,CADlB,aAAa,CAAA,EAAA,CAAA,CAAA;0GAGZ,WAAW,EAAA,CAAA,CAAA;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,YAAY,EAAE,CAAC,aAAa,CAAC;iBAC9B,CAAA;;;ACJD;AACM,SAAU,cAAc,CAC5B,YAAuB,GAAA,GAAG,EAC1B,cAAc,GAAG,CAAC,EAClB,cAAuB,EAAA;AAEvB,IAAA,OAAO,UACL,MAAW,EACX,WAAmB,EACnB,UAA8B,EAAA;AAE9B,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;AAExC,QAAA,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW,EAAA;AACzC,YAAA,MAAM,UAAU,GAAG,CAAsB,mBAAA,EAAA,WAAW,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAW,CAAC;AAC1B,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AACtB,gBAAA,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,OAAO,EAAO,CAAC;gBAEvC,KAAK,CAAC,UAAU,CAAC;AACd,qBAAA,IAAI,CACH,YAAY,CAAC,YAAY,CAAC;;AAE1B,gBAAA,MAAM,CAAC,CAAC,KAAU,KAAI;oBACpB,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,oBAAA,IAAI,CAAC,KAAK;AAAE,wBAAA,OAAO,IAAI,CAAC;oBACxB,IAAI,cAAc,IAAI,cAAc,EAAE;wBACpC,SAAS;4BACP,KAAK,CAAC,MAAM,IAAI,cAAc;AAC9B,gCAAA,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC;AAClC,qBAAA;AAAM,yBAAA,IAAI,cAAc,EAAE;AACzB,wBAAA,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC;AAC5C,qBAAA;AAAM,yBAAA,IAAI,cAAc,EAAE;AACzB,wBAAA,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC;AAC5C,qBAAA;AACD,oBAAA,OAAO,SAAS,CAAC;AACnB,iBAAC,CAAC,EACF,SAAS,CAAC,CAAC,KAAK,KAAI;AAClB,oBAAA,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;wBACxC,KAAK;AACL,wBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjB,qBAAA,CAAC,CAAC;;AAGH,oBAAA,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AACpD,iBAAC,CAAC,CACH;qBACA,SAAS,CAAC,CAAC,MAAW,KAAK,MAAM,CAAC,CAAC;AACvC,aAAA;YAED,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAClC,SAAC,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;AACpB,KAAC,CAAC;AACJ;;AC1DA;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"rd-outer-component.mjs","sources":["../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.component.ts","../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.component.html","../../../projects/shared-lib/src/lib/modules/custom-checkbox/custom-checkbox.module.ts","../../../projects/shared-lib/src/lib/modules/form-item/form-item.component.ts","../../../projects/shared-lib/src/lib/modules/form-item/form-item.component.html","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.component.ts","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.component.html","../../../projects/shared-lib/src/lib/modules/form-item/form-item.module.ts","../../../projects/shared-lib/src/lib/modules/custom-date/custom-date.module.ts","../../../projects/shared-lib/src/lib/utils/big-number.ts","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.component.ts","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.component.html","../../../projects/shared-lib/src/lib/modules/custom-input/custom-input.module.ts","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.component.ts","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.component.html","../../../projects/shared-lib/src/lib/modules/custom-textarea/custom-textarea.module.ts","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.component.ts","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.component.html","../../../projects/shared-lib/src/lib/modules/custom-input-amount/custom-input-amount.module.ts","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.component.ts","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.component.html","../../../projects/shared-lib/src/lib/modules/custom-radio/custom-radio.module.ts","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.component.ts","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.component.html","../../../projects/shared-lib/src/lib/modules/rd-button/rd-button.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/rd-select.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/pure-select-token/pure-select-token.module.ts","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.component.ts","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.component.html","../../../projects/shared-lib/src/lib/modules/custom-select/industry-cascader/industry-cascader.module.ts","../../../projects/shared-lib/src/lib/modules/status-field/status-field.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.component.html","../../../projects/shared-lib/src/lib/modules/status-field/status-field.module.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-select/custom-filter-select.module.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.types.ts","../../../projects/shared-lib/src/lib/utils/form-vaild-lang.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-date/custom-filter-date.component.html","../../../projects/shared-lib/src/lib/utils/debounce.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter-input/custom-filter-input.component.html","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.component.ts","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.component.html","../../../projects/shared-lib/src/lib/modules/custom-filter/custom-filter.module.ts","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.component.ts","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.component.html","../../../projects/shared-lib/src/lib/modules/custom-pagination/paginator.module.ts","../../../projects/shared-lib/src/lib/modules/header-step/header-step.component.ts","../../../projects/shared-lib/src/lib/modules/header-step/header-step.component.html","../../../projects/shared-lib/src/lib/modules/header-step/header-step.module.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.component.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.component.html","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.service.ts","../../../projects/shared-lib/src/lib/modules/rd-notification/notification.module.ts","../../../projects/shared-lib/src/lib/modules/rd-common-box/rd-common-box.component.ts","../../../projects/shared-lib/src/lib/modules/rd-common-box/rd-common-box.component.html","../../../projects/shared-lib/src/lib/modules/rd-common-box/rd-common-box.module.ts","../../../projects/shared-lib/src/lib/modules/task-base/task-base.component.ts","../../../projects/shared-lib/src/lib/modules/rd-loading/rd-loading.component.ts","../../../projects/shared-lib/src/lib/modules/rd-loading/rd-loading.module.ts","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.component.ts","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.component.html","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.component.ts","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.component.html","../../../projects/shared-lib/src/lib/modules/rd-select-value/rd-select-value.module.ts","../../../projects/shared-lib/src/lib/modules/rd-phone/rd-phone.module.ts","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.component.ts","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.component.html","../../../projects/shared-lib/src/lib/modules/rd-remark-history/rd-remark-history.module.ts","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.component.ts","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.component.html","../../../projects/shared-lib/src/lib/modules/rd-switch/rd-switch.module.ts","../../../projects/shared-lib/src/lib/pipes/big-number.pipe.ts","../../../projects/shared-lib/src/lib/pipes/pipes.module.ts","../../../projects/shared-lib/src/lib/decorators/search-debounce.decorator.ts","../../../projects/shared-lib/src/public-api.ts","../../../projects/shared-lib/src/rd-outer-component.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ISelectOption } from '../custom-select';\n\n@Component({\n selector: 'app-rd-checkbox',\n templateUrl: './custom-checkbox.component.html',\n styleUrls: ['./custom-checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomCheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CustomCheckboxComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() type: '' | 'isBpn' = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n @Input()\n set options(val: any) {\n this._rawOptions = val;\n }\n get options(): any {\n return this._rawOptions;\n }\n\n @Output() valueChange = new EventEmitter<ISelectOption[]>();\n\n private _rawOptions: ISelectOption[] = [];\n\n value: ISelectOption | undefined = undefined;\n nativeValue: ISelectOption['value'] | undefined = undefined;\n\n onChange: (value: ISelectOption[]) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: ISelectOption): void {\n this.value = value;\n this.nativeValue = value?.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n handleValueChange(value: ISelectOption[]): void {\n this.onChange(value);\n this.valueChange.emit(value);\n }\n}\n","<div>\n <div\n class=\"rd-form-item-check\"\n [ngClass]=\"{\n disabled: disabled,\n isBpn: type === 'isBpn',\n }\"\n >\n <div class=\"rd-form-item-check-label\">{{ label }}</div>\n <nz-checkbox-group\n [(ngModel)]=\"options\"\n (ngModelChange)=\"handleValueChange($event)\"\n ></nz-checkbox-group>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CustomCheckboxComponent } from './custom-checkbox.component';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\n@NgModule({\n declarations: [CustomCheckboxComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, NzCheckboxModule],\n exports: [CustomCheckboxComponent],\n})\nexport class RdCheckboxModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'app-rd-form-item',\n templateUrl: './form-item.component.html',\n styleUrls: ['./form-item.component.scss'],\n})\nexport class FormItemComponent {\n @Input() errorMessage?: string;\n @Input() disabled?: boolean;\n @Input() label?: string;\n @Input() type?: 'select' | 'date';\n @Input() focus?: boolean;\n @Input() value?: string | number | any;\n @Input() size?: 'small' | 'normal' = 'normal';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get isShowSelectIcon() {\n return this.type === 'select';\n }\n\n get isShowDateIcon() {\n return this.type === 'date';\n }\n}\n","<div\n class=\"rd-form-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': !!errorMessage,\n 'rd-focus': focus,\n 'rd-has-value': !!value,\n 'rd-form-item-s': size === 'small',\n 'rd-form-item-normal': size === 'normal',\n }\"\n>\n <ng-content></ng-content>\n <div *ngIf=\"label\" class=\"rd-form-item-label\">{{ label }}</div>\n <svg\n *ngIf=\"isShowSelectIcon\"\n class=\"rd-form-item-select-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n d=\"M3 5.83337L8 11.1667L13 5.83337\"\n [attr.stroke]=\"disabled ? 'var(--rd-copy-disable)' : 'var(--rd-copy-primary)'\"\n stroke-width=\"1.16667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n</div>\n<div *ngIf=\"errorMessage\" class=\"rd-form-item-error\">\n <img src=\"/assets/img/icon/icon-error.svg\" />\n {{ errorMessage }}\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NzDatePickerComponent } from 'ng-zorro-antd/date-picker';\n\n@Component({\n selector: 'app-rd-date',\n templateUrl: './custom-date.component.html',\n styleUrls: [\n './custom-date.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomDateComponent),\n multi: true,\n },\n ],\n})\nexport class CustomDateComponent implements ControlValueAccessor, Validator {\n @Input() disabled = false;\n @Input() disabledDate?: (d: Date) => boolean;\n @Input() label!: string;\n @Input() type: 'date' | 'range' = 'date';\n @Input() required = false;\n @Input() name = '';\n @Input() placeholder: string = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n @Input() errorMessages: { [key: string]: string } = {\n required: 'please_select_date',\n invalid: 'invalid_date',\n custom: 'validation_failed',\n };\n\n @ViewChild('datePicker') datePicker!: NzDatePickerComponent;\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get popupClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['rd-form-item-date-popup', themeClass].filter(Boolean).join(' ');\n }\n\n inputValue: [string, string] | string | null = null;\n isPickerOpen = false;\n isFocus = false;\n isComponentReady = false;\n\n private control: AbstractControl | null = null;\n private onChange: any = () => {};\n private onTouched: any = () => {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n switch (firstError) {\n case 'required':\n return `${this.translate.instant(\n 'please_select',\n )}${this.label.toLowerCase()}`;\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get displayValue(): string {\n if (!this.inputValue) return '';\n\n if (this.type === 'range' && Array.isArray(this.inputValue)) {\n const [start, end] = this.inputValue;\n return `${start || ''} - ${end || ''}`;\n }\n\n return this.inputValue as string;\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.control = control;\n\n // 添加自定义验证逻辑\n const errors: ValidationErrors = {};\n\n // 必填验证\n if (this.required && !this.inputValue) {\n errors['required'] = true;\n return errors;\n }\n\n // 如果是范围选择,验证两个日期都有值\n if (this.type === 'range' && Array.isArray(this.inputValue)) {\n const [start, end] = this.inputValue;\n if ((start && !end) || (!start && end)) {\n errors['incomplete'] = true;\n return errors;\n }\n }\n\n return null;\n }\n\n writeValue(value: any): void {\n this.inputValue = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onDateChange(value: any): void {\n this.inputValue = value;\n this.onChange(value);\n\n // 触发验证\n if (this.control) {\n this.control.markAsTouched();\n this.control.updateValueAndValidity();\n }\n\n this.cdr.markForCheck();\n }\n\n onOpenChange(open: any): void {\n setTimeout(() => {\n this.isPickerOpen = open;\n this.cdr.markForCheck();\n }, 0);\n }\n\n openPicker(): void {\n if (this.disabled || this.isPickerOpen) {\n return;\n }\n this.isPickerOpen = true;\n this.datePicker?.open();\n }\n\n onFocus(): void {\n this.isFocus = true;\n }\n\n onBlur(): void {\n this.isFocus = false;\n this.onTouched();\n }\n\n ngAfterViewInit(): void {\n // 等待下一个变更检测周期,确保所有样式和类已应用\n setTimeout(() => {\n this.isComponentReady = true;\n this.cdr.markForCheck();\n }, 0);\n }\n\n // 在组件中\n disabledEndDate = (current: Date): boolean => {\n if (!current) {\n return false;\n }\n\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n const currentDate = new Date(current);\n currentDate.setHours(0, 0, 0, 0);\n\n // 禁用今天和未来的日期\n return currentDate.getTime() >= today.getTime();\n };\n}\n","<div [class.rd-date-ready]=\"isComponentReady\" class=\"rd-date-container\">\n <app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isPickerOpen\"\n [type]=\"'date'\"\n [label]=\"label\"\n [value]=\"displayValue\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openPicker()\"\n >\n <nz-range-picker\n *ngIf=\"type === 'range'\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onDateChange($event)\"\n (nzOnOpenChange)=\"onOpenChange($event)\"\n [nzFormat]=\"'dd/MM/yyyy'\"\n [nzShowTime]=\"false\"\n [nzAllowClear]=\"false\"\n [nzPlaceHolder]=\"['From', 'To']\"\n class=\"rd-form-item-date\"\n [nzDisabledDate]=\"disabledDate\"\n [nzDropdownClassName]=\"popupClassName\"\n [nzSeparator]=\"'-'\"\n [nzDisabled]=\"disabled\"\n nzSuffixIcon=\"\"\n #datePicker\n nzBorderless\n nzPlacement=\"bottomRight\"\n [nzInputReadOnly]=\"true\"\n [name]=\"name\"\n (nzFocus)=\"onFocus()\"\n (nzBlur)=\"onBlur()\"\n [ngClass]=\"{\n 'rd-form-item-date-hide': !inputValue?.length,\n }\"\n ></nz-range-picker>\n <nz-date-picker\n *ngIf=\"type === 'date'\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onDateChange($event)\"\n (nzOnOpenChange)=\"onOpenChange($event)\"\n [nzFormat]=\"'dd/MM/yyyy'\"\n [nzShowTime]=\"false\"\n [nzAllowClear]=\"false\"\n [nzShowToday]=\"false\"\n class=\"rd-form-item-date\"\n [nzDisabledDate]=\"disabledDate || disabledEndDate\"\n [nzDropdownClassName]=\"popupClassName\"\n [nzDisabled]=\"disabled\"\n nzSuffixIcon=\"\"\n #datePicker\n nzBorderless\n [nzInputReadOnly]=\"true\"\n [name]=\"name\"\n (nzFocus)=\"onFocus()\"\n (nzBlur)=\"onBlur()\"\n [ngClass]=\"{\n 'rd-form-item-date-hide': !inputValue,\n }\"\n ></nz-date-picker>\n </app-rd-form-item>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormItemComponent } from './form-item.component';\n\n@NgModule({\n declarations: [FormItemComponent],\n exports: [FormItemComponent],\n imports: [CommonModule],\n})\nexport class FormItemModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomDateComponent } from './custom-date.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { FormItemModule } from '../form-item/form-item.module';\n\n@NgModule({\n declarations: [CustomDateComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzDatePickerModule,\n FormItemModule,\n ],\n exports: [CustomDateComponent],\n})\nexport class RdDateModule {}\n","import Big from 'big.js';\n\nexport function formatBigNumber(\n value: string | number | undefined,\n precision: number | null = 6,\n mode: 'cut' | 'toFixed' | 'keepAll' = 'cut'\n): string {\n if (!value) return '';\n\n try {\n const bigValue = new Big(value);\n let fixedValue = '';\n\n switch (mode) {\n case 'keepAll':\n fixedValue = bigValue.toString();\n break;\n default:\n // 如果 precision 是 null,则转为 undefined\n const roundPrecision = precision === null ? undefined : precision;\n fixedValue = bigValue\n .round(roundPrecision, 0)\n .toFixed(precision === null ? 0 : precision);\n if (mode === 'cut') {\n fixedValue = fixedValue.replace(/\\.?0+$/, '');\n }\n break;\n }\n\n const parts = fixedValue.split('.');\n const integerPart = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n const decimalPart = parts[1] ? '.' + parts[1] : '';\n\n return integerPart + decimalPart;\n } catch (error) {\n console.error('Invalid number format:', value);\n return `${value}`;\n }\n}\n\nexport function numberToBig(\n value: string,\n precision = 6,\n mode: 'cut' | 'toFixed' = 'cut'\n) {\n if (!value) return '';\n const fixedValue = new Big(value).round(precision, 0).toFixed(precision);\n\n if (mode === 'toFixed') {\n return fixedValue;\n }\n return fixedValue.replace(/\\.?0+$/, '');\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\nimport Big from 'big.js';\nimport { formatBigNumber } from '../../utils/big-number';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-input',\n templateUrl: './custom-input.component.html',\n styleUrls: [\n './custom-input.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CustomInputComponent),\n multi: true,\n },\n ],\n})\nexport class CustomInputComponent implements ControlValueAccessor, Validator {\n @Input() label: string = '';\n @Input() symbol = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() maskNumber = 6;\n @Input() maskType: 'amount' | 'number' | 'text' = 'text';\n @Input() type: 'password' | 'text' | 'select' = 'text';\n @Input() allowNegativeNumbers = true;\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n @Input() required = false;\n @Input() placeholder?: string;\n @Input() min?: number;\n @Input() max?: number;\n @Input() minLength?: number;\n @Input() maxLength?: number;\n @Input() pattern?: string | RegExp;\n @Input() customValidator?: ValidatorFn;\n @Input() size?: 'small' | 'default' = 'default';\n\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'Invalid format',\n custom: 'Validation failed',\n };\n\n @Output() valueChange = new EventEmitter<string>();\n @Output() focus = new EventEmitter<void>();\n @Output() blur = new EventEmitter<void>();\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n value: string = '';\n isFocused = false;\n private touched = false;\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n private control: AbstractControl | null = null;\n private onValidatorChange: () => void = () => {};\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n );\n case 'min':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'min_value_error',\n )}${formatBigNumber(this.min)}`\n );\n case 'max':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'max_value_error',\n )}${formatBigNumber(this.max)}`\n );\n case 'precision':\n return (\n msg ||\n `${this.translate.instant('max_decimal_places')}${this.maskNumber}`\n );\n case 'minLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_be_less')}${this.minLength}`\n );\n case 'maxLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_exceed')}${this.maxLength}`\n );\n case 'email':\n return msg || `${this.translate.instant('email_invalid')}`;\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get resolvedPlaceholder(): string {\n if (!this.label) return this.placeholder || '';\n return this.isFocused ? this.placeholder || ' ' : ' ';\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n writeValue(value: string): void {\n this.value = value || '';\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n if (this.type === 'select') {\n this.disabled = true;\n } else {\n this.disabled = isDisabled;\n }\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.isFocused = false;\n this.touched = true;\n this.onTouched();\n this.blur.emit();\n this.cdr.markForCheck();\n }\n\n onFocus(): void {\n this.isFocused = true;\n this.focus.emit();\n }\n\n handleValueChange(value: string): void {\n const cleanedValue =\n this.maskType === 'amount'\n ? value.replace(/,/g, '')\n : typeof value === 'string'\n ? value.trim()\n : value;\n this.value = cleanedValue;\n this.onChange(cleanedValue);\n this.valueChange.emit(cleanedValue);\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n const errors: ValidationErrors = {};\n let value;\n if (this.maskType === 'amount') {\n value = control?.value?.replace(/,/g, '');\n\n try {\n if (value) {\n const bigValue = new Big(value);\n if (this.min && !Number.isNaN(this.min) && bigValue.lt(this.min)) {\n errors['min'] = { min: this.min, actual: value };\n }\n if (this.max && !Number.isNaN(this.max) && bigValue.gt(this.max)) {\n errors['max'] = { max: this.max, actual: value };\n }\n }\n } catch (error) {\n errors['invalid'] = true;\n }\n } else {\n value =\n typeof control?.value === 'string'\n ? control?.value?.trim()\n : control?.value;\n }\n\n if (this.required && !value) {\n errors['required'] = true;\n }\n\n if (value && typeof value === 'string') {\n if (this.minLength && value.length < this.minLength) {\n errors['minLength'] = {\n requiredLength: this.minLength,\n actualLength: value.length,\n };\n }\n if (this.maxLength && value.length > this.maxLength) {\n errors['maxLength'] = {\n requiredLength: this.maxLength,\n actualLength: value.length,\n };\n }\n }\n\n if (this.pattern && value) {\n const pattern =\n this.pattern instanceof RegExp\n ? this.pattern\n : new RegExp(this.pattern);\n if (!pattern.test(value)) {\n errors['pattern'] = { requiredPattern: pattern, actualValue: value };\n }\n }\n\n if (this.customValidator) {\n const customErrors = this.customValidator(control!);\n if (customErrors) {\n Object.assign(errors, customErrors);\n }\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","<div\n [ngClass]=\"{\n 'rd-form-item-rd-input-relative': type === 'select',\n 'rd-form-item-s': size === 'small',\n }\"\n>\n <div\n class=\"rd-form-item rd-form-item-p-deal\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': showError,\n 'rd-focus': isFocused,\n 'rd-has-value': !!value,\n 'rd-form-item-input-select': type === 'select',\n 'rd-form-item-password': type === 'password',\n }\"\n >\n <input\n nz-input\n [placeholder]=\"resolvedPlaceholder\"\n [name]=\"name\"\n aria-autocomplete=\"none\"\n [type]=\"type\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [allowNegativeNumbers]=\"allowNegativeNumbers\"\n [dropSpecialCharacters]=\"false\"\n [mask]=\"\n maskType === 'amount'\n ? 'separator.' + maskNumber\n : maskType === 'number'\n ? '0*'\n : ''\n \"\n [thousandSeparator]=\"maskType === 'amount' ? ',' : ''\"\n class=\"rd-form-item-input\"\n [ngClass]=\"{\n 'rd-form-item-input-no-label': !label,\n }\"\n />\n <div class=\"rd-form-item-label\" *ngIf=\"label\">{{ label }}</div>\n <ng-container *ngIf=\"symbol\">\n <div class=\"rd-input-symbol\">{{ symbol }}</div>\n </ng-container>\n </div>\n <div class=\"rd-form-item-rd-input-absolute\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <svg\n class=\"rd-error-icon-light\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EA485D\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EA485D\"\n />\n </svg>\n\n <svg\n class=\"rd-error-icon-dark\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EF7484\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EF7484\"\n />\n </svg>\n\n {{ currentErrorMessage | translate }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { CustomInputComponent } from './custom-input.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [CustomInputComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzInputModule,\n NgxMaskModule,\n TranslateModule,\n ],\n exports: [CustomInputComponent],\n})\nexport class RdInputModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n} from '@angular/forms';\nimport { CdkTextareaAutosize } from '@angular/cdk/text-field';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-textarea',\n templateUrl: './custom-textarea.component.html',\n styleUrls: [\n './custom-textarea.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomTextareaComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CustomTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class CustomTextareaComponent\n implements ControlValueAccessor, Validator\n{\n @Input() lang = 'en';\n @Input() label: string = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() required = false;\n @Input() minLength?: number;\n @Input() maxLength?: number;\n @Input() pattern?: string | RegExp;\n @Input() customValidator?: ValidatorFn;\n @Input() nzAutosize: boolean = true;\n @ViewChild(CdkTextareaAutosize) autosize?: CdkTextareaAutosize;\n\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'Invalid format',\n custom: 'Validation failed',\n };\n\n @Output() valueChange = new EventEmitter<string>();\n @Output() focus = new EventEmitter<void>();\n @Output() blur = new EventEmitter<void>();\n\n value: string = '';\n isFocused = false;\n private touched = false;\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n private control: AbstractControl | null = null;\n private onValidatorChange: () => void = () => {};\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n );\n case 'minLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_be_less')}${this.minLength}`\n );\n case 'maxLength':\n return (\n msg ||\n `${this.translate.instant('length_cannot_exceed')}${this.maxLength}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n writeValue(value: string): void {\n this.value = value || '';\n this.cdr.markForCheck();\n setTimeout(() => {\n this.autosize?.resizeToFitContent(true);\n });\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.isFocused = false;\n this.touched = true;\n this.onTouched();\n this.blur.emit();\n this.cdr.markForCheck();\n }\n\n handleValueChange(value: string): void {\n const cleanedValue = value.trim();\n this.value = cleanedValue;\n this.onChange(cleanedValue);\n this.valueChange.emit(cleanedValue);\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n const errors: ValidationErrors = {};\n let value = control?.value?.trim();\n\n if (this.required && !value) {\n errors['required'] = true;\n }\n\n if (value && typeof value === 'string') {\n if (this.minLength && value.length < this.minLength) {\n errors['minLength'] = {\n requiredLength: this.minLength,\n actualLength: value.length,\n };\n }\n if (this.maxLength && value.length > this.maxLength) {\n errors['maxLength'] = {\n requiredLength: this.maxLength,\n actualLength: value.length,\n };\n }\n }\n\n if (this.pattern && value) {\n const pattern =\n this.pattern instanceof RegExp\n ? this.pattern\n : new RegExp(this.pattern);\n if (!pattern.test(value)) {\n errors['pattern'] = { requiredPattern: pattern, actualValue: value };\n }\n }\n\n if (this.customValidator) {\n const customErrors = this.customValidator(control!);\n if (customErrors) {\n Object.assign(errors, customErrors);\n }\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","<div>\n <div\n class=\"rd-form-item rd-form-textarea\"\n [ngClass]=\"{ disabled: disabled, error: showError }\"\n >\n <textarea\n nz-input\n nzBorderless\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n [nzAutosize]=\"nzAutosize\"\n placeholder=\" \"\n class=\"rd-form-item-input\"\n ></textarea>\n <div class=\"rd-form-item-label\">{{ label }}</div>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <img *ngIf=\"currentErrorMessage\" src=\"/assets/img/icon/icon-error.svg\" />\n {{ currentErrorMessage }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { CustomTextareaComponent } from './custom-textarea.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [CustomTextareaComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzInputModule,\n TranslateModule,\n ],\n exports: [CustomTextareaComponent],\n})\nexport class RdTextareaModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport Big from 'big.js';\nimport { formatBigNumber, numberToBig } from '../../utils/big-number';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-input-amount',\n templateUrl: './custom-input-amount.component.html',\n styleUrls: [\n './custom-input-amount.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomInputAmountComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CustomInputAmountComponent),\n multi: true,\n },\n ],\n})\nexport class CustomInputAmountComponent\n implements ControlValueAccessor, Validator\n{\n @Input() lang = 'en';\n @Input() label = '';\n @Input() symbol = '';\n @Input() name = '';\n @Input() disabled = false;\n @Input() min?: number;\n @Input() max?: number;\n @Input() nzPrecision = 6;\n @Input() allowNegativeNumbers = true;\n @Input() required = true;\n @Input() nzSize: 'default' | 'small' = 'default';\n @Input() errorMessages: any = {\n invalid: 'Please enter a valid number',\n };\n @Input() clearError = true;\n\n @Output() blur = new EventEmitter<void>();\n @Output() focus = new EventEmitter<void>();\n @Output() valueChange = new EventEmitter<string>();\n @Input() theme?: 'light' | 'dark';\n\n inputValue: string = ''; // 绑定到输入框\n private value: string = ''; // 内部值,始终以 string 形式存储\n private touched = false;\n private control: AbstractControl | null = null;\n errors: ValidationErrors | null = null;\n\n private onChange: (value: string) => void = () => {};\n private onTouched: () => void = () => {};\n private onValidatorChange: () => void = () => {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n const msg = this.errorMessages[firstError];\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant('please_enter')}${this.label.toLowerCase()}`\n );\n case 'min':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'min_value_error',\n )}${formatBigNumber(this.min)}`\n );\n case 'max':\n return (\n msg ||\n `${this.label}${this.translate.instant(\n 'max_value_error',\n )}${formatBigNumber(this.max)}`\n );\n case 'precision':\n return (\n msg ||\n `${this.translate.instant('max_decimal_places')}${this.nzPrecision}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n `${this.translate.instant('validation_failed')}`\n );\n default:\n return msg || this.translate.instant('validation_failed');\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n handleValueChange(value: string): void {\n const rawValue = value.replace(/,/g, '');\n\n // 处理输入的值,转换成 Big.js 格式\n this.value = numberToBig(rawValue, this.nzPrecision);\n\n // 更新绑定值\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n\n this.touched = true;\n this.onTouched();\n\n if (this.control) {\n const errors = this.validate(this.control);\n this.control.setErrors(errors);\n this.onValidatorChange();\n }\n\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.touched = true;\n this.onTouched();\n if (this.control && this.clearError) {\n const errors = this.validate(this.control);\n this.control.setErrors(errors);\n this.onValidatorChange();\n }\n this.cdr.markForCheck();\n this.blur.emit();\n }\n\n onFocus() {\n this.focus.emit();\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n const errors: ValidationErrors = {};\n const value = this.value;\n\n if (this.required && !value) {\n errors['required'] = true;\n }\n\n if (value) {\n try {\n const bigValue = new Big(value);\n\n if (this.min && !Number.isNaN(this.min) && bigValue.lt(this.min)) {\n errors['min'] = { min: this.min, actual: value };\n }\n if (this.max && !Number.isNaN(this.max) && bigValue.gt(this.max)) {\n errors['max'] = { max: this.max, actual: value };\n }\n\n const decimalPlaces = value.split('.')[1]?.length || 0;\n if (decimalPlaces > this.nzPrecision) {\n errors['precision'] = true;\n }\n } catch (e) {\n errors['invalid'] = true;\n }\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n\n writeValue(value: string | number | null): void {\n const v = value?.toString() ?? '';\n this.value = v;\n this.inputValue = v;\n this.cdr.markForCheck();\n }\n}\n","<div>\n <div\n class=\"rd-form-number-item\"\n [ngClass]=\"{\n 'rd-disabled': disabled,\n 'rd-error': showError,\n 'rd-form-number-small': nzSize === 'small',\n disabled: disabled,\n error: showError,\n }\"\n >\n <div class=\"rd-item-label\">{{ label }}</div>\n <div class=\"rd-item-content\">\n <input\n nz-input\n [name]=\"name\"\n type=\"text\"\n [placeholder]=\"'0'\"\n [mask]=\"'separator.' + nzPrecision\"\n [thousandSeparator]=\"','\"\n [allowNegativeNumbers]=\"allowNegativeNumbers\"\n [dropSpecialCharacters]=\"false\"\n [(ngModel)]=\"inputValue\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n class=\"rd-item-content-value\"\n />\n <ng-content select=\"[slot='token']\"></ng-content>\n <div *ngIf=\"symbol\" class=\"rd-item-content-symbol\">{{ symbol }}</div>\n </div>\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <svg\n class=\"rd-error-icon-light\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EA485D\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EA485D\"\n />\n </svg>\n\n <svg\n class=\"rd-error-icon-dark\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EF7484\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EF7484\"\n />\n </svg>\n {{ currentErrorMessage }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { CustomInputAmountComponent } from './custom-input-amount.component';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [CustomInputAmountComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzInputModule,\n NgxMaskModule,\n TranslateModule,\n ],\n exports: [CustomInputAmountComponent],\n})\nexport class RdInputAmountModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostBinding,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ISelectOption } from '../../types/common.type';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-rd-radio',\n templateUrl: './custom-radio.component.html',\n styleUrls: ['./custom-radio.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CustomRadioComponent),\n multi: true,\n },\n ],\n})\nexport class CustomRadioComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() name = '';\n @Input() disabled = false;\n /** 按钮大小:large, default, small */\n @Input() size: 'large' | 'default' | 'small' = 'default';\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Input() allowDeselect = true; // 新增:是否允许取消选中\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n @Input()\n set options(val: ISelectOption[]) {\n this._rawOptions = val;\n }\n get options(): ISelectOption[] {\n return this._rawOptions;\n }\n\n @Output() valueChange = new EventEmitter<ISelectOption | null>();\n\n private _rawOptions: ISelectOption[] = [];\n private _value: ISelectOption | null = null;\n\n onChange: (value: ISelectOption | null) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit() {}\n\n ngOnDestroy() {}\n\n get value(): ISelectOption | null {\n return this._value;\n }\n\n set value(val: ISelectOption | null) {\n if (this._value !== val) {\n this._value = val;\n this.onChange(val);\n this.valueChange.emit(val);\n }\n }\n\n get nativeValue(): any {\n return this._value?.value;\n }\n\n set nativeValue(val: any) {\n const option = this.options.find((opt) => opt.value === val);\n this.value = option || null;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: any): void {\n if (value) {\n if (typeof value === 'object' && 'value' in value) {\n // 如果传入的是 ISelectOption 对象\n this._value =\n this.options.find((opt) => opt.value === value.value) || value;\n } else {\n // 如果传入的是值\n this._value = this.options.find((opt) => opt.value === value) || null;\n }\n } else {\n this._value = null;\n }\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n // 处理单选按钮点击\n handleRadioClick(optionValue: any): void {\n if (this.disabled) return;\n\n this.onTouched();\n\n // 如果允许取消选中,并且点击的是当前选中的选项\n if (this.allowDeselect && this.nativeValue === optionValue) {\n // 取消选中\n this.nativeValue = null;\n } else {\n // 选中新选项\n this.nativeValue = optionValue;\n }\n }\n\n // 判断选项是否选中\n isOptionSelected(optionValue: any): boolean {\n return this.nativeValue === optionValue;\n }\n}\n","<div\n class=\"rd-form-item-radio\"\n [ngClass]=\"{\n 'rd-form-item-radio-disabled': disabled,\n 'rd-form-item-radio-vertical': direction === 'vertical',\n large: size === 'large',\n }\"\n>\n <div class=\"rd-form-item-radio-label\" *ngIf=\"label\">\n {{ label }}\n </div>\n\n <div\n [ngClass]=\"{\n 'rd-radio-group-horizontal': direction === 'horizontal',\n 'rd-radio-group-vertical': direction === 'vertical',\n }\"\n class=\"rd-custom-radio-group\"\n >\n <label\n *ngFor=\"let option of options\"\n class=\"rd-radio-item\"\n [class.rd-radio-item-selected]=\"isOptionSelected(option.value)\"\n [class.rd-radio-item-disabled]=\"disabled || option.disabled\"\n [class.rd-radio-item-large]=\"size === 'large'\"\n [class.rd-radio-item-small]=\"size === 'small'\"\n (click)=\"handleRadioClick(option.value)\"\n >\n <div\n [style.width.px]=\"size === 'large' ? 40 : size === 'small' ? 20 : 24\"\n [style.height.px]=\"size === 'large' ? 40 : size === 'small' ? 20 : 24\"\n >\n <span\n class=\"rd-custom-radio\"\n [class.rd-custom-radio-selected]=\"isOptionSelected(option.value)\"\n [class.rd-custom-radio-disabled]=\"disabled || option.disabled\"\n >\n <span class=\"rd-custom-radio-inner\"></span>\n </span>\n </div>\n <span class=\"rd-radio-text\" [innerHtml]=\"option.label\"> </span>\n </label>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CustomRadioComponent } from './custom-radio.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\n\n@NgModule({\n declarations: [CustomRadioComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSpinModule,\n NzRadioModule,\n ],\n exports: [CustomRadioComponent],\n})\nexport class RdRadioModule {}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n// ng-zorro 按钮类型\ntype NzButtonType = 'primary' | 'default' | 'dashed' | 'link' | 'text';\ntype NzButtonShape = 'circle' | 'round';\ntype NzButtonSize = 'large' | 'default' | 'small';\n\n/** Figma ALPHA Button: Solid Primary / Secondary / Tertiary / Gradient + Outline */\nexport type RdButtonType =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'gradient'\n | 'default'\n | 'danger'\n | 'yellow'\n | 'gray'\n | 'link'\n | 'text';\n\n@Component({\n selector: 'app-rd-button',\n templateUrl: './rd-button.component.html',\n styleUrls: ['./rd-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RdButtonComponent {\n /**\n * 按钮类型。\n * Solid: primary / secondary / tertiary / gradient / danger\n * type=\"default\" 兼容旧用法,等同 outline primary。\n */\n @Input() type: RdButtonType = 'default';\n\n /** 按钮大小:large, default, small */\n @Input() size: 'large' | 'default' | 'small' = 'default';\n\n /** 按钮形状:default, circle, round */\n @Input() shape: 'default' | 'circle' | 'round' = 'default';\n\n /** 是否禁用 */\n @Input() disabled = false;\n\n /** 是否加载中 */\n @Input() loading = false;\n\n /** 是否块级元素,宽度充满父容器 */\n @Input() block = false;\n\n /** 原生 button 类型:button, submit, reset */\n @Input() htmlType: 'button' | 'submit' | 'reset' = 'button';\n\n /** Outline 描边按钮,可与 primary / secondary / tertiary / gradient / danger 组合 */\n @Input() outline = false;\n\n /** 是否显示为幽灵按钮(背景透明,Ghost token) */\n @Input() ghost = false;\n\n /** 是否显示为虚线按钮 */\n @Input() dashed = false;\n\n /** 图标类名(使用项目图标库) */\n @Input() icon?: string;\n\n /** 危险按钮(type=danger 时自动为 true) */\n @Input() danger = false;\n\n /** 点击事件 */\n @Output() click = new EventEmitter<MouseEvent>();\n\n @Input() minWidth = 56;\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n /** 获取 ng-zorro 的 nzType,兼容现有代码 */\n get nzType(): NzButtonType {\n if (this.type === 'link' || this.type === 'text') {\n return this.type;\n }\n if (this.outline || this.ghost) {\n return 'default';\n }\n if (this.type === 'danger' || this.type === 'yellow' || this.type === 'primary') {\n return 'primary';\n }\n return 'default';\n }\n\n /** 获取 ng-zorro 的 nzShape */\n get nzShape(): NzButtonShape | any {\n return this.shape !== 'default' ? (this.shape as NzButtonShape) : undefined;\n }\n\n /** 获取 ng-zorro 的 nzSize */\n get nzSize(): NzButtonSize | any {\n return this.size !== 'default' ? (this.size as NzButtonSize) : undefined;\n }\n\n /** 处理点击事件 */\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n if (!this.disabled && !this.loading) {\n this.click.emit(event);\n }\n }\n\n /** 获取按钮 CSS 类 */\n get buttonClasses(): { [key: string]: boolean } {\n const classes: { [key: string]: boolean } = {\n 'rd-button': true,\n [`rd-button-${this.type}`]: true,\n 'rd-button-block': this.block,\n 'rd-button-loading': this.loading,\n 'rd-button-disabled': this.disabled,\n 'rd-button-ghost': this.ghost && !this.outline,\n 'rd-button-outline': this.outline,\n 'rd-button-dashed': this.dashed,\n 'rd-button-danger': this.danger || this.type === 'danger',\n 'rd-button-icon-only': !!this.icon && !this.hasContent,\n };\n\n // 添加尺寸类,避免与 type=\"default\" 冲突\n if (this.size !== 'default') {\n classes[`rd-button-size-${this.size}`] = true;\n }\n\n // 添加形状类,避免与 type 值冲突\n if (this.shape !== 'default') {\n classes[`rd-button-shape-${this.shape}`] = true;\n }\n\n return classes;\n }\n\n /** 检查是否有内容(除了图标) */\n get hasContent(): boolean {\n // 通过内容投影判断,在模板中使用 <ng-content>\n return true; // 实际由模板判断,这里返回 true 假设有内容\n }\n}\n","<button\n nz-button\n [nzType]=\"nzType\"\n [nzShape]=\"nzShape\"\n [nzSize]=\"nzSize\"\n [nzGhost]=\"ghost\"\n [nzDanger]=\"danger || type === 'danger'\"\n [nzBlock]=\"block\"\n [nzLoading]=\"loading\"\n [disabled]=\"disabled\"\n [type]=\"htmlType\"\n [ngClass]=\"buttonClasses\"\n [ngStyle]=\"{ 'min-width': minWidth + 'px' }\"\n (click)=\"onClick($event)\"\n class=\"rd-button-native\"\n>\n <span class=\"rd-button-content\">\n <ng-content></ng-content>\n </span>\n</button>\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ChangeDetectorRef,\n HostListener,\n AfterViewInit,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ISelectOption } from '../../types/common.type';\n\n@Component({\n selector: 'app-rd-select',\n templateUrl: './rd-select.component.html',\n styleUrls: ['./rd-select.component.scss', './select.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RdSelectComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RdSelectComponent),\n multi: true,\n },\n ],\n})\nexport class RdSelectComponent implements ControlValueAccessor, AfterViewInit {\n @Input() label: string = '';\n @Input() customTpl: any;\n @Input() optionTpl: any;\n @Input() name = '';\n @Input() disabled = false;\n @Input() nzMode: 'multiple' | 'default' = 'default';\n @Input() isCurrency?: boolean;\n @Input() currencyUrlMap?: Record<string, string>;\n @Input() optionHeightPx?: number;\n @Input() nzMaxMultipleCount: any = 100;\n @Input() isLoading = false;\n @Input() isShowSearch = false;\n @Input() isRemoteSearch = false;\n @Input() placeholder = '';\n @Input() isRquired = true;\n @Input() isShowErrorTip = true; // 问卷外部已经有错误提示了,这里需要忽略\n @Input() isSearchWidthAuto = false;\n\n @Input()\n set options(val: ISelectOption[]) {\n this._rawOptions = val;\n this.filteredOptions = val;\n }\n get options(): ISelectOption[] {\n return this._rawOptions;\n }\n\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'invalid_format',\n custom: 'validation_failed',\n };\n\n @Output() searchChange = new EventEmitter<string>();\n @Output() valueChange = new EventEmitter<ISelectOption | ISelectOption[]>();\n @Output() scrollToBottomEmit = new EventEmitter<void>();\n\n private _rawOptions: ISelectOption[] = [];\n filteredOptions: ISelectOption[] = [];\n\n value: ISelectOption | ISelectOption[] | undefined = undefined;\n nativeValue: ISelectOption['value'] | ISelectOption['value'][] | undefined =\n undefined;\n drawerSelectValue:\n | any\n | ISelectOption['value']\n | ISelectOption['value'][]\n | undefined = undefined;\n searchInput = '';\n @Input() businessLocation = false;\n @Input() businessLocationTitle = '';\n onChange: (value: ISelectOption | ISelectOption[] | undefined) => void =\n () => {};\n onTouched: () => void = () => {};\n\n isFocus = false;\n isOpen = false;\n isComponentReady = false;\n private control: AbstractControl | null = null;\n\n searchTerm = '';\n drawerOpen = false;\n modalOpen = false;\n @Input() showSelectedCount = false; // 新增:是否显示选中计数\n @Input() showClearAll = false; // 新增:是否显示清空按钮\n @Input() selectedLabel = 'Selected:';\n @Input() clearAllLabel = 'Clear all';\n @Input() showTopHint = false; // 新增:是否显示顶部提示\n @Input() topHintText = 'You can choose up to 3 locations'; // 顶部提示文本\n // 计算选中的数量\n get selectedCount(): number {\n if (this.nzMode === 'multiple') {\n return Array.isArray(this.nativeValue) ? this.nativeValue.length : 0;\n }\n return this.nativeValue !== undefined && this.nativeValue !== null ? 1 : 0;\n }\n\n get dropdownClassNames(): string[] {\n const classes: string[] = [];\n\n // 基础类名\n if (this.nzMode === 'multiple') {\n classes.push('rd-form-item-multiple-select-dropdown');\n } else {\n classes.push('rd-form-item-select-dropdown');\n }\n\n // 条件类名\n if (this.showTopHint) {\n classes.push('has-top-hint');\n }\n\n return classes;\n }\n\n get isShowMaxCount() {\n // hack\n return this.nzMaxMultipleCount < 10000;\n }\n\n // 响应式:是否是移动端\n isMobile = false;\n @HostListener('window:resize')\n onResize() {\n this.updateIsMobile();\n }\n\n // 清空所有选项\n clearAll(): void {\n if (this.nzMode === 'multiple') {\n if (!this.isMobile) {\n this.nativeValue = [];\n this.value = [];\n }\n this.drawerSelectValue = [];\n } else {\n this.nativeValue = undefined;\n this.value = undefined;\n this.drawerSelectValue = [];\n }\n\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n this.cdr.markForCheck();\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n const firstError = Object.keys(this.control?.errors || {})[0];\n\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant(\n 'please_select',\n )}${this.label.toLowerCase()}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {\n this.updateIsMobile();\n const mq = window.matchMedia('(max-width: 997px)');\n if (mq.addEventListener) {\n mq.addEventListener('change', () => this.updateIsMobile());\n } else {\n mq.addListener(() => this.updateIsMobile());\n }\n }\n\n private updateIsMobile() {\n this.isMobile = window.matchMedia('(max-width: 997px)').matches;\n }\n\n openDrawer(): void {\n if (this.disabled) return;\n this.searchTerm = '';\n\n if (!this.isMobile && this.businessLocation && this.nzMode === 'multiple') {\n this.modalOpen = true;\n } else {\n this.drawerOpen = true;\n }\n\n this.drawerSelectValue = this.nativeValue;\n this.filteredOptions = this.options;\n }\n\n getDrawerSelectValueLen() {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue?.length;\n } else {\n return 0;\n }\n }\n\n closeDrawer() {\n this.drawerOpen = false;\n this.filteredOptions = this.options;\n this.searchTerm = '';\n }\n\n closeModal() {\n this.modalOpen = false;\n this.filteredOptions = this.options;\n this.searchTerm = '';\n }\n\n // 获取抽屉中已选中的数量\n get drawerSelectedCount(): number {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue.length;\n }\n return this.drawerSelectValue ? 1 : 0;\n }\n\n // 检查选项是否应该被禁用\n getOptionDisabled(option: ISelectOption): boolean {\n // 如果选项本身被禁用,直接返回true\n if (option.disabled) {\n return true;\n }\n\n // 如果当前不是多选模式,返回选项的disabled状态\n if (this.nzMode !== 'multiple') {\n return false;\n }\n\n // 在移动端抽屉中,检查是否达到最大选择数量\n if (\n (this.isMobile && this.businessLocation && this.drawerOpen) ||\n (!this.isMobile && this.businessLocation && this.modalOpen)\n ) {\n // 如果已经达到最大选择数量,并且当前选项没有被选中,则禁用\n if (this.drawerSelectedCount >= this.nzMaxMultipleCount) {\n return !this.isValueSelected(option.value);\n }\n }\n\n return false;\n }\n\n // 修改 onCheckboxChange 方法,添加数量限制\n onCheckboxChange(selectedValues: any[]): void {\n // 检查是否超过最大选择数量\n if (\n this.nzMode === 'multiple' &&\n selectedValues.length > this.nzMaxMultipleCount\n ) {\n // 如果超过最大数量,只保留前 nzMaxMultipleCount 个\n selectedValues = selectedValues.slice(0, this.nzMaxMultipleCount);\n }\n\n let newDrawerValue: any[];\n\n if (this.searchTerm) {\n // 在搜索状态下,合并历史选中值和当前选中值\n const currentDrawerValue = Array.isArray(this.drawerSelectValue)\n ? this.drawerSelectValue\n : [];\n // 找出被取消勾选的值\n const previousFilteredValues = this.filteredOptions\n .map((opt) => opt.value)\n .filter((value) => currentDrawerValue.includes(value));\n\n const deselectedValues = previousFilteredValues.filter(\n (value) => !selectedValues.includes(value),\n );\n\n // 从当前抽屉值中移除被取消勾选的值\n const remainingValues = currentDrawerValue.filter(\n (value) => !deselectedValues.includes(value),\n );\n\n // 合并剩余值和当前选中值(去重)\n newDrawerValue = [...new Set([...remainingValues, ...selectedValues])];\n\n // 再次检查是否超过最大数量\n if (newDrawerValue.length > this.nzMaxMultipleCount) {\n newDrawerValue = newDrawerValue.slice(0, this.nzMaxMultipleCount);\n }\n } else {\n // 非搜索状态下,直接使用当前选中值,但确保不超过最大数量\n newDrawerValue =\n selectedValues.length > this.nzMaxMultipleCount\n ? selectedValues.slice(0, this.nzMaxMultipleCount)\n : selectedValues;\n }\n\n this.drawerSelectValue = newDrawerValue;\n }\n\n // 修改多选移动端下一步的方法\n multSelectMobileNext(): void {\n // 确保选择数量不超过最大限制\n if (\n Array.isArray(this.drawerSelectValue) &&\n this.drawerSelectValue.length > this.nzMaxMultipleCount\n ) {\n // 如果超过最大数量,截取前n个\n this.drawerSelectValue = this.drawerSelectValue.slice(\n 0,\n this.nzMaxMultipleCount,\n );\n }\n\n this.handleValueChange(this.drawerSelectValue);\n this.closeDrawer();\n this.closeModal();\n }\n\n getDisableNext() {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue?.length > this.nzMaxMultipleCount;\n } else {\n return false;\n }\n }\n\n doMobileSearch(value: string): void {\n this.filteredOptions = this.options.filter((opt: any) =>\n opt.name.toLowerCase().includes(value.toLowerCase()),\n );\n this.cdr.markForCheck();\n }\n\n isValueSelected(optionValue: any): boolean {\n if (this.nzMode === 'multiple') {\n if (Array.isArray(this.drawerSelectValue)) {\n return this.drawerSelectValue.includes(optionValue);\n }\n return false;\n } else {\n return this.drawerSelectValue === optionValue;\n }\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n return null;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: ISelectOption | ISelectOption[]): void {\n if (Array.isArray(value)) {\n this.value = value;\n this.nativeValue = value.map((item) => item.value);\n return;\n }\n this.value = value;\n this.nativeValue = value?.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n handleValueChange(\n value: ISelectOption['value'] | ISelectOption['value'][],\n ): void {\n this.nativeValue = value;\n if (Array.isArray(value)) {\n this.value = this.options.filter((item) => value.includes(item.value));\n } else {\n this.value = this.options.find((item) => item.value === value);\n }\n\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n }\n\n onScrollToBottom(): void {\n if (!this.isLoading) {\n this.scrollToBottomEmit.emit();\n }\n }\n\n onSearch(searchValue: string) {\n this.searchInput = searchValue;\n if (this.isRemoteSearch) {\n this.searchChange.emit(searchValue);\n return;\n }\n\n const lower = searchValue.toLowerCase();\n this.filteredOptions = this._rawOptions.filter((item) =>\n item.name?.toLowerCase().includes(lower),\n );\n }\n\n handleOpenChange(value: boolean) {\n this.isOpen = value;\n }\n\n getCurrencyKey(value: string): string {\n const parts = value.split(/[-/]/);\n const mapKeys = Object.keys(this.currencyUrlMap || {});\n for (const part of parts) {\n if (mapKeys.includes(part)) {\n return part;\n }\n }\n return parts[0];\n }\n\n ngAfterViewInit(): void {\n // 等待下一个变更检测周期,确保所有样式和类已应用\n setTimeout(() => {\n this.isComponentReady = true;\n this.cdr.markForCheck();\n }, 0);\n }\n}\n","<!-- rd-select.component.html -->\n<div\n [class.rd-select-ready]=\"isComponentReady\"\n [class.rd-search-width-auto]=\"isSearchWidthAuto\"\n class=\"rd-select-container\"\n>\n <app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"nativeValue\"\n [errorMessage]=\"showError && isShowErrorTip ? currentErrorMessage : ''\"\n [ngClass]=\"{\n 'rd-form-item-phone': !label,\n }\"\n (click)=\"openDrawer()\"\n >\n <nz-select\n class=\"rd-form-item-select\"\n [ngStyle]=\"{\n 'pointer-events':\n businessLocation && nzMode === 'multiple' ? 'none' : '',\n }\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzMaxMultipleCount]=\"nzMaxMultipleCount ? nzMaxMultipleCount : null\"\n [nzPlaceHolder]=\"placeholder\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"dropdownClassNames\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"optionHeightPx || 40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzShowSearch]=\"\n nzMode === 'multiple' && businessLocation ? false : isShowSearch\n \"\n (nzOnSearch)=\"onSearch($event)\"\n [name]=\"name\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n [nzDropdownRender]=\"\n showSelectedCount || showClearAll ? customDropdownFooter : null\n \"\n [ngClass]=\"{\n 'rd-select-disabled-open': isMobile && businessLocation,\n }\"\n >\n <nz-option\n *ngIf=\"showTopHint && isShowMaxCount\"\n nzDisabled\n nzCustomContent\n >\n <div class=\"top-hint-option\">\n <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n </div>\n </nz-option>\n\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n </ng-container>\n </nz-option>\n\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n </app-rd-form-item>\n</div>\n\n<!-- 自定义下拉菜单底部 -->\n<ng-template #customDropdownFooter>\n <div class=\"select-footer-container\">\n <div\n class=\"select-footer-content d-flex justify-content-between align-items-center\"\n >\n <div>\n <!-- 选中计数 -->\n <span *ngIf=\"showSelectedCount\" class=\"t14-400 c-text-primary\">\n {{ selectedLabel }}\n {{\n isMobile ? getDrawerSelectValueLen() : selectedCount\n }}/<ng-container *ngIf=\"isShowMaxCount\"\n >/{{ nzMaxMultipleCount }}\n </ng-container>\n </span>\n\n <!-- 清空按钮 -->\n <a\n *ngIf=\"\n showClearAll &&\n (isMobile ? getDrawerSelectValueLen() : selectedCount) > 0\n \"\n class=\"b14 ml-16\"\n (click)=\"clearAll(); $event.stopPropagation()\"\n >\n {{ clearAllLabel }}\n </a>\n </div>\n\n <div>\n <app-rd-button\n type=\"primary\"\n *ngIf=\"isMobile\"\n [disabled]=\"getDisableNext()\"\n (click)=\"multSelectMobileNext()\"\n >\n {{ \"next\" | translate }}</app-rd-button\n >\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #customModalFooter>\n <div class=\"select-footer-container\">\n <div\n class=\"select-footer-content d-flex justify-content-between align-items-center\"\n >\n <div>\n <!-- 选中计数 -->\n <span *ngIf=\"showSelectedCount\" class=\"t14-400 c-text-primary\">\n {{ selectedLabel }}\n {{ getDrawerSelectValueLen()\n }}<ng-container *ngIf=\"isShowMaxCount\"\n >/{{ nzMaxMultipleCount }}\n </ng-container>\n </span>\n\n <!-- 清空按钮 -->\n <a\n *ngIf=\"showClearAll && getDrawerSelectValueLen() > 0\"\n class=\"b14 ml-16\"\n (click)=\"clearAll(); $event.stopPropagation()\"\n >\n {{ clearAllLabel }}\n </a>\n </div>\n\n <div>\n <app-rd-button\n type=\"primary\"\n [disabled]=\"isRquired ? getDrawerSelectValueLen() === 0 : false\"\n (click)=\"multSelectMobileNext()\"\n >\n {{ \"done\" | translate }}</app-rd-button\n >\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- 其他模板保持不变 -->\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[getCurrencyKey(selected.nzValue)]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile && businessLocation\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzFooter]=\"customDropdownFooter\"\n nzWrapClassName=\"select-drawer\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"select-drawer-header\">\n <div class=\"header-title\">\n <div>\n {{\n (businessLocation ? \"select_nature_of_business\" : \" \") | translate\n }}\n </div>\n <div class=\"close-btn\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n class=\"w-full\"\n >\n <path\n d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n stroke=\"var(--rd-copy-primary)\"\n stroke-width=\"1.36\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n </div>\n\n <div class=\"cascader-drawer-list\">\n <div *ngIf=\"isShowMaxCount\" class=\"my-16 ml-8\">\n <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n </div>\n <ng-container *ngIf=\"filteredOptions?.length\">\n <nz-checkbox-wrapper\n class=\"question-content\"\n class=\"t14-400 c-text-primary\"\n (nzOnChange)=\"onCheckboxChange($event)\"\n >\n <div *ngFor=\"let option of filteredOptions\" class=\"mb-8\">\n <label\n nz-checkbox\n [nzValue]=\"option?.value\"\n [nzDisabled]=\"getOptionDisabled(option)\"\n [nzChecked]=\"isValueSelected(option?.value)\"\n >\n <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n </label>\n </div>\n </nz-checkbox-wrapper>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<!-- Modal for desktop business location multi-select -->\n<nz-modal\n [(nzVisible)]=\"modalOpen\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzFooter]=\"customModalFooter\"\n nzWrapClassName=\"select-modal\"\n (nzOnCancel)=\"closeModal()\"\n [nzWidth]=\"632\"\n [nzBodyStyle]=\"{ height: '600px' }\"\n nzCentered\n>\n <div *nzModalContent>\n <div class=\"select-modal-header\">\n <div\n class=\"header-title d-flex justify-content-between align-items-center\"\n >\n <div>\n {{\n (businessLocationTitle\n ? businessLocationTitle\n : businessLocation\n ? \"select_nature_of_business\"\n : \" \"\n ) | translate\n }}\n </div>\n <div class=\"close-btn\" (click)=\"closeModal()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n stroke=\"var(--rd-copy-primary)\"\n stroke-width=\"1.36\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-modal-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n </div>\n\n <div class=\"cascader-modal-list\">\n <div class=\"mb-16\" *ngIf=\"showTopHint && isShowMaxCount\">\n <span class=\"t14-400 c-text-primary\">{{ topHintText }}</span>\n </div>\n <ng-container *ngIf=\"filteredOptions?.length\">\n <nz-checkbox-wrapper\n class=\"question-content\"\n class=\"t14-400 c-text-primary\"\n (nzOnChange)=\"onCheckboxChange($event)\"\n >\n <div *ngFor=\"let option of filteredOptions\" class=\"mb-8\">\n <label\n nz-checkbox\n [nzValue]=\"option?.value\"\n [nzDisabled]=\"getOptionDisabled(option)\"\n [nzChecked]=\"isValueSelected(option?.value)\"\n >\n <span class=\"t14-400 c-text-primary\">{{ option?.name }}</span>\n </label>\n </div>\n </nz-checkbox-wrapper>\n </ng-container>\n </div>\n </div>\n</nz-modal>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\nimport { NzIconModule } from \"ng-zorro-antd/icon\";\nimport { RdButtonComponent } from \"./rd-button.component\";\n\n@NgModule({\n declarations: [RdButtonComponent],\n imports: [CommonModule, NzButtonModule, NzIconModule],\n exports: [RdButtonComponent],\n})\nexport class RdButtonModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RdSelectComponent } from './rd-select.component';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { FormItemModule } from '../form-item/form-item.module';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { RdButtonModule } from '../rd-button/rd-button.module';\n\n@NgModule({\n declarations: [RdSelectComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSpinModule,\n NzSelectModule,\n FormItemModule,\n NzDrawerModule,\n NzInputModule,\n TranslateModule,\n NzCheckboxModule,\n NzButtonModule,\n NzModalModule,\n RdButtonModule,\n ],\n exports: [RdSelectComponent],\n})\nexport class RdSelectModule {}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ITokenSelectOption } from './pure-select-token.type';\n\nexport interface ISelectOption {\n value: string;\n name: string;\n iconUrl: string;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'app-rd-pure-select-token',\n templateUrl: './pure-select-token.component.html',\n styleUrls: ['./pure-select-token.component.scss', '../select.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PureSelectTokenComponent),\n multi: true,\n },\n ],\n})\nexport class PureSelectTokenComponent implements ControlValueAccessor {\n @Input() disabled = false;\n @Input() tokens: ITokenSelectOption[] = [];\n @Input() label!: string;\n\n value: string | null = null;\n\n isLoading = false;\n isFocus = false;\n isOpen = false;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value: string | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n handleValueChange(value: string): void {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n }\n\n handleOpenChange(value: boolean) {\n this.isOpen = value;\n }\n\n getIconUrl(token: string) {\n if (!token) return '';\n return (\n this.tokens.find((item) => token.includes(item.value))?.iconUrl || ''\n );\n }\n}\n","<app-rd-form-item\n type=\"select\"\n size=\"small\"\n [disabled]=\"disabled\"\n [focus]=\"isFocus || isOpen\"\n>\n <nz-select\n class=\"rd-form-item-select rd-form-item-select-s\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"value\"\n [nzCustomTemplate]=\"currencySelectedTpl\"\n (ngModelChange)=\"handleValueChange($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [disabled]=\"disabled\"\n [nzDropdownClassName]=\"'rd-form-item-select-dropdown-s'\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"32\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzDropdownMatchSelectWidth]=\"true\"\n [nzNotFoundContent]=\"nzNotFoundContent\"\n [nzPlaceHolder]=\"label\"\n >\n <nz-option\n *ngFor=\"let option of tokens\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container\n *ngTemplateOutlet=\"currencyOptionTpl; context: { $implicit: option }\"\n ></ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <nz-avatar\n [nzSize]=\"20\"\n [nzIcon]=\"'user'\"\n [nzSrc]=\"option.iconUrl\"\n ></nz-avatar>\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"getIconUrl(selected?.nzValue)\" class=\"rd-token-icon\" alt=\"\" />\n <span>{{ selected?.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #nzNotFoundContent>\n <div class=\"rd-form-item-empty\">\n <img src=\"/assets/img/no-data.svg\" />\n <p>No data</p>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\n\nimport { PureSelectTokenComponent } from './pure-select-token.component';\nimport { FormItemModule } from '../../form-item/form-item.module';\n\n@NgModule({\n declarations: [PureSelectTokenComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NzSpinModule,\n NzSelectModule,\n FormItemModule,\n NzAvatarModule,\n ],\n exports: [PureSelectTokenComponent],\n})\nexport class RdPureSelectTokenModule {}\n","import {\n Component,\n HostBinding,\n HostListener,\n OnInit,\n OnChanges,\n SimpleChanges,\n ChangeDetectorRef,\n Input,\n Output,\n EventEmitter,\n forwardRef,\n AfterViewInit,\n ElementRef,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { NzCascaderOption } from 'ng-zorro-antd/cascader';\n\n@Component({\n selector: 'app-industry-cascader',\n templateUrl: './industry-cascader.component.html',\n styleUrls: ['./industry-cascader.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IndustryCascaderComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => IndustryCascaderComponent),\n multi: true,\n },\n ],\n})\nexport class IndustryCascaderComponent\n implements OnInit, OnChanges, ControlValueAccessor, AfterViewInit, OnDestroy\n{\n @ViewChild('cascaderContainer') cascaderContainer!: ElementRef;\n @ViewChild('valueText') valueText!: ElementRef;\n constructor(\n private translate: TranslateService,\n private cdr: ChangeDetectorRef,\n ) {}\n\n @Input() disabled = false;\n @Input() errorMessages: { [key: string]: string } = {\n pattern: 'invalid_format',\n custom: 'validation_failed',\n };\n @Input() industryCodes: any;\n @Output() valueChange = new EventEmitter<string[] | null>();\n\n @Input() label = '1st industry nature of business';\n @Input() name = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get drawerWrapClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['cascader-drawer', themeClass].filter(Boolean).join(' ');\n }\n options: NzCascaderOption[] = [];\n\n searchInput = '';\n value: string[] = [];\n\n drawerOpen = false;\n view: 'root' | 'children' = 'root';\n activeParent: any | NzCascaderOption | null = null;\n\n isFocus = false;\n isOpen = false;\n\n searchTerm = '';\n searchChildrenTerm = '';\n filteredOptions: any = [];\n filteredChildren: any = [];\n private searchTimer: any = null;\n\n private control: AbstractControl | null = null;\n // 添加新属性\n isTextOverflow = false;\n // 修改isTextOverflow为对象,记录更详细的信息\n textOverflowInfo = {\n isOverflow: false,\n lineCount: 0,\n maxLines: 2, // 你可以设置最大允许的行数\n exceededLines: 0, // 超过的行数\n };\n overflowLineCount = 0; // 实际占用的行数\n maxAllowedLines = 2; // 最大允许行数\n\n private resizeObserver: ResizeObserver | null = null;\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n\n const firstError = Object.keys(this.control?.errors || {})[0];\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case 'required':\n return (\n msg ||\n `${this.translate.instant(\n 'please_select',\n )}${this.label.toLowerCase()}`\n );\n case 'custom':\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant('validation_failed')\n );\n }\n }\n\n onChange: (value: string[] | null | undefined) => void = () => {};\n onTouched: () => void = () => {};\n\n // 响应式:是否是移动端\n isMobile = false;\n @HostListener('window:resize')\n onResize() {\n this.updateIsMobile();\n }\n\n ngOnInit(): void {\n this.handleInitOptions();\n this.updateIsMobile();\n const mq = window.matchMedia('(max-width: 997px)');\n if (mq.addEventListener) {\n mq.addEventListener('change', () => this.updateIsMobile());\n } else {\n mq.addListener(() => this.updateIsMobile());\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['industryCodes']) {\n this.handleInitOptions();\n }\n }\n\n ngAfterViewInit() {\n this.setupResizeObserver();\n // 初始检测\n setTimeout(() => this.checkTextOverflow(), 0);\n }\n\n ngOnDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n private setupResizeObserver() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkTextOverflow();\n });\n\n if (this.valueText?.nativeElement) {\n this.resizeObserver.observe(this.valueText.nativeElement);\n }\n\n if (this.cascaderContainer?.nativeElement) {\n this.resizeObserver.observe(this.cascaderContainer.nativeElement);\n }\n }\n }\n\n private checkTextOverflow(): void {\n if (!this.valueText?.nativeElement) return;\n\n const textElement = this.valueText.nativeElement;\n\n // 方法1:计算实际行数\n this.calculateLineCount(textElement);\n\n // 方法2:备用宽度检测\n this.checkWidthOverflow(textElement);\n }\n\n private calculateLineCount(element: HTMLElement): void {\n // 获取元素的样式\n const computedStyle = window.getComputedStyle(element);\n const lineHeight = parseFloat(computedStyle.lineHeight);\n const scrollHeight = element.scrollHeight;\n const clientHeight = element.clientHeight;\n\n // 如果lineHeight为0或NaN,使用默认值\n const actualLineHeight = lineHeight && !isNaN(lineHeight) ? lineHeight : 20; // 默认20px\n\n // 计算实际行数\n const lineCount = Math.round(scrollHeight / actualLineHeight);\n this.overflowLineCount = lineCount;\n\n // 检查是否超过最大允许行数\n this.isTextOverflow = lineCount > this.maxAllowedLines;\n\n // 你也可以记录更多信息\n this.textOverflowInfo = {\n isOverflow: lineCount > this.maxAllowedLines,\n lineCount: lineCount,\n maxLines: this.maxAllowedLines,\n exceededLines: Math.max(0, lineCount - this.maxAllowedLines),\n };\n\n console.log(`文本行数: ${lineCount}, 是否溢出: ${this.isTextOverflow}`);\n\n this.cdr.markForCheck();\n }\n\n private checkWidthOverflow(element: HTMLElement): void {\n // 原有的宽度检测逻辑(作为备用)\n const container = this.cascaderContainer?.nativeElement;\n if (container) {\n const containerStyle = window.getComputedStyle(container);\n const containerWidth = parseFloat(containerStyle.width);\n const textWidth = element.scrollWidth;\n const containerPadding =\n parseFloat(containerStyle.paddingLeft) +\n parseFloat(containerStyle.paddingRight);\n const availableWidth = containerWidth - containerPadding - 56;\n\n const isWidthOverflow = textWidth > availableWidth;\n\n // 结合两种检测结果\n if (isWidthOverflow && !this.isTextOverflow) {\n this.isTextOverflow = true;\n }\n }\n }\n\n // 修改handleValueChange方法,添加延迟检测\n handleValueChange(value: string[]): void {\n this.value = value;\n this.onChange(this.value);\n this.valueChange.emit(this.value);\n\n // 增加延迟,确保DOM完全更新\n setTimeout(() => {\n this.checkTextOverflow();\n // 可能需要多次检测以确保准确\n setTimeout(() => this.checkTextOverflow(), 100);\n }, 50);\n }\n\n private updateIsMobile() {\n this.isMobile = window.matchMedia('(max-width: 997px)').matches;\n }\n\n cascaderSearchFn = (input: string, path: any[]): boolean => {\n const i = input.toLowerCase();\n\n return path.some((p) => p.labelLower.includes(i));\n };\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n return null;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onVisibleChange(value: any) {\n this.isOpen = value;\n }\n\n handleInitOptions() {\n if (this.industryCodes?.length > 0) {\n this.options = this.industryCodes.map((item: any) => {\n return {\n ...item,\n value: item.objId,\n label: item.annexa,\n isLeaf: false,\n labelLower: item.annexa.toLowerCase(),\n children: item.subList.map((subItem: any) => {\n return {\n ...subItem,\n value: subItem.objId,\n label: subItem.annexa,\n labelLower: subItem.annexa.toLowerCase(),\n isLeaf: true,\n };\n }),\n };\n });\n this.filteredOptions = this.options;\n } else {\n this.options = [];\n this.filteredOptions = [];\n }\n }\n\n // ---------- 移动端操作 ----------\n\n openDrawer(): void {\n if (this.disabled) return;\n this.searchTerm = '';\n this.searchChildrenTerm = '';\n this.drawerOpen = true;\n this.view = 'root';\n this.activeParent = null;\n this.filteredOptions = this.options;\n this.filteredChildren = [];\n }\n\n closeDrawer() {\n this.drawerOpen = false;\n }\n\n goBackMobile(): void {\n this.view = 'root';\n this.activeParent = null;\n this.searchChildrenTerm = '';\n }\n\n selectLeafMobile(option: any, parent?: any) {\n const parentVal = parent?.value ?? this.activeParent?.value ?? null;\n const value = [String(parentVal), String(option.value)];\n this.handleValueChange(value);\n this.drawerOpen = false;\n this.view = 'root';\n this.activeParent = null;\n }\n\n openChildrenMobile(opt: any) {\n if (!opt?.value) return;\n this.view = 'children';\n this.activeParent = opt;\n this.filteredChildren = this.activeParent?.children || [];\n this.value = [opt.value];\n }\n\n doMobileSearch(value: string): void {\n const term = value?.trim().toLowerCase();\n\n clearTimeout(this.searchTimer);\n\n this.searchTimer = setTimeout(() => {\n if (!term) {\n // 恢复原数据\n this.filteredOptions = this.options;\n this.filteredChildren = this.activeParent?.children || [];\n return;\n }\n\n if (this.view === 'root') {\n this.filteredOptions = this.options.filter((opt: any) =>\n opt.label.toLowerCase().includes(term),\n );\n } else {\n this.filteredChildren = this.activeParent?.children.filter(\n (child: any) => child.label.toLowerCase().includes(term),\n );\n }\n }, 150);\n }\n}\n","<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NzCascaderModule } from \"ng-zorro-antd/cascader\";\nimport { NzDrawerModule } from \"ng-zorro-antd/drawer\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { NzListModule } from \"ng-zorro-antd/list\";\nimport { NzSpinModule } from \"ng-zorro-antd/spin\";\nimport { NzButtonModule } from \"ng-zorro-antd/button\";\n\nimport { IndustryCascaderComponent } from \"./industry-cascader.component\";\nimport { FormItemModule } from \"../../form-item/form-item.module\";\nimport { NzRadioModule } from \"ng-zorro-antd/radio\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n declarations: [IndustryCascaderComponent],\n imports: [\n CommonModule,\n FormsModule,\n NzCascaderModule,\n NzDrawerModule,\n NzInputModule,\n NzListModule,\n NzSpinModule,\n NzButtonModule,\n FormItemModule,\n NzRadioModule,\n TranslateModule.forChild(),\n ],\n exports: [IndustryCascaderComponent],\n})\nexport class IndustryCascaderModule {}\n","import { Component, Input } from '@angular/core';\nimport {\n StatusDisplayConfig,\n StatusGroupConfig,\n} from '../custom-filter/custom-filter.types';\n\n@Component({\n selector: 'app-rd-status-field',\n template: `\n <div class=\"rd-status-field\" [ngClass]=\"size\">\n <img\n *ngIf=\"getStatusDisplay()?.icon\"\n [src]=\"getStatusDisplay()['icon'] || ''\"\n alt=\"\"\n />\n {{ getStatusDisplay()['text'] || '' }}\n </div>\n `,\n styleUrls: ['./status-field.component.scss'],\n})\nexport class StatusFieldComponent {\n @Input() status!: string | number;\n @Input() text?: string;\n @Input() size: 'default' | 'large' = 'default';\n @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n @Input() statusGroupConfigs: StatusGroupConfig = {};\n constructor() {}\n\n getStatusDisplay(): { icon: string; text: string } {\n // 1. 查找精确匹配的配置\n const exactMatch = this.statusDisplayConfigs?.find(\n (c) => c?.status === this.status\n );\n if (exactMatch) {\n return {\n icon: exactMatch?.icon,\n text: exactMatch?.text || (this.status as string),\n };\n }\n\n // 2. 查找分组匹配\n for (const groupName in this.statusGroupConfigs) {\n const group = this.statusGroupConfigs[groupName];\n if (group?.match(this.status as string)) {\n return {\n icon: group?.icon,\n text: this.status as string, // 或者可以配置默认文本\n };\n }\n }\n\n // 3. 默认返回\n return {\n icon: '',\n text: this.status as string,\n };\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ICustomFilter,\n StatusDisplayConfig,\n StatusGroupConfig,\n} from '../custom-filter.types';\n\n@Component({\n selector: 'app-rd-filter-select',\n templateUrl: './custom-filter-select.component.html',\n styleUrls: ['./custom-filter-select.component.scss'],\n})\nexport class RdFilterSelectComponent implements OnChanges {\n @Input() item!: ICustomFilter;\n @Output() handleChangeValue = new EventEmitter();\n @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n @Input() statusGroupConfigs: StatusGroupConfig = {};\n selectValue: string | number | Array<string | number> | null = null;\n\n get mode() {\n return this.item?.selectMode || 'multiple';\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['item'].currentValue) {\n if (!this.item.value) {\n this.selectValue = null;\n } else {\n this.selectValue =\n this.mode === 'multiple'\n ? this.item?.value?.split(',')\n : this.item.value;\n }\n }\n }\n\n ngOnInit(): void {\n if (!this.item.value) return;\n if (this.mode === 'multiple') {\n this.selectValue = this.item?.value.split(',');\n } else {\n this.selectValue = this.item.value;\n }\n }\n\n modelChange(event: string | string[]) {\n if (this.mode === 'multiple') {\n this.item.value = (event as string[]).join(',');\n } else {\n this.item.value = event as string;\n }\n this.handleChangeValue.emit(event);\n }\n}\n","<nz-select\n class=\"rd-custom-filter-select\"\n [ngStyle]=\"{ 'min-width': item.minWidth ? item.minWidth : '132px' }\"\n [nzPlaceHolder]=\"item.title\"\n [nzShowArrow]=\"true\"\n [nzMode]=\"mode\"\n [nzAllowClear]=\"false\"\n [nzDropdownClassName]=\"\n mode === 'multiple'\n ? 'rd-custom-multiple-filter-select-dropdown'\n : 'rd-custom-filter-select-dropdown'\n \"\n [(ngModel)]=\"selectValue\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"40\"\n [nzDropdownMatchSelectWidth]=\"false\"\n (ngModelChange)=\"modelChange($event)\"\n [nzCustomTemplate]=\"customTpl\"\n [nzMaxTagCount]=\"3\"\n>\n <nz-option\n *ngFor=\"let option of item.options\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n nzCustomContent\n >\n <app-rd-status-field\n *ngIf=\"item.isStatusField; else defaultTpl\"\n [status]=\"option.value\"\n [statusGroupConfigs]=\"statusGroupConfigs\"\n [statusDisplayConfigs]=\"statusDisplayConfigs\"\n ></app-rd-status-field>\n <ng-template #defaultTpl> {{ option.label }}</ng-template>\n </nz-option>\n</nz-select>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #removeIcon>\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg> -->\n</ng-template>\n\n<ng-template #customTpl let-selected>\n <!-- <app-status-field\n *ngIf=\"item.isStatusField\"\n [status]=\"selected.nzValue\"\n ></app-status-field> -->\n <ng-container>\n {{ selected.nzLabel }}\n </ng-container>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StatusFieldComponent } from './status-field.component';\n\n@NgModule({\n declarations: [StatusFieldComponent],\n imports: [CommonModule],\n exports: [StatusFieldComponent],\n})\nexport class RdStatusFieldModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { RdFilterSelectComponent } from './custom-filter-select.component';\nimport { RdStatusFieldModule } from '../../status-field/status-field.module';\n\n@NgModule({\n declarations: [RdFilterSelectComponent],\n imports: [\n CommonModule,\n NzDatePickerModule,\n NzDropDownModule,\n NzSelectModule,\n NzButtonModule,\n NzInputModule,\n FormsModule,\n RdStatusFieldModule,\n ],\n exports: [RdFilterSelectComponent],\n})\nexport class RdFilterSelectModule {}\n","import { NzSelectModeType } from 'ng-zorro-antd/select';\n\nexport enum FilterTypeEnum {\n input = 1,\n select = 2,\n date = 3,\n}\n\nexport interface ICustomFilter {\n key: string;\n title: string;\n formType: FilterTypeEnum;\n value: string;\n options?: Array<{ label: string; value: string | number; icon?: string }>;\n selectMode?: NzSelectModeType;\n isStatusField?: boolean;\n minWidth?: string;\n statusGroupConfigs?: StatusGroupConfig;\n statusDisplayConfigs?: StatusDisplayConfig[];\n}\n\nexport interface StatusGroupConfig {\n [groupName: string]: {\n icon: string;\n match: (status: string | number) => boolean;\n };\n}\n\nexport interface StatusDisplayConfig {\n status: string | number;\n icon: string;\n text?: string;\n group?: string;\n}\n","export interface TranslationKeys {\n pleaseEnter: string;\n lengthCannotBeLess: string;\n lengthCannotExceed: string;\n validationFailed: string;\n cannotBeLessThan: string;\n cannotExceed: string;\n maxDecimalPlaces: string;\n clearFilter: string;\n email_invalid: string;\n}\n\nexport interface Translations {\n en: TranslationKeys;\n zh: TranslationKeys;\n [key: string]: TranslationKeys;\n}\n\nexport const translations: Translations = {\n en: {\n pleaseEnter: 'Please enter ',\n lengthCannotBeLess: ' Length cannot be less than the minimum length ',\n lengthCannotExceed: ' Length cannot exceed the maximum length ',\n validationFailed: 'Validation failed',\n cannotBeLessThan: ' cannot be less than the minimum value ',\n cannotExceed: ' cannot exceed the maximum value ',\n maxDecimalPlaces: 'The maximum number of decimal places is ',\n clearFilter: 'Clear filter',\n email_invalid: 'The email format is not correct.',\n },\n zh: {\n pleaseEnter: '請輸入',\n lengthCannotBeLess: '長度不得少於最小長度',\n lengthCannotExceed: '長度不得超過最大長度',\n validationFailed: '驗證失敗',\n cannotBeLessThan: '不得小於最小值',\n cannotExceed: '不得超過最大值',\n maxDecimalPlaces: '最大小數位數為',\n clearFilter: '清除篩選',\n email_invalid: '電子郵件格式不正確。',\n },\n};\n\nexport function getTranslation(\n lang: string,\n key: keyof TranslationKeys,\n): string {\n return translations[lang]?.[key] || translations.en[key];\n}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { NzDatePickerComponent } from 'ng-zorro-antd/date-picker';\nimport { formatDate } from '@angular/common';\nimport { differenceInCalendarDays } from 'date-fns';\nimport { ICustomFilter } from '../custom-filter.types';\n\n@Component({\n selector: 'app-rd-filter-date',\n templateUrl: './custom-filter-date.component.html',\n styleUrls: ['./custom-filter-date.component.scss'],\n})\nexport class RdFilterDateComponent implements OnChanges {\n @Input() item!: ICustomFilter & { value: any };\n @ViewChild('datePicker') datePicker!: NzDatePickerComponent;\n @Output() handleChangeValue = new EventEmitter();\n isPickerOpen = false;\n\n inputValue: Date[] = [];\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n disabledDate = (current: Date): boolean =>\n differenceInCalendarDays(current, new Date()) > 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['item']?.currentValue) {\n this.inputValue = this.item?.value ? this.item?.value.split(',') : [];\n }\n }\n\n openPicker(): void {\n if (this.isPickerOpen) {\n return;\n }\n this.isPickerOpen = true;\n this.datePicker?.open();\n }\n\n onDateChange(dates: Date[]): void {\n if (!dates?.length && this.item) {\n this.item.value = '';\n return;\n }\n const startDate = formatDate(dates[0], 'yyyy-MM-dd', 'en');\n const endDate = formatDate(dates[1], 'yyyy-MM-dd', 'en');\n if (this.item) {\n this.item.value = `${startDate},${endDate}`;\n }\n this.handleChangeValue.emit(this.inputValue);\n }\n\n onOpenChange(open: any): void {\n setTimeout(() => {\n this.isPickerOpen = open;\n }, 0);\n }\n\n get popupClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['rd-date-picker-popup', themeClass].filter(Boolean).join(' ');\n }\n}\n","<div\n class=\"rd-date-picker-container\"\n [ngClass]=\"{ 'rd-date-picker-focus': isPickerOpen }\"\n *ngIf=\"item\"\n>\n <nz-range-picker\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onDateChange($event)\"\n (nzOnOpenChange)=\"onOpenChange($event)\"\n [nzFormat]=\"'yyyy-MM-dd'\"\n [nzShowTime]=\"false\"\n [nzAllowClear]=\"false\"\n [nzPlaceHolder]=\"['From', 'To']\"\n class=\"rd-range-picker\"\n [nzDisabledDate]=\"disabledDate\"\n [nzSuffixIcon]=\"customIcon\"\n [nzDropdownClassName]=\"popupClassName\"\n [nzSeparator]=\"'-'\"\n nzSuffixIcon=\"\"\n #datePicker\n [ngClass]=\"{ 'rd-hidden-range-picker': !item.value?.length }\"\n ></nz-range-picker>\n\n <div\n *ngIf=\"!item?.value?.length\"\n class=\"rd-placeholder-box\"\n [ngClass]=\"{ 'rd-placeholder-box-focus': isPickerOpen }\"\n (click)=\"openPicker()\"\n >\n {{ item.title }}\n <ng-container *ngTemplateOutlet=\"customIcon\"></ng-container>\n </div>\n\n <ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </ng-template>\n</div>\n","export default function debounce(delay: number = 300): MethodDecorator {\n // @ts-ignore\n return function (\n _target: any,\n _propertyKey: string,\n descriptor: PropertyDescriptor\n ) {\n const timeoutKey = Symbol();\n\n const original = descriptor.value;\n\n descriptor.value = function (...args: any[]) {\n // @ts-ignore\n clearTimeout(this[timeoutKey]);\n // @ts-ignore\n this[timeoutKey] = setTimeout(() => original.apply(this, args), delay);\n };\n\n return descriptor;\n };\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ICustomFilter } from '../custom-filter.types';\nimport debounce from '../../../utils/debounce';\n\n@Component({\n selector: 'app-rd-filter-input',\n templateUrl: './custom-filter-input.component.html',\n styleUrls: ['./custom-filter-input.component.scss'],\n})\nexport class RdFilterInputComponent implements OnChanges {\n @Input() item!: ICustomFilter;\n @Output() handleChangeValue = new EventEmitter();\n inputValue: string = '';\n\n ngOnInit(): void {\n this.inputValue = this.item.value;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['item']?.currentValue) {\n this.inputValue = this.item.value;\n }\n }\n\n @debounce()\n handleValueChange(e: string) {\n this.handleChangeValue.emit(e);\n }\n}\n","<div\n class=\"rd-input-container\"\n [ngStyle]=\"{ 'min-width': item.minWidth ? item.minWidth : '150px' }\"\n>\n <nz-input-group [nzPrefix]=\"prefixIconSearch\">\n <input\n type=\"text\"\n nz-input\n [placeholder]=\"item.title\"\n [(ngModel)]=\"item.value\"\n (ngModelChange)=\"handleValueChange($event)\"\n />\n </nz-input-group>\n</div>\n\n<ng-template #prefixIconSearch>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.4951 13.6938L11.3962 10.5949C12.3175 9.46805 12.7704 8.03024 12.6613 6.57885C12.5522 5.12746 11.8894 3.77353 10.81 2.7971C9.73066 1.82066 8.3173 1.29643 6.86227 1.33283C5.40723 1.36923 4.02185 1.96348 2.99266 2.99266C1.96348 4.02184 1.36923 5.40722 1.33283 6.86225C1.29643 8.31728 1.82066 9.73064 2.7971 10.81C3.77354 11.8894 5.12747 12.5521 6.57887 12.6612C8.03026 12.7703 9.46807 12.3174 10.5949 11.3962L13.6938 14.5022C13.8027 14.6063 13.9474 14.6647 14.098 14.6653C14.2105 14.6651 14.3204 14.6315 14.4138 14.5687C14.5071 14.5059 14.5796 14.4168 14.6222 14.3126C14.6648 14.2085 14.6754 14.0941 14.6528 13.9839C14.6302 13.8737 14.5753 13.7727 14.4951 13.6938ZM7.00667 11.5451C6.10905 11.5451 5.23158 11.2789 4.48523 10.7802C3.73889 10.2816 3.15718 9.57274 2.81367 8.74345C2.47017 7.91416 2.38029 7.00162 2.55541 6.12125C2.73053 5.24087 3.16277 4.4322 3.79749 3.79748C4.43221 3.16277 5.24088 2.73052 6.12126 2.55541C7.00164 2.38029 7.91417 2.47017 8.74347 2.81367C9.57277 3.15718 10.2816 3.73888 10.7803 4.48523C11.279 5.23157 11.5451 6.10904 11.5451 7.00666C11.5433 8.20976 11.0645 9.36304 10.2138 10.2138C9.36306 11.0645 8.20977 11.5432 7.00667 11.5451Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n FilterTypeEnum,\n ICustomFilter,\n StatusDisplayConfig,\n StatusGroupConfig,\n} from './custom-filter.types';\nimport { getTranslation } from '../../utils/form-vaild-lang';\n\n@Component({\n selector: 'app-rd-filter',\n templateUrl: './custom-filter.component.html',\n styleUrls: [\n './custom-filter.component.scss',\n '../../assets/scss/form-item.scss',\n ],\n})\nexport class RdFilterComponent {\n @Input() lang = 'en';\n @Input() filterArr: ICustomFilter[] = [];\n // @Output() filterArrChange = new EventEmitter<ICustomFilter[]>();\n @Output() defSearchChange = new EventEmitter<string>();\n @Output() clearFilter = new EventEmitter();\n @Input() statusDisplayConfigs: StatusDisplayConfig[] = [];\n @Input() statusGroupConfigs: StatusGroupConfig = {};\n @Input() clearText?: string;\n filterTypeEnum = FilterTypeEnum;\n\n get isClearAble() {\n return this.filterArr.findIndex((item) => !!item.value) > -1;\n }\n\n constructor(private cdf: ChangeDetectorRef) {}\n\n handleChangeValue(value: any) {\n this.defSearchChange.emit();\n }\n\n clear() {\n this.filterArr.forEach((item) => (item.value = ''));\n this.clearFilter.emit();\n }\n\n getClearTrans() {\n return getTranslation(this.lang, 'clearFilter');\n }\n}\n","<div class=\"rd-custom-filter-wrap\" *ngIf=\"filterArr?.length\">\n <ng-container *ngFor=\"let item of filterArr\">\n <ng-container [ngSwitch]=\"item.formType\">\n <app-rd-filter-date\n *ngSwitchCase=\"filterTypeEnum.date\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n >\n </app-rd-filter-date>\n <app-rd-filter-select\n *ngSwitchCase=\"filterTypeEnum.select\"\n [item]=\"item\"\n [statusGroupConfigs]=\"statusGroupConfigs\"\n [statusDisplayConfigs]=\"statusDisplayConfigs\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-select>\n <app-rd-filter-input\n *ngSwitchCase=\"filterTypeEnum.input\"\n [item]=\"item\"\n (handleChangeValue)=\"handleChangeValue($event)\"\n ></app-rd-filter-input>\n </ng-container>\n </ng-container>\n <button\n [disabled]=\"!isClearAble\"\n (click)=\"clear()\"\n class=\"rd-custom-filter-clear\"\n nz-button\n nzType=\"link\"\n >\n {{ getClearTrans() }}\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { FormsModule } from '@angular/forms';\nimport { RdFilterComponent } from './custom-filter.component';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { RdStatusFieldModule } from '../status-field/status-field.module';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { RdFilterDateComponent } from './custom-filter-date/custom-filter-date.component';\nimport { RdFilterInputComponent } from './custom-filter-input/custom-filter-input.component';\nimport { RdFilterSelectModule } from './custom-filter-select/custom-filter-select.module';\n\n@NgModule({\n declarations: [\n RdFilterComponent,\n RdFilterDateComponent,\n RdFilterInputComponent,\n ],\n imports: [\n CommonModule,\n NzDatePickerModule,\n NzDropDownModule,\n NzSelectModule,\n NzButtonModule,\n NzInputModule,\n FormsModule,\n RdStatusFieldModule,\n RdFilterSelectModule,\n ],\n exports: [RdFilterComponent],\n})\nexport class RdFilterModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-rd-pagination',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n})\nexport class CustomPaginatorComponent {\n @Input() lang = 'en';\n @Input() pageIndex = 0;\n @Input() pageSize = 0;\n @Input() currentTotalSize = 0;\n @Input() totalSize = 0;\n @Input() specilMargin = 12;\n @Input() showLeftPageDorp = true;\n @Input() isWhiteBg = false;\n @Input() totalItemsText?: string;\n @Input() pageText?: string;\n @Output() readonly changePageSize: EventEmitter<any> = new EventEmitter();\n @Output() readonly changePageIndex: EventEmitter<any> = new EventEmitter();\n constructor() {}\n\n nzPageSizeChange(e: any) {\n this.changePageSize.emit(e);\n }\n nzPageIndexChange(e: any) {\n this.changePageIndex.emit(e);\n }\n}\n","<div *ngIf=\"currentTotalSize > 0\" class=\"pagination-div\" nz-row>\n <div class=\"pagination-total\">\n <ng-container *ngIf=\"lang === 'en'\">\n {{ \"Total \" + totalSize + \" items\" }}\n </ng-container>\n <ng-container *ngIf=\"lang === 'zh'\">\n {{ \"共 \" + totalSize + \" 項\" }}\n </ng-container>\n </div>\n <div class=\"pagination-cnt\" *ngIf=\"totalSize > 10\">\n <nz-pagination\n [nzTotal]=\"totalSize\"\n [nzPageIndex]=\"pageIndex\"\n [nzPageSize]=\"pageSize\"\n (nzPageIndexChange)=\"nzPageIndexChange($event)\"\n ></nz-pagination>\n </div>\n <div\n *ngIf=\"totalSize > 0 && totalSize > 10 && showLeftPageDorp\"\n class=\"pagination-select\"\n >\n <nz-select\n [(ngModel)]=\"pageSize\"\n class=\"pagination-select-size\"\n (ngModelChange)=\"nzPageSizeChange(pageSize)\"\n [nzDropdownClassName]=\"'paginator-select'\"\n >\n <nz-option [nzValue]=\"10\" nzLabel=\"10\"></nz-option>\n <nz-option [nzValue]=\"25\" nzLabel=\"25\"></nz-option>\n <nz-option [nzValue]=\"50\" nzLabel=\"50\"></nz-option>\n <nz-option [nzValue]=\"100\" nzLabel=\"100\"></nz-option>\n </nz-select>\n <span class=\"page-text\"\n >/\n <ng-container *ngIf=\"lang === 'en'\"> Page </ng-container>\n <ng-container *ngIf=\"lang === 'zh'\"> 頁面 </ng-container>\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NzPaginationModule } from 'ng-zorro-antd/pagination';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { CustomPaginatorComponent } from './paginator.component';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\n\nconst COMPONENTS = [CustomPaginatorComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n NzSelectModule,\n ReactiveFormsModule,\n FormsModule,\n NzPaginationModule,\n NzGridModule,\n ],\n declarations: COMPONENTS,\n exports: COMPONENTS,\n})\nexport class RdPaginatorModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-rd-header-step',\n templateUrl: './header-step.component.html',\n styleUrls: ['./header-step.component.scss'],\n})\nexport class HeaderStepComponent {\n @Input() step: number = 1;\n @Input() stepArr: string[] = [];\n @Input() disableReturn = false;\n @Output() stepChange = new EventEmitter<number>();\n @Output() onClose = new EventEmitter();\n\n onClickBack() {\n if (this.step <= 1) {\n return;\n }\n this.stepChange.emit(this.step - 1);\n }\n\n onClickStep(step: number) {\n if (step >= this.step || this.disableReturn) {\n return;\n }\n this.stepChange.emit(step);\n }\n\n close() {\n this.onClose.emit();\n }\n}\n","<div class=\"rd-header-step\">\n <div>\n <div\n class=\"rd-header-step-back\"\n *ngIf=\"!disableReturn && step > 1\"\n (click)=\"onClickBack()\"\n >\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g id=\"Back\">\n <path\n id=\"Vector\"\n d=\"M16 3L8 12L16 21\"\n stroke=\"var(--rd-copy-primary)\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n </svg>\n </div>\n </div>\n <div class=\"rd-header-step-title\">\n <ng-container *ngFor=\"let stepTitle of stepArr; let i = index\">\n <svg\n *ngIf=\"i !== 0\"\n width=\"17\"\n height=\"16\"\n viewBox=\"0 0 17 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n [attr.fill]=\"step === i + 1 ? 'var(--rd-copy-primary)' : 'var(--rd-copy-disable)'\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.40777 2.60136C5.62811 2.36633 5.99727 2.35442 6.2323 2.57476L11.5656 7.57476C11.6833 7.68504 11.75 7.83909 11.75 8.00033C11.75 8.16157 11.6833 8.31561 11.5656 8.42589L6.2323 13.4259C5.99727 13.6462 5.62811 13.6343 5.40777 13.3993C5.18743 13.1643 5.19934 12.7951 5.43437 12.5748L10.3138 8.00033L5.43437 3.42589C5.19934 3.20555 5.18743 2.83639 5.40777 2.60136Z\"\n />\n </svg>\n <span\n class=\"rd-header-step-index\"\n [ngClass]=\"{\n active: step === i + 1,\n 'cusor-pointer': step > i + 1 && !disableReturn\n }\"\n (click)=\"onClickStep(i + 1)\"\n >\n {{ stepTitle }}\n </span>\n </ng-container>\n </div>\n\n <div class=\"rd-header-step-close\" (click)=\"close()\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { HeaderStepComponent } from \"./header-step.component\";\n\n@NgModule({\n declarations: [HeaderStepComponent],\n imports: [CommonModule],\n exports: [HeaderStepComponent],\n})\nexport class RdHeaderStepModule {}\n","import { Component, OnDestroy, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport {\n NzNotificationRef,\n NzNotificationService,\n} from 'ng-zorro-antd/notification';\nimport { IRdNotificationData } from './notification.service';\n\nconst borderColorMap: Record<string, string> = {\n success: 'var(--rd-toast-fg-success)',\n warn: 'var(--rd-toast-fg-warning)',\n error: 'var(--rd-toast-fg-danger)',\n};\n\n@Component({\n selector: 'app-rd-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class RdNotificationComponent implements OnDestroy {\n @ViewChild('notificationTpl', { static: true })\n private notificationTpl!: TemplateRef<any>;\n\n @ViewChild('closeTpl', { static: true })\n private closeTpl!: TemplateRef<any>;\n\n private notifications = new Map<string, NzNotificationRef>();\n\n constructor(private notificationService: NzNotificationService) {}\n\n showNotification(data: IRdNotificationData) {\n const notificationId = this.generateId();\n\n const notification = this.notificationService.template(\n this.notificationTpl,\n {\n nzData: data,\n nzDuration: data.duration || 8 * 1000,\n nzStyle: {\n borderRadius: '4px',\n border: `1px solid ${\n borderColorMap[data?.type] || 'var(--rd-bg-panel-border)'\n }`,\n boxShadow: '0px 8px 16px 0px rgba(31, 41, 55, 0.08)',\n display: 'flex',\n padding: '0',\n width: '320px',\n marginTop: '-1px',\n },\n nzClass: 'custom-wallet-notification',\n nzCloseIcon: this.closeTpl,\n nzKey: notificationId,\n },\n );\n\n this.notifications.set(notificationId, notification);\n\n setTimeout(() => {\n this.notifications.delete(notificationId);\n }, data.duration || 8000);\n }\n\n getDesc(desc: string): string {\n return desc;\n }\n\n onClick(data: IRdNotificationData) {\n if (data.onLinkClick) {\n data.onLinkClick();\n }\n }\n\n private generateId(): string {\n return `rd-notification-${Date.now()}-${Math.random()\n .toString(36)\n .substr(2, 9)}`;\n }\n\n ngOnDestroy(): void {\n this.notifications.forEach((_notification, id) => {\n this.notificationService.remove(id);\n });\n this.notifications.clear();\n }\n}\n","<ng-template #notificationTpl let-data=\"data\">\n <div class=\"rd-custom-notification\"></div>\n <div\n class=\"rd-custom-notification-icon\"\n [class.rd-custom-warn-background]=\"data.type === 'warn'\"\n [class.rd-custom-error-background]=\"data.type === 'error'\"\n >\n <svg\n *ngIf=\"data.type === 'success'\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.99935 18.3332C14.6017 18.3332 18.3327 14.6022 18.3327 9.99984C18.3327 5.39746 14.6017 1.6665 9.99935 1.6665C5.39698 1.6665 1.66602 5.39746 1.66602 9.99984C1.66602 14.6022 5.39698 18.3332 9.99935 18.3332Z\"\n fill=\"var(--rd-copy-success)\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.8434 6.3216C14.264 6.6033 14.3767 7.17266 14.095 7.59331L10.1887 13.4266C10.034 13.6576 9.78287 13.8059 9.50591 13.8299C9.22895 13.8538 8.9561 13.7507 8.76411 13.5497L6.00375 10.6593C5.6541 10.2932 5.66745 9.71294 6.03357 9.36329C6.39969 9.01364 6.97994 9.02699 7.32959 9.39311L9.30099 11.4574L12.5717 6.57322C12.8534 6.15256 13.4227 6.03991 13.8434 6.3216Z\"\n fill=\"#F8F9FA\"\n />\n </svg>\n <svg\n *ngIf=\"data.type === 'warn'\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.0003 18.3332C14.6027 18.3332 18.3337 14.6022 18.3337 9.99984C18.3337 5.39746 14.6027 1.6665 10.0003 1.6665C5.39795 1.6665 1.66699 5.39746 1.66699 9.99984C1.66699 14.6022 5.39795 18.3332 10.0003 18.3332Z\"\n fill=\"var(--rd-copy-warning)\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.0007 4.79175C10.5759 4.79175 11.0423 5.25812 11.0423 5.83341V10.0001C11.0423 10.5754 10.5759 11.0417 10.0007 11.0417C9.42535 11.0417 8.95898 10.5754 8.95898 10.0001V5.83341C8.95898 5.25812 9.42535 4.79175 10.0007 4.79175ZM10.0007 12.7084C10.5759 12.7084 11.0423 13.1748 11.0423 13.7501V14.1667C11.0423 14.742 10.5759 15.2084 10.0007 15.2084C9.42535 15.2084 8.95898 14.742 8.95898 14.1667V13.7501C8.95898 13.1748 9.42535 12.7084 10.0007 12.7084Z\"\n fill=\"#F8F9FA\"\n />\n </svg>\n <svg\n *ngIf=\"data.type === 'error'\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.99959 18.3332C14.602 18.3332 18.3329 14.6022 18.3329 9.99984C18.3329 5.39746 14.602 1.6665 9.99959 1.6665C5.39722 1.6665 1.66626 5.39746 1.66626 9.99984C1.66626 14.6022 5.39722 18.3332 9.99959 18.3332Z\"\n fill=\"var(--rd-copy-danger)\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M6.40545 6.40545C6.76343 6.04747 7.34383 6.04747 7.70181 6.40545L9.99991 8.70355L12.298 6.40545C12.656 6.04747 13.2364 6.04747 13.5944 6.40545C13.9523 6.76343 13.9523 7.34383 13.5944 7.70181L11.2963 9.99991L13.5944 12.298C13.9523 12.656 13.9523 13.2364 13.5944 13.5944C13.2364 13.9523 12.656 13.9523 12.298 13.5944L9.99991 11.2963L7.70181 13.5944C7.34383 13.9523 6.76343 13.9523 6.40545 13.5944C6.04747 13.2364 6.04747 12.656 6.40545 12.298L8.70355 9.99991L6.40545 7.70181C6.04747 7.34383 6.04747 6.76343 6.40545 6.40545Z\"\n fill=\"#F8F9FA\"\n />\n </svg>\n </div>\n <div class=\"rd-custom-notification-container\">\n <div class=\"rd-custom-notification-title\">{{ data.title }}</div>\n <div\n class=\"rd-custom-notification-desc\"\n [innerHTML]=\"getDesc(data.desc)\"\n ></div>\n <div\n *ngIf=\"data.actionDesc\"\n class=\"rd-custom-notification-link\"\n [class.rd-custom-notification-link--bpn]=\"data.originType === 'bpn'\"\n (click)=\"onClick(data)\"\n >\n {{ data.actionDesc }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #closeTpl>\n <div class=\"rd-custom-notification-close\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M3.40039 3.3999L8.00039 7.9999M12.6004 12.5999L8.00039 7.9999M8.00039 7.9999L12.6004 3.3999L3.40039 12.5999\"\n stroke=\"currentColor\"\n stroke-width=\"1.36\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n</ng-template>\n","import {\n Injectable,\n Injector,\n OnDestroy,\n EnvironmentInjector,\n ComponentRef,\n createComponent,\n EmbeddedViewRef,\n} from '@angular/core';\nimport { RdNotificationComponent } from './notification.component';\n\nexport interface IRdNotificationData {\n title?: string;\n desc?: string;\n actionDesc?: string;\n duration?: number;\n originType?: 'normal' | 'bpn';\n type: 'success' | 'warn' | 'error';\n onLinkClick?: () => void;\n}\n\n/** @deprecated Use IRdNotificationData */\nexport type IData = IRdNotificationData;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RdNotificationService implements OnDestroy {\n private static instance: RdNotificationService | null = null;\n private notificationComponentRef?: ComponentRef<RdNotificationComponent>;\n private isCreating = false;\n\n constructor(\n private injector: Injector,\n private environmentInjector: EnvironmentInjector,\n ) {\n if (RdNotificationService.instance) {\n return RdNotificationService.instance;\n }\n RdNotificationService.instance = this;\n }\n\n private ensureComponentCreated(): Promise<void> {\n return new Promise((resolve) => {\n if (this.notificationComponentRef) {\n resolve();\n return;\n }\n\n if (this.isCreating) {\n const checkInterval = setInterval(() => {\n if (this.notificationComponentRef && !this.isCreating) {\n clearInterval(checkInterval);\n resolve();\n }\n }, 10);\n return;\n }\n\n this.isCreating = true;\n\n try {\n setTimeout(() => {\n this.notificationComponentRef = createComponent(\n RdNotificationComponent,\n {\n environmentInjector: this.environmentInjector,\n elementInjector: this.injector,\n },\n );\n\n const hostView = this.notificationComponentRef\n .hostView as EmbeddedViewRef<any>;\n const rootNode = hostView.rootNodes[0];\n\n if (document.body) {\n document.body.appendChild(rootNode);\n } else {\n document.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(rootNode);\n });\n }\n\n this.notificationComponentRef.changeDetectorRef.detectChanges();\n this.isCreating = false;\n resolve();\n });\n } catch (error) {\n console.error('Failed to create notification component:', error);\n this.isCreating = false;\n resolve();\n }\n });\n }\n\n async show(data: IRdNotificationData): Promise<void> {\n await this.ensureComponentCreated();\n\n if (this.notificationComponentRef?.instance) {\n setTimeout(() => {\n this.notificationComponentRef!.instance.showNotification(data);\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.notificationComponentRef) {\n this.notificationComponentRef.destroy();\n this.notificationComponentRef = undefined;\n }\n RdNotificationService.instance = null;\n }\n\n static show(data: IRdNotificationData): void {\n setTimeout(() => {\n const instance = this.getInstance();\n if (instance) {\n instance.show(data);\n }\n });\n }\n\n private static getInstance(): RdNotificationService | null {\n return this.instance;\n }\n}\n","import {\n NgModule,\n Optional,\n SkipSelf,\n ModuleWithProviders,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzNotificationModule } from 'ng-zorro-antd/notification';\n\nimport { RdNotificationComponent } from './notification.component';\nimport { RdNotificationService } from './notification.service';\n\nexport interface RdNotificationConfig {\n defaultDuration?: number;\n maxStack?: number;\n}\n\n@NgModule({\n imports: [CommonModule, NzNotificationModule],\n declarations: [RdNotificationComponent],\n exports: [RdNotificationComponent],\n})\nexport class RdNotificationModule {\n constructor(@Optional() @SkipSelf() parentModule?: RdNotificationModule) {\n if (parentModule) {\n throw new Error(\n 'RdNotificationModule is already loaded. Import it in the AppModule only',\n );\n }\n }\n\n static forRoot(\n config?: RdNotificationConfig,\n ): ModuleWithProviders<RdNotificationModule> {\n return {\n ngModule: RdNotificationModule,\n providers: [\n RdNotificationService,\n ...(config\n ? [{ provide: 'RD_NOTIFICATION_CONFIG', useValue: config }]\n : []),\n ],\n };\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-rd-box-item',\n templateUrl: './rd-common-box.component.html',\n styleUrls: ['./rd-common-box.component.scss'],\n})\nexport class RdCommonBoxComponent {\n @Input() label!: string;\n @Input() value: any = null;\n @Input() rightContent = false;\n}\n","<div class=\"custom-common-item-box\">\n <div class=\"custom-common-item-box-label\">\n {{ label }} <ng-content select=\"[left]\"></ng-content>\n </div>\n <div class=\"custom-common-item-box-value\">\n {{ value }}\n <span *ngIf=\"!value && !rightContent\" class=\"rd-box-empty\">--</span>\n <ng-content select=\"[right]\"></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RdCommonBoxComponent } from './rd-common-box.component';\n\n@NgModule({\n declarations: [RdCommonBoxComponent],\n imports: [CommonModule],\n exports: [RdCommonBoxComponent],\n})\nexport class RdCommonBoxModule {}\n","import { NzTableQueryParams } from 'ng-zorro-antd/table';\nimport { Subject } from 'rxjs';\nimport {\n IFilterItem,\n IPage,\n ISearchParams,\n ISearchSortedItem,\n IStorageOption,\n} from './task-base.type';\nimport { ICustomFilter } from '../custom-filter';\n\nexport abstract class SearchListBaseComponent {\n public defSearch = '';\n public isFilter = false;\n public searchTerms = new Subject<ISearchParams>();\n public defSearchKey = 'defSearch';\n\n public filterArr: ICustomFilter[] = [];\n\n public paginationParams: IPage = {\n pageSize: 10,\n pageNumber: 1,\n totalRecords: 0,\n totalPages: 0,\n };\n\n public currentSorters: ISearchSortedItem[] = [];\n\n constructor(\n public searchStorageKey: string = '',\n public isOutDatePicker = false\n ) {}\n\n public getSortedParam() {\n return this.currentSorters;\n }\n\n public handleRestoreLastRequest(): IStorageOption[] {\n const searchParams = sessionStorage.getItem(this.searchStorageKey);\n if (searchParams) {\n let advancedFilterArr = JSON.parse(searchParams);\n this.defSearch = advancedFilterArr.find(\n (item: { key: string }) => item.key === this.defSearchKey\n )?.value;\n this.paginationParams.pageNumber = advancedFilterArr.find(\n (item: { key: string }) => item.key === 'pageNumber'\n )?.value;\n this.paginationParams.pageSize = advancedFilterArr.find(\n (item: { key: string }) => item.key === 'pageSize'\n )?.value;\n if (advancedFilterArr.length >= 4) {\n this.isFilter = true;\n advancedFilterArr.forEach((storage: { key: string; value: any }) => {\n this.filterArr.forEach((item) => {\n if (item.key === storage.key) {\n item.value = storage.value;\n }\n });\n });\n }\n return advancedFilterArr;\n }\n return [];\n }\n\n public handleAdvancedFilterArrStorage(storageArr: IStorageOption[] = []) {\n this.filterArr.forEach((item) => {\n if (item.value) {\n storageArr.push({ key: item.key, value: item.value });\n }\n });\n storageArr.push({ key: this.defSearchKey, value: this.defSearch || '' });\n storageArr.push({\n key: 'pageNumber',\n value: this.paginationParams.pageNumber,\n });\n storageArr.push({ key: 'pageSize', value: this.paginationParams.pageSize });\n sessionStorage.setItem(this.searchStorageKey, JSON.stringify(storageArr));\n }\n\n public filterSearchChange() {\n this.searchTerms.next({\n page: this.paginationParams.pageNumber,\n pageSize: this.paginationParams.pageSize,\n filtered: this.getFilterParam(),\n sorted: this.currentSorters,\n });\n }\n\n public nzPageSizeChange(size: number) {\n this.paginationParams.pageNumber = 1;\n this.paginationParams.pageSize = size;\n this.filterSearchChange();\n }\n\n public nzPageIndexChange(index: number) {\n this.paginationParams.pageNumber = index;\n this.filterSearchChange();\n }\n\n public onQueryParamsChange(params: NzTableQueryParams) {\n this.currentSorters = params.sort\n .filter((item) => item.value)\n .map((item) => ({\n id: item.key,\n desc: item.value === 'descend' ? true : false,\n }));\n this.searchTerms.next({\n page: this.paginationParams.pageNumber,\n pageSize: this.paginationParams.pageSize,\n filtered: this.getFilterParam(),\n sorted: this.currentSorters,\n });\n }\n\n public defSearchChange(keyword: string = '') {\n this.defSearch = keyword;\n this.paginationParams.pageNumber = 1;\n this.filterSearchChange();\n }\n\n public refreshPage() {\n this.nzPageIndexChange(1);\n }\n\n protected abstract getFilterParam(): IFilterItem[];\n}\n","import {\n Component,\n Input,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport lottie, { AnimationItem } from 'lottie-web';\n\n// 直接导入 JSON 文件\nimport OPLoading from './OPLoading.json';\n\n// 传进来的size需要*0.173倍,因为loading.json原始图比较大,scale才没有锯齿\n@Component({\n selector: 'app-rd-loading',\n template: `\n <div\n #lottieContainer\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n [style.transform]=\"'scale(0.173)'\"\n [class]=\"containerClass\"\n [style.margin]=\"margin\"\n ></div>\n `,\n styles: [\n `\n :host {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n }\n .lottie-loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .inline-loading {\n display: inline-flex;\n vertical-align: middle;\n }\n `,\n ],\n})\nexport class RdLoadingComponent implements AfterViewInit, OnDestroy, OnChanges {\n @ViewChild('lottieContainer', { static: true }) lottieContainer!: ElementRef;\n\n /**\n * 动画容器尺寸(px)。\n *\n * **注意**:OPLoading.json 原始尺寸为 368×368,模板内通过 `scale(0.17)` 缩放以消除锯齿。\n * 实际显示尺寸 = `size × 0.173`。\n *\n * @example\n * // 默认 ≈ 64px\n * <app-rd-loading></app-rd-loading>\n *\n * // ≈ 40px\n * <app-rd-loading [size]=\"235\"></app-rd-loading>\n */\n @Input() size: number = 368; // 默认大小\n @Input() loop: boolean = true; // 是否循环\n @Input() autoplay: boolean = true; // 是否自动播放\n @Input() speed: number = 1; // 播放速度\n @Input() margin: string = '0'; // 外边距\n\n // 样式类名\n @Input() containerClass: string = 'lottie-loading-container';\n\n // 备用动画数据(如果需要覆盖默认动画)\n @Input() customAnimationData?: any;\n\n private animation: AnimationItem | null = null;\n\n // 使用内置的 OPLoading 动画数据\n private get animationData(): any {\n return this.customAnimationData || OPLoading;\n }\n\n ngAfterViewInit(): void {\n this.loadAnimation();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // 如果大小、自定义动画数据发生变化,重新加载动画\n if (\n (changes['size'] || changes['customAnimationData']) &&\n this.lottieContainer\n ) {\n this.reloadAnimation();\n }\n\n // 如果速度发生变化,更新动画速度\n if (changes['speed'] && this.animation) {\n this.animation.setSpeed(this.speed);\n }\n\n // 如果自动播放状态变化\n if (changes['autoplay'] && this.animation) {\n if (this.autoplay) {\n this.animation.play();\n } else {\n this.animation.pause();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroyAnimation();\n }\n\n private loadAnimation(): void {\n this.destroyAnimation();\n\n const container = this.lottieContainer.nativeElement;\n\n const options = {\n container: container,\n renderer: 'svg' as const,\n loop: this.loop,\n autoplay: this.autoplay,\n animationData: this.animationData,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid meet',\n progressiveLoad: true,\n hideOnTransparent: true,\n },\n };\n\n try {\n this.animation = lottie.loadAnimation(options);\n this.animation.setSpeed(this.speed);\n\n // 监听动画加载完成事件\n this.animation.addEventListener('DOMLoaded', () => {});\n } catch (error) {}\n }\n\n private reloadAnimation(): void {\n // 使用 setTimeout 确保在下一个周期执行,避免 ExpressionChangedAfterItHasBeenCheckedError\n setTimeout(() => {\n this.loadAnimation();\n });\n }\n\n private destroyAnimation(): void {\n if (this.animation) {\n this.animation.destroy();\n this.animation = null;\n }\n }\n\n // ========== 公共方法 ==========\n\n /** 停止动画 */\n stop(): void {\n if (this.animation) {\n this.animation.stop();\n }\n }\n\n /** 设置播放速度 */\n setSpeed(speed: number): void {\n this.speed = speed;\n if (this.animation) {\n this.animation.setSpeed(speed);\n }\n }\n\n /** 跳转到指定帧并播放 */\n goToAndPlay(value: number, isFrame: boolean = true): void {\n if (this.animation) {\n this.animation.goToAndPlay(value, isFrame);\n }\n }\n\n /** 跳转到指定帧并停止 */\n goToAndStop(value: number, isFrame: boolean = true): void {\n if (this.animation) {\n this.animation.goToAndStop(value, isFrame);\n }\n }\n\n /** 获取动画总帧数 */\n getTotalFrames(): number {\n return this.animation ? this.animation.totalFrames : 0;\n }\n\n /** 获取动画持续时间(秒) */\n getDuration(): number {\n return this.animation ? this.animation.getDuration() : 0;\n }\n\n /** 重新启动动画 */\n restart(): void {\n if (this.animation) {\n this.animation.goToAndPlay(0, true);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzInputModule } from \"ng-zorro-antd/input\";\nimport { RdLoadingComponent } from \"./rd-loading.component\";\n\n@NgModule({\n declarations: [RdLoadingComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, NzInputModule],\n exports: [RdLoadingComponent],\n})\nexport class RdLoadingModule {}\n","import {\n Component,\n forwardRef,\n HostBinding,\n Input,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n} from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-rd-select-value',\n templateUrl: './rd-select-value.component.html',\n styleUrls: [\n './rd-select-value.component.scss',\n '../custom-select/select.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RdSelectValueComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RdSelectValueComponent),\n multi: true,\n },\n ],\n})\nexport class RdSelectValueComponent implements ControlValueAccessor {\n @Input() options: { name: string; value: any }[] = [];\n @Input() isShowSearch: boolean = false;\n @Input() isShowErrorTip = true;\n @Input() placeholder: string = '';\n @Input() label: string = '';\n @Input() name: string = '';\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n get dropdownClassName(): string {\n const themeClass =\n this.theme === 'light'\n ? 'theme-light'\n : this.theme === 'dark'\n ? 'theme-dark'\n : '';\n return ['rd-form-item-select-dropdown', themeClass]\n .filter(Boolean)\n .join(' ');\n }\n\n value: any = null;\n isDisabled: boolean = false;\n isFocus: boolean = false;\n isOpen: boolean = false;\n searchInput: string = '';\n\n private control: AbstractControl | null = null;\n private onChange: (val: any) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n get showError(): boolean {\n if (!this.isShowErrorTip) return false;\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return '';\n if (this.control.errors['required']) {\n return `${this.translate.instant('please_select')}${this.label.toLowerCase()}`;\n }\n if (this.control.errors['custom']) {\n return (\n this.control?.errors['custom'] ||\n this.translate.instant('validation_failed')\n );\n }\n return this.translate.instant('validation_failed');\n }\n\n onValueChange(val: any): void {\n this.value = val;\n this.onChange(val);\n this.onTouched();\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n return null;\n }\n\n // ── ControlValueAccessor ────────────────────────────────────────────────\n\n writeValue(val: any): void {\n this.value = val ?? null;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: (val: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n this.cdr.markForCheck();\n }\n}\n","<app-rd-form-item\n [disabled]=\"isDisabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"value\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n [ngClass]=\"{ 'rd-form-item-phone': !label }\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzShowArrow]=\"false\"\n [nzPlaceHolder]=\"placeholder\"\n [nzShowSearch]=\"isShowSearch\"\n [disabled]=\"isDisabled\"\n [nzDropdownClassName]=\"dropdownClassName\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n (nzOpenChange)=\"isOpen = $event\"\n (nzOnSearch)=\"searchInput = $event\"\n [name]=\"name\"\n [nzOptionHeightPx]=\"40\"\n [nzSuffixIcon]=\"customIcon\"\n >\n <nz-option\n *ngFor=\"let option of options\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name\"\n ></nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #customIcon>\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n","import {\n Component,\n Input,\n OnDestroy,\n OnInit,\n HostBinding,\n} from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-rd-phone',\n templateUrl: './rd-phone.component.html',\n styleUrls: ['./rd-phone.component.scss'],\n})\nexport class RdPhoneComponent implements OnInit, OnDestroy {\n /** Parent FormGroup — controls are registered into it */\n @Input() form: any | FormGroup;\n @Input() areaCodeControlName: string = 'areaCode';\n @Input() phoneControlName: string = 'phoneNumber';\n @Input() label: string = '';\n @Input() required: boolean = false;\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: 'light' | 'dark';\n /** Area codes to exclude from the dropdown (e.g. ['+86']) */\n @Input() excludeAreaCodes: any[] = [];\n /** Full area-code list from the host (e.g. commonService.areaDictionary) */\n @Input() areaCodeOptions: any[] = [];\n\n get filteredAreaCodeOptions(): any[] {\n if (!this.excludeAreaCodes?.length) return this.areaCodeOptions || [];\n return (this.areaCodeOptions || []).filter(\n (opt: any) => !this.excludeAreaCodes.includes(opt.value),\n );\n }\n\n private destroy$ = new Subject<void>();\n\n @HostBinding('class.theme-light')\n get hostThemeLight(): boolean {\n return this.theme === 'light';\n }\n\n @HostBinding('class.theme-dark')\n get hostThemeDark(): boolean {\n return this.theme === 'dark';\n }\n\n constructor() {}\n\n ngOnInit(): void {\n if (!this.form.contains(this.areaCodeControlName)) {\n this.form.addControl(\n this.areaCodeControlName,\n new FormControl('+852', this.required ? Validators.required : []),\n );\n }\n\n if (!this.form.contains(this.phoneControlName)) {\n this.form.addControl(\n this.phoneControlName,\n new FormControl('', this.required ? Validators.required : []),\n );\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<div class=\"rd-phone-field\" [formGroup]=\"form\">\n <div class=\"rd-phone-row\">\n <div class=\"rd-phone-area-code\">\n <app-rd-select-value\n [formControlName]=\"areaCodeControlName\"\n [options]=\"filteredAreaCodeOptions\"\n [isShowSearch]=\"true\"\n [theme]=\"theme\"\n ></app-rd-select-value>\n </div>\n <div class=\"rd-phone-number\">\n <app-rd-input\n [formControlName]=\"phoneControlName\"\n [label]=\"label\"\n [required]=\"required\"\n [maskType]=\"'number'\"\n [theme]=\"theme\"\n ></app-rd-input>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RdSelectValueComponent } from './rd-select-value.component';\nimport { FormItemModule } from '../form-item/form-item.module';\n\n@NgModule({\n declarations: [RdSelectValueComponent],\n imports: [\n CommonModule,\n FormsModule,\n NzSelectModule,\n TranslateModule,\n FormItemModule,\n ],\n exports: [RdSelectValueComponent],\n})\nexport class RdSelectValueModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RdPhoneComponent } from './rd-phone.component';\nimport { RdSelectValueModule } from '../rd-select-value';\nimport { RdInputModule } from '../custom-input';\n\n@NgModule({\n declarations: [RdPhoneComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n RdSelectValueModule,\n RdInputModule,\n ],\n exports: [RdPhoneComponent],\n})\nexport class RdPhoneModule {}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: \"app-rd-remark-history\",\n templateUrl: \"./rd-remark-history.component.html\",\n styleUrls: [\"./rd-remark-history.component.scss\"],\n})\nexport class RdRemarkHistoryComponent {\n @Input() remarks: string[] = [];\n @Output() select = new EventEmitter<string>();\n\n onSelect(remark: string) {\n this.select.emit(remark);\n }\n}\n","<div class=\"remark-options\">\n <div class=\"t12-500 c-text-secondary remark-options-title\">\n {{ \"recent_remarks\" | translate }}\n </div>\n <div\n class=\"remark-options-item t13-500 c-text-primary\"\n *ngFor=\"let remark of remarks\"\n (click)=\"onSelect(remark)\"\n >\n {{ remark }}\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { RdRemarkHistoryComponent } from \"./rd-remark-history.component\";\n\n@NgModule({\n declarations: [RdRemarkHistoryComponent],\n imports: [CommonModule, TranslateModule],\n exports: [RdRemarkHistoryComponent],\n})\nexport class RdRemarkHistoryModule {}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n ChangeDetectorRef,\n} from \"@angular/core\";\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from \"@angular/forms\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Component({\n selector: \"app-rd-switch\",\n templateUrl: \"./rd-switch.component.html\",\n styleUrls: [\"./rd-switch.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RdSwitchComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RdSwitchComponent),\n multi: true,\n },\n ],\n})\nexport class RdSwitchComponent implements ControlValueAccessor, Validator {\n @Input() label: string = \"\";\n @Input() name: string = \"\";\n @Input() tooltip: string = \"\";\n @Input() disabled: boolean = false;\n @Input() required: boolean = false;\n @Input() checkedChildren: string = \"\";\n @Input() unCheckedChildren: string = \"\";\n /** Local color context. Omit to inherit body `.theme-light` / `.theme-dark`. */\n @Input() theme?: \"light\" | \"dark\";\n\n @HostBinding(\"class.theme-light\")\n get hostThemeLight(): boolean {\n return this.theme === \"light\";\n }\n\n @HostBinding(\"class.theme-dark\")\n get hostThemeDark(): boolean {\n return this.theme === \"dark\";\n }\n\n @Input() errorMessages: { [key: string]: string } = {\n required: \"field_required\",\n };\n\n @Output() valueChange = new EventEmitter<boolean>();\n @Output() blur = new EventEmitter<void>();\n\n value: boolean = false;\n private touched = false;\n private onChange: (value: boolean) => void = () => {};\n private onTouched: () => void = () => {};\n private control: AbstractControl | null = null;\n\n get currentErrorMessage(): string {\n if (!this.control?.errors) return \"\";\n const firstError = Object.keys(this.control?.errors || {})[0];\n const msg = this.errorMessages[firstError];\n\n switch (firstError) {\n case \"required\":\n return (\n msg ||\n `${this.translate.instant(\n \"please_select\",\n )} ${this.label.toLowerCase()}`\n );\n default:\n return (\n this.translate.instant(this.errorMessages[firstError]) ||\n this.translate.instant(\"validation_failed\")\n );\n }\n }\n\n get showError(): boolean {\n return (\n !!this.control?.invalid && (this.control?.touched || this.control?.dirty)\n );\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private translate: TranslateService,\n ) {}\n\n writeValue(value: boolean): void {\n this.value = !!value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.cdr.markForCheck();\n }\n\n onBlur(): void {\n this.touched = true;\n this.onTouched();\n this.blur.emit();\n }\n\n handleValueChange(value: boolean): void {\n this.value = value;\n this.onChange(value);\n this.valueChange.emit(value);\n this.cdr.markForCheck();\n }\n\n validate(control: AbstractControl | null): ValidationErrors | null {\n if (control) {\n this.control = control;\n }\n\n const errors: ValidationErrors = {};\n\n if (this.required && !this.value) {\n errors[\"required\"] = true;\n }\n\n return Object.keys(errors).length > 0 ? errors : null;\n }\n}\n","<div class=\"rd-form-item rd-form-item-switch\">\n <nz-switch\n [nzCheckedChildren]=\"checkedChildren\"\n [nzUnCheckedChildren]=\"unCheckedChildren\"\n [nzDisabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"handleValueChange($event)\"\n (blur)=\"onBlur()\"\n ></nz-switch>\n <div class=\"rd-form-item-label\">\n <div\n class=\"cursor-pointer\"\n [innerHTML]=\"label\"\n nz-tooltip\n [nzTooltipTitle]=\"tooltip | translate\"\n [nzTooltipColor]=\"'#F8F9FA'\"\n nzTooltipOverlayClassName=\"custom-tooltip-dark\"\n ></div>\n </div>\n\n <div *ngIf=\"showError\" class=\"rd-form-item-error\">\n <svg\n class=\"rd-error-icon-light\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EA485D\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EA485D\"\n />\n </svg>\n\n <svg\n class=\"rd-error-icon-dark\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.33398 7.9987C1.33398 4.3168 4.31875 1.33203 8.00065 1.33203C11.6825 1.33203 14.6673 4.3168 14.6673 7.9987C14.6673 11.6806 11.6825 14.6654 8.00065 14.6654C4.31875 14.6654 1.33398 11.6806 1.33398 7.9987ZM8.00065 2.33203C4.87104 2.33203 2.33398 4.86908 2.33398 7.9987C2.33398 11.1283 4.87104 13.6654 8.00065 13.6654C11.1303 13.6654 13.6673 11.1283 13.6673 7.9987C13.6673 4.86908 11.1303 2.33203 8.00065 2.33203Z\"\n fill=\"#EF7484\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.00039 4.06641C8.33176 4.06641 8.60039 4.33504 8.60039 4.66641V7.99974C8.60039 8.33111 8.33176 8.59974 8.00039 8.59974C7.66902 8.59974 7.40039 8.33111 7.40039 7.99974V4.66641C7.40039 4.33504 7.66902 4.06641 8.00039 4.06641ZM8.00039 10.3997C8.33176 10.3997 8.60039 10.6684 8.60039 10.9997V11.3331C8.60039 11.6644 8.33176 11.9331 8.00039 11.9331C7.66902 11.9331 7.40039 11.6644 7.40039 11.3331V10.9997C7.40039 10.6684 7.66902 10.3997 8.00039 10.3997Z\"\n fill=\"#EF7484\"\n />\n </svg>\n\n {{ currentErrorMessage }}\n </div>\n</div>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { NzSwitchModule } from \"ng-zorro-antd/switch\";\nimport { RdSwitchComponent } from \"./rd-switch.component\";\nimport { NzToolTipModule } from \"ng-zorro-antd/tooltip\";\nimport { TranslateModule } from \"@ngx-translate/core\";\n\n@NgModule({\n declarations: [RdSwitchComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n NzSwitchModule,\n NzToolTipModule,\n TranslateModule,\n ],\n exports: [RdSwitchComponent],\n})\nexport class RdSwitchModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatBigNumber } from '../utils/big-number';\n\n@Pipe({\n name: 'bigNumber',\n})\nexport class BigNumberPipe implements PipeTransform {\n transform(\n value: string | number,\n precision: number | null = 6,\n mode: 'cut' | 'toFixed' | 'keepAll' = 'cut'\n ): string | number {\n if (!value) return '';\n\n return formatBigNumber(value, precision, mode);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BigNumberPipe } from './big-number.pipe';\n\n@NgModule({\n imports: [],\n exports: [BigNumberPipe],\n declarations: [BigNumberPipe],\n})\nexport class PipesModule {}\n","import { Subject, isObservable, of } from 'rxjs';\nimport { debounceTime, filter, switchMap } from 'rxjs/operators';\n\n// this 是绑定到组件列的实例\nexport function DebounceSearch(\n milliseconds: number = 300,\n queryMinLength = 0,\n queryMaxLength?: number\n) {\n return function (\n target: any,\n propertyKey: string,\n descriptor: PropertyDescriptor\n ) {\n const originalMethod = descriptor.value;\n\n descriptor.value = function (...args: any[]) {\n const subjectKey = `__debounceSubject__${propertyKey}`;\n const _this = this as any;\n if (!_this[subjectKey]) {\n _this[subjectKey] = new Subject<any>();\n\n _this[subjectKey]\n .pipe(\n debounceTime(milliseconds),\n // distinctUntilChanged(),\n filter((query: any) => {\n let showQuery = true;\n if (!query) return true;\n if (queryMinLength && queryMaxLength) {\n showQuery =\n query.length >= queryMinLength &&\n query.length <= queryMaxLength;\n } else if (queryMinLength) {\n showQuery = query.length >= queryMinLength;\n } else if (queryMaxLength) {\n showQuery = query.length <= queryMaxLength;\n }\n return showQuery;\n }),\n switchMap((query) => {\n const result = originalMethod.apply(this, [\n query,\n ...args.slice(1),\n ]);\n\n // Wrap result in an observable if it's not already one\n return isObservable(result) ? result : of(result);\n })\n )\n .subscribe((result: any) => result);\n }\n\n _this[subjectKey].next(...args);\n };\n\n return descriptor;\n };\n}\n","/*\n * Public API Surface of shared-lib\n */\n\nexport * from './lib/modules/custom-checkbox';\nexport * from './lib/modules/custom-date';\nexport * from './lib/modules/custom-input';\nexport * from './lib/modules/custom-textarea';\nexport * from './lib/modules/custom-input-amount';\nexport * from './lib/modules/custom-radio';\nexport * from './lib/modules/custom-select';\nexport * from './lib/modules/custom-filter';\nexport * from './lib/modules/custom-pagination';\nexport * from './lib/modules/status-field';\nexport * from './lib/modules/header-step';\nexport * from './lib/modules/rd-notification';\nexport * from './lib/modules/rd-common-box';\nexport * from './lib/modules/task-base';\n\n\nexport * from './lib/modules/rd-button';\nexport * from './lib/modules/rd-loading';\nexport * from './lib/modules/rd-phone';\nexport * from './lib/modules/rd-remark-history';\nexport * from './lib/modules/rd-select-value';\nexport * from './lib/modules/rd-switch';\nexport * from './lib/modules/rd-select-value';\n\nexport * from './lib/pipes';\n\nexport * from './lib/decorators';\n\n// utils\nexport * from './lib/utils/debounce';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1","i5.FormItemComponent","i4","i5","i6.FormItemComponent","i8","i10","i12.RdButtonComponent","i6","i7","i8.FormItemComponent","i9","i4.StatusFieldComponent","i4.RdFilterSelectComponent","i5.RdFilterDateComponent","i6.RdFilterInputComponent","i2.RdSelectValueComponent","i3.CustomInputComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwBa,uBAAuB,CAAA;AAQlC,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;IACD,IACI,OAAO,CAAC,GAAQ,EAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;KACxB;AACD,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AAYD,IAAA,WAAA,CAAoB,GAAsB,EAAA;AAAtB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AAlCjC,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAiB,EAAE,CAAC;AAqBvB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAmB,CAAC;AAEpD,QAAA,IAAW,CAAA,WAAA,GAAoB,EAAE,CAAC;AAE1C,QAAA,IAAK,CAAA,KAAA,GAA8B,SAAS,CAAC;AAC7C,QAAA,IAAW,CAAA,WAAA,GAAuC,SAAS,CAAC;AAE5D,QAAA,IAAA,CAAA,QAAQ,GAAqC,MAAK,GAAG,CAAC;AACtD,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;KAEa;AAE9C,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,KAAK,CAAC;KACjC;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,iBAAiB,CAAC,KAAsB,EAAA;AACtC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;;qHA1DU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EARvB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBH,uWAeA,EAAA,MAAA,EAAA,CAAA,gjFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDSa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGhB,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EAAA,QAAA,EAAA,uWAAA,EAAA,MAAA,EAAA,CAAA,gjFAAA,CAAA,EAAA,CAAA;wGAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;gBAK3B,OAAO,EAAA,CAAA;sBADV,KAAK;gBAQI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEtCI,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAJZ,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAC5B,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAChE,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAHjB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;4FAG/D,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;oBACvC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,CAAC;oBAC3E,OAAO,EAAE,CAAC,uBAAuB,CAAC;iBACnC,CAAA;;;MCHY,iBAAiB,CAAA;AAL9B,IAAA,WAAA,GAAA;AAYW,QAAA,IAAI,CAAA,IAAA,GAAwB,QAAQ,CAAC;KAqB/C;AAjBC,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;KAC/B;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;KAC7B;;+GA3BU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,oUCP9B,u9BAmCA,EAAA,MAAA,EAAA,CAAA,m1DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD5Ba,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,u9BAAA,EAAA,MAAA,EAAA,CAAA,m1DAAA,CAAA,EAAA,CAAA;8BAKnB,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MEUpB,mBAAmB,CAAA;AAkB9B,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,KAAK,OAAO;AACpB,cAAE,aAAa;AACf,cAAE,IAAI,CAAC,KAAK,KAAK,MAAM;AACrB,kBAAE,YAAY;kBACZ,EAAE,CAAC;AACX,QAAA,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC1E;IAWD,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;AAD3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AAhD5B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,IAAI,CAAA,IAAA,GAAqB,MAAM,CAAC;AAChC,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;QAGzB,IAAA,CAAA,aAAa,GAA8B;AAClD,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,MAAM,EAAE,mBAAmB;SAC5B,CAAC;AAwBF,QAAA,IAAU,CAAA,UAAA,GAAqC,IAAI,CAAC;AACpD,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AACrB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAEjB,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,GAAG,CAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAQ,MAAK,GAAG,CAAC;;AAsIlC,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,OAAa,KAAa;YAC3C,IAAI,CAAC,OAAO,EAAE;AACZ,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAED,YAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3B,YAAA,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;YAGjC,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAClD,SAAC,CAAC;KA9IE;AAEJ,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9D,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAC9B,eAAe,CAChB,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AACjC,YAAA,KAAK,QAAQ;gBACX,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACJ,YAAA;AACE,gBAAA,QACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACL,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;;AACX,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;AAED,IAAA,IAAI,YAAY,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,EAAE,CAAC;AAEhC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC3D,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,OAAO,CAAA,EAAG,KAAK,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,CAAA,CAAE,CAAC;AACxC,SAAA;QAED,OAAO,IAAI,CAAC,UAAoB,CAAC;KAClC;AAED,IAAA,QAAQ,CAAC,OAAwB,EAAA;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;;QAGvB,MAAM,MAAM,GAAqB,EAAE,CAAC;;QAGpC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACrC,YAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC1B,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC3D,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,YAAA,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE;AACtC,gBAAA,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAC5B,gBAAA,OAAO,MAAM,CAAC;AACf,aAAA;AACF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;QAGrB,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC7B,YAAA,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;AACvC,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,YAAY,CAAC,IAAS,EAAA;QACpB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB,EAAE,CAAC,CAAC,CAAC;KACP;IAED,UAAU,GAAA;;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YACtC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACzB;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,eAAe,GAAA;;QAEb,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB,EAAE,CAAC,CAAC,CAAC;KACP;;iHAhLU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EARnB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BH,49DA+DA,EAAA,MAAA,EAAA,CAAA,snKAAA,EAAA,g9GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,8EAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,MAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD9Ba,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAf/B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAMZ,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,49DAAA,EAAA,MAAA,EAAA,CAAA,snKAAA,EAAA,g9GAAA,CAAA,EAAA,CAAA;yIAGQ,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAMmB,UAAU,EAAA,CAAA;sBAAlC,SAAS;uBAAC,YAAY,CAAA;gBAGnB,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;ME/CpB,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAJV,YAAA,EAAA,CAAA,iBAAiB,CAEtB,EAAA,OAAA,EAAA,CAAA,YAAY,aADZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAFf,YAAY,CAAA,EAAA,CAAA,CAAA;4FAEX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,YAAY,CAAC;iBACxB,CAAA;;;MCUY,YAAY,CAAA;;0GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2GAAZ,YAAY,EAAA,YAAA,EAAA,CAVR,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,kBAAkB;QAClB,cAAc,aAEN,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAElB,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YARrB,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,kBAAkB;QAClB,cAAc,CAAA,EAAA,CAAA,CAAA;4FAIL,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,kBAAkB;wBAClB,cAAc;AACf,qBAAA;oBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;iBAC/B,CAAA;;;ACfK,SAAU,eAAe,CAC7B,KAAkC,EAClC,SAA2B,GAAA,CAAC,EAC5B,IAAA,GAAsC,KAAK,EAAA;AAE3C,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,EAAE,CAAC;IAEtB,IAAI;AACF,QAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,UAAU,GAAG,EAAE,CAAC;AAEpB,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,SAAS;AACZ,gBAAA,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM;AACR,YAAA;;AAEE,gBAAA,MAAM,cAAc,GAAG,SAAS,KAAK,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;AAClE,gBAAA,UAAU,GAAG,QAAQ;AAClB,qBAAA,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;AACxB,qBAAA,OAAO,CAAC,SAAS,KAAK,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC/C,IAAI,IAAI,KAAK,KAAK,EAAE;oBAClB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC/C,iBAAA;gBACD,MAAM;AACT,SAAA;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACpC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AACnE,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAEnD,OAAO,WAAW,GAAG,WAAW,CAAC;AAClC,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;AACnB,KAAA;AACH,CAAC;AAEK,SAAU,WAAW,CACzB,KAAa,EACb,SAAS,GAAG,CAAC,EACb,IAAA,GAA0B,KAAK,EAAA;AAE/B,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,EAAE,CAAC;AACtB,IAAA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzE,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,QAAA,OAAO,UAAU,CAAC;AACnB,KAAA;IACD,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC1C;;MCVa,oBAAoB,CAAA;AA8B/B,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAUD,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA,CAAE,EACtE;AACJ,YAAA,KAAK,KAAK;AACR,gBAAA,QACE,GAAG;oBACH,CAAG,EAAA,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACpC,iBAAiB,CAClB,CAAA,EAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA,EAC/B;AACJ,YAAA,KAAK,KAAK;AACR,gBAAA,QACE,GAAG;oBACH,CAAG,EAAA,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACpC,iBAAiB,CAClB,CAAA,EAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA,EAC/B;AACJ,YAAA,KAAK,WAAW;AACd,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAE,EACnE;AACJ,YAAA,KAAK,WAAW;AACd,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,EACrE;AACJ,YAAA,KAAK,WAAW;AACd,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,EACpE;AACJ,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,GAAG,IAAI,CAAG,EAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA,CAAE,CAAC;AAC7D,YAAA,KAAK,QAAQ;gBACX,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACJ,YAAA;AACE,gBAAA,QACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACL,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;;AACX,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;AAED,IAAA,IAAI,mBAAmB,GAAA;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;AAC/C,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,GAAG,GAAG,CAAC;KACvD;IAED,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;AAD3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AApH5B,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;AACZ,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;AACf,QAAA,IAAQ,CAAA,QAAA,GAAiC,MAAM,CAAC;AAChD,QAAA,IAAI,CAAA,IAAA,GAAmC,MAAM,CAAC;AAC9C,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAG5B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAQjB,QAAA,IAAI,CAAA,IAAA,GAAyB,SAAS,CAAC;QAEvC,IAAA,CAAA,aAAa,GAA8B;AAClD,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,MAAM,EAAE,mBAAmB;SAC5B,CAAC;AAEQ,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;AACjC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;AAY1C,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AACV,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAA,CAAA,QAAQ,GAA4B,MAAK,GAAG,CAAC;AAC7C,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;AACjC,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;AACvC,QAAA,IAAA,CAAA,iBAAiB,GAAe,MAAK,GAAG,CAAC;KAwE7C;AAEJ,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,yBAAyB,CAAC,EAAc,EAAA;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;AAED,IAAA,iBAAiB,CAAC,KAAa,EAAA;AAC7B,QAAA,MAAM,YAAY,GAChB,IAAI,CAAC,QAAQ,KAAK,QAAQ;cACtB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACzB,cAAE,OAAO,KAAK,KAAK,QAAQ;AACzB,kBAAE,KAAK,CAAC,IAAI,EAAE;kBACZ,KAAK,CAAC;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrC;AAED,IAAA,QAAQ,CAAC,OAA+B,EAAA;;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;QAED,MAAM,MAAM,GAAqB,EAAE,CAAC;AACpC,QAAA,IAAI,KAAK,CAAC;AACV,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC9B,YAAA,KAAK,GAAG,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE1C,IAAI;AACF,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;oBAChC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChE,wBAAA,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAClD,qBAAA;oBACD,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChE,wBAAA,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAClD,qBAAA;AACF,iBAAA;AACF,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;AACd,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC1B,aAAA;AACF,SAAA;AAAM,aAAA;YACL,KAAK;gBACH,QAAO,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,KAAK,CAAA,KAAK,QAAQ;sBAC9B,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE;sBACtB,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;AACtB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE;AAC3B,YAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACtC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnD,MAAM,CAAC,WAAW,CAAC,GAAG;oBACpB,cAAc,EAAE,IAAI,CAAC,SAAS;oBAC9B,YAAY,EAAE,KAAK,CAAC,MAAM;iBAC3B,CAAC;AACH,aAAA;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnD,MAAM,CAAC,WAAW,CAAC,GAAG;oBACpB,cAAc,EAAE,IAAI,CAAC,SAAS;oBAC9B,YAAY,EAAE,KAAK,CAAC,MAAM;iBAC3B,CAAC;AACH,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE;AACzB,YAAA,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,YAAY,MAAM;kBAC1B,IAAI,CAAC,OAAO;kBACZ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACtE,aAAA;AACF,SAAA;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAC;AACpD,YAAA,IAAI,YAAY,EAAE;AAChB,gBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACrC,aAAA;AACF,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;KACvD;;kHA9OU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAbpB,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCH,krIAmGA,EAAA,MAAA,EAAA,CAAA,+mDAAA,EAAA,g9GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,wBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDzDa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBApBhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAMb,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,krIAAA,EAAA,MAAA,EAAA,CAAA,+mDAAA,EAAA,g9GAAA,CAAA,EAAA,CAAA;yIAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,IAAI,EAAA,CAAA;sBAAb,MAAM;gBAGH,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MEzDpB,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAXT,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEjC,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,aAAa;QACb,eAAe,aAEP,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YATtB,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,aAAa;QACb,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,aAAa;wBACb,aAAa;wBACb,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC,CAAA;;;MCsBY,uBAAuB,CAAA;AAgClC,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA,CAAE,EACtE;AACJ,YAAA,KAAK,WAAW;AACd,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,EACrE;AACJ,YAAA,KAAK,WAAW;AACd,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,EACpE;AACJ,YAAA,KAAK,QAAQ;gBACX,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACJ,YAAA;AACE,gBAAA,QACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACL,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;;AACX,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;IAED,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;AAD3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AAxE5B,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACZ,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAKjB,QAAA,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;QAG3B,IAAA,CAAA,aAAa,GAA8B;AAClD,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,MAAM,EAAE,mBAAmB;SAC5B,CAAC;AAEQ,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;AACjC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;AAE1C,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AACV,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAA,CAAA,QAAQ,GAA4B,MAAK,GAAG,CAAC;AAC7C,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;AACjC,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;AACvC,QAAA,IAAA,CAAA,iBAAiB,GAAe,MAAK,GAAG,CAAC;KA8C7C;AAEJ,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACxB,UAAU,CAAC,MAAK;;YACd,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,yBAAyB,CAAC,EAAc,EAAA;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,iBAAiB,CAAC,KAAa,EAAA;AAC7B,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrC;AAED,IAAA,QAAQ,CAAC,OAA+B,EAAA;;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;QAED,MAAM,MAAM,GAAqB,EAAE,CAAC;AACpC,QAAA,IAAI,KAAK,GAAG,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;AAEnC,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE;AAC3B,YAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACtC,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnD,MAAM,CAAC,WAAW,CAAC,GAAG;oBACpB,cAAc,EAAE,IAAI,CAAC,SAAS;oBAC9B,YAAY,EAAE,KAAK,CAAC,MAAM;iBAC3B,CAAC;AACH,aAAA;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnD,MAAM,CAAC,WAAW,CAAC,GAAG;oBACpB,cAAc,EAAE,IAAI,CAAC,SAAS;oBAC9B,YAAY,EAAE,KAAK,CAAC,MAAM;iBAC3B,CAAC;AACH,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE;AACzB,YAAA,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,YAAY,MAAM;kBAC1B,IAAI,CAAC,OAAO;kBACZ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACtE,aAAA;AACF,SAAA;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAC;AACpD,YAAA,IAAI,YAAY,EAAE;AAChB,gBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACrC,aAAA;AACF,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;KACvD;;qHAnKU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAbvB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF,EAeU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,gDCtDhC,wsBAwBA,EAAA,MAAA,EAAA,CAAA,2RAAA,EAAA,g9GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDiBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBApBnC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAMhB,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,wsBAAA,EAAA,MAAA,EAAA,CAAA,2RAAA,EAAA,g9GAAA,CAAA,EAAA,CAAA;yIAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAC0B,QAAQ,EAAA,CAAA;sBAAvC,SAAS;uBAAC,mBAAmB,CAAA;gBAErB,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,IAAI,EAAA,CAAA;sBAAb,MAAM;;;ME7CI,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CAVZ,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAEpC,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,eAAe,aAEP,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YARzB,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,aAAa;wBACb,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;iBACnC,CAAA;;;MCwBY,0BAA0B,CAAA;IAkCrC,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;AAD3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AAjC5B,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACZ,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;AACZ,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AAChB,QAAA,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAwB,SAAS,CAAC;QACxC,IAAA,CAAA,aAAa,GAAQ;AAC5B,YAAA,OAAO,EAAE,6BAA6B;SACvC,CAAC;AACO,QAAA,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAEjB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;AAChC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;AACjC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AAGnD,QAAA,IAAA,CAAA,UAAU,GAAW,EAAE,CAAC;AAChB,QAAA,IAAA,CAAA,KAAK,GAAW,EAAE,CAAC;AACnB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;AAC/C,QAAA,IAAM,CAAA,MAAA,GAA4B,IAAI,CAAC;AAE/B,QAAA,IAAA,CAAA,QAAQ,GAA4B,MAAK,GAAG,CAAC;AAC7C,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;AACjC,QAAA,IAAA,CAAA,iBAAiB,GAAe,MAAK,GAAG,CAAC;KAK7C;AAEJ,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC3C,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA,CAAE,EACtE;AACJ,YAAA,KAAK,KAAK;AACR,gBAAA,QACE,GAAG;oBACH,CAAG,EAAA,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACpC,iBAAiB,CAClB,CAAA,EAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA,EAC/B;AACJ,YAAA,KAAK,KAAK;AACR,gBAAA,QACE,GAAG;oBACH,CAAG,EAAA,IAAI,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACpC,iBAAiB,CAClB,CAAA,EAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA,EAC/B;AACJ,YAAA,KAAK,WAAW;AACd,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA,EAAG,IAAI,CAAC,WAAW,CAAA,CAAE,EACpE;AACJ,YAAA,KAAK,QAAQ;gBACX,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,QAAQ,CAAC;oBAC9B,CAAG,EAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAE,CAAA,EAChD;AACJ,YAAA;gBACE,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC7D,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;;AACX,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;AACD,IAAA,iBAAiB,CAAC,KAAa,EAAA;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;;QAGzC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;;AAGrD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAElC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAClB;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,yBAAyB,CAAC,EAAc,EAAA;AACtC,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAED,IAAA,QAAQ,CAAC,OAAwB,EAAA;;AAC/B,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;QACD,MAAM,MAAM,GAAqB,EAAE,CAAC;AACpC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAEzB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE;AAC3B,YAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,KAAK,EAAE;YACT,IAAI;AACF,gBAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEhC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChE,oBAAA,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAClD,iBAAA;gBACD,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChE,oBAAA,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAClD,iBAAA;AAED,gBAAA,MAAM,aAAa,GAAG,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,KAAI,CAAC,CAAC;AACvD,gBAAA,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE;AACpC,oBAAA,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;AAC5B,iBAAA;AACF,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;AACV,gBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC1B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;KACvD;AAED,IAAA,UAAU,CAAC,KAA6B,EAAA;;AACtC,QAAA,MAAM,CAAC,GAAG,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,QAAQ,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;;wHA3LU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAb1B,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,WAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvCH,0tHAiFA,EAAA,MAAA,EAAA,CAAA,s4BAAA,EAAA,g9GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,wBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDxCa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBApBtC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAMpB,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,0tHAAA,EAAA,MAAA,EAAA,CAAA,s4BAAA,EAAA,g9GAAA,CAAA,EAAA,CAAA;yIAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEI,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACE,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAkBF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MEjEpB,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAXf,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAEvC,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,aAAa;QACb,eAAe,aAEP,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAEzB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAT5B,YAAY;QACZ,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,aAAa;QACb,eAAe,CAAA,EAAA,CAAA,CAAA;4FAIN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;AAC1C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,WAAW;wBACX,aAAa;wBACb,aAAa;wBACb,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,0BAA0B,CAAC;iBACtC,CAAA;;;MCMY,oBAAoB,CAAA;AAW/B,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;IAED,IACI,OAAO,CAAC,GAAoB,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;KACxB;AACD,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AAUD,IAAA,WAAA,CAAoB,GAAsB,EAAA;AAAtB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AApCjC,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;AAEjB,QAAA,IAAI,CAAA,IAAA,GAAkC,SAAS,CAAC;AAChD,QAAA,IAAS,CAAA,SAAA,GAA8B,YAAY,CAAC;AACpD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC;AAsBpB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAwB,CAAC;AAEzD,QAAA,IAAW,CAAA,WAAA,GAAoB,EAAE,CAAC;AAClC,QAAA,IAAM,CAAA,MAAA,GAAyB,IAAI,CAAC;AAE5C,QAAA,IAAA,CAAA,QAAQ,GAA0C,MAAK,GAAG,CAAC;AAC3D,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;KAEa;AAE9C,IAAA,QAAQ,MAAK;AAEb,IAAA,WAAW,MAAK;AAEhB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IAED,IAAI,KAAK,CAAC,GAAyB,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAClB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAA;KACF;AAED,IAAA,IAAI,WAAW,GAAA;;AACb,QAAA,OAAO,MAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;KAC3B;IAED,IAAI,WAAW,CAAC,GAAQ,EAAA;AACtB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC;KAC7B;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE;;AAEjD,gBAAA,IAAI,CAAC,MAAM;oBACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAClE,aAAA;AAAM,iBAAA;;gBAEL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;AACvE,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,SAAA;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AAGD,IAAA,gBAAgB,CAAC,WAAgB,EAAA;QAC/B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;;QAGjB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;;AAE1D,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAChC,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,WAAgB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC;KACzC;;kHAhHU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EARpB,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBH,g9CA4CA,EAAA,MAAA,EAAA,CAAA,uiJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDnBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAZhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAGb,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,EAAA,QAAA,EAAA,g9CAAA,EAAA,MAAA,EAAA,CAAA,uiJAAA,CAAA,EAAA,CAAA;wGAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;gBAM3B,OAAO,EAAA,CAAA;sBADV,KAAK;gBAQI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEpCI,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,CAVT,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEjC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,aAAa,aAEL,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YARtB,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,aAAa,CAAA,EAAA,CAAA,CAAA;4FAIJ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,aAAa;AACd,qBAAA;oBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC,CAAA;;;MCgBY,iBAAiB,CAAA;AAN9B,IAAA,WAAA,GAAA;AAOE;;;;AAIG;AACM,QAAA,IAAI,CAAA,IAAA,GAAiB,SAAS,CAAC;;AAG/B,QAAA,IAAI,CAAA,IAAA,GAAkC,SAAS,CAAC;;AAGhD,QAAA,IAAK,CAAA,KAAA,GAAmC,SAAS,CAAC;;AAGlD,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;AAGjB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;AAGhB,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;AAGd,QAAA,IAAQ,CAAA,QAAA,GAAkC,QAAQ,CAAC;;AAGnD,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;AAGhB,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;AAGd,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;AAMf,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;AAGd,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAc,CAAC;AAExC,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;KA+ExB;AA3EC,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;;AAGD,IAAA,IAAI,MAAM,GAAA;QACR,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAChD,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE;AAC9B,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AAC/E,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;;AAGD,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,GAAI,IAAI,CAAC,KAAuB,GAAG,SAAS,CAAC;KAC7E;;AAGD,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,GAAI,IAAI,CAAC,IAAqB,GAAG,SAAS,CAAC;KAC1E;;AAGD,IAAA,OAAO,CAAC,KAAiB,EAAA;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;KACF;;AAGD,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,MAAM,OAAO,GAA+B;AAC1C,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,CAAC,aAAa,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAChC,iBAAiB,EAAE,IAAI,CAAC,KAAK;YAC7B,mBAAmB,EAAE,IAAI,CAAC,OAAO;YACjC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;YACnC,iBAAiB,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;YAC9C,mBAAmB,EAAE,IAAI,CAAC,OAAO;YACjC,kBAAkB,EAAE,IAAI,CAAC,MAAM;YAC/B,kBAAkB,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YACzD,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU;SACvD,CAAC;;AAGF,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAC3B,OAAO,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAE,CAAA,CAAC,GAAG,IAAI,CAAC;AAC/C,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAO,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAE,CAAA,CAAC,GAAG,IAAI,CAAC;AACjD,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;;AAGD,IAAA,IAAI,UAAU,GAAA;;QAEZ,OAAO,IAAI,CAAC;KACb;;+GA1HU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,scCjC9B,ofAoBA,EAAA,MAAA,EAAA,CAAA,88YAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2EAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDaa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACE,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ofAAA,EAAA,MAAA,EAAA,CAAA,88YAAA,CAAA,EAAA,CAAA;8BAQtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBAEE,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;MEjDpB,iBAAiB,CAAA;IAmB5B,IACI,OAAO,CAAC,GAAoB,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;KAC5B;AACD,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;;AA4CD,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AACtE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;KAC5E;AAED,IAAA,IAAI,kBAAkB,GAAA;QACpB,MAAM,OAAO,GAAa,EAAE,CAAC;;AAG7B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;AAC9B,YAAA,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AACvD,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;AAC9C,SAAA;;QAGD,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9B,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;AAED,IAAA,IAAI,cAAc,GAAA;;AAEhB,QAAA,OAAO,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KACxC;IAKD,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;;IAGD,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;AAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,gBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,aAAA;AACD,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC7B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;AAC7B,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC7B,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACvB,eAAe,CAChB,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA,CAAE,EAC9B;AACJ,YAAA,KAAK,QAAQ;gBACX,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACJ,YAAA;AACE,gBAAA,QACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACL,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;;AACX,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;IAED,WACU,CAAA,GAAsB,EACtB,SAA2B,EAAA;AAD3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AAhK5B,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AAGnB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAM,CAAA,MAAA,GAA2B,SAAS,CAAC;AAI3C,QAAA,IAAkB,CAAA,kBAAA,GAAQ,GAAG,CAAC;AAC9B,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AACrB,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AACvB,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AACjB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAW1B,IAAA,CAAA,aAAa,GAA8B;AAClD,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,MAAM,EAAE,mBAAmB;SAC5B,CAAC;AAEQ,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;AAC1C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAmC,CAAC;AAClE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEhD,QAAA,IAAW,CAAA,WAAA,GAAoB,EAAE,CAAC;AAC1C,QAAA,IAAe,CAAA,eAAA,GAAoB,EAAE,CAAC;AAEtC,QAAA,IAAK,CAAA,KAAA,GAAgD,SAAS,CAAC;AAC/D,QAAA,IAAW,CAAA,WAAA,GACT,SAAS,CAAC;AACZ,QAAA,IAAiB,CAAA,iBAAA,GAID,SAAS,CAAC;AAC1B,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACR,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AACzB,QAAA,IAAqB,CAAA,qBAAA,GAAG,EAAE,CAAC;AACpC,QAAA,IAAA,CAAA,QAAQ,GACN,MAAK,GAAG,CAAC;AACX,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;AAEjC,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;AAE/C,QAAA,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAChB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AACT,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC;AACrB,QAAA,IAAa,CAAA,aAAA,GAAG,WAAW,CAAC;AAC5B,QAAA,IAAa,CAAA,aAAA,GAAG,WAAW,CAAC;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC;AACpB,QAAA,IAAA,CAAA,WAAW,GAAG,kCAAkC,CAAC;;AAiC1D,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QA8Df,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACnD,IAAI,EAAE,CAAC,gBAAgB,EAAE;AACvB,YAAA,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAC5D,SAAA;AAAM,aAAA;YACL,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAC7C,SAAA;KACF;IAEO,cAAc,GAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;KACjE;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAErB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;AACzE,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACvB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACxB,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;AAC1C,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;KACrC;IAED,uBAAuB,GAAA;;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;AACzC,YAAA,OAAO,MAAA,IAAI,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAC;AACvC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;AAGD,IAAA,IAAI,mBAAmB,GAAA;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;AACzC,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACtC,SAAA;QACD,OAAO,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC;KACvC;;AAGD,IAAA,iBAAiB,CAAC,MAAqB,EAAA;;QAErC,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;AAC9B,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;;AAGD,QAAA,IACE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU;AAC1D,aAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,EAC3D;;AAEA,YAAA,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACvD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;;AAGD,IAAA,gBAAgB,CAAC,cAAqB,EAAA;;AAEpC,QAAA,IACE,IAAI,CAAC,MAAM,KAAK,UAAU;AAC1B,YAAA,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAC/C;;YAEA,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACnE,SAAA;AAED,QAAA,IAAI,cAAqB,CAAC;QAE1B,IAAI,IAAI,CAAC,UAAU,EAAE;;YAEnB,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;kBAC5D,IAAI,CAAC,iBAAiB;kBACtB,EAAE,CAAC;;AAEP,YAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe;iBAChD,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACvB,iBAAA,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAEzD,YAAA,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,MAAM,CACpD,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3C,CAAC;;AAGF,YAAA,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAC/C,CAAC,KAAK,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC7C,CAAC;;AAGF,YAAA,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;;AAGvE,YAAA,IAAI,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE;gBACnD,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACnE,aAAA;AACF,SAAA;AAAM,aAAA;;YAEL,cAAc;AACZ,gBAAA,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB;sBAC3C,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;sBAChD,cAAc,CAAC;AACtB,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;KACzC;;IAGD,oBAAoB,GAAA;;AAElB,QAAA,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACrC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EACvD;;AAEA,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CACnD,CAAC,EACD,IAAI,CAAC,kBAAkB,CACxB,CAAC;AACH,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAED,cAAc,GAAA;;QACZ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACzC,OAAO,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,IAAG,IAAI,CAAC,kBAAkB,CAAC;AACjE,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAED,IAAA,cAAc,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAQ,KAClD,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;AACF,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,eAAe,CAAC,WAAgB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;gBACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC,iBAAiB,KAAK,WAAW,CAAC;AAC/C,SAAA;KACF;AAED,IAAA,QAAQ,CAAC,OAA+B,EAAA;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,UAAU,CAAC,KAAsC,EAAA;AAC/C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,KAAK,CAAC;KACjC;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,iBAAiB,CACf,KAAwD,EAAA;AAExD,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACxE,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAChE,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;AAChC,SAAA;KACF;AAED,IAAA,QAAQ,CAAC,WAAmB,EAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO;AACR,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI,EAAA,IAAA,EAAA,CAAA,CACtD,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAA,CAAG,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAA,CACzC,CAAC;KACH;AAED,IAAA,gBAAgB,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AAED,IAAA,cAAc,CAAC,KAAa,EAAA;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;AACvD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC1B,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,eAAe,GAAA;;QAEb,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB,EAAE,CAAC,CAAC,CAAC;KACP;;+GAxaU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAbjB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnCH,gmcA8ZA,EAAA,MAAA,EAAA,CAAA,y4LAAA,EAAA,kjNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uCAAA,EAAA,QAAA,EAAA,oDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,QAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDzXa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGd,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,gmcAAA,EAAA,MAAA,EAAA,CAAA,y4LAAA,EAAA,kjNAAA,CAAA,EAAA,CAAA;yIAGQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAGF,OAAO,EAAA,CAAA;sBADV,KAAK;gBASG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBAcE,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAaG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAmCN,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,eAAe,CAAA;;;MEhIlB,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,CAJV,iBAAiB,CACtB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAC1C,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAHf,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGzC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACjC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;oBACrD,OAAO,EAAE,CAAC,iBAAiB,CAAC;iBAC7B,CAAA;;;MCwBY,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,CAlBV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAE9B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,cAAc;QACd,cAAc;QACd,cAAc;QACd,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb,cAAc,aAEN,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAhBvB,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,cAAc;QACd,cAAc;QACd,cAAc;QACd,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb,cAAc,CAAA,EAAA,CAAA,CAAA;4FAIL,cAAc,EAAA,UAAA,EAAA,CAAA;kBAnB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACjC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,cAAc;wBACd,cAAc;wBACd,cAAc;wBACd,aAAa;wBACb,eAAe;wBACf,gBAAgB;wBAChB,cAAc;wBACd,aAAa;wBACb,cAAc;AACf,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;iBAC7B,CAAA;;;MCVY,wBAAwB,CAAA;AAZrC,IAAA,WAAA,GAAA;AAaW,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAM,CAAA,MAAA,GAAyB,EAAE,CAAC;AAG3C,QAAA,IAAK,CAAA,KAAA,GAAkB,IAAI,CAAC;AAE5B,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QAEf,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAM,GAAC,CAAC;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,GAAG,CAAC;KAkCtB;AAhCC,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;AAED,IAAA,iBAAiB,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,gBAAgB,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AAED,IAAA,UAAU,CAAC,KAAa,EAAA;;AACtB,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE,CAAC;AACtB,QAAA,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,KAAI,EAAE,EACrE;KACH;;sHA7CU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EARxB,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;KACF,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBH,ggHAqGA,EAAA,MAAA,EAAA,CAAA,qQAAA,EAAA,kjNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,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,EAAAF,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD9Ea,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAGzB,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,ggHAAA,EAAA,MAAA,EAAA,CAAA,qQAAA,EAAA,kjNAAA,CAAA,EAAA,CAAA;8BAGQ,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEHK,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAZnB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAErC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,cAAc;QACd,cAAc;QACd,cAAc,aAEN,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAEvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAVhC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,YAAY;QACZ,cAAc;QACd,cAAc;QACd,cAAc,CAAA,EAAA,CAAA,CAAA;4FAIL,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;AACxC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,YAAY;wBACZ,cAAc;wBACd,cAAc;wBACd,cAAc;AACf,qBAAA;oBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;iBACpC,CAAA;;;MCsBY,yBAAyB,CAAA;IAKpC,WACU,CAAA,SAA2B,EAC3B,GAAsB,EAAA;AADtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;AAC3B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AAGvB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAA,CAAA,aAAa,GAA8B;AAClD,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,MAAM,EAAE,mBAAmB;SAC5B,CAAC;AAEQ,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAmB,CAAC;AAEnD,QAAA,IAAK,CAAA,KAAA,GAAG,iCAAiC,CAAC;AAC1C,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAuBnB,QAAA,IAAO,CAAA,OAAA,GAAuB,EAAE,CAAC;AAEjC,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAK,CAAA,KAAA,GAAa,EAAE,CAAC;AAErB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAwB,MAAM,CAAC;AACnC,QAAA,IAAY,CAAA,YAAA,GAAkC,IAAI,CAAC;AAEnD,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAEf,QAAA,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAChB,QAAA,IAAkB,CAAA,kBAAA,GAAG,EAAE,CAAC;AACxB,QAAA,IAAe,CAAA,eAAA,GAAQ,EAAE,CAAC;AAC1B,QAAA,IAAgB,CAAA,gBAAA,GAAQ,EAAE,CAAC;AACnB,QAAA,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;AAExB,QAAA,IAAO,CAAA,OAAA,GAA2B,IAAI,CAAC;;AAE/C,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;;QAEvB,IAAA,CAAA,gBAAgB,GAAG;AACjB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,CAAC;SACjB,CAAC;AACF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAC;AAEZ,QAAA,IAAc,CAAA,cAAA,GAA0B,IAAI,CAAC;AAkCrD,QAAA,IAAA,CAAA,QAAQ,GAAiD,MAAK,GAAG,CAAC;AAClE,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;;AAGjC,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAoIjB,IAAA,CAAA,gBAAgB,GAAG,CAAC,KAAa,EAAE,IAAW,KAAa;AACzD,YAAA,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AAE9B,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,SAAC,CAAC;KA/OE;AAeJ,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,KAAK,OAAO;AACpB,cAAE,aAAa;AACf,cAAE,IAAI,CAAC,KAAK,KAAK,MAAM;AACrB,kBAAE,YAAY;kBACZ,EAAE,CAAC;AACX,QAAA,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClE;AAiCD,IAAA,IAAI,SAAS,GAAA;;AACX,QAAA,QACE,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAK,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC,EACzE;KACH;AAED,IAAA,IAAI,mBAAmB,GAAA;;QACrB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;AAAE,YAAA,OAAO,EAAE,CAAC;AAErC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAA,QAAQ,UAAU;AAChB,YAAA,KAAK,UAAU;AACb,gBAAA,QACE,GAAG;AACH,oBAAA,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACvB,eAAe,CAChB,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA,CAAE,EAC9B;AACJ,YAAA,KAAK,QAAQ;gBACX,QACE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACJ,YAAA;AACE,gBAAA,QACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC3C;AACL,SAAA;KACF;IAQD,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACnD,IAAI,EAAE,CAAC,gBAAgB,EAAE;AACvB,YAAA,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAC5D,SAAA;AAAM,aAAA;YACL,EAAE,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAC7C,SAAA;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,eAAe,CAAC,EAAE;YAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;KACF;IAED,eAAe,GAAA;QACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;;QAE3B,UAAU,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;KAC/C;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;AAClC,SAAA;KACF;IAEO,mBAAmB,GAAA;;AACzB,QAAA,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AACzC,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;gBAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,MAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE;gBACjC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AAC3D,aAAA;AAED,YAAA,IAAI,MAAA,IAAI,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE;gBACzC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACnE,aAAA;AACF,SAAA;KACF;IAEO,iBAAiB,GAAA;;QACvB,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAA;YAAE,OAAO;AAE3C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;AAGjD,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;;AAGrC,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;KACtC;AAEO,IAAA,kBAAkB,CAAC,OAAoB,EAAA;;QAE7C,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACxD,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AAC1C,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;;AAG1C,QAAA,MAAM,gBAAgB,GAAG,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,EAAE,CAAC;;QAG5E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;;QAGnC,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;;QAGvD,IAAI,CAAC,gBAAgB,GAAG;AACtB,YAAA,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC,eAAe;AAC5C,YAAA,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,IAAI,CAAC,eAAe;AAC9B,YAAA,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;SAC7D,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,CAAS,MAAA,EAAA,SAAS,CAAW,QAAA,EAAA,IAAI,CAAC,cAAc,CAAE,CAAA,CAAC,CAAC;AAEhE,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAEO,IAAA,kBAAkB,CAAC,OAAoB,EAAA;;;QAE7C,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC;AACxD,QAAA,IAAI,SAAS,EAAE;YACb,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACxD,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;AACtC,YAAA,MAAM,gBAAgB,GACpB,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC;AACtC,gBAAA,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AAC1C,YAAA,MAAM,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,EAAE,CAAC;AAE9D,YAAA,MAAM,eAAe,GAAG,SAAS,GAAG,cAAc,CAAC;;AAGnD,YAAA,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC3C,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC5B,aAAA;AACF,SAAA;KACF;;AAGD,IAAA,iBAAiB,CAAC,KAAe,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;QAGlC,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;;YAEzB,UAAU,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC;SACjD,EAAE,EAAE,CAAC,CAAC;KACR;IAEO,cAAc,GAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;KACjE;AAQD,IAAA,QAAQ,CAAC,OAA+B,EAAA;AACtC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;IAED,iBAAiB,GAAA;;QACf,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,IAAG,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAS,KAAI;AAClD,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,IAAI,CACP,EAAA,EAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EACrC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAY,KAAI;wBAC1C,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CACV,EAAA,EAAA,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,KAAK,EAAE,OAAO,CAAC,MAAM,EACrB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EACxC,MAAM,EAAE,IAAI,EACZ,CAAA,CAAA;AACJ,qBAAC,CAAC,EACF,CAAA,CAAA;AACJ,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;AACrC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,YAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC3B,SAAA;KACF;;IAID,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;KAC9B;IAED,gBAAgB,CAAC,MAAW,EAAE,MAAY,EAAA;;QACxC,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;AACpE,QAAA,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC1B;AAED,IAAA,kBAAkB,CAAC,GAAQ,EAAA;;QACzB,IAAI,EAAC,GAAG,KAAA,IAAA,IAAH,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,KAAK,CAAA;YAAE,OAAO;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;AACxB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,KAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC1B;AAED,IAAA,cAAc,CAAC,KAAa,EAAA;AAC1B,QAAA,MAAM,IAAI,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,IAAI,EAAA,CAAG,WAAW,EAAE,CAAC;AAEzC,QAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAE/B,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAK;;YACjC,IAAI,CAAC,IAAI,EAAE;;AAET,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,KAAI,EAAE,CAAC;gBAC1D,OAAO;AACR,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAQ,KAClD,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvC,CAAC;AACH,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,gBAAgB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,MAAM,CACxD,CAAC,KAAU,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzD,CAAC;AACH,aAAA;SACF,EAAE,GAAG,CAAC,CAAC;KACT;;uHAhXU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAbzB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,YAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1CH,2rQAkNA,EAAA,MAAA,EAAA,CAAA,ytPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,WAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uCAAA,EAAA,QAAA,EAAA,oDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDtKa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAjBrC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAGtB,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EAAA,QAAA,EAAA,2rQAAA,EAAA,MAAA,EAAA,CAAA,ytPAAA,CAAA,EAAA,CAAA;yIAK+B,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;gBACN,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW,CAAA;gBAMb,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAIG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEE,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;gBAqF/B,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,eAAe,CAAA;;;ME5HlB,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAhBlB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAEtC,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,cAAc;AACd,QAAA,aAAa,mCAGL,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAExB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAd/B,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,cAAc;QACd,aAAa;AACb,QAAA,eAAe,CAAC,QAAQ,EAAE,CAAA,EAAA,CAAA,CAAA;4FAIjB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAjBlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;AACzC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,gBAAgB;wBAChB,cAAc;wBACd,aAAa;wBACb,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,cAAc;wBACd,aAAa;wBACb,eAAe,CAAC,QAAQ,EAAE;AAC3B,qBAAA;oBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;iBACrC,CAAA;;;MCXY,oBAAoB,CAAA;AAM/B,IAAA,WAAA,GAAA;AAHS,QAAA,IAAI,CAAA,IAAA,GAAwB,SAAS,CAAC;AACtC,QAAA,IAAoB,CAAA,oBAAA,GAA0B,EAAE,CAAC;AACjD,QAAA,IAAkB,CAAA,kBAAA,GAAsB,EAAE,CAAC;KACpC;IAEhB,gBAAgB,GAAA;;;QAEd,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAChD,CAAC,CAAC,KAAK,CAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,MAAM,MAAK,IAAI,CAAC,MAAM,CACjC,CAAC;AACF,QAAA,IAAI,UAAU,EAAE;YACd,OAAO;AACL,gBAAA,IAAI,EAAE,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,IAAI;AACtB,gBAAA,IAAI,EAAE,CAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAV,UAAU,CAAE,IAAI,KAAK,IAAI,CAAC,MAAiB;aAClD,CAAC;AACH,SAAA;;AAGD,QAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACjD,YAAA,IAAI,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,KAAK,CAAC,IAAI,CAAC,MAAgB,CAAC,EAAE;gBACvC,OAAO;AACL,oBAAA,IAAI,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,IAAI;AACjB,oBAAA,IAAI,EAAE,IAAI,CAAC,MAAgB;iBAC5B,CAAC;AACH,aAAA;AACF,SAAA;;QAGD,OAAO;AACL,YAAA,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,MAAgB;SAC5B,CAAC;KACH;;kHApCU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAZrB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FAGU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EACrB,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,wOAAA,CAAA,EAAA,CAAA;0EAIQ,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;;;MCNK,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;AAOY,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;AACxC,QAAA,IAAoB,CAAA,oBAAA,GAA0B,EAAE,CAAC;AACjD,QAAA,IAAkB,CAAA,kBAAA,GAAsB,EAAE,CAAC;AACpD,QAAA,IAAW,CAAA,WAAA,GAAoD,IAAI,CAAC;KAoCrE;AAlCC,IAAA,IAAI,IAAI,GAAA;;QACN,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,KAAI,UAAU,CAAC;KAC5C;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACpB,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,WAAW;oBACd,IAAI,CAAC,IAAI,KAAK,UAAU;AACtB,0BAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC,GAAG,CAAC;AAC9B,0BAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,aAAA;AACF,SAAA;KACF;IAED,QAAQ,GAAA;;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;AAC7B,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChD,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,SAAA;KACF;AAED,IAAA,WAAW,CAAC,KAAwB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAI,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAe,CAAC;AACnC,SAAA;AACD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;;qHAxCU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wPCnBpC,u4FAiFA,EAAA,MAAA,EAAA,CAAA,8gHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,oBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD9Da,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,u4FAAA,EAAA,MAAA,EAAA,CAAA,8gHAAA,CAAA,EAAA,CAAA;8BAKvB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACE,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;;;MEdK,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAJf,YAAA,EAAA,CAAA,oBAAoB,CACzB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAHpB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC,CAAA;;;MCiBY,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mHAApB,oBAAoB,EAAA,YAAA,EAAA,CAbhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAEpC,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,aAAa;QACb,WAAW;QACX,mBAAmB,aAEX,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAX7B,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,aAAa;QACb,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAIV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,kBAAkB;wBAClB,gBAAgB;wBAChB,cAAc;wBACd,cAAc;wBACd,aAAa;wBACb,WAAW;wBACX,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;iBACnC,CAAA;;;ACtBW,IAAA,eAIX;AAJD,CAAA,UAAY,cAAc,EAAA;IACxB,cAAA,CAAA,cAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;IACT,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AACV,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA;;ACYM,MAAM,YAAY,GAAiB;AACxC,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,kBAAkB,EAAE,iDAAiD;AACrE,QAAA,kBAAkB,EAAE,2CAA2C;AAC/D,QAAA,gBAAgB,EAAE,mBAAmB;AACrC,QAAA,gBAAgB,EAAE,yCAAyC;AAC3D,QAAA,YAAY,EAAE,mCAAmC;AACjD,QAAA,gBAAgB,EAAE,0CAA0C;AAC5D,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,aAAa,EAAE,kCAAkC;AAClD,KAAA;AACD,IAAA,EAAE,EAAE;AACF,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,kBAAkB,EAAE,YAAY;AAChC,QAAA,kBAAkB,EAAE,YAAY;AAChC,QAAA,gBAAgB,EAAE,MAAM;AACxB,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,YAAY,EAAE,SAAS;AACvB,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,aAAa,EAAE,YAAY;AAC5B,KAAA;CACF,CAAC;AAEc,SAAA,cAAc,CAC5B,IAAY,EACZ,GAA0B,EAAA;;AAE1B,IAAA,OAAO,CAAA,CAAA,EAAA,GAAA,YAAY,CAAC,IAAI,CAAC,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,KAAI,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAC3D;;MC5Ba,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;AAQY,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;AACjD,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAErB,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AAaxB,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,OAAa,KAC3B,wBAAwB,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;KA4CrD;AAvDC,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;KAC9B;AAKD,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAChC,QAAA,IAAI,MAAA,OAAO,CAAC,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,EAAE;AACjC,YAAA,IAAI,CAAC,UAAU,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,IAAG,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACvE,SAAA;KACF;IAED,UAAU,GAAA;;QACR,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,CAAC;KACzB;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,EAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,CAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,OAAO;AACR,SAAA;AACD,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC3D,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,SAAS,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,CAAC;AAC7C,SAAA;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC9C;AAED,IAAA,YAAY,CAAC,IAAS,EAAA;QACpB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B,EAAE,CAAC,CAAC,CAAC;KACP;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,KAAK,OAAO;AACpB,cAAE,aAAa;AACf,cAAE,IAAI,CAAC,KAAK,KAAK,MAAM;AACrB,kBAAE,YAAY;kBACZ,EAAE,CAAC;AACX,QAAA,OAAO,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvE;;mHA/DU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,wYCpBlC,krDAkDA,EAAA,MAAA,EAAA,CAAA,mhLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAd,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,8EAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,MAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD9Ba,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,krDAAA,EAAA,MAAA,EAAA,CAAA,mhLAAA,CAAA,EAAA,CAAA;8BAKrB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACmB,UAAU,EAAA,CAAA;sBAAlC,SAAS;uBAAC,YAAY,CAAA;gBACb,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAIE,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGF,cAAc,EAAA,CAAA;sBADjB,WAAW;uBAAC,mBAAmB,CAAA;gBAM5B,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,kBAAkB,CAAA;;;AElCnB,SAAU,QAAQ,CAAC,QAAgB,GAAG,EAAA;;AAElD,IAAA,OAAO,UACL,OAAY,EACZ,YAAoB,EACpB,UAA8B,EAAA;AAE9B,QAAA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;AAE5B,QAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;AAElC,QAAA,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAW,EAAA;;AAEzC,YAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;;YAE/B,IAAI,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;AACzE,SAAC,CAAC;AAEF,QAAA,OAAO,UAAU,CAAC;AACpB,KAAC,CAAC;AACJ;;MCJa,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAOY,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;AACjD,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;KAgBzB;IAdC,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACnC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAChC,QAAA,IAAI,MAAA,OAAO,CAAC,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,SAAA;KACF;AAGD,IAAA,iBAAiB,CAAC,CAAS,EAAA;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChC;;oHAlBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,+JChBnC,ixDA6BA,EAAA,MAAA,EAAA,CAAA,8jBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uCAAA,EAAA,QAAA,EAAA,oDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;ADGE,UAAA,CAAA;AADC,IAAA,QAAQ,EAAE;CAGV,EAAA,sBAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA,CAAA;4FAlBU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,ixDAAA,EAAA,MAAA,EAAA,CAAA,8jBAAA,CAAA,EAAA,CAAA;8BAKtB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAcP,iBAAiB,EAAA,EAAA,EAAA,EAAA,CAAA;;METN,iBAAiB,CAAA;AAW5B,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,WAAA,CAAoB,GAAsB,EAAA;AAAtB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AAdjC,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACZ,QAAA,IAAS,CAAA,SAAA,GAAoB,EAAE,CAAC;;AAE/B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;AAC7C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,QAAA,IAAoB,CAAA,oBAAA,GAA0B,EAAE,CAAC;AACjD,QAAA,IAAkB,CAAA,kBAAA,GAAsB,EAAE,CAAC;AAEpD,QAAA,IAAc,CAAA,cAAA,GAAG,cAAc,CAAC;KAMc;AAE9C,IAAA,iBAAiB,CAAC,KAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB;IAED,aAAa,GAAA;QACX,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACjD;;+GA5BU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,oSCvB9B,wkCAiCA,EAAA,MAAA,EAAA,CAAA,kQAAA,EAAA,g9GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,sBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDVa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,wkCAAA,EAAA,MAAA,EAAA,CAAA,kQAAA,EAAA,g9GAAA,CAAA,EAAA,CAAA;wGAQhB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEI,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACE,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEEK,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAjBvB,iBAAiB;QACjB,qBAAqB;AACrB,QAAA,sBAAsB,aAGtB,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,oBAAoB,aAEZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAZvB,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,cAAc;QACd,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,oBAAoB,CAAA,EAAA,CAAA,CAAA;4FAIX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAnB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,qBAAqB;wBACrB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,kBAAkB;wBAClB,gBAAgB;wBAChB,cAAc;wBACd,cAAc;wBACd,aAAa;wBACb,WAAW;wBACX,mBAAmB;wBACnB,oBAAoB;AACrB,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;iBAC7B,CAAA;;;MCzBY,wBAAwB,CAAA;AAanC,IAAA,WAAA,GAAA;AAZS,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACZ,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AACd,QAAA,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;AACb,QAAA,IAAgB,CAAA,gBAAA,GAAG,CAAC,CAAC;AACrB,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AACd,QAAA,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;AAClB,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;AACxB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAGR,QAAA,IAAA,CAAA,cAAc,GAAsB,IAAI,YAAY,EAAE,CAAC;AACvD,QAAA,IAAA,CAAA,eAAe,GAAsB,IAAI,YAAY,EAAE,CAAC;KAC3D;AAEhB,IAAA,gBAAgB,CAAC,CAAM,EAAA;AACrB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC7B;AACD,IAAA,iBAAiB,CAAC,CAAM,EAAA;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9B;;sHApBU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,saCPrC,w4CAuCA,EAAA,MAAA,EAAA,CAAA,o5KAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAjB,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,cAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhCa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,w4CAAA,EAAA,MAAA,EAAA,CAAA,o5KAAA,CAAA,EAAA,CAAA;0EAKpB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACa,cAAc,EAAA,CAAA;sBAAhC,MAAM;gBACY,eAAe,EAAA,CAAA;sBAAjC,MAAM;;;AEXT,MAAM,UAAU,GAAG,CAAC,wBAAwB,CAAC,CAAC;MAcjC,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAdV,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAIxC,YAAY;QACZ,cAAc;QACd,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,YAAY,aATI,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAc/B,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAV1B,YAAY;QACZ,cAAc;QACd,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAKH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,mBAAmB;wBACnB,WAAW;wBACX,kBAAkB;wBAClB,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;iBACpB,CAAA;;;MCdY,mBAAmB,CAAA;AALhC,IAAA,WAAA,GAAA;AAMW,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AACjB,QAAA,IAAO,CAAA,OAAA,GAAa,EAAE,CAAC;AACvB,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AACrB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU,CAAC;AACxC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;KAmBxC;IAjBC,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAClB,OAAO;AACR,SAAA;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;KACrC;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;QACtB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;YAC3C,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;;iHAvBU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,mMCPhC,+rFA0EA,EAAA,MAAA,EAAA,CAAA,ipBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDnEa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,+rFAAA,EAAA,MAAA,EAAA,CAAA,ipBAAA,CAAA,EAAA,CAAA;8BAKrB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;MEHI,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAJd,YAAA,EAAA,CAAA,mBAAmB,CACxB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAElB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;iBAC/B,CAAA;;;ACDD,MAAM,cAAc,GAA2B;AAC7C,IAAA,OAAO,EAAE,4BAA4B;AACrC,IAAA,IAAI,EAAE,4BAA4B;AAClC,IAAA,KAAK,EAAE,2BAA2B;CACnC,CAAC;MAQW,uBAAuB,CAAA;AASlC,IAAA,WAAA,CAAoB,mBAA0C,EAAA;AAA1C,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAuB;AAFtD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,GAAG,EAA6B,CAAC;KAEK;AAElE,IAAA,gBAAgB,CAAC,IAAyB,EAAA;AACxC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CACpD,IAAI,CAAC,eAAe,EACpB;AACE,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,UAAU,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,IAAI;AACrC,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,MAAM,EAAE,CAAA,UAAA,EACN,cAAc,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,IAAI,CAAC,IAAI,2BAChC,CAAE,CAAA;AACF,gBAAA,SAAS,EAAE,yCAAyC;AACpD,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,OAAO,EAAE,GAAG;AACZ,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,SAAS,EAAE,MAAM;AAClB,aAAA;AACD,YAAA,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,IAAI,CAAC,QAAQ;AAC1B,YAAA,KAAK,EAAE,cAAc;AACtB,SAAA,CACF,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAErD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC5C,SAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;KAC3B;AAED,IAAA,OAAO,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,OAAO,CAAC,IAAyB,EAAA;QAC/B,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IAEO,UAAU,GAAA;QAChB,OAAO,CAAA,gBAAA,EAAmB,IAAI,CAAC,GAAG,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,MAAM,EAAE;aAClD,QAAQ,CAAC,EAAE,CAAC;AACZ,aAAA,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;KACnB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,KAAI;AAC/C,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC5B;;qHAhEU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,kSCnBpC,qmJA2GA,EAAA,MAAA,EAAA,CAAA,24CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDxFa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,qmJAAA,EAAA,MAAA,EAAA,CAAA,24CAAA,CAAA,EAAA,CAAA;8GAI7B,eAAe,EAAA,CAAA;sBADtB,SAAS;gBAAC,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAItC,QAAQ,EAAA,CAAA;sBADf,SAAS;gBAAC,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MEI5B,qBAAqB,CAAA;IAKhC,WACU,CAAA,QAAkB,EAClB,mBAAwC,EAAA;AADxC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;AAJ1C,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAMzB,IAAI,qBAAqB,CAAC,QAAQ,EAAE;YAClC,OAAO,qBAAqB,CAAC,QAAQ,CAAC;AACvC,SAAA;AACD,QAAA,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC;KACvC;IAEO,sBAAsB,GAAA;AAC5B,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;YAC7B,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACjC,gBAAA,OAAO,EAAE,CAAC;gBACV,OAAO;AACR,aAAA;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,MAAM,aAAa,GAAG,WAAW,CAAC,MAAK;oBACrC,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBACrD,aAAa,CAAC,aAAa,CAAC,CAAC;AAC7B,wBAAA,OAAO,EAAE,CAAC;AACX,qBAAA;iBACF,EAAE,EAAE,CAAC,CAAC;gBACP,OAAO;AACR,aAAA;AAED,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI;gBACF,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,wBAAwB,GAAG,eAAe,CAC7C,uBAAuB,EACvB;wBACE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;wBAC7C,eAAe,EAAE,IAAI,CAAC,QAAQ;AAC/B,qBAAA,CACF,CAAC;AAEF,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB;AAC3C,yBAAA,QAAgC,CAAC;oBACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAEvC,IAAI,QAAQ,CAAC,IAAI,EAAE;AACjB,wBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACrC,qBAAA;AAAM,yBAAA;AACL,wBAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;AACjD,4BAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtC,yBAAC,CAAC,CAAC;AACJ,qBAAA;AAED,oBAAA,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAChE,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC;AACZ,iBAAC,CAAC,CAAC;AACJ,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;AACjE,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAEK,IAAA,IAAI,CAAC,IAAyB,EAAA;;;AAClC,YAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAEpC,YAAA,IAAI,MAAA,IAAI,CAAC,wBAAwB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE;gBAC3C,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,wBAAyB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACjE,iBAAC,CAAC,CAAC;AACJ,aAAA;;AACF,KAAA;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACjC,YAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC;AACxC,YAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;AAC3C,SAAA;AACD,QAAA,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC;KACvC;IAED,OAAO,IAAI,CAAC,IAAyB,EAAA;QACnC,UAAU,CAAC,MAAK;AACd,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,OAAO,WAAW,GAAA;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;AAhGc,qBAAQ,CAAA,QAAA,GAAiC,IAAI,CAAC;mHADlD,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCJY,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAoC,YAAmC,EAAA;AACrE,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;AACH,SAAA;KACF;IAED,OAAO,OAAO,CACZ,MAA6B,EAAA;QAE7B,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,SAAS,EAAE;gBACT,qBAAqB;AACrB,gBAAA,IAAI,MAAM;sBACN,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;sBACzD,EAAE,CAAC;AACR,aAAA;SACF,CAAC;KACH;;kHArBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAD5B,YAAY,EAAE,oBAAoB,aAElC,uBAAuB,CAAA,EAAA,CAAA,CAAA;mHAEtB,oBAAoB,EAAA,OAAA,EAAA,CAJrB,YAAY,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;4FAIjC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;oBAC7C,YAAY,EAAE,CAAC,uBAAuB,CAAC;oBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;iBACnC,CAAA;;;8BAEc,QAAQ;;8BAAI,QAAQ;;;;MChBtB,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;AAOW,QAAA,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAC;AAClB,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;KAC/B;;kHAJY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,iICPjC,oXAUA,EAAA,MAAA,EAAA,CAAA,okBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDHa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,oXAAA,EAAA,MAAA,EAAA,CAAA,okBAAA,CAAA,EAAA,CAAA;8BAKlB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;;;MEDK,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAJb,YAAA,EAAA,CAAA,oBAAoB,CACzB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEnB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHlB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC,CAAA;;;MCGqB,uBAAuB,CAAA;AAiB3C,IAAA,WAAA,CACS,gBAA2B,GAAA,EAAE,EAC7B,eAAA,GAAkB,KAAK,EAAA;AADvB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAa;AAC7B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAQ;AAlBzB,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AACf,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAiB,CAAC;AAC3C,QAAA,IAAY,CAAA,YAAA,GAAG,WAAW,CAAC;AAE3B,QAAA,IAAS,CAAA,SAAA,GAAoB,EAAE,CAAC;QAEhC,IAAA,CAAA,gBAAgB,GAAU;AAC/B,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,UAAU,EAAE,CAAC;SACd,CAAC;AAEK,QAAA,IAAc,CAAA,cAAA,GAAwB,EAAE,CAAC;KAK5C;IAEG,cAAc,GAAA;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IAEM,wBAAwB,GAAA;;QAC7B,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnE,QAAA,IAAI,YAAY,EAAE;YAChB,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,GAAG,CAAA,EAAA,GAAA,iBAAiB,CAAC,IAAI,CACrC,CAAC,IAAqB,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAC1D,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,iBAAiB,CAAC,IAAI,CACvD,CAAC,IAAqB,KAAK,IAAI,CAAC,GAAG,KAAK,YAAY,CACrD,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;YACT,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,CAAA,EAAA,GAAA,iBAAiB,CAAC,IAAI,CACrD,CAAC,IAAqB,KAAK,IAAI,CAAC,GAAG,KAAK,UAAU,CACnD,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;AACT,YAAA,IAAI,iBAAiB,CAAC,MAAM,IAAI,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,gBAAA,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAoC,KAAI;oBACjE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC9B,wBAAA,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE;AAC5B,4BAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAC5B,yBAAA;AACH,qBAAC,CAAC,CAAC;AACL,iBAAC,CAAC,CAAC;AACJ,aAAA;AACD,YAAA,OAAO,iBAAiB,CAAC;AAC1B,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;IAEM,8BAA8B,CAAC,aAA+B,EAAE,EAAA;QACrE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YAC9B,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACvD,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QACzE,UAAU,CAAC,IAAI,CAAC;AACd,YAAA,GAAG,EAAE,YAAY;AACjB,YAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU;AACxC,SAAA,CAAC,CAAC;AACH,QAAA,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5E,QAAA,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;KAC3E;IAEM,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU;AACtC,YAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;AACxC,YAAA,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,cAAc;AAC5B,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAClC,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AAEM,IAAA,iBAAiB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AAEM,IAAA,mBAAmB,CAAC,MAA0B,EAAA;AACnD,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI;aAC9B,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC;AAC5B,aAAA,GAAG,CAAC,CAAC,IAAI,MAAM;YACd,EAAE,EAAE,IAAI,CAAC,GAAG;AACZ,YAAA,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK;AAC9C,SAAA,CAAC,CAAC,CAAC;AACN,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU;AACtC,YAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;AACxC,YAAA,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,cAAc;AAC5B,SAAA,CAAC,CAAC;KACJ;IAEM,eAAe,CAAC,UAAkB,EAAE,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;KAC3B;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}