{"version":3,"file":"usitsdasdesign-dds-ng-shared-i18n.mjs","sources":["../../src/app/dds/shared/i18n/en.ts","../../src/app/dds/shared/i18n/utils.ts","../../src/app/dds/shared/i18n/i18n.service.ts","../../src/app/dds/shared/i18n/i18n.pipe.ts","../../src/app/dds/shared/i18n/i18n.module.ts","../../src/app/dds/shared/i18n/usitsdasdesign-dds-ng-shared-i18n.ts"],"sourcesContent":["import { ITranslation } from './typings';\n\nexport const EN: ITranslation = {\n  DATEPICKER: {\n    RESPONSIVE: {\n      APPLY_BTN_TEXT: 'Apply',\n    },\n    A11Y: {\n      CALENDAR_BTN_ARIA_LABEL: 'Choose date',\n      CALENDAR_FILLED_BTN_ARIA_LABEL: 'Change date, {{date}}',\n      CALENDAR_POPUP_ARIA_LABEL: 'Expanded. To select specific date use navigation arrows',\n      PREV_YEAR_BTN_ARIA_LABEL: 'Previous year',\n      NEXT_YEAR_BTN_ARIA_LABEL: 'Next year',\n      YEAR_VALUE_ARIA_LABEL: 'year',\n      CLEAR_BTN_ARIA_LABEL: 'Clear date',\n    },\n  },\n  DATERANGEPICKER: {\n    RESPONSIVE: {\n      APPLY_BTN_TEXT: 'Apply',\n    },\n    A11Y: {\n      CALENDAR_BTN_ARIA_LABEL: 'Choose date',\n      CALENDAR_FILLED_BTN_ARIA_LABEL: 'Change date, {{date}}',\n      CALENDAR_POPUP_ARIA_LABEL: 'Expanded. To select specific date use navigation arrows',\n      CALENDAR_START_ARIA_LABEL: 'Datepicker start navigation',\n      CALENDAR_END_ARIA_LABEL: 'Datepicker end navigation',\n      CLEAR_BTN_ARIA_LABEL: 'Clear date',\n    },\n  },\n  CONTEXT_MENU: {\n    A11Y: {\n      CLOSE_BTN_ARIA_LABEL: 'Close',\n    },\n  },\n  TIMEPICKER: {\n    A11Y: {\n      ARROW_DOWN_ARIA_LABEL: 'Arrow Down change',\n      ARROW_UP_ARIA_LABEL: 'Arrow Up change',\n      OPEN_POPUP_ARIA_LABEL: 'Choose time',\n      POPUP_ARIA_LABEL: 'Choose hour, minutes',\n      CLEAR_BTN_ARIA_LABEL: 'Clear date',\n    },\n    RESPONSIVE: {\n      APPLY_BTN_TEXT: 'Apply',\n    },\n  },\n  BREADCRUMBS: {\n    A11Y: {\n      ARIA_LABEL: 'Breadcrumb',\n      COLLAPSED_BTN_ARIA_LABEL: 'More options',\n    },\n  },\n  COLORPICKER: {\n    CUSTOM_COLOR_LABEL_TEXT: 'Code color',\n    CUSTOM_COLOR_DESCRIPTION_TEXT: 'Select or enter #Hex color code',\n    NO_COLOR_TEXT: 'No color',\n    AUTOMATIC_TEXT: 'Automatic',\n    RECENT_COLOR_TEXT: 'Recent custom colors',\n    APPLE_BTN_TEXT: 'Apply',\n    A11Y: {\n      ARIA_LABEL_CUSTOM_COLOR_FIELD: 'Custom color field (Hex format)',\n      ARIA_LABEL_COLOR_BTN: 'Select color',\n      ARIA_LABEL_ENTER_COLOR: 'Enter color button',\n      ARIA_LABEL_NO_COLOR: 'No color',\n      ARIA_LABEL_APPLY_BTN: 'Apply color',\n      INVALID_COLOR_TEXT: 'Invalid color',\n      VALID_COLOR_TEXT: 'Entered valid color',\n    },\n  },\n  FILTER: {\n    SORTING_TITLE: 'Sorting',\n    SORTING_ASCENDING_TEXT: 'Sort A–Z',\n    SORTING_DESCENDING_TEXT: 'Sort Z–A',\n    FILTER_TITLE: 'Filter',\n    CANCEL_BTN_TEXT: 'Cancel',\n    APPLY_BTN_TEXT: 'Apply',\n    CHECKBOX_LABEL: 'All',\n  },\n  INPUT: {\n    MAX_LIMIT_TEXT: 'Characters limit {{counter}} symbols',\n  },\n  NUMBER_INPUT: {\n    A11Y: {\n      UP_ARROW_ARIA_LABEL: 'Arrow up',\n      DOWN_ARROW_ARIA_LABEL: 'Arrow down',\n      MIN_VALUE_ARIA_DESCRIPTION: 'min value of',\n      MAX_VALUE_ARIA_DESCRIPTION: 'max value of',\n    },\n  },\n  SUGGESTION_TAGS_INPUT: {\n    A11Y: {\n      POPUP_ARIA_LABEL: 'Context menu for Input with suggestions',\n    },\n  },\n  SELECT: {\n    A11Y: {\n      POPUP_ARIA_LABEL: 'Context menu for Select\"',\n    },\n  },\n  MULTISELECT: {\n    A11Y: {\n      POPUP_ARIA_LABEL: 'Context menu for Multi select',\n    },\n    RESPONSIVE: {\n      CLEAR_BTN_TEXT: 'Clear selection',\n      APPLY_BTN_TEXT: 'Apply',\n    },\n  },\n  PROGRESS: {\n    A11Y: {\n      ARIA_LABEL: 'Progress',\n    },\n  },\n  PAGER: {\n    A11Y: {\n      INPUT_ARIA_LABEL: 'Page number',\n    },\n  },\n  PAGINATION: {\n    PREV_BTN_TEXT: 'Previous',\n    NEXT_BTN_TEXT: 'Next',\n    A11Y: {\n      PREV_BTN_ARIA_LABEL: 'Navigate to previous page',\n      NEXT_BTN_ARIA_LABEL: 'Navigate to next page',\n      BTN_ARIA_LABEL: 'Page',\n      ELLIPSIS_BTN_ARIA_LABEL: 'More. Non-clickable',\n    },\n    RESPONSIVE: {\n      PAGES_TEXT: 'Page {{page}} of ',\n    },\n  },\n  RICH_TEXT_EDITOR: {\n    A11Y: {\n      TOOLBAR_ARIA_LABEL: 'Text Formatting',\n      COLLAPSED_BTN_ARIA_LABEL: 'More actions',\n      INPUT_LINK_ARIA_LABEL: 'Enter URL',\n      CANCEL_LINK_LABEL: 'Cancel',\n      APPLY_LINK_LABEL: 'Apply',\n      EDIT_LINK_LABEL: 'Edit link',\n      UNLINK_LINK_LABEL: 'Unlink',\n      POPUP_ARIA_LABEL: 'Context menu for Rich Text Editor',\n    },\n  },\n  SPINNER: {\n    A11Y: {\n      ARIA_LABEL: 'Loading',\n    },\n  },\n  TAG: {\n    A11Y: {\n      CLOSE_BTN_ARIA_LABEL: 'Delete',\n    },\n  },\n  SEARCH: {\n    A11Y: {\n      CLEAR_BTN_ARIA_LABEL: 'Clear search input',\n    },\n  },\n  TEXTAREA: {\n    MAX_LIMIT_TEXT: 'Characters limit {{counter}} symbols',\n  },\n  WIZARD: {\n    A11Y: {\n      ARIA_LABEL: 'Progress',\n    },\n  },\n  TABS: {\n    A11Y: {\n      POPUP_ARIA_LABEL: 'Context menu for Tabs',\n    },\n  },\n  UPLOADER: {\n    DRAG_AND_DROP_TEXT: 'Drag and Drop here or',\n    REFRESH_BTN_TEXT: 'Try again',\n    ERROR_MAX_SIZE: 'Maximum upload file size',\n    MAX_FILES_ERROR_TEXT: 'Maximum number of files exceeded',\n    SPECIAL_SYMBOLS_ERROR_TEXT: 'Please, rename the file. The name must not contain special symbols',\n    FILE_TYPE_ERROR_TEXT: 'File type is not supported',\n    NO_FILE_TYPE_ERROR_TEXT: 'File has no file type',\n    MAX_TOTAL_SIZE_ERROR_TEXT: 'File upload error. The total file size must not exceed {{number}} MB',\n    NAME_LENGTH_ERROR_TEXT: 'Please, rename the file. The name length must not exceed {{number}} characters',\n    DUPLICATE_ERROR_TEXT: 'It is impossible to upload the same file \"{{filename}}\"',\n    EXTENSION_ERROR_TEXT: 'Invalid file extension for \"{{filename}}\"',\n    A11Y: {\n      DOWNLOAD_ARIA_LABEL: 'Download the file {{filename}}',\n      REMOVE_ARIA_LABEL: 'Remove the file {{filename}}',\n    },\n  },\n  HEADER: {\n    A11Y: {\n      HEADER_ARIA_LABEL: 'Header navigation panel',\n      ADDITIONAL_NAV_ARIA_LABEL: 'User quick links',\n      BTN_NAV_OPEN_ARIA_LABEL: 'Open navigation',\n      BTN_NAV_CLOSE_ARIA_LABEL: 'Close navigation',\n      BTN_SEARCH_OPEN_ARIA_LABEL: 'Open search',\n      BTN_ADDITIONAL_NAV_OPEN_ARIA_LABEL: 'Show all links',\n    },\n  },\n  PROFILE: {\n    A11Y: {\n      CONTENT_ARIA_LABEL: 'Expanded. User settings',\n    },\n  },\n  LIST: {\n    A11Y: {\n      LIST_ARIA_LABEL: 'List of items',\n      LIST_ITEM_BTN_ARIA_LABEL: 'List item',\n    },\n  },\n  LISTBOX: {\n    EMPTY_STATE_TEXT: 'Add item here',\n    A11Y: {\n      SOURCE_AREA_ARIA_LABEL: 'Area source',\n      DESTINATION_AREA_ARIA_LABEL: 'Area destination',\n      ADD_BTN_ARIA_LABEL: 'Add button. Press Enter/Spacebar to navigate selected items to the area destination',\n      REMOVE_BTN_ARIA_LABEL: 'Remove button. Press Enter/Spacebar to navigate selected items to the area source',\n      MENU_ARIA_DESCRIPTION: 'To move through items press up/right or down/left arrow',\n      ITEM_ARIA_LABEL: 'Press the Spacebar/Enter to select an item',\n    },\n  },\n};\n","type GenericObject = Record<string, any>;\n\nexport const merge = (target: GenericObject, ...objects: GenericObject[]) => {\n  for (const object of objects) {\n    for (const key in object) {\n      if (object.hasOwnProperty(key)) {\n        if (object[key] instanceof Object) {\n          if (!target[key]) {\n            target[key] = {};\n          }\n          target[key] = merge(target[key], object[key]);\n        } else {\n          target[key] = object[key];\n        }\n      }\n    }\n  }\n  return target;\n};\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { EN } from './en';\nimport { ITranslation } from './typings';\nimport { merge } from './utils';\n\n@Injectable({ providedIn: 'root' })\nexport class I18nService {\n  /**\n   * BehaviorSubject to hold the current translations.\n   */\n  private translations = new BehaviorSubject<ITranslation>(EN);\n\n  /**\n   * BehaviorSubject to hold the current locale.\n   */\n  private locale = new BehaviorSubject<string>('en');\n\n  /**\n   * Sets the current locale and optionally updates the translations.\n   */\n  public setLocale(language: string, strings?: ITranslation): void {\n    this.locale.next(language);\n    if (strings) {\n      this.set(strings);\n    }\n  }\n\n  /**\n   * Gets the current locale.\n   */\n  public getLocale(): string {\n    return this.locale.value;\n  }\n\n  /**\n   * Gets an observable of the current locale.\n   */\n  public getLocaleObs(): Observable<string> {\n    return this.locale.asObservable();\n  }\n\n  /**\n   * Gets the current translations.\n   */\n  public getTranslation(): ITranslation {\n    return this.translations.value;\n  }\n\n  /**\n   * Gets an observable of the current translations.\n   */\n  public getTranslationObs(): Observable<ITranslation> {\n    return this.translations.asObservable();\n  }\n\n  /**\n   * Joins a value into a string, splitting the string by a separator and inserting the value between the split parts.\n   */\n  public joinByValue(value: string, separator: string, string: string): string {\n    const splitedString = this.splitByValue(separator, string);\n    return `${splitedString[0]} ${value} ${splitedString[1]}`;\n  }\n\n  /**\n   * Splits a string by a given separator.\n   */\n  public splitByValue(separator: string, string: string): string[] {\n    return string.split(separator);\n  }\n\n  /**\n   * Updates the current translations.\n   */\n  private set(strings: ITranslation): void {\n    this.translations.next(merge({}, EN, strings));\n  }\n}\n","import { DatePipe } from '@angular/common';\nimport { Inject, LOCALE_ID, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { I18nService } from './i18n.service';\n\n@Pipe({\n  name: 'i18nDate',\n  pure: false,\n  standalone: true\n})\nexport class I18nDatePipe implements OnDestroy, PipeTransform {\n  // Caches the transformed date string.\n  private cache: string;\n\n  // Subject to handle the unsubscription of observables.\n  private destroy = new Subject<void>();\n\n  // Stores the locale provided by the I18nService.\n  private localeByService: string;\n\n  // The locale ID injected by Angular.\n  // The I18nService to get the locale observable.\n  constructor(@Inject(LOCALE_ID) public locale: string, private i18n: I18nService) {\n    this.i18n\n      .getLocaleObs()\n      .pipe(takeUntil(this.destroy))\n      .subscribe((lang: string) => {\n        this.localeByService = lang;\n        this.cache = '';\n      });\n  }\n\n  // Transforms the input date based on the provided format, timezone, and locale.\n  // @param {Date | string | number} value - The date value to be transformed.\n  // @param {string} [format] - The date format to be used.\n  // @param {string} [timezone] - The timezone to be used.\n  // @param {string} [locale] - The locale to be used. If not provided, the locale from the I18nService is used.\n  transform(value: Date | string | number, format?: string, timezone?: string, locale?: string): string | null {\n    this.cache = new DatePipe(this.locale).transform(value, format, timezone, locale ? locale : this.localeByService)!;\n\n    return this.cache;\n  }\n\n  // Cleans up the resources when the pipe is destroyed.\n  ngOnDestroy(): void {\n    this.destroy.next();\n    this.destroy.complete();\n  }\n}\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\nimport { I18nDatePipe } from './i18n.pipe';\nimport { I18nService } from './i18n.service';\n\nexport function I18N_SERVICE_PROVIDER_FACTORY(parentService: I18nService) {\n  return parentService || new I18nService();\n}\n\nexport const I18N_SERVICE_PROVIDER = {\n  provide: I18nService,\n  deps: [[new Optional(), new SkipSelf(), I18nService]],\n  useFactory: I18N_SERVICE_PROVIDER_FACTORY,\n};\n\n@NgModule({\n  declarations: [],\n  imports: [I18nDatePipe],\n  exports: [I18nDatePipe],\n  providers: [I18nService, I18N_SERVICE_PROVIDER],\n})\nexport class I18nModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.I18nService"],"mappings":";;;;;;AAEO,MAAM,EAAE,GAAiB;AAC9B,IAAA,UAAU,EAAE;AACV,QAAA,UAAU,EAAE;AACV,YAAA,cAAc,EAAE,OAAO;AACxB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,uBAAuB,EAAE,aAAa;AACtC,YAAA,8BAA8B,EAAE,uBAAuB;AACvD,YAAA,yBAAyB,EAAE,yDAAyD;AACpF,YAAA,wBAAwB,EAAE,eAAe;AACzC,YAAA,wBAAwB,EAAE,WAAW;AACrC,YAAA,qBAAqB,EAAE,MAAM;AAC7B,YAAA,oBAAoB,EAAE,YAAY;AACnC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,UAAU,EAAE;AACV,YAAA,cAAc,EAAE,OAAO;AACxB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,uBAAuB,EAAE,aAAa;AACtC,YAAA,8BAA8B,EAAE,uBAAuB;AACvD,YAAA,yBAAyB,EAAE,yDAAyD;AACpF,YAAA,yBAAyB,EAAE,6BAA6B;AACxD,YAAA,uBAAuB,EAAE,2BAA2B;AACpD,YAAA,oBAAoB,EAAE,YAAY;AACnC,SAAA;AACF,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE;AACJ,YAAA,oBAAoB,EAAE,OAAO;AAC9B,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,IAAI,EAAE;AACJ,YAAA,qBAAqB,EAAE,mBAAmB;AAC1C,YAAA,mBAAmB,EAAE,iBAAiB;AACtC,YAAA,qBAAqB,EAAE,aAAa;AACpC,YAAA,gBAAgB,EAAE,sBAAsB;AACxC,YAAA,oBAAoB,EAAE,YAAY;AACnC,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,cAAc,EAAE,OAAO;AACxB,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE;AACJ,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,wBAAwB,EAAE,cAAc;AACzC,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,uBAAuB,EAAE,YAAY;AACrC,QAAA,6BAA6B,EAAE,iCAAiC;AAChE,QAAA,aAAa,EAAE,UAAU;AACzB,QAAA,cAAc,EAAE,WAAW;AAC3B,QAAA,iBAAiB,EAAE,sBAAsB;AACzC,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,IAAI,EAAE;AACJ,YAAA,6BAA6B,EAAE,iCAAiC;AAChE,YAAA,oBAAoB,EAAE,cAAc;AACpC,YAAA,sBAAsB,EAAE,oBAAoB;AAC5C,YAAA,mBAAmB,EAAE,UAAU;AAC/B,YAAA,oBAAoB,EAAE,aAAa;AACnC,YAAA,kBAAkB,EAAE,eAAe;AACnC,YAAA,gBAAgB,EAAE,qBAAqB;AACxC,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,aAAa,EAAE,SAAS;AACxB,QAAA,sBAAsB,EAAE,UAAU;AAClC,QAAA,uBAAuB,EAAE,UAAU;AACnC,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,eAAe,EAAE,QAAQ;AACzB,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,cAAc,EAAE,KAAK;AACtB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,cAAc,EAAE,sCAAsC;AACvD,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE;AACJ,YAAA,mBAAmB,EAAE,UAAU;AAC/B,YAAA,qBAAqB,EAAE,YAAY;AACnC,YAAA,0BAA0B,EAAE,cAAc;AAC1C,YAAA,0BAA0B,EAAE,cAAc;AAC3C,SAAA;AACF,KAAA;AACD,IAAA,qBAAqB,EAAE;AACrB,QAAA,IAAI,EAAE;AACJ,YAAA,gBAAgB,EAAE,yCAAyC;AAC5D,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE;AACJ,YAAA,gBAAgB,EAAE,0BAA0B;AAC7C,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE;AACJ,YAAA,gBAAgB,EAAE,+BAA+B;AAClD,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,cAAc,EAAE,OAAO;AACxB,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE;AACJ,YAAA,gBAAgB,EAAE,aAAa;AAChC,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,aAAa,EAAE,UAAU;AACzB,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,IAAI,EAAE;AACJ,YAAA,mBAAmB,EAAE,2BAA2B;AAChD,YAAA,mBAAmB,EAAE,uBAAuB;AAC5C,YAAA,cAAc,EAAE,MAAM;AACtB,YAAA,uBAAuB,EAAE,qBAAqB;AAC/C,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,UAAU,EAAE,mBAAmB;AAChC,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA,IAAI,EAAE;AACJ,YAAA,kBAAkB,EAAE,iBAAiB;AACrC,YAAA,wBAAwB,EAAE,cAAc;AACxC,YAAA,qBAAqB,EAAE,WAAW;AAClC,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,YAAA,gBAAgB,EAAE,OAAO;AACzB,YAAA,eAAe,EAAE,WAAW;AAC5B,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,YAAA,gBAAgB,EAAE,mCAAmC;AACtD,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE;AACJ,YAAA,UAAU,EAAE,SAAS;AACtB,SAAA;AACF,KAAA;AACD,IAAA,GAAG,EAAE;AACH,QAAA,IAAI,EAAE;AACJ,YAAA,oBAAoB,EAAE,QAAQ;AAC/B,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE;AACJ,YAAA,oBAAoB,EAAE,oBAAoB;AAC3C,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,cAAc,EAAE,sCAAsC;AACvD,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE;AACJ,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA;AACF,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE;AACJ,YAAA,gBAAgB,EAAE,uBAAuB;AAC1C,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,kBAAkB,EAAE,uBAAuB;AAC3C,QAAA,gBAAgB,EAAE,WAAW;AAC7B,QAAA,cAAc,EAAE,0BAA0B;AAC1C,QAAA,oBAAoB,EAAE,kCAAkC;AACxD,QAAA,0BAA0B,EAAE,oEAAoE;AAChG,QAAA,oBAAoB,EAAE,4BAA4B;AAClD,QAAA,uBAAuB,EAAE,uBAAuB;AAChD,QAAA,yBAAyB,EAAE,sEAAsE;AACjG,QAAA,sBAAsB,EAAE,gFAAgF;AACxG,QAAA,oBAAoB,EAAE,yDAAyD;AAC/E,QAAA,oBAAoB,EAAE,2CAA2C;AACjE,QAAA,IAAI,EAAE;AACJ,YAAA,mBAAmB,EAAE,gCAAgC;AACrD,YAAA,iBAAiB,EAAE,8BAA8B;AAClD,SAAA;AACF,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE;AACJ,YAAA,iBAAiB,EAAE,yBAAyB;AAC5C,YAAA,yBAAyB,EAAE,kBAAkB;AAC7C,YAAA,uBAAuB,EAAE,iBAAiB;AAC1C,YAAA,wBAAwB,EAAE,kBAAkB;AAC5C,YAAA,0BAA0B,EAAE,aAAa;AACzC,YAAA,kCAAkC,EAAE,gBAAgB;AACrD,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE;AACJ,YAAA,kBAAkB,EAAE,yBAAyB;AAC9C,SAAA;AACF,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE;AACJ,YAAA,eAAe,EAAE,eAAe;AAChC,YAAA,wBAAwB,EAAE,WAAW;AACtC,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,gBAAgB,EAAE,eAAe;AACjC,QAAA,IAAI,EAAE;AACJ,YAAA,sBAAsB,EAAE,aAAa;AACrC,YAAA,2BAA2B,EAAE,kBAAkB;AAC/C,YAAA,kBAAkB,EAAE,qFAAqF;AACzG,YAAA,qBAAqB,EAAE,mFAAmF;AAC1G,YAAA,qBAAqB,EAAE,yDAAyD;AAChF,YAAA,eAAe,EAAE,4CAA4C;AAC9D,SAAA;AACF,KAAA;;;AC1NI,MAAM,KAAK,GAAG,CAAC,MAAqB,EAAE,GAAG,OAAwB,KAAI;AAC1E,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC5B,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACxB,YAAA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC9B,gBAAA,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,MAAM,EAAE;AACjC,oBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AAChB,wBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBAClB;AACA,oBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/C;qBAAO;oBACL,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC3B;YACF;QACF;IACF;AACA,IAAA,OAAO,MAAM;AACf,CAAC;;MCXY,WAAW,CAAA;AADxB,IAAA,WAAA,GAAA;AAEE;;AAEG;AACK,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAe,EAAE,CAAC;AAE5D;;AAEG;AACK,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAS,IAAI,CAAC;AA6DnD,IAAA;AA3DC;;AAEG;IACI,SAAS,CAAC,QAAgB,EAAE,OAAsB,EAAA;AACvD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1B,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QACnB;IACF;AAEA;;AAEG;IACI,SAAS,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK;IAC1B;AAEA;;AAEG;IACI,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;IACnC;AAEA;;AAEG;IACI,cAAc,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK;IAChC;AAEA;;AAEG;IACI,iBAAiB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;IACzC;AAEA;;AAEG;AACI,IAAA,WAAW,CAAC,KAAa,EAAE,SAAiB,EAAE,MAAc,EAAA;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC;AAC1D,QAAA,OAAO,CAAA,EAAG,aAAa,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,aAAa,CAAC,CAAC,CAAC,EAAE;IAC3D;AAEA;;AAEG;IACI,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAA;AACnD,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC;AAEA;;AAEG;AACK,IAAA,GAAG,CAAC,OAAqB,EAAA;AAC/B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD;8GArEW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cADE,MAAM,EAAA,CAAA,CAAA;;2FACnB,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCKrB,YAAY,CAAA;;;IAYvB,WAAA,CAAsC,MAAc,EAAU,IAAiB,EAAA;QAAzC,IAAA,CAAA,MAAM,GAAN,MAAM;QAAkB,IAAA,CAAA,IAAI,GAAJ,IAAI;;AAP1D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ;AAQnC,QAAA,IAAI,CAAC;AACF,aAAA,YAAY;AACZ,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5B,aAAA,SAAS,CAAC,CAAC,IAAY,KAAI;AAC1B,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACjB,QAAA,CAAC,CAAC;IACN;;;;;;AAOA,IAAA,SAAS,CAAC,KAA6B,EAAE,MAAe,EAAE,QAAiB,EAAE,MAAe,EAAA;AAC1F,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,eAAe,CAAE;QAElH,OAAO,IAAI,CAAC,KAAK;IACnB;;IAGA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;IACzB;AArCW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBAYH,SAAS,EAAA,EAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAZlB,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BAac,MAAM;2BAAC,SAAS;;;ACnBzB,SAAU,6BAA6B,CAAC,aAA0B,EAAA;AACtE,IAAA,OAAO,aAAa,IAAI,IAAI,WAAW,EAAE;AAC3C;AAEO,MAAM,qBAAqB,GAAG;AACnC,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;AACrD,IAAA,UAAU,EAAE,6BAA6B;;MAS9B,UAAU,CAAA;8GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAV,UAAU,EAAA,OAAA,EAAA,CAJX,YAAY,CAAA,EAAA,OAAA,EAAA,CACZ,YAAY,CAAA,EAAA,CAAA,CAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,EAAA,SAAA,EAFV,CAAC,WAAW,EAAE,qBAAqB,CAAC,EAAA,CAAA,CAAA;;2FAEpC,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,SAAS,EAAE,CAAC,WAAW,EAAE,qBAAqB,CAAC;AAChD,iBAAA;;;ACnBD;;AAEG;;;;"}