{"version":3,"file":"obliczeniowo-elementary-edits.mjs","sources":["../../../../projects/components/edits/components/edit-textarea/edit-textarea.component.ts","../../../../projects/components/edits/components/edit-textarea/edit-textarea.component.html","../../../../projects/components/edits/components/edit-input/edit-input.component.ts","../../../../projects/components/edits/components/edit-input/edit-input.component.html","../../../../projects/components/edits/edits.module.ts","../../../../projects/components/edits/obliczeniowo-elementary-edits.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { InputWrappersDefaultSettingsService } from '@obliczeniowo/elementary/input';\r\n\r\n@Component({\r\n    selector: 'obl-edit-textarea',\r\n    templateUrl: './edit-textarea.component.html',\r\n    styleUrl: './edit-textarea.component.scss',\r\n    providers: [\r\n        {\r\n            provide: NG_VALUE_ACCESSOR,\r\n            multi: true,\r\n            useExisting: EditTextareaComponent\r\n        },\r\n    ],\r\n    standalone: false\r\n})\r\nexport class EditTextareaComponent implements ControlValueAccessor {\r\n  _value: string = '';\r\n\r\n  @Input() set value(value: string) {\r\n    this._value = value;\r\n    this.current = value;\r\n  };\r\n\r\n  get value(): string {\r\n    return this._value;\r\n  }\r\n\r\n  @Input() label: string = '';\r\n\r\n  /**\r\n   * Enable type text animation for label\r\n   */\r\n  @Input() labelAnimation = false;\r\n\r\n  @Input() mode: boolean = false;\r\n\r\n  @Input()\r\n  @HostBinding('class.disabled') disabled = false;\r\n\r\n  @Output() changed = new EventEmitter<string>();\r\n\r\n  @ViewChild('textarea') textarea?: ElementRef<HTMLTextAreaElement>;\r\n\r\n  current: string = this.value;\r\n\r\n  constructor(\r\n    private readonly settings: InputWrappersDefaultSettingsService\r\n  ) {\r\n    this.labelAnimation = this.settings.labelAnimation.editInput;\r\n  }\r\n\r\n  setValue(event: any) {\r\n    this.value = event.target.value;\r\n  }\r\n\r\n  save() {\r\n    this.mode = false;\r\n    this.current = this.value;\r\n    this.changed.emit(this.value);\r\n    this.onChange({ value: this.value, label: this.label });\r\n  }\r\n\r\n  cancel() {\r\n    this.value = this.current;\r\n    this.mode = false;\r\n  }\r\n\r\n  onChange = (value: { value: string; label?: string }) => { };\r\n\r\n  onTouched = () => { };\r\n\r\n  writeValue(value: { value: string; label?: string }): void {\r\n    this.value = value.value;\r\n    this.label = value.label || this.label;\r\n  }\r\n\r\n  registerOnChange(onChange: any): void {\r\n    this.onChange = onChange;\r\n  }\r\n\r\n  registerOnTouched(onTouched: any): void {\r\n    this.onTouched = onTouched;\r\n  }\r\n\r\n  setDisabledState(disabled: boolean): void {\r\n    this.disabled = disabled;\r\n  }\r\n\r\n  onEdit() {\r\n    this.mode = true;\r\n    setTimeout(() => {\r\n      if (this.textarea) {\r\n        this.textarea.nativeElement.focus();\r\n      }\r\n    })\r\n  }\r\n}\r\n","@if (mode === false) {\r\n  <fieldset\r\n    class=\"display\"\r\n    [class.labeled]=\"label\"\r\n  >\r\n    @if (label !== '') {\r\n      <legend>\r\n        @if (labelAnimation) {\r\n          <obl-type-text [text]=\"label\" [interval]=\"40\"></obl-type-text>\r\n        } @else {\r\n          {{ label }}\r\n        }\r\n      </legend>\r\n    }\r\n    <div class=\"value\">{{ value }}</div>\r\n    <button oblButton (click)=\"onEdit()\">\r\n      <obl-icon name=\"edit\"></obl-icon>\r\n    </button>\r\n  </fieldset>\r\n} @else {\r\n  <obl-textarea-wrapper [label]=\"label\" [labelAnimation]=\"labelAnimation\">\r\n    <textarea\r\n      oblInput\r\n      [value]=\"value\"\r\n      (keyup)=\"setValue($event)\"\r\n      oblTextArea\r\n      #textarea\r\n    ></textarea>\r\n    <div suffix>\r\n      <button oblButton (click)=\"cancel()\">\r\n        <obl-icon name=\"cancel\"></obl-icon>\r\n      </button>\r\n      <button oblButton (click)=\"save()\">\r\n        <obl-icon name=\"ok\"></obl-icon>\r\n      </button>\r\n    </div>\r\n  </obl-textarea-wrapper>\r\n}\r\n\r\n","import { Component, ElementRef, EventEmitter, input, Input, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { InputWrappersDefaultSettingsService } from '@obliczeniowo/elementary/input';\r\n\r\nexport type EditInputType = 'text' | 'number' | 'password';\r\n\r\nexport interface EditInputFormValue {\r\n  value: string;\r\n  type?: EditInputType;\r\n  label?: string;\r\n}\r\n\r\n@Component({\r\n    selector: 'obl-edit-input',\r\n    templateUrl: './edit-input.component.html',\r\n    styleUrl: './edit-input.component.scss',\r\n    providers: [\r\n        {\r\n            provide: NG_VALUE_ACCESSOR,\r\n            multi: true,\r\n            useExisting: EditInputComponent,\r\n        },\r\n    ],\r\n    standalone: false\r\n})\r\nexport class EditInputComponent implements ControlValueAccessor {\r\n  _value: string = '';\r\n\r\n  @Input() set value(value: string) {\r\n    this._value = value;\r\n    this.current = value;\r\n  }\r\n\r\n  get value(): string {\r\n    return this._value;\r\n  }\r\n\r\n  @Input() label: string = '';\r\n\r\n  /**\r\n   * Enable type text animation for label\r\n   */\r\n  @Input() labelAnimation = false;\r\n  /**\r\n   * Mode when true it's in edit state, other way it's in display only\r\n   */\r\n  @Input() mode: boolean = false;\r\n\r\n  @Input() disabled?: any;\r\n\r\n  @Input() editOnly = false;\r\n  /**\r\n   * min value for number input\r\n   */\r\n  min = input<number>();\r\n  /**\r\n   * max value for number input\r\n   */\r\n  max = input<number>();\r\n\r\n  /**\r\n   * Style of displayed input\r\n   */\r\n  display = input<'outlined' | 'underlined' | 'none'>('outlined');\r\n\r\n  formatter = input<(value: string | number) => string | number>((value: string | number) => value);\r\n\r\n  @Input() type: EditInputType = 'text';\r\n\r\n  @Output() changed = new EventEmitter<{\r\n    text: string,\r\n    numeric?: number\r\n  }>();\r\n\r\n  @ViewChild('input') input?: ElementRef<HTMLInputElement>;\r\n\r\n  current: string = this.value;\r\n\r\n  constructor(\r\n    private readonly settings: InputWrappersDefaultSettingsService\r\n  ) {\r\n    this.labelAnimation = this.settings.labelAnimation.editInput;\r\n  }\r\n\r\n  setValue(event: any) {\r\n    this._value = event.target.value;\r\n  }\r\n\r\n  save() {\r\n    this.mode = false;\r\n    this.current = this.value;\r\n    const numeric = +this.value;\r\n    this.changed.emit({\r\n      text: this.value,\r\n      numeric: (this.type === 'number' && numeric) || undefined,\r\n    });\r\n    this.onChange({\r\n      value: this._value,\r\n      label: this.label,\r\n      type: this.type,\r\n    });\r\n  }\r\n\r\n  cancel() {\r\n    this.value = this.current;\r\n    this.mode = false;\r\n  }\r\n\r\n  onEdit() {\r\n    this.mode = true;\r\n    setTimeout(() => {\r\n      if (this.input) {\r\n        this.input.nativeElement.focus();\r\n      }\r\n    })\r\n  }\r\n\r\n  onChange = (value: EditInputFormValue) => {};\r\n\r\n  onTouched = () => {};\r\n\r\n  writeValue(value: EditInputFormValue): void {\r\n    this.value = value.value;\r\n    this.label = value?.label || this.label;\r\n    this.type = value?.type || this.type;\r\n  }\r\n\r\n  registerOnChange(onChange: any): void {\r\n    this.onChange = onChange;\r\n  }\r\n\r\n  registerOnTouched(onTouched: any): void {\r\n    this.onTouched = onTouched;\r\n  }\r\n\r\n  setDisabledState(disabled: boolean): void {\r\n    this.disabled = disabled;\r\n  }\r\n}\r\n","@if (mode === false && !editOnly) {\r\n  <fieldset\r\n    class=\"display\"\r\n    [class.labeled]=\"label\"\r\n    [ngClass]=\"{\r\n      label: label,\r\n      outlined: display() === 'outlined',\r\n      underlined: display() === 'underlined',\r\n      none: display() === 'none',\r\n    }\"\r\n  >\r\n    @if (label !== '') {\r\n      <legend>\r\n        @if (labelAnimation) {\r\n          <obl-type-text [text]=\"label\" [interval]=\"40\"></obl-type-text>\r\n        } @else {\r\n          {{ label }}\r\n        }\r\n      </legend>\r\n    }\r\n    <div>\r\n      <ng-content select=\"[prefix]\"></ng-content>\r\n    </div>\r\n    <div class=\"value\">{{ formatter()(type === 'number' ? +value : value) }}</div>\r\n    <div class=\"suffix\">\r\n      <ng-content select=\"[suffix]\"></ng-content>\r\n      @if (!disabled) {\r\n        <button oblButton (click)=\"onEdit()\">\r\n          <obl-icon name=\"edit\"></obl-icon>\r\n        </button>\r\n      }\r\n    </div>\r\n  </fieldset>\r\n} @else {\r\n  <obl-input-wrapper [label]=\"label\" [labelAnimation]=\"labelAnimation\" [display]=\"display()\">\r\n    <div prefix>\r\n      <ng-content select=\"[edit-prefix]\"></ng-content>\r\n    </div>\r\n    <input\r\n      oblInput\r\n      [type]=\"type\"\r\n      [min]=\"min()\"\r\n      [max]=\"max()\"\r\n      [value]=\"value\"\r\n      (change)=\"setValue($event); editOnly && save()\"\r\n      type=\"text\"\r\n      #input\r\n    />\r\n    <ng-container suffix>\r\n      <ng-content select=\"[edit-suffix]\"></ng-content>\r\n\r\n      @if (!editOnly) {\r\n        <button oblButton (click)=\"save()\">\r\n          <obl-icon name=\"ok\"></obl-icon>\r\n        </button>\r\n        <button oblButton (click)=\"cancel()\">\r\n          <obl-icon name=\"cancel\"></obl-icon>\r\n        </button>\r\n      }\r\n    </ng-container>\r\n  </obl-input-wrapper>\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AnimationsModule } from '@obliczeniowo/elementary/animations';\r\nimport { InputModule } from '@obliczeniowo/elementary/input';\r\nimport { IconsModule } from '@obliczeniowo/elementary/icons';\r\nimport { ButtonsModule } from '@obliczeniowo/elementary/buttons';\r\n\r\nimport { EditTextareaComponent } from './components/edit-textarea/edit-textarea.component';\r\nimport { EditInputComponent } from './components/edit-input/edit-input.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    EditInputComponent,\r\n    EditTextareaComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    InputModule,\r\n    IconsModule,\r\n    ButtonsModule,\r\n    ReactiveFormsModule,\r\n    AnimationsModule\r\n  ],\r\n  exports: [\r\n    EditInputComponent,\r\n    EditTextareaComponent\r\n  ]\r\n})\r\nexport class EditsModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i5"],"mappings":";;;;;;;;;;;;;;MAiBa,qBAAqB,CAAA;AA+Bb,IAAA,QAAA;IA9BnB,MAAM,GAAW,EAAE;IAEnB,IAAa,KAAK,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;;AAGtB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;;IAGX,KAAK,GAAW,EAAE;AAE3B;;AAEG;IACM,cAAc,GAAG,KAAK;IAEtB,IAAI,GAAY,KAAK;IAGC,QAAQ,GAAG,KAAK;AAErC,IAAA,OAAO,GAAG,IAAI,YAAY,EAAU;AAEvB,IAAA,QAAQ;AAE/B,IAAA,OAAO,GAAW,IAAI,CAAC,KAAK;AAE5B,IAAA,WAAA,CACmB,QAA6C,EAAA;QAA7C,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAEzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS;;AAG9D,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;;IAGjC,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;IAGzD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;AAGnB,IAAA,QAAQ,GAAG,CAAC,KAAwC,KAAI,GAAI;AAE5D,IAAA,SAAS,GAAG,MAAK,GAAI;AAErB,IAAA,UAAU,CAAC,KAAwC,EAAA;AACjD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;;AAGxC,IAAA,gBAAgB,CAAC,QAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAG1B,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAG5B,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;IAG1B,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;;AAEvC,SAAC,CAAC;;uGA/EO,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mCAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EATnB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE;AAChB,aAAA;AACJ,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdL,0jCAuCA,EAAA,MAAA,EAAA,CAAA,0vBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FDtBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGlB,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAuB;AACrC,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,0jCAAA,EAAA,MAAA,EAAA,CAAA,0vBAAA,CAAA,EAAA;wGAKN,KAAK,EAAA,CAAA;sBAAjB;gBASQ,KAAK,EAAA,CAAA;sBAAb;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAEQ,IAAI,EAAA,CAAA;sBAAZ;gBAG8B,QAAQ,EAAA,CAAA;sBADtC;;sBACA,WAAW;uBAAC,gBAAgB;gBAEnB,OAAO,EAAA,CAAA;sBAAhB;gBAEsB,QAAQ,EAAA,CAAA;sBAA9B,SAAS;uBAAC,UAAU;;;MElBV,kBAAkB,CAAA;AAsDV,IAAA,QAAA;IArDnB,MAAM,GAAW,EAAE;IAEnB,IAAa,KAAK,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAGtB,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;;IAGX,KAAK,GAAW,EAAE;AAE3B;;AAEG;IACM,cAAc,GAAG,KAAK;AAC/B;;AAEG;IACM,IAAI,GAAY,KAAK;AAErB,IAAA,QAAQ;IAER,QAAQ,GAAG,KAAK;AACzB;;AAEG;IACH,GAAG,GAAG,KAAK,EAAU;AACrB;;AAEG;IACH,GAAG,GAAG,KAAK,EAAU;AAErB;;AAEG;AACH,IAAA,OAAO,GAAG,KAAK,CAAqC,UAAU,CAAC;IAE/D,SAAS,GAAG,KAAK,CAA8C,CAAC,KAAsB,KAAK,KAAK,CAAC;IAExF,IAAI,GAAkB,MAAM;AAE3B,IAAA,OAAO,GAAG,IAAI,YAAY,EAGhC;AAEgB,IAAA,KAAK;AAEzB,IAAA,OAAO,GAAW,IAAI,CAAC,KAAK;AAE5B,IAAA,WAAA,CACmB,QAA6C,EAAA;QAA7C,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAEzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS;;AAG9D,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;;IAGlC,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK;AACzB,QAAA,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS;AAC1D,SAAA,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,SAAA,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK;;IAGnB,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;;AAEpC,SAAC,CAAC;;AAGJ,IAAA,QAAQ,GAAG,CAAC,KAAyB,KAAI,GAAG;AAE5C,IAAA,SAAS,GAAG,MAAK,GAAG;AAEpB,IAAA,UAAU,CAAC,KAAyB,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK;QACvC,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;;AAGtC,IAAA,gBAAgB,CAAC,QAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAG1B,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAG5B,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;uGA/Gf,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mCAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAThB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,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,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,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,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE,kBAAkB;AAClC,aAAA;AACJ,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBL,w1DA+DA,EAAA,MAAA,EAAA,CAAA,22HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,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,cAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FDtCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAGf,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAoB,kBAAA;AAClC,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,w1DAAA,EAAA,MAAA,EAAA,CAAA,22HAAA,CAAA,EAAA;wGAKN,KAAK,EAAA,CAAA;sBAAjB;gBASQ,KAAK,EAAA,CAAA;sBAAb;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAIQ,IAAI,EAAA,CAAA;sBAAZ;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBAiBQ,IAAI,EAAA,CAAA;sBAAZ;gBAES,OAAO,EAAA,CAAA;sBAAhB;gBAKmB,KAAK,EAAA,CAAA;sBAAxB,SAAS;uBAAC,OAAO;;;ME5CP,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,iBAhBpB,kBAAkB;AAClB,YAAA,qBAAqB,aAGrB,YAAY;YACZ,WAAW;YACX,WAAW;YACX,aAAa;YACb,mBAAmB;AACnB,YAAA,gBAAgB,aAGhB,kBAAkB;YAClB,qBAAqB,CAAA,EAAA,CAAA;AAGZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAZpB,YAAY;YACZ,WAAW;YACX,WAAW;YACX,aAAa;YACb,mBAAmB;YACnB,gBAAgB,CAAA,EAAA,CAAA;;2FAOP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAlBvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;wBAClB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,WAAW;wBACX,aAAa;wBACb,mBAAmB;wBACnB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB;AACD;AACF,iBAAA;;;AC7BD;;AAEG;;;;"}