@kms-ngx-ui/presentational 20.0.1 → 20.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"kms-ngx-ui-presentational.mjs","sources":["../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/integer-currency.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-html.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-resource-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/sanitaze-null.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/trim.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/typeof.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/custom-pipes.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/sum-of-height.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/swipe.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/time.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/tooltip.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/directives.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/services/viewport.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/colors.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/icon/icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/icon/icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/back-to-top/back-to-top.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/back-to-top/back-to-top.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/card/card.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/card/card.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/checkbox/checkbox.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/checkbox/checkbox.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form-control.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/dropdown-from-data/dropdown-from-data.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/dropdown-from-data/dropdown-from-data.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/loader/loader.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/loader/loader.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/address.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/map/map.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/map/map.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/radioButtonSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/radiobutton/radiobutton.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/radiobutton/radiobutton.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slide-toggle/slide-toggle.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slide-toggle/slide-toggle.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slider/slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slider/slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/buttonAppearance.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/button/button.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/button/button.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/tooltip-icon/tooltip-icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/tooltip-icon/tooltip-icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/color-input/color-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/color-input/color-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/confirmation-dialog/dialog-data.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/confirmation-dialog/confirmation-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/confirmation-dialog/confirmation-dialog.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/enum-radiogroup/enum-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/enum-radiogroup/enum-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/is-value.function.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/file-input/file-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/file-input/file-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/flyout/flyout.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/flyout/flyout.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/image-slider/image-slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/image-slider/image-slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/kms-accordion-item/kms-accordion-item.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/kms-accordion-item/kms-accordion-item.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/numeric-input/numeric-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/numeric-input/numeric-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/password/password.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/password/password.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/radiogroup/radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/radiogroup/radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/salutation.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-dropdown/salutation-dropdown.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-dropdown/salutation-dropdown.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/image-snippet.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/text-value-pair.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/attached-file-dto.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/nullable.type.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-radiogroup/salutation-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-radiogroup/salutation-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/time-input/time-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/time-input/time-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/button-response-types.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/public-api.ts","../../../../projects/kms-ngx-ui-presentational/src/kms-ngx-ui-presentational.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'lib-kms-ngx-ui-presentational',\n template: `\n <p>\n kms-ngx-ui-presentational works!\n </p>\n `,\n styles: [\n ]\n})\nexport class KmsUiPresentationalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void { }\n\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CurrencyPipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsIntegerCurrency',\n standalone: false,\n})\nexport class IntegerCurrency implements PipeTransform {\n constructor(private cp: CurrencyPipe) {}\n transform(\n value: any,\n currencyCode?: string,\n display?: boolean,\n digitsInfo?: string\n ): string | null {\n const currencyPipeValue = this.cp.transform(\n value,\n currencyCode,\n display,\n digitsInfo\n );\n if (currencyPipeValue) {\n const convertedValue =\n currencyPipeValue.split(',')[0] + ' ' + currencyPipeValue.slice(-1);\n return convertedValue;\n } else {\n throw new Error('No value provided');\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeHtml',\n standalone: false,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeResourceSUrl',\n standalone: false,\n})\nexport class SafeResourceUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeSUrl',\n standalone: false,\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeUrl {\n return this.sanitizer.bypassSecurityTrustUrl(url);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'sanitizeNull', standalone: false })\nexport class SanitizeNullPipe implements PipeTransform {\n transform(value: any): string {\n return value === 'null' || value == null ? '' : value;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'kmsTrim', standalone: false })\nexport class TrimPipe implements PipeTransform {\n transform(value: any) {\n if (!value) {\n return '';\n }\n\n return value.trim();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsTypeOf',\n standalone: false,\n})\nexport class TypeofPipe implements PipeTransform {\n transform(value: any): any {\n return typeof value;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CommonModule, CurrencyPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IntegerCurrency } from './integer-currency.pipe';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { SafeResourceUrlPipe } from './safe-resource-url.pipe';\nimport { SafeUrlPipe } from './safe-url.pipe';\nimport { SanitizeNullPipe } from './sanitaze-null.pipe';\nimport { TrimPipe } from './trim.pipe';\nimport { TypeofPipe } from './typeof.pipe';\n\n@NgModule({\n declarations: [\n IntegerCurrency,\n SafeHtmlPipe,\n SanitizeNullPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n imports: [CommonModule],\n exports: [\n IntegerCurrency,\n SafeHtmlPipe,\n SanitizeNullPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n providers: [CurrencyPipe],\n})\nexport class CustomPipesModule {}\n","/**\n * @copyright KMS GmbH\n */\n\n// ng\nimport {\n AfterContentChecked,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n/**\n * Directive to calc the height of all inner elements\n */\n@Directive({\n selector: '[getMaxHeight]',\n standalone: false,\n})\nexport class GetMaxHeightDirective implements AfterContentChecked {\n /**\n * CSS class name of the child items (markup elements) that should be checked for their height.\n * This is mandatory.\n */\n @Input('getMaxHeight') cssClassName = '';\n\n /**\n * Event that will pass the height of the tallest child inside the container.\n * Useful to calculate the target height of containers with different content (like accordion) for animations.\n */\n @Output() public maxHeightChanged: EventEmitter<number> = new EventEmitter();\n\n /**\n * Event that will pass the complete sum of all height values from each child.\n * Useful to calculate the full target height of a container (like dropdown) for animations.\n */\n @Output() public sumOfHeight: EventEmitter<number> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterContentChecked(): void {\n this.checkHeightOfChildren(this.el.nativeElement, this.cssClassName);\n }\n\n private checkHeightOfChildren(parent: HTMLElement, cssClassName: string) {\n if (!parent) {\n return;\n }\n\n // find all the child elements with the selected class name\n const children = parent.getElementsByClassName(cssClassName);\n\n // failsafe\n if (!children) {\n return;\n }\n\n // get all the child elements heights\n const itemHeights = Array.from(children).map(\n (x) => x.getBoundingClientRect().height\n );\n\n // failsafe\n if (itemHeights.length === 0) {\n return;\n }\n\n // find out the tallest element\n const maxHeight = itemHeights.reduce((prev, curr) => {\n return curr > prev ? curr : prev;\n }, 0);\n\n // get sum of heights\n const sumOfHeight = itemHeights.reduce((pv, cv) => pv + cv, 0);\n\n // inform\n this.maxHeightChanged.emit(maxHeight);\n this.sumOfHeight.emit(sumOfHeight);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from './swipe.model';\n\n@Directive({\n selector: '[swipeDirective]',\n standalone: false,\n})\nexport class SwipeDirective {\n /**\n * Output Event that is emitted during swipe process (mouse move or touch move event).\n * Can be used for calculation purposes.\n */\n @Output() public moveEvent = new EventEmitter<SwipeMoveEvent>();\n\n /**\n * Output Event that is emitted when swipe process end (mouse up or touch end event).\n * Can be used for calculation purposes.\n */\n @Output() public releaseEvent = new EventEmitter<SwipeReleaseEvent>();\n\n private _swipeOptions: SwipeOptions | undefined;\n\n private _moveEventData: SwipeMoveEvent | undefined;\n private _startPosition = -1;\n\n private _lastPosX = 0;\n\n private _thresholdWasReached = false;\n\n private _isMobile: boolean | undefined;\n\n private _timeStart = 0;\n\n /**\n * Needed config that defines swipe behaviour.\n * @param options SwipeOptions\n */\n @Input('swipeDirective')\n set config(options: SwipeOptions) {\n if (options) {\n this._swipeOptions = options;\n }\n }\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n onMouseDown(event: any) {\n this.calculateStartPosition(event);\n }\n\n @HostListener('mousemove', ['$event'])\n @HostListener('touchmove', ['$event'])\n onMove(event: any) {\n this.move(event);\n }\n\n @HostListener('mouseup', ['$event'])\n @HostListener('mouseleave', ['$event'])\n @HostListener('touchend', ['$event'])\n onRelease(event: any) {\n this.release(event);\n this.reset();\n }\n\n // ** PRIVATE ** //\n\n /**\n * Function checks if the current moving delta is inside the defined threshold.\n * Sets the flag to true if the threshold was reached once.\n */\n private checkThreshold(moveEvent: SwipeMoveEvent) {\n const percentage =\n this._swipeOptions && this._swipeOptions.swipeThresholdType === '%';\n\n if (\n !percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistanceTotal < this._swipeOptions.swipeThreshold\n ) {\n return;\n } else if (\n percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistancePercentage <\n this._swipeOptions.swipeThreshold / 100\n ) {\n return;\n } else {\n this._thresholdWasReached = true;\n }\n }\n\n private calculateStartPosition(event?: any) {\n // detect if touch or click\n this._isMobile = event.type === 'touchstart';\n\n // save start position\n\n if (this._swipeOptions && this._swipeOptions.swipeLocalPosition) {\n if (this._isMobile) {\n const touch: Touch = event.touches[0];\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n this._lastPosX = this._startPosition;\n this._timeStart = event.timeStamp;\n this._thresholdWasReached = false;\n }\n\n private move(event: any) {\n // failsafe\n if (typeof event === 'undefined') {\n return;\n }\n\n let posX = 0;\n\n if (this._swipeOptions) {\n if (this._isMobile && event.type === 'touchmove') {\n const touch: Touch = event.touches[0];\n posX = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n posX = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n const offsetPerFrame: number = posX - this._lastPosX;\n const swipeDistanceTotal: number = Math.abs(posX - this._startPosition);\n const swipeDistancePercentage: number = Math.abs(\n swipeDistanceTotal / event.target.clientWidth\n );\n const timeDuration: number = Math.abs(event.timeStamp - this._timeStart);\n\n let direction: number;\n let speed: number = 1 - swipeDistanceTotal / timeDuration;\n speed = Math.max(0.1, speed);\n\n if (posX - this._startPosition > 0) {\n direction = 1; // a.k.a LTR\n } else {\n direction = -1; // a.k.a RTL\n }\n\n this._moveEventData = {\n position: posX,\n offsetPerFrame: offsetPerFrame,\n swipeDistanceTotal: swipeDistanceTotal,\n swipeDistancePercentage: swipeDistancePercentage,\n direction: direction,\n speed: speed,\n thresholdWasReached: this._thresholdWasReached,\n };\n\n this.checkThreshold(this._moveEventData);\n\n // update move delta\n this._lastPosX = posX;\n\n // inform\n this.moveEvent.emit(this._moveEventData);\n }\n\n private release(event: any) {\n // case: just a click/touch\n\n if (!this._moveEventData) {\n return;\n }\n\n const releaseEventData: SwipeReleaseEvent = {\n thresholdWasReached: this._thresholdWasReached,\n direction: this._moveEventData.direction,\n speed: this._moveEventData.speed,\n easingType: this.getEasingCurve(this._moveEventData.speed),\n target: event.currentTarget,\n };\n\n // inform\n this.releaseEvent.emit(releaseEventData);\n }\n\n private getEasingCurve(speed: number): string {\n return speed > 0.5 ? 'ease-in' : 'ease-out';\n }\n\n private reset() {\n this._startPosition = -1;\n this._thresholdWasReached = false;\n\n if (this._moveEventData) {\n this._moveEventData = undefined;\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[kmsTime]',\n standalone: false,\n})\nexport class TimeDirective {\n constructor(private el: ElementRef) {}\n\n @HostListener('input', ['$event']) onInputChange(event: InputEvent) {\n this.handleInput(event);\n }\n\n @HostListener('beforeinput', ['$event']) onBeforeInput(event: InputEvent) {\n if (\n event.inputType === 'insertFromPaste' ||\n event.inputType === 'insertText'\n ) {\n const isAllTextHighlighted =\n (event.target as HTMLInputElement).selectionStart === 0 &&\n (event.target as HTMLInputElement).selectionEnd === 5;\n const textReachedMax =\n (event.target as HTMLInputElement).value.length > 4;\n const isNotANumber = isNaN(+event.data);\n\n if (isNotANumber || (textReachedMax && !isAllTextHighlighted)) {\n event.preventDefault();\n }\n this.handleInput(event);\n }\n }\n\n public handleInput(event: InputEvent) {\n const inputElement = this.el.nativeElement as HTMLInputElement;\n const originalValue = inputElement.value;\n\n if (originalValue.length === 2 && event.inputType === 'insertText') {\n inputElement.value += ':';\n inputElement.dispatchEvent(new Event('input'));\n }\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n offset,\n Placement,\n shift,\n} from '@floating-ui/dom';\n\n@Directive({ selector: '[kmsTooltip]', standalone: false })\nexport class TooltipDirective implements AfterViewInit, OnChanges {\n @Input() kmsTooltip: HTMLElement;\n @Input() placement: Placement = 'bottom';\n @Input() delay: number = 0;\n @Input() alwaysVisible = false;\n\n arrow: HTMLElement;\n showTimeout: NodeJS.Timeout;\n\n @HostListener('mouseover')\n onMouseOver() {\n if (this.alwaysVisible) return;\n\n this.showTimeout = setTimeout(() => {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n }, this.delay);\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (this.alwaysVisible) return;\n\n clearTimeout(this.showTimeout);\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip');\n this.addArrow();\n this.initTooltip();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.alwaysVisible.currentValue) {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n } else {\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n }\n\n initTooltip() {\n autoUpdate(this.elementRef.nativeElement, this.kmsTooltip, () => {\n const arrowLength = this.arrow.offsetWidth;\n // Get half the arrow box's hypotenuse length\n const floatingOffset = Math.sqrt(2 * arrowLength ** 2) / 2;\n\n computePosition(this.elementRef.nativeElement, this.kmsTooltip, {\n placement: this.placement,\n middleware: [\n shift(),\n offset(floatingOffset),\n arrow({ element: this.arrow }),\n flip(),\n ],\n }).then(({ x, y, middlewareData, placement }) => {\n this.positionTooltip(x, y);\n\n if (middlewareData.arrow) {\n this.positionTooltipArrow(\n middlewareData.arrow.x,\n middlewareData.arrow.y,\n placement,\n arrowLength\n );\n }\n });\n });\n }\n\n positionTooltip(x: number, y: number) {\n Object.assign(this.kmsTooltip.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n }\n\n positionTooltipArrow(\n x: number,\n y: number,\n placement: Placement,\n arrowLength: number\n ) {\n const side = placement.split('-')[0];\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[side];\n\n this.addArrowClass(staticSide);\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${x}px` : '',\n top: y != null ? `${y}px` : '',\n // Ensure the static side gets unset when\n // flipping to other placements' axes.\n right: '',\n bottom: '',\n [staticSide]: `${-arrowLength / 2}px`,\n transform: 'rotate(45deg)',\n });\n }\n\n addArrow() {\n this.arrow = this.renderer.createElement('div');\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow');\n this.renderer.appendChild(this.kmsTooltip, this.arrow);\n }\n\n addArrowClass(side: string) {\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--left');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--right');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--bottom');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--top');\n\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow--' + side);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { GetMaxHeightDirective } from './sum-of-height.directive';\nimport { SwipeDirective } from './swipe.directive';\nimport { TimeDirective } from './time.directive';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [\n SwipeDirective,\n GetMaxHeightDirective,\n TooltipDirective,\n TimeDirective,\n ],\n exports: [\n SwipeDirective,\n GetMaxHeightDirective,\n TooltipDirective,\n TimeDirective,\n ],\n})\nexport class DirectivesModule {}\n","/**\n * @copyright KMS GmbH\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, OnDestroy, PLATFORM_ID, DOCUMENT } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { NullAble } from '../models';\n\ndeclare const window: any;\ndeclare const document: any;\n\nexport class WindowDimensions {\n constructor(data?: Partial<WindowDimensions>) {\n Object.assign(this, data);\n }\n Height!: number;\n Width!: number;\n Orientation!: \"landscape\" | \"portrait\";\n}\n\nexport class SimpleBreakpoint {\n constructor(data?: Partial<SimpleBreakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n MaximumPixels!: number;\n}\n\nexport class Breakpoint {\n constructor(data?: Partial<Breakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n Low!: number;\n High!: number;\n}\n\n/**\n * Service to get viewport\n */\n@Injectable()\nexport class ViewportService implements OnDestroy {\n public readonly simpleBreakpoints: SimpleBreakpoint[] = [\n { Number: 0, Name: 'mobile', MaximumPixels: 768 },\n { Number: 1, Name: 'tablet', MaximumPixels: 1024 },\n { Number: 2, Name: 'desktop', MaximumPixels: 1600 },\n { Number: 3, Name: 'high', MaximumPixels: 2500 },\n ];\n\n public readonly breakpoints: Breakpoint[] = [\n {\n Number: 0,\n Name: 'xs',\n Low: 360,\n High: 990,\n },\n {\n Number: 1,\n Name: 's',\n Low: 991,\n High: 1024,\n },\n {\n Number: 2,\n Name: 'm',\n Low: 1025,\n High: 1200,\n },\n {\n Number: 3,\n Name: 'l',\n Low: 1201,\n High: 1400,\n },\n {\n Number: 4,\n Name: 'xl',\n Low: 1401,\n High: 1600,\n },\n {\n Number: 5,\n Name: 'xxl',\n Low: 1601,\n High: 1920,\n },\n {\n Number: 6,\n Name: 'xxxl',\n Low: 1921,\n High: 99999,\n },\n ];\n\n private viewportChangedSubscriber: Subject<string> = new Subject<string>();\n private viewportResizedSubscriber: Subject<number> = new Subject<number>();\n\n private currentViewport!: string;\n private currentViewportObject!: Breakpoint;\n private isBrowser = false;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: Object,\n @Inject(DOCUMENT) public document: Document\n ) {\n if (isPlatformBrowser(this.platformId)) {\n window.addEventListener('resize', this.documentSizeChanged.bind(this), {\n passive: true,\n });\n this.isBrowser = true;\n }\n }\n\n /**\n * Get document height\n */\n public getDocumentHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 1200;\n }\n\n /**\n * Get document width\n */\n public getDocumentWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Get window height\n */\n public getWindowHeight(): number {\n return this.isBrowser ? window.innerHeight : 1200;\n }\n\n /**\n * Get window width\n */\n public getWindowWidth(): number {\n return this.isBrowser ? window.innerWidth : 1200;\n }\n\n /**\n * Returns the current viewport MQ as string\n * @returns string\n */\n public getCurrentViewPort(): string {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewport = this.convertWidthToMediaQuery(currentWidth).Name;\n\n return this.currentViewport;\n }\n\n /**\n * Returns the current viewport MQ as object with all informations\n * @returns string\n */\n public getCurrentViewPortObject(): Breakpoint {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewportObject = this.convertWidthToMediaQuery(currentWidth);\n\n return this.currentViewportObject;\n }\n\n /**\n * Returns the current viewport as number\n * @deprecated use getCurrentViewPortDimensions instead\n * @returns string\n */\n public getCurrentViewPortNumber(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport width as number\n * @returns string\n */\n public getCurrentViewPortWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport as number\n * @returns string\n */\n public getCurrentViewPortHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 600;\n }\n\n /**\n * Returns the current viewport dimensions\n * @returns string\n */\n public getCurrentViewPortDimensions(): WindowDimensions {\n return this.isBrowser ? {Width:document.body.clientWidth,Height:document.body.clientWidth,Orientation:this.getOrientationAsString() } as WindowDimensions : {Width:800, Height:600, Orientation: \"landscape\"} as WindowDimensions;\n }\n\n /**\n * Provides mq´s as string\n */\n public getViewportChangedObserver(): Observable<string> {\n return this.viewportChangedSubscriber.asObservable();\n }\n\n /**\n * Provides the current window width as number\n */\n public getViewportResizedObserver(): Observable<number> {\n return this.viewportResizedSubscriber.asObservable();\n }\n\n /**\n * Scroll to element\n */\n public scrollToElementId(el: string, alignCenter = false) {\n if (this.isBrowser) {\n this.scrollToElement(document.querySelector('#' + el), alignCenter);\n }\n }\n\n /**\n * Helper function that scrolls to the given markup element.\n * @param el - nativeElement from markup\n * @param alignCenter - defines if the element needs to be centered on window\n */\n\n public scrollToElement(el: HTMLElement, alignCenter = false) {\n if (this.isBrowser) {\n let extraScrollTop = 0;\n\n if (alignCenter) {\n extraScrollTop = (window.innerHeight - el.clientHeight) / 2;\n }\n\n let offsetLeft = 0;\n let offsetTop = 0;\n\n let elTemp: NullAble<HTMLElement> = el;\n\n while (elTemp) {\n offsetLeft += elTemp.offsetLeft;\n offsetTop += elTemp.offsetTop;\n elTemp = elTemp.parentElement ? elTemp.parentElement : null;\n }\n\n window.scrollTo({\n left: offsetLeft,\n top: offsetTop - extraScrollTop,\n behavior: 'smooth',\n });\n }\n }\n\n /**\n * Scroll to the top position\n * @param top - top position value\n */\n public scrollTop(top: number) {\n if (this.isBrowser) {\n window.scrollTo({ left: 0, top: top, behavior: 'smooth' });\n }\n }\n\n /**\n * If orientation is portrait\n */\n public isPortrait() : boolean|undefined {\n if (this.isBrowser) return window.innerHeight > window.innerWidth;\n else return undefined;\n }\n\n /**\n * If orientation is landscape\n */\n public isLandscape() :boolean|undefined {\n if (this.isBrowser) {\n const isLandscape =\n window.orientation === 90 || window.orientation === -90;\n return isLandscape;\n } else {\n return undefined;\n }\n }\n\n /**\n * Get screen orientation (portrait/landscape)\n */\n public getOrientationAsString() : \"portrait\" | \"landscape\" {\n return this.isPortrait ? \"portrait\" : \"landscape\";\n }\n\n /**\n * If mobile breakpoint (below tablet)\n */\n public isMobile():boolean {\n return this.getCurrentViewPortNumber() < this.breakpoints[2].Low;\n }\n\n /**\n * Get height of an element\n * @deprecated\n */\n public calculateFullscreenElementsheight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n return this.calculateFullscreenElementsHeight(id, defaultheight, extra);\n }\n\n /**\n * Get height of an element\n */\n public calculateFullscreenElementsHeight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n \n if (!this.isBrowser || this.isMobile()) {\n return defaultheight;\n } else {\n const map = this.document.getElementById(id);\n const footer = this.document.getElementsByTagName('footer')[0];\n if (map && footer) {\n return `${window.innerHeight - map.offsetTop - footer.offsetHeight - extra\n }px`;\n } else {\n console.warn('could not calculate map height');\n return defaultheight;\n }\n }\n }\n\n /**\n * If viewport changed\n * @event\n */\n private documentSizeChanged(event: any) {\n const currentWindowWidth: number = event.target.innerWidth;\n // inform who´s interested\n this.viewportResizedSubscriber.next(currentWindowWidth);\n\n if (currentWindowWidth > 0) {\n for (const mqs of this.breakpoints) {\n if (currentWindowWidth > mqs.High) {\n continue;\n } else if (\n (currentWindowWidth >= mqs.Low || currentWindowWidth <= mqs.High) &&\n this.currentViewport !== mqs.Name\n ) {\n this.currentViewport = mqs.Name;\n // inform who´s interested\n this.viewportChangedSubscriber.next(mqs.Name);\n break;\n } else if (this.currentViewport === mqs.Name) {\n break;\n } else {\n console.error('ERROR');\n }\n }\n }\n }\n\n /**\n * Get the Media Query for the given width\n * @param width Width to get the according MQ for\n */\n private convertWidthToMediaQuery(width: number): Breakpoint {\n let currentViewport = this.breakpoints[0];\n\n for (const mqs of this.breakpoints) {\n if (width <= mqs.High && width >= mqs.Low) {\n currentViewport = mqs;\n break;\n }\n }\n\n return currentViewport;\n }\n\n /**\n * Get the breakpoint/device name like mobile,tablet,desktop, high\n */\n getSimpleBreakpoint(screenSize: number) :SimpleBreakpoint {\n let actualBreakpoint: SimpleBreakpoint | undefined;\n\n const sizes = this.simpleBreakpoints.slice().reverse(); // we need to reverse it to check step by step from biggest, which breakpoints still fits. Slice is a trick to not mutate the original array and make a copy\n for (const key in sizes) {\n if (screenSize < sizes[key].MaximumPixels) {\n actualBreakpoint = sizes[key];\n }\n }\n if (!actualBreakpoint) {\n actualBreakpoint = sizes[0]; // default screensize is biggest. Will be used if viewport is bigger as maximum. Remember, array is reversed\n }\n\n return actualBreakpoint;\n }\n\n ngOnDestroy() {\n if (this.isBrowser) {\n window.removeEventListener('resize', this.documentSizeChanged);\n }\n }\n}\n","export enum Color {\n PRIMARY = '--kms-primary',\n SECONDARY = '--kms-secondary',\n TERTIARY = '--kms-tertiary',\n SUCCESS = '--kms-success',\n ALERT = '--kms-alert',\n ERROR = '--kms-error',\n DISABLED = '--kms-disabled',\n WHITE = '--kms-white',\n BLACK = '--kms-black',\n}\n\nexport enum StylingTheme {\n PRIMARY = 'primary',\n SECONDARY = 'accent',\n WARN = 'warn',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum IconSizePx {\n XXS = 16,\n XS = 20,\n SM = 32,\n MD = 64,\n LG = 128,\n XL = 256,\n XXL = 512,\n}\n\nexport const IconSizesArr = [\n IconSizePx.XXS,\n IconSizePx.XS,\n IconSizePx.SM,\n IconSizePx.MD,\n IconSizePx.LG,\n IconSizePx.XL,\n IconSizePx.XXL,\n];\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, input, InputSignal, VERSION } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport * as icons from '@ui-presentational/assets/icons.json';\nimport { Color } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n selector: 'kms-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n standalone: false,\n})\nexport class IconComponent {\n /**\n * Required: Name of the SVG icon inside your sprite sheet file with name 'icons.svg'.\n * Pass 'none' if no icon should be rendered.\n */\n icon: InputSignal<(typeof icons)[number]> = input();\n\n /**\n * Optional: Different appearance via CSS class defined in this component´s style sheet.\n */\n iconClass = input('');\n\n size: InputSignal<number> = input(IconSizePx.XS);\n dontUseSprite = input(false);\n color = input(Color.BLACK);\n\n Version = VERSION.full;\n\n constructor(public sanitizer: DomSanitizer) {}\n}\n","@if (icon() !== 'none' && dontUseSprite() === false) {\n <span\n class=\"icon\"\n [ngClass]=\"iconClass()\"\n [ngStyle]=\"{\n color: 'var(' + color() + ')'\n }\"\n [style.width.px]=\"size()\"\n [style.height.px]=\"size()\"\n >\n <svg [style.width.px]=\"size()\" [style.height.px]=\"size()\">\n <use\n [attr.xlink:href]=\"\n 'assets/sprite.svg?Version=' + Version + '#' + icon()\n \"\n ></use>\n </svg>\n </span>\n}\n@if (icon() !== 'none' && dontUseSprite() === true) {\n <object\n [data]=\"\n sanitizer.bypassSecurityTrustResourceUrl('assets/icons/' + icon() + '')\n \"\n type=\"image/svg+xml\"\n class=\"icon\"\n [ngClass]=\"iconClass()\"\n ></object>\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport { Component, HostListener, Inject, PLATFORM_ID } from '@angular/core';\nimport { Color } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n selector: 'kms-back-to-top',\n templateUrl: './back-to-top.component.html',\n standalone: false,\n})\nexport class BackToTopComponent {\n windowScrolled?: boolean;\n\n IconSizePx = IconSizePx;\n Color = Color;\n\n constructor(@Inject(PLATFORM_ID) public platformId: Object) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (isPlatformBrowser(this.platformId)) {\n if (\n window.scrollY ||\n document.documentElement.scrollTop ||\n document.body.scrollTop > 100\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.scrollY) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n }\n\n scrollToTop() {\n if (isPlatformBrowser(this.platformId)) {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n }\n }\n}\n","<div\n class=\"scrollToTop\"\n [ngClass]=\"{ show: windowScrolled }\"\n (click)=\"scrollToTop()\"\n>\n <div class=\"scrollToTop-inner\">\n <kms-icon\n icon=\"floating_button_clear\"\n [color]=\"Color.WHITE\"\n [size]=\"IconSizePx.SM\"\n ></kms-icon>\n </div>\n</div>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'kms-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n standalone: false,\n})\nexport class CardComponent {\n imageUrl = input('');\n hoverEffect = input(false);\n}\n","<div class=\"card\" [ngClass]=\"{ hoverEffect: hoverEffect() }\">\n @if(imageUrl() !== '') {\n <div\n class=\"card-image\"\n [ngStyle]=\"{ 'background-image': 'url(' + imageUrl() + ')' }\"\n ></div>\n }\n <div class=\"card-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() infoText = '';\n @Input() checked = false;\n @Input() disabled = false;\n\n /**\n * Internal description name. All checkboxes with the same name belong to the same group.\n * User can select none, one or all checkboxes with the same name.\n */\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n valueChanged(value: boolean) {\n this.onChange(value);\n this.checked = value;\n this.change.emit(value);\n this.onTouched();\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any) {\n this.checked = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n","<div class=\"checkbox-container\" [class.disabled]=\"disabled\">\n <mat-checkbox\n [disabled]=\"disabled\"\n [name]=\"name\"\n [(ngModel)]=\"checked\"\n (change)=\"valueChanged($event.checked)\"\n color=\"primary\"\n >\n {{ infoText }}\n </mat-checkbox>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\n\n@Component({\n standalone: false,\n selector: 'kms-form',\n template: '',\n})\nexport class FormParentComponent implements OnInit {\n public form!: UntypedFormGroup;\n public formInitialized = false;\n private allowedCharsOnlyNumbers = new Set(\n '0123456789'.split('').map((c) => c.charCodeAt(0))\n );\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> =\n new EventEmitter();\n\n @Input() disabled = false;\n\n // TODO make a service or make own compoennt etc.\n /**\n * Returns if a number was pressed\n * @param e\n * @returns\n */\n checkIfKeyWasNumber(\n e: KeyboardEvent,\n allowDelete = true,\n allowArrows = true,\n allowCutCopyPaste = true\n ) {\n // returns if keycode of numbers-row or numberpad. Or if parameter set, allow delete/backspace key\n const isNumberRow = e.keyCode >= 48 && e.keyCode <= 57;\n const isNumberPad = e.keyCode >= 96 && e.keyCode <= 105;\n const isArrows = e.keyCode >= 37 && e.keyCode <= 40;\n const isDelete = e.keyCode == 8 || e.keyCode == 46;\n const isCutCopyOrPaste =\n (e.ctrlKey || e.metaKey) &&\n (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);\n return (\n isNumberRow ||\n isNumberPad ||\n (allowDelete && isDelete) ||\n (allowArrows && isArrows) ||\n (allowCutCopyPaste && isCutCopyOrPaste)\n );\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents to input other chars than numbers in input\n * @param event\n */\n removeNumbersOnType(event: KeyboardEvent) {\n // only allow keydown from numbers-row or numberpad of keybard and block other chars than numbers\n if (\n !this.checkIfKeyWasNumber(event) &&\n !this.allowedCharsOnlyNumbers.has(event.keyCode)\n ) {\n event.preventDefault();\n }\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents input when pasting which is not number\n * @param event\n */\n removeNumbersOnPaste(event: ClipboardEvent) {\n const clipboardData = event.clipboardData;\n if (clipboardData) {\n const pastedText = clipboardData.getData('text');\n if (pastedText) {\n const isnum = /^\\d+$/.test(pastedText);\n if (!isnum) {\n event.preventDefault();\n }\n }\n }\n }\n\n ngOnInit() {\n this.formDataChanged.emit(this.form);\n this.form.valueChanges.subscribe(() => {\n this.formDataChanged.emit(this.form);\n });\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { FormParentComponent } from './form.component';\n\n@Component({\n standalone: false,\n selector: 'kms-formControlParent',\n template: '',\n})\nexport class FormControlParentComponent extends FormParentComponent {\n @Input() defaultDataOverride = ''; // when we have NO form around, get default via input to set it manually\n @Output() onSelectItemEmitter = new EventEmitter<string>();\n\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue = '';\n\n constructor(public renderer: Renderer2) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n change(value: string) {\n this.onChange(value);\n this.onTouched();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: any = () => {};\n\n get value(): string {\n return this.internalValue;\n }\n\n set value(value: string) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n if (!this.internalValue && this.defaultDataOverride) {\n this.internalValue = this.defaultDataOverride;\n }\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: string) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child?.nativeElement) {\n this.renderer.setProperty(\n this.child.nativeElement,\n 'disabled',\n isDisabled\n );\n }\n\n this.disabled = isDisabled;\n\n if (isDisabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n }\n\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : false;\n }\n}\n","import {\n Component,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormArray,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { FormControlParentComponent } from '../../../parent-components/form-control.component';\n\n/**\n * Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}\n */\n@Component({\n selector: 'kms-dropdown-from-data',\n templateUrl: './dropdown-from-data.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownFromDataComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class DropdownFromDataComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor, OnChanges\n{\n // structured data as a enum set. Can be used in combination with 'optionsPlainArray' to set diferent values by index\n @Input() optionsEnum: any;\n\n // structured data as a simple array of elements\n @Input() optionsPlainArray: any[];\n\n // structured data as an array of objects used in combination with the input 'mapKey' and 'mapValue'\n @Input() optionsObjArray: any[];\n // key identifier of the obj. If mapValue doesnt exist, mapKey is also the value\n @Input() mapKey?: any;\n // value identifier of the obj\n @Input() mapValue?: any;\n\n // options for the dropdown have a null value at the beginning of the array\n @Input() hasNullOption = false;\n\n // preselected keys of the dropdown\n @Input() preselectedKeys: any;\n\n // translation object for the label and placeholder\n @Input() translation?: ITranslation;\n @Input() placeholder = '';\n @Input() label = '';\n @Input() required = false;\n @Input() useEnumIndexAsValue = false;\n\n // multiple selection\n @Input() multiple = false;\n\n @Input() selectAllText?: string;\n @Input() disableOptions = false;\n\n public keys: any[] = [];\n public values: any[] = [];\n\n Object = Object;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n /**\n * Hook used to sync changes on set Label and Type\n * @param changes\n */\n ngOnChanges(changes: SimpleChanges) {\n if (changes.optionsPlainArray) {\n this.values = this.optionsPlainArray;\n this.keys = this.optionsPlainArray;\n }\n this.setKeyValues();\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n dropdownData: new UntypedFormControl([]),\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.dropdownData;\n this.onChange(value.dropdownData);\n });\n\n if (this.preselectedKeys)\n this.form.patchValue({\n dropdownData: this.preselectedKeys,\n });\n\n super.ngOnInit();\n }\n\n /**\n * transofrms the data values to the correct format for be used by the template\n * @param value\n */\n private setKeyValues(): void {\n if (this.optionsObjArray && this.mapKey && this.mapValue) {\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\n this.values = this.optionsObjArray.map(\n (obj: any) => obj[`${this.mapValue}`]\n );\n } else if (this.optionsObjArray && this.mapKey) {\n this.keys = this.optionsObjArray.map((obj: any) => obj[`${this.mapKey}`]);\n this.values = this.optionsObjArray.map(\n (obj: any) => obj[`${this.mapKey}`]\n );\n }\n\n if (this.optionsEnum) {\n const enumObj = this.optionsEnum;\n\n // Get enum keys (excluding reverse mappings for numeric enums)\n this.keys = Object.keys(enumObj).filter((k) => isNaN(Number(k)));\n\n if (this.optionsPlainArray) {\n this.values = this.optionsPlainArray;\n } else {\n const values = this.keys.map((k) => enumObj[k]);\n\n let keyValueEnum = false;\n\n for (let i = 0; i < this.keys.length; i++) {\n if (i !== values[i]) {\n keyValueEnum = true;\n break;\n }\n }\n\n if (keyValueEnum || this.useEnumIndexAsValue) {\n this.values = values;\n } else {\n this.values = [...this.keys];\n }\n }\n }\n\n if (this.hasNullOption === true) {\n this.keys.unshift(null);\n this.values.unshift(null);\n }\n }\n\n /**\n * set the value of the dropdown based if translation is set\n * @param key\n */\n public setDisplayKey(key: any) {\n if (this.translation) {\n if (this.translation.isPrefix) {\n return this.translation.service?.instant?.(\n this.translation.path + '.' + key\n );\n } else if (this.translation.useKeyAsValue) {\n return this.translation.service?.instant?.(this.translation.path, {\n key: key,\n });\n } else {\n return this.translation.service?.instant?.(this.translation.path);\n }\n }\n return key;\n }\n\n valueChanged(value: any) {\n this.form.patchValue({\n dropdownData: value,\n });\n this.onSelectItemEmitter.emit(value);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get selectedElements() {\n return this.form.controls.dropdownData as FormArray;\n }\n\n allElementsChecked(): boolean {\n return (\n this.values && this.selectedElements?.value?.length === this.values.length\n );\n }\n\n isCheckboxIndeterminate(): boolean {\n return Boolean(\n this.values &&\n this.selectedElements?.value?.length < this.values.length &&\n this.selectedElements?.value?.length !== 0\n );\n }\n\n toggleAllSelection(change: MatCheckboxChange): void {\n if (change.checked) {\n this.checkAllFilters();\n } else {\n this.form.controls.dropdownData.setValue([]);\n }\n }\n\n checkAllFilters() {\n if (this.values) {\n this.form.controls.dropdownData.setValue(this.values);\n }\n }\n}\n\n/**\n * Interface that defines the translation object in template\n */\ninterface ITranslation {\n path: string;\n isPrefix?: boolean;\n useKeyAsValue?: boolean;\n service: any;\n}\n","<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n [placeholder]=\"placeholder\"\n disableOptionCentering\n (selectionChange)=\"valueChanged($event?.value)\"\n [value]=\"value\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n @if (selectAllText && !disableOptions) {\n <mat-checkbox\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText }}\n </mat-checkbox>\n }\n @for (key of keys; track key; let i = $index) {\n <mat-option\n [value]=\"values[i]\"\n [disabled]=\"disableOptions\"\n >\n {{ setDisplayKey(key) || '—' }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n</form>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'kms-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n standalone: false,\n})\nexport class LoaderComponent {\n @Input() loading = false;\n}\n","@if (loading) {\n <div class=\"loading-spinner-shade\">\n <mat-spinner class=\"spinnerMargin\" color=\"accent\" diameter=\"44\"></mat-spinner>\n </div>\n}\n","/**\n * @copyright KMS GmbH\n */\nimport { NullAble } from \"./types/nullable.type\";\n\n\n/**\n * Typical basic address data\n */\nexport class Address {\n public City: NullAble<string>;\n public Name1: NullAble<string>;\n public Name2: NullAble<string>;\n public Street: NullAble<string>;\n public Zip: NullAble<string>;\n}\n","/**\n * @copyright KMS GmbH\n */\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Address } from '../../../models/address.model';\n\n/**\n * MarkerOptions class for Marker\n */\nexport class MarkerOptions {\n animation!: number;\n}\n\n/**\n * MarkerLabel class for Marker\n */\nexport class MarkerLabel {\n color!: string;\n text!: string;\n}\n\n/**\n * Marker class\n */\nexport class Marker {\n position!: google.maps.LatLngLiteral;\n label!: MarkerLabel;\n title!: string;\n options!: MarkerOptions;\n}\n\n/**\n * Component to show marker on google map for specific address\n */\n@Component({\n selector: 'kms-map',\n templateUrl: './map.component.html',\n styleUrls: ['./map.component.scss'],\n standalone: false,\n})\nexport class MapComponent implements OnInit {\n @Input() data!: Address;\n\n public markers: Marker[] = [];\n public geoDataFoundForAddress = false;\n public widthSet = false;\n\n public width = '100%';\n public zoom = 15;\n public center: google.maps.LatLngLiteral = {\n lat: 52.097449,\n lng: 12.7436911,\n };\n\n public options: google.maps.MapOptions = {\n mapTypeId: 'roadmap',\n zoomControl: false,\n scrollwheel: false,\n disableDoubleClickZoom: true,\n maxZoom: 15,\n minZoom: 8,\n };\n\n public google: any;\n\n public geocoder: any;\n\n public viewportSubscription?: Subscription;\n\n constructor() {}\n\n ngOnInit() {\n this.findLocation(\n this.data.Street + ' ' + this.data.Zip + ' ' + this.data.City\n );\n }\n\n /**\n * Asks google for geocoordinates of a given address string\n * @input address as string\n */\n findLocation(address: string) {\n if (!this.geocoder) {\n this.geocoder = new google.maps.Geocoder();\n }\n this.geocoder.geocode(\n {\n address: address,\n },\n (\n results: google.maps.GeocoderResult,\n status: google.maps.GeocoderStatus\n ) => {\n if (status === google.maps.GeocoderStatus.OK) {\n this.center.lat = results[0].geometry.location.lat();\n this.center.lng = results[0].geometry.location.lng();\n\n this.addMarker();\n this.geoDataFoundForAddress = true;\n } else {\n console.error(\n 'Sorry, this search of map address produced no results.'\n );\n }\n }\n );\n }\n\n /**\n * Adds a marker to the map\n */\n addMarker() {\n this.markers.push({\n position: {\n lat: this.center.lat,\n lng: this.center.lng,\n },\n label: {\n color: 'blue',\n\n text: this.data.Name1 || '',\n },\n title: this.data.Name1 + ' ' + this.data.Street + ' ' + this.data.Zip,\n options: { animation: google.maps.Animation.DROP },\n });\n }\n\n /**\n * Zooms in into map\n */\n zoomIn() {\n if (this.options.maxZoom && this.zoom < this.options.maxZoom) {\n this.zoom++;\n }\n }\n\n /**\n * Zooms out from map\n */\n zoomOut() {\n if (this.options.minZoom && this.zoom > this.options.minZoom) {\n this.zoom--;\n }\n }\n}\n","@if (geoDataFoundForAddress) {\n <div>\n <google-map\n height=\"415px\"\n [width]=\"width\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n [options]=\"options\"\n >\n @for (marker of markers; track marker) {\n <map-marker\n [position]=\"marker.position\"\n [label]=\"marker.label\"\n [title]=\"marker.title\"\n [options]=\"marker.options\"\n >\n </map-marker>\n }\n </google-map>\n </div>\n}","export enum RadioButtonSize {\n SM = 'small',\n MD = 'medium',\n LG = 'large',\n}\n","/**\n * @copyright KMS GmbH\n */\nimport {\n Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { StylingTheme } from '../../../enums/colors.enum';\nimport { RadioButtonSize } from '../../../enums/radioButtonSize.enum';\n\n@Component({\n selector: 'kms-radiobutton',\n templateUrl: './radiobutton.component.html',\n styleUrls: ['./radiobutton.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButtonComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class RadioButtonComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() value: any;\n @Input() size: RadioButtonSize = RadioButtonSize.MD;\n @Input() color: StylingTheme = StylingTheme.PRIMARY;\n\n @Output() onChange: EventEmitter<void> = new EventEmitter<void>();\n\n onRadioChange(event: any): void {\n this.onChange.emit(event);\n }\n\n onTouched: () => void = () => {};\n\n writeValue(value: any): void {\n this.checked = value === this.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-radio-button\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [ngClass]=\"size\"\n [color]=\"color\"\n [value]=\"value\"\n (change)=\"onChange.emit()\"\n ngDefaultControl\n>\n {{ label }}\n</mat-radio-button>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\n\n@Component({\n selector: 'kms-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n @Input() leftLabel?: string;\n @Input() rightLabel?: string;\n @Input() checked = false;\n @Input() disabled = false;\n\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): boolean {\n return this.checked;\n }\n\n set value(value: boolean) {\n this.checked = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: MatSlideToggleChange) {\n this.change.emit($event.checked);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"kms-slide-toggle\">\n @if (leftLabel) {\n <mat-label\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n }\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n @if (rightLabel) {\n <mat-label\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n }\n </div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { ChangeContext, Options } from '@angular-slider/ngx-slider';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class SliderComponent implements ControlValueAccessor {\n @HostBinding('class.kms-slider') kmsSliderClass = true;\n @HostBinding('class.kms-slider--disabled') get disabledClass() {\n return this.disabled;\n }\n\n @Input() disabled = false;\n @Input() options: Options = {};\n @Input() max: number;\n\n @Output() change: EventEmitter<ChangeContext> = new EventEmitter();\n\n private _value = 0;\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this._value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: any) {\n this.change.emit($event);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<ngx-slider\n [(value)]=\"value\"\n [options]=\"options\"\n [highValue]=\"max\"\n (userChangeEnd)=\"change.emit($event)\"\n></ngx-slider>\n","export enum ButtonAppearance {\n BASIC = 'mat-button',\n FLAT = 'mat-flat-button',\n RAISED = 'mat-raised-button',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, computed, input, output, Signal } from '@angular/core';\nimport * as icons from '../../../../assets/icons.json';\nimport { ButtonAppearance } from '../../../enums/buttonAppearance.enum';\nimport { Color, StylingTheme } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n selector: 'kms-button',\n templateUrl: './button.component.html',\n standalone: false,\n})\nexport class ButtonComponent {\n color = input<StylingTheme>(StylingTheme.PRIMARY);\n type = input<'button' | 'submit' | 'reset'>('button');\n appearance = input<ButtonAppearance>(ButtonAppearance.FLAT);\n loading = input(false);\n label = input('');\n icon = input<(typeof icons)[number]>();\n disabled = input(false);\n buttonClick = output<Event>();\n rounded = input(false);\n\n public readonly StylingTheme = StylingTheme;\n public readonly IconSize = IconSizePx;\n public readonly ButtonAppearance = ButtonAppearance;\n\n public iconColor: Signal<Color> = computed(() => {\n if (this.disabled() || this.loading()) {\n return Color.DISABLED;\n }\n\n if (this.appearance() !== ButtonAppearance.BASIC) {\n return Color.WHITE;\n }\n\n switch (this.color()) {\n case StylingTheme.PRIMARY:\n return Color.PRIMARY;\n case StylingTheme.SECONDARY:\n return Color.TERTIARY;\n case StylingTheme.WARN:\n return Color.ERROR;\n }\n });\n}\n","<!-- Basic -->\n@if (appearance() == ButtonAppearance.BASIC) {\n<button\n mat-button\n [color]=\"color()\"\n class=\"kms-button\"\n [ngClass]=\"{\n 'kms-button--loading': loading(),\n 'kms-button--basic-primary': color() === StylingTheme.PRIMARY,\n 'kms-button--basic-accent': color() === StylingTheme.SECONDARY,\n 'kms-button--basic-warn': color() === StylingTheme.WARN,\n 'kms-button--rounded': rounded()\n }\"\n [disabled]=\"disabled() || loading()\"\n (click)=\"buttonClick.emit($event)\"\n [type]=\"type()\"\n (keyup)=\"\n ($event.key === 'Enter' || $event.key === 'Space') &&\n buttonClick.emit($event)\n \"\n>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n</button>\n}\n\n<!-- Flat -->\n@else if (appearance() == ButtonAppearance.FLAT) {\n<button\n mat-flat-button\n [color]=\"color()\"\n class=\"kms-button\"\n [ngClass]=\"{\n 'kms-button--loading': loading(),\n 'kms-button--flat-primary': color() === StylingTheme.PRIMARY,\n 'kms-button--flat-accent': color() === StylingTheme.SECONDARY,\n 'kms-button--flat-warn': color() === StylingTheme.WARN,\n 'kms-button--rounded': rounded()\n }\"\n [disabled]=\"disabled() || loading()\"\n (click)=\"buttonClick.emit($event)\"\n [type]=\"type()\"\n (keyup)=\"\n ($event.key === 'Enter' || $event.key === 'Space') &&\n buttonClick.emit($event)\n \"\n>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n</button>\n}\n\n<!-- Raised -->\n@else if (appearance() == ButtonAppearance.RAISED) {\n<button\n mat-raised-button\n [color]=\"color()\"\n class=\"kms-button\"\n [ngClass]=\"{\n 'kms-button--loading': loading(),\n 'kms-button--raised-primary': color() === StylingTheme.PRIMARY,\n 'kms-button--raised-accent': color() === StylingTheme.SECONDARY,\n 'kms-button--raised-warn': color() === StylingTheme.WARN,\n 'kms-button--rounded': rounded()\n }\"\n [disabled]=\"disabled() || loading()\"\n (click)=\"buttonClick.emit($event)\"\n [type]=\"type()\"\n (keyup)=\"\n ($event.key === 'Enter' || $event.key === 'Space') &&\n buttonClick.emit($event)\n \"\n>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n</button>\n}\n\n<ng-template #buttonTemplate>\n @if (loading()) {\n <mat-spinner class=\"kms-button__spinner\" diameter=\"22\"></mat-spinner>\n } @if (icon()) {\n <kms-icon\n class=\"kms-button__icon\"\n [color]=\"iconColor()\"\n [size]=\"IconSize.XXS\"\n [icon]=\"icon()\"\n ></kms-icon>\n }\n {{ label() }}\n</ng-template>\n","import { Component, ElementRef, input, Signal, ViewChild } from '@angular/core';\nimport { Placement } from '@floating-ui/dom';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n@Component({\n standalone: false,\n selector: 'kms-tooltip-icon',\n templateUrl: './tooltip-icon.component.html',\n styleUrls: ['./tooltip-icon.component.scss'],\n})\nexport class TooltipIconComponent {\n @ViewChild('button') button: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n tooltipText = input('');\n placement: Signal<Placement> = input();\n delay = input(1000);\n iconSize: Signal<IconSizePx> = input(IconSizePx.XS);\n tooltipAlwaysVisible = input(false);\n}\n","<div #tooltipContent>\n @if (tooltipText()) {\n {{ tooltipText() }}\n } @else {\n <ng-content></ng-content>\n }\n</div>\n\n<kms-icon\n icon=\"ic_info\"\n [size]=\"iconSize()\"\n [kmsTooltip]=\"tooltipContent\"\n [placement]=\"placement()\"\n [delay]=\"delay()\"\n [alwaysVisible]=\"tooltipAlwaysVisible()\"\n></kms-icon>\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { FormControlParentComponent } from './../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-color-input',\n templateUrl: './color-input.component.html',\n styleUrls: ['./color-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorInputComponent),\n multi: true,\n },\n ],\n})\nexport class ColorInputComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() label = '';\n @Input() tooltipText = '';\n @Input() placeholder = '';\n valid: boolean | null | undefined;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n color: new UntypedFormControl(''),\n });\n\n super.ngOnInit();\n\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.color;\n this.onChange(value.color);\n });\n }\n\n validate(_: UntypedFormControl) {\n // TODO fix to validate complete form\n this.valid = this.matchesHex(this.form.value) ? null : false;\n return (\n this.valid && {\n invalid: !this.valid,\n }\n );\n }\n\n matchesHex(match?: string) {\n if (match) {\n const ret = match.match(/^#[0-9a-f]{6}$/i);\n this.valid = ret && ret.length > 0;\n return ret;\n }\n return false;\n }\n\n updateSelectedColor(value: any) {\n const color = value.target.value;\n this.value = color;\n this.internalValue = color;\n this.change(color);\n }\n}\n","\n@if (formInitialized) {\n <form [formGroup]=\"form\">\n <div>\n <mat-form-field class=\"colorInput\">\n @if (tooltipText) {\n <kms-tooltip-icon [tooltipText]=\"tooltipText\"></kms-tooltip-icon>\n }\n <mat-label>{{ label }}</mat-label>\n <input type=\"text\" [(ngModel)]=\"value\" matInput formControlName=\"color\" [placeholder]=\"placeholder\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n <input type=\"color\" [value]=\"value && matchesHex(value) ? value : '#ffffff'\" (change)=\"updateSelectedColor($event)\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n </mat-form-field>\n </div>\n </form>\n}","export enum ButtonDialogType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Inject, NgZone } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ButtonDialogType } from './dialog-data.enum';\nimport { DialogData } from './dialog-data.model';\n\n/**\n * A confirmation dialog component\n */\n@Component({\n standalone: false,\n selector: 'kms-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n})\nexport class ConfirmationDialogComponent {\n ButtonDialogType = ButtonDialogType;\n\n public constructor(\n public dialogRef: MatDialogRef<ConfirmationDialogComponent>,\n public zone: NgZone,\n @Inject(MAT_DIALOG_DATA) public data: DialogData\n ) {\n data.buttons ?? { primary: 'Yes', secondary: 'No' };\n data.message ?? '';\n data.panelClass ?? 'size-auto';\n }\n\n /**\n * Action called when clicked\n * @param clickedButton Whether the primary or secondary button was clicked\n */\n public onClickAction(clickedButton: ButtonDialogType): void {\n this.zone.run(() => {\n this.dialogRef.close(clickedButton);\n this.dialogRef.afterClosed().subscribe(() => {\n const buttonList = document.querySelectorAll(\n '.mat-flat-button, .mat-button'\n );\n let i = 0;\n for (i; i < buttonList.length; i++) {\n buttonList[i].classList.remove('cdk-focused');\n buttonList[i].classList.remove('cdk-program-focused');\n }\n });\n });\n }\n}\n","<div class=\"dialog-container\">\n <div class=\"dialog-header\">\n <h4>{{ data.title }}</h4>\n </div>\n <div class=\"dialog-content\">\n {{ data.message }}\n </div>\n <div class=\"dialog-footer\">\n <button\n mat-flat-button\n color=\"accent\"\n (click)=\"onClickAction(ButtonDialogType.secondary)\"\n >\n {{ data.buttons.secondary }}\n </button>\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"onClickAction(ButtonDialogType.primary)\"\n >\n {{ data.buttons.primary }}\n </button>\n </div>\n</div>\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { NullAble } from '../../../models';\n\nimport { FormControlParentComponent } from './../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-enum-radiogroup',\n templateUrl: './enum-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EnumRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class EnumRadiogroupComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() header: NullAble<String>;\n @Input() optionsEnum: any;\n @Input() translationPrefix = '';\n\n public optionValues: any;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.optionValues = Object.keys(this.optionsEnum).filter(\n (x) => !(parseInt(x) >= 0)\n );\n this.form = new UntypedFormGroup({\n enumData: new UntypedFormControl([]),\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.enumData;\n this.onChange(value.enumData);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group formControlName=\"enumData\" [disabled]=\"disabled\" #child>\n @for (choice of optionValues; track choice) {\n <mat-radio-button\n [value]=\"choice\"\n [checked]=\"value === choice\"\n >{{ translationPrefix + '.' + choice | translate }}</mat-radio-button\n >\n }\n </mat-radio-group>\n </form>\n","/**\n * @copyright FLYACTS GmbH 2019\n */\n\nimport { NullAble } from \"./types/nullable.type\";\n\n\n/**\n * Check if null or undefined\n * @param value value that is being checked\n */\nexport function isValue<T>(value: NullAble<T>): value is T {\n if (value === null) {\n return false;\n }\n if (typeof value === 'undefined') {\n return false;\n }\n return true;\n}\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\n\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { IconSizePx } from '../../../enums/iconSize.enum';\nimport { isValue } from '../../../models/is-value.function';\nimport { AttachedFileDTO } from '../../../models/types/attached-file-dto.model';\n\n// Max size in bytes of uploaded image\nconst MAX_SIZE_BYTES = 2097152;\n\n@Component({\n standalone: false,\n selector: 'kms-file-input',\n templateUrl: './file-input.component.html',\n styleUrls: ['./file-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n ],\n})\nexport class FileInputComponent implements ControlValueAccessor, OnInit {\n @ViewChild('fileInput') public fileInput: any;\n\n @Input() label = '';\n\n @Input() previewImage = true;\n @Input() allowRemove = true;\n @Input() previewImageText = '';\n @Input() maxSizeBytes = MAX_SIZE_BYTES;\n @Input() resizePixels = 0;\n @Input() acceptedFileMimetypes = 'image/jpeg, image/jpg, image/png';\n\n form = new UntypedFormGroup({\n ImageIdent: new UntypedFormControl(''),\n ImageLink: new UntypedFormControl(''),\n Filename: new UntypedFormControl(''),\n ImageAsDataURL: new UntypedFormControl(''),\n Text: new UntypedFormControl(''),\n });\n\n subscriptions: Subscription[] = [];\n newImageLoading = false;\n\n IconSizePx = IconSizePx;\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> =\n new EventEmitter();\n\n /**\n * Constructor\n * @param appRef\n * @param cd\n * @param translateService\n * @param renderer\n */\n constructor(\n public appRef: ApplicationRef,\n public cd: ChangeDetectorRef,\n public renderer: Renderer2\n ) {}\n\n /**\n * Click on button triggers file-input to open OS file dialog\n */\n selectImageOverlay() {\n this.fileInput.nativeElement.click();\n }\n\n /**\n * Function to manage the input image\n * Returns an error if the file exceeds maximum wanted filesize (Mb).\n * @param ev\n * @returns\n */\n selectImage(ev: any) {\n if (ev.target.files && ev.target.files[0]) {\n const file: File = ev.target.files[0];\n\n if (file.size > this.maxSizeBytes) {\n this.clearInputValue(ev);\n return;\n } else {\n this.newImageLoading = true;\n\n if (this.resizePixels > 0) {\n const logoUrl = URL.createObjectURL(file);\n const imgEl = document.createElement('img');\n imgEl.addEventListener('load', () => {\n const resizedLogo = this.resizeImage(imgEl, this.resizePixels);\n const newFile = this.generateModel(\n file.name,\n resizedLogo,\n this.value.ImageIdent,\n this.value.ImageLink,\n this.value.Text\n );\n this.value = newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n });\n imgEl.src = logoUrl;\n } else {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (e: any) => {\n const newFile = this.generateModel(\n file.name,\n e.target.result,\n this.value.ImageIdent,\n this.value.ImageLink,\n this.value.Text\n );\n this.value = newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n };\n }\n }\n } else {\n console.warn('No file selected');\n }\n }\n\n /**\n * Resize an image\n * @param imgEl\n * @param wantedWidth as number\n * @returns string\n */\n private resizeImage(imgEl: any, wantedWidth: number) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const aspect = imgEl.width / imgEl.height;\n canvas.width = wantedWidth;\n canvas.height = wantedWidth / aspect;\n if (isValue(ctx)) ctx.drawImage(imgEl, 0, 0, canvas.width, canvas.height);\n return canvas.toDataURL();\n }\n\n /**\n * Generate default object\n * @param name as string\n * @param content as string\n * @returns AttachedFileDTO\n */\n generateModel(\n name?: string,\n content?: string,\n ident?: string,\n imageLink?: string,\n text?: string\n ) {\n return {\n ImageIdent: ident ? ident : '',\n Filename: name ? name : '',\n ImageAsDataURL: content ? content : '',\n ImageLink: imageLink ? imageLink : '',\n Text: text ? text : '',\n } as AttachedFileDTO;\n }\n\n /**\n * Remove image\n */\n removeFromList() {\n this.value = this.generateModel('', '', '', '');\n }\n\n /**\n * get value\n */\n get value(): AttachedFileDTO {\n return this.form.value;\n }\n\n /**\n * set value\n */\n set value(value: AttachedFileDTO) {\n this.form.setValue(value);\n this.onChange(value);\n this.formDataChanged.emit(this.form);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ngOnInit() {}\n\n ngOnDestroy() {\n this.subscriptions.forEach((s) => s.unsubscribe());\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n writeValue(value: AttachedFileDTO | null) {\n if (value) {\n this.value = value;\n }\n\n if (value === null) {\n this.form.reset();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : { styles: { valid: false } };\n }\n\n /**\n * OnClick event listener of input#fileInput to clear his input value\n */\n clearInputValue(ev: any) {\n const element = ev.target as HTMLInputElement;\n element.value = '';\n }\n}\n","<form [formGroup]=\"form\" (change)=\"newImageLoading = true\" class=\"fileInput\">\n @if (form.value.Filename && previewImage) {\n <div>\n @if (newImageLoading) {\n <div>\n {{ 'file-input.loading' | translate }}\n </div>\n }\n @if (!newImageLoading) {\n <div>\n <div class=\"\">\n <div class=\"\">\n @if (\n form.value.ImageLink &&\n form.value.ImageLink !== '' &&\n !(form.value.ImageAsDataURL && form.value.ImageAsDataURL !== '')\n ) {\n <img\n [src]=\"form.value.ImageAsDataURL\"\n [src]=\"form.value.ImageLink\"\n style=\"height: 40px; width: fit-content\"\n />\n }\n @if (\n form.value.ImageAsDataURL && form.value.ImageAsDataURL !== ''\n ) {\n <img\n [src]=\"form.value.ImageAsDataURL\"\n style=\"height: 40px; width: fit-content\"\n />\n }\n </div>\n <div class=\"\">{{ form.value.Filename }}</div>\n <div class=\"\">\n @if (allowRemove) {\n <div (click)=\"removeFromList()\">\n <kms-icon\n icon=\"trash\"\n [size]=\"IconSizePx.XS\"\n iconClass=\"color-black\"\n ></kms-icon>\n {{ 'file-input.remove' }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n }\n @if (!previewImage) {\n <div>\n <div class=\"\">{{ form.value.Filename }}</div>\n </div>\n }\n\n <button\n (click)=\"selectImageOverlay()\"\n class=\"button-primary-font-color\"\n mat-stroked-button\n >\n <span>{{ label }}</span>\n </button>\n <input\n type=\"file\"\n [accept]=\"acceptedFileMimetypes\"\n style=\"display: none\"\n #fileInput\n (click)=\"clearInputValue($event)\"\n (change)=\"selectImage($event)\"\n />\n\n <input type=\"hidden\" formControlName=\"ImageIdent\" />\n <input type=\"hidden\" formControlName=\"ImageLink\" />\n <input type=\"hidden\" formControlName=\"Filename\" />\n <input type=\"hidden\" formControlName=\"ImageAsDataURL\" />\n <input type=\"hidden\" formControlName=\"Text\" />\n</form>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { state, style, trigger } from '@angular/animations';\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'kms-flyout',\n templateUrl: './flyout.component.html',\n styleUrls: ['./flyout.component.scss'],\n animations: [\n trigger('dropdownAnimation', [\n state(\n 'true',\n style({\n height: '{{targetHeight}}',\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n animationTime: 3000,\n },\n }\n ),\n state(\n 'false',\n style({\n height: 0,\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n opacity: 0,\n animationTime: 3000,\n },\n }\n ),\n ]),\n ],\n})\nexport class FlyoutComponent {\n @Input() icon = 'filter';\n\n isDropdownOpened = false;\n targetHeight = '0';\n animationTime = 5000;\n\n @Input() headerCssClass = '';\n @Input() bodyCssClass = '';\n\n @Input() headerTitle = '';\n @Input() headerText = '';\n @Input() hasButtonForMore = false;\n @Input() moreText = '';\n @Input() lessText = '';\n\n @ViewChild('content') content: ElementRef | undefined;\n\n @ViewChild('flyoutHeader') flyoutHeader: ElementRef | undefined;\n\n /**\n * Open/close dropdown if click on header.\n * Except, if mode is set to hasButtonForMore. When there is a extra button to open/close\n */\n toggleDropdownHeader() {\n if (!this.hasButtonForMore) {\n this.toggleDropdown();\n }\n }\n\n /**\n * Open or close the dropdown\n */\n toggleDropdown() {\n this.isDropdownOpened = !this.isDropdownOpened;\n }\n\n /**\n * Set the height of the dropdown list items dynamic - needed for the animation\n */\n setDropdownListHeight(contentHeight: number) {\n this.targetHeight = `${contentHeight}px`;\n }\n}\n","<div class=\"flyout\" [ngClass]=\"{ 'is-active': isDropdownOpened }\">\n <div\n class=\"flyout-header\"\n (click)=\"toggleDropdownHeader()\"\n [ngClass]=\"headerCssClass\"\n >\n <span [innerHtml]=\"headerTitle | kmsSafeHtml\"></span>\n <span [innerHtml]=\"headerText | kmsSafeHtml\"></span>\n\n <ng-content select=\"[header]\"></ng-content>\n\n @if (hasButtonForMore) {\n <div\n (click)=\"toggleDropdown()\"\n class=\"flyout-header-more\"\n >\n @if (!isDropdownOpened) {\n <span>\n {{ moreText }}\n <kms-icon [icon]=\"'chevron-down'\" [size]=\"16\"> </kms-icon>\n </span>\n }\n @if (isDropdownOpened) {\n <span>\n {{ lessText }}\n <kms-icon [icon]=\"'chevron-top'\" [size]=\"16\"> </kms-icon>\n </span>\n }\n </div>\n }\n </div>\n <div\n class=\"flyout-body\"\n [ngClass]=\"bodyCssClass\"\n tabindex=\"0\"\n [@dropdownAnimation]=\"{\n value: isDropdownOpened,\n params: { targetHeight: targetHeight, animationTime: '500' }\n }\"\n getMaxHeight=\"inner\"\n (sumOfHeight)=\"setDropdownListHeight($event)\"\n #flyoutHeader\n >\n @if (isDropdownOpened || !hasButtonForMore) {\n <div class=\"inner\" #content>\n <ng-content></ng-content>\n </div>\n }\n </div>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n} from '@angular/core';\nimport { SwiperContainer, register } from 'swiper/element/bundle';\nimport { ImageSnippet } from '../../../models/image-snippet';\n\nregister();\n\n@Component({\n standalone: false,\n selector: 'kms-image-slider',\n templateUrl: './image-slider.component.html',\n})\nexport class ImageSliderComponent implements OnChanges, AfterViewInit {\n @Input() slides!: string[];\n @Input() editMode = false;\n @Input() imagesToSave?: ImageSnippet[];\n @Output() deleteImageEvent: EventEmitter<number> = new EventEmitter();\n @Output() orderChanged: EventEmitter<ImageSnippet[]> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit() {\n this.initializeSwipers();\n }\n\n ngOnChanges() {\n this.updateSwipers();\n }\n\n initializeSwipers() {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n Object.assign(swiper1, {\n slidesPerView: 1,\n navigation: true,\n thumbs: {\n swiper: swiper2,\n },\n pagination: {\n clickable: true,\n },\n });\n\n Object.assign(swiper2, {\n slidesPerView: 4,\n freeMode: true,\n navigation: true,\n });\n\n swiper1.initialize();\n swiper2.initialize();\n }\n\n updateSwipers(delayMs = 100) {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n if (swiper1.swiper && swiper2.swiper) {\n setTimeout(() => {\n swiper1.swiper.update();\n swiper2.swiper.update();\n }, delayMs);\n }\n }\n\n deleteImage(index: number) {\n this.deleteImageEvent.emit(index);\n this.updateSwipers(2500);\n }\n\n onOrderChanged(event: CdkDragDrop<string[]>) {\n if (this.slides && this.imagesToSave) {\n moveItemInArray(this.slides, event.previousIndex, event.currentIndex);\n moveItemInArray(\n this.imagesToSave,\n event.previousIndex,\n event.currentIndex\n );\n this.orderChanged.emit(this.imagesToSave);\n this.updateSwipers();\n }\n }\n}\n","<div class=\"image-slider-container\">\n <swiper-container\n class=\"swiper-main-view-container\"\n thumbs-swiper=\".swiper-carousel-container\"\n >\n @for (slide of slides; track slide) {\n <swiper-slide>\n <img [src]=\"slide\" loading=\"lazy\" />\n </swiper-slide>\n }\n </swiper-container>\n\n <swiper-container\n class=\"swiper-carousel-container\"\n thumbsSlider=\"\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onOrderChanged($event)\"\n >\n @for (slide of slides; track slide; let index = $index) {\n <swiper-slide\n [class.swiper-slide-default]=\"index === 0 && editMode\"\n >\n @if (editMode) {\n <div>\n <button cdkDrag class=\"drag-button\" mat-menu-item></button>\n <button\n class=\"delete-button\"\n mat-menu-item\n (click)=\"deleteImage(index)\"\n >\n <kms-icon icon=\"trash\" [size]=\"15\"></kms-icon>\n </button>\n </div>\n }\n <img [src]=\"slide\" loading=\"lazy\" />\n @if (index === 0 && editMode) {\n <div class=\"swiper-slide-default-text\">\n {{ 'common.defaultImage' | translate }}\n </div>\n }\n </swiper-slide>\n }\n </swiper-container>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Color } from '../../../enums/colors.enum';\n\n/**\n * A generic dialog component\n */\n@Component({\n standalone: false,\n selector: 'kms-accordion-item',\n templateUrl: './kms-accordion-item.component.html',\n styleUrls: ['./kms-accordion-item.component.scss'],\n})\nexport class KMSAccordionItemComponent implements OnInit {\n public itemTitleTrustHtml: SafeHtml | undefined;\n @Input() public showAsCard = false;\n @Input() public isSmall = false;\n @Input() public expanded = false;\n @Input()\n public set itemTitle(val: string) {\n this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(val);\n }\n\n Color = Color;\n panelOpenState = false;\n\n constructor(private readonly sanitizer: DomSanitizer) {}\n\n ngOnInit() {}\n}\n","<mat-expansion-panel\n class=\"kms-accordion\"\n [ngClass]=\"{\n 'kms-accordion--flat': !showAsCard,\n 'kms-accordion--small': isSmall\n }\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded]=\"expanded\"\n hideToggle=\"true\"\n >\n <mat-expansion-panel-header class=\"kms-accordion__header\">\n <mat-panel-title class=\"mat-subheading-2 kms-accordion__title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"kms-accordion__header-icon-wrapper\">\n @if (!panelOpenState) {\n <kms-icon\n icon=\"ic_plus\"\n [color]=\"Color.PRIMARY\"\n [size]=\"isSmall ? 16 : 22\"\n ></kms-icon>\n }\n @if (panelOpenState) {\n <kms-icon\n icon=\"ic_minus\"\n [color]=\"Color.PRIMARY\"\n [size]=\"isSmall ? 16 : 22\"\n ></kms-icon>\n }\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n","/*!\n * @copyright FLYACTS GmbH 2019\n */\n\nimport {\n Component,\n forwardRef,\n input,\n model,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Color } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n standalone: false,\n selector: 'kms-numeric-input',\n templateUrl: './numeric-input.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumericInputComponent),\n multi: true,\n },\n ],\n})\nexport class NumericInputComponent implements ControlValueAccessor {\n disabled = model(false);\n min = input<number>(0);\n\n numericValue: WritableSignal<number> = signal(0);\n touched: WritableSignal<boolean> = signal(false);\n Color = Color;\n IconSizePx = IconSizePx;\n\n constructor() {}\n\n get value(): number {\n return this.numericValue();\n }\n\n set value(value: number) {\n this.numericValue.set(value);\n }\n\n onChange: (value?: number) => void = () => {\n //\n };\n onTouched = () => {\n //\n };\n\n writeValue(value: number) {\n this.value = value;\n }\n\n add() {\n this.markAsTouched();\n if (!this.disabled()) {\n this.numericValue.update((value) => value + 1);\n this.onChange(this.numericValue());\n }\n }\n\n minus() {\n this.markAsTouched();\n if (!this.disabled() && this.numericValue() > this.min()) {\n this.numericValue.update((value) => value - 1);\n this.onChange(this.numericValue());\n }\n }\n\n markAsTouched() {\n if (!this.touched) {\n this.onTouched();\n this.touched.set(true);\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n registerOnChange(onChange: (value?: number) => void) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n}\n","<div class=\"numeric-input\" [ngClass]=\"{ disabled: disabled() }\">\n <kms-icon\n id=\"numeric-input-minus\"\n class=\"numeric-input__icon\"\n aria-hidden=\"true\"\n icon=\"ic_minus\"\n [color]=\"disabled() ? Color.DISABLED : Color.SECONDARY\"\n [size]=\"10\"\n (click)=\"minus()\"\n (keyup)=\"($event.key === 'Enter' || $event.key === 'Space') && minus()\"\n >\n </kms-icon>\n <strong>{{ numericValue() }}</strong>\n <kms-icon\n id=\"numeric-input-plus\"\n class=\"numeric-input__icon\"\n aria-hidden=\"true\"\n icon=\"ic_plus\"\n [color]=\"disabled() ? Color.DISABLED : Color.SECONDARY\"\n [size]=\"10\"\n (click)=\"add()\"\n (keyup)=\"($event.key === 'Enter' || $event.key === 'Space') && add()\"\n >\n </kms-icon>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n computed,\n EventEmitter,\n forwardRef,\n input,\n Output,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { isEmpty } from 'lodash';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n standalone: false,\n selector: 'kms-password',\n templateUrl: './password.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PasswordComponent),\n multi: true,\n },\n ],\n})\nexport class PasswordComponent implements ControlValueAccessor, Validator {\n @Output() change: EventEmitter<string> = new EventEmitter();\n @Output() submit: EventEmitter<string> = new EventEmitter();\n\n disabled = input(false);\n label = input('Password');\n withStrength = input(false);\n lowerCaseCriteriaMsg = input('At least one lowercase letter');\n upperCaseCriteriaMsg = input('At least one uppercase letter');\n numberCriteriaMsg = input('At least one number');\n specialCharCriteriaMsg = input(\n 'At least one special character (-.!.?,$,&,*,+,#,%)'\n );\n minCharsCriteriaMsg = input('At least 10 characters');\n\n IconSizePx = IconSizePx;\n value: WritableSignal<string> = signal('');\n showPassword: WritableSignal<boolean> = signal(false);\n eyeIconIsBeingPressed = signal(false);\n\n validateUppercase = computed(() => {\n const regex = /^(?=.*?[A-Z]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateLowercase = computed(() => {\n const regex = /^(?=.*?[a-z]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateSpecialChar = computed(() => {\n const regex = /^(?=.*?[-!?$&*+#%]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateNumber = computed(() => {\n const regex = /^(?=.*?[0-9]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateMinimumChar = computed(() => {\n return this.value().length >= 10;\n });\n\n validations = computed(() => {\n return [\n {\n text: this.upperCaseCriteriaMsg,\n isValid: this.validateUppercase,\n error: 'uppercase',\n },\n {\n text: this.lowerCaseCriteriaMsg,\n isValid: this.validateLowercase,\n error: 'lowercase',\n },\n {\n text: this.specialCharCriteriaMsg,\n isValid: this.validateSpecialChar,\n error: 'specialChar',\n },\n {\n text: this.numberCriteriaMsg,\n isValid: this.validateNumber,\n error: 'number',\n },\n {\n text: this.minCharsCriteriaMsg,\n isValid: this.validateMinimumChar,\n error: 'minChars',\n },\n ];\n });\n\n keypress($event: KeyboardEvent) {\n if ($event.key === 'Enter') {\n this.submit.emit();\n }\n }\n\n valueChanged(event: Event) {\n const { value } = event.target as HTMLInputElement;\n this.onChange(value);\n this.value.set(value);\n this.change.emit(value);\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(value: any) {\n this.value.set(value);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n validate({ value }: FormControl): ValidationErrors | null {\n if (!this.withStrength()) return null;\n\n this.value.set(value);\n const result = {};\n\n for (const validation of this.validations()) {\n if (!validation.isValid()) {\n result[validation.error] = true;\n }\n }\n\n return isEmpty(result) ? null : result;\n }\n}\n","<mat-form-field class=\"kms-password__form-field\">\n <mat-label>{{ label() }}</mat-label>\n <input\n [type]=\"showPassword() ? 'text' : 'password'\"\n matInput\n (input)=\"valueChanged($event)\"\n [disabled]=\"disabled()\"\n (keypress)=\"keypress($event)\"\n #password=\"matInput\"\n />\n @if (showPassword()) {\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"ic_eye\"\n [size]=\"IconSizePx.XS\"\n (click)=\"showPassword.set(false)\"\n (mousedown)=\"eyeIconIsBeingPressed.set(true)\"\n (mouseup)=\"eyeIconIsBeingPressed.set(false)\"\n ></kms-icon>\n } @else {\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"ic_eye_active\"\n [size]=\"IconSizePx.XS\"\n (click)=\"showPassword.set(true)\"\n (mousedown)=\"eyeIconIsBeingPressed.set(true)\"\n (mouseup)=\"eyeIconIsBeingPressed.set(false)\"\n ></kms-icon>\n }\n</mat-form-field>\n\n@if ((eyeIconIsBeingPressed() || password.focused) && withStrength()) {\n<mat-card appearance=\"outlined\">\n <mat-card-content class=\"kms-password__card\">\n <mat-list role=\"list\">\n @for (validation of validations(); track validation) {\n <mat-list-item role=\"listitem\">\n <div class=\"kms-password__strength-item\">\n @if(validation.isValid()) {\n <kms-icon\n [size]=\"IconSizePx.XS\"\n icon=\"ic_check\"\n iconClass=\"color-success\"\n ></kms-icon>\n }@else {\n <kms-icon\n [size]=\"IconSizePx.XS\"\n icon=\"ic_abbrechen\"\n iconClass=\"color-warn\"\n ></kms-icon>\n } {{ validation.text() }}\n </div></mat-list-item\n >\n }\n </mat-list>\n </mat-card-content>\n</mat-card>\n}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { StylingTheme } from '../../../enums/colors.enum';\nimport { RadioButtonSize } from '../../../enums/radioButtonSize.enum';\nimport { TextValuePair } from '../../../models';\n\nexport interface RadiobuttonInterface extends TextValuePair {\n Disabled?: boolean;\n InfoText?: string;\n}\n\n@Component({\n standalone: false,\n selector: 'kms-radiogroup',\n templateUrl: './radiogroup.component.html',\n styleUrls: ['./radiogroup.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioGroupComponent),\n multi: true,\n },\n ],\n})\nexport class RadioGroupComponent implements ControlValueAccessor {\n @Input() options: RadiobuttonInterface[] = [];\n @Input() disabled: boolean = false;\n @Input() value: any = null;\n @Input() infoText?: string;\n\n @Input() color: StylingTheme = StylingTheme.PRIMARY;\n @Input() size: RadioButtonSize = RadioButtonSize.MD;\n @Input() direction: 'row' | 'column' = 'row';\n\n onChange = (value: any) => {\n this.value = value;\n };\n\n onTouched = () => {};\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n handleChange(value: any) {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n }\n}\n","@if (options && options.length > 0) {\n<mat-radio-group\n class=\"radiogroup\"\n [value]=\"value\"\n (change)=\"handleChange($event.value)\"\n [disabled]=\"disabled\"\n [ngStyle]=\"{ 'flex-direction': direction }\"\n>\n @if (infoText) {\n <kms-tooltip-icon\n [class.margin-left]=\"direction == 'column'\"\n [tooltipText]=\"infoText\"\n ></kms-tooltip-icon>\n } @for (option of options; track $index) {\n <div class=\"radiobutton-container\">\n <kms-radiobutton\n [label]=\"option.Text\"\n [value]=\"option.Value\"\n [checked]=\"value === option.Value\"\n [disabled]=\"disabled || option.Disabled\"\n [size]=\"size\"\n [color]=\"color\"\n ></kms-radiobutton>\n @if (option.InfoText) {\n <kms-tooltip-icon [tooltipText]=\"option.InfoText\"></kms-tooltip-icon>\n }\n </div>\n }\n</mat-radio-group>\n}\n","export enum SalutationEnum {\n NOT_SPECIFIED = 'Keine Anrede',\n MALE = 'Herr',\n FEMALE = 'Frau',\n}\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { NullAble } from '../../../models';\nimport { SalutationEnum } from '../../../models/salutation.enum';\n\nimport { FormControlParentComponent } from './../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-salutation-dropdown',\n templateUrl: './salutation-dropdown.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationDropdownComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationDropdownComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() placeholder: NullAble<string>;\n\n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n salut: new UntypedFormControl(''),\n });\n this.formInitialized = true;\n\n //somehow for dropowns we have to set value manually with timeout for default value\n setTimeout(() => {\n this.form.controls['salut'].setValue(this.value ? this.value : '');\n }, 1000);\n\n this.form.valueChanges.subscribe((value) => {\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\" class=\"row\">\n <mat-form-field class=\"col\">\n <mat-select\n disableOptionCentering\n formControlName=\"salut\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n #child\n >\n <mat-option [value]=\"SalutationEnum.NOT_SPECIFIED\">{{\n 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase()\n | translate\n }}</mat-option>\n <mat-option [value]=\"SalutationEnum.MALE\">{{\n 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase()\n | translate\n }}</mat-option>\n <mat-option [value]=\"SalutationEnum.FEMALE\">{{\n 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase()\n | translate\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n","/**\n * General Image Model\n */\nexport class ImageSnippet {\n status = 'init';\n constructor(\n public src: string,\n public fileName: string,\n public srcType = ImageSourceType.ByteArray,\n ) {}\n }\n\nexport enum ImageSourceType {\n Ident = 'Idnet',\n ByteArray = 'ByteArray',\n URL = 'URL'\n}\n","import { NullAble } from './types/nullable.type';\n\nexport class TextValuePairArray {\n Items: NullAble<TextValuePair[]>;\n}\n\nexport class TextValuePair {\n Text: NullAble<string>;\n Value: NullAble<any>;\n\n constructor(text: string, value: any) {\n this.Text = text;\n this.Value = value;\n }\n}\n\nexport class LabelValuePair {\n Label: NullAble<string>;\n Value: NullAble<string>;\n\n constructor(label: string, value: string) {\n this.Label = label;\n this.Value = value;\n }\n}\n\nexport class KeyValuePair {\n Key: NullAble<string>;\n Value: NullAble<string>;\n\n constructor(key: string, value: string) {\n this.Key = key;\n this.Value = value;\n }\n}\n","/**\n * Attached File DTO\n */\nexport class AttachedFileDTO {\n ImageIdent?: string;\n ImageLink?: string;\n Filename?: string;\n ImageAsDataURL?: string;\n CreateSmallImage?: boolean;\n Text?: string;\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport type NullAble<T> = T | null | undefined;\n","import { Component, forwardRef, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { isValue } from '../../../models';\nimport { SalutationEnum } from '../../../models/salutation.enum';\nimport { FormControlParentComponent } from '../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-salutation-radiogroup',\n templateUrl: './salutation-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationRadiogroupComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n salut: new UntypedFormControl(isValue(this.value) ? this.value : ''),\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.salut;\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\">\n <mat-radio-group formControlName=\"salut\" [disabled]=\"disabled\" #radioGroup>\n <mat-radio-button\n color=\"primary\"\n [value]=\"SalutationEnum.NOT_SPECIFIED\"\n [checked]=\"value === SalutationEnum.NOT_SPECIFIED\"\n >\n {{\n 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase()\n | translate\n }}\n </mat-radio-button>\n <mat-radio-button\n color=\"primary\"\n [value]=\"SalutationEnum.MALE\"\n [checked]=\"value === SalutationEnum.MALE\"\n >\n {{\n 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase()\n | translate\n }}\n </mat-radio-button>\n <mat-radio-button\n color=\"primary\"\n [value]=\"SalutationEnum.FEMALE\"\n [checked]=\"value === SalutationEnum.FEMALE\"\n >\n {{\n 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase()\n | translate\n }}\n </mat-radio-button>\n </mat-radio-group>\n</form>\n","import {\n Component,\n computed,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Signal,\n signal,\n SimpleChanges,\n WritableSignal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport moment from 'moment';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n@Component({\n standalone: false,\n selector: 'kms-time-input',\n templateUrl: './time-input.component.html',\n styleUrls: ['./time-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimeInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: TimeInputComponent,\n multi: true,\n },\n ],\n})\nexport class TimeInputComponent\n implements OnInit, OnChanges, ControlValueAccessor\n{\n @Input() label = '';\n @Input() value = '';\n @Input() interval = 15;\n @Input() allowEmpty = false;\n\n IconSizePx = IconSizePx;\n _value = signal('');\n private options: WritableSignal<Array<string>> = signal([]);\n\n filteredOptions: Signal<Array<string>> = computed(() => {\n return this.options().filter((option) => option.startsWith(this._value()));\n });\n\n ngOnInit() {\n this.options.set(this.getTimeRange());\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this._value.set(changes.value.currentValue);\n }\n }\n\n writeValue(value: string) {\n this._value.set(value);\n }\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n getTimeRange() {\n const startTime = moment('00:00', 'HH');\n const endTime = moment('23:45', 'HH:mm:ss');\n const timeSeries = [startTime.format('HH:mm')];\n\n while (startTime.isBefore(endTime)) {\n timeSeries.push(startTime.add(this.interval, 'm').format('HH:mm'));\n }\n\n return timeSeries;\n }\n\n inputValueChanged(event: Event) {\n this.valueChanged((event.target as HTMLInputElement).value);\n }\n\n valueChanged(value: string) {\n this._value.set(value);\n this.onChange(value);\n this.onTouch(value);\n }\n\n autocompleteClosed() {\n if (this._value().slice(-1) === ':') {\n this._value.set(this._value() + '00');\n this.valueChanged(this._value());\n }\n }\n\n validate({ value }: FormControl) {\n // validate time format HH:mm and 24 hours and 59 minutes\n const timeRegex = /^(?:[01]\\d|2[0-3]):(?:[0-5]\\d)$/;\n\n if (\n this.allowEmpty &&\n (value === undefined || value === null || value === '')\n )\n return null;\n if (timeRegex.test(value)) return null;\n else\n return {\n invalid: true,\n };\n }\n}\n","<mat-form-field class=\"kms-time-input\">\n <mat-label>{{ label }}</mat-label>\n <input\n type=\"text\"\n aria-label=\"time\"\n matInput\n kmsTime\n [matAutocomplete]=\"auto\"\n [value]=\"_value()\"\n (input)=\"inputValueChanged($event)\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"valueChanged($event.option.value)\"\n (closed)=\"autocompleteClosed()\"\n >\n @for (option of filteredOptions(); track option) {\n <mat-option [value]=\"option\">\n {{ option }}\n </mat-option>\n }\n </mat-autocomplete>\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"clock\"\n [size]=\"IconSizePx.XS\"\n ></kms-icon>\n</mat-form-field>\n","import {\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnInit,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { NullAble } from '../../../models';\n\n@Component({\n standalone: false,\n selector: 'kms-yesno-radiogroup',\n templateUrl: './yes-no-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => YesNoRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class YesNoRadiogroupComponent implements OnInit, ControlValueAccessor {\n @Input() header: NullAble<String>;\n @Input() disabled = false;\n @Input() textYes = '';\n @Input() textNo = '';\n public form!: UntypedFormGroup;\n\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue: NullAble<boolean>;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n get value(): NullAble<boolean> {\n return this.internalValue;\n }\n\n set value(value: NullAble<boolean>) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: any) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child) {\n this.renderer.setProperty(\n this.child.nativeElement,\n 'disabled',\n isDisabled\n );\n }\n }\n\n constructor(public renderer: Renderer2) {}\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n yesno: new UntypedFormControl(this.value ?? null),\n });\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.yesno;\n this.onChange(value.yesno);\n });\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group formControlName=\"yesno\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"true\" [checked]=\"internalValue === true\">\n {{ textYes }}</mat-radio-button\n >\n <mat-radio-button [value]=\"false\" [checked]=\"internalValue === false\">\n {{ textNo }}</mat-radio-button\n >\n </mat-radio-group>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { KmsUiPresentationalComponent } from './kms-ngx-ui-presentational.component';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { CustomPipesModule } from './pipes/custom-pipes.module';\n\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { GoogleMapsModule } from '@angular/google-maps';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DirectivesModule } from './directives/directives.module';\nimport { ViewportService } from './services/viewport.service';\nimport { BackToTopComponent } from './ui/atoms/back-to-top/back-to-top.component';\nimport { CardComponent } from './ui/atoms/card/card.component';\nimport { CheckboxComponent } from './ui/atoms/checkbox/checkbox.component';\nimport { DropdownFromDataComponent } from './ui/atoms/dropdown-from-data/dropdown-from-data.component';\nimport { IconComponent } from './ui/atoms/icon/icon.component';\nimport { LoaderComponent } from './ui/atoms/loader/loader.component';\nimport { MapComponent } from './ui/atoms/map/map.component';\nimport { RadioButtonComponent } from './ui/atoms/radiobutton/radiobutton.component';\nimport { SlideToggleComponent } from './ui/atoms/slide-toggle/slide-toggle.component';\nimport { SliderComponent } from './ui/atoms/slider/slider.component';\nimport { ButtonComponent } from './ui/molecules/button/button.component';\nimport { ColorInputComponent } from './ui/molecules/color-input/color-input.component';\nimport { ConfirmationDialogComponent } from './ui/molecules/confirmation-dialog/confirmation-dialog.component';\nimport { EnumRadiogroupComponent } from './ui/molecules/enum-radiogroup/enum-radiogroup.component';\nimport { FileInputComponent } from './ui/molecules/file-input/file-input.component';\nimport { FlyoutComponent } from './ui/molecules/flyout/flyout.component';\nimport { ImageSliderComponent } from './ui/molecules/image-slider/image-slider.component';\nimport { KMSAccordionItemComponent } from './ui/molecules/kms-accordion-item/kms-accordion-item.component';\nimport { NumericInputComponent } from './ui/molecules/numeric-input/numeric-input.component';\nimport { PasswordComponent } from './ui/molecules/password/password.component';\nimport { RadioGroupComponent } from './ui/molecules/radiogroup/radiogroup.component';\nimport { SalutationDropdownComponent } from './ui/molecules/salutation-dropdown/salutation-dropdown.component';\nimport { SalutationRadiogroupComponent } from './ui/molecules/salutation-radiogroup/salutation-radiogroup.component';\nimport { TimeInputComponent } from './ui/molecules/time-input/time-input.component';\nimport { TooltipIconComponent } from './ui/molecules/tooltip-icon/tooltip-icon.component';\nimport { YesNoRadiogroupComponent } from './ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component';\n\n@NgModule({\n declarations: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n RadioGroupComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n PasswordComponent,\n SliderComponent,\n CardComponent,\n ButtonComponent,\n NumericInputComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n MatCheckboxModule,\n MatButtonModule,\n MatRadioModule,\n MatDialogModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n CustomPipesModule,\n GoogleMapsModule,\n MatExpansionModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n DirectivesModule,\n MatSlideToggleModule,\n TranslateModule,\n MatTooltipModule,\n NgxSliderModule,\n MatAutocompleteModule,\n MatListModule,\n MatCardModule,\n ],\n exports: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n RadioGroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n PasswordComponent,\n SliderComponent,\n CardComponent,\n ButtonComponent,\n NumericInputComponent,\n ],\n providers: [ViewportService],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class KmsUiPresentationalModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class KmsUiPresentationalService {\n\n constructor() { }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum ButtonResponseType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/*\n * Public API Surface of kms-ngx-ui-presentational\n */\n\nexport * from './lib/kms-ngx-ui-presentational.component';\nexport * from './lib/kms-ngx-ui-presentational.module';\nexport * from './lib/kms-ngx-ui-presentational.service';\n\nexport * from './lib/services/viewport.service';\n\nexport * from './lib/parent-components/form.component';\n\n// Models\nexport * from './lib/models/button-response-types.enum';\nexport * from './lib/models/image-snippet.model';\nexport * from './lib/models/salutation.enum';\nexport * from './lib/models/text-value-pair.model';\nexport * from './lib/models/types/nullable.type';\n\n// Directives\nexport * from './lib/directives/directives.module';\nexport * from './lib/directives/sum-of-height.directive';\nexport * from './lib/directives/swipe.directive';\nexport * from './lib/directives/time.directive';\nexport * from './lib/directives/tooltip.directive';\n\n// Pipes\nexport * from './lib/pipes/custom-pipes.module';\nexport * from './lib/pipes/integer-currency.pipe';\nexport * from './lib/pipes/safe-html.pipe';\nexport * from './lib/pipes/safe-resource-url.pipe';\nexport * from './lib/pipes/safe-url.pipe';\nexport * from './lib/pipes/sanitaze-null.pipe';\nexport * from './lib/pipes/trim.pipe';\nexport * from './lib/pipes/typeof.pipe';\n\n// Enums\nexport * from './lib/enums/buttonAppearance.enum';\nexport * from './lib/enums/colors.enum';\nexport * from './lib/enums/iconSize.enum';\nexport * from './lib/enums/radioButtonSize.enum';\n\n// Components\n\n// Atoms\nexport * from './lib/ui/atoms/back-to-top/back-to-top.component';\nexport * from './lib/ui/atoms/card/card.component';\nexport * from './lib/ui/atoms/checkbox/checkbox.component';\nexport * from './lib/ui/atoms/dropdown-from-data/dropdown-from-data.component';\nexport * from './lib/ui/atoms/icon/icon.component';\nexport * from './lib/ui/atoms/loader/loader.component';\nexport * from './lib/ui/atoms/map/map.component';\nexport * from './lib/ui/atoms/radiobutton/radiobutton.component';\nexport * from './lib/ui/atoms/slide-toggle/slide-toggle.component';\nexport * from './lib/ui/atoms/slider/slider.component';\nexport * from './lib/ui/atoms/slider/slider.model';\n\n// Molecules\nexport * from './lib/ui/molecules/button/button.component';\nexport * from './lib/ui/molecules/color-input/color-input.component';\nexport * from './lib/ui/molecules/confirmation-dialog/confirmation-dialog.component';\nexport * from './lib/ui/molecules/confirmation-dialog/dialog-data.model';\nexport * from './lib/ui/molecules/enum-radiogroup/enum-radiogroup.component';\nexport * from './lib/ui/molecules/file-input/file-input.component';\nexport * from './lib/ui/molecules/flyout/flyout.component';\nexport * from './lib/ui/molecules/image-slider/image-slider.component';\nexport * from './lib/ui/molecules/kms-accordion-item/kms-accordion-item.component';\nexport * from './lib/ui/molecules/numeric-input/numeric-input.component';\nexport * from './lib/ui/molecules/password/password.component';\nexport * from './lib/ui/molecules/radiogroup/radiogroup.component';\nexport * from './lib/ui/molecules/salutation-dropdown/salutation-dropdown.component';\nexport * from './lib/ui/molecules/salutation-radiogroup/salutation-radiogroup.component';\nexport * from './lib/ui/molecules/time-input/time-input.component';\nexport * from './lib/ui/molecules/tooltip-icon/tooltip-icon.component';\nexport * from './lib/ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component';\n\n// Organisms\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.IconComponent","i3","i4","i4.IconComponent","i1.TooltipDirective","i5.TooltipIconComponent","i3.IconComponent","i2.GetMaxHeightDirective","i4.SafeHtmlPipe","i5.IconComponent","i3.RadioButtonComponent","i4.TooltipIconComponent","i4.TimeDirective","i6.IconComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAaa,4BAA4B,CAAA;AAEvC,IAAA,WAAA,GAAA,EAAgB;AAEhB,IAAA,QAAQ,KAAW;+GAJR,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAR7B;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAIU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAXxC,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,+BAA+B,EAAA,QAAA,EAC/B;;;;AAIT,EAAA,CAAA,EAAA;;;ACTH;;AAEG;MASU,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,EAAgB,EAAA;QAAhB,IAAA,CAAA,EAAE,GAAF,EAAE;IAAiB;AACvC,IAAA,SAAS,CACP,KAAU,EACV,YAAqB,EACrB,OAAiB,EACjB,UAAmB,EAAA;AAEnB,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CACzC,KAAK,EACL,YAAY,EACZ,OAAO,EACP,UAAU,CACX;QACD,IAAI,iBAAiB,EAAE;YACrB,MAAM,cAAc,GAClB,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrE,YAAA,OAAO,cAAc;QACvB;aAAO;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;QACtC;IACF;+GArBW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,oBAAoB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACVD;;AAEG;MASU,YAAY,CAAA;AACvB,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAiB;AAE9C,IAAA,SAAS,CAAC,IAAY,EAAA;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACrD;+GALW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAZ,YAAY,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACVD;;AAEG;MASU,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAiB;AAE9C,IAAA,SAAS,CAAC,GAAW,EAAA;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC;IAC3D;+GALW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAnB,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,qBAAqB;AAC3B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACVD;;AAEG;MASU,WAAW,CAAA;AACtB,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAiB;AAE9C,IAAA,SAAS,CAAC,GAAW,EAAA;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC;IACnD;+GALW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAX,WAAW,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCPY,gBAAgB,CAAA;AAC3B,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,KAAK;IACvD;+GAHW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAhB,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE;;;ACFjD;;AAEG;MAKU,QAAQ,CAAA;AACnB,IAAA,SAAS,CAAC,KAAU,EAAA;QAClB,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,OAAO,KAAK,CAAC,IAAI,EAAE;IACrB;+GAPW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAR,QAAQ,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE;;;MCA/B,UAAU,CAAA;AACrB,IAAA,SAAS,CAAC,KAAU,EAAA;QAClB,OAAO,OAAO,KAAK;IACrB;+GAHW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAV,UAAU,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACLD;;AAEG;MAmCU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBApB1B,eAAe;YACf,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,QAAQ;YACR,mBAAmB;YACnB,UAAU,CAAA,EAAA,OAAA,EAAA,CAEF,YAAY,CAAA,EAAA,OAAA,EAAA,CAEpB,eAAe;YACf,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,QAAQ;YACR,mBAAmB;YACnB,UAAU,CAAA,EAAA,CAAA,CAAA;AAID,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,SAAA,EAFjB,CAAC,YAAY,CAAC,YAVf,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAYX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAtB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,QAAQ;wBACR,mBAAmB;wBACnB,UAAU;AACX,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE;wBACP,eAAe;wBACf,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,QAAQ;wBACR,mBAAmB;wBACnB,UAAU;AACX,qBAAA;oBACD,SAAS,EAAE,CAAC,YAAY,CAAC;AAC1B,iBAAA;;;ACpCD;;AAEG;AAEH;AAUA;;AAEG;MAKU,qBAAqB,CAAA;AAmBhC,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;AAlBtB;;;AAGG;QACoB,IAAA,CAAA,YAAY,GAAG,EAAE;AAExC;;;AAGG;AACc,QAAA,IAAA,CAAA,gBAAgB,GAAyB,IAAI,YAAY,EAAE;AAE5E;;;AAGG;AACc,QAAA,IAAA,CAAA,WAAW,GAAyB,IAAI,YAAY,EAAE;IAElC;IAErC,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC;IACtE;IAEQ,qBAAqB,CAAC,MAAmB,EAAE,YAAoB,EAAA;QACrE,IAAI,CAAC,MAAM,EAAE;YACX;QACF;;QAGA,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC;;QAG5D,IAAI,CAAC,QAAQ,EAAE;YACb;QACF;;QAGA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,CAAC,MAAM,CACxC;;AAGD,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B;QACF;;QAGA,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,KAAI;YAClD,OAAO,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAClC,CAAC,EAAE,CAAC,CAAC;;AAGL,QAAA,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;;AAG9D,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;AACrC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;IACpC;+GA3DW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,CAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAME,KAAK;uBAAC,cAAc;;sBAMpB;;sBAMA;;;ACtCH;;AAEG;MAgBU,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAKE;;;AAGG;AACc,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAkB;AAE/D;;;AAGG;AACc,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAqB;QAK7D,IAAA,CAAA,cAAc,GAAG,CAAC,CAAC;QAEnB,IAAA,CAAA,SAAS,GAAG,CAAC;QAEb,IAAA,CAAA,oBAAoB,GAAG,KAAK;QAI5B,IAAA,CAAA,UAAU,GAAG,CAAC;AA6KvB,IAAA;AA3KC;;;AAGG;IACH,IACI,MAAM,CAAC,OAAqB,EAAA;QAC9B,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,aAAa,GAAG,OAAO;QAC9B;IACF;AAIA,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;IACpC;AAIA,IAAA,MAAM,CAAC,KAAU,EAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAClB;AAKA,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE;IACd;;AAIA;;;AAGG;AACK,IAAA,cAAc,CAAC,SAAyB,EAAA;AAC9C,QAAA,MAAM,UAAU,GACd,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,KAAK,GAAG;AAErE,QAAA,IACE,CAAC,UAAU;AACX,YAAA,IAAI,CAAC,aAAa;YAClB,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAChE;YACA;QACF;AAAO,aAAA,IACL,UAAU;AACV,YAAA,IAAI,CAAC,aAAa;AAClB,YAAA,SAAS,CAAC,uBAAuB;AAC/B,gBAAA,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,GAAG,EACzC;YACA;QACF;aAAO;AACL,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;QAClC;IACF;AAEQ,IAAA,sBAAsB,CAAC,KAAW,EAAA;;QAExC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,YAAY;;QAI5C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE;AAC/D,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,KAAK,GAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;sBACrC,KAAK,CAAC;AACR,sBAAE,KAAK,CAAC,KAAK;YACjB;iBAAO;AACL,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;sBACrC,KAAK,CAAC;AACR,sBAAE,KAAK,CAAC,KAAK;YACjB;QACF;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS;AACjC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;IACnC;AAEQ,IAAA,IAAI,CAAC,KAAU,EAAA;;AAErB,QAAA,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAChC;QACF;QAEA,IAAI,IAAI,GAAG,CAAC;AAEZ,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;gBAChD,MAAM,KAAK,GAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,gBAAA,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;sBACtB,KAAK,CAAC;AACR,sBAAE,KAAK,CAAC,KAAK;YACjB;iBAAO;AACL,gBAAA,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;sBACtB,KAAK,CAAC;AACR,sBAAE,KAAK,CAAC,KAAK;YACjB;QACF;AAEA,QAAA,MAAM,cAAc,GAAW,IAAI,GAAG,IAAI,CAAC,SAAS;AACpD,QAAA,MAAM,kBAAkB,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;AACvE,QAAA,MAAM,uBAAuB,GAAW,IAAI,CAAC,GAAG,CAC9C,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAC9C;AACD,QAAA,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;AAExE,QAAA,IAAI,SAAiB;AACrB,QAAA,IAAI,KAAK,GAAW,CAAC,GAAG,kBAAkB,GAAG,YAAY;QACzD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;QAE5B,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;AAClC,YAAA,SAAS,GAAG,CAAC,CAAC;QAChB;aAAO;AACL,YAAA,SAAS,GAAG,CAAC,CAAC,CAAC;QACjB;QAEA,IAAI,CAAC,cAAc,GAAG;AACpB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,cAAc,EAAE,cAAc;AAC9B,YAAA,kBAAkB,EAAE,kBAAkB;AACtC,YAAA,uBAAuB,EAAE,uBAAuB;AAChD,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,KAAK,EAAE,KAAK;YACZ,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;SAC/C;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC;;AAGxC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;QAGrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAC1C;AAEQ,IAAA,OAAO,CAAC,KAAU,EAAA;;AAGxB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;AAEA,QAAA,MAAM,gBAAgB,GAAsB;YAC1C,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;AAC9C,YAAA,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;AACxC,YAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK;YAChC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC1D,MAAM,EAAE,KAAK,CAAC,aAAa;SAC5B;;AAGD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAC1C;AAEQ,IAAA,cAAc,CAAC,KAAa,EAAA;QAClC,OAAO,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,UAAU;IAC7C;IAEQ,KAAK,GAAA;AACX,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;AAEjC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS;QACjC;IACF;+GApMW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAME;;sBAMA;;sBAmBA,KAAK;uBAAC,gBAAgB;;sBAOtB,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;sBACpC,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;sBAKrC,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;sBACpC,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;sBAKpC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBAClC,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;sBACrC,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;;;MC/DzB,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;IAAe;AAEF,IAAA,aAAa,CAAC,KAAiB,EAAA;AAChE,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IACzB;AAEyC,IAAA,aAAa,CAAC,KAAiB,EAAA;AACtE,QAAA,IACE,KAAK,CAAC,SAAS,KAAK,iBAAiB;AACrC,YAAA,KAAK,CAAC,SAAS,KAAK,YAAY,EAChC;YACA,MAAM,oBAAoB,GACvB,KAAK,CAAC,MAA2B,CAAC,cAAc,KAAK,CAAC;AACtD,gBAAA,KAAK,CAAC,MAA2B,CAAC,YAAY,KAAK,CAAC;YACvD,MAAM,cAAc,GACjB,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACrD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAEvC,IAAI,YAAY,KAAK,cAAc,IAAI,CAAC,oBAAoB,CAAC,EAAE;gBAC7D,KAAK,CAAC,cAAc,EAAE;YACxB;AACA,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACzB;IACF;AAEO,IAAA,WAAW,CAAC,KAAiB,EAAA;AAClC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAiC;AAC9D,QAAA,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK;AAExC,QAAA,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE;AAClE,YAAA,YAAY,CAAC,KAAK,IAAI,GAAG;YACzB,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD;IACF;+GAlCW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAIE,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAIhC,YAAY;uBAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;;;MCQ5B,gBAAgB,CAAA;IAU3B,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,aAAa;YAAE;AAExB,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAK;YACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;AAC9D,QAAA,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IAChB;IAGA,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,aAAa;YAAE;AAExB,QAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACjE;IAEA,WAAA,CAAoB,UAAsB,EAAU,QAAmB,EAAA;QAAnD,IAAA,CAAA,UAAU,GAAV,UAAU;QAAsB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAxBnD,IAAA,CAAA,SAAS,GAAc,QAAQ;QAC/B,IAAA,CAAA,KAAK,GAAW,CAAC;QACjB,IAAA,CAAA,aAAa,GAAG,KAAK;IAsB4C;IAE1E,eAAe,GAAA;QACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,WAAW,EAAE;IACpB;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;QAC9D;aAAO;YACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACjE;IACF;IAEA,WAAW,GAAA;AACT,QAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,MAAK;AAC9D,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW;;AAE1C,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC;YAE1D,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC9D,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,gBAAA,UAAU,EAAE;AACV,oBAAA,KAAK,EAAE;oBACP,MAAM,CAAC,cAAc,CAAC;oBACtB,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC9B,oBAAA,IAAI,EAAE;AACP,iBAAA;AACF,aAAA,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,KAAI;AAC9C,gBAAA,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;AAE1B,gBAAA,IAAI,cAAc,CAAC,KAAK,EAAE;AACxB,oBAAA,IAAI,CAAC,oBAAoB,CACvB,cAAc,CAAC,KAAK,CAAC,CAAC,EACtB,cAAc,CAAC,KAAK,CAAC,CAAC,EACtB,SAAS,EACT,WAAW,CACZ;gBACH;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,eAAe,CAAC,CAAS,EAAE,CAAS,EAAA;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACnC,IAAI,EAAE,CAAA,EAAG,CAAC,CAAA,EAAA,CAAI;YACd,GAAG,EAAE,CAAA,EAAG,CAAC,CAAA,EAAA,CAAI;AACd,SAAA,CAAC;IACJ;AAEA,IAAA,oBAAoB,CAClB,CAAS,EACT,CAAS,EACT,SAAoB,EACpB,WAAmB,EAAA;QAEnB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEpC,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE,OAAO;SACd,CAAC,IAAI,CAAC;AAEP,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;QAE9B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AAC9B,YAAA,IAAI,EAAE,CAAC,IAAI,IAAI,GAAG,CAAA,EAAG,CAAC,CAAA,EAAA,CAAI,GAAG,EAAE;AAC/B,YAAA,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAA,EAAG,CAAC,CAAA,EAAA,CAAI,GAAG,EAAE;;;AAG9B,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,EAAE;YACV,CAAC,UAAU,GAAG,CAAA,EAAG,CAAC,WAAW,GAAG,CAAC,CAAA,EAAA,CAAI;AACrC,YAAA,SAAS,EAAE,eAAe;AAC3B,SAAA,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,oBAAoB,CAAC;AACxD,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;IACxD;AAEA,IAAA,aAAa,CAAC,IAAY,EAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,0BAA0B,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,2BAA2B,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,4BAA4B,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC;AAEhE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACnE;+GAxHW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE;;sBAEvD;;sBACA;;sBACA;;sBACA;;sBAKA,YAAY;uBAAC,WAAW;;sBASxB,YAAY;uBAAC,UAAU;;;ACvC1B;;AAEG;MAuBU,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAZzB,cAAc;YACd,qBAAqB;YACrB,gBAAgB;AAChB,YAAA,aAAa,aAGb,cAAc;YACd,qBAAqB;YACrB,gBAAgB;YAChB,aAAa,CAAA,EAAA,CAAA,CAAA;gHAGJ,gBAAgB,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAd5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;wBACd,qBAAqB;wBACrB,gBAAgB;wBAChB,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,qBAAqB;wBACrB,gBAAgB;wBAChB,aAAa;AACd,qBAAA;AACF,iBAAA;;;ACxBD;;AAEG;MASU,gBAAgB,CAAA;AACzB,IAAA,WAAA,CAAY,IAAgC,EAAA;AACxC,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;IAC7B;AAIH;MAEY,gBAAgB,CAAA;AACzB,IAAA,WAAA,CAAY,IAAgC,EAAA;AACxC,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;IAC7B;AAIH;MAEY,UAAU,CAAA;AACnB,IAAA,WAAA,CAAY,IAA0B,EAAA;AAClC,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;IAC7B;AAKH;AAED;;AAEG;MAEU,eAAe,CAAA;IA4DxB,WAAA,CACiC,UAAkB,EACtB,QAAkB,EAAA;QADd,IAAA,CAAA,UAAU,GAAV,UAAU;QACd,IAAA,CAAA,QAAQ,GAAR,QAAQ;AA7DrB,QAAA,IAAA,CAAA,iBAAiB,GAAuB;YACpD,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;YACjD,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;YAClD,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE;YACnD,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;SACnD;AAEe,QAAA,IAAA,CAAA,WAAW,GAAiB;AACxC,YAAA;AACI,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,IAAI,EAAE,GAAG;AACZ,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,IAAI,EAAE,KAAK;AACd,aAAA;SACJ;AAEO,QAAA,IAAA,CAAA,yBAAyB,GAAoB,IAAI,OAAO,EAAU;AAClE,QAAA,IAAA,CAAA,yBAAyB,GAAoB,IAAI,OAAO,EAAU;QAIlE,IAAA,CAAA,SAAS,GAAG,KAAK;AAMrB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACpC,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACnE,gBAAA,OAAO,EAAE,IAAI;AAChB,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACzB;IACJ;AAEA;;AAEG;IACI,iBAAiB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI;IAC7D;AAEA;;AAEG;IACI,gBAAgB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI;IAC5D;AAEA;;AAEG;IACI,eAAe,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI;IACrD;AAEA;;AAEG;IACI,cAAc,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI;IACpD;AAEA;;;AAGG;IACI,kBAAkB,GAAA;AACrB,QAAA,MAAM,YAAY,GAAW,IAAI,CAAC;AAC9B,cAAE,QAAQ,CAAC,IAAI,CAAC;cACd,IAAI;QACV,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,IAAI;QAEvE,OAAO,IAAI,CAAC,eAAe;IAC/B;AAEA;;;AAGG;IACI,wBAAwB,GAAA;AAC3B,QAAA,MAAM,YAAY,GAAW,IAAI,CAAC;AAC9B,cAAE,QAAQ,CAAC,IAAI,CAAC;cACd,IAAI;QACV,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC;QAExE,OAAO,IAAI,CAAC,qBAAqB;IACrC;AAEA;;;;AAIG;IACI,wBAAwB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI;IAC5D;AAEA;;;AAGG;IACI,uBAAuB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI;IAC5D;AAEA;;;AAGG;IACI,wBAAwB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG;IAC5D;AAEA;;;AAGG;IACI,4BAA4B,GAAA;QAC/B,OAAO,IAAI,CAAC,SAAS,GAAG,EAAC,KAAK,EAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAC,WAAW,EAAC,IAAI,CAAC,sBAAsB,EAAE,EAAsB,GAAG,EAAC,KAAK,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAqB;IACrO;AAEA;;AAEG;IACI,0BAA0B,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE;IACxD;AAEA;;AAEG;IACI,0BAA0B,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE;IACxD;AAEA;;AAEG;AACI,IAAA,iBAAiB,CAAC,EAAU,EAAE,WAAW,GAAG,KAAK,EAAA;AACpD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC;QACvE;IACJ;AAEA;;;;AAIG;AAEI,IAAA,eAAe,CAAC,EAAe,EAAE,WAAW,GAAG,KAAK,EAAA;AACvD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,cAAc,GAAG,CAAC;YAEtB,IAAI,WAAW,EAAE;AACb,gBAAA,cAAc,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC;YAC/D;YAEA,IAAI,UAAU,GAAG,CAAC;YAClB,IAAI,SAAS,GAAG,CAAC;YAEjB,IAAI,MAAM,GAA0B,EAAE;YAEtC,OAAO,MAAM,EAAE;AACX,gBAAA,UAAU,IAAI,MAAM,CAAC,UAAU;AAC/B,gBAAA,SAAS,IAAI,MAAM,CAAC,SAAS;AAC7B,gBAAA,MAAM,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,GAAG,IAAI;YAC/D;YAEA,MAAM,CAAC,QAAQ,CAAC;AACZ,gBAAA,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,SAAS,GAAG,cAAc;AAC/B,gBAAA,QAAQ,EAAE,QAAQ;AACrB,aAAA,CAAC;QACN;IACJ;AAEA;;;AAGG;AACI,IAAA,SAAS,CAAC,GAAW,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9D;IACJ;AAEA;;AAEG;IACI,UAAU,GAAA;QACb,IAAI,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU;;AAC5D,YAAA,OAAO,SAAS;IACzB;AAEA;;AAEG;IACI,WAAW,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,MAAM,WAAW,GACb,MAAM,CAAC,WAAW,KAAK,EAAE,IAAI,MAAM,CAAC,WAAW,KAAK,CAAC,EAAE;AAC3D,YAAA,OAAO,WAAW;QACtB;aAAO;AACH,YAAA,OAAO,SAAS;QACpB;IACJ;AAEA;;AAEG;IACI,sBAAsB,GAAA;QACzB,OAAO,IAAI,CAAC,UAAU,GAAG,UAAU,GAAG,WAAW;IACrD;AAEA;;AAEG;IACI,QAAQ,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,wBAAwB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;IACpE;AAEA;;;AAGG;AACI,IAAA,iCAAiC,CACpC,EAAU,EACV,aAAqB,EACrB,KAAa,EAAA;QAEb,OAAO,IAAI,CAAC,iCAAiC,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC;IAC3E;AAEA;;AAEG;AACI,IAAA,iCAAiC,CACpC,EAAU,EACV,aAAqB,EACrB,KAAa,EAAA;QAGb,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpC,YAAA,OAAO,aAAa;QACxB;aAAO;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;AAC5C,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9D,YAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACf,gBAAA,OAAO,CAAA,EAAG,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,KACjE,IAAI;YACZ;iBAAO;AACH,gBAAA,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC;AAC9C,gBAAA,OAAO,aAAa;YACxB;QACJ;IACJ;AAEA;;;AAGG;AACK,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAClC,QAAA,MAAM,kBAAkB,GAAW,KAAK,CAAC,MAAM,CAAC,UAAU;;AAE1D,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAEvD,QAAA,IAAI,kBAAkB,GAAG,CAAC,EAAE;AACxB,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;AAChC,gBAAA,IAAI,kBAAkB,GAAG,GAAG,CAAC,IAAI,EAAE;oBAC/B;gBACJ;AAAO,qBAAA,IACH,CAAC,kBAAkB,IAAI,GAAG,CAAC,GAAG,IAAI,kBAAkB,IAAI,GAAG,CAAC,IAAI;AAChE,oBAAA,IAAI,CAAC,eAAe,KAAK,GAAG,CAAC,IAAI,EACnC;AACE,oBAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,IAAI;;oBAE/B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC7C;gBACJ;qBAAO,IAAI,IAAI,CAAC,eAAe,KAAK,GAAG,CAAC,IAAI,EAAE;oBAC1C;gBACJ;qBAAO;AACH,oBAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC1B;YACJ;QACJ;IACJ;AAEA;;;AAGG;AACK,IAAA,wBAAwB,CAAC,KAAa,EAAA;QAC1C,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAEzC,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;AAChC,YAAA,IAAI,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE;gBACvC,eAAe,GAAG,GAAG;gBACrB;YACJ;QACJ;AAEA,QAAA,OAAO,eAAe;IAC1B;AAEA;;AAEG;AACH,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AAClC,QAAA,IAAI,gBAA8C;AAElD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;AACvD,QAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACrB,IAAI,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE;AACvC,gBAAA,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC;YACjC;QACJ;QACA,IAAI,CAAC,gBAAgB,EAAE;AACnB,YAAA,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC;AAEA,QAAA,OAAO,gBAAgB;IAC3B;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClE;IACJ;+GA9WS,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EA6DZ,WAAW,EAAA,EAAA,EAAA,KAAA,EACX,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHA9DX,eAAe,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;0BA8DQ,MAAM;2BAAC,WAAW;;0BAClB,MAAM;2BAAC,QAAQ;;;ICzGZ;AAAZ,CAAA,UAAY,KAAK,EAAA;AACf,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,eAAyB;AACzB,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,iBAA6B;AAC7B,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,gBAA2B;AAC3B,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,eAAyB;AACzB,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,aAAqB;AACrB,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,aAAqB;AACrB,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,gBAA2B;AAC3B,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,aAAqB;AACrB,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,aAAqB;AACvB,CAAC,EAVW,KAAK,KAAL,KAAK,GAAA,EAAA,CAAA,CAAA;IAYL;AAAZ,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,QAAoB;AACpB,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACf,CAAC,EAJW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;ACZxB;;AAEG;IAES;AAAZ,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,UAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAO;AACP,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAO;AACP,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAO;AACP,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,UAAA,CAAA,UAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACX,CAAC,EARW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;AAUf,MAAM,YAAY,GAAG;AAC1B,IAAA,UAAU,CAAC,GAAG;AACd,IAAA,UAAU,CAAC,EAAE;AACb,IAAA,UAAU,CAAC,EAAE;AACb,IAAA,UAAU,CAAC,EAAE;AACb,IAAA,UAAU,CAAC,EAAE;AACb,IAAA,UAAU,CAAC,EAAE;AACb,IAAA,UAAU,CAAC,GAAG;;;ACrBhB;;AAEG;MAeU,aAAa,CAAA;AAkBxB,IAAA,WAAA,CAAmB,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;AAjB5B;;;AAGG;QACH,IAAA,CAAA,IAAI,GAAwC,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AAEnD;;AAEG;AACH,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,EAAE,qDAAC;AAErB,QAAA,IAAA,CAAA,IAAI,GAAwB,KAAK,CAAC,UAAU,CAAC,EAAE,gDAAC;AAChD,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,yDAAC;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,iDAAC;AAE1B,QAAA,IAAA,CAAA,OAAO,GAAG,OAAO,CAAC,IAAI;IAEuB;+GAlBlC,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,usBCjB1B,6uBA6BA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDZa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,6uBAAA,EAAA,MAAA,EAAA,CAAA,w3BAAA,CAAA,EAAA;;;AEfnB;;AAEG;MAYU,kBAAkB,CAAA;AAM7B,IAAA,WAAA,CAAwC,UAAkB,EAAA;QAAlB,IAAA,CAAA,UAAU,GAAV,UAAU;QAHlD,IAAA,CAAA,UAAU,GAAG,UAAU;QACvB,IAAA,CAAA,KAAK,GAAG,KAAK;IAEgD;IAG7D,cAAc,GAAA;AACZ,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IACE,MAAM,CAAC,OAAO;gBACd,QAAQ,CAAC,eAAe,CAAC,SAAS;AAClC,gBAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,EAC7B;AACA,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC5B;iBAAO,IACL,CAAC,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO;gBACtC,QAAQ,CAAC,eAAe,CAAC,SAAS;AAClC,gBAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,EAC5B;AACA,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC7B;QACF;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACjD;IACF;AA/BW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAMT,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AANpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,0ICd/B,wSAaA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cAEf,KAAK,EAAA,QAAA,EAAA,wSAAA,EAAA;;0BAQJ,MAAM;2BAAC,WAAW;;sBAE9B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE;;;MEdtB,aAAa,CAAA;AAN1B,IAAA,WAAA,GAAA;AAOE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,EAAE,oDAAC;AACpB,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,uDAAC;AAC3B,IAAA;+GAHY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,4VCR1B,ySAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDHa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,ySAAA,EAAA;;;AENnB;;AAEG;MAwBU,iBAAiB,CAAA;AAb9B,IAAA,WAAA,GAAA;QAcW,IAAA,CAAA,QAAQ,GAAG,EAAE;QACb,IAAA,CAAA,OAAO,GAAG,KAAK;QACf,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEzB;;;AAGG;QACM,IAAA,CAAA,IAAI,GAAG,EAAE;AAER,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE;AASrC,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAQ,MAAK,EAAE,CAAC;AAa1B,IAAA;AArBC,IAAA,YAAY,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,EAAE;IAClB;AAKA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;IACtB;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;+GAjCW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EATjB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBH,8RAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDea,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,SAAA,EAGb;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,8RAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBAMA;;sBAEA;;;AErCH;;AAEG;MAUU,mBAAmB,CAAA;AALhC,IAAA,WAAA,GAAA;QAOS,IAAA,CAAA,eAAe,GAAG,KAAK;QACtB,IAAA,CAAA,uBAAuB,GAAG,IAAI,GAAG,CACvC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACnD;AAES,QAAA,IAAA,CAAA,eAAe,GACvB,IAAI,YAAY,EAAE;QAEX,IAAA,CAAA,QAAQ,GAAG,KAAK;AAsE1B,IAAA;;AAnEC;;;;AAIG;AACH,IAAA,mBAAmB,CACjB,CAAgB,EAChB,WAAW,GAAG,IAAI,EAClB,WAAW,GAAG,IAAI,EAClB,iBAAiB,GAAG,IAAI,EAAA;;AAGxB,QAAA,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;AACtD,QAAA,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG;AACvD,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;AACnD,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;QAClD,MAAM,gBAAgB,GACpB,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;AACvB,aAAC,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;AACzD,QAAA,QACE,WAAW;YACX,WAAW;aACV,WAAW,IAAI,QAAQ,CAAC;aACxB,WAAW,IAAI,QAAQ,CAAC;AACzB,aAAC,iBAAiB,IAAI,gBAAgB,CAAC;IAE3C;;AAGA;;;AAGG;AACH,IAAA,mBAAmB,CAAC,KAAoB,EAAA;;AAEtC,QAAA,IACE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAChC,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAChD;YACA,KAAK,CAAC,cAAc,EAAE;QACxB;IACF;;AAGA;;;AAGG;AACH,IAAA,oBAAoB,CAAC,KAAqB,EAAA;AACxC,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa;QACzC,IAAI,aAAa,EAAE;YACjB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAChD,IAAI,UAAU,EAAE;gBACd,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;gBACtC,IAAI,CAAC,KAAK,EAAE;oBACV,KAAK,CAAC,cAAc,EAAE;gBACxB;YACF;QACF;IACF;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAK;YACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACtC,QAAA,CAAC,CAAC;IACJ;+GA/EW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,wJAFpB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAED,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA;;sBAQE;;sBAGA;;;ACLG,MAAO,0BAA2B,SAAQ,mBAAmB,CAAA;AAQjE,IAAA,WAAA,CAAmB,QAAmB,EAAA;AACpC,QAAA,KAAK,EAAE;QADU,IAAA,CAAA,QAAQ,GAAR,QAAQ;AAPlB,QAAA,IAAA,CAAA,mBAAmB,GAAG,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAU;QAInD,IAAA,CAAA,aAAa,GAAG,EAAE;;AAgBlB,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;;AAG/B,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;;AAGvB,QAAA,IAAA,CAAA,SAAS,GAAQ,MAAK,EAAE,CAAC;IAlBzB;IAEA,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE;IAClB;AAEA,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE;IAClB;AAWA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,aAAa;IAC3B;IAEA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,mBAAmB,EAAE;AACnD,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB;YAC/C;AACA,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB;IACF;AAEA,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE;AAC7B,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,KAAK,CAAC,aAAa,EACxB,UAAU,EACV,UAAU,CACX;QACH;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;QAE1B,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACrB;aAAO;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACpB;IACF;AAEA,IAAA,QAAQ,CAAC,CAAqB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK;IACvC;+GA9EW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,0TAF3B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAED,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA;;sBAEE;;sBACA;;sBAEA,SAAS;uBAAC,OAAO;;;ACFpB;;AAEG;AAaG,MAAO,yBACX,SAAQ,0BAA0B,CAAA;AAwClC,IAAA,WAAA,CAAmB,QAAmB,EAAA;QACpC,KAAK,CAAC,QAAQ,CAAC;QADE,IAAA,CAAA,QAAQ,GAAR,QAAQ;;QAvBlB,IAAA,CAAA,aAAa,GAAG,KAAK;QAOrB,IAAA,CAAA,WAAW,GAAG,EAAE;QAChB,IAAA,CAAA,KAAK,GAAG,EAAE;QACV,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,mBAAmB,GAAG,KAAK;;QAG3B,IAAA,CAAA,QAAQ,GAAG,KAAK;QAGhB,IAAA,CAAA,cAAc,GAAG,KAAK;QAExB,IAAA,CAAA,IAAI,GAAU,EAAE;QAChB,IAAA,CAAA,MAAM,GAAU,EAAE;QAEzB,IAAA,CAAA,MAAM,GAAG,MAAM;IAIf;AAEA;;;AAGG;AACH,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,iBAAiB,EAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACpC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB;QACpC;QACA,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;AAC/B,YAAA,YAAY,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AACzC,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAE3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACzC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY;AACvC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;AACnC,QAAA,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACnB,YAAY,EAAE,IAAI,CAAC,eAAe;AACnC,aAAA,CAAC;QAEJ,KAAK,CAAC,QAAQ,EAAE;IAClB;AAEA;;;AAGG;IACK,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAK,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CACpC,CAAC,GAAQ,KAAK,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAE,CAAC,CACtC;QACH;aAAO,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAK,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CACpC,CAAC,GAAQ,KAAK,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,CAAE,CAAC,CACpC;QACH;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW;;YAGhC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhE,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB;YACtC;iBAAO;AACL,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE/C,IAAI,YAAY,GAAG,KAAK;AAExB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,oBAAA,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;wBACnB,YAAY,GAAG,IAAI;wBACnB;oBACF;gBACF;AAEA,gBAAA,IAAI,YAAY,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5C,oBAAA,IAAI,CAAC,MAAM,GAAG,MAAM;gBACtB;qBAAO;oBACL,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC9B;YACF;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3B;IACF;AAEA;;;AAGG;AACI,IAAA,aAAa,CAAC,GAAQ,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;AAC7B,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GACtC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAClC;YACH;AAAO,iBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AACzC,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AAChE,oBAAA,GAAG,EAAE,GAAG;AACT,iBAAA,CAAC;YACJ;iBAAO;AACL,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACnE;QACF;AACA,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,YAAA,YAAY,EAAE,KAAK;AACpB,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;IACtC;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;AAEA,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAyB;IACrD;IAEA,kBAAkB,GAAA;AAChB,QAAA,QACE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM;IAE9E;IAEA,uBAAuB,GAAA;AACrB,QAAA,OAAO,OAAO,CACZ,IAAI,CAAC,MAAM;YACT,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YACzD,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,CAC7C;IACH;AAEA,IAAA,kBAAkB,CAAC,MAAyB,EAAA;AAC1C,QAAA,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,CAAC,eAAe,EAAE;QACxB;aAAO;YACL,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C;IACF;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACvD;IACF;+GA7LW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EATzB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BH,qoCAsCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,WAAA,EAAA,IAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDJa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAZrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,SAAA,EAEvB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,qoCAAA,EAAA;;sBAOhB;;sBAGA;;sBAGA;;sBAEA;;sBAEA;;sBAGA;;sBAGA;;sBAGA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAGA;;sBAEA;;sBACA;;;ME5DU,eAAe,CAAA;AAN5B,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,OAAO,GAAG,KAAK;AACzB,IAAA;+GAFY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,uGCR5B,mKAKA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cAGV,KAAK,EAAA,QAAA,EAAA,mKAAA,EAAA;;sBAGhB;;;AEHH;;AAEG;MACU,OAAO,CAAA;AAMnB;;ACfD;;AAEG;AAKH;;AAEG;MACU,aAAa,CAAA;AAEzB;AAED;;AAEG;MACU,WAAW,CAAA;AAGvB;AAED;;AAEG;MACU,MAAM,CAAA;AAKlB;AAED;;AAEG;MAOU,YAAY,CAAA;AA6BvB,IAAA,WAAA,GAAA;QA1BO,IAAA,CAAA,OAAO,GAAa,EAAE;QACtB,IAAA,CAAA,sBAAsB,GAAG,KAAK;QAC9B,IAAA,CAAA,QAAQ,GAAG,KAAK;QAEhB,IAAA,CAAA,KAAK,GAAG,MAAM;QACd,IAAA,CAAA,IAAI,GAAG,EAAE;AACT,QAAA,IAAA,CAAA,MAAM,GAA8B;AACzC,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,UAAU;SAChB;AAEM,QAAA,IAAA,CAAA,OAAO,GAA2B;AACvC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,sBAAsB,EAAE,IAAI;AAC5B,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,OAAO,EAAE,CAAC;SACX;IAQc;IAEf,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAC9D;IACH;AAEA;;;AAGG;AACH,IAAA,YAAY,CAAC,OAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC5C;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB;AACE,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,EACD,CACE,OAAmC,EACnC,MAAkC,KAChC;YACF,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE;AAC5C,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;AACpD,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAEpD,IAAI,CAAC,SAAS,EAAE;AAChB,gBAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;YACpC;iBAAO;AACL,gBAAA,OAAO,CAAC,KAAK,CACX,wDAAwD,CACzD;YACH;AACF,QAAA,CAAC,CACF;IACH;AAEA;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,YAAA,QAAQ,EAAE;AACR,gBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;AACpB,gBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;AACrB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,MAAM;AAEb,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;AAC5B,aAAA;YACD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG;YACrE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACnD,SAAA,CAAC;IACJ;AAEA;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAC5D,IAAI,CAAC,IAAI,EAAE;QACb;IACF;AAEA;;AAEG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YAC5D,IAAI,CAAC,IAAI,EAAE;QACb;IACF;+GAvGW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,8FCzCzB,+eAoBC,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDqBY,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,cAGP,KAAK,EAAA,QAAA,EAAA,+eAAA,EAAA;;sBAGhB;;;IE1CS;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,OAAY;AACZ,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,QAAa;AACb,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,OAAY;AACd,CAAC,EAJW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;;ACA3B;;AAEG;MAyBU,oBAAoB,CAAA;AAbjC,IAAA,WAAA,GAAA;QAcW,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,OAAO,GAAY,KAAK;QACxB,IAAA,CAAA,QAAQ,GAAY,KAAK;AAEzB,QAAA,IAAA,CAAA,IAAI,GAAoB,eAAe,CAAC,EAAE;AAC1C,QAAA,IAAA,CAAA,KAAK,GAAiB,YAAY,CAAC,OAAO;AAEzC,QAAA,IAAA,CAAA,QAAQ,GAAuB,IAAI,YAAY,EAAQ;AAMjE,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAiBjC,IAAA;AArBC,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B;AAIA,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK;IACrC;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;+GA9BW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EATpB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBH,oOAWA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDgBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,SAAA,EAGhB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,oOAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;;AEnCH;;AAEG;MAyBU,oBAAoB,CAAA;AAbjC,IAAA,WAAA,GAAA;QAgBW,IAAA,CAAA,OAAO,GAAG,KAAK;QACf,IAAA,CAAA,QAAQ,GAAG,KAAK;QAEhB,IAAA,CAAA,IAAI,GAAG,EAAE;AAER,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE;AAErC,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;AAExB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;AA+BxB,IAAA;AA7BC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,IAAI,KAAK,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACrB;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,YAAY,CAAC,MAA4B,EAAA;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAClC;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;+GA1CW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EATpB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBH,woBAuBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDIa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,SAAA,EAGjB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,woBAAA,EAAA;;sBAGhB;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAEA;;;AEnCH;;AAEG;MA0BU,eAAe,CAAA;AAb5B,IAAA,WAAA,GAAA;QAcmC,IAAA,CAAA,cAAc,GAAG,IAAI;QAK7C,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,OAAO,GAAY,EAAE;AAGpB,QAAA,IAAA,CAAA,MAAM,GAAgC,IAAI,YAAY,EAAE;QAE1D,IAAA,CAAA,MAAM,GAAG,CAAC;AAElB,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;AAExB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;AA+BxB,IAAA;AA7CC,IAAA,IAA+C,aAAa,GAAA;QAC1D,OAAO,IAAI,CAAC,QAAQ;IACtB;AAcA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACrB;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,YAAY,CAAC,MAAW,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU;IAC5B;+GA9CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EATf;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBH,iJAMA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDsBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,SAAA,EAGX;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC9C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,iJAAA,EAAA;;sBAGhB,WAAW;uBAAC,kBAAkB;;sBAC9B,WAAW;uBAAC,4BAA4B;;sBAIxC;;sBACA;;sBACA;;sBAEA;;;IEtCS;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,YAAoB;AACpB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,iBAAwB;AACxB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,mBAA4B;AAC9B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;ACA5B;;AAEG;MAaU,eAAe,CAAA;AAL5B,IAAA,WAAA,GAAA;AAME,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAe,YAAY,CAAC,OAAO,iDAAC;AACjD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAgC,QAAQ,gDAAC;AACrD,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAmB,gBAAgB,CAAC,IAAI,sDAAC;AAC3D,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,mDAAC;AACtB,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,EAAE,iDAAC;QACjB,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA0B;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,oDAAC;QACvB,IAAA,CAAA,WAAW,GAAG,MAAM,EAAS;AAC7B,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,mDAAC;QAEN,IAAA,CAAA,YAAY,GAAG,YAAY;QAC3B,IAAA,CAAA,QAAQ,GAAG,UAAU;QACrB,IAAA,CAAA,gBAAgB,GAAG,gBAAgB;AAE5C,QAAA,IAAA,CAAA,SAAS,GAAkB,QAAQ,CAAC,MAAK;YAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;gBACrC,OAAO,KAAK,CAAC,QAAQ;YACvB;YAEA,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,gBAAgB,CAAC,KAAK,EAAE;gBAChD,OAAO,KAAK,CAAC,KAAK;YACpB;AAEA,YAAA,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAClB,KAAK,YAAY,CAAC,OAAO;oBACvB,OAAO,KAAK,CAAC,OAAO;gBACtB,KAAK,YAAY,CAAC,SAAS;oBACzB,OAAO,KAAK,CAAC,QAAQ;gBACvB,KAAK,YAAY,CAAC,IAAI;oBACpB,OAAO,KAAK,CAAC,KAAK;;AAExB,QAAA,CAAC,qDAAC;AACH,IAAA;+GAjCY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,0lCCf5B,ogFAwFA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDzEa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cAEV,KAAK,EAAA,QAAA,EAAA,ogFAAA,EAAA;;;MEJN,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,EAAE,uDAAC;QACvB,IAAA,CAAA,SAAS,GAAsB,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AACtC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,IAAI,iDAAC;AACnB,QAAA,IAAA,CAAA,QAAQ,GAAuB,KAAK,CAAC,UAAU,CAAC,EAAE,oDAAC;AACnD,QAAA,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,KAAK,gEAAC;AACpC,IAAA;+GARY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,47BCTjC,mVAgBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDPa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,kBAAkB,EAAA,QAAA,EAAA,mVAAA,EAAA;;sBAK3B,SAAS;uBAAC,QAAQ;;sBAClB,SAAS;uBAAC,SAAS;;;AEWhB,MAAO,mBACX,SAAQ,0BAA0B,CAAA;AAQlC,IAAA,WAAA,CAAmB,QAAmB,EAAA;QACpC,KAAK,CAAC,QAAQ,CAAC;QADE,IAAA,CAAA,QAAQ,GAAR,QAAQ;QALlB,IAAA,CAAA,KAAK,GAAG,EAAE;QACV,IAAA,CAAA,WAAW,GAAG,EAAE;QAChB,IAAA,CAAA,WAAW,GAAG,EAAE;IAKzB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;AAC/B,YAAA,KAAK,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AAClC,SAAA,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE;AAEhB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAE3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACzC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK;AAChC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,QAAQ,CAAC,CAAqB,EAAA;;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK;AAC5D,QAAA,QACE,IAAI,CAAC,KAAK,IAAI;AACZ,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AACrB,SAAA;IAEL;AAEA,IAAA,UAAU,CAAC,KAAc,EAAA;QACvB,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC1C,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;AAClC,YAAA,OAAO,GAAG;QACZ;AACA,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AAChC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IACpB;+GApDW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EARnB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBH,wqBAcC,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDQY,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,iBAAiB,EAAA,SAAA,EAGhB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,wqBAAA,EAAA;;sBAMA;;sBACA;;sBACA;;;AE5BH,IAAY,gBAGX;AAHD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;ACA5B;;AAEG;AAOH;;AAEG;MAOU,2BAA2B,CAAA;AAGtC,IAAA,WAAA,CACS,SAAoD,EACpD,IAAY,EACa,IAAgB,EAAA;QAFzC,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,IAAI,GAAJ,IAAI;QACqB,IAAA,CAAA,IAAI,GAAJ,IAAI;QALtC,IAAA,CAAA,gBAAgB,GAAG,gBAAgB;AAOjC,QAAA,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;AACnD,QAAA,IAAI,CAAC,OAAO,IAAI,EAAE;AAClB,QAAA,IAAI,CAAC,UAAU,IAAI,WAAW;IAChC;AAEA;;;AAGG;AACI,IAAA,aAAa,CAAC,aAA+B,EAAA;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAK;gBAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAC1C,+BAA+B,CAChC;gBACD,IAAI,CAAC,GAAG,CAAC;gBACT,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;oBAC7C,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACvD;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AA/BW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,sEAM5B,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AANd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,oFClBxC,wkBAwBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDNa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,yBAAyB,EAAA,QAAA,EAAA,wkBAAA,EAAA;;0BAUhC,MAAM;2BAAC,eAAe;;;AEDrB,MAAO,uBACX,SAAQ,0BAA0B,CAAA;AASlC,IAAA,WAAA,CAAmB,QAAmB,EAAA;QACpC,KAAK,CAAC,QAAQ,CAAC;QADE,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAJlB,IAAA,CAAA,iBAAiB,GAAG,EAAE;IAM/B;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACtD,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC3B;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;AAC/B,YAAA,QAAQ,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AACrC,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAE3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACzC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ;AACnC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/B,QAAA,CAAC,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE;IAClB;+GA7BW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,SAAA,EARvB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBH,iaAYA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDWa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,qBAAqB,EAAA,SAAA,EAEpB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,iaAAA,EAAA;;sBAMA;;sBACA;;sBACA;;;AE7BH;;AAEG;AAKH;;;AAGG;AACG,SAAU,OAAO,CAAI,KAAkB,EAAA;AACzC,IAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,QAAA,OAAO,KAAK;IAChB;AACA,IAAA,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;AAC9B,QAAA,OAAO,KAAK;IAChB;AACA,IAAA,OAAO,IAAI;AACf;;ACOA;AACA,MAAM,cAAc,GAAG,OAAO;MAoBjB,kBAAkB,CAAA;AA4B7B;;;;;;AAMG;AACH,IAAA,WAAA,CACS,MAAsB,EACtB,EAAqB,EACrB,QAAmB,EAAA;QAFnB,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAnCR,IAAA,CAAA,KAAK,GAAG,EAAE;QAEV,IAAA,CAAA,YAAY,GAAG,IAAI;QACnB,IAAA,CAAA,WAAW,GAAG,IAAI;QAClB,IAAA,CAAA,gBAAgB,GAAG,EAAE;QACrB,IAAA,CAAA,YAAY,GAAG,cAAc;QAC7B,IAAA,CAAA,YAAY,GAAG,CAAC;QAChB,IAAA,CAAA,qBAAqB,GAAG,kCAAkC;QAEnE,IAAA,CAAA,IAAI,GAAG,IAAI,gBAAgB,CAAC;AAC1B,YAAA,UAAU,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AACtC,YAAA,SAAS,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AACrC,YAAA,QAAQ,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AACpC,YAAA,cAAc,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AAC1C,YAAA,IAAI,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AACjC,SAAA,CAAC;QAEF,IAAA,CAAA,aAAa,GAAmB,EAAE;QAClC,IAAA,CAAA,eAAe,GAAG,KAAK;QAEvB,IAAA,CAAA,UAAU,GAAG,UAAU;AAEb,QAAA,IAAA,CAAA,eAAe,GACvB,IAAI,YAAY,EAAE;;AA2IpB,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;;AAGxB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;IAjIpB;AAEH;;AAEG;IACH,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE;IACtC;AAEA;;;;;AAKG;AACH,IAAA,WAAW,CAAC,EAAO,EAAA;AACjB,QAAA,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACzC,MAAM,IAAI,GAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;AACjC,gBAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxB;YACF;iBAAO;AACL,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAE3B,gBAAA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;oBACzB,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;oBACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC3C,oBAAA,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAK;AAClC,wBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;AAC9D,wBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,CAAC,IAAI,EACT,WAAW,EACX,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB;AACD,wBAAA,IAAI,CAAC,KAAK,GAAG,OAAO;AACpB,wBAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,wBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACxB,oBAAA,CAAC,CAAC;AACF,oBAAA,KAAK,CAAC,GAAG,GAAG,OAAO;gBACrB;qBAAO;AACL,oBAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,oBAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC1B,oBAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAM,KAAI;AACzB,wBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,CAAC,IAAI,EACT,CAAC,CAAC,MAAM,CAAC,MAAM,EACf,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAChB;AACD,wBAAA,IAAI,CAAC,KAAK,GAAG,OAAO;AACpB,wBAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,wBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACxB,oBAAA,CAAC;gBACH;YACF;QACF;aAAO;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAClC;IACF;AAEA;;;;;AAKG;IACK,WAAW,CAAC,KAAU,EAAE,WAAmB,EAAA;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM;AACzC,QAAA,MAAM,CAAC,KAAK,GAAG,WAAW;AAC1B,QAAA,MAAM,CAAC,MAAM,GAAG,WAAW,GAAG,MAAM;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC;AAAE,YAAA,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;AACzE,QAAA,OAAO,MAAM,CAAC,SAAS,EAAE;IAC3B;AAEA;;;;;AAKG;IACH,aAAa,CACX,IAAa,EACb,OAAgB,EAChB,KAAc,EACd,SAAkB,EAClB,IAAa,EAAA;QAEb,OAAO;YACL,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE;YAC9B,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;YAC1B,cAAc,EAAE,OAAO,GAAG,OAAO,GAAG,EAAE;YACtC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,EAAE;YACrC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;SACJ;IACtB;AAEA;;AAEG;IACH,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACjD;AAEA;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK;IACxB;AAEA;;AAEG;IACH,IAAI,KAAK,CAAC,KAAsB,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC;;AASA,IAAA,QAAQ,KAAI;IAEZ,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,UAAU,CAAC,KAA6B,EAAA;QACtC,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QACpB;AAEA,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;QACnB;IACF;;AAGA,IAAA,QAAQ,CAAC,CAAqB,EAAA;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC9D;AAEA;;AAEG;AACH,IAAA,eAAe,CAAC,EAAO,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,EAAE,CAAC,MAA0B;AAC7C,QAAA,OAAO,CAAC,KAAK,GAAG,EAAE;IACpB;+GA9MW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAblB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7CH,84EA8EA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD/Ba,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAlB9B,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,gBAAgB,EAAA,SAAA,EAGf;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,84EAAA,EAAA;;sBAGA,SAAS;uBAAC,WAAW;;sBAErB;;sBAEA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAeA;;;AExEH;;AAEG;MA0CU,eAAe,CAAA;AArC5B,IAAA,WAAA,GAAA;QAsCW,IAAA,CAAA,IAAI,GAAG,QAAQ;QAExB,IAAA,CAAA,gBAAgB,GAAG,KAAK;QACxB,IAAA,CAAA,YAAY,GAAG,GAAG;QAClB,IAAA,CAAA,aAAa,GAAG,IAAI;QAEX,IAAA,CAAA,cAAc,GAAG,EAAE;QACnB,IAAA,CAAA,YAAY,GAAG,EAAE;QAEjB,IAAA,CAAA,WAAW,GAAG,EAAE;QAChB,IAAA,CAAA,UAAU,GAAG,EAAE;QACf,IAAA,CAAA,gBAAgB,GAAG,KAAK;QACxB,IAAA,CAAA,QAAQ,GAAG,EAAE;QACb,IAAA,CAAA,QAAQ,GAAG,EAAE;AA6BvB,IAAA;AAvBC;;;AAGG;IACH,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;AAEA;;AAEG;IACH,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB;IAChD;AAEA;;AAEG;AACH,IAAA,qBAAqB,CAAC,aAAqB,EAAA;AACzC,QAAA,IAAI,CAAC,YAAY,GAAG,CAAA,EAAG,aAAa,IAAI;IAC1C;+GA1CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5C5B,o3CAkDA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAE,YAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,UAAA,EDtCc;YACV,OAAO,CAAC,mBAAmB,EAAE;AAC3B,gBAAA,KAAK,CACH,MAAM,EACN,KAAK,CAAC;AACJ,oBAAA,MAAM,EAAE,kBAAkB;AAC1B,oBAAA,UAAU,EAAE,wCAAwC;AACrD,iBAAA,CAAC,EACF;AACE,oBAAA,MAAM,EAAE;AACN,wBAAA,YAAY,EAAE,OAAO;AACrB,wBAAA,aAAa,EAAE,IAAI;AACpB,qBAAA;iBACF,CACF;AACD,gBAAA,KAAK,CACH,OAAO,EACP,KAAK,CAAC;AACJ,oBAAA,MAAM,EAAE,CAAC;AACT,oBAAA,UAAU,EAAE,wCAAwC;AACrD,iBAAA,CAAC,EACF;AACE,oBAAA,MAAM,EAAE;AACN,wBAAA,YAAY,EAAE,OAAO;AACrB,wBAAA,OAAO,EAAE,CAAC;AACV,wBAAA,aAAa,EAAE,IAAI;AACpB,qBAAA;iBACF,CACF;aACF,CAAC;AACH,SAAA,EAAA,CAAA,CAAA;;4FAEU,eAAe,EAAA,UAAA,EAAA,CAAA;kBArC3B,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,YAAY,EAAA,UAAA,EAGV;wBACV,OAAO,CAAC,mBAAmB,EAAE;AAC3B,4BAAA,KAAK,CACH,MAAM,EACN,KAAK,CAAC;AACJ,gCAAA,MAAM,EAAE,kBAAkB;AAC1B,gCAAA,UAAU,EAAE,wCAAwC;AACrD,6BAAA,CAAC,EACF;AACE,gCAAA,MAAM,EAAE;AACN,oCAAA,YAAY,EAAE,OAAO;AACrB,oCAAA,aAAa,EAAE,IAAI;AACpB,iCAAA;6BACF,CACF;AACD,4BAAA,KAAK,CACH,OAAO,EACP,KAAK,CAAC;AACJ,gCAAA,MAAM,EAAE,CAAC;AACT,gCAAA,UAAU,EAAE,wCAAwC;AACrD,6BAAA,CAAC,EACF;AACE,gCAAA,MAAM,EAAE;AACN,oCAAA,YAAY,EAAE,OAAO;AACrB,oCAAA,OAAO,EAAE,CAAC;AACV,oCAAA,aAAa,EAAE,IAAI;AACpB,iCAAA;6BACF,CACF;yBACF,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,o3CAAA,EAAA;;sBAGA;;sBAMA;;sBACA;;sBAEA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA,SAAS;uBAAC,SAAS;;sBAEnB,SAAS;uBAAC,cAAc;;;AE9D3B;;AAEG;AAeH,QAAQ,EAAE;MAOG,oBAAoB,CAAA;AAO/B,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;QALb,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEf,QAAA,IAAA,CAAA,gBAAgB,GAAyB,IAAI,YAAY,EAAE;AAC3D,QAAA,IAAA,CAAA,YAAY,GAAiC,IAAI,YAAY,EAAE;IAEpC;IAErC,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE;IACtB;IAEA,iBAAiB,GAAA;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC7C,QAAQ,CAAC,CAAC,CAAoB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC7C,QAAQ,CAAC,CAAC,CAAoB;AAEjC,QAAA,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AACrB,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE,OAAO;AAChB,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,SAAS,EAAE,IAAI;AAChB,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;AACrB,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA,CAAC;QAEF,OAAO,CAAC,UAAU,EAAE;QACpB,OAAO,CAAC,UAAU,EAAE;IACtB;IAEA,aAAa,CAAC,OAAO,GAAG,GAAG,EAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC7C,QAAQ,CAAC,CAAC,CAAoB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC7C,QAAQ,CAAC,CAAC,CAAoB;QAEjC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YACpC,UAAU,CAAC,MAAK;AACd,gBAAA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;AACvB,gBAAA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACzB,CAAC,EAAE,OAAO,CAAC;QACb;IACF;AAEA,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IAC1B;AAEA,IAAA,cAAc,CAAC,KAA4B,EAAA;QACzC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;AACpC,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;AACrE,YAAA,eAAe,CACb,IAAI,CAAC,YAAY,EACjB,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,YAAY,CACnB;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YACzC,IAAI,CAAC,aAAa,EAAE;QACtB;IACF;+GA1EW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,qQCxBjC,61CA6CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDrBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,kBAAkB,EAAA,QAAA,EAAA,61CAAA,EAAA;;sBAI3B;;sBACA;;sBACA;;sBACA;;sBACA;;;AE7BH;;AAEG;AAMH;;AAEG;MAOU,yBAAyB,CAAA;IAKpC,IACW,SAAS,CAAC,GAAW,EAAA;QAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC;IACvE;AAKA,IAAA,WAAA,CAA6B,SAAuB,EAAA;QAAvB,IAAA,CAAA,SAAS,GAAT,SAAS;QAXtB,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,OAAO,GAAG,KAAK;QACf,IAAA,CAAA,QAAQ,GAAG,KAAK;QAMhC,IAAA,CAAA,KAAK,GAAG,KAAK;QACb,IAAA,CAAA,cAAc,GAAG,KAAK;IAEiC;AAEvD,IAAA,QAAQ,KAAI;+GAfD,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,uLCjBtC,+jCAmCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlBa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,oBAAoB,EAAA,QAAA,EAAA,+jCAAA,EAAA;;sBAM7B;;sBACA;;sBACA;;sBACA;;;AEtBH;;AAEG;MA0BU,qBAAqB,CAAA;AAShC,IAAA,WAAA,GAAA;AARA,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,oDAAC;AACvB,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAS,CAAC,+CAAC;AAEtB,QAAA,IAAA,CAAA,YAAY,GAA2B,MAAM,CAAC,CAAC,wDAAC;AAChD,QAAA,IAAA,CAAA,OAAO,GAA4B,MAAM,CAAC,KAAK,mDAAC;QAChD,IAAA,CAAA,KAAK,GAAG,KAAK;QACb,IAAA,CAAA,UAAU,GAAG,UAAU;QAYvB,IAAA,CAAA,QAAQ,GAA6B,MAAK;;AAE1C,QAAA,CAAC;QACD,IAAA,CAAA,SAAS,GAAG,MAAK;;AAEjB,QAAA,CAAC;IAfc;AAEf,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE;IAC5B;IAEA,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B;AASA,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;IAEA,GAAG,GAAA;QACD,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC;IACF;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;AACxD,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC;IACF;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB;IACF;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAC/B;AAEA,IAAA,gBAAgB,CAAC,QAAkC,EAAA;AACjD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC1B;AAEA,IAAA,iBAAiB,CAAC,SAAqB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;+GA/DW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,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,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EARrB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BH,ixBAyBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAZjC,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,mBAAmB,EAAA,SAAA,EAElB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,ixBAAA,EAAA;;;AE1BH;;AAEG;MAwCU,iBAAiB,CAAA;AAjB9B,IAAA,WAAA,GAAA;AAkBY,QAAA,IAAA,CAAA,MAAM,GAAyB,IAAI,YAAY,EAAE;AACjD,QAAA,IAAA,CAAA,MAAM,GAAyB,IAAI,YAAY,EAAE;AAE3D,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,oDAAC;AACvB,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,UAAU,iDAAC;AACzB,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,KAAK,wDAAC;AAC3B,QAAA,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,+BAA+B,gEAAC;AAC7D,QAAA,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,+BAA+B,gEAAC;AAC7D,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,qBAAqB,6DAAC;AAChD,QAAA,IAAA,CAAA,sBAAsB,GAAG,KAAK,CAC5B,oDAAoD,kEACrD;AACD,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,+DAAC;QAErD,IAAA,CAAA,UAAU,GAAG,UAAU;AACvB,QAAA,IAAA,CAAA,KAAK,GAA2B,MAAM,CAAC,EAAE,iDAAC;AAC1C,QAAA,IAAA,CAAA,YAAY,GAA4B,MAAM,CAAC,KAAK,wDAAC;AACrD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,KAAK,iEAAC;AAErC,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;YAChC,MAAM,KAAK,GAAG,qBAAqB;YAEnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACjC,QAAA,CAAC,6DAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;YAChC,MAAM,KAAK,GAAG,qBAAqB;YAEnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACjC,QAAA,CAAC,6DAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAK;YAClC,MAAM,KAAK,GAAG,2BAA2B;YAEzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACjC,QAAA,CAAC,+DAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;YAC7B,MAAM,KAAK,GAAG,qBAAqB;YAEnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACjC,QAAA,CAAC,0DAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAK;YAClC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,EAAE;AAClC,QAAA,CAAC,+DAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YAC1B,OAAO;AACL,gBAAA;oBACE,IAAI,EAAE,IAAI,CAAC,oBAAoB;oBAC/B,OAAO,EAAE,IAAI,CAAC,iBAAiB;AAC/B,oBAAA,KAAK,EAAE,WAAW;AACnB,iBAAA;AACD,gBAAA;oBACE,IAAI,EAAE,IAAI,CAAC,oBAAoB;oBAC/B,OAAO,EAAE,IAAI,CAAC,iBAAiB;AAC/B,oBAAA,KAAK,EAAE,WAAW;AACnB,iBAAA;AACD,gBAAA;oBACE,IAAI,EAAE,IAAI,CAAC,sBAAsB;oBACjC,OAAO,EAAE,IAAI,CAAC,mBAAmB;AACjC,oBAAA,KAAK,EAAE,aAAa;AACrB,iBAAA;AACD,gBAAA;oBACE,IAAI,EAAE,IAAI,CAAC,iBAAiB;oBAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;AAC5B,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACD,gBAAA;oBACE,IAAI,EAAE,IAAI,CAAC,mBAAmB;oBAC9B,OAAO,EAAE,IAAI,CAAC,mBAAmB;AACjC,oBAAA,KAAK,EAAE,UAAU;AAClB,iBAAA;aACF;AACH,QAAA,CAAC,uDAAC;AAeF,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;AA4BxB,IAAA;AA1CC,IAAA,QAAQ,CAAC,MAAqB,EAAA;AAC5B,QAAA,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB;IACF;AAEA,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAA0B;AAClD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;AAKA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IACvB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;IAEA,QAAQ,CAAC,EAAE,KAAK,EAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,OAAO,IAAI;AAErC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,EAAE;QAEjB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;AACzB,gBAAA,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI;YACjC;QACF;AAEA,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM;IACxC;+GAvHW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAbjB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCH,uwDA4DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlBa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,cAAc,EAAA,SAAA,EAEb;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,uwDAAA,EAAA;;sBAGA;;sBACA;;;MEpBU,mBAAmB,CAAA;AAbhC,IAAA,WAAA,GAAA;QAcW,IAAA,CAAA,OAAO,GAA2B,EAAE;QACpC,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,KAAK,GAAQ,IAAI;AAGjB,QAAA,IAAA,CAAA,KAAK,GAAiB,YAAY,CAAC,OAAO;AAC1C,QAAA,IAAA,CAAA,IAAI,GAAoB,eAAe,CAAC,EAAE;QAC1C,IAAA,CAAA,SAAS,GAAqB,KAAK;AAE5C,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAU,KAAI;AACxB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AACpB,QAAA,CAAC;AAED,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,EAAE,CAAC;AAmBrB,IAAA;AAjBC,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;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,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE;IAClB;+GAhCW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EARnB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBH,g2BA8BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDNa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,gBAAgB,EAAA,SAAA,EAGf;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,g2BAAA,EAAA;;sBAGA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBACA;;;IEhCS;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,cAA8B;AAC9B,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,MAAe;AACjB,CAAC,EAJW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;ACwBpB,MAAO,2BACX,SAAQ,0BAA0B,CAAA;AASlC,IAAA,WAAA,CAAmB,QAAmB,EAAA;QACpC,KAAK,CAAC,QAAQ,CAAC;QADE,IAAA,CAAA,QAAQ,GAAR,QAAQ;;QAH3B,IAAA,CAAA,cAAc,GAAG,cAAc;QAC/B,IAAA,CAAA,MAAM,GAAG,MAAM;IAIf;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;AAC/B,YAAA,KAAK,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;AAClC,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;;QAG3B,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACpE,CAAC,EAAE,IAAI,CAAC;QAER,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACzC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,CAAC,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE;IAClB;+GA9BW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAR3B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBH,u0BAwBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAb,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,YAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDAa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,yBAAyB,EAAA,SAAA,EAExB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,u0BAAA,EAAA;;sBAMA;;;AE5BH;;AAEG;MACU,YAAY,CAAA;AAErB,IAAA,WAAA,CACS,GAAW,EACX,QAAgB,EAChB,OAAA,GAAU,eAAe,CAAC,SAAS,EAAA;QAFnC,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,OAAO,GAAP,OAAO;QAJhB,IAAA,CAAA,MAAM,GAAG,MAAM;IAKV;AACN;IAES;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,eAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,eAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACb,CAAC,EAJW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;;MCVd,kBAAkB,CAAA;AAE9B;MAEY,aAAa,CAAA;IAIxB,WAAA,CAAY,IAAY,EAAE,KAAU,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AACD;MAEY,cAAc,CAAA;IAIzB,WAAA,CAAY,KAAa,EAAE,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AACD;MAEY,YAAY,CAAA;IAIvB,WAAA,CAAY,GAAW,EAAE,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AACD;;AClCD;;AAEG;MACU,eAAe,CAAA;AAO3B;;ACVD;;AAEG;;ACqBG,MAAO,6BACX,SAAQ,0BAA0B,CAAA;AAOlC,IAAA,WAAA,CAAmB,QAAmB,EAAA;QACpC,KAAK,CAAC,QAAQ,CAAC;QADE,IAAA,CAAA,QAAQ,GAAR,QAAQ;;QAH3B,IAAA,CAAA,cAAc,GAAG,cAAc;QAC/B,IAAA,CAAA,MAAM,GAAG,MAAM;IAIf;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;YAC/B,KAAK,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACrE,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAE3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACzC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK;AAChC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,CAAC,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE;IAClB;+GAxBW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,SAAA,EAR7B;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC5D,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBH,mhCAkCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDXa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAZzC,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,2BAA2B,EAAA,SAAA,EAE1B;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,mCAAmC,CAAC;AAC5D,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,mhCAAA,EAAA;;;MEiBU,kBAAkB,CAAA;AAlB/B,IAAA,WAAA,GAAA;QAqBW,IAAA,CAAA,KAAK,GAAG,EAAE;QACV,IAAA,CAAA,KAAK,GAAG,EAAE;QACV,IAAA,CAAA,QAAQ,GAAG,EAAE;QACb,IAAA,CAAA,UAAU,GAAG,KAAK;QAE3B,IAAA,CAAA,UAAU,GAAG,UAAU;AACvB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,EAAE,kDAAC;AACX,QAAA,IAAA,CAAA,OAAO,GAAkC,MAAM,CAAC,EAAE,mDAAC;AAE3D,QAAA,IAAA,CAAA,eAAe,GAA0B,QAAQ,CAAC,MAAK;YACrD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5E,QAAA,CAAC,2DAAC;AAgBF,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;AAExB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;AAsDxB,IAAA;IAtEC,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IACvC;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7C;IACF;AAEA,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB;AAMA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;IAEA,YAAY,GAAA;QACV,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;QAC3C,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAE9C,QAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAClC,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE;AAEA,QAAA,OAAO,UAAU;IACnB;AAEA,IAAA,iBAAiB,CAAC,KAAY,EAAA;QAC5B,IAAI,CAAC,YAAY,CAAE,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;IAC7D;AAEA,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IACrB;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC;IACF;IAEA,QAAQ,CAAC,EAAE,KAAK,EAAe,EAAA;;QAE7B,MAAM,SAAS,GAAG,iCAAiC;QAEnD,IACE,IAAI,CAAC,UAAU;aACd,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;AAEvD,YAAA,OAAO,IAAI;AACb,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI;;YAEpC,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;aACd;IACL;+GArFW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAblB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,kBAAkB;AAC/B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpCH,8uBA6BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAa,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDSa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAlB9B,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,gBAAgB,EAAA,SAAA,EAGf;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAA,kBAAoB;AAC/B,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,8uBAAA,EAAA;;sBAKA;;sBACA;;sBACA;;sBACA;;;MEfU,wBAAwB,CAAA;AAiBnC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,aAAa;IAC3B;IAEA,IAAI,KAAK,CAAC,KAAwB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE;AACvD,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB;IACF;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACpB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;AAEA,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,KAAK,CAAC,aAAa,EACxB,UAAU,EACV,UAAU,CACX;QACH;IACF;AAEA,IAAA,WAAA,CAAmB,QAAmB,EAAA;QAAnB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAlDlB,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,OAAO,GAAG,EAAE;QACZ,IAAA,CAAA,MAAM,GAAG,EAAE;;AAQb,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;;AAG/B,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;IAqCkB;IAEzC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;YAC/B,KAAK,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;AAClD,SAAA,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACzC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK;AAChC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,CAAC,CAAC;IACJ;+GA/DW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EARxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,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,EC3BH,gaAWA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAf,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDkBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;iCACI,KAAK,EAAA,QAAA,EACP,sBAAsB,EAAA,SAAA,EAErB;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,gaAAA,EAAA;;sBAGA;;sBACA;;sBACA;;sBACA;;sBAGA,SAAS;uBAAC,OAAO;;;ME4GP,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iBAtFlC,kBAAkB;YAClB,iBAAiB;YACjB,mBAAmB;YACnB,yBAAyB;YACzB,uBAAuB;YACvB,kBAAkB;YAClB,eAAe;YACf,2BAA2B;YAC3B,aAAa;YACb,oBAAoB;YACpB,yBAAyB;YACzB,4BAA4B;YAC5B,eAAe;YACf,YAAY;YACZ,oBAAoB;YACpB,mBAAmB;YACnB,2BAA2B;YAC3B,6BAA6B;YAC7B,oBAAoB;YACpB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;YACxB,iBAAiB;YACjB,eAAe;YACf,aAAa;YACb,eAAe;AACf,YAAA,qBAAqB,aAGrB,YAAY;YACZ,cAAc;YACd,iBAAiB;YACjB,eAAe;YACf,cAAc;YACd,eAAe;YACf,WAAW;YACX,mBAAmB;YACnB,kBAAkB;YAClB,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,gBAAgB;YAChB,kBAAkB;YAClB,eAAe;YACf,wBAAwB;YACxB,gBAAgB;YAChB,oBAAoB;YACpB,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,qBAAqB;YACrB,aAAa;AACb,YAAA,aAAa,aAGb,kBAAkB;YAClB,iBAAiB;YACjB,mBAAmB;YACnB,yBAAyB;YACzB,uBAAuB;YACvB,mBAAmB;YACnB,kBAAkB;YAClB,eAAe;YACf,2BAA2B;YAC3B,aAAa;YACb,oBAAoB;YACpB,yBAAyB;YACzB,4BAA4B;YAC5B,eAAe;YACf,YAAY;YACZ,oBAAoB;YACpB,2BAA2B;YAC3B,6BAA6B;YAC7B,oBAAoB;YACpB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;YACxB,iBAAiB;YACjB,eAAe;YACf,aAAa;YACb,eAAe;YACf,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAKZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,SAAA,EAHzB,CAAC,eAAe,CAAC,YAtD1B,YAAY;YACZ,cAAc;YACd,iBAAiB;YACjB,eAAe;YACf,cAAc;YACd,eAAe;YACf,WAAW;YACX,mBAAmB;YACnB,kBAAkB;YAClB,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,gBAAgB;YAChB,kBAAkB;YAClB,eAAe;YACf,wBAAwB;YACxB,gBAAgB;YAChB,oBAAoB;YACpB,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,qBAAqB;YACrB,aAAa;YACb,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAkCJ,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAxFrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;wBAClB,iBAAiB;wBACjB,mBAAmB;wBACnB,yBAAyB;wBACzB,uBAAuB;wBACvB,kBAAkB;wBAClB,eAAe;wBACf,2BAA2B;wBAC3B,aAAa;wBACb,oBAAoB;wBACpB,yBAAyB;wBACzB,4BAA4B;wBAC5B,eAAe;wBACf,YAAY;wBACZ,oBAAoB;wBACpB,mBAAmB;wBACnB,2BAA2B;wBAC3B,6BAA6B;wBAC7B,oBAAoB;wBACpB,kBAAkB;wBAClB,oBAAoB;wBACpB,wBAAwB;wBACxB,iBAAiB;wBACjB,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,iBAAiB;wBACjB,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,WAAW;wBACX,mBAAmB;wBACnB,kBAAkB;wBAClB,cAAc;wBACd,aAAa;wBACb,iBAAiB;wBACjB,gBAAgB;wBAChB,kBAAkB;wBAClB,eAAe;wBACf,wBAAwB;wBACxB,gBAAgB;wBAChB,oBAAoB;wBACpB,eAAe;wBACf,gBAAgB;wBAChB,eAAe;wBACf,qBAAqB;wBACrB,aAAa;wBACb,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,iBAAiB;wBACjB,mBAAmB;wBACnB,yBAAyB;wBACzB,uBAAuB;wBACvB,mBAAmB;wBACnB,kBAAkB;wBAClB,eAAe;wBACf,2BAA2B;wBAC3B,aAAa;wBACb,oBAAoB;wBACpB,yBAAyB;wBACzB,4BAA4B;wBAC5B,eAAe;wBACf,YAAY;wBACZ,oBAAoB;wBACpB,2BAA2B;wBAC3B,6BAA6B;wBAC7B,oBAAoB;wBACpB,kBAAkB;wBAClB,oBAAoB;wBACpB,wBAAwB;wBACxB,iBAAiB;wBACjB,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,qBAAqB;AACtB,qBAAA;oBACD,SAAS,EAAE,CAAC,eAAe,CAAC;oBAC5B,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;MC1IY,0BAA0B,CAAA;AAErC,IAAA,WAAA,GAAA,EAAgB;+GAFL,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACJD;;AAEG;IAES;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,GAAA,EAAA,CAAA,CAAA;;ACJ9B;;AAEG;AA0EH;;AC5EA;;AAEG;;;;"}
1
+ {"version":3,"file":"kms-ngx-ui-presentational.mjs","sources":["../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/integer-currency.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-html.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-resource-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/safe-url.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/sanitaze-null.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/trim.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/typeof.pipe.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/pipes/custom-pipes.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/sum-of-height.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/swipe.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/time.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/tooltip.directive.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/directives/directives.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/services/viewport.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/colors.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/iconSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/icon/icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/icon/icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/back-to-top/back-to-top.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/back-to-top/back-to-top.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/card/card.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/card/card.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/checkbox/checkbox.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/checkbox/checkbox.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/parent-components/form-control.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/dropdown-from-data/dropdown-from-data.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/dropdown-from-data/dropdown-from-data.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/loader/loader.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/loader/loader.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/address.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/map/map.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/map/map.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/radioButtonSize.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/radiobutton/radiobutton.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/radiobutton/radiobutton.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slide-toggle/slide-toggle.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slide-toggle/slide-toggle.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slider/slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/atoms/slider/slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/enums/buttonAppearance.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/button/button.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/button/button.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/tooltip-icon/tooltip-icon.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/tooltip-icon/tooltip-icon.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/color-input/color-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/color-input/color-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/confirmation-dialog/dialog-data.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/confirmation-dialog/confirmation-dialog.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/confirmation-dialog/confirmation-dialog.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/enum-radiogroup/enum-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/enum-radiogroup/enum-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/is-value.function.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/file-input/file-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/file-input/file-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/flyout/flyout.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/flyout/flyout.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/image-slider/image-slider.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/image-slider/image-slider.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/kms-accordion-item/kms-accordion-item.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/kms-accordion-item/kms-accordion-item.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/numeric-input/numeric-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/numeric-input/numeric-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/password/password.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/password/password.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/radiogroup/radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/radiogroup/radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/salutation.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-dropdown/salutation-dropdown.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-dropdown/salutation-dropdown.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/models/image-snippet.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/text-value-pair.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/attached-file-dto.model.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/types/nullable.type.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-radiogroup/salutation-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/salutation-radiogroup/salutation-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/time-input/time-input.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/time-input/time-input.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component.html","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.module.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/kms-ngx-ui-presentational.service.ts","../../../../projects/kms-ngx-ui-presentational/src/lib/models/button-response-types.enum.ts","../../../../projects/kms-ngx-ui-presentational/src/public-api.ts","../../../../projects/kms-ngx-ui-presentational/src/kms-ngx-ui-presentational.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'lib-kms-ngx-ui-presentational',\n template: `\n <p>\n kms-ngx-ui-presentational works!\n </p>\n `,\n styles: [\n ]\n})\nexport class KmsUiPresentationalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void { }\n\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CurrencyPipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsIntegerCurrency',\n standalone: false,\n})\nexport class IntegerCurrency implements PipeTransform {\n constructor(private cp: CurrencyPipe) {}\n transform(\n value: any,\n currencyCode?: string,\n display?: boolean,\n digitsInfo?: string\n ): string | null {\n const currencyPipeValue = this.cp.transform(\n value,\n currencyCode,\n display,\n digitsInfo\n );\n if (currencyPipeValue) {\n const convertedValue =\n currencyPipeValue.split(',')[0] + ' ' + currencyPipeValue.slice(-1);\n return convertedValue;\n } else {\n throw new Error('No value provided');\n }\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeHtml',\n standalone: false,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeResourceSUrl',\n standalone: false,\n})\nexport class SafeResourceUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'kmsSafeSUrl',\n standalone: false,\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(url: string): SafeUrl {\n return this.sanitizer.bypassSecurityTrustUrl(url);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'sanitizeNull', standalone: false })\nexport class SanitizeNullPipe implements PipeTransform {\n transform(value: any): string {\n return value === 'null' || value == null ? '' : value;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'kmsTrim', standalone: false })\nexport class TrimPipe implements PipeTransform {\n transform(value: any) {\n if (!value) {\n return '';\n }\n\n return value.trim();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'kmsTypeOf',\n standalone: false,\n})\nexport class TypeofPipe implements PipeTransform {\n transform(value: any): any {\n return typeof value;\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CommonModule, CurrencyPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IntegerCurrency } from './integer-currency.pipe';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { SafeResourceUrlPipe } from './safe-resource-url.pipe';\nimport { SafeUrlPipe } from './safe-url.pipe';\nimport { SanitizeNullPipe } from './sanitaze-null.pipe';\nimport { TrimPipe } from './trim.pipe';\nimport { TypeofPipe } from './typeof.pipe';\n\n@NgModule({\n declarations: [\n IntegerCurrency,\n SafeHtmlPipe,\n SanitizeNullPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n imports: [CommonModule],\n exports: [\n IntegerCurrency,\n SafeHtmlPipe,\n SanitizeNullPipe,\n SafeUrlPipe,\n TrimPipe,\n SafeResourceUrlPipe,\n TypeofPipe,\n ],\n providers: [CurrencyPipe],\n})\nexport class CustomPipesModule {}\n","/**\n * @copyright KMS GmbH\n */\n\n// ng\nimport {\n AfterContentChecked,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\n/**\n * Directive to calc the height of all inner elements\n */\n@Directive({\n selector: '[getMaxHeight]',\n standalone: false,\n})\nexport class GetMaxHeightDirective implements AfterContentChecked {\n /**\n * CSS class name of the child items (markup elements) that should be checked for their height.\n * This is mandatory.\n */\n @Input('getMaxHeight') cssClassName = '';\n\n /**\n * Event that will pass the height of the tallest child inside the container.\n * Useful to calculate the target height of containers with different content (like accordion) for animations.\n */\n @Output() public maxHeightChanged: EventEmitter<number> = new EventEmitter();\n\n /**\n * Event that will pass the complete sum of all height values from each child.\n * Useful to calculate the full target height of a container (like dropdown) for animations.\n */\n @Output() public sumOfHeight: EventEmitter<number> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterContentChecked(): void {\n this.checkHeightOfChildren(this.el.nativeElement, this.cssClassName);\n }\n\n private checkHeightOfChildren(parent: HTMLElement, cssClassName: string) {\n if (!parent) {\n return;\n }\n\n // find all the child elements with the selected class name\n const children = parent.getElementsByClassName(cssClassName);\n\n // failsafe\n if (!children) {\n return;\n }\n\n // get all the child elements heights\n const itemHeights = Array.from(children).map(\n (x) => x.getBoundingClientRect().height\n );\n\n // failsafe\n if (itemHeights.length === 0) {\n return;\n }\n\n // find out the tallest element\n const maxHeight = itemHeights.reduce((prev, curr) => {\n return curr > prev ? curr : prev;\n }, 0);\n\n // get sum of heights\n const sumOfHeight = itemHeights.reduce((pv, cv) => pv + cv, 0);\n\n // inform\n this.maxHeightChanged.emit(maxHeight);\n this.sumOfHeight.emit(sumOfHeight);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SwipeMoveEvent, SwipeOptions, SwipeReleaseEvent } from './swipe.model';\n\n@Directive({\n selector: '[swipeDirective]',\n standalone: false,\n})\nexport class SwipeDirective {\n /**\n * Output Event that is emitted during swipe process (mouse move or touch move event).\n * Can be used for calculation purposes.\n */\n @Output() public moveEvent = new EventEmitter<SwipeMoveEvent>();\n\n /**\n * Output Event that is emitted when swipe process end (mouse up or touch end event).\n * Can be used for calculation purposes.\n */\n @Output() public releaseEvent = new EventEmitter<SwipeReleaseEvent>();\n\n private _swipeOptions: SwipeOptions | undefined;\n\n private _moveEventData: SwipeMoveEvent | undefined;\n private _startPosition = -1;\n\n private _lastPosX = 0;\n\n private _thresholdWasReached = false;\n\n private _isMobile: boolean | undefined;\n\n private _timeStart = 0;\n\n /**\n * Needed config that defines swipe behaviour.\n * @param options SwipeOptions\n */\n @Input('swipeDirective')\n set config(options: SwipeOptions) {\n if (options) {\n this._swipeOptions = options;\n }\n }\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n onMouseDown(event: any) {\n this.calculateStartPosition(event);\n }\n\n @HostListener('mousemove', ['$event'])\n @HostListener('touchmove', ['$event'])\n onMove(event: any) {\n this.move(event);\n }\n\n @HostListener('mouseup', ['$event'])\n @HostListener('mouseleave', ['$event'])\n @HostListener('touchend', ['$event'])\n onRelease(event: any) {\n this.release(event);\n this.reset();\n }\n\n // ** PRIVATE ** //\n\n /**\n * Function checks if the current moving delta is inside the defined threshold.\n * Sets the flag to true if the threshold was reached once.\n */\n private checkThreshold(moveEvent: SwipeMoveEvent) {\n const percentage =\n this._swipeOptions && this._swipeOptions.swipeThresholdType === '%';\n\n if (\n !percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistanceTotal < this._swipeOptions.swipeThreshold\n ) {\n return;\n } else if (\n percentage &&\n this._swipeOptions &&\n moveEvent.swipeDistancePercentage <\n this._swipeOptions.swipeThreshold / 100\n ) {\n return;\n } else {\n this._thresholdWasReached = true;\n }\n }\n\n private calculateStartPosition(event?: any) {\n // detect if touch or click\n this._isMobile = event.type === 'touchstart';\n\n // save start position\n\n if (this._swipeOptions && this._swipeOptions.swipeLocalPosition) {\n if (this._isMobile) {\n const touch: Touch = event.touches[0];\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n this._startPosition = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n this._lastPosX = this._startPosition;\n this._timeStart = event.timeStamp;\n this._thresholdWasReached = false;\n }\n\n private move(event: any) {\n // failsafe\n if (typeof event === 'undefined') {\n return;\n }\n\n let posX = 0;\n\n if (this._swipeOptions) {\n if (this._isMobile && event.type === 'touchmove') {\n const touch: Touch = event.touches[0];\n posX = this._swipeOptions.swipeLocalPosition\n ? touch.clientX\n : touch.pageX;\n } else {\n posX = this._swipeOptions.swipeLocalPosition\n ? event.offsetX\n : event.pageX;\n }\n }\n\n const offsetPerFrame: number = posX - this._lastPosX;\n const swipeDistanceTotal: number = Math.abs(posX - this._startPosition);\n const swipeDistancePercentage: number = Math.abs(\n swipeDistanceTotal / event.target.clientWidth\n );\n const timeDuration: number = Math.abs(event.timeStamp - this._timeStart);\n\n let direction: number;\n let speed: number = 1 - swipeDistanceTotal / timeDuration;\n speed = Math.max(0.1, speed);\n\n if (posX - this._startPosition > 0) {\n direction = 1; // a.k.a LTR\n } else {\n direction = -1; // a.k.a RTL\n }\n\n this._moveEventData = {\n position: posX,\n offsetPerFrame: offsetPerFrame,\n swipeDistanceTotal: swipeDistanceTotal,\n swipeDistancePercentage: swipeDistancePercentage,\n direction: direction,\n speed: speed,\n thresholdWasReached: this._thresholdWasReached,\n };\n\n this.checkThreshold(this._moveEventData);\n\n // update move delta\n this._lastPosX = posX;\n\n // inform\n this.moveEvent.emit(this._moveEventData);\n }\n\n private release(event: any) {\n // case: just a click/touch\n\n if (!this._moveEventData) {\n return;\n }\n\n const releaseEventData: SwipeReleaseEvent = {\n thresholdWasReached: this._thresholdWasReached,\n direction: this._moveEventData.direction,\n speed: this._moveEventData.speed,\n easingType: this.getEasingCurve(this._moveEventData.speed),\n target: event.currentTarget,\n };\n\n // inform\n this.releaseEvent.emit(releaseEventData);\n }\n\n private getEasingCurve(speed: number): string {\n return speed > 0.5 ? 'ease-in' : 'ease-out';\n }\n\n private reset() {\n this._startPosition = -1;\n this._thresholdWasReached = false;\n\n if (this._moveEventData) {\n this._moveEventData = undefined;\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[kmsTime]',\n standalone: false,\n})\nexport class TimeDirective {\n constructor(private el: ElementRef) {}\n\n @HostListener('input', ['$event']) onInputChange(event: InputEvent) {\n this.handleInput(event);\n }\n\n @HostListener('beforeinput', ['$event']) onBeforeInput(event: InputEvent) {\n if (\n event.inputType === 'insertFromPaste' ||\n event.inputType === 'insertText'\n ) {\n const isAllTextHighlighted =\n (event.target as HTMLInputElement).selectionStart === 0 &&\n (event.target as HTMLInputElement).selectionEnd === 5;\n const textReachedMax =\n (event.target as HTMLInputElement).value.length > 4;\n const isNotANumber = isNaN(+event.data);\n\n if (isNotANumber || (textReachedMax && !isAllTextHighlighted)) {\n event.preventDefault();\n }\n this.handleInput(event);\n }\n }\n\n public handleInput(event: InputEvent) {\n const inputElement = this.el.nativeElement as HTMLInputElement;\n const originalValue = inputElement.value;\n\n if (originalValue.length === 2 && event.inputType === 'insertText') {\n inputElement.value += ':';\n inputElement.dispatchEvent(new Event('input'));\n }\n }\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n offset,\n Placement,\n shift,\n} from '@floating-ui/dom';\n\n@Directive({ selector: '[kmsTooltip]', standalone: false })\nexport class TooltipDirective implements AfterViewInit, OnChanges {\n @Input() kmsTooltip: HTMLElement;\n @Input() placement: Placement = 'bottom';\n @Input() delay: number = 0;\n @Input() alwaysVisible = false;\n\n arrow: HTMLElement;\n showTimeout: NodeJS.Timeout;\n\n @HostListener('mouseover')\n onMouseOver() {\n if (this.alwaysVisible) return;\n\n this.showTimeout = setTimeout(() => {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n }, this.delay);\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (this.alwaysVisible) return;\n\n clearTimeout(this.showTimeout);\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit() {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip');\n this.addArrow();\n this.initTooltip();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.alwaysVisible.currentValue) {\n this.renderer.addClass(this.kmsTooltip, 'kms-tooltip--show');\n } else {\n this.renderer.removeClass(this.kmsTooltip, 'kms-tooltip--show');\n }\n }\n\n initTooltip() {\n autoUpdate(this.elementRef.nativeElement, this.kmsTooltip, () => {\n const arrowLength = this.arrow.offsetWidth;\n // Get half the arrow box's hypotenuse length\n const floatingOffset = Math.sqrt(2 * arrowLength ** 2) / 2;\n\n computePosition(this.elementRef.nativeElement, this.kmsTooltip, {\n placement: this.placement,\n middleware: [\n shift(),\n offset(floatingOffset),\n arrow({ element: this.arrow }),\n flip(),\n ],\n }).then(({ x, y, middlewareData, placement }) => {\n this.positionTooltip(x, y);\n\n if (middlewareData.arrow) {\n this.positionTooltipArrow(\n middlewareData.arrow.x,\n middlewareData.arrow.y,\n placement,\n arrowLength\n );\n }\n });\n });\n }\n\n positionTooltip(x: number, y: number) {\n Object.assign(this.kmsTooltip.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n }\n\n positionTooltipArrow(\n x: number,\n y: number,\n placement: Placement,\n arrowLength: number\n ) {\n const side = placement.split('-')[0];\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[side];\n\n this.addArrowClass(staticSide);\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${x}px` : '',\n top: y != null ? `${y}px` : '',\n // Ensure the static side gets unset when\n // flipping to other placements' axes.\n right: '',\n bottom: '',\n [staticSide]: `${-arrowLength / 2}px`,\n transform: 'rotate(45deg)',\n });\n }\n\n addArrow() {\n this.arrow = this.renderer.createElement('div');\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow');\n this.renderer.appendChild(this.kmsTooltip, this.arrow);\n }\n\n addArrowClass(side: string) {\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--left');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--right');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--bottom');\n this.renderer.removeClass(this.arrow, 'kms-tooltip__arrow--top');\n\n this.renderer.addClass(this.arrow, 'kms-tooltip__arrow--' + side);\n }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { GetMaxHeightDirective } from './sum-of-height.directive';\nimport { SwipeDirective } from './swipe.directive';\nimport { TimeDirective } from './time.directive';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n declarations: [\n SwipeDirective,\n GetMaxHeightDirective,\n TooltipDirective,\n TimeDirective,\n ],\n exports: [\n SwipeDirective,\n GetMaxHeightDirective,\n TooltipDirective,\n TimeDirective,\n ],\n})\nexport class DirectivesModule {}\n","/**\n * @copyright KMS GmbH\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, OnDestroy, PLATFORM_ID, DOCUMENT } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { NullAble } from '../models';\n\ndeclare const window: any;\ndeclare const document: any;\n\nexport class WindowDimensions {\n constructor(data?: Partial<WindowDimensions>) {\n Object.assign(this, data);\n }\n Height!: number;\n Width!: number;\n Orientation!: \"landscape\" | \"portrait\";\n}\n\nexport class SimpleBreakpoint {\n constructor(data?: Partial<SimpleBreakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n MaximumPixels!: number;\n}\n\nexport class Breakpoint {\n constructor(data?: Partial<Breakpoint>) {\n Object.assign(this, data);\n }\n Number!: number;\n Name!: string;\n Low!: number;\n High!: number;\n}\n\n/**\n * Service to get viewport\n */\n@Injectable()\nexport class ViewportService implements OnDestroy {\n public readonly simpleBreakpoints: SimpleBreakpoint[] = [\n { Number: 0, Name: 'mobile', MaximumPixels: 768 },\n { Number: 1, Name: 'tablet', MaximumPixels: 1024 },\n { Number: 2, Name: 'desktop', MaximumPixels: 1600 },\n { Number: 3, Name: 'high', MaximumPixels: 2500 },\n ];\n\n public readonly breakpoints: Breakpoint[] = [\n {\n Number: 0,\n Name: 'xs',\n Low: 360,\n High: 990,\n },\n {\n Number: 1,\n Name: 's',\n Low: 991,\n High: 1024,\n },\n {\n Number: 2,\n Name: 'm',\n Low: 1025,\n High: 1200,\n },\n {\n Number: 3,\n Name: 'l',\n Low: 1201,\n High: 1400,\n },\n {\n Number: 4,\n Name: 'xl',\n Low: 1401,\n High: 1600,\n },\n {\n Number: 5,\n Name: 'xxl',\n Low: 1601,\n High: 1920,\n },\n {\n Number: 6,\n Name: 'xxxl',\n Low: 1921,\n High: 99999,\n },\n ];\n\n private viewportChangedSubscriber: Subject<string> = new Subject<string>();\n private viewportResizedSubscriber: Subject<number> = new Subject<number>();\n\n private currentViewport!: string;\n private currentViewportObject!: Breakpoint;\n private isBrowser = false;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: Object,\n @Inject(DOCUMENT) public document: Document\n ) {\n if (isPlatformBrowser(this.platformId)) {\n window.addEventListener('resize', this.documentSizeChanged.bind(this), {\n passive: true,\n });\n this.isBrowser = true;\n }\n }\n\n /**\n * Get document height\n */\n public getDocumentHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 1200;\n }\n\n /**\n * Get document width\n */\n public getDocumentWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Get window height\n */\n public getWindowHeight(): number {\n return this.isBrowser ? window.innerHeight : 1200;\n }\n\n /**\n * Get window width\n */\n public getWindowWidth(): number {\n return this.isBrowser ? window.innerWidth : 1200;\n }\n\n /**\n * Returns the current viewport MQ as string\n * @returns string\n */\n public getCurrentViewPort(): string {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewport = this.convertWidthToMediaQuery(currentWidth).Name;\n\n return this.currentViewport;\n }\n\n /**\n * Returns the current viewport MQ as object with all informations\n * @returns string\n */\n public getCurrentViewPortObject(): Breakpoint {\n const currentWidth: number = this.isBrowser\n ? document.body.clientWidth\n : 1200;\n this.currentViewportObject = this.convertWidthToMediaQuery(currentWidth);\n\n return this.currentViewportObject;\n }\n\n /**\n * Returns the current viewport as number\n * @deprecated use getCurrentViewPortDimensions instead\n * @returns string\n */\n public getCurrentViewPortNumber(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport width as number\n * @returns string\n */\n public getCurrentViewPortWidth(): number {\n return this.isBrowser ? document.body.clientWidth : 1200;\n }\n\n /**\n * Returns the current viewport as number\n * @returns string\n */\n public getCurrentViewPortHeight(): number {\n return this.isBrowser ? document.body.clientHeight : 600;\n }\n\n /**\n * Returns the current viewport dimensions\n * @returns string\n */\n public getCurrentViewPortDimensions(): WindowDimensions {\n return this.isBrowser ? {Width:document.body.clientWidth,Height:document.body.clientWidth,Orientation:this.getOrientationAsString() } as WindowDimensions : {Width:800, Height:600, Orientation: \"landscape\"} as WindowDimensions;\n }\n\n /**\n * Provides mq´s as string\n */\n public getViewportChangedObserver(): Observable<string> {\n return this.viewportChangedSubscriber.asObservable();\n }\n\n /**\n * Provides the current window width as number\n */\n public getViewportResizedObserver(): Observable<number> {\n return this.viewportResizedSubscriber.asObservable();\n }\n\n /**\n * Scroll to element\n */\n public scrollToElementId(el: string, alignCenter = false) {\n if (this.isBrowser) {\n this.scrollToElement(document.querySelector('#' + el), alignCenter);\n }\n }\n\n /**\n * Helper function that scrolls to the given markup element.\n * @param el - nativeElement from markup\n * @param alignCenter - defines if the element needs to be centered on window\n */\n\n public scrollToElement(el: HTMLElement, alignCenter = false) {\n if (this.isBrowser) {\n let extraScrollTop = 0;\n\n if (alignCenter) {\n extraScrollTop = (window.innerHeight - el.clientHeight) / 2;\n }\n\n let offsetLeft = 0;\n let offsetTop = 0;\n\n let elTemp: NullAble<HTMLElement> = el;\n\n while (elTemp) {\n offsetLeft += elTemp.offsetLeft;\n offsetTop += elTemp.offsetTop;\n elTemp = elTemp.parentElement ? elTemp.parentElement : null;\n }\n\n window.scrollTo({\n left: offsetLeft,\n top: offsetTop - extraScrollTop,\n behavior: 'smooth',\n });\n }\n }\n\n /**\n * Scroll to the top position\n * @param top - top position value\n */\n public scrollTop(top: number) {\n if (this.isBrowser) {\n window.scrollTo({ left: 0, top: top, behavior: 'smooth' });\n }\n }\n\n /**\n * If orientation is portrait\n */\n public isPortrait() : boolean|undefined {\n if (this.isBrowser) return window.innerHeight > window.innerWidth;\n else return undefined;\n }\n\n /**\n * If orientation is landscape\n */\n public isLandscape() :boolean|undefined {\n if (this.isBrowser) {\n const isLandscape =\n window.orientation === 90 || window.orientation === -90;\n return isLandscape;\n } else {\n return undefined;\n }\n }\n\n /**\n * Get screen orientation (portrait/landscape)\n */\n public getOrientationAsString() : \"portrait\" | \"landscape\" {\n return this.isPortrait ? \"portrait\" : \"landscape\";\n }\n\n /**\n * If mobile breakpoint (below tablet)\n */\n public isMobile():boolean {\n return this.getCurrentViewPortNumber() < this.breakpoints[2].Low;\n }\n\n /**\n * Get height of an element\n * @deprecated\n */\n public calculateFullscreenElementsheight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n return this.calculateFullscreenElementsHeight(id, defaultheight, extra);\n }\n\n /**\n * Get height of an element\n */\n public calculateFullscreenElementsHeight(\n id: string,\n defaultheight: string,\n extra: number\n ) {\n \n if (!this.isBrowser || this.isMobile()) {\n return defaultheight;\n } else {\n const map = this.document.getElementById(id);\n const footer = this.document.getElementsByTagName('footer')[0];\n if (map && footer) {\n return `${window.innerHeight - map.offsetTop - footer.offsetHeight - extra\n }px`;\n } else {\n console.warn('could not calculate map height');\n return defaultheight;\n }\n }\n }\n\n /**\n * If viewport changed\n * @event\n */\n private documentSizeChanged(event: any) {\n const currentWindowWidth: number = event.target.innerWidth;\n // inform who´s interested\n this.viewportResizedSubscriber.next(currentWindowWidth);\n\n if (currentWindowWidth > 0) {\n for (const mqs of this.breakpoints) {\n if (currentWindowWidth > mqs.High) {\n continue;\n } else if (\n (currentWindowWidth >= mqs.Low || currentWindowWidth <= mqs.High) &&\n this.currentViewport !== mqs.Name\n ) {\n this.currentViewport = mqs.Name;\n // inform who´s interested\n this.viewportChangedSubscriber.next(mqs.Name);\n break;\n } else if (this.currentViewport === mqs.Name) {\n break;\n } else {\n console.error('ERROR');\n }\n }\n }\n }\n\n /**\n * Get the Media Query for the given width\n * @param width Width to get the according MQ for\n */\n private convertWidthToMediaQuery(width: number): Breakpoint {\n let currentViewport = this.breakpoints[0];\n\n for (const mqs of this.breakpoints) {\n if (width <= mqs.High && width >= mqs.Low) {\n currentViewport = mqs;\n break;\n }\n }\n\n return currentViewport;\n }\n\n /**\n * Get the breakpoint/device name like mobile,tablet,desktop, high\n */\n getSimpleBreakpoint(screenSize: number) :SimpleBreakpoint {\n let actualBreakpoint: SimpleBreakpoint | undefined;\n\n const sizes = this.simpleBreakpoints.slice().reverse(); // we need to reverse it to check step by step from biggest, which breakpoints still fits. Slice is a trick to not mutate the original array and make a copy\n for (const key in sizes) {\n if (screenSize < sizes[key].MaximumPixels) {\n actualBreakpoint = sizes[key];\n }\n }\n if (!actualBreakpoint) {\n actualBreakpoint = sizes[0]; // default screensize is biggest. Will be used if viewport is bigger as maximum. Remember, array is reversed\n }\n\n return actualBreakpoint;\n }\n\n ngOnDestroy() {\n if (this.isBrowser) {\n window.removeEventListener('resize', this.documentSizeChanged);\n }\n }\n}\n","export enum Color {\n PRIMARY = '--kms-primary',\n SECONDARY = '--kms-secondary',\n TERTIARY = '--kms-tertiary',\n SUCCESS = '--kms-success',\n ALERT = '--kms-alert',\n ERROR = '--kms-error',\n DISABLED = '--kms-disabled',\n WHITE = '--kms-white',\n BLACK = '--kms-black',\n}\n\nexport enum StylingTheme {\n PRIMARY = 'primary',\n SECONDARY = 'accent',\n WARN = 'warn',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum IconSizePx {\n XXS = 16,\n XS = 20,\n SM = 32,\n MD = 64,\n LG = 128,\n XL = 256,\n XXL = 512,\n}\n\nexport const IconSizesArr = [\n IconSizePx.XXS,\n IconSizePx.XS,\n IconSizePx.SM,\n IconSizePx.MD,\n IconSizePx.LG,\n IconSizePx.XL,\n IconSizePx.XXL,\n];\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, input, InputSignal, VERSION } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport * as icons from '@ui-presentational/assets/icons.json';\nimport { Color } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n selector: 'kms-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n standalone: false,\n})\nexport class IconComponent {\n /**\n * Required: Name of the SVG icon inside your sprite sheet file with name 'icons.svg'.\n * Pass 'none' if no icon should be rendered.\n */\n icon: InputSignal<(typeof icons)[number]> = input();\n\n /**\n * Optional: Different appearance via CSS class defined in this component´s style sheet.\n */\n iconClass = input('');\n\n size: InputSignal<number> = input(IconSizePx.XS);\n dontUseSprite = input(false);\n color = input(Color.BLACK);\n\n Version = VERSION.full;\n\n constructor(public sanitizer: DomSanitizer) {}\n}\n","@if (icon() !== 'none' && dontUseSprite() === false) {\n <span\n class=\"icon\"\n [ngClass]=\"iconClass()\"\n [ngStyle]=\"{\n color: 'var(' + color() + ')'\n }\"\n [style.width.px]=\"size()\"\n [style.height.px]=\"size()\"\n >\n <svg [style.width.px]=\"size()\" [style.height.px]=\"size()\">\n <use\n [attr.xlink:href]=\"\n 'assets/sprite.svg?Version=' + Version + '#' + icon()\n \"\n ></use>\n </svg>\n </span>\n}\n@if (icon() !== 'none' && dontUseSprite() === true) {\n <object\n [data]=\"\n sanitizer.bypassSecurityTrustResourceUrl('assets/icons/' + icon() + '')\n \"\n type=\"image/svg+xml\"\n class=\"icon\"\n [ngClass]=\"iconClass()\"\n ></object>\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport { Component, HostListener, Inject, PLATFORM_ID } from '@angular/core';\nimport { Color } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n selector: 'kms-back-to-top',\n templateUrl: './back-to-top.component.html',\n standalone: false,\n})\nexport class BackToTopComponent {\n windowScrolled?: boolean;\n\n IconSizePx = IconSizePx;\n Color = Color;\n\n constructor(@Inject(PLATFORM_ID) public platformId: Object) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (isPlatformBrowser(this.platformId)) {\n if (\n window.scrollY ||\n document.documentElement.scrollTop ||\n document.body.scrollTop > 100\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.scrollY) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n }\n\n scrollToTop() {\n if (isPlatformBrowser(this.platformId)) {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n }\n }\n}\n","<div\n class=\"scrollToTop\"\n [ngClass]=\"{ show: windowScrolled }\"\n (click)=\"scrollToTop()\"\n>\n <div class=\"scrollToTop-inner\">\n <kms-icon\n icon=\"floating_button_clear\"\n [color]=\"Color.WHITE\"\n [size]=\"IconSizePx.SM\"\n ></kms-icon>\n </div>\n</div>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'kms-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n standalone: false,\n})\nexport class CardComponent {\n imageUrl = input('');\n hoverEffect = input(false);\n}\n","<div class=\"card\" [ngClass]=\"{ hoverEffect: hoverEffect() }\">\n @if(imageUrl() !== '') {\n <div\n class=\"card-image\"\n [ngStyle]=\"{ 'background-image': 'url(' + imageUrl() + ')' }\"\n ></div>\n }\n <div class=\"card-content\">\n <ng-content></ng-content>\n </div>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input() infoText = '';\n @Input() checked = false;\n @Input() disabled = false;\n\n /**\n * Internal description name. All checkboxes with the same name belong to the same group.\n * User can select none, one or all checkboxes with the same name.\n */\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n valueChanged(value: boolean) {\n this.onChange(value);\n this.checked = value;\n this.change.emit(value);\n this.onTouched();\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n writeValue(value: any) {\n this.checked = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n","<div class=\"checkbox-container\" [class.disabled]=\"disabled\">\n <mat-checkbox\n [disabled]=\"disabled\"\n [name]=\"name\"\n [(ngModel)]=\"checked\"\n (change)=\"valueChanged($event.checked)\"\n color=\"primary\"\n >\n {{ infoText }}\n </mat-checkbox>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\n\n@Component({\n standalone: false,\n selector: 'kms-form',\n template: '',\n})\nexport class FormParentComponent implements OnInit {\n public form!: UntypedFormGroup;\n public formInitialized = false;\n private allowedCharsOnlyNumbers = new Set(\n '0123456789'.split('').map((c) => c.charCodeAt(0))\n );\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> =\n new EventEmitter();\n\n @Input() disabled = false;\n\n // TODO make a service or make own compoennt etc.\n /**\n * Returns if a number was pressed\n * @param e\n * @returns\n */\n checkIfKeyWasNumber(\n e: KeyboardEvent,\n allowDelete = true,\n allowArrows = true,\n allowCutCopyPaste = true\n ) {\n // returns if keycode of numbers-row or numberpad. Or if parameter set, allow delete/backspace key\n const isNumberRow = e.keyCode >= 48 && e.keyCode <= 57;\n const isNumberPad = e.keyCode >= 96 && e.keyCode <= 105;\n const isArrows = e.keyCode >= 37 && e.keyCode <= 40;\n const isDelete = e.keyCode == 8 || e.keyCode == 46;\n const isCutCopyOrPaste =\n (e.ctrlKey || e.metaKey) &&\n (e.keyCode == 86 || e.keyCode == 88 || e.keyCode == 67);\n return (\n isNumberRow ||\n isNumberPad ||\n (allowDelete && isDelete) ||\n (allowArrows && isArrows) ||\n (allowCutCopyPaste && isCutCopyOrPaste)\n );\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents to input other chars than numbers in input\n * @param event\n */\n removeNumbersOnType(event: KeyboardEvent) {\n // only allow keydown from numbers-row or numberpad of keybard and block other chars than numbers\n if (\n !this.checkIfKeyWasNumber(event) &&\n !this.allowedCharsOnlyNumbers.has(event.keyCode)\n ) {\n event.preventDefault();\n }\n }\n\n // TODO make a service or make own compoennt etc.\n /**\n * Prevents input when pasting which is not number\n * @param event\n */\n removeNumbersOnPaste(event: ClipboardEvent) {\n const clipboardData = event.clipboardData;\n if (clipboardData) {\n const pastedText = clipboardData.getData('text');\n if (pastedText) {\n const isnum = /^\\d+$/.test(pastedText);\n if (!isnum) {\n event.preventDefault();\n }\n }\n }\n }\n\n ngOnInit() {\n this.formDataChanged.emit(this.form);\n this.form.valueChanges.subscribe(() => {\n this.formDataChanged.emit(this.form);\n });\n }\n}\n","import {\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n inject,\n Injector,\n Input,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { NgControl, UntypedFormControl } from '@angular/forms';\nimport { FormParentComponent } from './form.component';\n\n@Component({\n standalone: false,\n selector: 'kms-formControlParent',\n template: '',\n})\nexport class FormControlParentComponent\n extends FormParentComponent\n implements DoCheck\n{\n @Input() defaultDataOverride = ''; // when we have NO form around, get default via input to set it manually\n @Output() onSelectItemEmitter = new EventEmitter<string>();\n\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue = '';\n\n private injector = inject(Injector);\n private _ngControl: NgControl | null | undefined = undefined;\n\n get ngControl(): NgControl | null {\n if (this._ngControl === undefined) {\n this._ngControl = this.injector.get(NgControl, null);\n }\n return this._ngControl;\n }\n\n constructor(public renderer: Renderer2) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngDoCheck() {\n if (this.ngControl?.control?.touched) {\n this.form?.markAllAsTouched();\n }\n }\n\n change(value: string) {\n this.onChange(value);\n this.onTouched();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched: any = () => {};\n\n get value(): string {\n return this.internalValue;\n }\n\n set value(value: string) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n if (!this.internalValue && this.defaultDataOverride) {\n this.internalValue = this.defaultDataOverride;\n }\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: string) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child?.nativeElement) {\n this.renderer.setProperty(\n this.child.nativeElement,\n 'disabled',\n isDisabled\n );\n }\n\n this.disabled = isDisabled;\n\n if (isDisabled) {\n this.form.disable();\n } else {\n this.form.enable();\n }\n }\n\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : false;\n }\n}\n","import {\n Component,\n effect,\n forwardRef,\n input,\n OnInit,\n Renderer2,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormArray,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { FormControlParentComponent } from '../../../parent-components/form-control.component';\n\n/**\n * Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}\n */\n@Component({\n selector: 'kms-dropdown-from-data',\n templateUrl: './dropdown-from-data.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownFromDataComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class DropdownFromDataComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n // structured data as a enum set. Can be used in combination with 'optionsPlainArray' to set diferent values by index\n optionsEnum = input<any>();\n\n // structured data as a simple array of elements\n optionsPlainArray = input<any[]>();\n\n // structured data as an array of objects used in combination with the input 'mapKey' and 'mapValue'\n optionsObjArray = input<any[]>();\n // key identifier of the obj. If mapValue doesnt exist, mapKey is also the value\n mapKey = input<any>();\n // value identifier of the obj\n mapValue = input<any>();\n\n // options for the dropdown have a null value at the beginning of the array\n hasNullOption = input(false);\n\n // preselected keys of the dropdown\n preselectedKeys = input<any>();\n\n // translation object for the label and placeholder\n translation = input<ITranslation>();\n placeholder = input('');\n label = input('');\n required = input(false);\n useEnumIndexAsValue = input(false);\n\n // multiple selection\n multiple = input(false);\n\n selectAllText = input<string>();\n disableOptions = input(false);\n errorMessage = input('');\n\n public keys: any[] = [];\n public values: any[] = [];\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n\n // Effect to react to input changes (replaces ngOnChanges)\n effect(() => {\n const plainArray = this.optionsPlainArray();\n if (plainArray) {\n this.values = plainArray;\n this.keys = plainArray;\n }\n this.setKeyValues();\n });\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n dropdownData: new UntypedFormControl([]),\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.dropdownData;\n this.onChange(value.dropdownData);\n });\n\n const preselected = this.preselectedKeys();\n if (preselected)\n this.form.patchValue({\n dropdownData: preselected,\n });\n\n super.ngOnInit();\n }\n\n /**\n * transofrms the data values to the correct format for be used by the template\n * @param value\n */\n private setKeyValues(): void {\n const optionsObjArrayValue = this.optionsObjArray();\n const mapKeyValue = this.mapKey();\n const mapValueValue = this.mapValue();\n const optionsEnumValue = this.optionsEnum();\n const optionsPlainArrayValue = this.optionsPlainArray();\n const useEnumIndexAsValueValue = this.useEnumIndexAsValue();\n const hasNullOptionValue = this.hasNullOption();\n\n if (optionsObjArrayValue && mapKeyValue && mapValueValue) {\n this.keys = optionsObjArrayValue.map((obj: any) => obj[`${mapKeyValue}`]);\n this.values = optionsObjArrayValue.map(\n (obj: any) => obj[`${mapValueValue}`]\n );\n } else if (optionsObjArrayValue && mapKeyValue) {\n this.keys = optionsObjArrayValue.map((obj: any) => obj[`${mapKeyValue}`]);\n this.values = optionsObjArrayValue.map(\n (obj: any) => obj[`${mapKeyValue}`]\n );\n }\n\n if (optionsEnumValue) {\n const enumObj = optionsEnumValue;\n\n // Get enum keys (excluding reverse mappings for numeric enums)\n this.keys = Object.keys(enumObj).filter((k) => isNaN(Number(k)));\n\n if (optionsPlainArrayValue) {\n this.values = optionsPlainArrayValue;\n } else {\n const values = this.keys.map((k) => enumObj[k]);\n\n let keyValueEnum = false;\n\n for (let i = 0; i < this.keys.length; i++) {\n if (i !== values[i]) {\n keyValueEnum = true;\n break;\n }\n }\n\n if (keyValueEnum || useEnumIndexAsValueValue) {\n this.values = values;\n } else {\n this.values = [...this.keys];\n }\n }\n }\n\n if (hasNullOptionValue === true) {\n this.keys.unshift(null);\n this.values.unshift(null);\n }\n }\n\n /**\n * set the value of the dropdown based if translation is set\n * @param key\n */\n public setDisplayKey(key: any) {\n const translationValue = this.translation();\n if (translationValue) {\n if (translationValue.isPrefix) {\n return translationValue.service?.instant?.(\n translationValue.path + '.' + key\n );\n } else if (translationValue.useKeyAsValue) {\n return translationValue.service?.instant?.(translationValue.path, {\n key: key,\n });\n } else {\n return translationValue.service?.instant?.(translationValue.path);\n }\n }\n return key;\n }\n\n valueChanged(value: any) {\n this.form.patchValue({\n dropdownData: value,\n });\n this.onSelectItemEmitter.emit(value);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get selectedElements() {\n return this.form.controls.dropdownData as FormArray;\n }\n\n allElementsChecked(): boolean {\n return (\n this.values && this.selectedElements?.value?.length === this.values.length\n );\n }\n\n isCheckboxIndeterminate(): boolean {\n return Boolean(\n this.values &&\n this.selectedElements?.value?.length < this.values.length &&\n this.selectedElements?.value?.length !== 0\n );\n }\n\n toggleAllSelection(change: MatCheckboxChange): void {\n if (change.checked) {\n this.checkAllFilters();\n } else {\n this.form.controls.dropdownData.setValue([]);\n }\n }\n\n checkAllFilters() {\n if (this.values) {\n this.form.controls.dropdownData.setValue(this.values);\n }\n }\n}\n\n/**\n * Interface that defines the translation object in template\n */\ninterface ITranslation {\n path: string;\n isPrefix?: boolean;\n useKeyAsValue?: boolean;\n service: any;\n}\n","<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required()\"\n [floatLabel]=\"placeholder() ? 'always' : 'auto'\"\n >\n <mat-label>{{ label() }}</mat-label>\n <mat-select\n [placeholder]=\"placeholder()\"\n disableOptionCentering\n (selectionChange)=\"valueChanged($event?.value)\"\n [value]=\"value\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple()\"\n [required]=\"required()\"\n formControlName=\"dropdownData\"\n >\n @if (selectAllText() && multiple() && !disableOptions()) {\n <mat-checkbox\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText() }}\n </mat-checkbox>\n } @for (key of keys; track key; let i = $index) {\n <mat-option [value]=\"values[i]\" [disabled]=\"disableOptions()\">\n {{ setDisplayKey(key) || '—' }}\n </mat-option>\n }\n </mat-select>\n @if (errorMessage()) {\n <mat-error>{{ errorMessage() }}</mat-error>\n }\n </mat-form-field>\n</form>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'kms-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n standalone: false,\n})\nexport class LoaderComponent {\n @Input() loading = false;\n}\n","@if (loading) {\n <div class=\"loading-spinner-shade\">\n <mat-spinner class=\"spinnerMargin\" color=\"accent\" diameter=\"44\"></mat-spinner>\n </div>\n}\n","/**\n * @copyright KMS GmbH\n */\nimport { NullAble } from \"./types/nullable.type\";\n\n\n/**\n * Typical basic address data\n */\nexport class Address {\n public City: NullAble<string>;\n public Name1: NullAble<string>;\n public Name2: NullAble<string>;\n public Street: NullAble<string>;\n public Zip: NullAble<string>;\n}\n","/**\n * @copyright KMS GmbH\n */\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { Address } from '../../../models/address.model';\n\n/**\n * MarkerOptions class for Marker\n */\nexport class MarkerOptions {\n animation!: number;\n}\n\n/**\n * MarkerLabel class for Marker\n */\nexport class MarkerLabel {\n color!: string;\n text!: string;\n}\n\n/**\n * Marker class\n */\nexport class Marker {\n position!: google.maps.LatLngLiteral;\n label!: MarkerLabel;\n title!: string;\n options!: MarkerOptions;\n}\n\n/**\n * Component to show marker on google map for specific address\n */\n@Component({\n selector: 'kms-map',\n templateUrl: './map.component.html',\n styleUrls: ['./map.component.scss'],\n standalone: false,\n})\nexport class MapComponent implements OnInit {\n @Input() data!: Address;\n\n public markers: Marker[] = [];\n public geoDataFoundForAddress = false;\n public widthSet = false;\n\n public width = '100%';\n public zoom = 15;\n public center: google.maps.LatLngLiteral = {\n lat: 52.097449,\n lng: 12.7436911,\n };\n\n public options: google.maps.MapOptions = {\n mapTypeId: 'roadmap',\n zoomControl: false,\n scrollwheel: false,\n disableDoubleClickZoom: true,\n maxZoom: 15,\n minZoom: 8,\n };\n\n public google: any;\n\n public geocoder: any;\n\n public viewportSubscription?: Subscription;\n\n constructor() {}\n\n ngOnInit() {\n this.findLocation(\n this.data.Street + ' ' + this.data.Zip + ' ' + this.data.City\n );\n }\n\n /**\n * Asks google for geocoordinates of a given address string\n * @input address as string\n */\n findLocation(address: string) {\n if (!this.geocoder) {\n this.geocoder = new google.maps.Geocoder();\n }\n this.geocoder.geocode(\n {\n address: address,\n },\n (\n results: google.maps.GeocoderResult,\n status: google.maps.GeocoderStatus\n ) => {\n if (status === google.maps.GeocoderStatus.OK) {\n this.center.lat = results[0].geometry.location.lat();\n this.center.lng = results[0].geometry.location.lng();\n\n this.addMarker();\n this.geoDataFoundForAddress = true;\n } else {\n console.error(\n 'Sorry, this search of map address produced no results.'\n );\n }\n }\n );\n }\n\n /**\n * Adds a marker to the map\n */\n addMarker() {\n this.markers.push({\n position: {\n lat: this.center.lat,\n lng: this.center.lng,\n },\n label: {\n color: 'blue',\n\n text: this.data.Name1 || '',\n },\n title: this.data.Name1 + ' ' + this.data.Street + ' ' + this.data.Zip,\n options: { animation: google.maps.Animation.DROP },\n });\n }\n\n /**\n * Zooms in into map\n */\n zoomIn() {\n if (this.options.maxZoom && this.zoom < this.options.maxZoom) {\n this.zoom++;\n }\n }\n\n /**\n * Zooms out from map\n */\n zoomOut() {\n if (this.options.minZoom && this.zoom > this.options.minZoom) {\n this.zoom--;\n }\n }\n}\n","@if (geoDataFoundForAddress) {\n <div>\n <google-map\n height=\"415px\"\n [width]=\"width\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n [options]=\"options\"\n >\n @for (marker of markers; track marker) {\n <map-marker\n [position]=\"marker.position\"\n [label]=\"marker.label\"\n [title]=\"marker.title\"\n [options]=\"marker.options\"\n >\n </map-marker>\n }\n </google-map>\n </div>\n}","export enum RadioButtonSize {\n SM = 'small',\n MD = 'medium',\n LG = 'large',\n}\n","/**\n * @copyright KMS GmbH\n */\nimport {\n Component,\n EventEmitter,\n Input,\n Output,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { StylingTheme } from '../../../enums/colors.enum';\nimport { RadioButtonSize } from '../../../enums/radioButtonSize.enum';\n\n@Component({\n selector: 'kms-radiobutton',\n templateUrl: './radiobutton.component.html',\n styleUrls: ['./radiobutton.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioButtonComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class RadioButtonComponent implements ControlValueAccessor {\n @Input() label: string = '';\n @Input() checked: boolean = false;\n @Input() disabled: boolean = false;\n @Input() value: any;\n @Input() size: RadioButtonSize = RadioButtonSize.MD;\n @Input() color: StylingTheme = StylingTheme.PRIMARY;\n\n @Output() onChange: EventEmitter<void> = new EventEmitter<void>();\n\n onRadioChange(event: any): void {\n this.onChange.emit(event);\n }\n\n onTouched: () => void = () => {};\n\n writeValue(value: any): void {\n this.checked = value === this.value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onChange = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-radio-button\n [disabled]=\"disabled\"\n [checked]=\"checked\"\n [ngClass]=\"size\"\n [color]=\"color\"\n [value]=\"value\"\n (change)=\"onChange.emit()\"\n ngDefaultControl\n>\n {{ label }}\n</mat-radio-button>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\n\n@Component({\n selector: 'kms-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlideToggleComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class SlideToggleComponent implements ControlValueAccessor {\n @Input() leftLabel?: string;\n @Input() rightLabel?: string;\n @Input() checked = false;\n @Input() disabled = false;\n\n @Input() name = '';\n\n @Output() change = new EventEmitter();\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): boolean {\n return this.checked;\n }\n\n set value(value: boolean) {\n this.checked = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: MatSlideToggleChange) {\n this.change.emit($event.checked);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div class=\"kms-slide-toggle\">\n @if (leftLabel) {\n <mat-label\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n }\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n @if (rightLabel) {\n <mat-label\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n }\n </div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { ChangeContext, Options } from '@angular-slider/ngx-slider';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kms-slider',\n templateUrl: './slider.component.html',\n styleUrls: ['./slider.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class SliderComponent implements ControlValueAccessor {\n @HostBinding('class.kms-slider') kmsSliderClass = true;\n @HostBinding('class.kms-slider--disabled') get disabledClass() {\n return this.disabled;\n }\n\n @Input() disabled = false;\n @Input() options: Options = {};\n @Input() max: number;\n\n @Output() change: EventEmitter<ChangeContext> = new EventEmitter();\n\n private _value = 0;\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.onChange(value);\n this.onTouch(value);\n }\n\n writeValue(value: any) {\n this._value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n emitOnChange($event: any) {\n this.change.emit($event);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<ngx-slider\n [(value)]=\"value\"\n [options]=\"options\"\n [highValue]=\"max\"\n (userChangeEnd)=\"change.emit($event)\"\n></ngx-slider>\n","export enum ButtonAppearance {\n BASIC = 'mat-button',\n FLAT = 'mat-flat-button',\n RAISED = 'mat-raised-button',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, computed, input, output, Signal } from '@angular/core';\nimport * as icons from '../../../../assets/icons.json';\nimport { ButtonAppearance } from '../../../enums/buttonAppearance.enum';\nimport { Color, StylingTheme } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n selector: 'kms-button',\n templateUrl: './button.component.html',\n standalone: false,\n})\nexport class ButtonComponent {\n color = input<StylingTheme>(StylingTheme.PRIMARY);\n type = input<'button' | 'submit' | 'reset'>('button');\n appearance = input<ButtonAppearance>(ButtonAppearance.FLAT);\n loading = input(false);\n label = input('');\n icon = input<(typeof icons)[number]>();\n disabled = input(false);\n buttonClick = output<Event>();\n rounded = input(false);\n\n public readonly StylingTheme = StylingTheme;\n public readonly IconSize = IconSizePx;\n public readonly ButtonAppearance = ButtonAppearance;\n\n public iconColor: Signal<Color> = computed(() => {\n if (this.disabled() || this.loading()) {\n return Color.DISABLED;\n }\n\n if (this.appearance() !== ButtonAppearance.BASIC) {\n return Color.WHITE;\n }\n\n switch (this.color()) {\n case StylingTheme.PRIMARY:\n return Color.PRIMARY;\n case StylingTheme.SECONDARY:\n return Color.TERTIARY;\n case StylingTheme.WARN:\n return Color.ERROR;\n }\n });\n}\n","<!-- Basic -->\n@if (appearance() == ButtonAppearance.BASIC) {\n<button\n mat-button\n [color]=\"color()\"\n class=\"kms-button\"\n [ngClass]=\"{\n 'kms-button--loading': loading(),\n 'kms-button--basic-primary': color() === StylingTheme.PRIMARY,\n 'kms-button--basic-accent': color() === StylingTheme.SECONDARY,\n 'kms-button--basic-warn': color() === StylingTheme.WARN,\n 'kms-button--rounded': rounded()\n }\"\n [disabled]=\"disabled() || loading()\"\n (click)=\"buttonClick.emit($event)\"\n [type]=\"type()\"\n (keyup)=\"\n ($event.key === 'Enter' || $event.key === 'Space') &&\n buttonClick.emit($event)\n \"\n>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n</button>\n}\n\n<!-- Flat -->\n@else if (appearance() == ButtonAppearance.FLAT) {\n<button\n mat-flat-button\n [color]=\"color()\"\n class=\"kms-button\"\n [ngClass]=\"{\n 'kms-button--loading': loading(),\n 'kms-button--flat-primary': color() === StylingTheme.PRIMARY,\n 'kms-button--flat-accent': color() === StylingTheme.SECONDARY,\n 'kms-button--flat-warn': color() === StylingTheme.WARN,\n 'kms-button--rounded': rounded()\n }\"\n [disabled]=\"disabled() || loading()\"\n (click)=\"buttonClick.emit($event)\"\n [type]=\"type()\"\n (keyup)=\"\n ($event.key === 'Enter' || $event.key === 'Space') &&\n buttonClick.emit($event)\n \"\n>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n</button>\n}\n\n<!-- Raised -->\n@else if (appearance() == ButtonAppearance.RAISED) {\n<button\n mat-raised-button\n [color]=\"color()\"\n class=\"kms-button\"\n [ngClass]=\"{\n 'kms-button--loading': loading(),\n 'kms-button--raised-primary': color() === StylingTheme.PRIMARY,\n 'kms-button--raised-accent': color() === StylingTheme.SECONDARY,\n 'kms-button--raised-warn': color() === StylingTheme.WARN,\n 'kms-button--rounded': rounded()\n }\"\n [disabled]=\"disabled() || loading()\"\n (click)=\"buttonClick.emit($event)\"\n [type]=\"type()\"\n (keyup)=\"\n ($event.key === 'Enter' || $event.key === 'Space') &&\n buttonClick.emit($event)\n \"\n>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n</button>\n}\n\n<ng-template #buttonTemplate>\n @if (loading()) {\n <mat-spinner class=\"kms-button__spinner\" diameter=\"22\"></mat-spinner>\n } @if (icon()) {\n <kms-icon\n class=\"kms-button__icon\"\n [color]=\"iconColor()\"\n [size]=\"IconSize.XXS\"\n [icon]=\"icon()\"\n ></kms-icon>\n }\n {{ label() }}\n</ng-template>\n","import { Component, ElementRef, input, Signal, ViewChild } from '@angular/core';\nimport { Placement } from '@floating-ui/dom';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n@Component({\n standalone: false,\n selector: 'kms-tooltip-icon',\n templateUrl: './tooltip-icon.component.html',\n styleUrls: ['./tooltip-icon.component.scss'],\n})\nexport class TooltipIconComponent {\n @ViewChild('button') button: ElementRef;\n @ViewChild('tooltip') tooltip: ElementRef;\n tooltipText = input('');\n placement: Signal<Placement> = input();\n delay = input(1000);\n iconSize: Signal<IconSizePx> = input(IconSizePx.XS);\n tooltipAlwaysVisible = input(false);\n}\n","<div #tooltipContent>\n @if (tooltipText()) {\n {{ tooltipText() }}\n } @else {\n <ng-content></ng-content>\n }\n</div>\n\n<kms-icon\n icon=\"ic_info\"\n [size]=\"iconSize()\"\n [kmsTooltip]=\"tooltipContent\"\n [placement]=\"placement()\"\n [delay]=\"delay()\"\n [alwaysVisible]=\"tooltipAlwaysVisible()\"\n></kms-icon>\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { FormControlParentComponent } from './../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-color-input',\n templateUrl: './color-input.component.html',\n styleUrls: ['./color-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorInputComponent),\n multi: true,\n },\n ],\n})\nexport class ColorInputComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() label = '';\n @Input() tooltipText = '';\n @Input() placeholder = '';\n valid: boolean | null | undefined;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n color: new UntypedFormControl(''),\n });\n\n super.ngOnInit();\n\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.color;\n this.onChange(value.color);\n });\n }\n\n validate(_: UntypedFormControl) {\n // TODO fix to validate complete form\n this.valid = this.matchesHex(this.form.value) ? null : false;\n return (\n this.valid && {\n invalid: !this.valid,\n }\n );\n }\n\n matchesHex(match?: string) {\n if (match) {\n const ret = match.match(/^#[0-9a-f]{6}$/i);\n this.valid = ret && ret.length > 0;\n return ret;\n }\n return false;\n }\n\n updateSelectedColor(value: any) {\n const color = value.target.value;\n this.value = color;\n this.internalValue = color;\n this.change(color);\n }\n}\n","\n@if (formInitialized) {\n <form [formGroup]=\"form\">\n <div>\n <mat-form-field class=\"colorInput\">\n @if (tooltipText) {\n <kms-tooltip-icon [tooltipText]=\"tooltipText\"></kms-tooltip-icon>\n }\n <mat-label>{{ label }}</mat-label>\n <input type=\"text\" [(ngModel)]=\"value\" matInput formControlName=\"color\" [placeholder]=\"placeholder\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n <input type=\"color\" [value]=\"value && matchesHex(value) ? value : '#ffffff'\" (change)=\"updateSelectedColor($event)\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n </mat-form-field>\n </div>\n </form>\n}","export enum ButtonDialogType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Inject, NgZone } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ButtonDialogType } from './dialog-data.enum';\nimport { DialogData } from './dialog-data.model';\n\n/**\n * A confirmation dialog component\n */\n@Component({\n standalone: false,\n selector: 'kms-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n})\nexport class ConfirmationDialogComponent {\n ButtonDialogType = ButtonDialogType;\n\n public constructor(\n public dialogRef: MatDialogRef<ConfirmationDialogComponent>,\n public zone: NgZone,\n @Inject(MAT_DIALOG_DATA) public data: DialogData\n ) {\n data.buttons ?? { primary: 'Yes', secondary: 'No' };\n data.message ?? '';\n data.panelClass ?? 'size-auto';\n }\n\n /**\n * Action called when clicked\n * @param clickedButton Whether the primary or secondary button was clicked\n */\n public onClickAction(clickedButton: ButtonDialogType): void {\n this.zone.run(() => {\n this.dialogRef.close(clickedButton);\n this.dialogRef.afterClosed().subscribe(() => {\n const buttonList = document.querySelectorAll(\n '.mat-flat-button, .mat-button'\n );\n let i = 0;\n for (i; i < buttonList.length; i++) {\n buttonList[i].classList.remove('cdk-focused');\n buttonList[i].classList.remove('cdk-program-focused');\n }\n });\n });\n }\n}\n","<div class=\"dialog-container\">\n <div class=\"dialog-header\">\n <h4>{{ data.title }}</h4>\n </div>\n <div class=\"dialog-content\">\n {{ data.message }}\n </div>\n <div class=\"dialog-footer\">\n <button\n mat-flat-button\n color=\"accent\"\n (click)=\"onClickAction(ButtonDialogType.secondary)\"\n >\n {{ data.buttons.secondary }}\n </button>\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"onClickAction(ButtonDialogType.primary)\"\n >\n {{ data.buttons.primary }}\n </button>\n </div>\n</div>\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { NullAble } from '../../../models';\n\nimport { FormControlParentComponent } from './../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-enum-radiogroup',\n templateUrl: './enum-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EnumRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class EnumRadiogroupComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() header: NullAble<String>;\n @Input() optionsEnum: any;\n @Input() translationPrefix = '';\n\n public optionValues: any;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.optionValues = Object.keys(this.optionsEnum).filter(\n (x) => !(parseInt(x) >= 0)\n );\n this.form = new UntypedFormGroup({\n enumData: new UntypedFormControl([]),\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.enumData;\n this.onChange(value.enumData);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group formControlName=\"enumData\" [disabled]=\"disabled\" #child>\n @for (choice of optionValues; track choice) {\n <mat-radio-button\n [value]=\"choice\"\n [checked]=\"value === choice\"\n >{{ translationPrefix + '.' + choice | translate }}</mat-radio-button\n >\n }\n </mat-radio-group>\n </form>\n","/**\n * @copyright FLYACTS GmbH 2019\n */\n\nimport { NullAble } from \"./types/nullable.type\";\n\n\n/**\n * Check if null or undefined\n * @param value value that is being checked\n */\nexport function isValue<T>(value: NullAble<T>): value is T {\n if (value === null) {\n return false;\n }\n if (typeof value === 'undefined') {\n return false;\n }\n return true;\n}\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\n\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport { IconSizePx } from '../../../enums/iconSize.enum';\nimport { isValue } from '../../../models/is-value.function';\nimport { AttachedFileDTO } from '../../../models/types/attached-file-dto.model';\n\n// Max size in bytes of uploaded image\nconst MAX_SIZE_BYTES = 2097152;\n\n@Component({\n standalone: false,\n selector: 'kms-file-input',\n templateUrl: './file-input.component.html',\n styleUrls: ['./file-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => FileInputComponent),\n multi: true,\n },\n ],\n})\nexport class FileInputComponent implements ControlValueAccessor, OnInit {\n @ViewChild('fileInput') public fileInput: any;\n\n @Input() label = '';\n\n @Input() previewImage = true;\n @Input() allowRemove = true;\n @Input() previewImageText = '';\n @Input() maxSizeBytes = MAX_SIZE_BYTES;\n @Input() resizePixels = 0;\n @Input() acceptedFileMimetypes = 'image/jpeg, image/jpg, image/png';\n\n form = new UntypedFormGroup({\n ImageIdent: new UntypedFormControl(''),\n ImageLink: new UntypedFormControl(''),\n Filename: new UntypedFormControl(''),\n ImageAsDataURL: new UntypedFormControl(''),\n Text: new UntypedFormControl(''),\n });\n\n subscriptions: Subscription[] = [];\n newImageLoading = false;\n\n IconSizePx = IconSizePx;\n\n @Output() formDataChanged: EventEmitter<UntypedFormGroup> =\n new EventEmitter();\n\n /**\n * Constructor\n * @param appRef\n * @param cd\n * @param translateService\n * @param renderer\n */\n constructor(\n public appRef: ApplicationRef,\n public cd: ChangeDetectorRef,\n public renderer: Renderer2\n ) {}\n\n /**\n * Click on button triggers file-input to open OS file dialog\n */\n selectImageOverlay() {\n this.fileInput.nativeElement.click();\n }\n\n /**\n * Function to manage the input image\n * Returns an error if the file exceeds maximum wanted filesize (Mb).\n * @param ev\n * @returns\n */\n selectImage(ev: any) {\n if (ev.target.files && ev.target.files[0]) {\n const file: File = ev.target.files[0];\n\n if (file.size > this.maxSizeBytes) {\n this.clearInputValue(ev);\n return;\n } else {\n this.newImageLoading = true;\n\n if (this.resizePixels > 0) {\n const logoUrl = URL.createObjectURL(file);\n const imgEl = document.createElement('img');\n imgEl.addEventListener('load', () => {\n const resizedLogo = this.resizeImage(imgEl, this.resizePixels);\n const newFile = this.generateModel(\n file.name,\n resizedLogo,\n this.value.ImageIdent,\n this.value.ImageLink,\n this.value.Text\n );\n this.value = newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n });\n imgEl.src = logoUrl;\n } else {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (e: any) => {\n const newFile = this.generateModel(\n file.name,\n e.target.result,\n this.value.ImageIdent,\n this.value.ImageLink,\n this.value.Text\n );\n this.value = newFile;\n this.newImageLoading = false;\n this.cd.markForCheck();\n };\n }\n }\n } else {\n console.warn('No file selected');\n }\n }\n\n /**\n * Resize an image\n * @param imgEl\n * @param wantedWidth as number\n * @returns string\n */\n private resizeImage(imgEl: any, wantedWidth: number) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const aspect = imgEl.width / imgEl.height;\n canvas.width = wantedWidth;\n canvas.height = wantedWidth / aspect;\n if (isValue(ctx)) ctx.drawImage(imgEl, 0, 0, canvas.width, canvas.height);\n return canvas.toDataURL();\n }\n\n /**\n * Generate default object\n * @param name as string\n * @param content as string\n * @returns AttachedFileDTO\n */\n generateModel(\n name?: string,\n content?: string,\n ident?: string,\n imageLink?: string,\n text?: string\n ) {\n return {\n ImageIdent: ident ? ident : '',\n Filename: name ? name : '',\n ImageAsDataURL: content ? content : '',\n ImageLink: imageLink ? imageLink : '',\n Text: text ? text : '',\n } as AttachedFileDTO;\n }\n\n /**\n * Remove image\n */\n removeFromList() {\n this.value = this.generateModel('', '', '', '');\n }\n\n /**\n * get value\n */\n get value(): AttachedFileDTO {\n return this.form.value;\n }\n\n /**\n * set value\n */\n set value(value: AttachedFileDTO) {\n this.form.setValue(value);\n this.onChange(value);\n this.formDataChanged.emit(this.form);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ngOnInit() {}\n\n ngOnDestroy() {\n this.subscriptions.forEach((s) => s.unsubscribe());\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n writeValue(value: AttachedFileDTO | null) {\n if (value) {\n this.value = value;\n }\n\n if (value === null) {\n this.form.reset();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n validate(_: UntypedFormControl) {\n return this.form.valid ? null : { styles: { valid: false } };\n }\n\n /**\n * OnClick event listener of input#fileInput to clear his input value\n */\n clearInputValue(ev: any) {\n const element = ev.target as HTMLInputElement;\n element.value = '';\n }\n}\n","<form [formGroup]=\"form\" (change)=\"newImageLoading = true\" class=\"fileInput\">\n @if (form.value.Filename && previewImage) {\n <div>\n @if (newImageLoading) {\n <div>\n {{ 'file-input.loading' | translate }}\n </div>\n }\n @if (!newImageLoading) {\n <div>\n <div class=\"\">\n <div class=\"\">\n @if (\n form.value.ImageLink &&\n form.value.ImageLink !== '' &&\n !(form.value.ImageAsDataURL && form.value.ImageAsDataURL !== '')\n ) {\n <img\n [src]=\"form.value.ImageAsDataURL\"\n [src]=\"form.value.ImageLink\"\n style=\"height: 40px; width: fit-content\"\n />\n }\n @if (\n form.value.ImageAsDataURL && form.value.ImageAsDataURL !== ''\n ) {\n <img\n [src]=\"form.value.ImageAsDataURL\"\n style=\"height: 40px; width: fit-content\"\n />\n }\n </div>\n <div class=\"\">{{ form.value.Filename }}</div>\n <div class=\"\">\n @if (allowRemove) {\n <div (click)=\"removeFromList()\">\n <kms-icon\n icon=\"trash\"\n [size]=\"IconSizePx.XS\"\n iconClass=\"color-black\"\n ></kms-icon>\n {{ 'file-input.remove' }}\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n }\n @if (!previewImage) {\n <div>\n <div class=\"\">{{ form.value.Filename }}</div>\n </div>\n }\n\n <button\n (click)=\"selectImageOverlay()\"\n class=\"button-primary-font-color\"\n mat-stroked-button\n >\n <span>{{ label }}</span>\n </button>\n <input\n type=\"file\"\n [accept]=\"acceptedFileMimetypes\"\n style=\"display: none\"\n #fileInput\n (click)=\"clearInputValue($event)\"\n (change)=\"selectImage($event)\"\n />\n\n <input type=\"hidden\" formControlName=\"ImageIdent\" />\n <input type=\"hidden\" formControlName=\"ImageLink\" />\n <input type=\"hidden\" formControlName=\"Filename\" />\n <input type=\"hidden\" formControlName=\"ImageAsDataURL\" />\n <input type=\"hidden\" formControlName=\"Text\" />\n</form>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { state, style, trigger } from '@angular/animations';\nimport { Component, ElementRef, Input, ViewChild } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'kms-flyout',\n templateUrl: './flyout.component.html',\n styleUrls: ['./flyout.component.scss'],\n animations: [\n trigger('dropdownAnimation', [\n state(\n 'true',\n style({\n height: '{{targetHeight}}',\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n animationTime: 3000,\n },\n }\n ),\n state(\n 'false',\n style({\n height: 0,\n transition: 'height {{animationTime}}ms ease-in-out',\n }),\n {\n params: {\n targetHeight: '300px',\n opacity: 0,\n animationTime: 3000,\n },\n }\n ),\n ]),\n ],\n})\nexport class FlyoutComponent {\n @Input() icon = 'filter';\n\n isDropdownOpened = false;\n targetHeight = '0';\n animationTime = 5000;\n\n @Input() headerCssClass = '';\n @Input() bodyCssClass = '';\n\n @Input() headerTitle = '';\n @Input() headerText = '';\n @Input() hasButtonForMore = false;\n @Input() moreText = '';\n @Input() lessText = '';\n\n @ViewChild('content') content: ElementRef | undefined;\n\n @ViewChild('flyoutHeader') flyoutHeader: ElementRef | undefined;\n\n /**\n * Open/close dropdown if click on header.\n * Except, if mode is set to hasButtonForMore. When there is a extra button to open/close\n */\n toggleDropdownHeader() {\n if (!this.hasButtonForMore) {\n this.toggleDropdown();\n }\n }\n\n /**\n * Open or close the dropdown\n */\n toggleDropdown() {\n this.isDropdownOpened = !this.isDropdownOpened;\n }\n\n /**\n * Set the height of the dropdown list items dynamic - needed for the animation\n */\n setDropdownListHeight(contentHeight: number) {\n this.targetHeight = `${contentHeight}px`;\n }\n}\n","<div class=\"flyout\" [ngClass]=\"{ 'is-active': isDropdownOpened }\">\n <div\n class=\"flyout-header\"\n (click)=\"toggleDropdownHeader()\"\n [ngClass]=\"headerCssClass\"\n >\n <span [innerHtml]=\"headerTitle | kmsSafeHtml\"></span>\n <span [innerHtml]=\"headerText | kmsSafeHtml\"></span>\n\n <ng-content select=\"[header]\"></ng-content>\n\n @if (hasButtonForMore) {\n <div\n (click)=\"toggleDropdown()\"\n class=\"flyout-header-more\"\n >\n @if (!isDropdownOpened) {\n <span>\n {{ moreText }}\n <kms-icon [icon]=\"'chevron-down'\" [size]=\"16\"> </kms-icon>\n </span>\n }\n @if (isDropdownOpened) {\n <span>\n {{ lessText }}\n <kms-icon [icon]=\"'chevron-top'\" [size]=\"16\"> </kms-icon>\n </span>\n }\n </div>\n }\n </div>\n <div\n class=\"flyout-body\"\n [ngClass]=\"bodyCssClass\"\n tabindex=\"0\"\n [@dropdownAnimation]=\"{\n value: isDropdownOpened,\n params: { targetHeight: targetHeight, animationTime: '500' }\n }\"\n getMaxHeight=\"inner\"\n (sumOfHeight)=\"setDropdownListHeight($event)\"\n #flyoutHeader\n >\n @if (isDropdownOpened || !hasButtonForMore) {\n <div class=\"inner\" #content>\n <ng-content></ng-content>\n </div>\n }\n </div>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n} from '@angular/core';\nimport { SwiperContainer, register } from 'swiper/element/bundle';\nimport { ImageSnippet } from '../../../models/image-snippet';\n\nregister();\n\n@Component({\n standalone: false,\n selector: 'kms-image-slider',\n templateUrl: './image-slider.component.html',\n})\nexport class ImageSliderComponent implements OnChanges, AfterViewInit {\n @Input() slides!: string[];\n @Input() editMode = false;\n @Input() imagesToSave?: ImageSnippet[];\n @Output() deleteImageEvent: EventEmitter<number> = new EventEmitter();\n @Output() orderChanged: EventEmitter<ImageSnippet[]> = new EventEmitter();\n\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit() {\n this.initializeSwipers();\n }\n\n ngOnChanges() {\n this.updateSwipers();\n }\n\n initializeSwipers() {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n Object.assign(swiper1, {\n slidesPerView: 1,\n navigation: true,\n thumbs: {\n swiper: swiper2,\n },\n pagination: {\n clickable: true,\n },\n });\n\n Object.assign(swiper2, {\n slidesPerView: 4,\n freeMode: true,\n navigation: true,\n });\n\n swiper1.initialize();\n swiper2.initialize();\n }\n\n updateSwipers(delayMs = 100) {\n const swiper1 = this.el.nativeElement.children[0]\n .children[0] as SwiperContainer;\n const swiper2 = this.el.nativeElement.children[0]\n .children[1] as SwiperContainer;\n\n if (swiper1.swiper && swiper2.swiper) {\n setTimeout(() => {\n swiper1.swiper.update();\n swiper2.swiper.update();\n }, delayMs);\n }\n }\n\n deleteImage(index: number) {\n this.deleteImageEvent.emit(index);\n this.updateSwipers(2500);\n }\n\n onOrderChanged(event: CdkDragDrop<string[]>) {\n if (this.slides && this.imagesToSave) {\n moveItemInArray(this.slides, event.previousIndex, event.currentIndex);\n moveItemInArray(\n this.imagesToSave,\n event.previousIndex,\n event.currentIndex\n );\n this.orderChanged.emit(this.imagesToSave);\n this.updateSwipers();\n }\n }\n}\n","<div class=\"image-slider-container\">\n <swiper-container\n class=\"swiper-main-view-container\"\n thumbs-swiper=\".swiper-carousel-container\"\n >\n @for (slide of slides; track slide) {\n <swiper-slide>\n <img [src]=\"slide\" loading=\"lazy\" />\n </swiper-slide>\n }\n </swiper-container>\n\n <swiper-container\n class=\"swiper-carousel-container\"\n thumbsSlider=\"\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onOrderChanged($event)\"\n >\n @for (slide of slides; track slide; let index = $index) {\n <swiper-slide\n [class.swiper-slide-default]=\"index === 0 && editMode\"\n >\n @if (editMode) {\n <div>\n <button cdkDrag class=\"drag-button\" mat-menu-item></button>\n <button\n class=\"delete-button\"\n mat-menu-item\n (click)=\"deleteImage(index)\"\n >\n <kms-icon icon=\"trash\" [size]=\"15\"></kms-icon>\n </button>\n </div>\n }\n <img [src]=\"slide\" loading=\"lazy\" />\n @if (index === 0 && editMode) {\n <div class=\"swiper-slide-default-text\">\n {{ 'common.defaultImage' | translate }}\n </div>\n }\n </swiper-slide>\n }\n </swiper-container>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Color } from '../../../enums/colors.enum';\n\n/**\n * A generic dialog component\n */\n@Component({\n standalone: false,\n selector: 'kms-accordion-item',\n templateUrl: './kms-accordion-item.component.html',\n styleUrls: ['./kms-accordion-item.component.scss'],\n})\nexport class KMSAccordionItemComponent implements OnInit {\n public itemTitleTrustHtml: SafeHtml | undefined;\n @Input() public showAsCard = false;\n @Input() public isSmall = false;\n @Input() public expanded = false;\n @Input()\n public set itemTitle(val: string) {\n this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(val);\n }\n\n Color = Color;\n panelOpenState = false;\n\n constructor(private readonly sanitizer: DomSanitizer) {}\n\n ngOnInit() {}\n}\n","<mat-expansion-panel\n class=\"kms-accordion\"\n [ngClass]=\"{\n 'kms-accordion--flat': !showAsCard,\n 'kms-accordion--small': isSmall\n }\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded]=\"expanded\"\n hideToggle=\"true\"\n >\n <mat-expansion-panel-header class=\"kms-accordion__header\">\n <mat-panel-title class=\"mat-subheading-2 kms-accordion__title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"kms-accordion__header-icon-wrapper\">\n @if (!panelOpenState) {\n <kms-icon\n icon=\"ic_plus\"\n [color]=\"Color.PRIMARY\"\n [size]=\"isSmall ? 16 : 22\"\n ></kms-icon>\n }\n @if (panelOpenState) {\n <kms-icon\n icon=\"ic_minus\"\n [color]=\"Color.PRIMARY\"\n [size]=\"isSmall ? 16 : 22\"\n ></kms-icon>\n }\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n","/*!\n * @copyright FLYACTS GmbH 2019\n */\n\nimport {\n Component,\n forwardRef,\n input,\n model,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Color } from '../../../enums/colors.enum';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n standalone: false,\n selector: 'kms-numeric-input',\n templateUrl: './numeric-input.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumericInputComponent),\n multi: true,\n },\n ],\n})\nexport class NumericInputComponent implements ControlValueAccessor {\n disabled = model(false);\n min = input<number>(0);\n\n numericValue: WritableSignal<number> = signal(0);\n touched: WritableSignal<boolean> = signal(false);\n Color = Color;\n IconSizePx = IconSizePx;\n\n constructor() {}\n\n get value(): number {\n return this.numericValue();\n }\n\n set value(value: number) {\n this.numericValue.set(value);\n }\n\n onChange: (value?: number) => void = () => {\n //\n };\n onTouched = () => {\n //\n };\n\n writeValue(value: number) {\n this.value = value;\n }\n\n add() {\n this.markAsTouched();\n if (!this.disabled()) {\n this.numericValue.update((value) => value + 1);\n this.onChange(this.numericValue());\n }\n }\n\n minus() {\n this.markAsTouched();\n if (!this.disabled() && this.numericValue() > this.min()) {\n this.numericValue.update((value) => value - 1);\n this.onChange(this.numericValue());\n }\n }\n\n markAsTouched() {\n if (!this.touched) {\n this.onTouched();\n this.touched.set(true);\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n registerOnChange(onChange: (value?: number) => void) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: () => void) {\n this.onTouched = onTouched;\n }\n}\n","<div class=\"numeric-input\" [ngClass]=\"{ disabled: disabled() }\">\n <kms-icon\n id=\"numeric-input-minus\"\n class=\"numeric-input__icon\"\n aria-hidden=\"true\"\n icon=\"ic_minus\"\n [color]=\"disabled() ? Color.DISABLED : Color.SECONDARY\"\n [size]=\"10\"\n (click)=\"minus()\"\n (keyup)=\"($event.key === 'Enter' || $event.key === 'Space') && minus()\"\n >\n </kms-icon>\n <strong>{{ numericValue() }}</strong>\n <kms-icon\n id=\"numeric-input-plus\"\n class=\"numeric-input__icon\"\n aria-hidden=\"true\"\n icon=\"ic_plus\"\n [color]=\"disabled() ? Color.DISABLED : Color.SECONDARY\"\n [size]=\"10\"\n (click)=\"add()\"\n (keyup)=\"($event.key === 'Enter' || $event.key === 'Space') && add()\"\n >\n </kms-icon>\n</div>\n","/**\n * @copyright KMS GmbH\n */\n\nimport {\n Component,\n computed,\n EventEmitter,\n forwardRef,\n input,\n Output,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { isEmpty } from 'lodash';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n\n@Component({\n standalone: false,\n selector: 'kms-password',\n templateUrl: './password.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PasswordComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PasswordComponent),\n multi: true,\n },\n ],\n})\nexport class PasswordComponent implements ControlValueAccessor, Validator {\n @Output() change: EventEmitter<string> = new EventEmitter();\n @Output() submit: EventEmitter<string> = new EventEmitter();\n\n disabled = input(false);\n label = input('Password');\n withStrength = input(false);\n lowerCaseCriteriaMsg = input('At least one lowercase letter');\n upperCaseCriteriaMsg = input('At least one uppercase letter');\n numberCriteriaMsg = input('At least one number');\n specialCharCriteriaMsg = input(\n 'At least one special character (-.!.?,$,&,*,+,#,%)'\n );\n minCharsCriteriaMsg = input('At least 10 characters');\n\n IconSizePx = IconSizePx;\n value: WritableSignal<string> = signal('');\n showPassword: WritableSignal<boolean> = signal(false);\n eyeIconIsBeingPressed = signal(false);\n\n validateUppercase = computed(() => {\n const regex = /^(?=.*?[A-Z]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateLowercase = computed(() => {\n const regex = /^(?=.*?[a-z]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateSpecialChar = computed(() => {\n const regex = /^(?=.*?[-!?$&*+#%]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateNumber = computed(() => {\n const regex = /^(?=.*?[0-9]).{1,}$/;\n\n return regex.test(this.value());\n });\n\n validateMinimumChar = computed(() => {\n return this.value().length >= 10;\n });\n\n validations = computed(() => {\n return [\n {\n text: this.upperCaseCriteriaMsg,\n isValid: this.validateUppercase,\n error: 'uppercase',\n },\n {\n text: this.lowerCaseCriteriaMsg,\n isValid: this.validateLowercase,\n error: 'lowercase',\n },\n {\n text: this.specialCharCriteriaMsg,\n isValid: this.validateSpecialChar,\n error: 'specialChar',\n },\n {\n text: this.numberCriteriaMsg,\n isValid: this.validateNumber,\n error: 'number',\n },\n {\n text: this.minCharsCriteriaMsg,\n isValid: this.validateMinimumChar,\n error: 'minChars',\n },\n ];\n });\n\n keypress($event: KeyboardEvent) {\n if ($event.key === 'Enter') {\n this.submit.emit();\n }\n }\n\n valueChanged(event: Event) {\n const { value } = event.target as HTMLInputElement;\n this.onChange(value);\n this.value.set(value);\n this.change.emit(value);\n }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n writeValue(value: any) {\n this.value.set(value);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n validate({ value }: FormControl): ValidationErrors | null {\n if (!this.withStrength()) return null;\n\n this.value.set(value);\n const result = {};\n\n for (const validation of this.validations()) {\n if (!validation.isValid()) {\n result[validation.error] = true;\n }\n }\n\n return isEmpty(result) ? null : result;\n }\n}\n","<mat-form-field class=\"kms-password__form-field\">\n <mat-label>{{ label() }}</mat-label>\n <input\n [type]=\"showPassword() ? 'text' : 'password'\"\n matInput\n (input)=\"valueChanged($event)\"\n [disabled]=\"disabled()\"\n (keypress)=\"keypress($event)\"\n #password=\"matInput\"\n />\n @if (showPassword()) {\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"ic_eye\"\n [size]=\"IconSizePx.XS\"\n (click)=\"showPassword.set(false)\"\n (mousedown)=\"eyeIconIsBeingPressed.set(true)\"\n (mouseup)=\"eyeIconIsBeingPressed.set(false)\"\n ></kms-icon>\n } @else {\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"ic_eye_active\"\n [size]=\"IconSizePx.XS\"\n (click)=\"showPassword.set(true)\"\n (mousedown)=\"eyeIconIsBeingPressed.set(true)\"\n (mouseup)=\"eyeIconIsBeingPressed.set(false)\"\n ></kms-icon>\n }\n</mat-form-field>\n\n@if ((eyeIconIsBeingPressed() || password.focused) && withStrength()) {\n<mat-card appearance=\"outlined\">\n <mat-card-content class=\"kms-password__card\">\n <mat-list role=\"list\">\n @for (validation of validations(); track validation) {\n <mat-list-item role=\"listitem\">\n <div class=\"kms-password__strength-item\">\n @if(validation.isValid()) {\n <kms-icon\n [size]=\"IconSizePx.XS\"\n icon=\"ic_check\"\n iconClass=\"color-success\"\n ></kms-icon>\n }@else {\n <kms-icon\n [size]=\"IconSizePx.XS\"\n icon=\"ic_abbrechen\"\n iconClass=\"color-warn\"\n ></kms-icon>\n } {{ validation.text() }}\n </div></mat-list-item\n >\n }\n </mat-list>\n </mat-card-content>\n</mat-card>\n}\n","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { StylingTheme } from '../../../enums/colors.enum';\nimport { RadioButtonSize } from '../../../enums/radioButtonSize.enum';\nimport { TextValuePair } from '../../../models';\n\nexport interface RadiobuttonInterface extends TextValuePair {\n Disabled?: boolean;\n InfoText?: string;\n}\n\n@Component({\n standalone: false,\n selector: 'kms-radiogroup',\n templateUrl: './radiogroup.component.html',\n styleUrls: ['./radiogroup.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioGroupComponent),\n multi: true,\n },\n ],\n})\nexport class RadioGroupComponent implements ControlValueAccessor {\n @Input() options: RadiobuttonInterface[] = [];\n @Input() disabled: boolean = false;\n @Input() value: any = null;\n @Input() infoText?: string;\n\n @Input() color: StylingTheme = StylingTheme.PRIMARY;\n @Input() size: RadioButtonSize = RadioButtonSize.MD;\n @Input() direction: 'row' | 'column' = 'row';\n\n onChange = (value: any) => {\n this.value = value;\n };\n\n onTouched = () => {};\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n handleChange(value: any) {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n }\n}\n","@if (options && options.length > 0) {\n<mat-radio-group\n class=\"radiogroup\"\n [value]=\"value\"\n (change)=\"handleChange($event.value)\"\n [disabled]=\"disabled\"\n [ngStyle]=\"{ 'flex-direction': direction }\"\n>\n @if (infoText) {\n <kms-tooltip-icon\n [class.margin-left]=\"direction == 'column'\"\n [tooltipText]=\"infoText\"\n ></kms-tooltip-icon>\n } @for (option of options; track $index) {\n <div class=\"radiobutton-container\">\n <kms-radiobutton\n [label]=\"option.Text\"\n [value]=\"option.Value\"\n [checked]=\"value === option.Value\"\n [disabled]=\"disabled || option.Disabled\"\n [size]=\"size\"\n [color]=\"color\"\n ></kms-radiobutton>\n @if (option.InfoText) {\n <kms-tooltip-icon [tooltipText]=\"option.InfoText\"></kms-tooltip-icon>\n }\n </div>\n }\n</mat-radio-group>\n}\n","export enum SalutationEnum {\n NOT_SPECIFIED = 'Keine Anrede',\n MALE = 'Herr',\n FEMALE = 'Frau',\n}\n","import { Component, forwardRef, Input, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { NullAble } from '../../../models';\nimport { SalutationEnum } from '../../../models/salutation.enum';\n\nimport { FormControlParentComponent } from './../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-salutation-dropdown',\n templateUrl: './salutation-dropdown.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationDropdownComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationDropdownComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n @Input() placeholder: NullAble<string>;\n\n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n salut: new UntypedFormControl(''),\n });\n this.formInitialized = true;\n\n //somehow for dropowns we have to set value manually with timeout for default value\n setTimeout(() => {\n this.form.controls['salut'].setValue(this.value ? this.value : '');\n }, 1000);\n\n this.form.valueChanges.subscribe((value) => {\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\" class=\"row\">\n <mat-form-field class=\"col\">\n <mat-select\n disableOptionCentering\n formControlName=\"salut\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n #child\n >\n <mat-option [value]=\"SalutationEnum.NOT_SPECIFIED\">{{\n 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase()\n | translate\n }}</mat-option>\n <mat-option [value]=\"SalutationEnum.MALE\">{{\n 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase()\n | translate\n }}</mat-option>\n <mat-option [value]=\"SalutationEnum.FEMALE\">{{\n 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase()\n | translate\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n","/**\n * General Image Model\n */\nexport class ImageSnippet {\n status = 'init';\n constructor(\n public src: string,\n public fileName: string,\n public srcType = ImageSourceType.ByteArray,\n ) {}\n }\n\nexport enum ImageSourceType {\n Ident = 'Idnet',\n ByteArray = 'ByteArray',\n URL = 'URL'\n}\n","import { NullAble } from './types/nullable.type';\n\nexport class TextValuePairArray {\n Items: NullAble<TextValuePair[]>;\n}\n\nexport class TextValuePair {\n Text: NullAble<string>;\n Value: NullAble<any>;\n\n constructor(text: string, value: any) {\n this.Text = text;\n this.Value = value;\n }\n}\n\nexport class LabelValuePair {\n Label: NullAble<string>;\n Value: NullAble<string>;\n\n constructor(label: string, value: string) {\n this.Label = label;\n this.Value = value;\n }\n}\n\nexport class KeyValuePair {\n Key: NullAble<string>;\n Value: NullAble<string>;\n\n constructor(key: string, value: string) {\n this.Key = key;\n this.Value = value;\n }\n}\n","/**\n * Attached File DTO\n */\nexport class AttachedFileDTO {\n ImageIdent?: string;\n ImageLink?: string;\n Filename?: string;\n ImageAsDataURL?: string;\n CreateSmallImage?: boolean;\n Text?: string;\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport type NullAble<T> = T | null | undefined;\n","import { Component, forwardRef, OnInit, Renderer2 } from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { isValue } from '../../../models';\nimport { SalutationEnum } from '../../../models/salutation.enum';\nimport { FormControlParentComponent } from '../../../parent-components/form-control.component';\n\n@Component({\n standalone: false,\n selector: 'kms-salutation-radiogroup',\n templateUrl: './salutation-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SalutationRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class SalutationRadiogroupComponent\n extends FormControlParentComponent\n implements OnInit, ControlValueAccessor\n{\n //For view\n SalutationEnum = SalutationEnum;\n Object = Object;\n\n constructor(public renderer: Renderer2) {\n super(renderer);\n }\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n salut: new UntypedFormControl(isValue(this.value) ? this.value : ''),\n });\n this.formInitialized = true;\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.salut;\n this.onChange(value.salut);\n });\n\n super.ngOnInit();\n }\n}\n","<form [formGroup]=\"form\">\n <mat-radio-group formControlName=\"salut\" [disabled]=\"disabled\" #radioGroup>\n <mat-radio-button\n color=\"primary\"\n [value]=\"SalutationEnum.NOT_SPECIFIED\"\n [checked]=\"value === SalutationEnum.NOT_SPECIFIED\"\n >\n {{\n 'general.salutation.' + Object.keys(SalutationEnum)[0]?.toLowerCase()\n | translate\n }}\n </mat-radio-button>\n <mat-radio-button\n color=\"primary\"\n [value]=\"SalutationEnum.MALE\"\n [checked]=\"value === SalutationEnum.MALE\"\n >\n {{\n 'general.salutation.' + Object.keys(SalutationEnum)[1]?.toLowerCase()\n | translate\n }}\n </mat-radio-button>\n <mat-radio-button\n color=\"primary\"\n [value]=\"SalutationEnum.FEMALE\"\n [checked]=\"value === SalutationEnum.FEMALE\"\n >\n {{\n 'general.salutation.' + Object.keys(SalutationEnum)[2]?.toLowerCase()\n | translate\n }}\n </mat-radio-button>\n </mat-radio-group>\n</form>\n","import {\n Component,\n computed,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Signal,\n signal,\n SimpleChanges,\n WritableSignal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport moment from 'moment';\nimport { IconSizePx } from '../../../enums/iconSize.enum';\n@Component({\n standalone: false,\n selector: 'kms-time-input',\n templateUrl: './time-input.component.html',\n styleUrls: ['./time-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimeInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: TimeInputComponent,\n multi: true,\n },\n ],\n})\nexport class TimeInputComponent\n implements OnInit, OnChanges, ControlValueAccessor\n{\n @Input() label = '';\n @Input() value = '';\n @Input() interval = 15;\n @Input() allowEmpty = false;\n\n IconSizePx = IconSizePx;\n _value = signal('');\n private options: WritableSignal<Array<string>> = signal([]);\n\n filteredOptions: Signal<Array<string>> = computed(() => {\n return this.options().filter((option) => option.startsWith(this._value()));\n });\n\n ngOnInit() {\n this.options.set(this.getTimeRange());\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value) {\n this._value.set(changes.value.currentValue);\n }\n }\n\n writeValue(value: string) {\n this._value.set(value);\n }\n\n onChange: any = () => {};\n\n onTouch: any = () => {};\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n getTimeRange() {\n const startTime = moment('00:00', 'HH');\n const endTime = moment('23:45', 'HH:mm:ss');\n const timeSeries = [startTime.format('HH:mm')];\n\n while (startTime.isBefore(endTime)) {\n timeSeries.push(startTime.add(this.interval, 'm').format('HH:mm'));\n }\n\n return timeSeries;\n }\n\n inputValueChanged(event: Event) {\n this.valueChanged((event.target as HTMLInputElement).value);\n }\n\n valueChanged(value: string) {\n this._value.set(value);\n this.onChange(value);\n this.onTouch(value);\n }\n\n autocompleteClosed() {\n if (this._value().slice(-1) === ':') {\n this._value.set(this._value() + '00');\n this.valueChanged(this._value());\n }\n }\n\n validate({ value }: FormControl) {\n // validate time format HH:mm and 24 hours and 59 minutes\n const timeRegex = /^(?:[01]\\d|2[0-3]):(?:[0-5]\\d)$/;\n\n if (\n this.allowEmpty &&\n (value === undefined || value === null || value === '')\n )\n return null;\n if (timeRegex.test(value)) return null;\n else\n return {\n invalid: true,\n };\n }\n}\n","<mat-form-field class=\"kms-time-input\">\n <mat-label>{{ label }}</mat-label>\n <input\n type=\"text\"\n aria-label=\"time\"\n matInput\n kmsTime\n [matAutocomplete]=\"auto\"\n [value]=\"_value()\"\n (input)=\"inputValueChanged($event)\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"valueChanged($event.option.value)\"\n (closed)=\"autocompleteClosed()\"\n >\n @for (option of filteredOptions(); track option) {\n <mat-option [value]=\"option\">\n {{ option }}\n </mat-option>\n }\n </mat-autocomplete>\n <kms-icon\n class=\"kms-time-input__suffix\"\n matSuffix\n icon=\"clock\"\n [size]=\"IconSizePx.XS\"\n ></kms-icon>\n</mat-form-field>\n","import {\n Component,\n ElementRef,\n forwardRef,\n Input,\n OnInit,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n UntypedFormControl,\n UntypedFormGroup,\n} from '@angular/forms';\nimport { NullAble } from '../../../models';\n\n@Component({\n standalone: false,\n selector: 'kms-yesno-radiogroup',\n templateUrl: './yes-no-radiogroup.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => YesNoRadiogroupComponent),\n multi: true,\n },\n ],\n})\nexport class YesNoRadiogroupComponent implements OnInit, ControlValueAccessor {\n @Input() header: NullAble<String>;\n @Input() disabled = false;\n @Input() textYes = '';\n @Input() textNo = '';\n public form!: UntypedFormGroup;\n\n @ViewChild('child') public child?: ElementRef<HTMLInputElement>;\n\n public internalValue: NullAble<boolean>;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onChange: any = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouch: any = () => {};\n\n get value(): NullAble<boolean> {\n return this.internalValue;\n }\n\n set value(value: NullAble<boolean>) {\n this.internalValue = value;\n if (value !== undefined && this.internalValue !== value) {\n this.onChange(value);\n this.onTouch(value);\n }\n }\n\n writeValue(value: any) {\n this.internalValue = value;\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean) {\n if (this.child) {\n this.renderer.setProperty(\n this.child.nativeElement,\n 'disabled',\n isDisabled\n );\n }\n }\n\n constructor(public renderer: Renderer2) {}\n\n ngOnInit() {\n this.form = new UntypedFormGroup({\n yesno: new UntypedFormControl(this.value ?? null),\n });\n\n this.form.valueChanges.subscribe((value) => {\n this.internalValue = value.yesno;\n this.onChange(value.yesno);\n });\n }\n}\n","<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group formControlName=\"yesno\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"true\" [checked]=\"internalValue === true\">\n {{ textYes }}</mat-radio-button\n >\n <mat-radio-button [value]=\"false\" [checked]=\"internalValue === false\">\n {{ textNo }}</mat-radio-button\n >\n </mat-radio-group>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { KmsUiPresentationalComponent } from './kms-ngx-ui-presentational.component';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { CustomPipesModule } from './pipes/custom-pipes.module';\n\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { GoogleMapsModule } from '@angular/google-maps';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DirectivesModule } from './directives/directives.module';\nimport { ViewportService } from './services/viewport.service';\nimport { BackToTopComponent } from './ui/atoms/back-to-top/back-to-top.component';\nimport { CardComponent } from './ui/atoms/card/card.component';\nimport { CheckboxComponent } from './ui/atoms/checkbox/checkbox.component';\nimport { DropdownFromDataComponent } from './ui/atoms/dropdown-from-data/dropdown-from-data.component';\nimport { IconComponent } from './ui/atoms/icon/icon.component';\nimport { LoaderComponent } from './ui/atoms/loader/loader.component';\nimport { MapComponent } from './ui/atoms/map/map.component';\nimport { RadioButtonComponent } from './ui/atoms/radiobutton/radiobutton.component';\nimport { SlideToggleComponent } from './ui/atoms/slide-toggle/slide-toggle.component';\nimport { SliderComponent } from './ui/atoms/slider/slider.component';\nimport { ButtonComponent } from './ui/molecules/button/button.component';\nimport { ColorInputComponent } from './ui/molecules/color-input/color-input.component';\nimport { ConfirmationDialogComponent } from './ui/molecules/confirmation-dialog/confirmation-dialog.component';\nimport { EnumRadiogroupComponent } from './ui/molecules/enum-radiogroup/enum-radiogroup.component';\nimport { FileInputComponent } from './ui/molecules/file-input/file-input.component';\nimport { FlyoutComponent } from './ui/molecules/flyout/flyout.component';\nimport { ImageSliderComponent } from './ui/molecules/image-slider/image-slider.component';\nimport { KMSAccordionItemComponent } from './ui/molecules/kms-accordion-item/kms-accordion-item.component';\nimport { NumericInputComponent } from './ui/molecules/numeric-input/numeric-input.component';\nimport { PasswordComponent } from './ui/molecules/password/password.component';\nimport { RadioGroupComponent } from './ui/molecules/radiogroup/radiogroup.component';\nimport { SalutationDropdownComponent } from './ui/molecules/salutation-dropdown/salutation-dropdown.component';\nimport { SalutationRadiogroupComponent } from './ui/molecules/salutation-radiogroup/salutation-radiogroup.component';\nimport { TimeInputComponent } from './ui/molecules/time-input/time-input.component';\nimport { TooltipIconComponent } from './ui/molecules/tooltip-icon/tooltip-icon.component';\nimport { YesNoRadiogroupComponent } from './ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component';\n\n@NgModule({\n declarations: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n RadioGroupComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n PasswordComponent,\n SliderComponent,\n CardComponent,\n ButtonComponent,\n NumericInputComponent,\n ],\n imports: [\n CommonModule,\n DragDropModule,\n MatCheckboxModule,\n MatButtonModule,\n MatRadioModule,\n MatDialogModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n CustomPipesModule,\n GoogleMapsModule,\n MatExpansionModule,\n MatSelectModule,\n MatProgressSpinnerModule,\n DirectivesModule,\n MatSlideToggleModule,\n TranslateModule,\n MatTooltipModule,\n NgxSliderModule,\n MatAutocompleteModule,\n MatListModule,\n MatCardModule,\n ],\n exports: [\n BackToTopComponent,\n CheckboxComponent,\n ColorInputComponent,\n DropdownFromDataComponent,\n EnumRadiogroupComponent,\n RadioGroupComponent,\n FileInputComponent,\n FlyoutComponent,\n ConfirmationDialogComponent,\n IconComponent,\n ImageSliderComponent,\n KMSAccordionItemComponent,\n KmsUiPresentationalComponent,\n LoaderComponent,\n MapComponent,\n RadioButtonComponent,\n SalutationDropdownComponent,\n SalutationRadiogroupComponent,\n SlideToggleComponent,\n TimeInputComponent,\n TooltipIconComponent,\n YesNoRadiogroupComponent,\n PasswordComponent,\n SliderComponent,\n CardComponent,\n ButtonComponent,\n NumericInputComponent,\n ],\n providers: [ViewportService],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class KmsUiPresentationalModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class KmsUiPresentationalService {\n\n constructor() { }\n}\n","/**\n * @copyright KMS GmbH\n */\n\nexport enum ButtonResponseType {\n primary = 'primary',\n secondary = 'secondary',\n}\n","/*\n * Public API Surface of kms-ngx-ui-presentational\n */\n\nexport * from './lib/kms-ngx-ui-presentational.component';\nexport * from './lib/kms-ngx-ui-presentational.module';\nexport * from './lib/kms-ngx-ui-presentational.service';\n\nexport * from './lib/services/viewport.service';\n\nexport * from './lib/parent-components/form.component';\n\n// Models\nexport * from './lib/models/button-response-types.enum';\nexport * from './lib/models/image-snippet.model';\nexport * from './lib/models/salutation.enum';\nexport * from './lib/models/text-value-pair.model';\nexport * from './lib/models/types/nullable.type';\n\n// Directives\nexport * from './lib/directives/directives.module';\nexport * from './lib/directives/sum-of-height.directive';\nexport * from './lib/directives/swipe.directive';\nexport * from './lib/directives/time.directive';\nexport * from './lib/directives/tooltip.directive';\n\n// Pipes\nexport * from './lib/pipes/custom-pipes.module';\nexport * from './lib/pipes/integer-currency.pipe';\nexport * from './lib/pipes/safe-html.pipe';\nexport * from './lib/pipes/safe-resource-url.pipe';\nexport * from './lib/pipes/safe-url.pipe';\nexport * from './lib/pipes/sanitaze-null.pipe';\nexport * from './lib/pipes/trim.pipe';\nexport * from './lib/pipes/typeof.pipe';\n\n// Enums\nexport * from './lib/enums/buttonAppearance.enum';\nexport * from './lib/enums/colors.enum';\nexport * from './lib/enums/iconSize.enum';\nexport * from './lib/enums/radioButtonSize.enum';\n\n// Components\n\n// Atoms\nexport * from './lib/ui/atoms/back-to-top/back-to-top.component';\nexport * from './lib/ui/atoms/card/card.component';\nexport * from './lib/ui/atoms/checkbox/checkbox.component';\nexport * from './lib/ui/atoms/dropdown-from-data/dropdown-from-data.component';\nexport * from './lib/ui/atoms/icon/icon.component';\nexport * from './lib/ui/atoms/loader/loader.component';\nexport * from './lib/ui/atoms/map/map.component';\nexport * from './lib/ui/atoms/radiobutton/radiobutton.component';\nexport * from './lib/ui/atoms/slide-toggle/slide-toggle.component';\nexport * from './lib/ui/atoms/slider/slider.component';\nexport * from './lib/ui/atoms/slider/slider.model';\n\n// Molecules\nexport * from './lib/ui/molecules/button/button.component';\nexport * from './lib/ui/molecules/color-input/color-input.component';\nexport * from './lib/ui/molecules/confirmation-dialog/confirmation-dialog.component';\nexport * from './lib/ui/molecules/confirmation-dialog/dialog-data.model';\nexport * from './lib/ui/molecules/enum-radiogroup/enum-radiogroup.component';\nexport * from './lib/ui/molecules/file-input/file-input.component';\nexport * from './lib/ui/molecules/flyout/flyout.component';\nexport * from './lib/ui/molecules/image-slider/image-slider.component';\nexport * from './lib/ui/molecules/kms-accordion-item/kms-accordion-item.component';\nexport * from './lib/ui/molecules/numeric-input/numeric-input.component';\nexport * from './lib/ui/molecules/password/password.component';\nexport * from './lib/ui/molecules/radiogroup/radiogroup.component';\nexport * from './lib/ui/molecules/salutation-dropdown/salutation-dropdown.component';\nexport * from './lib/ui/molecules/salutation-radiogroup/salutation-radiogroup.component';\nexport * from './lib/ui/molecules/time-input/time-input.component';\nexport * from './lib/ui/molecules/tooltip-icon/tooltip-icon.component';\nexport * from './lib/ui/molecules/yes-no-radiogroup/yes-no-radiogroup.component';\n\n// Organisms\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.IconComponent","i3","i4","i4.IconComponent","i1.TooltipDirective","i5.TooltipIconComponent","i3.IconComponent","i2.GetMaxHeightDirective","i4.SafeHtmlPipe","i5.IconComponent","i3.RadioButtonComponent","i4.TooltipIconComponent","i4.TimeDirective","i6.IconComponent"],"mappings":"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"}