{"version":3,"file":"w2p-ui-kit.mjs","sources":["../../../projects/kit/components/button/button.ts","../../../projects/kit/components/button/button.html","../../../projects/kit/components/action-button/action-button.ts","../../../projects/kit/components/action-button/action-button.html","../../../projects/kit/components/input/input.ts","../../../projects/kit/components/input/input.html","../../../projects/kit/components/loader/loader.ts","../../../projects/kit/components/loader/loader.html","../../../projects/kit/components/color-alert/color-alert.ts","../../../projects/kit/components/color-alert/color-alert.html","../../../projects/kit/components/otp-input/otp-input.ts","../../../projects/kit/components/otp-input/otp-input.html","../../../projects/kit/components/label/label.ts","../../../projects/kit/components/label/label.html","../../../projects/kit/components/avatar/avatar.colors.ts","../../../projects/kit/components/avatar/progressive-image.directive.ts","../../../projects/kit/components/avatar/avatar.ts","../../../projects/kit/components/avatar/avatar.html","../../../projects/kit/components/swipe-confirm/swipe-confirm.ts","../../../projects/kit/components/swipe-confirm/swipe-confirm.html","../../../projects/kit/components/skeleton/skeleton.ts","../../../projects/kit/components/skeleton/skeleton.html","../../../projects/kit/components/color-alert-big/color-alert-big.ts","../../../projects/kit/components/color-alert-big/color-alert-big.html","../../../projects/kit/w2p-ui-kit.ts"],"sourcesContent":["import { Component, computed, input, output } from '@angular/core';\nimport { NavArrowIconComponent } from '@w2p-ui/icons';\n\n@Component({\n  selector: 'w2p-button',\n  imports: [NavArrowIconComponent],\n  templateUrl: './button.html',\n  styleUrls: ['./button.scss', './variants.scss'],\n})\nexport class W2pButton {\n  public readonly onClick = output<void>();\n  public readonly variant = input<'primary' | 'neutral'>('primary');\n  public readonly disabled = input<boolean>(false);\n\n  protected readonly classes = computed((): string => {\n    return `button--${this.variant()}`;\n  });\n}\n","<button [disabled]=\"disabled()\" [class]=\"'button ' + classes()\" (click)=\"onClick.emit()\">\n  <div class=\"button__icon\">\n    <ng-content select=\"[icon]\"></ng-content>\n  </div>\n\n  <div class=\"button__separator\"></div>\n\n  <div class=\"button__text\">\n    <p><ng-content select=\"[label]\"></ng-content></p>\n    <span> <ng-content select=\"[description]\"></ng-content>\n    </span>\n  </div>\n\n  <div class=\"button__action\">\n    <div class=\"button__action-icon\">\n      <w2p-ui-icon-nav-arrow></w2p-ui-icon-nav-arrow>\n    </div>\n  </div>\n</button>","import { Component, output, input, computed } from '@angular/core';\n\n@Component({\n  selector: 'w2p-action-button',\n  imports: [],\n  templateUrl: './action-button.html',\n  styleUrls: ['./action-button.scss', './variants.scss'],\n})\nexport class W2pActionButton {\n  public readonly onClick = output<void>();\n  public readonly variant = input<'primary' | 'neutral' | 'critical' | 'ghost'>('primary');\n  public readonly disabled = input<boolean>(false);\n\n  protected readonly classes = computed((): string => {\n    return `action-button--${this.variant()}`;\n  });\n}\n","<button [disabled]=\"disabled()\" [class]=\"'action-button ' + classes()\" (click)=\"onClick.emit()\">\n  <div class=\"action-button__icon\">\n    <ng-content select=\"[icon]\"></ng-content>\n  </div>\n\n  <ng-content></ng-content>\n</button>","import {\n  afterNextRender,\n  Component,\n  effect,\n  ElementRef,\n  forwardRef,\n  input,\n  signal,\n  viewChild,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EyeClosedIconComponent, InfoIconComponent, ViewIconComponent } from '@w2p-ui/icons';\n\n@Component({\n  selector: 'w2p-input',\n  imports: [InfoIconComponent, ViewIconComponent, EyeClosedIconComponent],\n  templateUrl: './input.html',\n  styleUrls: ['./input.scss', './variants.scss'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => W2pInput),\n      multi: true,\n    },\n  ],\n})\nexport class W2pInput {\n  // сигнальный ViewChild\n  public readonly inputRef = viewChild<ElementRef<HTMLInputElement>>('inputRef');\n\n  public readonly picture = input<string>('');\n  public readonly type = input<string>('text');\n  public readonly trim = input<boolean>(true);\n  public readonly inputMode = input<string>('text');\n  public readonly placeholder = input<string>('');\n  public readonly autofocus = input<boolean>(false);\n  public readonly disabledInput = input<boolean>(false);\n  public readonly invalid = input<boolean>(false, { alias: 'invalid' });\n\n  // состояние теперь в сигналах\n  public readonly value = signal<string>('');\n  public readonly disabled = signal<boolean>(false);\n  public readonly typeToggling = signal<string>('');\n\n  private onChange: (value: any) => void = () => {};\n  private onTouched: () => void = () => {};\n\n  constructor() {\n    // замена ngAfterViewInit + setTimeout\n    afterNextRender(() => {\n      if (this.autofocus()) {\n        this.inputRef()?.nativeElement.focus();\n      }\n    });\n\n    effect(() => {\n      this.disabled.set(this.disabledInput());\n    });\n\n    effect(() => {\n      this.typeToggling.set(this.type());\n    });\n  }\n\n  protected toggleType(): void {\n    if (this.type() !== 'password') return;\n\n    this.typeToggling.update((prev) => (prev === 'password' ? 'text' : this.type()));\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.set(isDisabled);\n  }\n\n  onInput(event: Event): void {\n    const input = event.target as HTMLInputElement;\n    const value = this.trim() ? input.value.replace(/^\\s+|\\s+$/, '') : input.value;\n\n    if (value !== input.value) {\n      input.value = value;\n    }\n    this.value.set(input.value);\n    this.onChange(this.value()); // уведомляем Angular\n  }\n\n  writeValue(obj: string): void {\n    this.value.set(obj ?? '');\n  }\n\n  onBlur(): void {\n    this.onTouched();\n  }\n}\n","<div\n  class=\"input-wrap\"\n  [class.input-wrap--disabled]=\"disabled()\"\n  [class.input-wrap--invalid]=\"invalid()\"\n>\n  <input\n    #inputRef\n    class=\"input-wrap__input\"\n    [type]=\"typeToggling()\"\n    [placeholder]=\"placeholder()\"\n    [disabled]=\"disabled()\"\n    [value]=\"value()\"\n    (input)=\"onInput($event)\"\n    (blur)=\"onBlur()\"\n    [inputMode]=\"inputMode()\"\n    autocomplete=\"off\"\n    autocorrect=\"off\"\n    autocapitalize=\"off\"\n    spellcheck=\"false\"\n  />\n  <div class=\"input-wrap__icon\" (click)=\"toggleType()\">\n    @if (invalid()) {\n      <w2p-ui-icon-info></w2p-ui-icon-info>\n    } @else if (type() === 'password') {\n      <button>\n        @if (typeToggling() === 'password') {\n          <w2p-ui-icon-eye-closed></w2p-ui-icon-eye-closed>\n        } @else {\n          <w2p-ui-icon-view></w2p-ui-icon-view>\n        }\n      </button>\n    } @else {\n      <ng-content icon></ng-content>\n    }\n  </div>\n</div>\n","import { Component } from '@angular/core';\nimport { LoaderIconComponent } from '@w2p-ui/icons';\n\n@Component({\n  selector: 'w2p-loader',\n  imports: [LoaderIconComponent],\n  templateUrl: './loader.html',\n  styleUrls: ['./loader.scss'],\n})\nexport class W2pLoader {}\n","<div class=\"loader\">\n  <w2p-ui-icon-loader></w2p-ui-icon-loader>\n</div>\n","import { Component, computed, input } from '@angular/core';\nimport { InfoIconComponent, SuccessIconComponent } from '@w2p-ui/icons';\n\nexport type W2pColorAlertVarinat = 'success' | 'info' | 'warning' | 'error' | 'warning' | 'default';\n\n@Component({\n  selector: 'w2p-color-alert',\n  imports: [InfoIconComponent, SuccessIconComponent],\n  templateUrl: './color-alert.html',\n  styleUrls: ['./color-alert.scss', './variants.scss'],\n})\nexport class W2pColorAlert {\n  public readonly label = input.required<string>();\n  public readonly variant = input<W2pColorAlertVarinat>('default');\n\n  protected readonly classes = computed((): string => {\n    return `color-alert--${this.variant()}`;\n  });\n}\n","<div [class]=\"`color-alert ${classes()}`\">\n  <div class=\"color-alert__icon\">\n    @switch (variant()) {\n      @case ('default') {\n        <ng-content select=\"[icon]\"></ng-content>\n      }\n      @case ('error') {\n        <w2p-ui-icon-info></w2p-ui-icon-info>\n      }\n      @case ('success') {\n        <w2p-ui-icon-success></w2p-ui-icon-success>\n      }\n      @case ('warning') {\n        <w2p-ui-icon-info></w2p-ui-icon-info>\n      }\n      @case ('info') {\n        <w2p-ui-icon-info></w2p-ui-icon-info>\n      }\n    }\n  </div>\n\n  <p>{{ label() }}</p>\n\n  <ng-content></ng-content>\n</div>\n","import {\n  afterNextRender,\n  Component,\n  effect,\n  ElementRef,\n  inject,\n  input,\n  output,\n  signal,\n  viewChildren,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { toSignal } from '@angular/core/rxjs-interop';\n\n@Component({\n  selector: 'w2p-otp-input',\n  imports: [],\n  templateUrl: './otp-input.html',\n  styleUrls: ['./otp-input.scss'],\n})\nexport class W2pOtpInput {\n  // сколько ячеек (длина кода)\n  public readonly length = input<number>(4);\n  public readonly disabledInput = input<boolean>(false);\n  public readonly invalidInput = input<boolean>(false);\n  public readonly autofocus = input<boolean>(false);\n\n  // эмитим, когда код полностью введён\n  public readonly complete = output<string>();\n\n  public readonly cells = viewChildren<ElementRef<HTMLInputElement>>('cellRef');\n\n  // массив введённых символов по ячейкам\n  public readonly digits = signal<string[]>([]);\n  public readonly disabled = signal<boolean>(false);\n  public readonly invalid = signal<boolean>(false);\n\n  private readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n  private readonly controlStatus = this.ngControl?.statusChanges\n    ? toSignal(this.ngControl.statusChanges, { initialValue: this.ngControl.status })\n    : signal(null);\n\n  private onChange: (value: string) => void = () => {};\n  private onTouched: () => void = () => {};\n\n  constructor() {\n    if (this.ngControl) {\n      this.ngControl.valueAccessor = this;\n    }\n\n    // пересоздаём массив ячеек при изменении length\n    effect(() => {\n      const len = this.length();\n      const current = this.digits();\n      if (current.length !== len) {\n        const next = Array.from({ length: len }, (_, i) => current[i] ?? '');\n        this.digits.set(next);\n      }\n    });\n\n    effect(() => {\n      this.disabled.set(this.disabledInput());\n    });\n\n    effect(() => {\n      this.controlStatus();\n      const manualInvalid = this.invalidInput();\n      const controlInvalid = !!(\n        this.ngControl?.invalid &&\n        (this.ngControl?.touched || this.ngControl?.dirty)\n      );\n      this.invalid.set(manualInvalid || controlInvalid);\n    });\n\n    afterNextRender(() => {\n      if (this.autofocus()) {\n        this.cells()[0]?.nativeElement.focus();\n      }\n    });\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.set(isDisabled);\n  }\n\n  public setInvalid(isInvalid: boolean): void {\n    this.invalid.set(isInvalid);\n  }\n\n  writeValue(obj: string): void {\n    const value = obj ?? '';\n    const len = this.length();\n    this.digits.set(Array.from({ length: len }, (_, i) => value[i] ?? ''));\n  }\n\n  onInput(event: Event, index: number): void {\n    const input = event.target as HTMLInputElement;\n    // берём только последний введённый символ, только цифра\n    const raw = input.value.replace(/\\D/g, '');\n    const char = raw.slice(-1);\n\n    const next = [...this.digits()];\n    next[index] = char;\n    this.digits.set(next);\n    input.value = char;\n\n    if (char && index < this.length() - 1) {\n      this.focusCell(index + 1);\n    }\n\n    this.emitValue();\n  }\n\n  onKeydown(event: KeyboardEvent, index: number): void {\n    const input = event.target as HTMLInputElement;\n\n    if (event.key === 'Backspace') {\n      if (!input.value && index > 0) {\n        event.preventDefault();\n        const next = [...this.digits()];\n        next[index - 1] = '';\n        this.digits.set(next);\n        this.focusCell(index - 1);\n        this.emitValue();\n      }\n      return;\n    }\n\n    if (event.key === 'ArrowLeft' && index > 0) {\n      event.preventDefault();\n      this.focusCell(index - 1);\n      return;\n    }\n\n    if (event.key === 'ArrowRight' && index < this.length() - 1) {\n      event.preventDefault();\n      this.focusCell(index + 1);\n      return;\n    }\n  }\n\n  onPaste(event: ClipboardEvent, index: number): void {\n    event.preventDefault();\n    const pasted = event.clipboardData?.getData('text').replace(/\\D/g, '') ?? '';\n    if (!pasted) return;\n\n    const next = [...this.digits()];\n    let cursor = index;\n    for (const char of pasted) {\n      if (cursor >= this.length()) break;\n      next[cursor] = char;\n      cursor++;\n    }\n    this.digits.set(next);\n    this.emitValue();\n\n    const focusIndex = Math.min(cursor, this.length() - 1);\n    this.focusCell(focusIndex);\n  }\n\n  public reset(): void {\n    const len = this.length();\n    this.digits.set(Array.from({ length: len }, () => ''));\n    this.invalid.set(false);\n    this.onChange('');\n    this.focusCell(0);\n  }\n\n  onBlur(): void {\n    this.onTouched();\n  }\n\n  private focusCell(index: number): void {\n    // ячейки перерисуются после сигнала, откладываем фокус на следующий тик\n    setTimeout(() => this.cells()[index]?.nativeElement.focus(), 0);\n  }\n\n  private emitValue(): void {\n    const digitsArr = this.digits();\n    const value = digitsArr.join('');\n    this.onChange(value);\n\n    const isComplete = digitsArr.length === this.length() && digitsArr.every((d) => d !== '');\n\n    if (isComplete) {\n      this.complete.emit(value);\n    }\n  }\n}\n","<div class=\"otp-wrapper\" [class.invalid]=\"invalid()\">\n  @for (digit of digits(); track $index) {\n    <input\n      #cellRef\n      class=\"otp-cell\"\n      type=\"text\"\n      inputmode=\"numeric\"\n      maxlength=\"1\"\n      autocomplete=\"one-time-code\"\n      [value]=\"digit\"\n      [disabled]=\"disabled()\"\n      [class.filled]=\"!!digit\"\n      [class.invalid]=\"invalid()\"\n      (input)=\"onInput($event, $index)\"\n      (keydown)=\"onKeydown($event, $index)\"\n      (paste)=\"onPaste($event, $index)\"\n      (blur)=\"onBlur()\"\n    />\n  }\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'w2p-label',\n  templateUrl: './label.html',\n  styleUrls: ['./label.scss'],\n})\nexport class W2pLabel {}\n","<div class=\"label\">\n  <div class=\"label__icon\">\n    <ng-content select=\"[icon]\"></ng-content>\n  </div>\n  <p>\n    <ng-content select=\"[label]\"></ng-content>\n  </p>\n</div>","export const AvatarColors = [\n  'var(--Brand-Primary-Default, #F3400D)',\n  'var(--System-Information-Default, #697DFF)',\n  'var(--System-Attention-Default, #F99B00)',\n  'var(--System-Success-Default, #12CA55)',\n  '#D25921',\n  '#E12990',\n  '#33B5D3',\n  '#E33939',\n  '#7E37DC',\n];\n","import {\n  Directive,\n  ElementRef,\n  Renderer2,\n  effect,\n  inject,\n  input,\n  signal,\n  OnDestroy,\n  output,\n} from '@angular/core';\n\n@Directive({\n  selector: 'img[progressiveImage]',\n  standalone: true,\n})\nexport class ProgressiveImageDirective implements OnDestroy {\n  private el = inject(ElementRef<HTMLImageElement>);\n  private renderer = inject(Renderer2);\n\n  placeholder = input.required<string>();\n  srcFull = input.required<string>();\n\n  public loadError = output<void>();\n\n  private loaded = signal(false);\n  private observer?: IntersectionObserver;\n  private abortController?: AbortController;\n\n  private static cache = new Set<string>();\n  private static errorCache = new Set<string>();\n\n  constructor() {\n    effect(() => {\n      const img = this.el.nativeElement;\n      const preview = this.placeholder();\n      const full = this.srcFull();\n\n      if (!preview || !full) return;\n\n      // сброс состояния\n      this.abortCurrent();\n      this.loaded.set(false);\n      this.observer?.disconnect();\n\n      if (ProgressiveImageDirective.errorCache.has(full)) {\n        this.loadError.emit();\n        return;\n      }\n\n      // ставим placeholder\n      this.renderer.setAttribute(img, 'src', preview);\n      this.renderer.setStyle(img, 'transition', 'opacity 200ms ease');\n      this.renderer.setStyle(img, 'opacity', '0.7');\n      this.renderer.setStyle(img, 'filter', 'blur(3px)');\n\n      // если full уже в кеше — сразу ставим\n      if (ProgressiveImageDirective.cache.has(full)) {\n        this.setFullImage(full);\n        return;\n      }\n\n      // если уже видим — грузим сразу\n      if (this.isElementInViewport(img)) {\n        this.loadFullImage();\n      } else {\n        this.createObserver(img);\n      }\n    });\n  }\n\n  private isElementInViewport(el: HTMLElement): boolean {\n    const rect = el.getBoundingClientRect();\n    return (\n      rect.top < window.innerHeight &&\n      rect.bottom > 0 &&\n      rect.left < window.innerWidth &&\n      rect.right > 0\n    );\n  }\n\n  private createObserver(img: HTMLImageElement) {\n    this.observer = new IntersectionObserver((entries) => {\n      entries.forEach((entry) => {\n        if (entry.isIntersecting) {\n          this.loadFullImage();\n          this.observer?.disconnect();\n        }\n      });\n    });\n\n    this.observer.observe(img);\n  }\n\n  private loadFullImage() {\n    const full = this.srcFull();\n    if (!full) return;\n\n    this.abortCurrent();\n    this.abortController = new AbortController();\n    const signal = this.abortController.signal;\n\n    const fullImage = new Image();\n    fullImage.src = full;\n\n    fullImage.onload = () => {\n      ProgressiveImageDirective.cache.add(full);\n      this.setFullImage(full);\n    };\n\n    fullImage.onerror = (e) => {\n      if (signal.aborted) return;\n\n      ProgressiveImageDirective.errorCache.add(full);\n      this.loadError.emit();\n    };\n\n    this.abortController.signal.addEventListener('abort', () => {\n      fullImage.src = '';\n    });\n  }\n\n  private setFullImage(full: string) {\n    const img = this.el.nativeElement;\n\n    this.renderer.setAttribute(img, 'src', full);\n    this.renderer.setStyle(img, 'opacity', '1');\n    this.renderer.setStyle(img, 'filter', 'none');\n\n    this.loaded.set(true);\n  }\n\n  private abortCurrent() {\n    this.abortController?.abort();\n    this.abortController = undefined;\n  }\n\n  ngOnDestroy(): void {\n    this.abortCurrent();\n    this.observer?.disconnect();\n  }\n}\n","import { Component, computed, input, signal } from '@angular/core';\nimport { AvatarColors } from './avatar.colors';\nimport { ProgressiveImageDirective } from './progressive-image.directive';\n\n@Component({\n  selector: 'w2p-avatar',\n  imports: [ProgressiveImageDirective],\n  templateUrl: './avatar.html',\n  styleUrls: ['./avatar.scss'],\n})\nexport class W2pAvatar {\n  public readonly userId = input<number | undefined>();\n  public readonly userName = input<string | undefined>();\n  public readonly placeholder = input<string | undefined>(undefined);\n  public readonly srcFull = input<string | undefined>(undefined);\n\n  protected readonly imageLoadFailed = signal(false);\n  protected visible = signal<boolean>(false);\n\n  // получаем цвет аватара по id\n  protected readonly color = computed(() => {\n    if (this.placeholder() && this.srcFull() && !this.imageLoadFailed()) return '';\n\n    const id = this.userId();\n    if (!id) return AvatarColors[0];\n    return AvatarColors[id % AvatarColors.length];\n  });\n\n  protected readonly latter = computed(() => {\n    const name = this.userName();\n    if (!name) return 'A';\n    return name[0].toUpperCase();\n  });\n\n  protected loaded() {\n    this.visible.set(true);\n  }\n\n  protected onImageError() {\n    this.imageLoadFailed.set(true);\n  }\n}\n","<div class=\"avatar\" [style.--w2p-ui-avatar-bg-color]=\"color()\">\n  @if (placeholder() && srcFull() && !imageLoadFailed()) {\n    <img\n      progressiveImage\n      (loadError)=\"onImageError()\"\n      [placeholder]=\"placeholder()!\"\n      [srcFull]=\"srcFull()!\"\n    />\n  } @else {\n    <p>{{ latter() }}</p>\n  }\n</div>\n","import { Component, ElementRef, computed, input, output, signal, viewChild } from '@angular/core';\n\n@Component({\n  selector: 'w2p-swipe-confirm',\n  imports: [],\n  templateUrl: './swipe-confirm.html',\n  styleUrls: ['./swipe-confirm.scss'],\n})\nexport class W2pSwipeConfirm {\n  public readonly label = input<string>('Swipe to confirm');\n  public readonly loadingLabel = input<string>('Loading...');\n  public readonly disabled = input<boolean>(false);\n  public readonly loading = input<boolean>(false);\n  public readonly threshold = input<number>(0.8);\n\n  public readonly confirmed = output<void>();\n\n  public readonly track = viewChild<ElementRef<HTMLDivElement>>('trackRef');\n  public readonly handle = viewChild<ElementRef<HTMLDivElement>>('handleRef');\n\n  // settled — единственное состояние, которое реально нужно реактивно (влияет на классы/спиннер)\n  protected readonly settled = signal(false);\n\n  protected readonly isConfirmedVisual = computed(() => this.settled() || this.loading());\n  protected readonly pressed = signal(false);\n\n  private startX = 0;\n  private startTranslate = 0;\n  private maxTranslate = 0;\n  private currentTranslate = 0; // обычное поле, не сигнал — живёт только во время драга\n  private dragging = false;\n\n  onPointerDown(event: PointerEvent): void {\n    if (this.disabled() || this.loading() || this.settled()) return;\n\n    const trackEl = this.track()?.nativeElement;\n    const handleEl = this.handle()?.nativeElement;\n    if (!trackEl || !handleEl) return;\n\n    this.maxTranslate = trackEl.clientWidth - handleEl.clientWidth - 8;\n    this.startX = event.clientX;\n    this.startTranslate = this.currentTranslate;\n    this.dragging = true;\n    this.pressed.set(true);\n\n    handleEl.style.transition = 'none'; // на время драга без transition — иначе будет отставать\n    handleEl.setPointerCapture(event.pointerId);\n  }\n\n  onPointerMove(event: PointerEvent): void {\n    if (!this.dragging) return;\n\n    const handleEl = this.handle()?.nativeElement;\n    if (!handleEl) return;\n\n    const delta = event.clientX - this.startX;\n    const next = Math.min(Math.max(this.startTranslate + delta, 0), this.maxTranslate);\n    this.currentTranslate = next;\n\n    // прямая манипуляция DOM — минуя Angular change detection, для нулевой задержки\n    handleEl.style.transform = `translateX(${next}px)`;\n  }\n\n  onPointerUp(): void {\n    if (!this.dragging) return;\n    this.dragging = false;\n    this.pressed.set(false);\n\n    const handleEl = this.handle()?.nativeElement;\n    if (!handleEl) return;\n\n    handleEl.style.transition = 'transform 0.25s ease';\n\n    const reached =\n      this.maxTranslate > 0 && this.currentTranslate / this.maxTranslate >= this.threshold();\n\n    if (reached) {\n      handleEl.style.transform = `translateX(${this.maxTranslate}px)`;\n      this.currentTranslate = this.maxTranslate;\n      this.settled.set(true); // единственное место, где трогаем сигнал — уже после драга\n      this.confirmed.emit();\n    } else {\n      handleEl.style.transform = `translateX(0px)`;\n      this.currentTranslate = 0;\n    }\n  }\n\n  public reset(): void {\n    this.settled.set(false);\n    this.currentTranslate = 0;\n    const handleEl = this.handle()?.nativeElement;\n    if (handleEl) {\n      handleEl.style.transition = 'transform 0.25s ease';\n      handleEl.style.transform = 'translateX(0px)';\n    }\n  }\n}\n","<div\n  #trackRef\n  class=\"swipe-track\"\n  [class.disabled]=\"disabled()\"\n  [class.settled]=\"isConfirmedVisual()\"\n  [class.active]=\"pressed()\"\n>\n  <span class=\"swipe-label\">\n    {{ label() }}\n  </span>\n\n  <div\n    #handleRef\n    class=\"swipe-handle\"\n    [class.loading]=\"loading()\"\n    (pointerdown)=\"onPointerDown($event)\"\n    (pointermove)=\"onPointerMove($event)\"\n    (pointerup)=\"onPointerUp()\"\n    (pointercancel)=\"onPointerUp()\"\n    [class.active]=\"pressed()\"\n  >\n    @if (loading()) {\n      <svg class=\"spinner\" viewBox=\"0 0 24 24\" fill=\"none\">\n        <circle\n          cx=\"12\"\n          cy=\"12\"\n          r=\"9\"\n          stroke=\"currentColor\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-dasharray=\"40\"\n          stroke-dashoffset=\"10\"\n        />\n      </svg>\n    } @else {\n      <svg viewBox=\"0 0 24 24\" fill=\"none\">\n        <path\n          d=\"M5 12h14m0 0l-6-6m6 6l-6 6\"\n          stroke=\"currentColor\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n        />\n      </svg>\n    }\n  </div>\n</div>\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n  selector: 'w2p-skeleton',\n  imports: [],\n  templateUrl: './skeleton.html',\n  styleUrl: './skeleton.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class W2pSkeleton {\n  public styles = input<string>('');\n  public height = input.required<string>();\n  public width = input.required<string>();\n  public borderRadius = input.required<string>();\n}\n","<div [style.borderRadius]=\"borderRadius()\" [style.width]=\"width()\" [style.height]=\"height()\" [style]=\"styles()\"\n    class=\"skeleton\"></div>","import { Component, computed, input } from '@angular/core';\nimport { InfoIconComponent, SuccessIconComponent } from '@w2p-ui/icons';\n\nexport type W2pColorAlertBigVarinat =\n  'success' | 'info' | 'warning' | 'error' | 'warning' | 'default';\n\n@Component({\n  selector: 'w2p-color-alert-big',\n  imports: [InfoIconComponent, SuccessIconComponent],\n  templateUrl: './color-alert-big.html',\n  styleUrls: ['./color-alert-big.scss', './variants.scss'],\n})\nexport class W2pColorAlertBig {\n  public readonly label = input.required<string>();\n  public readonly description = input.required<string>();\n  public readonly variant = input<W2pColorAlertBigVarinat>('default');\n\n  protected readonly classes = computed((): string => {\n    return `color-alert--${this.variant()}`;\n  });\n}\n","<div [class]=\"`color-alert-big ${classes()}`\">\n\n\n    <div class=\"color-alert-big__label\">\n        <div class=\"color-alert-big__icon\">\n            @switch (variant()) {\n            @case ('default') {\n            <ng-content select=\"[icon]\"></ng-content>\n            }\n            @case ('error') {\n            <w2p-ui-icon-info></w2p-ui-icon-info>\n            }\n            @case ('success') {\n            <w2p-ui-icon-success></w2p-ui-icon-success>\n            }\n            @case ('warning') {\n            <w2p-ui-icon-info></w2p-ui-icon-info>\n            }\n            @case ('info') {\n            <w2p-ui-icon-info></w2p-ui-icon-info>\n            }\n            }\n        </div>\n\n        <p>{{ label() }}</p>\n\n    </div>\n\n    <span>{{description()}}</span>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,SAAS,CAAA;IACJ,OAAO,GAAG,MAAM,EAAQ;AACxB,IAAA,OAAO,GAAG,KAAK,CAAwB,SAAS,8EAAC;AACjD,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAE7B,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAa;AACjD,QAAA,OAAO,WAAW,IAAI,CAAC,OAAO,EAAE,EAAE;AACpC,IAAA,CAAC,8EAAC;wGAPS,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTtB,+jBAkBS,EAAA,MAAA,EAAA,CAAA,u2FAAA,EAAA,+1JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDbG,qBAAqB,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,CAAA;;4FAIpB,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;+BACE,YAAY,EAAA,OAAA,EACb,CAAC,qBAAqB,CAAC,EAAA,QAAA,EAAA,+jBAAA,EAAA,MAAA,EAAA,CAAA,u2FAAA,EAAA,+1JAAA,CAAA,EAAA;;;MEGrB,eAAe,CAAA;IACV,OAAO,GAAG,MAAM,EAAQ;AACxB,IAAA,OAAO,GAAG,KAAK,CAA+C,SAAS,8EAAC;AACxE,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAE7B,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAa;AACjD,QAAA,OAAO,kBAAkB,IAAI,CAAC,OAAO,EAAE,EAAE;AAC3C,IAAA,CAAC,8EAAC;wGAPS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,yXCR5B,oPAMS,EAAA,MAAA,EAAA,CAAA,s2EAAA,EAAA,80IAAA,CAAA,EAAA,CAAA;;4FDEI,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,WACpB,EAAE,EAAA,QAAA,EAAA,oPAAA,EAAA,MAAA,EAAA,CAAA,s2EAAA,EAAA,80IAAA,CAAA,EAAA;;;MEsBA,QAAQ,CAAA;;AAEH,IAAA,QAAQ,GAAG,SAAS,CAA+B,UAAU,+EAAC;AAE9D,IAAA,OAAO,GAAG,KAAK,CAAS,EAAE,8EAAC;AAC3B,IAAA,IAAI,GAAG,KAAK,CAAS,MAAM,2EAAC;AAC5B,IAAA,IAAI,GAAG,KAAK,CAAU,IAAI,2EAAC;AAC3B,IAAA,SAAS,GAAG,KAAK,CAAS,MAAM,gFAAC;AACjC,IAAA,WAAW,GAAG,KAAK,CAAS,EAAE,kFAAC;AAC/B,IAAA,SAAS,GAAG,KAAK,CAAU,KAAK,gFAAC;AACjC,IAAA,aAAa,GAAG,KAAK,CAAU,KAAK,oFAAC;IACrC,OAAO,GAAG,KAAK,CAAU,KAAK,+EAAI,KAAK,EAAE,SAAS,EAAA,CAAG;;AAGrD,IAAA,KAAK,GAAG,MAAM,CAAS,EAAE,4EAAC;AAC1B,IAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,+EAAC;AACjC,IAAA,YAAY,GAAG,MAAM,CAAS,EAAE,mFAAC;AAEzC,IAAA,QAAQ,GAAyB,MAAK,EAAE,CAAC;AACzC,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAExC,IAAA,WAAA,GAAA;;QAEE,eAAe,CAAC,MAAK;AACnB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;gBACpB,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,KAAK,EAAE;YACxC;AACF,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACzC,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACpC,QAAA,CAAC,CAAC;IACJ;IAEU,UAAU,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,UAAU;YAAE;QAEhC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,IAAI,KAAK,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAC/B;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK;AAE9E,QAAA,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE;AACzB,YAAA,KAAK,CAAC,KAAK,GAAG,KAAK;QACrB;QACA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9B;AAEA,IAAA,UAAU,CAAC,GAAW,EAAA;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;IAC3B;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,SAAS,EAAE;IAClB;wGAzEW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EARR;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACvC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBH,o9BAoCA,EAAA,MAAA,EAAA,CAAA,q1EAAA,EAAA,kqDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDrBY,iBAAiB,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,6DAAE,sBAAsB,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA;;4FAW3D,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAbpB,SAAS;+BACE,WAAW,EAAA,OAAA,EACZ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,sBAAsB,CAAC,EAAA,SAAA,EAG5D;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC;AACvC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,o9BAAA,EAAA,MAAA,EAAA,CAAA,q1EAAA,EAAA,kqDAAA,CAAA,EAAA;gGAIkE,UAAU,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEnBlE,SAAS,CAAA;wGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTtB,+EAGA,EAAA,MAAA,EAAA,CAAA,uZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEY,mBAAmB,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,CAAA;;4FAIlB,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;+BACE,YAAY,EAAA,OAAA,EACb,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,+EAAA,EAAA,MAAA,EAAA,CAAA,uZAAA,CAAA,EAAA;;;MEMnB,aAAa,CAAA;AACR,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;AAChC,IAAA,OAAO,GAAG,KAAK,CAAuB,SAAS,8EAAC;AAE7C,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAa;AACjD,QAAA,OAAO,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE;AACzC,IAAA,CAAC,8EAAC;wGANS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX1B,wmBAyBA,EAAA,MAAA,EAAA,CAAA,47DAAA,EAAA,4dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBY,iBAAiB,6DAAE,oBAAoB,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,CAAA;;4FAItC,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAClB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,EAAA,QAAA,EAAA,wmBAAA,EAAA,MAAA,EAAA,CAAA,47DAAA,EAAA,4dAAA,CAAA,EAAA;;;MEavC,WAAW,CAAA;;AAEN,IAAA,MAAM,GAAG,KAAK,CAAS,CAAC,6EAAC;AACzB,IAAA,aAAa,GAAG,KAAK,CAAU,KAAK,oFAAC;AACrC,IAAA,YAAY,GAAG,KAAK,CAAU,KAAK,mFAAC;AACpC,IAAA,SAAS,GAAG,KAAK,CAAU,KAAK,gFAAC;;IAGjC,QAAQ,GAAG,MAAM,EAAU;AAE3B,IAAA,KAAK,GAAG,YAAY,CAA+B,SAAS,4EAAC;;AAG7D,IAAA,MAAM,GAAG,MAAM,CAAW,EAAE,6EAAC;AAC7B,IAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,+EAAC;AACjC,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,8EAAC;AAE/B,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAE7D,IAAA,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE;AAC/C,UAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAChF,UAAE,MAAM,CAAC,IAAI,CAAC;AAER,IAAA,QAAQ,GAA4B,MAAK,EAAE,CAAC;AAC5C,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAExC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;;QAGA,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;AACzB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7B,YAAA,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpE,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACvB;AACF,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACzC,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE;YACzC,MAAM,cAAc,GAAG,CAAC,EACtB,IAAI,CAAC,SAAS,EAAE,OAAO;AACvB,iBAAC,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CACnD;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC;AACnD,QAAA,CAAC,CAAC;QAEF,eAAe,CAAC,MAAK;AACnB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;gBACpB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;YACxC;AACF,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAC/B;AAEO,IAAA,UAAU,CAAC,SAAkB,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B;AAEA,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,MAAM,KAAK,GAAG,GAAG,IAAI,EAAE;AACvB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE;IAEA,OAAO,CAAC,KAAY,EAAE,KAAa,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;;AAE9C,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI;QAElB,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3B;QAEA,IAAI,CAAC,SAAS,EAAE;IAClB;IAEA,SAAS,CAAC,KAAoB,EAAE,KAAa,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAE9C,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE;gBAC7B,KAAK,CAAC,cAAc,EAAE;gBACtB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;AAC/B,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE;AACpB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,SAAS,EAAE;YAClB;YACA;QACF;QAEA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,GAAG,CAAC,EAAE;YAC1C,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YACzB;QACF;AAEA,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;YAC3D,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YACzB;QACF;IACF;IAEA,OAAO,CAAC,KAAqB,EAAE,KAAa,EAAA;QAC1C,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE;AAC5E,QAAA,IAAI,CAAC,MAAM;YAAE;QAEb,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAG,KAAK;AAClB,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;AACzB,YAAA,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;AACnB,YAAA,MAAM,EAAE;QACV;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE;AAEhB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;IAC5B;IAEO,KAAK,GAAA;AACV,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnB;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,SAAS,EAAE;IAClB;AAEQ,IAAA,SAAS,CAAC,KAAa,EAAA;;AAE7B,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE;IAEQ,SAAS,GAAA;AACf,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE;QAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEpB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzF,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B;IACF;wGAhLW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,yvBCpBxB,okBAoBA,EAAA,MAAA,EAAA,CAAA,+9GAAA,CAAA,EAAA,CAAA;;4FDAa,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,WAChB,EAAE,EAAA,QAAA,EAAA,okBAAA,EAAA,MAAA,EAAA,CAAA,+9GAAA,CAAA,EAAA;qiBAcwD,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEvBjE,QAAQ,CAAA;wGAAR,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,qECPrB,0LAOM,EAAA,MAAA,EAAA,CAAA,+lFAAA,CAAA,EAAA,CAAA;;4FDAO,QAAQ,EAAA,UAAA,EAAA,CAAA;kBALpB,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,0LAAA,EAAA,MAAA,EAAA,CAAA,+lFAAA,CAAA,EAAA;;;AEHhB,MAAM,YAAY,GAAG;IAC1B,uCAAuC;IACvC,4CAA4C;IAC5C,0CAA0C;IAC1C,wCAAwC;IACxC,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV;;MCMY,yBAAyB,CAAA;AAC5B,IAAA,EAAE,GAAG,MAAM,EAAC,UAA4B,EAAC;AACzC,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAEpC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,iFAAU;AACtC,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,6EAAU;IAE3B,SAAS,GAAG,MAAM,EAAQ;AAEzB,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,6EAAC;AACtB,IAAA,QAAQ;AACR,IAAA,eAAe;AAEf,IAAA,OAAO,KAAK,GAAG,IAAI,GAAG,EAAU;AAChC,IAAA,OAAO,UAAU,GAAG,IAAI,GAAG,EAAU;AAE7C,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;AACjC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE;AAClC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;AAE3B,YAAA,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;gBAAE;;YAGvB,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,YAAA,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE;YAE3B,IAAI,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAClD,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gBACrB;YACF;;YAGA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,oBAAoB,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC;;YAGlD,IAAI,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7C,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACvB;YACF;;AAGA,YAAA,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE;gBACjC,IAAI,CAAC,aAAa,EAAE;YACtB;iBAAO;AACL,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAC1B;AACF,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,mBAAmB,CAAC,EAAe,EAAA;AACzC,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE;AACvC,QAAA,QACE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW;YAC7B,IAAI,CAAC,MAAM,GAAG,CAAC;AACf,YAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU;AAC7B,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC;IAElB;AAEQ,IAAA,cAAc,CAAC,GAAqB,EAAA;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,KAAI;AACnD,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACxB,gBAAA,IAAI,KAAK,CAAC,cAAc,EAAE;oBACxB,IAAI,CAAC,aAAa,EAAE;AACpB,oBAAA,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE;gBAC7B;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5B;IAEQ,aAAa,GAAA;AACnB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,CAAC,IAAI;YAAE;QAEX,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE;AAC5C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM;AAE1C,QAAA,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE;AAC7B,QAAA,SAAS,CAAC,GAAG,GAAG,IAAI;AAEpB,QAAA,SAAS,CAAC,MAAM,GAAG,MAAK;AACtB,YAAA,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACzC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACzB,QAAA,CAAC;AAED,QAAA,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,KAAI;YACxB,IAAI,MAAM,CAAC,OAAO;gBAAE;AAEpB,YAAA,yBAAyB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9C,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACvB,QAAA,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAK;AACzD,YAAA,SAAS,CAAC,GAAG,GAAG,EAAE;AACpB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,YAAY,CAAC,IAAY,EAAA;AAC/B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;QAEjC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC;AAE7C,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS;IAClC;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC7B;wGA5HW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCLY,SAAS,CAAA;IACJ,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAsB;IACpC,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAsB;AACtC,IAAA,WAAW,GAAG,KAAK,CAAqB,SAAS,kFAAC;AAClD,IAAA,OAAO,GAAG,KAAK,CAAqB,SAAS,8EAAC;AAE3C,IAAA,eAAe,GAAG,MAAM,CAAC,KAAK,sFAAC;AACxC,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,8EAAC;;AAGvB,IAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AACvC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,OAAO,EAAE;AAE9E,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;AACxB,QAAA,IAAI,CAAC,EAAE;AAAE,YAAA,OAAO,YAAY,CAAC,CAAC,CAAC;QAC/B,OAAO,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC;AAC/C,IAAA,CAAC,4EAAC;AAEiB,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC5B,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,GAAG;AACrB,QAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC9B,IAAA,CAAC,6EAAC;IAEQ,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IACxB;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;IAChC;wGA9BW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVtB,gVAYA,EAAA,MAAA,EAAA,CAAA,8tDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDNY,yBAAyB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIxB,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;+BACE,YAAY,EAAA,OAAA,EACb,CAAC,yBAAyB,CAAC,EAAA,QAAA,EAAA,gVAAA,EAAA,MAAA,EAAA,CAAA,8tDAAA,CAAA,EAAA;;;MEEzB,eAAe,CAAA;AACV,IAAA,KAAK,GAAG,KAAK,CAAS,kBAAkB,4EAAC;AACzC,IAAA,YAAY,GAAG,KAAK,CAAS,YAAY,mFAAC;AAC1C,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAChC,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,8EAAC;AAC/B,IAAA,SAAS,GAAG,KAAK,CAAS,GAAG,gFAAC;IAE9B,SAAS,GAAG,MAAM,EAAQ;AAE1B,IAAA,KAAK,GAAG,SAAS,CAA6B,UAAU,4EAAC;AACzD,IAAA,MAAM,GAAG,SAAS,CAA6B,WAAW,6EAAC;;AAGxD,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,8EAAC;AAEvB,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,wFAAC;AACpE,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,8EAAC;IAElC,MAAM,GAAG,CAAC;IACV,cAAc,GAAG,CAAC;IAClB,YAAY,GAAG,CAAC;AAChB,IAAA,gBAAgB,GAAG,CAAC,CAAC;IACrB,QAAQ,GAAG,KAAK;AAExB,IAAA,aAAa,CAAC,KAAmB,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE;QAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,aAAa;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa;AAC7C,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE;AAE3B,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,GAAG,CAAC;AAClE,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAEtB,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;AACnC,QAAA,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7C;AAEA,IAAA,aAAa,CAAC,KAAmB,EAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa;AAC7C,QAAA,IAAI,CAAC,QAAQ;YAAE;QAEf,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;AAClF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;;QAG5B,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,WAAA,EAAc,IAAI,KAAK;IACpD;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa;AAC7C,QAAA,IAAI,CAAC,QAAQ;YAAE;AAEf,QAAA,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,sBAAsB;QAElD,MAAM,OAAO,GACX,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;QAExF,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,IAAI,CAAC,YAAY,CAAA,GAAA,CAAK;AAC/D,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY;YACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;QACvB;aAAO;AACL,YAAA,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB;AAC5C,YAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;QAC3B;IACF;IAEO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa;QAC7C,IAAI,QAAQ,EAAE;AACZ,YAAA,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,sBAAsB;AAClD,YAAA,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB;QAC9C;IACF;wGAvFW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,+9BCR5B,uqCA+CA,EAAA,MAAA,EAAA,CAAA,o/GAAA,CAAA,EAAA,CAAA;;4FDvCa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,WACpB,EAAE,EAAA,QAAA,EAAA,uqCAAA,EAAA,MAAA,EAAA,CAAA,o/GAAA,CAAA,EAAA;AAamD,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,UAAU,gEACT,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MET/D,WAAW,CAAA;AACf,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,6EAAC;AAC1B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,4EAAU;AACjC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;AAChC,IAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,kFAAU;wGAJnC,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,WAAW,4kBCTxB,wJAC2B,EAAA,MAAA,EAAA,CAAA,kjBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDQd,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,OAAA,EACf,EAAE,EAAA,eAAA,EAGM,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wJAAA,EAAA,MAAA,EAAA,CAAA,kjBAAA,CAAA,EAAA;;;MEKpC,gBAAgB,CAAA;AACX,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;AAChC,IAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,iFAAU;AACtC,IAAA,OAAO,GAAG,KAAK,CAA0B,SAAS,8EAAC;AAEhD,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAa;AACjD,QAAA,OAAO,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE;AACzC,IAAA,CAAC,8EAAC;wGAPS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ7B,qyBA6BM,EAAA,MAAA,EAAA,CAAA,k7EAAA,EAAA,4dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDrBM,iBAAiB,6DAAE,oBAAoB,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,CAAA;;4FAItC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,OAAA,EACtB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,EAAA,QAAA,EAAA,qyBAAA,EAAA,MAAA,EAAA,CAAA,k7EAAA,EAAA,4dAAA,CAAA,EAAA;;;AERpD;;AAEG;;;;"}