@rolatech/angular-components 20.2.5 → 20.2.6-beta.1
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":"rolatech-angular-components.mjs","sources":["../../../../packages/angular-components/src/lib/skeleton/skeleton.ts","../../../../packages/angular-components/src/lib/skeleton/skeleton.html","../../../../packages/angular-components/src/lib/chat-box/chat-box.ts","../../../../packages/angular-components/src/lib/chat-box/chat-box.html","../../../../packages/angular-components/src/lib/video-upload/video-upload.ts","../../../../packages/angular-components/src/lib/video-upload/video-upload.html","../../../../packages/angular-components/src/lib/pdf-viewer/pdf-viewer.component.ts","../../../../packages/angular-components/src/lib/pdf-viewer/pdf-viewer.component.html","../../../../packages/angular-components/src/lib/rich-label/rich-label.component.ts","../../../../packages/angular-components/src/lib/rich-label/rich-label.component.html","../../../../packages/angular-components/src/lib/resizable-container/resizable-container.component.ts","../../../../packages/angular-components/src/lib/resizable-container/resizable-container.component.html","../../../../packages/angular-components/src/lib/rich-grid-media/rich-grid-media.component.ts","../../../../packages/angular-components/src/lib/rich-grid-media/rich-grid-media.component.html","../../../../packages/angular-components/src/lib/reject-dialog/reject-dialog.component.ts","../../../../packages/angular-components/src/lib/reject-dialog/reject-dialog.component.html","../../../../packages/angular-components/src/lib/accept-dialog/accept-dialog.component.ts","../../../../packages/angular-components/src/lib/accept-dialog/accept-dialog.component.html","../../../../packages/angular-components/src/lib/icon/icon.component.ts","../../../../packages/angular-components/src/lib/icon/icon.component.html","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.ts","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.html","../../../../packages/angular-components/src/lib/title/title.component.ts","../../../../packages/angular-components/src/lib/title/title.component.html","../../../../packages/angular-components/src/lib/container/container.component.ts","../../../../packages/angular-components/src/lib/container/container.component.html","../../../../packages/angular-components/src/provider.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.html","../../../../packages/angular-components/src/lib/topbar/topbar.component.ts","../../../../packages/angular-components/src/lib/topbar/topbar.component.html","../../../../packages/angular-components/src/lib/drawer/drawer.component.ts","../../../../packages/angular-components/src/lib/drawer/drawer.component.html","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.ts","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.html","../../../../packages/angular-components/src/lib/page/page.component.ts","../../../../packages/angular-components/src/lib/page/page.component.html","../../../../packages/angular-components/src/lib/layout/layout.component.ts","../../../../packages/angular-components/src/lib/layout/layout.component.html","../../../../packages/angular-components/src/lib/footer/footer.component.ts","../../../../packages/angular-components/src/lib/footer/footer.component.html","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.ts","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.html","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.ts","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.html","../../../../packages/angular-components/src/lib/folder/folder.component.ts","../../../../packages/angular-components/src/lib/folder/folder.component.html","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.html","../../../../packages/angular-components/src/lib/material.module.ts","../../../../packages/angular-components/src/lib/angular-components.module.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.html","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.ts","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.html","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.ts","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.html","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.ts","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.html","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.ts","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.html","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.ts","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.html","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.ts","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.html","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.ts","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.html","../../../../packages/angular-components/src/lib/media-list/media-list.component.ts","../../../../packages/angular-components/src/lib/media-list/media-list.component.html","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.ts","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.html","../../../../packages/angular-components/src/lib/not-found/not-found.component.ts","../../../../packages/angular-components/src/lib/not-found/not-found.component.html","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.ts","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.html","../../../../packages/angular-components/src/lib/location-selector/location-selector.component.ts","../../../../packages/angular-components/src/lib/location-selector/location-selector.component.html","../../../../packages/angular-components/src/lib/filter/filter.component.ts","../../../../packages/angular-components/src/lib/filter/filter.component.html","../../../../packages/angular-components/src/lib/confirmation/confirmation.component.ts","../../../../packages/angular-components/src/lib/confirmation/confirmation.component.html","../../../../packages/angular-components/src/lib/search-icon/search-icon.ts","../../../../packages/angular-components/src/lib/search-icon/search-icon.html","../../../../packages/angular-components/src/lib/search-bar/search-bar.ts","../../../../packages/angular-components/src/lib/search-bar/search-bar.html","../../../../packages/angular-components/src/lib/base.component.ts","../../../../packages/angular-components/src/lib/loading.ts","../../../../packages/angular-components/src/lib/table/table.component.ts","../../../../packages/angular-components/src/lib/table/table.component.html","../../../../packages/angular-components/src/lib/paginator/paginator.component.ts","../../../../packages/angular-components/src/lib/paginator/paginator.component.html","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.ts","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.html","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.ts","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.html","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.ts","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.html","../../../../packages/angular-components/src/lib/image/image.component.ts","../../../../packages/angular-components/src/lib/image/image.component.html","../../../../packages/angular-components/src/lib/tab/tab.component.ts","../../../../packages/angular-components/src/lib/tab/tab.component.html","../../../../packages/angular-components/src/lib/tabs/tabs.component.ts","../../../../packages/angular-components/src/lib/tabs/tabs.component.html","../../../../packages/angular-components/src/lib/list/list.component.ts","../../../../packages/angular-components/src/lib/list/list.component.html","../../../../packages/angular-components/src/lib/content/content.component.ts","../../../../packages/angular-components/src/lib/content/content.component.html","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.ts","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.html","../../../../packages/angular-components/src/lib/avatar/avatar.component.ts","../../../../packages/angular-components/src/lib/avatar/avatar.component.html","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.ts","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.html","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.html","../../../../packages/angular-components/src/lib/empty/empty.component.ts","../../../../packages/angular-components/src/lib/empty/empty.component.html","../../../../packages/angular-components/src/lib/input/input.component.ts","../../../../packages/angular-components/src/lib/input/input.component.html","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.ts","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.html","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.ts","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.html","../../../../packages/angular-components/src/lib/editor/editor.component.ts","../../../../packages/angular-components/src/lib/editor/editor.component.html","../../../../packages/angular-components/src/lib/accordion/accordion.component.ts","../../../../packages/angular-components/src/lib/accordion/accordion.component.html","../../../../packages/angular-components/src/lib/panel/panel.component.ts","../../../../packages/angular-components/src/lib/panel/panel.component.html","../../../../packages/angular-components/src/lib/panel/panel-header.component.ts","../../../../packages/angular-components/src/lib/panel/panel-header.component.html","../../../../packages/angular-components/src/lib/conversation/conversation-message/markdown.pipe.ts","../../../../packages/angular-components/src/lib/conversation/conversation-message/conversation-message.ts","../../../../packages/angular-components/src/lib/conversation/conversation-message/conversation-message.html","../../../../packages/angular-components/src/lib/conversation/conversation-content/conversation-content.ts","../../../../packages/angular-components/src/lib/conversation/conversation-content/conversation-content.html","../../../../packages/angular-components/src/lib/conversation/conversation-header/conversation-header.ts","../../../../packages/angular-components/src/lib/conversation/conversation-header/conversation-header.html","../../../../packages/angular-components/src/lib/conversation/conversation-input/conversation-input.ts","../../../../packages/angular-components/src/lib/conversation/conversation-input/conversation-input.html","../../../../packages/angular-components/src/rolatech-angular-components.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'rolatech-skeleton',\n imports: [],\n templateUrl: './skeleton.html',\n styleUrl: './skeleton.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-skeleton',\n class: 'rolatech-skeleton rounded',\n },\n})\nexport class Skeleton {}\n","<div class=\"rolatech-skeleton-inner inline-grid animate-pulse\"></div>\n","import { Component, model, output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-chat-box',\n imports: [CommonModule, MatInputModule, FormsModule, MatButtonModule, MatIcon],\n templateUrl: './chat-box.html',\n styleUrl: './chat-box.scss',\n encapsulation: ViewEncapsulation.None\n\n})\nexport class ChatBox {\n isStreaming = false\n userInput = model<string>()\n send = output();\n\n onEnter(event: any): void {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n this.sendMessage();\n }\n }\n sendMessage() {\n this.send.emit();\n }\n}\n","<div\n class=\"h-auto dark:bg-[--rt-raised-background] rounded-2xl w-full my-3 mx-auto border border-black border-opacity-20 overflow-hidden flex items-end p-1\"\n>\n <div\n class=\"w-full grid text-sm border-black after:px-3.5 after:py-2.5 [&>textarea]:text-inherit after:text-inherit [&>textarea]:resize-none [&>textarea]:overflow-hidden [&>textarea]:[grid-area:1/1/2/2] after:[grid-area:1/1/2/2] after:whitespace-pre-wrap after:invisible after:content-[attr(data-cloned-val)_'_'] after:border\"\n >\n <textarea\n class=\"w-full border border-transparent appearance-none rounded px-3.5 py-2.5 outline-none dark:bg-[--rt-raised-background]\"\n name=\"message\"\n id=\"message\"\n rows=\"1\"\n [(ngModel)]=\"userInput\"\n onInput=\"this.parentNode.dataset.clonedVal = this.value\"\n placeholder=\"Ask anything\"\n (keydown.enter)=\"onEnter($event)\"\n [disabled]=\"isStreaming\"\n required\n ></textarea>\n </div>\n <button\n matIconButton\n (click)=\"sendMessage()\"\n [disabled]=\"!userInput()?.trim()\"\n [ngClass]=\"!userInput()?.trim() ? '' : '!bg-[--rt-brand-color] !text-[--rt-text-primary-inverse]'\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n</div>\n","import { Component, input, model, output, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { DurationPipe } from '@rolatech/angular-common';\n\nexport interface Video {\n id?: string;\n url: string;\n thumbnail: string;\n duration: number;\n isUploading?: boolean;\n progress: number | 0;\n canBePreviewed: boolean;\n}\n\n@Component({\n selector: 'rolatech-video-upload',\n imports: [CommonModule, MatProgressBarModule, MatButtonModule, MatIcon, DurationPipe],\n templateUrl: './video-upload.html',\n styleUrl: './video-upload.scss',\n})\nexport class VideoUpload {\n myVideo = viewChild('video');\n item = input<Video>();\n uploading = model<boolean>(false);\n editing = model<boolean>(false);\n progress = input<number>(0);\n mediaEdit = output<Video>();\n thumbnailUpload = output<Video>();\n upload = output<{ data: FormData | null }>();\n deleteMedia = output<Video>();\n editId = model<any>()\n hasUnsaved = input<boolean>(false);\n\n onLoadedMetadata(event: Event): void {\n if (this.item()?.duration) {\n return;\n }\n const videoElement: HTMLVideoElement = event.target as HTMLVideoElement;\n const item = this.item();\n if (item) {\n item.duration = videoElement.duration;\n }\n }\n onUpload(data: any) {\n this.uploading.update(() => true);\n this.upload.emit({ data });\n }\n\n onMediaEdit() {\n this.mediaEdit.emit(this.item()!);\n\n }\n onDeleteMedia() {\n this.deleteMedia.emit(this.item()!);\n }\n}\n","<div>\n @if (item()) {\n <div class=\"flex flex-row p-2 gap-3\">\n <div class=\"bg-black h-fit\">\n <video\n id=\"video\"\n #video\n [src]=\"item()?.url\"\n class=\"w-32 aspect-video\"\n (loadedmetadata)=\"onLoadedMetadata($event)\"\n [poster]=\"item()?.thumbnail\"\n ></video>\n </div>\n <div class=\"flex flex-col justify-between w-full\">\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-between items-center w-full px-2\">\n <span i18n>Video</span>\n </div>\n @if (item()?.isUploading) {\n <div>\n <span> {{ item()?.progress }}%</span>\n </div>\n }\n </div>\n <div class=\"flex justify-between items-center\">\n <div>\n <button mat-button class=\"max-h-8\" (click)=\"onMediaEdit(); $event.stopPropagation()\">\n <mat-icon>edit</mat-icon>\n <span i18n>Edit</span>\n </button>\n <button mat-button class=\"max-h-8\" (click)=\"onDeleteMedia(); $event.stopPropagation()\">\n <mat-icon>delete</mat-icon>\n <span i18n>Delete</span>\n </button>\n </div>\n <div>\n <span>{{ item()!.duration | duration }}</span>\n </div>\n </div>\n </div>\n </div>\n @if (uploading()) {\n <div class=\"p-2\">\n <mat-progress-bar mode=\"determinate\" [value]=\"progress()\"> </mat-progress-bar>\n </div>\n } }@else {\n <div class=\"px-3\">\n <input\n class=\"ud-sr-only\"\n type=\"file\"\n accept=\".avi,.mpg,.mpeg,.flv,.mov,.m2v,.m4v,.mp4,.rm,.ram,.vob,.ogv,.webm,.wmv\"\n (change)=\"onUpload($event)\"\n #fileInput\n />\n <div class=\"flex justify-between items-center\">\n <div i18n>No videos</div>\n <button mat-flat-button class=\"max-h-8\" (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n </div>\n }\n</div>\n","import { Component, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'rolatech-pdf-viewer',\n imports: [CommonModule],\n templateUrl: './pdf-viewer.component.html',\n styleUrl: './pdf-viewer.component.scss',\n})\nexport class PdfViewerComponent {\n sanitizer = inject(DomSanitizer);\n safeUrl: SafeResourceUrl;\n // url = input.required<string>();\n url = 'https://rolatech.s3.ap-northeast-1.amazonaws.com/agent-applications/ea9d463009074d649562423492af05f0.pdf';\n constructor() {\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.url);\n }\n}\n","<iframe [src]=\"safeUrl\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-rich-label',\n imports: [CommonModule],\n templateUrl: './rich-label.component.html',\n styleUrl: './rich-label.component.scss',\n})\nexport class RichLabelComponent {\n label = input.required();\n title = input.required();\n}\n","<div class=\"flex flex-col justify-center h-11\">\n <div class=\"text-sm opacity-80\" i18n>{{ label() }}</div>\n <div>{{ title() }}</div>\n</div>\n","import { Component, ElementRef, inject, Renderer2, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-resizable-container',\n imports: [CommonModule],\n templateUrl: './resizable-container.component.html',\n styleUrl: './resizable-container.component.scss',\n})\nexport class ResizableContainerComponent {\n renderer = inject(Renderer2);\n @ViewChild('leftDiv') leftDiv!: ElementRef;\n @ViewChild('rightDiv') rightDiv!: ElementRef;\n @ViewChild('divider') divider!: ElementRef;\n isResizing = false;\n\n startResizing(event) {\n event.preventDefault();\n this.isResizing = true;\n this.renderer.listen('document', 'mousemove', (e) => this.onResizing(e));\n this.renderer.listen('document', 'mouseup', () => this.stopResizing());\n }\n onResizing(event: MouseEvent) {\n if (!this.isResizing) return;\n const containerRect = this.leftDiv.nativeElement.parentElement.getBoundingClientRect();\n const newLeftWidth = event.clientX - containerRect.left;\n const newRightWidth = containerRect.right - event.clientX;\n\n if (newLeftWidth > 100 && newRightWidth > 100) {\n this.renderer.setStyle(this.leftDiv.nativeElement, 'width', `${newLeftWidth}px`);\n this.renderer.setStyle(this.rightDiv.nativeElement, 'width', `${newRightWidth}px`);\n }\n }\n\n stopResizing() {\n this.isResizing = false;\n }\n}\n","<div class=\"flex w-full p-3\">\n <div class=\"w-2/6 px-1\" #leftDiv>\n <ng-content select=\"[position='left']\"></ng-content>\n </div>\n <div class=\"divider\" #divider (mousedown)=\"startResizing($event)\"></div>\n <div class=\"w-4/6 px-1\" #rightDiv>\n <ng-content select=\"[position='right']\"></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-rich-grid-media',\n imports: [CommonModule],\n templateUrl: './rich-grid-media.component.html',\n styleUrl: './rich-grid-media.component.scss',\n})\nexport class RichGridMediaComponent {}\n","<p>rich-grid-media works!</p>\n","import { Component, inject, Inject, OnInit } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogContent, MatDialogActions, MatDialogClose, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'rolatech-reject-dialog',\n imports: [\n MatDialogContent,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatDialogActions,\n MatButtonModule,\n MatDialogClose,\n ],\n templateUrl: './reject-dialog.component.html',\n styleUrl: './reject-dialog.component.scss',\n})\nexport class RejectDialogComponent implements OnInit {\n rejectForm!: FormGroup;\n formBuilder = inject(FormBuilder);\n dialogRef = inject(MatDialogRef<RejectDialogComponent>);\n data = inject(MAT_DIALOG_DATA);\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.rejectForm = this.formBuilder.group({\n content: [null, Validators.required],\n });\n this.rejectForm.setValue(this.data);\n }\n}\n","<mat-dialog-content>\n <form [formGroup]=\"rejectForm\">\n <div class=\"py-2\">\n <h2 class=\"mb-2\" i18n>Reject reason</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Reason </mat-label>\n <textarea matInput formControlName=\"content\" required></textarea>\n </mat-form-field>\n </div>\n </form>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n <button mat-flat-button [mat-dialog-close]=\"rejectForm.value\" cdkFocusInitial i18n>Confirm</button>\n</mat-dialog-actions>\n","import { Component, Inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatDialogClose,\n MatDialogRef,\n MAT_DIALOG_DATA,\n} from '@angular/material/dialog';\nimport { DialogData } from '@rolatech/angular-services';\n\n@Component({\n selector: 'rolatech-accept-dialog',\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule, MatDialogClose],\n templateUrl: './accept-dialog.component.html',\n styleUrl: './accept-dialog.component.scss',\n})\nexport class AcceptDialogComponent {\n constructor(\n public dialogRef: MatDialogRef<AcceptDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n ) {}\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","@if (data.title) {\n <h2 mat-dialog-title>{{ data.title }}</h2>\n}\n<div mat-dialog-content>\n {{ data.message }}\n</div>\n<div mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n <button mat-flat-button [mat-dialog-close]=\"true\" cdkFocusInitial i18n>Confirm</button>\n</div>\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, booleanAttribute, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-icon',\n imports: [CommonModule, MatIcon],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent {\n @HostBinding('class.rolatech-icon') hasClass = true;\n filled = input(false, { transform: booleanAttribute });\n el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.filled()) {\n this.el.nativeElement.setAttribute('filled', '');\n } else {\n this.el.nativeElement.removeAttribute('filled');\n }\n });\n }\n}\n","<mat-icon>\n <ng-content></ng-content>\n</mat-icon>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'rolatech-icon-button',\n imports: [CommonModule, IconComponent],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconButtonComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <!-- <ng-content select=\"rolatech-icon\"></ng-content> -->\n <rolatech-icon>\n <ng-content></ng-content>\n </rolatech-icon>\n</button>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-title',\n imports: [CommonModule],\n templateUrl: './title.component.html',\n styleUrl: './title.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TitleComponent {\n @HostBinding('class.rolatech-title') hasClass = true;\n title = input();\n subtitle = input();\n large = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex flex-row items-center\">\n @if (large()) {\n <a class=\"block text-3xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n } @else {\n <a class=\"block text-xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n }\n\n <a class=\"text-sm leading-3 text-[--rt-text-secondary]\"\n ><span>{{ subtitle() }}</span></a\n >\n</div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-container',\n imports: [CommonModule],\n templateUrl: './container.component.html',\n styleUrl: './container.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContainerComponent {\n @HostBinding('id') hasId = 'rolatech-container';\n @HostBinding('class.rolatech-container') hasClass = true;\n}\n","<div class=\"xl:max-w-[1024px] 2xl:max-w-[1280px] m-auto text-[--rt-text-primary] h-full\">\n <ng-content select=\"rolatech-toolbar\"></ng-content>\n <ng-content select=\"rolatech-filter\"></ng-content>\n <ng-content select=\"rolatech-tabs\"></ng-content>\n <ng-content select=\"rolatech-chip-bar\"></ng-content>\n <ng-content select=\"rolatech-list\"></ng-content>\n <ng-content select=\"rolatech-content\"></ng-content>\n <div class=\"container-content h-fit\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { EnvironmentProviders, InjectionToken, Provider, makeEnvironmentProviders } from '@angular/core';\n\nexport interface DrawerConfig {\n persistent: boolean;\n}\nexport interface AppTopbarConfig {\n persistent: boolean;\n}\nexport interface AppLayoutConfig {\n title: string;\n subtitle?: string;\n persistent?: boolean | undefined;\n topbar?: AppTopbarConfig;\n drawer?: DrawerConfig;\n guide?: boolean | undefined;\n}\n\nexport const APP_LAYOUT = new InjectionToken<AppLayoutConfig>('APP_LAYOUT');\n\nexport function provideAngularLayout(config?: AppLayoutConfig): EnvironmentProviders {\n const providers: (Provider | EnvironmentProviders)[] = [\n {\n provide: APP_LAYOUT,\n useValue: config,\n },\n ];\n return makeEnvironmentProviders(providers);\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-menu-icon',\n imports: [CommonModule],\n templateUrl: './menu-icon.component.html',\n styleUrl: './menu-icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuIconComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <div style=\"width: 100%; height: 100%; display: block; fill: currentcolor\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M21 6H3V5h18v1zm0 5H3v1h18v-1zm0 6H3v1h18v-1z\"></path>\n </svg>\n </div>\n</button>\n","import {\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { APP_LAYOUT } from '../../provider';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\n\n@Component({\n selector: 'rolatech-topbar',\n imports: [CommonModule, RouterLink, MatButtonModule, MenuIconComponent],\n templateUrl: './topbar.component.html',\n styleUrl: './topbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TopbarComponent implements OnInit {\n @HostBinding('id') hostId = 'rolatech-topbar';\n @HostBinding('class.rolatech-topbar') hasClass = true;\n persistent = inject(APP_LAYOUT).persistent;\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n link = input('/');\n appDrawer!: DrawerComponent;\n miniGuide!: MiniGuideComponent;\n\n ngOnInit(): void {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n }\n }\n\n onToggle() {\n if (this.appLayout.guide) {\n this.miniGuide.toggle();\n }\n this.appDrawer.toggle();\n }\n}\n","<div class=\"h-14 flex items-center\">\n <rolatech-menu-icon id=\"topbar-menu-button\" (click)=\"onToggle()\"></rolatech-menu-icon>\n <div class=\"cursor-pointer ml-1\" [routerLink]=\"link()\">\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\">\n <span class=\"text-[--rt-brand-color]\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <ng-content></ng-content>\n</div>\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { map } from 'rxjs';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { IconComponent } from '../icon/icon.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { Platform } from '@angular/cdk/platform';\n\nexport interface LINK {\n title: string;\n subtitle?: string;\n openinView?: boolean;\n icon?: string;\n link: string;\n children?: LINK[];\n button?: boolean;\n exact?: boolean;\n}\n@Component({\n selector: 'rolatech-drawer',\n imports: [CommonModule, RouterLink, RouterLinkActive, IconComponent, MenuIconComponent, MatButtonModule],\n templateUrl: './drawer.component.html',\n styleUrl: './drawer.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-drawer',\n class: 'rolatech-drawer',\n 'style.transition-duration': '200ms',\n ngSkipHydration: '',\n },\n})\nexport class DrawerComponent implements AfterContentInit, AfterContentChecked {\n private _enableAnimations = false;\n\n persistent: boolean | undefined = inject(APP_LAYOUT).persistent;\n links = input<LINK[]>();\n position = input('left');\n opened = input(true);\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n guideEl = viewChild<ElementRef>('guide');\n content = viewChild<ElementRef>('content');\n scrimEl = viewChild<ElementRef>('scrim');\n headerEl = viewChild<ElementRef>('header');\n isMobile = false;\n isPersistent = true;\n panelOpenState = false;\n private _opened = false;\n private _platform = inject(Platform);\n\n open() {\n this._opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n if (this.isMobile) {\n this.renderer.addClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n close() {\n this._opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n if (this.isMobile) {\n this.renderer.removeClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n toggle() {\n if (this._opened) {\n this.close();\n } else {\n this.open();\n }\n }\n init(isMobile: boolean) {\n this._opened = !isMobile;\n this.isMobile = isMobile;\n this.isPersistent = !isMobile;\n if (this._platform.isBrowser) {\n if (isMobile) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n this.renderer.removeAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n } else {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n this.renderer.setAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n }\n }\n }\n }\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'position', this.position());\n this.breakpointObserver\n .observe(['(max-width: 768px)'])\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res: any) => {\n this.init(res);\n },\n });\n }\n ngAfterContentChecked(): void {\n if (this._platform.isBrowser) {\n this._enableAnimations = true;\n }\n }\n}\n","<div id=\"scrim\" #scrim class=\"rolatech-drawer\" (click)=\"close()\"></div>\n<div id=\"contentContainer\" #content class=\"rolatech-drawer\">\n <div id=\"guide-wrapper\" class=\"rolatech-drawer\">\n <div id=\"guide-spacer\"></div>\n <div id=\"guide-content\" class=\"rolatech-drawer\">\n <div id=\"header\" #header class=\"flex pl-4 h-14 items-center\">\n <rolatech-menu-icon #menuButton (click)=\"this.toggle()\" onclick=\"this.blur()\"></rolatech-menu-icon>\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\" routerLink=\"/\">\n <span class=\"text-[--rt-brand-color]\" i18n>{{ appLayout.title }}</span>\n <span i18n>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div id=\"guide-inner-content\" class=\"rolatech-drawer\">\n <div class=\"block p-3\">\n @for (item of links(); track $index) {\n @if (item.children) {\n <div class=\"flex cursor-pointer overflow-hidden\">\n @if (item.icon) {\n <div class=\"h-11 flex items-center\">\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n </div>\n }\n <div class=\"w-full\">\n <div class=\"flex items-center h-11 mr-2\" (click)=\"panelOpenState = !panelOpenState\">\n <span class=\"ml-3\" i18n>{{ item.title }}</span>\n <div class=\"flex-1\"></div>\n <rolatech-icon class=\"indicator-collapsed\" [class.indicator-expanded]=\"panelOpenState === true\"\n >expand_more</rolatech-icon\n >\n </div>\n <div\n class=\"flex flex-col ml-4 overflow-visible content-collapsed\"\n [class.content-expanded]=\"panelOpenState === true\"\n >\n @for (child of item.children; track child) {\n {{ child.exact }}\n <a\n id=\"endpoint\"\n [routerLink]=\"child.link\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n class=\"p-2 rt-guide-entry\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <span class=\"text-sm\" i18n>{{ child.title }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n } @else {\n @if (item.openinView) {\n <a\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11\"\n [href]=\"item.link\"\n target=\"_blank\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm opacity-75 text-[--rt-text-secondary]\" i18n>{{ item.subtitle }}</span>\n </div>\n </div>\n <rolatech-icon class=\"scale-90 mr-3\">open_in_new</rolatech-icon>\n </div>\n </a>\n } @else {\n @if (item.button) {\n <a\n class=\"flex rolatech-drawer-button min-h-11 rounded-xl mb-2\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span i18n>{{ item.title }}</span>\n <span class=\"text-sm\" i18n>{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n } @else {\n <a\n id=\"endpoint\"\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11 rt-guide-entry\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n #routerLink=\"routerLinkActive\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\" [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span i18n>{{ item.title }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\" i18n>{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n }\n }\n }\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, OnInit, PLATFORM_ID, Renderer2, ViewEncapsulation, inject, input } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\nexport interface MiniGuide {\n title: string;\n icon: string;\n link: string;\n}\n\n@Component({\n selector: 'rolatech-mini-guide',\n imports: [CommonModule, IconComponent, RouterLink, RouterLinkActive],\n templateUrl: './mini-guide.component.html',\n styleUrl: './mini-guide.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-mini-guide',\n class: 'rolatech-mini-guide',\n },\n})\nexport class MiniGuideComponent implements OnInit {\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n items = input<MiniGuide[]>();\n title = input<boolean>(true);\n opened = false;\n disableToggle = false;\n readonly breakpoint$ = this.breakpointObserver.observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)']);\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.disableToggle = false;\n // this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n // this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.disableToggle = true;\n } else {\n this.disableToggle = false;\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n }\n open() {\n this.opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n close() {\n this.opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n }\n toggle() {\n if (this.disableToggle) {\n this.close();\n return;\n }\n if (this.opened) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","<div id=\"items\" class=\"w-16 mt-[6px]\" style=\"transition-duration: 200ms\">\n @for (item of items(); track $index) {\n <div>\n <a\n id=\"min-guide-endpoint\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"min-guide-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n class=\"flex flex-col justify-center items-center py-3 rt-guide-entry\"\n >\n <rolatech-icon [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n @if (title()) {\n <span class=\"text-xs mt-1 max-w-full truncate\">{{ item.title }}</span>\n }\n </a>\n </div>\n }\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n NgZone,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({\n selector: 'rolatech-page',\n imports: [CommonModule],\n templateUrl: './page.component.html',\n styleUrl: './page.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-page',\n class: 'rolatech-page rt-page',\n ngSkipHydration: '',\n },\n})\nexport class AppPageComponent implements OnInit, AfterContentInit {\n el = inject(ElementRef<HTMLElement>);\n constructor() {}\n\n ngOnInit(): void {}\n ngAfterContentInit() {}\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChild,\n inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TopbarComponent } from '../topbar/topbar.component';\nimport { DrawerComponent, LINK } from '../drawer/drawer.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { distinctUntilChanged, map, Subject } from 'rxjs';\nimport { APP_LAYOUT } from '../../provider';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { AppPageComponent } from '../page/page.component';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Platform } from '@angular/cdk/platform';\nconst EXTRA_SMALL_WIDTH_BREAKPOINT = 768;\n\n@Component({\n selector: 'rolatech-layout',\n imports: [CommonModule, MatListModule, MatButtonModule, MatIconModule, MatSidenavModule],\n templateUrl: './layout.component.html',\n styleUrl: './layout.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-layout',\n class: 'rolatech-layout',\n ngSkipHydration: '',\n },\n})\nexport class LayoutComponent implements OnInit, AfterContentInit {\n appLayout = inject(APP_LAYOUT);\n viewportRuler = inject(ViewportRuler);\n el = inject(ElementRef<HTMLElement>);\n renderer = inject(Renderer2);\n _platform = inject(Platform);\n\n breakpointObserver = inject(BreakpointObserver);\n topbar = contentChild.required(TopbarComponent);\n drawer = contentChild.required(DrawerComponent);\n page = contentChild.required(AppPageComponent);\n guide = contentChild.required(MiniGuideComponent);\n readonly breakpoint$ = this.breakpointObserver\n .observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)'])\n .pipe(distinctUntilChanged());\n constructor() {}\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this._platform.isBrowser) {\n this.init();\n }\n }\n\n ngOnInit() {}\n open() {}\n close() {}\n toggle() {}\n init() {\n this.renderer.removeAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this.topbar()) {\n this.topbar().appDrawer = this.drawer();\n }\n if (this.appLayout.guide) {\n this.topbar().miniGuide = this.guide();\n }\n if (this.appLayout.guide) {\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n\n this.breakpointObserver\n .observe(`(max-width: ${EXTRA_SMALL_WIDTH_BREAKPOINT}px)`)\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res) => {\n if (res) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n } else {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n }\n },\n });\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n }\n }\n}\n","<ng-content select=\"rolatech-topbar\"></ng-content>\n<ng-content select=\"rolatech-drawer\"></ng-content>\n<ng-content select=\"rolatech-mini-guide\"></ng-content>\n<ng-content select=\"rolatech-page\"></ng-content>\n<ng-content select=\"rolatech-footer\"></ng-content>\n","import { Component, HostBinding, ViewEncapsulation, computed, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-footer',\n imports: [CommonModule],\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n @HostBinding('id') hostId = 'rolatech-footer';\n @HostBinding('class.rolatech-footer') hasClass = true;\n config = inject(APP_CONFIG);\n title = input<string>();\n copyright = input<string>('');\n fTitle = computed(() => this.title() || this.config.name);\n fCopyright = computed(() => this.copyright() || this.config.name);\n}\n","<div class=\"bg-[--rt-base-background] flex flex-col justify-between px-5 md:px-16 py-6\">\n <div class=\"flex flex-col md:flex-row md:gap-10 gap-3 py-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex justify-between items-end\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ fTitle() }}</a>\n </div>\n <span class=\"text-sm\">©{{ fCopyright() }}</span>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-console-layout',\n imports: [CommonModule],\n templateUrl: './console-layout.component.html',\n styleUrl: './console-layout.component.scss',\n})\nexport class ConsoleLayoutComponent {}\n","<p>console-layout works!</p>\n","import { Component, PLATFORM_ID, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule, MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-topbar-avatar-menu',\n imports: [CommonModule, MatSidenavModule, MatListModule, MatIconModule, MatMenuModule],\n templateUrl: './topbar-avatar-menu.component.html',\n styleUrl: './topbar-avatar-menu.component.scss',\n})\nexport class TopbarAvatarMenuComponent {\n environment = inject(APP_CONFIG);\n platformId = inject(PLATFORM_ID);\n menu = input.required<MatMenuPanel<any>>();\n avatar = input<string>();\n openMenu() {\n this.menu().focusFirstItem('mouse');\n }\n}\n","<div class=\"flex\">\n <a\n class=\"flex justify-center items-center rounded-full overflow-hidden cursor-pointer hover:outline-[--rt-raised-background] outline outline-transparent outline-4\"\n [matMenuTriggerFor]=\"menu()\"\n (click)=\"openMenu()\"\n >\n <div class=\"bg-[--rt-brand-color] w-9 h-9\">\n @if (avatar()) {\n <img class=\"w-9 h-9 object-cover\" [src]=\"avatar()\" alt />\n }\n </div>\n </a>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rolatech-folder',\n templateUrl: './folder.component.html',\n styleUrls: ['./folder.component.scss'],\n})\nexport class FolderComponent {}\n","<div></div>\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-media-preview-dialog',\n templateUrl: './media-preview-dialog.component.html',\n styleUrls: ['./media-preview-dialog.component.scss'],\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n})\nexport class MediaPreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<MediaPreviewDialogComponent>,\n ) {\n this.data.title = 'Preview';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 overflow-hidden overflow-y-auto\">\n <div class=\"p-3 flex justify-center items-center\">\n <img class=\"object-cover\" [src]=\"data.media[selected].url\" alt />\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center px-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { MaterialModule } from './material.module';\n\n@NgModule({\n imports: [MaterialModule],\n exports: [MaterialModule],\n})\nexport class AngularComponentsModule {}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingService } from '@rolatech/angular-services';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'rolatech-spinner',\n imports: [CommonModule],\n templateUrl: './spinner.component.html',\n styleUrl: './spinner.component.scss',\n})\nexport class SpinnerComponent implements AfterViewInit, OnDestroy {\n title = input<string>();\n isLoading!: boolean;\n loadingSubscription!: Subscription;\n loadingService = inject(LoadingService);\n _elmRef = inject(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n\n ngAfterViewInit(): void {\n this._elmRef.nativeElement.style.display = 'none';\n this.loadingSubscription = this.loadingService.loading$.pipe().subscribe((status: boolean) => {\n this._elmRef.nativeElement.style.display = status ? 'block' : 'none';\n this._changeDetectorRef.detectChanges();\n this.isLoading = status;\n });\n }\n ngOnDestroy(): void {\n if (this.loadingSubscription) this.loadingSubscription.unsubscribe();\n }\n}\n","<div class=\"flex justify-center\">\n <div class=\"lds-spinner\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>\n","import { Component, inject, input, output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AngularCommonModule, Media } from '@rolatech/angular-common';\nimport { MediaPreviewDialogComponent } from '../media-preview-dialog/media-preview-dialog.component';\nimport { AngularComponentsModule } from '../angular-components.module';\nimport { SpinnerComponent } from '../spinner/spinner.component';\n\n@Component({\n imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent],\n selector: 'rolatech-media-upload',\n templateUrl: './media-upload.component.html',\n styleUrls: ['./media-upload.component.scss'],\n})\nexport class MediaUploadComponent {\n title = input<string>('上传图片');\n subtitle = input<string>('文件大小');\n description = input<string>('不能超过5MB');\n isUploading = input<boolean>(false);\n\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n media: Media[] = [];\n dialog = inject(MatDialog);\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onMediaClick(i: any) {\n const dialogRef = this.dialog.open(MediaPreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {});\n }\n onUpload(event: any) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.media as any).push({\n url: reader.result,\n alt: 'upload image',\n });\n const formData = new FormData();\n formData.append('file', file);\n this.upload.emit(formData);\n };\n }\n }\n}\n","<div class=\"bg-[--rt-raised-background] rounded p-6 min-h-[320px] flex items-center justify-center\">\n @if (isUploading()) {\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"p-3\">\n <mat-icon>upload</mat-icon>\n </div>\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"font-lg font-bold py-3\">{{ title() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ subtitle() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ description() }}</div>\n </div>\n <div class=\"py-2\">\n <input style=\"display: none\" type=\"file\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n </div>\n } @else {\n <rolatech-spinner title=\"Uploading\"></rolatech-spinner>\n }\n</div>\n<div class=\"flex flex-row\">\n @for (media of media; track $index) {\n <div (click)=\"onMediaClick($index)\" class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\">\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"media.url\" alt />\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-bucket-create',\n templateUrl: './storage-bucket-create.component.html',\n styleUrls: ['./storage-bucket-create.component.scss'],\n imports: [MatFormFieldModule, MatInputModule, FormsModule],\n})\nexport class StorageBucketCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit(this.name());\n }\n}\n","<div>\n <mat-form-field>\n <mat-label i18n>Name</mat-label>\n <input matInput placeholder=\"Enter name\" [(ngModel)]=\"name\" i18n-placeholder />\n </mat-form-field>\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-file-upload',\n templateUrl: './storage-file-upload.component.html',\n styleUrls: ['./storage-file-upload.component.scss'],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatButtonModule, MatIconModule],\n})\nexport class StorageFileUploadComponent implements OnInit, DoCheck {\n title = input<string>();\n output = output<any>();\n\n fileData: any;\n progressInfos: any = [];\n isFinished = false;\n isUploaded = false;\n file: any;\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({\n title: this.title,\n file: this.file,\n });\n }\n selectFiles(event: any) {\n this.isFinished = false;\n this.file = event.target.files[0];\n event.target.value = '';\n }\n removeFile() {\n this.file = null;\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>标题</mat-label>\n <input matInput placeholder=\"输入标题\" [(ngModel)]=\"title\" />\n </mat-form-field>\n\n <div class=\"mt-2\">\n <input #fileInput class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-raised-button (click)=\"fileInput.click()\">选择文件</button>\n </div>\n @if (file) {\n <div class=\"p-2 flex justify-between items-center\">\n <div>{{ file.name }}</div>\n <button matSuffix mat-icon-button (click)=\"removeFile()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-folder-create',\n templateUrl: './storage-folder-create.component.html',\n styleUrls: ['./storage-folder-create.component.scss'],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatCheckboxModule],\n})\nexport class StorageFolderCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n isPublic = input<boolean>(true);\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({ name: this.name(), isPublic: this.isPublic() });\n }\n}\n","<div>\n <mat-form-field>\n <mat-label i18n>Name</mat-label>\n <input matInput placeholder=\"Name\" [(ngModel)]=\"name\" i18n />\n </mat-form-field>\n <div class=\"flex flex-col\">\n <mat-checkbox [(ngModel)]=\"isPublic\" i18n>Public resources</mat-checkbox>\n <span class=\"text-sm text-[--rt-text-secondary] ml-2 mt-1\" i18n>文件夹为图片内容时, 请取消勾选此项</span>\n </div>\n</div>\n","import { Component, ViewEncapsulation, computed, effect, inject, input, model } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { APP_CONFIG } from '@rolatech/angular-common';\nexport interface MenuUser {\n name: string;\n avatar: string;\n email: string;\n username: string;\n}\n@Component({\n imports: [MatMenuModule, MatIconModule],\n selector: 'rolatech-menu-user',\n templateUrl: './menu-user.component.html',\n styleUrls: ['./menu-user.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuUserComponent {\n environment = inject(APP_CONFIG);\n myaccountUrl = this.environment.myaccountUrl;\n user = input<MenuUser | any>();\n title = input<string>();\n subtitle = input<string>();\n\n avatar = computed(() => {\n return this.user().avatar;\n });\n constructor() {\n // effect(() => {\n // this.data = this.user();\n // });\n }\n}\n","<div class=\"min-w-[256px]\">\n @if (user()) {\n <div class=\"px-6 py-3\">\n <div class=\"flex flex-row items-center\">\n <div class=\"mr-3 w-14 h-14 rounded-full bg-[--rt-brand-color]\">\n @if (user().avatar) {\n <img [src]=\"user().avatar\" class=\"w-14 h-14 object-cover rounded-full\" alt />\n }\n </div>\n <div class=\"flex flex-col\">\n <div>\n <div class=\"text-lg font-bold\">{{ title() ? title() : user().name }}</div>\n <div class=\"formated-string\">\n @if (subtitle()) {\n <span>@{{ subtitle() }}</span>\n } @else {\n <span>@{{ user().username }}</span>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"flex justify-between items-center\">\n <a mat-menu-item [href]=\"myaccountUrl\" target=\"_blank\" class=\"px-6\">\n <span class=\"flex justify-between items-center\">\n <span class=\"pl-2\" i18n> Manage account </span>\n <span class=\"flex\"> <mat-icon>open_in_new</mat-icon></span>\n </span>\n </a>\n </div>\n</div>\n","import { Component, HostListener, OnDestroy, effect, inject, input, model } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-wechat-connect-dialog',\n templateUrl: './wechat-connect-dialog.component.html',\n styleUrls: ['./wechat-connect-dialog.component.scss'],\n})\nexport class WechatConnectDialogComponent {\n dialogRef = inject(MatDialogRef);\n environment = inject(APP_CONFIG);\n appId = model();\n redirectUri = model('');\n state = model();\n urlSafe!: SafeResourceUrl;\n sanitizer = inject(DomSanitizer);\n baseUrl = 'https://open.weixin.qq.com/connect/qrconnect';\n loaded = false;\n\n constructor() {\n effect(() => {\n // const encodedURI = encodeURI(this.redirectUri());\n const encodedURI = encodeURI('https://accounts.pinxiaoke.cn');\n const src = `${this.baseUrl}?appid=${this.appId()}&response_type=code&self_redirect=true&scope=snsapi_login&stylelite=1&redirect_uri=${encodedURI}&state=${this.state()}#wechat_redirect`;\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(src);\n this.loaded = true;\n });\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n @HostListener('window:message', ['$event'])\n onLogin(event: any): void {\n if (event.origin === this.environment.accountsUrl && event.data.code === 200) {\n this.dialogRef.close();\n }\n }\n}\n","<div class=\"flex flex-col p-3 items-center\">\n <div class=\"w-[190px] h-[190px]\">\n @if (loaded) {\n <iframe [src]=\"urlSafe\" class=\"w-full h-full inline\" scrolling=\"no\" frameBorder=\"no\"></iframe>\n }\n </div>\n</div>\n","import { filter } from 'rxjs';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\nimport { HttpEventType, HttpResponse } from '@angular/common/http';\nimport { remove } from 'lodash';\nimport { Media } from '@rolatech/angular-common';\nimport { MediaService } from '@rolatech/angular-services';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { NgClass } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nexport interface PreMedia {\n url: string;\n alt: string;\n isUploading: boolean;\n isUploaded: boolean;\n file: File;\n}\n@Component({\n selector: 'rolatech-media-upload-dialog',\n templateUrl: './media-upload-dialog.component.html',\n styleUrls: ['./media-upload-dialog.component.scss'],\n imports: [MatDialogContent, MatButtonModule, NgClass, MatProgressSpinnerModule, MatDialogActions, MatDialogClose],\n})\nexport class MediaUploadDialogComponent implements OnInit {\n fileData: any;\n progressInfos: any = [];\n media: Media[] = [];\n preMedia: PreMedia[] = [];\n isFinished = false;\n\n isUploaded = false;\n\n constructor(\n public dialogRef: MatDialogRef<MediaUploadDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private mediaService: MediaService,\n ) {}\n\n ngOnInit(): void {}\n\n selectFiles(event: any) {\n this.isFinished = false;\n for (const file of event.target.files) {\n this.addImage(file);\n }\n event.target.value = '';\n }\n addImage(file: any) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.preMedia as any).push({\n url: reader.result,\n alt: 'upload image',\n isUploading: false,\n isUploaded: false,\n file: file,\n });\n };\n reader.onerror = (error) => {};\n }\n removeImage(index: any) {\n this.preMedia.splice(index, 1);\n }\n uploadFiles() {\n for (let i = 0; i < this.preMedia.length; i++) {\n if (!this.preMedia[i].isUploaded) {\n this.upload(i, this.preMedia[i].file);\n }\n }\n }\n upload(idx: any, file: any) {\n this.progressInfos[idx] = { value: 0, fileName: file.name };\n const formData = new FormData();\n formData.append('file', file);\n this.preMedia[idx].isUploading = true;\n formData.append('groupId', this.data.groupId);\n\n this.mediaService.uploadAndSave(formData).subscribe({\n next: (res: any) => {\n this.media.push(res.data);\n this.preMedia[idx].isUploading = false;\n this.preMedia[idx].isUploaded = true;\n this.progressInfos[idx].value = 100;\n\n const tmp = this.progressInfos.filter((item: any) => item.value !== 100);\n if (tmp.length <= 0) {\n this.isFinished = true;\n }\n },\n error: (error: any) => {\n this.progressInfos[idx].value = 0;\n },\n });\n }\n}\n","<mat-dialog-content>\n <div class=\"border-dashed border-2 border-[--rt-border-color] py-12 flex flex-col justify-center items-center\">\n <input #fileInput multiple class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-button (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n <div class=\"mt-4\">\n <h2 class=\"\" i18n>Preview</h2>\n <div>\n <ul id=\"gallery\" class=\"flex flex-1 flex-wrap -m-1\">\n @for (item of preMedia; track item.url; let i = $index) {\n <li class=\"block p-1 w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/6 xl:w-1/8 h-24\">\n <article\n tabindex=\"0\"\n [ngClass]=\"item.isUploading ? 'isUploading' : ''\"\n class=\"group hasImage w-full h-full rounded-md focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer relative text-transparent hover:text-white shadow-sm\"\n >\n <img [src]=\"item.url\" class=\"img-preview w-full h-full sticky object-cover rounded-md bg-fixed\" alt />\n <section class=\"flex flex-col rounded-md text-xs break-words w-full h-full z-20 absolute top-0 py-2 px-3\">\n @if (item.isUploading) {\n <div class=\"flex justify-center items-center w-full h-full\">\n <mat-spinner color=\"white\" diameter=\"28\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex\">\n <button\n (click)=\"removeImage(i)\"\n class=\"delete ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 rounded-md\"\n >\n <svg\n class=\"pointer-events-none fill-current w-4 h-4 ml-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n class=\"pointer-events-none\"\n d=\"M3 6l3 18h12l3-18h-18zm19-4v2h-20v-2h5.711c.9 0 1.631-1.099 1.631-2h5.316c0 .901.73 2 1.631 2h5.711z\"\n />\n </svg>\n </button>\n </div>\n }\n </section>\n </article>\n </li>\n }\n </ul>\n </div>\n @if (preMedia.length <= 0) {\n <div class=\"flex flex-1 flex-wrap\">\n <div class=\"h-full w-full text-center flex flex-col justify-center items-center py-6\">\n <span class=\"text-small text-[--rt-text-secondary]\">No files selected</span>\n </div>\n </div>\n }\n </div>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n @if (preMedia.length <= 0) {\n <button mat-button i18n>Awaiting</button>\n }\n @if (!isFinished && preMedia.length > 0) {\n <button mat-button (click)=\"uploadFiles()\" i18n>Upload</button>\n }\n @if (isFinished) {\n <button mat-button [mat-dialog-close]=\"media\" i18n>Donw</button>\n }\n</mat-dialog-actions>\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\nimport { Media } from '@rolatech/angular-common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'rolatech-media-list',\n templateUrl: './media-list.component.html',\n styleUrls: ['./media-list.component.scss'],\n imports: [MatProgressBarModule],\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-media-list',\n class: 'rolatech-media-list',\n },\n})\nexport class MediaListComponent {\n isUploading = input<boolean>();\n media = input<Media[]>();\n showAdd = input<boolean>(true);\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onUpload(event: any) {\n this.upload.emit(event);\n }\n}\n","<div class=\"flex flex-row flex-wrap box-border items-center\">\n <div class=\"flex flex-row flex-wrap box-border items-center w-full\">\n <ng-content></ng-content>\n @if (showAdd()) {\n <div class=\"upload-button\">\n @if (!isUploading()) {\n <div\n class=\"flex flex-col items-center justify-center border border-[--rt-border-color] border-dashed rounded-md aspect-video cursor-pointer\"\n (click)=\"fileInput.click()\"\n >\n <input\n style=\"display: none\"\n type=\"file\"\n accept=\"image/*, video/*\"\n (change)=\"onUpload($event)\"\n #fileInput\n multiple\n />\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"48px\" viewBox=\"0 -960 960 960\" width=\"48px\" fill=\"#5f6368\">\n <path d=\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\" />\n </svg>\n </div>\n } @else {\n <div class=\"w-full py-1\">\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </div>\n }\n </div>\n }\n </div>\n</div>\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport { Media } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-media-list-item',\n templateUrl: './media-list-item.component.html',\n styleUrls: ['./media-list-item.component.scss'],\n imports: [MatButtonModule, MatMenuModule, MatIconModule, MatProgressBar],\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-media-list-item',\n class: 'rolatech-media-list-item',\n },\n})\nexport class MediaListItemComponent {\n media = input.required<Media>();\n uploadProgress = input<number>(0);\n uploading = input<boolean | undefined>(false);\n\n mediaItemClick = output<{\n selected: number;\n media: Media;\n }>();\n deleteMedia = output<Media>();\n\n onMediaItemClick(event: any) {\n this.mediaItemClick.emit(event);\n }\n onDeleteMedia(media: Media) {\n this.deleteMedia.emit(media);\n }\n}\n","<div\n class=\"group media-list-item rounded-md relative hasImage focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer text-transparent hover:text-white shadow-sm\"\n>\n <div class=\"absolute z-30 right-0 p-1 group-hover:bg-white\">\n <div class=\"flex-1\"></div>\n <div class=\"w-full\">\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"beforeMenu\"\n class=\"ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 group-hover:bg-white\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item (click)=\"onDeleteMedia(media())\">\n <span i18n>Delete</span>\n </button>\n </mat-menu>\n </div>\n </div>\n <div id=\"thumbnail\" class=\"thumbnail\">\n <img class=\"tile-media\" (click)=\"onMediaItemClick(media)\" [src]=\"media().url\" [alt]=\"media().alt\" />\n </div>\n <section\n (click)=\"onMediaItemClick(media())\"\n class=\"flex flex-col text-xs break-words w-full h-full z-20 absolute top-0\"\n ></section>\n</div>\n<div class=\"w-full py-1\">\n @if (uploading()) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n }\n</div>\n","import { Router, RouterEvent, NavigationEnd, Event } from '@angular/router';\nimport { Component, inject, OnInit } from '@angular/core';\nimport { filter } from 'rxjs';\n\n@Component({\n selector: 'rolatech-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss'],\n})\nexport class NotFoundComponent implements OnInit {\n url!: string;\n router = inject(Router)\n constructor() {\n this.router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n\n ngOnInit() {\n this.router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n}\n","<div class=\"not-found-content\">\n <p>\n <b>404.</b>\n <ins>That’s an error.</ins>\n </p>\n <p>\n The requested URL <code>{{ url }}</code> not found on this server.\n </p>\n <a href=\"/\">return home</a>\n</div>\n","import { Component, inject, Inject, OnInit } from '@angular/core';\nimport {\n MatDialogRef,\n MAT_DIALOG_DATA,\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatDialogClose,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\n\nexport interface DialogData {\n title: string;\n message: string;\n}\n\n@Component({\n selector: 'rolatech-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule, MatDialogClose],\n})\nexport class ConfirmationDialogComponent {\n data: DialogData = inject(MAT_DIALOG_DATA);\n dialogRef!: MatDialogRef<ConfirmationDialogComponent>;\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","@if (data.title) {\n <h2 mat-dialog-title>{{ data.title }}</h2>\n}\n<div mat-dialog-content>\n {{ data.message }}\n</div>\n<div mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial i18n>Ok</button>\n</div>\n","import { Component, DoCheck, OnInit, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\ndeclare global {\n interface Window {\n qq: any;\n TMap: any;\n }\n}\n\n@Component({\n selector: 'rolatech-location-selector',\n imports: [MatFormFieldModule, MatSelectModule, FormsModule, MatOptionModule, MatInputModule, MatIconModule, MatButtonModule],\n templateUrl: './location-selector.component.html',\n styleUrl: './location-selector.component.scss',\n})\nexport class LocationSelectorComponent implements OnInit, DoCheck {\n map: any;\n markers: any;\n lists: any;\n infoWindowList = Array(10);\n selectedLocation: any;\n cities: string[] = ['北京', '上海'];\n region = '北京';\n output = output<any>();\n\n ngOnInit(): void {\n this.init();\n }\n ngDoCheck(): void {\n this.output.emit(this.selectedLocation);\n }\n init() {\n const map = new window.TMap.Map(document.getElementById('map-container'), {\n // 地图的中心地理坐标。\n center: new window.TMap.LatLng(40.0402718, 116.2735831),\n resizeEnable: true,\n zoom: 14,\n });\n const markers = new window.TMap.MultiMarker({\n map: map,\n geometries: [],\n });\n this.map = map;\n this.markers = markers;\n }\n onSearchChange(event: any) {\n const value = event.target.value;\n const suggest = new window.TMap.service.Suggestion({\n pageSize: 15, // 返回结果每页条目数\n region: this.region, // 限制城市范围\n regionFix: true, // 搜索无结果时是否固定在当前城市\n });\n if (value) {\n suggest\n .getSuggestions({ keyword: value, location: this.map.getCenter() })\n .then((result: any) => {\n this.lists = result.data;\n })\n .catch((error: any) => {});\n }\n }\n setLocation(index: any) {\n this.infoWindowList.forEach((infoWindow) => {\n infoWindow.close();\n });\n this.infoWindowList.length = 0;\n const item = this.lists[index];\n this.selectedLocation = item;\n this.lists = [];\n this.markers.setGeometries([]);\n this.markers.updateGeometries([\n {\n id: '0', // 点标注数据数组\n position: item.location,\n },\n ]);\n\n const infoWindow = new window.TMap.InfoWindow({\n map: this.map,\n position: item.location,\n content: `<h3>${item.title}</h3><p>地址:${item.address}</p>`,\n offset: { x: 0, y: -50 },\n });\n this.infoWindowList.push(infoWindow);\n this.map.setCenter(item.location);\n this.markers.on('click', (e: any) => {\n this.infoWindowList[Number(e.geometry.id)].open();\n });\n }\n selectionChange(event: any) {}\n}\n","<div class=\"h-full\">\n <div class=\"relative h-full\">\n <div id=\"map-container\" class=\"h-full\"></div>\n <div class=\"absolute bg-white z-[9999] top-[30px] left-[30px]\">\n <div class=\"flex gap-3 px-3 pt-3\">\n <mat-form-field appearance=\"fill\" [style.width.px]=\"180\">\n <mat-label>城市</mat-label>\n <mat-select #select=\"matSelect\" [(ngModel)]=\"region\" (selectionChange)=\"selectionChange($event)\">\n @for (city of cities; track city) {\n <mat-option [value]=\"city\">\n {{ city }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <input matInput placeholder=\"输入关键字搜索\" (input)=\"onSearchChange($event)\" />\n </mat-form-field>\n </div>\n <div class=\"max-h-[320px] overflow-scroll pb-3 bg-white\">\n @for (item of lists; track item; let index = $index) {\n <div (click)=\"setLocation(index)\" class=\"cursor-pointer\">\n <div class=\"p-3 flex items-center gap-2 hover:bg-[--rt-raised-background]\">\n <mat-icon fontIcon=\"location_on\"></mat-icon>\n <div class=\"text-sm font-thin\">{{ item.title }}</div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-filter',\n imports: [CommonModule],\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n})\nexport class FilterComponent {}\n","<ng-content></ng-content>\n","import { Component, DoCheck, model, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-confirmation',\n imports: [CommonModule],\n templateUrl: './confirmation.component.html',\n styleUrl: './confirmation.component.scss',\n})\nexport class ConfirmationComponent {\n message = model();\n}\n","<div>\n {{ message() }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, HostListener, inject, Input, signal, ViewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'rolatech-search-icon',\n imports: [MatButtonModule, MatIcon, CommonModule],\n templateUrl: './search-icon.html',\n styleUrl: './search-icon.scss',\n})\nexport class SearchIcon {\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n\n @Input() placeholder = 'Search titles, people, genres';\n /** query param name to write, e.g. \"q\" */\n @Input() param = 'q';\n\n open = signal(false);\n model: { q?: string } = {};\n\n @ViewChild('qInput') qInput?: ElementRef<HTMLInputElement>;\n\n toggle() {\n this.open.update(v => !v);\n if (this.open()) queueMicrotask(() => this.qInput?.nativeElement?.focus());\n }\n close() { this.open.set(false); }\n\n clear() {\n this.model.q = '';\n queueMicrotask(() => this.qInput?.nativeElement?.focus());\n }\n\n onInput(ev: Event) {\n this.model.q = (ev.target as HTMLInputElement).value;\n }\n\n submit() {\n const val = (this.model.q ?? '').trim();\n const queryParams = val ? { [this.param]: val, page: 1 } : { [this.param]: null, page: 1 };\n this.router.navigate([], { queryParams, queryParamsHandling: 'merge' });\n this.close();\n }\n\n @HostListener('document:keydown.escape')\n onDocEsc() { if (this.open()) this.close(); }\n}\n","<div\n class=\"absolute right-0 top-1/2 -translate-y-1/2 z-50 flex items-center gap-2 h-9 px-2 rounded-md border border-transparent bg-transparent shadow-none transition-all duration-300 ease-out\"\n [ngClass]=\"{\n 'w-9': !open(),\n 'w-[min(92vw,520px)]': open(),\n 'bg-black/80': open(),\n 'border-white/50': open(),\n 'shadow-lg': open()\n }\"\n (keydown.escape)=\"close()\"\n>\n <!-- leading icon -->\n <!-- <svg class=\"w-5 h-5 text-white/90 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21 21l-4.35-4.35m1.1-5.4a7.5 7.5 0 11-15 0 7.5 7.5 0 0115 0z\" />\n </svg> -->\n <mat-icon>search</mat-icon>\n\n <!-- input -->\n <input\n #qInput\n class=\"border-0 outline-none bg-transparent text-white text-sm transition-all duration-300 ease-out\"\n [ngClass]=\"{\n 'w-0 opacity-0': !open(),\n 'w-full opacity-100': open()\n }\"\n [placeholder]=\"placeholder\"\n [value]=\"model.q ?? ''\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"submit()\"\n />\n\n <!-- clear -->\n @if (open() && (model.q?.length ?? 0) > 0) {\n <button\n type=\"button\"\n class=\"min-w-0 w-8 h-8 grid place-items-center rounded-full hover:bg-white/10\"\n (click)=\"clear()\"\n aria-label=\"Clear\"\n >\n <!-- <svg class=\"w-4 h-4 text-white/80\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg> -->\n <mat-icon>search</mat-icon>\n </button>\n }\n</div>\n","import { Component, effect, ElementRef, model, output, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'rolatech-search-bar',\n imports: [MatButtonModule, MatIcon, MatFormFieldModule, MatInputModule, FormsModule],\n templateUrl: './search-bar.html',\n styleUrl: './search-bar.scss',\n})\nexport class SearchBar {\n show = model<boolean>(false)\n search = output<string>()\n close = output()\n isComposing = false;\n qInput = viewChild.required<ElementRef<HTMLInputElement>>('qInput')\n text = ''\n\n constructor() {\n effect(() => {\n if (this.show()) {\n queueMicrotask(() => this.qInput().nativeElement.focus());\n }\n\n });\n }\n onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey && !this.isComposing) {\n e.preventDefault();\n this.onSearch();\n }\n }\n onClose() {\n this.text = ''\n queueMicrotask(() => this.qInput().nativeElement.focus());\n this.close.emit()\n }\n onSearch() {\n this.search.emit(this.text)\n }\n onCompositionStart() {\n this.isComposing = true;\n }\n\n onCompositionEnd() {\n this.isComposing = false;\n }\n}\n","@if (show()) {\n<div class=\"p-2 flex flex-row items-center justify-between\" animate.enter=\"expanded\">\n <mat-form-field appearance=\"fill\" class=\"w-full\" subscriptSizing=\"dynamic\">\n <mat-icon matPrefix>search</mat-icon>\n <input\n #qInput\n matInput\n placeholder=\"Search properties\"\n [(ngModel)]=\"text\"\n (keydown)=\"onKeydown($event)\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n />\n @if (qInput.value.length) {\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClose()\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n</div>\n}\n","import { MatDialog } from '@angular/material/dialog';\nimport { DestroyRef, inject, PLATFORM_ID } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DialogService, NavigationService, SnackBarService, TitleService } from '@rolatech/angular-services';\nimport { isPlatformBrowser } from '@angular/common';\n\nexport class BaseComponent {\n platformId = inject(PLATFORM_ID);\n route = inject(ActivatedRoute);\n router = inject(Router);\n id = this.route.snapshot.params['id'];\n dialogService = inject(DialogService);\n dialog = inject(MatDialog);\n snackBarService = inject(SnackBarService);\n titleService = inject(TitleService);\n navigation = inject(NavigationService);\n isBrowser = isPlatformBrowser(this.platformId);\n destroyRef = inject(DestroyRef);\n}\n","import { Component, Directive, Input, WritableSignal, signal } from '@angular/core';\nimport { BaseComponent } from './base.component';\n\n@Directive()\nexport abstract class Loading extends BaseComponent {\n private readonly loadingSignal = signal(false);\n\n @Input()\n set loading(value: boolean) {\n this.loadingSignal.set(!!value);\n }\n\n get loading(): WritableSignal<boolean> {\n return this.loadingSignal;\n }\n}\n","import { Component, OnInit, computed, effect, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { RouterModule } from '@angular/router';\nimport { CdkTableDataSourceInput } from '@angular/cdk/table';\nimport { map } from 'lodash';\nexport interface Column {\n ref: string;\n name: string;\n}\nexport interface TableData<T> {\n columns: Column[];\n data: CdkTableDataSourceInput<T>;\n}\n\n@Component({\n selector: 'rolatech-table',\n imports: [CommonModule, MatTableModule, RouterModule],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n})\nexport class TableComponent implements OnInit {\n dataSource = input.required<TableData<any>>();\n displayedColumns: string[] = [];\n ngOnInit(): void {\n this.displayedColumns = map(this.dataSource().columns, 'ref');\n }\n}\n","<table mat-table [dataSource]=\"dataSource().data\">\n @for (column of dataSource().columns; track $index) {\n <ng-container [matColumnDef]=\"column.ref\" sticky>\n <th mat-header-cell *matHeaderCellDef>{{ column.name }}</th>\n <td mat-cell *matCellDef=\"let item\">{{ item[column.ref] }}</td>\n </ng-container>\n }\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n</table>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-paginator',\n imports: [CommonModule, MatButtonModule, MatIconModule],\n templateUrl: './paginator.component.html',\n styleUrl: './paginator.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PaginatorComponent {\n prevClick() {}\n nextClick() {}\n}\n","<div class=\"flex h-14 items-center\">\n <button mat-icon-button (click)=\"prevClick()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div></div>\n <button mat-icon-button (click)=\"nextClick()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-media-preview',\n imports: [CommonModule],\n templateUrl: './media-preview.component.html',\n styleUrl: './media-preview.component.scss',\n})\nexport class MediaPreviewComponent {}\n","<p>media-preview works!</p>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport { MatDivider } from '@angular/material/divider';\n\n@Component({\n selector: 'rolatech-toolbar',\n imports: [CommonModule, RouterLink, IconButtonComponent, BackButtonDirective, MatDivider],\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ToolbarComponent {\n @HostBinding('id') hasId = 'rolatech-toolbar';\n @HostBinding('class.rolatech-toolbar') hasClass = true;\n title = input();\n subtitle = input();\n back = input(false, { transform: booleanAttribute });\n link = input('');\n large = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex justify-between items-center\" [ngClass]=\"subtitle() ? 'h-16' : 'h-14'\">\n <ng-container>\n @if (back()) {\n <rolatech-icon-button rolatechBackButton class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n @if (link()) {\n <rolatech-icon-button [routerLink]=\"link()\" class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n </ng-container>\n @if (title()) {\n @if (large()) {\n <span class=\"text-2xl font-bold\" i18n>{{ title() }}</span>\n } @else {\n <span class=\"text-xl font-bold\" i18n>{{ title() }}</span>\n }\n }\n <div class=\"flex-1\"></div>\n <div class=\"flex justify-center items-center gap-3\">\n <ng-content></ng-content>\n </div>\n</div>\n@if (subtitle()) {\n <div class=\"-mt-4 mb-2 leading-none\" [ngClass]=\"back() || link() ? 'ml-[40px]' : ''\">\n <span class=\"text-sm text-[--rt-text-secondary]\" i18n>{{ subtitle() }}</span>\n </div>\n}\n@if (divider()) {\n <mat-divider></mat-divider>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Renderer2,\n ViewEncapsulation,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-thumbnail',\n imports: [CommonModule, ImageComponent],\n templateUrl: './thumbnail.component.html',\n styleUrl: './thumbnail.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ThumbnailComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n @HostBinding('style.--rt-thumbnail-padding-top') myColor = '56.25%';\n el = inject(ElementRef<HTMLElement>);\n src = input<string>();\n size = input<string>();\n mode = input('clip'); // full, clip\n ratio = input('rectangle'); // rectangle, square\n img = viewChild.required<ElementRef>('img');\n width = input<number | undefined>();\n height = input<number | undefined>();\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size()!);\n });\n full = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'mode', this.mode());\n if (this.mode() === 'full') {\n if (this.width() && this.height()) {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', this.width()! / this.height()!);\n } else {\n if (this.ratio() == 'square') {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 1);\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 16 / 9);\n }\n }\n }\n });\n ratioSet = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'ratio', this.ratio());\n });\n}\n","<div #edge class=\"absolute top-0 left-0\"></div>\n@defer (on viewport(edge)) {\n <a id=\"thumbnail\" class=\"rt-thumbnail\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-raised-background] w-full h-full rounded-lg\"></div>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image',\n imports: [CommonModule],\n templateUrl: './image.component.html',\n styleUrl: './image.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageComponent implements OnInit {\n @HostBinding('id') hasId = 'rolatech-image';\n @HostBinding('class.rt-image') hasClass = true;\n src = input<string>();\n img = viewChild.required<ElementRef>('img');\n ngOnInit(): void {\n const image = this.img().nativeElement;\n image.onload = () => {\n image.style.visibility = 'visible';\n };\n }\n}\n","<img #img class=\"rolatech-image bg-[--rt-base-background]\" [src]=\"src()\" style=\"visibility: hidden\" loading=\"lazy\" alt />\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, input, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-tab',\n imports: [CommonModule],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TabComponent {\n @HostBinding('id') hasId = 'tab';\n @HostBinding('class.tab') hasClass = true;\n label = input.required();\n item = viewChild<ElementRef>('content');\n}\n","<div class=\"content\" #content>\n <span i18n>{{ label() }}</span>\n</div>\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChildren,\n inject,\n input,\n model,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TabComponent } from '../tab/tab.component';\nimport { Platform } from '@angular/cdk/platform';\n\n@Component({\n selector: 'rolatech-tabs',\n imports: [CommonModule],\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n ngSkipHydration: '',\n class: 'rolatech-tabs',\n },\n})\nexport class TabsComponent implements OnInit, AfterViewInit, AfterContentInit {\n ngAfterContentInit(): void {\n // this.init();\n }\n renderer = inject(Renderer2);\n tabs = contentChildren(TabComponent, { read: ElementRef });\n selectionBar = viewChild.required('selectionBar', { read: ElementRef });\n select = model(0);\n loading = input(false);\n preSelect = 0;\n clientWidths: number[] = [];\n protected _isServer = !inject(Platform).isBrowser;\n\n ngOnInit(): void {}\n ngAfterViewInit() {\n this.init();\n }\n init() {\n const gap = 24; // 24 = 2 * margin-left\n this.tabs()[this.select()].nativeElement.setAttribute('style-target', 'host');\n const selectionBarElement = this.selectionBar().nativeElement;\n selectionBarElement.setAttribute('style-target', 'selection-bar');\n // selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n setTimeout(() => {\n selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n }, 10);\n this.tabs().forEach((element, index) => {\n this.clientWidths.push(element.nativeElement.clientWidth);\n this.renderer.listen(element.nativeElement, 'click', () => {\n this.select.set(index);\n this.tabs()[this.preSelect].nativeElement.removeAttribute('style-target');\n this.tabs()[index].nativeElement.setAttribute('style-target', 'host');\n selectionBarElement.style.left = this.getOffset(index) + 'px';\n selectionBarElement.style.width = element.nativeElement.clientWidth - gap + 'px';\n this.preSelect = index;\n });\n });\n selectionBarElement.style.left = this.getOffset(this.select()) + 'px';\n selectionBarElement.style.width = this.clientWidths[this.select()] - gap + 'px';\n this.preSelect = this.select();\n }\n getOffset(index: number): number {\n let offset = 0;\n for (let i = 0; i < index; i++) {\n offset += this.clientWidths[i];\n }\n return offset;\n }\n}\n","<!-- <rolatech-icon-button>chevron_left</rolatech-icon-button> -->\n<div id=\"tabsContainer\" class=\"h-full\">\n <div id=\"tabsContent\" class=\"flex flex-row h-full\" style-target=\"selection-bar\">\n <div #selectionBar id=\"selectionBar\" class=\"selection-bar\"></div>\n @for (tab of tabs(); track $index) {\n <ng-content></ng-content>\n }\n </div>\n</div>\n<!-- <rolatech-icon-button>chevron_right</rolatech-icon-button> -->\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-list',\n imports: [CommonModule],\n templateUrl: './list.component.html',\n styleUrl: './list.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ListComponent {\n @HostBinding('id') id = 'rolatech-list';\n @HostBinding('class.rolatech-list') hasClass = true;\n}\n","<div class=\"flex flex-col divide-y divide-[--rt-10-percent-layer]\">\n <ng-content></ng-content>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-content',\n imports: [CommonModule],\n templateUrl: './content.component.html',\n styleUrl: './content.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContentComponent {}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon, MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nconst CHEVRON_LEFT = `\n<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg>\n`;\nconst CHEVRON_RIGHT = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg>\n`;\n@Component({\n selector: 'rolatech-chip-bar',\n imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule],\n templateUrl: './chip-bar.component.html',\n styleUrl: './chip-bar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipBarComponent implements AfterViewInit {\n @HostBinding('id') hasId = 'rolatech-chip-bar';\n @HostBinding('class.rolatech-chip-bar') hasClass = true;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private resizeObserver!: ResizeObserver;\n private chips = viewChild('chips', { read: ElementRef });\n private scroller = viewChild.required('scroller', { read: ElementRef });\n router = input('../courses/categories/');\n items = input<any[]>([]);\n fluid = input(false, { transform: booleanAttribute });\n fixed = input(false, { transform: booleanAttribute });\n platformId = inject(PLATFORM_ID);\n clientWidth = 0;\n scrollWidth = 0;\n scrollLeft = 0;\n constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n iconRegistry.addSvgIconLiteral('chevron_left', sanitizer.bypassSecurityTrustHtml(CHEVRON_LEFT));\n iconRegistry.addSvgIconLiteral('chevron_right', sanitizer.bypassSecurityTrustHtml(CHEVRON_RIGHT));\n effect(() => {\n if (this.fixed()) {\n this.el.nativeElement.setAttribute('fixed', '');\n } else {\n this.el.nativeElement.removeAttribute('fixed');\n }\n });\n }\n ngAfterViewInit(): void {\n this.clientWidth = this.el.nativeElement.clientWidth;\n this.scrollWidth = this.scroller()?.nativeElement.scrollWidth;\n this.el.nativeElement.setAttribute('at-start', '');\n this.el.nativeElement.setAttribute('fluid-width', '');\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n this.setCustomProperties(entry.contentRect.width);\n this.init();\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n setCustomProperties(width: number) {\n this.clientWidth = width;\n this.el.nativeElement.style.setProperty('--rt-rich-grid-chips-bar-width', width + 'px');\n }\n init() {\n // fix: this.scrollWidth 1365.11 ~ 1366, this.scrollWidth - 1\n if (this.clientWidth + this.scrollLeft > this.scrollWidth - 1) {\n this.el.nativeElement.setAttribute('at-end', '');\n } else {\n this.el.nativeElement.removeAttribute('at-end', '');\n }\n }\n onScroll(event: any) {\n this.scrollLeft = event.target.scrollLeft;\n this.init();\n if (this.scrollLeft > 0) {\n this.el.nativeElement.removeAttribute('at-start', '');\n } else {\n this.el.nativeElement.setAttribute('at-start', '');\n }\n }\n\n leftArrowClick() {\n this.scroller().nativeElement.scrollLeft -= 320;\n }\n rightArrowClick() {\n this.scroller().nativeElement.scrollLeft += 320;\n }\n}\n","<div id=\"chips-wrapper\" class=\"rolatech-chip-bar\">\n <div id=\"chips-content\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"leftArrowClick()\">\n <mat-icon>chevron_left</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_left\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n <div\n id=\"scroll-container\"\n #scroller\n class=\"rolatech-chip-bar overflow-x-scroll overflow-y-hidden scrollbar-hide\"\n (scroll)=\"onScroll($event)\"\n >\n <div id=\"chips\" #chips class=\"rolatech-chip-bar inline-block\">\n @for (link of items(); track link; let index = $index) {\n <a\n id=\"chip-item\"\n class=\"rolatech-chip-bar h-8 cursor-pointer bg-[--rt-10-percent-layer] rounded-md inline-flex items-center px-3 m-3 ml-0\"\n routerLinkActive=\"chip-bar-active\"\n [routerLink]=\"[router(), link.link]\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md\">{{ link.name }}</span>\n </a>\n }\n </div>\n </div>\n <div id=\"right-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"right-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"rightArrowClick()\">\n <mat-icon>chevron_right</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_right\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, HostBinding, Renderer2, ViewEncapsulation, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-avatar',\n imports: [CommonModule, ImageComponent],\n templateUrl: './avatar.component.html',\n styleUrl: './avatar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n src = input<string>();\n size = input.required<string>();\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size());\n });\n}\n","@defer (on viewport()) {\n <a id=\"avatar\" class=\"rt-avatar\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] w-full h-full rounded-lg\"></div>\n}\n","import { Component, effect, ElementRef, inject, input, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image-placeholder',\n imports: [CommonModule],\n templateUrl: './image-placeholder.component.html',\n styleUrl: './image-placeholder.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePlaceholderComponent implements OnInit {\n renderer = inject(Renderer2);\n el = inject(ElementRef<HTMLElement>);\n ratio = input('rectangle'); // rectangle, square\n constructor() {\n effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'ratio', this.ratio());\n })\n }\n\n ngOnInit(): void {\n\n }\n}\n","<div class=\"w-full h-full flex justify-center items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z\"\n />\n </svg>\n</div>\n","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-image-preview-dialog',\n templateUrl: './image-preview-dialog.component.html',\n styleUrls: ['./image-preview-dialog.component.scss'],\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<ImagePreviewDialogComponent>,\n ) {\n this.data.title = 'Preview';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center p-5\">\n @if (data.title) {\n <div class=\"text-lg font-bold\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex justify-center items-center overflow-hidden\">\n <div class=\"p-3 flex items-center justify-center h-full\">\n <img class=\"object-contain p-3 h-full\" [src]=\"data.media[selected].url\" alt />\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center p-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-empty',\n imports: [CommonModule],\n templateUrl: './empty.component.html',\n styleUrl: './empty.component.scss',\n})\nexport class EmptyComponent {}\n","<div class=\"px-4 py-2 flex items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M460-300h40v-220h-40v220Zm20-276.92q10.46 0 17.54-7.08 7.08-7.08 7.08-17.54 0-10.46-7.08-17.54-7.08-7.07-17.54-7.07-10.46 0-17.54 7.07-7.08 7.08-7.08 17.54 0 10.46 7.08 17.54 7.08 7.08 17.54 7.08Zm.13 456.92q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Zm-.13-40q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"\n />\n </svg>\n <span class=\"ml-2\">No Data</span>\n</div>\n","import { Component, ViewEncapsulation, input, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'rolatech-input',\n imports: [CommonModule, FormsModule],\n templateUrl: './input.component.html',\n styleUrl: './input.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class InputComponent {\n title = model();\n placeholder = input('Title');\n}\n","<div class=\"rt-input-wrapper\">\n <input class=\"rt__input\" [placeholder]=\"placeholder()\" [(ngModel)]=\"title\" />\n</div>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThumbnailComponent } from '../thumbnail/thumbnail.component';\nimport { PricePipe } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-rich-item',\n imports: [CommonModule, ThumbnailComponent, PricePipe],\n templateUrl: './rich-item.component.html',\n styleUrl: './rich-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichItemComponent {\n @HostBinding('class.rolatech-rich-item') hasClass = true;\n list = input(false, { transform: booleanAttribute });\n thumbnail = input<string>();\n avatar = input<string>();\n title = input<string>();\n subtitle = input<string>();\n price = input<any>(0);\n thumbnailRatio = input<string>('rectangle');\n thumbnailMode = input<string>('full');\n}\n","<div id=\"thumbnail\" class=\"rolatech-rich-item\">\n @defer (on viewport()) {\n <rolatech-thumbnail\n [src]=\"thumbnail()\"\n size=\"medium\"\n [ratio]=\"thumbnailRatio()\"\n [mode]=\"thumbnailMode()\"\n ></rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n</div>\n<div id=\"details\" class=\"rolatech-rich-item\">\n <div>\n <div class=\"py-1\">\n <a class=\"md:text-xl font-bold break-words line-clamp-1 md:line-clamp-2 whitespace-normal\">\n {{ title() }}\n </a>\n </div>\n <div class=\"invisible h-0 md:h-auto md:visible break-words line-clamp-1 whitespace-normal\">\n {{ subtitle() }}\n </div>\n <ng-content></ng-content>\n </div>\n @if (price()) {\n <div class=\"md:text-lg font-bold py-1\">{{ price() | price }}</div>\n }\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n ViewEncapsulation,\n booleanAttribute,\n contentChildren,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { RichItemComponent } from '../rich-item/rich-item.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-rich-view',\n imports: [CommonModule, MatButtonModule],\n templateUrl: './rich-view.component.html',\n styleUrl: './rich-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichViewComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-rich-view') hasClass = true;\n @HostBinding('class.scrollbar-hide') disableScrollbar = true;\n platformId = inject(PLATFORM_ID);\n el = inject(ElementRef);\n items = contentChildren(RichItemComponent, { read: ElementRef });\n list = input(false, { transform: booleanAttribute });\n wrap = input(false, { transform: booleanAttribute });\n private resizeObserver!: ResizeObserver;\n\n constructor() {\n effect(() => {\n if (this.list()) {\n this.el.nativeElement.setAttribute('list', '');\n } else {\n this.el.nativeElement.removeAttribute('list', '');\n }\n if (this.wrap()) {\n this.el.nativeElement.setAttribute('wrap', '');\n } else {\n this.el.nativeElement.removeAttribute('wrap', '');\n }\n });\n }\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n // this.setCustomProperties(entry.contentRect.width);\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n\n ngAfterViewInit(): void {}\n setCustomProperties(width: number) {\n if (width <= 600) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 1);\n }\n if (600 < width && width <= 768) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 2);\n }\n if (768 < width && width <= 1280) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 3);\n }\n if (1280 < width && width <= 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 4);\n }\n if (width > 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 5);\n }\n }\n}\n","<ng-content></ng-content>\n\n<!-- <div class=\"rich-view-content\">\n <ng-content></ng-content>\n</div> -->\n<!-- <div class=\"rich-view-button\">\n <button mat-stroked-button>加载更多</button>\n</div> -->\n","import { AfterViewInit, Component, OnInit, PLATFORM_ID, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport Quill from 'quill';\n\n@Component({\n selector: 'rolatech-editor',\n imports: [CommonModule],\n templateUrl: './editor.component.html',\n styleUrl: './editor.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EditorComponent implements OnInit, AfterViewInit {\n platformId = inject(PLATFORM_ID);\n isBrowser: boolean;\n editor: any;\n\n constructor() {\n this.isBrowser = isPlatformBrowser(this.platformId);\n\n // const options = {\n // debug: 'info',\n // modules: {\n // toolbar: true,\n // },\n // placeholder: 'Compose an epic...',\n // theme: 'snow',\n // };\n // const quill = new Quill('#editor', options);\n }\n ngAfterViewInit(): void {\n this.quill();\n }\n ngOnInit(): void {\n // this.quill();\n }\n get toolbar() {\n return [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n // [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n // [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n // [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ];\n }\n async quill() {\n if (this.isBrowser) {\n const m = await import('quill');\n this.editor = new m.default('#editor', {\n // modules: { toolbar: '#toolbar' },\n modules: { toolbar: this.toolbar },\n theme: 'snow',\n placeholder: 'placeholder',\n });\n }\n }\n}\n","<div id=\"editor\"></div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-accordion',\n imports: [CommonModule],\n templateUrl: './accordion.component.html',\n styleUrl: './accordion.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AccordionComponent {\n @HostBinding('class.rolatech-accordion') hasClass = true;\n}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'rolatech-panel',\n imports: [CommonModule, IconComponent],\n templateUrl: './panel.component.html',\n styleUrl: './panel.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PanelComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-panel') hasClass = true;\n border = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n expanded = model(false);\n title = input<any>();\n subtitle = input<string>();\n private el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.expanded()) {\n this.el.nativeElement.setAttribute('expanded', '');\n } else {\n this.el.nativeElement.removeAttribute('expanded');\n }\n if (this.border()) {\n this.el.nativeElement.setAttribute('border', '');\n } else {\n this.el.nativeElement.removeAttribute('border');\n }\n if (this.divider()) {\n this.el.nativeElement.setAttribute('divider', '');\n } else {\n this.el.nativeElement.removeAttribute('divider');\n }\n });\n }\n ngOnInit(): void {}\n ngAfterViewInit(): void {}\n toggle() {\n this.expanded.set(!this.expanded());\n }\n}\n","<div id=\"header\" class=\"header rolatech-panel w-full h-11\" (click)=\"toggle(); $event.stopPropagation()\">\n <ng-content select=\"rolatech-panel-header\"></ng-content>\n <div>{{ title() }}</div>\n <rolatech-icon class=\"indicator-collapsed\" [class.indicator-expanded]=\"expanded() === true\">expand_more</rolatech-icon>\n</div>\n<div class=\"content-container rolatech-panel content-collapsed\" [class.content-expanded]=\"expanded() === true\">\n <div class=\"content-inner rolatech-panel\">\n <ng-content>No content</ng-content>\n </div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-panel-header',\n imports: [CommonModule],\n templateUrl: './panel-header.component.html',\n styleUrl: './panel-header.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PanelHeaderComponent {}\n","<ng-content></ng-content>\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { marked } from 'marked';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport hljs from 'highlight.js';\n\n@Pipe({\n name: 'markdown',\n standalone: true,\n})\nexport class MarkdownPipe implements PipeTransform {\n private sanitizer = inject(DomSanitizer);\n\n // transform(value: string): SafeHtml {\n // if (!value) return '';\n // const html = marked.parse(value, { breaks: true }) as string;\n // return this.sanitizer.bypassSecurityTrustHtml(html);\n // }\n\n constructor() {\n marked.setOptions({\n gfm: true, // ✅ Enables GitHub Flavored Markdown (tables, etc.)\n breaks: true,\n });\n }\n\n transform(value: string): SafeHtml {\n if (!value) return '';\n const html = marked.parse(value) as string;\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ChatMessage } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport { ThumbnailComponent } from '../../thumbnail/thumbnail.component';\nimport { ImagePlaceholderComponent } from '../../image-placeholder/image-placeholder.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MarkdownPipe } from './markdown.pipe';\n\n@Component({\n selector: 'rolatech-conversation-message',\n imports: [CommonModule, RouterLink, ThumbnailComponent, ImagePlaceholderComponent, MatButtonModule, MarkdownPipe],\n templateUrl: './conversation-message.html',\n styleUrl: './conversation-message.scss',\n})\nexport class ConversationMessage {\n message = input.required<ChatMessage>();\n call() {}\n}\n","@if (message().role === 'user') {\n<div class=\"flex justify-end\">\n <div class=\"flex flex-col items-end w-full py-3\">\n <div\n class=\"max-w-[80%] rounded-2xl px-4 py-2 shadow-sm bg-[var(--rt-brand-color)] text-white whitespace-pre-wrap break-words\"\n >\n <div>{{ message().text }}</div>\n </div>\n\n <div class=\"text-xs text-gray-400 mt-1 pr-1\">{{ message().createdAt | date:'shortTime' }}</div>\n </div>\n</div>\n}@else {\n<div class=\"flex justify-start\">\n <div class=\"flex flex-col items-start w-full py-3\">\n @if (message().role === 'assistant') { @for (seg of message().segments ?? []; track $index) { @switch (seg.kind) { @case\n ('text') {\n <!-- <div class=\"whitespace-pre-wrap break-all\">{{ seg.text }}</div> -->\n <!-- <div class=\"markdown-body\" [innerHTML]=\"seg.text | markdown\"></div> -->\n <article class=\"prose dark:prose-invert max-w-none\" [innerHTML]=\"seg.text | markdown\"></article>\n\n } @case ('group') {\n <a\n class=\"w-full flex flex-col p-3 mb-3 shadow rounded-xl hover:bg-[--rt-raised-background] cursor-pointer\"\n [routerLink]=\"['/properties', seg.item.id]\"\n target=\"_blank\"\n >\n <div class=\"flex flex-row\">\n @if (seg.item.mediaUrl) {\n <div class=\"min-w-20 w-20 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"seg.item.mediaUrl\" ratio=\"square\" size=\"medium\" mode=\"clip\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-square rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-20 w-20 object-cover aspect-square rounded-lg mr-3\">\n <rolatech-image-placeholder ratio=\"square\"></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div class=\"flex flex-col gap-3 p-1\">\n <div class=\"font-bold\">{{ seg.item.title }}</div>\n <div class=\"mt-1\">{{ seg.item.price }}</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mx-2 my-3 bg-black opacity-10 h-[1px]\"></div>\n <div class=\"px-1\">\n <div><span class=\"opacity-70 text-sm\">Address: </span>{{seg.item.address}}</div>\n @if (seg.item.phone) {\n <div><span class=\"opacity-70 text-sm\">Phone: </span>{{seg.item.phone}}</div>\n <button mat-flat-button (click)=\"call()\">Call me</button>\n }\n </div>\n </a>\n } @case ('json') {\n <pre class=\"mt-2 text-xs overflow-auto\">{{ seg.data | json }}</pre>\n } @case ('tool') {\n <div class=\"w-full opacity-70 py-2 rounded-xl text-sm bg-[--rt-raised-background] mb-2 break-all\">\n <span class=\"font-bold\">Using Tool</span><span> | {{ seg.tool.tool }}: {{ seg.tool.args }} {{seg.tool.results}}</span>\n </div>\n } } } @if (message().done) {\n <div class=\"text-xs opacity-50 mt-2\">[done]</div>\n } }\n </div>\n</div>\n}\n","import {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n input,\n OnChanges,\n QueryList,\n signal,\n SimpleChanges,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConversationMessage } from '../conversation-message/conversation-message';\nimport { ChatMessage } from '@rolatech/angular-services';\nexport const isSafari = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n@Component({\n selector: 'rolatech-conversation-content',\n imports: [CommonModule, ConversationMessage],\n templateUrl: './conversation-content.html',\n styleUrl: './conversation-content.scss',\n host: { class: 'block h-full min-h-0' },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ConversationContent implements AfterViewInit, AfterViewChecked, OnChanges {\n messages = input.required<ChatMessage[]>();\n private scrollArea = viewChild.required<ElementRef<HTMLElement>>('scrollArea');\n // private messageItems = viewChild.required<QueryList<ElementRef<HTMLElement>>>('messageItem');\n // private messageItems = viewChildren<ElementRef<HTMLElement>>('messageItem');\n private messageItems = viewChildren('messageItem', { read: ElementRef<HTMLElement> });\n\n private rafId: number | null = null;\n private firstPaint = true;\n\n private shouldStick = signal(true);\n streaming = input.required<boolean>();\n direction = input<'bottom-to-top' | 'top-to-bottom'>('bottom-to-top');\n private shouldScroll = false;\n\n constructor() {\n // React whenever the list of message nodes changes\n // React when message nodes change (e.g., new message rendered)\n // effect(() => {\n // const items = this.messageItems();\n // if (!items.length) return;\n // // Find the latest message data & its element\n // const list = this.messages();\n // const lastMsg = list[list.length - 1];\n // const lastEl = items[items.length - 1].nativeElement;\n // console.log(lastMsg.role);\n // console.log(this.isUser(lastMsg));\n // if (!lastMsg || !this.isUser(lastMsg)) return;\n // console.log(lastEl);\n // this.scheduleScrollUserMessageToTop(lastEl);\n // });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['messages']) {\n // console.log(changes['messages']);\n this.shouldScroll = true;\n // queueMicrotask(() => this.scrollUserMessageToTop());\n }\n }\n ngAfterViewChecked(): void {\n if (this.shouldScroll) {\n requestAnimationFrame(() => this.scrollToBottom('smooth'));\n this.shouldScroll = false;\n }\n }\n ngAfterViewInit(): void {\n const el = this.scrollArea().nativeElement;\n if (!el) return;\n el.addEventListener('scroll', () => {\n console.log(22);\n const atBottom = el.scrollTop + el.clientHeight >= el.scrollHeight - 20;\n this.shouldStick.set(atBottom);\n });\n }\n scrollToBottom(behavior: ScrollBehavior = 'smooth') {\n const el = this.scrollArea()?.nativeElement;\n if (!el) return;\n el.lastElementChild?.scrollIntoView({ behavior, block: 'start' });\n el.scrollTo({ top: el.scrollHeight, behavior });\n }\n private scrollUserMessageToTop() {\n const items = this.messageItems();\n if (!items.length) return;\n // Find the latest message data & its element\n const list = this.messages();\n const lastMsg = list[list.length - 1];\n const lastEl = items[items.length - 1].nativeElement;\n console.log(lastMsg.role);\n console.log(this.isUser(lastMsg));\n if (!lastMsg || !this.isUser(lastMsg)) return;\n if (this.isUser(lastMsg)) {\n lastEl.scrollIntoView({ block: 'start', behavior: 'smooth' });\n }\n }\n // Define your “user” test once; adjust to your schema\n private isUser(m: ChatMessage): boolean {\n return m.role === 'user';\n }\n private scheduleScrollUserMessageToTop(targetEl: HTMLElement) {\n if (this.rafId != null) cancelAnimationFrame(this.rafId);\n\n this.rafId = requestAnimationFrame(() => {\n this.rafId = null;\n\n const scroller = this.scrollArea().nativeElement;\n if (!scroller || !targetEl.isConnected) return;\n\n // Position the target at the top of the visible area (with a small cushion)\n const pad = 8;\n const cRect = scroller.getBoundingClientRect();\n const tRect = targetEl.getBoundingClientRect();\n\n const nextTop = Math.max(0, Math.floor(scroller.scrollTop + (tRect.top - cRect.top) - pad));\n\n scroller.scrollTo({\n top: nextTop,\n behavior: this.firstPaint ? 'auto' : 'smooth',\n });\n\n this.firstPaint = false;\n });\n }\n}\n","<div class=\"h-full min-h-0 overflow-y-auto px-4\">\n <div #scrollArea class=\"w-full md:max-w-[768px] xl:max-w-[1024px] 2xl:max-w-[1024px] mx-auto [overflow-anchor:none]\">\n @for (m of messages(); track m.id) {\n <rolatech-conversation-message #messageItem [message]=\"m\" class=\"mb-3\" />\n } @if (streaming()) {\n <div class=\"flex items-center gap-2 text-sm opacity-80\">\n <span class=\"inline-block w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin\"></span>\n <span>Streaming…</span>\n </div>\n }\n </div>\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-conversation-header',\n imports: [CommonModule],\n templateUrl: './conversation-header.html',\n styleUrl: './conversation-header.scss',\n})\nexport class ConversationHeader {\n status = input(\"u\")\n}\n","<header class=\"px-4 py-3 flex items-center gap-3\">\n <div class=\"size-9 rounded-full bg-gray-200\"></div>\n <div class=\"font-medium\">Property Assistant</div>\n <div class=\"ml-auto text-sm text-gray-500\">{{status()}}</div>\n</header>\n","import { Component, ElementRef, model, output, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-conversation-input',\n imports: [CommonModule, MatButtonModule, MatIcon],\n templateUrl: './conversation-input.html',\n styleUrl: './conversation-input.scss',\n})\nexport class ConversationInput {\n readonly send = output<string>();\n private ta = viewChild<ElementRef<HTMLTextAreaElement>>('ta');\n isComposing = false;\n\n onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey && !this.isComposing) {\n e.preventDefault();\n this.emitSend();\n }\n }\n\n emitSend() {\n const el = this.ta()?.nativeElement;\n if (!el) return;\n\n const value = el.value.trim();\n if (!value) return;\n\n this.send.emit(value);\n el.value = '';\n this.autoResize();\n }\n onCompositionStart() {\n this.isComposing = true;\n }\n\n onCompositionEnd() {\n this.isComposing = false;\n }\n autoResize() {\n const el = this.ta()?.nativeElement;\n if (!el) return;\n el.style.height = 'auto';\n el.style.height = Math.min(el.scrollHeight, 220) + 'px';\n }\n}\n","<div class=\"px-3 py-3 md:px-0 w-full md:max-w-[768px] xl:max-w-[1024px] 2xl:max-w-[1024px] mx-auto\">\n <div class=\"flex rounded-2xl p-1 dark:bg-[--rt-raised-background] border border-black border-opacity-20\">\n <textarea\n #ta\n rows=\"1\"\n class=\"w-full border border-transparent appearance-none rounded p-2 py-2.5 resize-none outline-none dark:bg-[--rt-raised-background]\"\n placeholder=\"Ask about properties...\"\n (keydown)=\"onKeydown($event)\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (input)=\"autoResize()\"\n ></textarea>\n <button\n matIconButton\n (click)=\"emitSend()\"\n [disabled]=\"!ta.value.trim()\"\n [ngClass]=\"!ta.value.trim() ? '' : '!bg-[--rt-brand-color] !text-[--rt-text-primary-inverse]'\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n </div>\n <!-- <div\n class=\"text-token-text-secondary relative mt-auto flex min-h-8 w-full items-center justify-center p-2 text-center text-xs md:px-[60px]\"\n >\n Primecasa Assistant can make mistakes. Check important info.\n </div> -->\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2","i4","map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rolatech-angular-components.mjs","sources":["../../../../packages/angular-components/src/lib/skeleton/skeleton.ts","../../../../packages/angular-components/src/lib/skeleton/skeleton.html","../../../../packages/angular-components/src/lib/chat-box/chat-box.ts","../../../../packages/angular-components/src/lib/chat-box/chat-box.html","../../../../packages/angular-components/src/lib/video-upload/video-upload.ts","../../../../packages/angular-components/src/lib/video-upload/video-upload.html","../../../../packages/angular-components/src/lib/pdf-viewer/pdf-viewer.component.ts","../../../../packages/angular-components/src/lib/pdf-viewer/pdf-viewer.component.html","../../../../packages/angular-components/src/lib/rich-label/rich-label.component.ts","../../../../packages/angular-components/src/lib/rich-label/rich-label.component.html","../../../../packages/angular-components/src/lib/resizable-container/resizable-container.component.ts","../../../../packages/angular-components/src/lib/resizable-container/resizable-container.component.html","../../../../packages/angular-components/src/lib/rich-grid-media/rich-grid-media.component.ts","../../../../packages/angular-components/src/lib/rich-grid-media/rich-grid-media.component.html","../../../../packages/angular-components/src/lib/reject-dialog/reject-dialog.component.ts","../../../../packages/angular-components/src/lib/reject-dialog/reject-dialog.component.html","../../../../packages/angular-components/src/lib/accept-dialog/accept-dialog.component.ts","../../../../packages/angular-components/src/lib/accept-dialog/accept-dialog.component.html","../../../../packages/angular-components/src/lib/icon/icon.component.ts","../../../../packages/angular-components/src/lib/icon/icon.component.html","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.ts","../../../../packages/angular-components/src/lib/icon-button/icon-button.component.html","../../../../packages/angular-components/src/lib/title/title.component.ts","../../../../packages/angular-components/src/lib/title/title.component.html","../../../../packages/angular-components/src/lib/container/container.component.ts","../../../../packages/angular-components/src/lib/container/container.component.html","../../../../packages/angular-components/src/provider.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.ts","../../../../packages/angular-components/src/lib/menu-icon/menu-icon.component.html","../../../../packages/angular-components/src/lib/topbar/topbar.component.ts","../../../../packages/angular-components/src/lib/topbar/topbar.component.html","../../../../packages/angular-components/src/lib/drawer/drawer.component.ts","../../../../packages/angular-components/src/lib/drawer/drawer.component.html","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.ts","../../../../packages/angular-components/src/lib/mini-guide/mini-guide.component.html","../../../../packages/angular-components/src/lib/page/page.component.ts","../../../../packages/angular-components/src/lib/page/page.component.html","../../../../packages/angular-components/src/lib/layout/layout.component.ts","../../../../packages/angular-components/src/lib/layout/layout.component.html","../../../../packages/angular-components/src/lib/footer/footer.component.ts","../../../../packages/angular-components/src/lib/footer/footer.component.html","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.ts","../../../../packages/angular-components/src/lib/console-layout/console-layout.component.html","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.ts","../../../../packages/angular-components/src/lib/topbar-avatar-menu/topbar-avatar-menu.component.html","../../../../packages/angular-components/src/lib/folder/folder.component.ts","../../../../packages/angular-components/src/lib/folder/folder.component.html","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/media-preview-dialog/media-preview-dialog.component.html","../../../../packages/angular-components/src/lib/material.module.ts","../../../../packages/angular-components/src/lib/angular-components.module.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.ts","../../../../packages/angular-components/src/lib/spinner/spinner.component.html","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.ts","../../../../packages/angular-components/src/lib/media-upload/media-upload.component.html","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.ts","../../../../packages/angular-components/src/lib/storage-bucket-create/storage-bucket-create.component.html","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.ts","../../../../packages/angular-components/src/lib/storage-file-upload/storage-file-upload.component.html","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.ts","../../../../packages/angular-components/src/lib/storage-folder-create/storage-folder-create.component.html","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.ts","../../../../packages/angular-components/src/lib/menu-user/menu-user.component.html","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.ts","../../../../packages/angular-components/src/lib/wechat-connect-dialog/wechat-connect-dialog.component.html","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.ts","../../../../packages/angular-components/src/lib/media-upload-dialog/media-upload-dialog.component.html","../../../../packages/angular-components/src/lib/media-list/media-list.component.ts","../../../../packages/angular-components/src/lib/media-list/media-list.component.html","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.ts","../../../../packages/angular-components/src/lib/media-list-item/media-list-item.component.html","../../../../packages/angular-components/src/lib/not-found/not-found.component.ts","../../../../packages/angular-components/src/lib/not-found/not-found.component.html","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.ts","../../../../packages/angular-components/src/lib/confirmation-dialog/confirmation-dialog.component.html","../../../../packages/angular-components/src/lib/location-selector/location-selector.component.ts","../../../../packages/angular-components/src/lib/location-selector/location-selector.component.html","../../../../packages/angular-components/src/lib/filter/filter.component.ts","../../../../packages/angular-components/src/lib/filter/filter.component.html","../../../../packages/angular-components/src/lib/confirmation/confirmation.component.ts","../../../../packages/angular-components/src/lib/confirmation/confirmation.component.html","../../../../packages/angular-components/src/lib/search-icon/search-icon.ts","../../../../packages/angular-components/src/lib/search-icon/search-icon.html","../../../../packages/angular-components/src/lib/search-bar/search-bar.ts","../../../../packages/angular-components/src/lib/search-bar/search-bar.html","../../../../packages/angular-components/src/lib/base.component.ts","../../../../packages/angular-components/src/lib/loading.ts","../../../../packages/angular-components/src/lib/table/table.component.ts","../../../../packages/angular-components/src/lib/table/table.component.html","../../../../packages/angular-components/src/lib/paginator/paginator.component.ts","../../../../packages/angular-components/src/lib/paginator/paginator.component.html","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.ts","../../../../packages/angular-components/src/lib/media-preview/media-preview.component.html","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.ts","../../../../packages/angular-components/src/lib/toolbar/toolbar.component.html","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.ts","../../../../packages/angular-components/src/lib/thumbnail/thumbnail.component.html","../../../../packages/angular-components/src/lib/image/image.component.ts","../../../../packages/angular-components/src/lib/image/image.component.html","../../../../packages/angular-components/src/lib/tab/tab.component.ts","../../../../packages/angular-components/src/lib/tab/tab.component.html","../../../../packages/angular-components/src/lib/tabs/tabs.component.ts","../../../../packages/angular-components/src/lib/tabs/tabs.component.html","../../../../packages/angular-components/src/lib/list/list.component.ts","../../../../packages/angular-components/src/lib/list/list.component.html","../../../../packages/angular-components/src/lib/content/content.component.ts","../../../../packages/angular-components/src/lib/content/content.component.html","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.ts","../../../../packages/angular-components/src/lib/chip-bar/chip-bar.component.html","../../../../packages/angular-components/src/lib/avatar/avatar.component.ts","../../../../packages/angular-components/src/lib/avatar/avatar.component.html","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.ts","../../../../packages/angular-components/src/lib/image-placeholder/image-placeholder.component.html","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.ts","../../../../packages/angular-components/src/lib/image-preview-dialog/image-preview-dialog.component.html","../../../../packages/angular-components/src/lib/empty/empty.component.ts","../../../../packages/angular-components/src/lib/empty/empty.component.html","../../../../packages/angular-components/src/lib/input/input.component.ts","../../../../packages/angular-components/src/lib/input/input.component.html","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.ts","../../../../packages/angular-components/src/lib/rich-item/rich-item.component.html","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.ts","../../../../packages/angular-components/src/lib/rich-view/rich-view.component.html","../../../../packages/angular-components/src/lib/editor/editor.component.ts","../../../../packages/angular-components/src/lib/editor/editor.component.html","../../../../packages/angular-components/src/lib/accordion/accordion.component.ts","../../../../packages/angular-components/src/lib/accordion/accordion.component.html","../../../../packages/angular-components/src/lib/panel/panel.component.ts","../../../../packages/angular-components/src/lib/panel/panel.component.html","../../../../packages/angular-components/src/lib/panel/panel-header.component.ts","../../../../packages/angular-components/src/lib/panel/panel-header.component.html","../../../../packages/angular-components/src/lib/conversation/conversation-message/markdown.pipe.ts","../../../../packages/angular-components/src/lib/conversation/conversation-message/conversation-message.ts","../../../../packages/angular-components/src/lib/conversation/conversation-message/conversation-message.html","../../../../packages/angular-components/src/lib/conversation/conversation-content/conversation-content.ts","../../../../packages/angular-components/src/lib/conversation/conversation-content/conversation-content.html","../../../../packages/angular-components/src/lib/conversation/conversation-header/conversation-header.ts","../../../../packages/angular-components/src/lib/conversation/conversation-header/conversation-header.html","../../../../packages/angular-components/src/lib/conversation/conversation-input/conversation-input.ts","../../../../packages/angular-components/src/lib/conversation/conversation-input/conversation-input.html","../../../../packages/angular-components/src/rolatech-angular-components.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'rolatech-skeleton',\n imports: [],\n templateUrl: './skeleton.html',\n styleUrl: './skeleton.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-skeleton',\n class: 'rolatech-skeleton rounded',\n },\n})\nexport class Skeleton {}\n","<div class=\"rolatech-skeleton-inner inline-grid animate-pulse\"></div>\n","import { Component, model, output, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-chat-box',\n imports: [CommonModule, MatInputModule, FormsModule, MatButtonModule, MatIcon],\n templateUrl: './chat-box.html',\n styleUrl: './chat-box.scss',\n encapsulation: ViewEncapsulation.None\n\n})\nexport class ChatBox {\n isStreaming = false\n userInput = model<string>()\n send = output();\n\n onEnter(event: any): void {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n this.sendMessage();\n }\n }\n sendMessage() {\n this.send.emit();\n }\n}\n","<div\n class=\"h-auto dark:bg-[--rt-raised-background] rounded-2xl w-full my-3 mx-auto border border-black border-opacity-20 overflow-hidden flex items-end p-1\"\n>\n <div\n class=\"w-full grid text-sm border-black after:px-3.5 after:py-2.5 [&>textarea]:text-inherit after:text-inherit [&>textarea]:resize-none [&>textarea]:overflow-hidden [&>textarea]:[grid-area:1/1/2/2] after:[grid-area:1/1/2/2] after:whitespace-pre-wrap after:invisible after:content-[attr(data-cloned-val)_'_'] after:border\"\n >\n <textarea\n class=\"w-full border border-transparent appearance-none rounded px-3.5 py-2.5 outline-none dark:bg-[--rt-raised-background]\"\n name=\"message\"\n id=\"message\"\n rows=\"1\"\n [(ngModel)]=\"userInput\"\n onInput=\"this.parentNode.dataset.clonedVal = this.value\"\n placeholder=\"Ask anything\"\n (keydown.enter)=\"onEnter($event)\"\n [disabled]=\"isStreaming\"\n required\n ></textarea>\n </div>\n <button\n matIconButton\n (click)=\"sendMessage()\"\n [disabled]=\"!userInput()?.trim()\"\n [ngClass]=\"!userInput()?.trim() ? '' : '!bg-[--rt-brand-color] !text-[--rt-text-primary-inverse]'\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n</div>\n","import { Component, input, model, output, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { DurationPipe } from '@rolatech/angular-common';\n\nexport interface Video {\n id?: string;\n url: string;\n thumbnail: string;\n duration: number;\n isUploading?: boolean;\n progress: number | 0;\n canBePreviewed: boolean;\n}\n\n@Component({\n selector: 'rolatech-video-upload',\n imports: [CommonModule, MatProgressBarModule, MatButtonModule, MatIcon, DurationPipe],\n templateUrl: './video-upload.html',\n styleUrl: './video-upload.scss',\n})\nexport class VideoUpload {\n myVideo = viewChild('video');\n item = input<Video>();\n uploading = model<boolean>(false);\n editing = model<boolean>(false);\n progress = input<number>(0);\n mediaEdit = output<Video>();\n thumbnailUpload = output<Video>();\n upload = output<{ data: FormData | null }>();\n deleteMedia = output<Video>();\n editId = model<any>()\n hasUnsaved = input<boolean>(false);\n\n onLoadedMetadata(event: Event): void {\n if (this.item()?.duration) {\n return;\n }\n const videoElement: HTMLVideoElement = event.target as HTMLVideoElement;\n const item = this.item();\n if (item) {\n item.duration = videoElement.duration;\n }\n }\n onUpload(data: any) {\n this.uploading.update(() => true);\n this.upload.emit({ data });\n }\n\n onMediaEdit() {\n this.mediaEdit.emit(this.item()!);\n\n }\n onDeleteMedia() {\n this.deleteMedia.emit(this.item()!);\n }\n}\n","<div>\n @if (item()) {\n <div class=\"flex flex-row p-2 gap-3\">\n <div class=\"bg-black h-fit\">\n <video\n id=\"video\"\n #video\n [src]=\"item()?.url\"\n class=\"w-32 aspect-video\"\n (loadedmetadata)=\"onLoadedMetadata($event)\"\n [poster]=\"item()?.thumbnail\"\n ></video>\n </div>\n <div class=\"flex flex-col justify-between w-full\">\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-between items-center w-full px-2\">\n <span i18n>Video</span>\n </div>\n @if (item()?.isUploading) {\n <div>\n <span> {{ item()?.progress }}%</span>\n </div>\n }\n </div>\n <div class=\"flex justify-between items-center\">\n <div>\n <button mat-button class=\"max-h-8\" (click)=\"onMediaEdit(); $event.stopPropagation()\">\n <mat-icon>edit</mat-icon>\n <span i18n>Edit</span>\n </button>\n <button mat-button class=\"max-h-8\" (click)=\"onDeleteMedia(); $event.stopPropagation()\">\n <mat-icon>delete</mat-icon>\n <span i18n>Delete</span>\n </button>\n </div>\n <div>\n <span>{{ item()!.duration | duration }}</span>\n </div>\n </div>\n </div>\n </div>\n @if (uploading()) {\n <div class=\"p-2\">\n <mat-progress-bar mode=\"determinate\" [value]=\"progress()\"> </mat-progress-bar>\n </div>\n } }@else {\n <div class=\"px-3\">\n <input\n class=\"ud-sr-only\"\n type=\"file\"\n accept=\".avi,.mpg,.mpeg,.flv,.mov,.m2v,.m4v,.mp4,.rm,.ram,.vob,.ogv,.webm,.wmv\"\n (change)=\"onUpload($event)\"\n #fileInput\n />\n <div class=\"flex justify-between items-center\">\n <div i18n>No videos</div>\n <button mat-flat-button class=\"max-h-8\" (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n </div>\n }\n</div>\n","import { Component, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'rolatech-pdf-viewer',\n imports: [CommonModule],\n templateUrl: './pdf-viewer.component.html',\n styleUrl: './pdf-viewer.component.scss',\n})\nexport class PdfViewerComponent {\n sanitizer = inject(DomSanitizer);\n safeUrl: SafeResourceUrl;\n // url = input.required<string>();\n url = 'https://rolatech.s3.ap-northeast-1.amazonaws.com/agent-applications/ea9d463009074d649562423492af05f0.pdf';\n constructor() {\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.url);\n }\n}\n","<iframe [src]=\"safeUrl\" width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-rich-label',\n imports: [CommonModule],\n templateUrl: './rich-label.component.html',\n styleUrl: './rich-label.component.scss',\n})\nexport class RichLabelComponent {\n label = input.required();\n title = input.required();\n}\n","<div class=\"flex flex-col justify-center h-11\">\n <div class=\"text-sm opacity-80\" i18n>{{ label() }}</div>\n <div>{{ title() }}</div>\n</div>\n","import { Component, ElementRef, inject, Renderer2, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-resizable-container',\n imports: [CommonModule],\n templateUrl: './resizable-container.component.html',\n styleUrl: './resizable-container.component.scss',\n})\nexport class ResizableContainerComponent {\n renderer = inject(Renderer2);\n @ViewChild('leftDiv') leftDiv!: ElementRef;\n @ViewChild('rightDiv') rightDiv!: ElementRef;\n @ViewChild('divider') divider!: ElementRef;\n isResizing = false;\n\n startResizing(event) {\n event.preventDefault();\n this.isResizing = true;\n this.renderer.listen('document', 'mousemove', (e) => this.onResizing(e));\n this.renderer.listen('document', 'mouseup', () => this.stopResizing());\n }\n onResizing(event: MouseEvent) {\n if (!this.isResizing) return;\n const containerRect = this.leftDiv.nativeElement.parentElement.getBoundingClientRect();\n const newLeftWidth = event.clientX - containerRect.left;\n const newRightWidth = containerRect.right - event.clientX;\n\n if (newLeftWidth > 100 && newRightWidth > 100) {\n this.renderer.setStyle(this.leftDiv.nativeElement, 'width', `${newLeftWidth}px`);\n this.renderer.setStyle(this.rightDiv.nativeElement, 'width', `${newRightWidth}px`);\n }\n }\n\n stopResizing() {\n this.isResizing = false;\n }\n}\n","<div class=\"flex w-full p-3\">\n <div class=\"w-2/6 px-1\" #leftDiv>\n <ng-content select=\"[position='left']\"></ng-content>\n </div>\n <div class=\"divider\" #divider (mousedown)=\"startResizing($event)\"></div>\n <div class=\"w-4/6 px-1\" #rightDiv>\n <ng-content select=\"[position='right']\"></ng-content>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-rich-grid-media',\n imports: [CommonModule],\n templateUrl: './rich-grid-media.component.html',\n styleUrl: './rich-grid-media.component.scss',\n})\nexport class RichGridMediaComponent {}\n","<p>rich-grid-media works!</p>\n","import { Component, inject, Inject, OnInit } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogContent, MatDialogActions, MatDialogClose, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'rolatech-reject-dialog',\n imports: [\n MatDialogContent,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatDialogActions,\n MatButtonModule,\n MatDialogClose,\n ],\n templateUrl: './reject-dialog.component.html',\n styleUrl: './reject-dialog.component.scss',\n})\nexport class RejectDialogComponent implements OnInit {\n rejectForm!: FormGroup;\n formBuilder = inject(FormBuilder);\n dialogRef = inject(MatDialogRef<RejectDialogComponent>);\n data = inject(MAT_DIALOG_DATA);\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n this.rejectForm = this.formBuilder.group({\n content: [null, Validators.required],\n });\n this.rejectForm.setValue(this.data);\n }\n}\n","<mat-dialog-content>\n <form [formGroup]=\"rejectForm\">\n <div class=\"py-2\">\n <h2 class=\"mb-2\" i18n>Reject reason</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Reason </mat-label>\n <textarea matInput formControlName=\"content\" required></textarea>\n </mat-form-field>\n </div>\n </form>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n <button mat-flat-button [mat-dialog-close]=\"rejectForm.value\" cdkFocusInitial i18n>Confirm</button>\n</mat-dialog-actions>\n","import { Component, Inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatDialogClose,\n MatDialogRef,\n MAT_DIALOG_DATA,\n} from '@angular/material/dialog';\nimport { DialogData } from '@rolatech/angular-services';\n\n@Component({\n selector: 'rolatech-accept-dialog',\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule, MatDialogClose],\n templateUrl: './accept-dialog.component.html',\n styleUrl: './accept-dialog.component.scss',\n})\nexport class AcceptDialogComponent {\n constructor(\n public dialogRef: MatDialogRef<AcceptDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n ) {}\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","@if (data.title) {\n <h2 mat-dialog-title>{{ data.title }}</h2>\n}\n<div mat-dialog-content>\n {{ data.message }}\n</div>\n<div mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n <button mat-flat-button [mat-dialog-close]=\"true\" cdkFocusInitial i18n>Confirm</button>\n</div>\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, booleanAttribute, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-icon',\n imports: [CommonModule, MatIcon],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent {\n @HostBinding('class.rolatech-icon') hasClass = true;\n filled = input(false, { transform: booleanAttribute });\n el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.filled()) {\n this.el.nativeElement.setAttribute('filled', '');\n } else {\n this.el.nativeElement.removeAttribute('filled');\n }\n });\n }\n}\n","<mat-icon>\n <ng-content></ng-content>\n</mat-icon>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'rolatech-icon-button',\n imports: [CommonModule, IconComponent],\n templateUrl: './icon-button.component.html',\n styleUrl: './icon-button.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconButtonComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <!-- <ng-content select=\"rolatech-icon\"></ng-content> -->\n <rolatech-icon>\n <ng-content></ng-content>\n </rolatech-icon>\n</button>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-title',\n imports: [CommonModule],\n templateUrl: './title.component.html',\n styleUrl: './title.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TitleComponent {\n @HostBinding('class.rolatech-title') hasClass = true;\n title = input();\n subtitle = input();\n large = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex flex-row items-center\">\n @if (large()) {\n <a class=\"block text-3xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n } @else {\n <a class=\"block text-xl font-bold py-3\"\n ><span>{{ title() }}</span></a\n >\n }\n\n <a class=\"text-sm leading-3 text-[--rt-text-secondary]\"\n ><span>{{ subtitle() }}</span></a\n >\n</div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-container',\n imports: [CommonModule],\n templateUrl: './container.component.html',\n styleUrl: './container.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContainerComponent {\n @HostBinding('id') hasId = 'rolatech-container';\n @HostBinding('class.rolatech-container') hasClass = true;\n}\n","<div class=\"xl:max-w-[1024px] 2xl:max-w-[1280px] m-auto text-[--rt-text-primary] h-full\">\n <ng-content select=\"rolatech-toolbar\"></ng-content>\n <ng-content select=\"rolatech-filter\"></ng-content>\n <ng-content select=\"rolatech-tabs\"></ng-content>\n <ng-content select=\"rolatech-chip-bar\"></ng-content>\n <ng-content select=\"rolatech-list\"></ng-content>\n <ng-content select=\"rolatech-content\"></ng-content>\n <div class=\"container-content h-fit\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { EnvironmentProviders, InjectionToken, Provider, makeEnvironmentProviders } from '@angular/core';\n\nexport interface DrawerConfig {\n persistent: boolean;\n}\nexport interface AppTopbarConfig {\n persistent: boolean;\n}\nexport interface AppLayoutConfig {\n title: string;\n subtitle?: string;\n persistent?: boolean | undefined;\n topbar?: AppTopbarConfig;\n drawer?: DrawerConfig;\n guide?: boolean | undefined;\n}\n\nexport const APP_LAYOUT = new InjectionToken<AppLayoutConfig>('APP_LAYOUT');\n\nexport function provideAngularLayout(config?: AppLayoutConfig): EnvironmentProviders {\n const providers: (Provider | EnvironmentProviders)[] = [\n {\n provide: APP_LAYOUT,\n useValue: config,\n },\n ];\n return makeEnvironmentProviders(providers);\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-menu-icon',\n imports: [CommonModule],\n templateUrl: './menu-icon.component.html',\n styleUrl: './menu-icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuIconComponent {\n @HostBinding('class.rolatech-icon-button') hasClass = true;\n}\n","<button\n id=\"button\"\n class=\"w-10 h-10 p-2 inline-block relative cursor-pointer hover:bg-[--rt-10-percent-layer] rounded-full rolatech-icon-button\"\n onclick=\"this.blur()\"\n>\n <div style=\"width: 100%; height: 100%; display: block; fill: currentcolor\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M21 6H3V5h18v1zm0 5H3v1h18v-1zm0 6H3v1h18v-1z\"></path>\n </svg>\n </div>\n</button>\n","import {\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { APP_LAYOUT } from '../../provider';\nimport { DrawerComponent } from '../drawer/drawer.component';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\n\n@Component({\n selector: 'rolatech-topbar',\n imports: [CommonModule, RouterLink, MatButtonModule, MenuIconComponent],\n templateUrl: './topbar.component.html',\n styleUrl: './topbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TopbarComponent implements OnInit {\n @HostBinding('id') hostId = 'rolatech-topbar';\n @HostBinding('class.rolatech-topbar') hasClass = true;\n persistent = inject(APP_LAYOUT).persistent;\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n link = input('/');\n appDrawer!: DrawerComponent;\n miniGuide!: MiniGuideComponent;\n\n ngOnInit(): void {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n } else {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n }\n }\n\n onToggle() {\n if (this.appLayout.guide) {\n this.miniGuide.toggle();\n }\n this.appDrawer.toggle();\n }\n}\n","<div class=\"h-14 flex items-center\">\n <rolatech-menu-icon id=\"topbar-menu-button\" (click)=\"onToggle()\"></rolatech-menu-icon>\n <div class=\"cursor-pointer ml-1\" [routerLink]=\"link()\">\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\">\n <span class=\"text-[--rt-brand-color]\">{{ appLayout.title }}</span>\n <span>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <ng-content></ng-content>\n</div>\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { map } from 'rxjs';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { IconComponent } from '../icon/icon.component';\nimport { APP_LAYOUT } from '../../provider';\nimport { MenuIconComponent } from '../menu-icon/menu-icon.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { Platform } from '@angular/cdk/platform';\n\nexport interface LINK {\n title: string;\n subtitle?: string;\n openinView?: boolean;\n icon?: string;\n link: string;\n children?: LINK[];\n button?: boolean;\n exact?: boolean;\n}\n@Component({\n selector: 'rolatech-drawer',\n imports: [CommonModule, RouterLink, RouterLinkActive, IconComponent, MenuIconComponent, MatButtonModule],\n templateUrl: './drawer.component.html',\n styleUrl: './drawer.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-drawer',\n class: 'rolatech-drawer',\n 'style.transition-duration': '200ms',\n ngSkipHydration: '',\n },\n})\nexport class DrawerComponent implements AfterContentInit, AfterContentChecked {\n private _enableAnimations = false;\n\n persistent: boolean | undefined = inject(APP_LAYOUT).persistent;\n links = input<LINK[]>();\n position = input('left');\n opened = input(true);\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n appLayout = inject(APP_LAYOUT);\n guideEl = viewChild<ElementRef>('guide');\n content = viewChild<ElementRef>('content');\n scrimEl = viewChild<ElementRef>('scrim');\n headerEl = viewChild<ElementRef>('header');\n isMobile = false;\n isPersistent = true;\n panelOpenState = false;\n private _opened = false;\n private _platform = inject(Platform);\n\n open() {\n this._opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n if (this.isMobile) {\n this.renderer.addClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n close() {\n this._opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n if (this.isMobile) {\n this.renderer.removeClass(this.scrimEl()?.nativeElement, 'visible');\n }\n }\n toggle() {\n if (this._opened) {\n this.close();\n } else {\n this.open();\n }\n }\n init(isMobile: boolean) {\n this._opened = !isMobile;\n this.isMobile = isMobile;\n this.isPersistent = !isMobile;\n if (this._platform.isBrowser) {\n if (isMobile) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n this.renderer.removeAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'opened');\n this.renderer.removeAttribute(this.content()?.nativeElement, 'opened');\n } else {\n if (this.persistent) {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n this.renderer.setAttribute(this.headerEl()?.nativeElement, 'hidden', '');\n this.renderer.setAttribute(this.el.nativeElement, 'opened', '');\n this.renderer.setAttribute(this.content()?.nativeElement, 'opened', '');\n }\n }\n }\n }\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'position', this.position());\n this.breakpointObserver\n .observe(['(max-width: 768px)'])\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res: any) => {\n this.init(res);\n },\n });\n }\n ngAfterContentChecked(): void {\n if (this._platform.isBrowser) {\n this._enableAnimations = true;\n }\n }\n}\n","<div id=\"scrim\" #scrim class=\"rolatech-drawer\" (click)=\"close()\"></div>\n<div id=\"contentContainer\" #content class=\"rolatech-drawer\">\n <div id=\"guide-wrapper\" class=\"rolatech-drawer\">\n <div id=\"guide-spacer\"></div>\n <div id=\"guide-content\" class=\"rolatech-drawer\">\n <div id=\"header\" #header class=\"flex pl-4 h-14 items-center\">\n <rolatech-menu-icon #menuButton (click)=\"this.toggle()\" onclick=\"this.blur()\"></rolatech-menu-icon>\n <div class=\"text-[--rt-text-primary] text-lg md:text-xl font-bold\" routerLink=\"/\">\n <span class=\"text-[--rt-brand-color]\" i18n>{{ appLayout.title }}</span>\n <span i18n>{{ appLayout.subtitle }}</span>\n </div>\n </div>\n <div id=\"guide-inner-content\" class=\"rolatech-drawer\">\n <div class=\"block p-3\">\n @for (item of links(); track $index) {\n @if (item.children) {\n <div class=\"flex cursor-pointer overflow-hidden\">\n @if (item.icon) {\n <div class=\"h-11 flex items-center\">\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n </div>\n }\n <div class=\"w-full\">\n <div class=\"flex items-center h-11 mr-2\" (click)=\"panelOpenState = !panelOpenState\">\n <span class=\"ml-3\" i18n>{{ item.title }}</span>\n <div class=\"flex-1\"></div>\n <rolatech-icon class=\"indicator-collapsed\" [class.indicator-expanded]=\"panelOpenState === true\"\n >expand_more</rolatech-icon\n >\n </div>\n <div\n class=\"flex flex-col ml-4 overflow-visible content-collapsed\"\n [class.content-expanded]=\"panelOpenState === true\"\n >\n @for (child of item.children; track child) {\n {{ child.exact }}\n <a\n id=\"endpoint\"\n [routerLink]=\"child.link\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n class=\"p-2 rt-guide-entry\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <span class=\"text-sm\" i18n>{{ child.title }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n } @else {\n @if (item.openinView) {\n <a\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11\"\n [href]=\"item.link\"\n target=\"_blank\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span>{{ item.title }}</span>\n <span class=\"text-sm opacity-75 text-[--rt-text-secondary]\" i18n>{{ item.subtitle }}</span>\n </div>\n </div>\n <rolatech-icon class=\"scale-90 mr-3\">open_in_new</rolatech-icon>\n </div>\n </a>\n } @else {\n @if (item.button) {\n <a\n class=\"flex rolatech-drawer-button min-h-11 rounded-xl mb-2\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span i18n>{{ item.title }}</span>\n <span class=\"text-sm\" i18n>{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n } @else {\n <a\n id=\"endpoint\"\n class=\"flex hover:bg-[--rt-10-percent-layer] min-h-11 rt-guide-entry\"\n [routerLink]=\"item.link\"\n (click)=\"this.isPersistent ? '' : this.close()\"\n routerLinkActive=\"drawer-active\"\n [routerLinkActiveOptions]=\"{ exact: item.exact === false ? false : true }\"\n #routerLink=\"routerLinkActive\"\n >\n <div class=\"flex justify-between items-center w-full\">\n <div class=\"flex justify-start items-center\">\n @if (item.icon) {\n <rolatech-icon class=\"ml-3\" [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n }\n <div class=\"flex flex-col ml-3\">\n <span i18n>{{ item.title }}</span>\n <span class=\"text-sm text-[--rt-text-secondary]\" i18n>{{ item.subtitle }}</span>\n </div>\n </div>\n </div>\n </a>\n }\n }\n }\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, OnInit, PLATFORM_ID, Renderer2, ViewEncapsulation, inject, input } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\n\nexport interface MiniGuide {\n title: string;\n icon: string;\n link: string;\n}\n\n@Component({\n selector: 'rolatech-mini-guide',\n imports: [CommonModule, IconComponent, RouterLink, RouterLinkActive],\n templateUrl: './mini-guide.component.html',\n styleUrl: './mini-guide.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-mini-guide',\n class: 'rolatech-mini-guide',\n },\n})\nexport class MiniGuideComponent implements OnInit {\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n platformId = inject(PLATFORM_ID);\n breakpointObserver = inject(BreakpointObserver);\n items = input<MiniGuide[]>();\n title = input<boolean>(true);\n opened = false;\n disableToggle = false;\n readonly breakpoint$ = this.breakpointObserver.observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)']);\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.disableToggle = false;\n // this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n // this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n this.disableToggle = true;\n } else {\n this.disableToggle = false;\n // this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n // this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n }\n open() {\n this.opened = true;\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n this.renderer.removeAttribute(this.el.nativeElement, 'hidden');\n }\n close() {\n this.opened = false;\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n this.renderer.setAttribute(this.el.nativeElement, 'hidden', '');\n }\n toggle() {\n if (this.disableToggle) {\n this.close();\n return;\n }\n if (this.opened) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","<div id=\"items\" class=\"w-16 mt-[6px]\" style=\"transition-duration: 200ms\">\n @for (item of items(); track $index) {\n <div>\n <a\n id=\"min-guide-endpoint\"\n [routerLink]=\"item.link\"\n routerLinkActive=\"min-guide-active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #routerLink=\"routerLinkActive\"\n class=\"flex flex-col justify-center items-center py-3 rt-guide-entry\"\n >\n <rolatech-icon [filled]=\"routerLink.isActive\">{{ item.icon }}</rolatech-icon>\n @if (title()) {\n <span class=\"text-xs mt-1 max-w-full truncate\">{{ item.title }}</span>\n }\n </a>\n </div>\n }\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n NgZone,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n@Component({\n selector: 'rolatech-page',\n imports: [CommonModule],\n templateUrl: './page.component.html',\n styleUrl: './page.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-page',\n class: 'rolatech-page rt-page',\n ngSkipHydration: '',\n },\n})\nexport class AppPageComponent implements OnInit, AfterContentInit {\n el = inject(ElementRef<HTMLElement>);\n constructor() {}\n\n ngOnInit(): void {}\n ngAfterContentInit() {}\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChild,\n inject,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TopbarComponent } from '../topbar/topbar.component';\nimport { DrawerComponent, LINK } from '../drawer/drawer.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { distinctUntilChanged, map, Subject } from 'rxjs';\nimport { APP_LAYOUT } from '../../provider';\nimport { MiniGuideComponent } from '../mini-guide/mini-guide.component';\nimport { AppPageComponent } from '../page/page.component';\nimport { ViewportRuler } from '@angular/cdk/scrolling';\nimport { Platform } from '@angular/cdk/platform';\nconst EXTRA_SMALL_WIDTH_BREAKPOINT = 768;\n\n@Component({\n selector: 'rolatech-layout',\n imports: [CommonModule, MatListModule, MatButtonModule, MatIconModule, MatSidenavModule],\n templateUrl: './layout.component.html',\n styleUrl: './layout.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n id: 'rolatech-layout',\n class: 'rolatech-layout',\n ngSkipHydration: '',\n },\n})\nexport class LayoutComponent implements OnInit, AfterContentInit {\n appLayout = inject(APP_LAYOUT);\n viewportRuler = inject(ViewportRuler);\n el = inject(ElementRef<HTMLElement>);\n renderer = inject(Renderer2);\n _platform = inject(Platform);\n\n breakpointObserver = inject(BreakpointObserver);\n topbar = contentChild.required(TopbarComponent);\n drawer = contentChild.required(DrawerComponent);\n page = contentChild.required(AppPageComponent);\n guide = contentChild.required(MiniGuideComponent);\n readonly breakpoint$ = this.breakpointObserver\n .observe([Breakpoints.Large, Breakpoints.Medium, '(max-width: 768px)'])\n .pipe(distinctUntilChanged());\n constructor() {}\n ngAfterContentInit(): void {\n this.renderer.setAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this._platform.isBrowser) {\n this.init();\n }\n }\n\n ngOnInit() {}\n open() {}\n close() {}\n toggle() {}\n init() {\n this.renderer.removeAttribute(this.page().el.nativeElement, 'transparent', '');\n if (this.topbar()) {\n this.topbar().appDrawer = this.drawer();\n }\n if (this.appLayout.guide) {\n this.topbar().miniGuide = this.guide();\n }\n if (this.appLayout.guide) {\n this.breakpoint$.subscribe(() => this.breakpointChanged());\n }\n\n this.breakpointObserver\n .observe(`(max-width: ${EXTRA_SMALL_WIDTH_BREAKPOINT}px)`)\n .pipe(map((result) => result.matches))\n .subscribe({\n next: (res) => {\n if (res) {\n this.renderer.removeAttribute(this.el.nativeElement, 'persistent');\n } else {\n this.renderer.setAttribute(this.el.nativeElement, 'persistent', '');\n }\n },\n });\n }\n private breakpointChanged() {\n if (this.breakpointObserver.isMatched(Breakpoints.Large)) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n } else if (this.breakpointObserver.isMatched(Breakpoints.Medium)) {\n this.renderer.setAttribute(this.el.nativeElement, 'mini-guide-visible', '');\n } else if (this.breakpointObserver.isMatched('(max-width: 768px)')) {\n this.renderer.removeAttribute(this.el.nativeElement, 'mini-guide-visible');\n }\n }\n}\n","<ng-content select=\"rolatech-topbar\"></ng-content>\n<ng-content select=\"rolatech-drawer\"></ng-content>\n<ng-content select=\"rolatech-mini-guide\"></ng-content>\n<ng-content select=\"rolatech-page\"></ng-content>\n<ng-content select=\"rolatech-footer\"></ng-content>\n","import { Component, HostBinding, ViewEncapsulation, computed, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-footer',\n imports: [CommonModule],\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterComponent {\n @HostBinding('id') hostId = 'rolatech-footer';\n @HostBinding('class.rolatech-footer') hasClass = true;\n config = inject(APP_CONFIG);\n title = input<string>();\n copyright = input<string>('');\n fTitle = computed(() => this.title() || this.config.name);\n fCopyright = computed(() => this.copyright() || this.config.name);\n}\n","<div class=\"bg-[--rt-base-background] flex flex-col justify-between px-5 md:px-16 py-6\">\n <div class=\"flex flex-col md:flex-row md:gap-10 gap-3 py-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"flex justify-between items-end\">\n <div class=\"cursor-pointer\">\n <a href=\"/\" target=\"_blank\" class=\"text-lg font-bold\">{{ fTitle() }}</a>\n </div>\n <span class=\"text-sm\">©{{ fCopyright() }}</span>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-console-layout',\n imports: [CommonModule],\n templateUrl: './console-layout.component.html',\n styleUrl: './console-layout.component.scss',\n})\nexport class ConsoleLayoutComponent {}\n","<p>console-layout works!</p>\n","import { Component, PLATFORM_ID, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenuModule, MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-topbar-avatar-menu',\n imports: [CommonModule, MatSidenavModule, MatListModule, MatIconModule, MatMenuModule],\n templateUrl: './topbar-avatar-menu.component.html',\n styleUrl: './topbar-avatar-menu.component.scss',\n})\nexport class TopbarAvatarMenuComponent {\n environment = inject(APP_CONFIG);\n platformId = inject(PLATFORM_ID);\n menu = input.required<MatMenuPanel<any>>();\n avatar = input<string>();\n openMenu() {\n this.menu().focusFirstItem('mouse');\n }\n}\n","<div class=\"flex\">\n <a\n class=\"flex justify-center items-center rounded-full overflow-hidden cursor-pointer hover:outline-[--rt-raised-background] outline outline-transparent outline-4\"\n [matMenuTriggerFor]=\"menu()\"\n (click)=\"openMenu()\"\n >\n <div class=\"bg-[--rt-brand-color] w-9 h-9\">\n @if (avatar()) {\n <img class=\"w-9 h-9 object-cover\" [src]=\"avatar()\" alt />\n }\n </div>\n </a>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rolatech-folder',\n templateUrl: './folder.component.html',\n styleUrls: ['./folder.component.scss'],\n})\nexport class FolderComponent {}\n","<div></div>\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-media-preview-dialog',\n templateUrl: './media-preview-dialog.component.html',\n styleUrls: ['./media-preview-dialog.component.scss'],\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n})\nexport class MediaPreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<MediaPreviewDialogComponent>,\n ) {\n this.data.title = 'Preview';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center px-5\">\n @if (data.title) {\n <div class=\"text-md font-medium\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex-1 overflow-hidden overflow-y-auto\">\n <div class=\"p-3 flex justify-center items-center\">\n <img class=\"object-cover\" [src]=\"data.media[selected].url\" alt />\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center px-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\nconst MAT_MODULE = [\n A11yModule,\n ClipboardModule,\n CdkStepperModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n LayoutModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n PortalModule,\n ScrollingModule,\n];\n\n@NgModule({\n imports: [...MAT_MODULE],\n exports: [...MAT_MODULE],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { MaterialModule } from './material.module';\n\n@NgModule({\n imports: [MaterialModule],\n exports: [MaterialModule],\n})\nexport class AngularComponentsModule {}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, OnDestroy, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoadingService } from '@rolatech/angular-services';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'rolatech-spinner',\n imports: [CommonModule],\n templateUrl: './spinner.component.html',\n styleUrl: './spinner.component.scss',\n})\nexport class SpinnerComponent implements AfterViewInit, OnDestroy {\n title = input<string>();\n isLoading!: boolean;\n loadingSubscription!: Subscription;\n loadingService = inject(LoadingService);\n _elmRef = inject(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n\n ngAfterViewInit(): void {\n this._elmRef.nativeElement.style.display = 'none';\n this.loadingSubscription = this.loadingService.loading$.pipe().subscribe((status: boolean) => {\n this._elmRef.nativeElement.style.display = status ? 'block' : 'none';\n this._changeDetectorRef.detectChanges();\n this.isLoading = status;\n });\n }\n ngOnDestroy(): void {\n if (this.loadingSubscription) this.loadingSubscription.unsubscribe();\n }\n}\n","<div class=\"flex justify-center\">\n <div class=\"lds-spinner\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n</div>\n","import { Component, inject, input, output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AngularCommonModule, Media } from '@rolatech/angular-common';\nimport { MediaPreviewDialogComponent } from '../media-preview-dialog/media-preview-dialog.component';\nimport { AngularComponentsModule } from '../angular-components.module';\nimport { SpinnerComponent } from '../spinner/spinner.component';\n\n@Component({\n imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent],\n selector: 'rolatech-media-upload',\n templateUrl: './media-upload.component.html',\n styleUrls: ['./media-upload.component.scss'],\n})\nexport class MediaUploadComponent {\n title = input<string>('上传图片');\n subtitle = input<string>('文件大小');\n description = input<string>('不能超过5MB');\n isUploading = input<boolean>(false);\n\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n media: Media[] = [];\n dialog = inject(MatDialog);\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onMediaClick(i: any) {\n const dialogRef = this.dialog.open(MediaPreviewDialogComponent, {\n maxWidth: '80vw',\n maxHeight: '80vh',\n height: '80%',\n width: '80%',\n panelClass: 'full-screen-modal',\n data: {\n media: this.media,\n selected: i,\n },\n });\n dialogRef.afterClosed().subscribe((result) => {});\n }\n onUpload(event: any) {\n const file = event.target.files[0];\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.media as any).push({\n url: reader.result,\n alt: 'upload image',\n });\n const formData = new FormData();\n formData.append('file', file);\n this.upload.emit(formData);\n };\n }\n }\n}\n","<div class=\"bg-[--rt-raised-background] rounded p-6 min-h-[320px] flex items-center justify-center\">\n @if (isUploading()) {\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"p-3\">\n <mat-icon>upload</mat-icon>\n </div>\n <div class=\"flex flex-col items-center justify-center\">\n <div class=\"font-lg font-bold py-3\">{{ title() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ subtitle() }}</div>\n <div class=\"font-sm text-[--rt-text-secondary]\">{{ description() }}</div>\n </div>\n <div class=\"py-2\">\n <input style=\"display: none\" type=\"file\" (change)=\"onUpload($event)\" #fileInput />\n <button mat-flat-button (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n </div>\n } @else {\n <rolatech-spinner title=\"Uploading\"></rolatech-spinner>\n }\n</div>\n<div class=\"flex flex-row\">\n @for (media of media; track $index) {\n <div (click)=\"onMediaClick($index)\" class=\"inline-flex flex-row mt-3 mr-3 cursor-pointer rounded-md\">\n <img class=\"rounded-md aspect-video object-cover w-32\" [src]=\"media.url\" alt />\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-bucket-create',\n templateUrl: './storage-bucket-create.component.html',\n styleUrls: ['./storage-bucket-create.component.scss'],\n imports: [MatFormFieldModule, MatInputModule, FormsModule],\n})\nexport class StorageBucketCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit(this.name());\n }\n}\n","<div>\n <mat-form-field>\n <mat-label i18n>Name</mat-label>\n <input matInput placeholder=\"Enter name\" [(ngModel)]=\"name\" i18n-placeholder />\n </mat-form-field>\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-file-upload',\n templateUrl: './storage-file-upload.component.html',\n styleUrls: ['./storage-file-upload.component.scss'],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatButtonModule, MatIconModule],\n})\nexport class StorageFileUploadComponent implements OnInit, DoCheck {\n title = input<string>();\n output = output<any>();\n\n fileData: any;\n progressInfos: any = [];\n isFinished = false;\n isUploaded = false;\n file: any;\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({\n title: this.title,\n file: this.file,\n });\n }\n selectFiles(event: any) {\n this.isFinished = false;\n this.file = event.target.files[0];\n event.target.value = '';\n }\n removeFile() {\n this.file = null;\n }\n}\n","<div>\n <mat-form-field>\n <mat-label>标题</mat-label>\n <input matInput placeholder=\"输入标题\" [(ngModel)]=\"title\" />\n </mat-form-field>\n\n <div class=\"mt-2\">\n <input #fileInput class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-raised-button (click)=\"fileInput.click()\">选择文件</button>\n </div>\n @if (file) {\n <div class=\"p-2 flex justify-between items-center\">\n <div>{{ file.name }}</div>\n <button matSuffix mat-icon-button (click)=\"removeFile()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n }\n</div>\n","import { Component, DoCheck, OnInit, input, output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { FormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n@Component({\n selector: 'rolatech-storage-folder-create',\n templateUrl: './storage-folder-create.component.html',\n styleUrls: ['./storage-folder-create.component.scss'],\n imports: [MatFormFieldModule, MatInputModule, FormsModule, MatCheckboxModule],\n})\nexport class StorageFolderCreateComponent implements OnInit, DoCheck {\n name = input<string>();\n isPublic = input<boolean>(true);\n output = output<any>();\n\n ngOnInit(): void {}\n ngDoCheck(): void {\n this.output.emit({ name: this.name(), isPublic: this.isPublic() });\n }\n}\n","<div>\n <mat-form-field>\n <mat-label i18n>Name</mat-label>\n <input matInput placeholder=\"Name\" [(ngModel)]=\"name\" i18n />\n </mat-form-field>\n <div class=\"flex flex-col\">\n <mat-checkbox [(ngModel)]=\"isPublic\" i18n>Public resources</mat-checkbox>\n <span class=\"text-sm text-[--rt-text-secondary] ml-2 mt-1\" i18n>文件夹为图片内容时, 请取消勾选此项</span>\n </div>\n</div>\n","import { Component, ViewEncapsulation, computed, effect, inject, input, model } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { APP_CONFIG } from '@rolatech/angular-common';\nexport interface MenuUser {\n name: string;\n avatar: string;\n email: string;\n username: string;\n}\n@Component({\n imports: [MatMenuModule, MatIconModule],\n selector: 'rolatech-menu-user',\n templateUrl: './menu-user.component.html',\n styleUrls: ['./menu-user.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MenuUserComponent {\n environment = inject(APP_CONFIG);\n myaccountUrl = this.environment.myaccountUrl;\n user = input<MenuUser | any>();\n title = input<string>();\n subtitle = input<string>();\n\n avatar = computed(() => {\n return this.user().avatar;\n });\n constructor() {\n // effect(() => {\n // this.data = this.user();\n // });\n }\n}\n","<div class=\"min-w-[256px]\">\n @if (user()) {\n <div class=\"px-6 py-3\">\n <div class=\"flex flex-row items-center\">\n <div class=\"mr-3 w-14 h-14 rounded-full bg-[--rt-brand-color]\">\n @if (user().avatar) {\n <img [src]=\"user().avatar\" class=\"w-14 h-14 object-cover rounded-full\" alt />\n }\n </div>\n <div class=\"flex flex-col\">\n <div>\n <div class=\"text-lg font-bold\">{{ title() ? title() : user().name }}</div>\n <div class=\"formated-string\">\n @if (subtitle()) {\n <span>@{{ subtitle() }}</span>\n } @else {\n <span>@{{ user().username }}</span>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <div class=\"flex justify-between items-center\">\n <a mat-menu-item [href]=\"myaccountUrl\" target=\"_blank\" class=\"px-6\">\n <span class=\"flex justify-between items-center\">\n <span class=\"pl-2\" i18n> Manage account </span>\n <span class=\"flex\"> <mat-icon>open_in_new</mat-icon></span>\n </span>\n </a>\n </div>\n</div>\n","import { Component, HostListener, OnDestroy, effect, inject, input, model } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';\nimport { APP_CONFIG } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-wechat-connect-dialog',\n templateUrl: './wechat-connect-dialog.component.html',\n styleUrls: ['./wechat-connect-dialog.component.scss'],\n})\nexport class WechatConnectDialogComponent {\n dialogRef = inject(MatDialogRef);\n environment = inject(APP_CONFIG);\n appId = model();\n redirectUri = model('');\n state = model();\n urlSafe!: SafeResourceUrl;\n sanitizer = inject(DomSanitizer);\n baseUrl = 'https://open.weixin.qq.com/connect/qrconnect';\n loaded = false;\n\n constructor() {\n effect(() => {\n // const encodedURI = encodeURI(this.redirectUri());\n const encodedURI = encodeURI('https://accounts.pinxiaoke.cn');\n const src = `${this.baseUrl}?appid=${this.appId()}&response_type=code&self_redirect=true&scope=snsapi_login&stylelite=1&redirect_uri=${encodedURI}&state=${this.state()}#wechat_redirect`;\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(src);\n this.loaded = true;\n });\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n @HostListener('window:message', ['$event'])\n onLogin(event: any): void {\n if (event.origin === this.environment.accountsUrl && event.data.code === 200) {\n this.dialogRef.close();\n }\n }\n}\n","<div class=\"flex flex-col p-3 items-center\">\n <div class=\"w-[190px] h-[190px]\">\n @if (loaded) {\n <iframe [src]=\"urlSafe\" class=\"w-full h-full inline\" scrolling=\"no\" frameBorder=\"no\"></iframe>\n }\n </div>\n</div>\n","import { filter } from 'rxjs';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogContent, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\nimport { HttpEventType, HttpResponse } from '@angular/common/http';\nimport { remove } from 'lodash';\nimport { Media } from '@rolatech/angular-common';\nimport { MediaService } from '@rolatech/angular-services';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { NgClass } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nexport interface PreMedia {\n url: string;\n alt: string;\n isUploading: boolean;\n isUploaded: boolean;\n file: File;\n}\n@Component({\n selector: 'rolatech-media-upload-dialog',\n templateUrl: './media-upload-dialog.component.html',\n styleUrls: ['./media-upload-dialog.component.scss'],\n imports: [MatDialogContent, MatButtonModule, NgClass, MatProgressSpinnerModule, MatDialogActions, MatDialogClose],\n})\nexport class MediaUploadDialogComponent implements OnInit {\n fileData: any;\n progressInfos: any = [];\n media: Media[] = [];\n preMedia: PreMedia[] = [];\n isFinished = false;\n\n isUploaded = false;\n\n constructor(\n public dialogRef: MatDialogRef<MediaUploadDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private mediaService: MediaService,\n ) {}\n\n ngOnInit(): void {}\n\n selectFiles(event: any) {\n this.isFinished = false;\n for (const file of event.target.files) {\n this.addImage(file);\n }\n event.target.value = '';\n }\n addImage(file: any) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n (this.preMedia as any).push({\n url: reader.result,\n alt: 'upload image',\n isUploading: false,\n isUploaded: false,\n file: file,\n });\n };\n reader.onerror = (error) => {};\n }\n removeImage(index: any) {\n this.preMedia.splice(index, 1);\n }\n uploadFiles() {\n for (let i = 0; i < this.preMedia.length; i++) {\n if (!this.preMedia[i].isUploaded) {\n this.upload(i, this.preMedia[i].file);\n }\n }\n }\n upload(idx: any, file: any) {\n this.progressInfos[idx] = { value: 0, fileName: file.name };\n const formData = new FormData();\n formData.append('file', file);\n this.preMedia[idx].isUploading = true;\n formData.append('groupId', this.data.groupId);\n\n this.mediaService.uploadAndSave(formData).subscribe({\n next: (res: any) => {\n this.media.push(res.data);\n this.preMedia[idx].isUploading = false;\n this.preMedia[idx].isUploaded = true;\n this.progressInfos[idx].value = 100;\n\n const tmp = this.progressInfos.filter((item: any) => item.value !== 100);\n if (tmp.length <= 0) {\n this.isFinished = true;\n }\n },\n error: (error: any) => {\n this.progressInfos[idx].value = 0;\n },\n });\n }\n}\n","<mat-dialog-content>\n <div class=\"border-dashed border-2 border-[--rt-border-color] py-12 flex flex-col justify-center items-center\">\n <input #fileInput multiple class=\"hidden\" type=\"file\" (change)=\"selectFiles($event)\" />\n <button mat-button (click)=\"fileInput.click()\" i18n>Upload</button>\n </div>\n <div class=\"mt-4\">\n <h2 class=\"\" i18n>Preview</h2>\n <div>\n <ul id=\"gallery\" class=\"flex flex-1 flex-wrap -m-1\">\n @for (item of preMedia; track item.url; let i = $index) {\n <li class=\"block p-1 w-1/2 sm:w-1/3 md:w-1/4 lg:w-1/6 xl:w-1/8 h-24\">\n <article\n tabindex=\"0\"\n [ngClass]=\"item.isUploading ? 'isUploading' : ''\"\n class=\"group hasImage w-full h-full rounded-md focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer relative text-transparent hover:text-white shadow-sm\"\n >\n <img [src]=\"item.url\" class=\"img-preview w-full h-full sticky object-cover rounded-md bg-fixed\" alt />\n <section class=\"flex flex-col rounded-md text-xs break-words w-full h-full z-20 absolute top-0 py-2 px-3\">\n @if (item.isUploading) {\n <div class=\"flex justify-center items-center w-full h-full\">\n <mat-spinner color=\"white\" diameter=\"28\"></mat-spinner>\n </div>\n } @else {\n <div class=\"flex\">\n <button\n (click)=\"removeImage(i)\"\n class=\"delete ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 rounded-md\"\n >\n <svg\n class=\"pointer-events-none fill-current w-4 h-4 ml-auto\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n >\n <path\n class=\"pointer-events-none\"\n d=\"M3 6l3 18h12l3-18h-18zm19-4v2h-20v-2h5.711c.9 0 1.631-1.099 1.631-2h5.316c0 .901.73 2 1.631 2h5.711z\"\n />\n </svg>\n </button>\n </div>\n }\n </section>\n </article>\n </li>\n }\n </ul>\n </div>\n @if (preMedia.length <= 0) {\n <div class=\"flex flex-1 flex-wrap\">\n <div class=\"h-full w-full text-center flex flex-col justify-center items-center py-6\">\n <span class=\"text-small text-[--rt-text-secondary]\">No files selected</span>\n </div>\n </div>\n }\n </div>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n @if (preMedia.length <= 0) {\n <button mat-button i18n>Awaiting</button>\n }\n @if (!isFinished && preMedia.length > 0) {\n <button mat-button (click)=\"uploadFiles()\" i18n>Upload</button>\n }\n @if (isFinished) {\n <button mat-button [mat-dialog-close]=\"media\" i18n>Donw</button>\n }\n</mat-dialog-actions>\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\nimport { Media } from '@rolatech/angular-common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'rolatech-media-list',\n templateUrl: './media-list.component.html',\n styleUrls: ['./media-list.component.scss'],\n imports: [MatProgressBarModule],\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-media-list',\n class: 'rolatech-media-list',\n },\n})\nexport class MediaListComponent {\n isUploading = input<boolean>();\n media = input<Media[]>();\n showAdd = input<boolean>(true);\n mediaItemClick = output<Media>();\n upload = output<FormData | null>();\n\n onMediaItemClick(item: Media) {\n this.mediaItemClick.emit(item);\n }\n onUpload(event: any) {\n this.upload.emit(event);\n }\n}\n","<div class=\"flex flex-row flex-wrap box-border items-center\">\n <div class=\"flex flex-row flex-wrap box-border items-center w-full\">\n <ng-content></ng-content>\n @if (showAdd()) {\n <div class=\"upload-button\">\n @if (!isUploading()) {\n <div\n class=\"flex flex-col items-center justify-center border border-[--rt-border-color] border-dashed rounded-md aspect-video cursor-pointer\"\n (click)=\"fileInput.click()\"\n >\n <input\n style=\"display: none\"\n type=\"file\"\n accept=\"image/*, video/*\"\n (change)=\"onUpload($event)\"\n #fileInput\n multiple\n />\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"48px\" viewBox=\"0 -960 960 960\" width=\"48px\" fill=\"#5f6368\">\n <path d=\"M444-444H240v-72h204v-204h72v204h204v72H516v204h-72v-204Z\" />\n </svg>\n </div>\n } @else {\n <div class=\"w-full py-1\">\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n </div>\n }\n </div>\n }\n </div>\n</div>\n","import { Component, input, output, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport { Media } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-media-list-item',\n templateUrl: './media-list-item.component.html',\n styleUrls: ['./media-list-item.component.scss'],\n imports: [MatButtonModule, MatMenuModule, MatIconModule, MatProgressBar],\n encapsulation: ViewEncapsulation.None,\n host: {\n id: 'rolatech-media-list-item',\n class: 'rolatech-media-list-item',\n },\n})\nexport class MediaListItemComponent {\n media = input.required<Media>();\n uploadProgress = input<number>(0);\n uploading = input<boolean | undefined>(false);\n\n mediaItemClick = output<{\n selected: number;\n media: Media;\n }>();\n deleteMedia = output<Media>();\n\n onMediaItemClick(event: any) {\n this.mediaItemClick.emit(event);\n }\n onDeleteMedia(media: Media) {\n this.deleteMedia.emit(media);\n }\n}\n","<div\n class=\"group media-list-item rounded-md relative hasImage focus:outline-none focus:shadow-outline bg-[--rt-raised-background] cursor-pointer text-transparent hover:text-white shadow-sm\"\n>\n <div class=\"absolute z-30 right-0 p-1 group-hover:bg-white\">\n <div class=\"flex-1\"></div>\n <div class=\"w-full\">\n <button\n mat-icon-button\n [matMenuTriggerFor]=\"beforeMenu\"\n class=\"ml-auto focus:outline-none hover:bg-[--rt-base-background] p-1 group-hover:bg-white\"\n >\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item (click)=\"onDeleteMedia(media())\">\n <span i18n>Delete</span>\n </button>\n </mat-menu>\n </div>\n </div>\n <div id=\"thumbnail\" class=\"thumbnail\">\n <img class=\"tile-media\" (click)=\"onMediaItemClick(media)\" [src]=\"media().url\" [alt]=\"media().alt\" />\n </div>\n <section\n (click)=\"onMediaItemClick(media())\"\n class=\"flex flex-col text-xs break-words w-full h-full z-20 absolute top-0\"\n ></section>\n</div>\n<div class=\"w-full py-1\">\n @if (uploading()) {\n <mat-progress-bar mode=\"indeterminate\"></mat-progress-bar>\n }\n</div>\n","import { Router, RouterEvent, NavigationEnd, Event } from '@angular/router';\nimport { Component, inject, OnInit } from '@angular/core';\nimport { filter } from 'rxjs';\n\n@Component({\n selector: 'rolatech-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss'],\n})\nexport class NotFoundComponent implements OnInit {\n url!: string;\n router = inject(Router)\n constructor() {\n this.router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n\n ngOnInit() {\n this.router.events.pipe(filter((e: Event) => e instanceof RouterEvent)).subscribe((e) => {\n if (e instanceof NavigationEnd) {\n this.url = e.url;\n }\n });\n }\n}\n","<div class=\"not-found-content\">\n <p>\n <b>404.</b>\n <ins>That’s an error.</ins>\n </p>\n <p>\n The requested URL <code>{{ url }}</code> not found on this server.\n </p>\n <a href=\"/\">return home</a>\n</div>\n","import { Component, inject, Inject, OnInit } from '@angular/core';\nimport {\n MatDialogRef,\n MAT_DIALOG_DATA,\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatDialogClose,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\n\nexport interface DialogData {\n title: string;\n message: string;\n}\n\n@Component({\n selector: 'rolatech-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule, MatDialogClose],\n})\nexport class ConfirmationDialogComponent {\n data: DialogData = inject(MAT_DIALOG_DATA);\n dialogRef!: MatDialogRef<ConfirmationDialogComponent>;\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","@if (data.title) {\n <h2 mat-dialog-title>{{ data.title }}</h2>\n}\n<div mat-dialog-content>\n {{ data.message }}\n</div>\n<div mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n>Cancel</button>\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial i18n>Ok</button>\n</div>\n","import { Component, DoCheck, OnInit, output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\ndeclare global {\n interface Window {\n qq: any;\n TMap: any;\n }\n}\n\n@Component({\n selector: 'rolatech-location-selector',\n imports: [MatFormFieldModule, MatSelectModule, FormsModule, MatOptionModule, MatInputModule, MatIconModule, MatButtonModule],\n templateUrl: './location-selector.component.html',\n styleUrl: './location-selector.component.scss',\n})\nexport class LocationSelectorComponent implements OnInit, DoCheck {\n map: any;\n markers: any;\n lists: any;\n infoWindowList = Array(10);\n selectedLocation: any;\n cities: string[] = ['北京', '上海'];\n region = '北京';\n output = output<any>();\n\n ngOnInit(): void {\n this.init();\n }\n ngDoCheck(): void {\n this.output.emit(this.selectedLocation);\n }\n init() {\n const map = new window.TMap.Map(document.getElementById('map-container'), {\n // 地图的中心地理坐标。\n center: new window.TMap.LatLng(40.0402718, 116.2735831),\n resizeEnable: true,\n zoom: 14,\n });\n const markers = new window.TMap.MultiMarker({\n map: map,\n geometries: [],\n });\n this.map = map;\n this.markers = markers;\n }\n onSearchChange(event: any) {\n const value = event.target.value;\n const suggest = new window.TMap.service.Suggestion({\n pageSize: 15, // 返回结果每页条目数\n region: this.region, // 限制城市范围\n regionFix: true, // 搜索无结果时是否固定在当前城市\n });\n if (value) {\n suggest\n .getSuggestions({ keyword: value, location: this.map.getCenter() })\n .then((result: any) => {\n this.lists = result.data;\n })\n .catch((error: any) => {});\n }\n }\n setLocation(index: any) {\n this.infoWindowList.forEach((infoWindow) => {\n infoWindow.close();\n });\n this.infoWindowList.length = 0;\n const item = this.lists[index];\n this.selectedLocation = item;\n this.lists = [];\n this.markers.setGeometries([]);\n this.markers.updateGeometries([\n {\n id: '0', // 点标注数据数组\n position: item.location,\n },\n ]);\n\n const infoWindow = new window.TMap.InfoWindow({\n map: this.map,\n position: item.location,\n content: `<h3>${item.title}</h3><p>地址:${item.address}</p>`,\n offset: { x: 0, y: -50 },\n });\n this.infoWindowList.push(infoWindow);\n this.map.setCenter(item.location);\n this.markers.on('click', (e: any) => {\n this.infoWindowList[Number(e.geometry.id)].open();\n });\n }\n selectionChange(event: any) {}\n}\n","<div class=\"h-full\">\n <div class=\"relative h-full\">\n <div id=\"map-container\" class=\"h-full\"></div>\n <div class=\"absolute bg-white z-[9999] top-[30px] left-[30px]\">\n <div class=\"flex gap-3 px-3 pt-3\">\n <mat-form-field appearance=\"fill\" [style.width.px]=\"180\">\n <mat-label>城市</mat-label>\n <mat-select #select=\"matSelect\" [(ngModel)]=\"region\" (selectionChange)=\"selectionChange($event)\">\n @for (city of cities; track city) {\n <mat-option [value]=\"city\">\n {{ city }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <input matInput placeholder=\"输入关键字搜索\" (input)=\"onSearchChange($event)\" />\n </mat-form-field>\n </div>\n <div class=\"max-h-[320px] overflow-scroll pb-3 bg-white\">\n @for (item of lists; track item; let index = $index) {\n <div (click)=\"setLocation(index)\" class=\"cursor-pointer\">\n <div class=\"p-3 flex items-center gap-2 hover:bg-[--rt-raised-background]\">\n <mat-icon fontIcon=\"location_on\"></mat-icon>\n <div class=\"text-sm font-thin\">{{ item.title }}</div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-filter',\n imports: [CommonModule],\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n})\nexport class FilterComponent {}\n","<ng-content></ng-content>\n","import { Component, DoCheck, model, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-confirmation',\n imports: [CommonModule],\n templateUrl: './confirmation.component.html',\n styleUrl: './confirmation.component.scss',\n})\nexport class ConfirmationComponent {\n message = model();\n}\n","<div>\n {{ message() }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, HostListener, inject, Input, signal, ViewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'rolatech-search-icon',\n imports: [MatButtonModule, MatIcon, CommonModule],\n templateUrl: './search-icon.html',\n styleUrl: './search-icon.scss',\n})\nexport class SearchIcon {\n private router = inject(Router);\n private route = inject(ActivatedRoute);\n\n @Input() placeholder = 'Search titles, people, genres';\n /** query param name to write, e.g. \"q\" */\n @Input() param = 'q';\n\n open = signal(false);\n model: { q?: string } = {};\n\n @ViewChild('qInput') qInput?: ElementRef<HTMLInputElement>;\n\n toggle() {\n this.open.update(v => !v);\n if (this.open()) queueMicrotask(() => this.qInput?.nativeElement?.focus());\n }\n close() { this.open.set(false); }\n\n clear() {\n this.model.q = '';\n queueMicrotask(() => this.qInput?.nativeElement?.focus());\n }\n\n onInput(ev: Event) {\n this.model.q = (ev.target as HTMLInputElement).value;\n }\n\n submit() {\n const val = (this.model.q ?? '').trim();\n const queryParams = val ? { [this.param]: val, page: 1 } : { [this.param]: null, page: 1 };\n this.router.navigate([], { queryParams, queryParamsHandling: 'merge' });\n this.close();\n }\n\n @HostListener('document:keydown.escape')\n onDocEsc() { if (this.open()) this.close(); }\n}\n","<div\n class=\"absolute right-0 top-1/2 -translate-y-1/2 z-50 flex items-center gap-2 h-9 px-2 rounded-md border border-transparent bg-transparent shadow-none transition-all duration-300 ease-out\"\n [ngClass]=\"{\n 'w-9': !open(),\n 'w-[min(92vw,520px)]': open(),\n 'bg-black/80': open(),\n 'border-white/50': open(),\n 'shadow-lg': open()\n }\"\n (keydown.escape)=\"close()\"\n>\n <!-- leading icon -->\n <!-- <svg class=\"w-5 h-5 text-white/90 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21 21l-4.35-4.35m1.1-5.4a7.5 7.5 0 11-15 0 7.5 7.5 0 0115 0z\" />\n </svg> -->\n <mat-icon>search</mat-icon>\n\n <!-- input -->\n <input\n #qInput\n class=\"border-0 outline-none bg-transparent text-white text-sm transition-all duration-300 ease-out\"\n [ngClass]=\"{\n 'w-0 opacity-0': !open(),\n 'w-full opacity-100': open()\n }\"\n [placeholder]=\"placeholder\"\n [value]=\"model.q ?? ''\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"submit()\"\n />\n\n <!-- clear -->\n @if (open() && (model.q?.length ?? 0) > 0) {\n <button\n type=\"button\"\n class=\"min-w-0 w-8 h-8 grid place-items-center rounded-full hover:bg-white/10\"\n (click)=\"clear()\"\n aria-label=\"Clear\"\n >\n <!-- <svg class=\"w-4 h-4 text-white/80\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg> -->\n <mat-icon>search</mat-icon>\n </button>\n }\n</div>\n","import { Component, effect, ElementRef, model, output, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'rolatech-search-bar',\n imports: [MatButtonModule, MatIcon, MatFormFieldModule, MatInputModule, FormsModule],\n templateUrl: './search-bar.html',\n styleUrl: './search-bar.scss',\n})\nexport class SearchBar {\n show = model<boolean>(false)\n search = output<string>()\n close = output()\n isComposing = false;\n qInput = viewChild.required<ElementRef<HTMLInputElement>>('qInput')\n text = ''\n\n constructor() {\n effect(() => {\n if (this.show()) {\n queueMicrotask(() => this.qInput().nativeElement.focus());\n }\n\n });\n }\n onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey && !this.isComposing) {\n e.preventDefault();\n this.onSearch();\n }\n }\n onClose() {\n this.text = ''\n queueMicrotask(() => this.qInput().nativeElement.focus());\n this.close.emit()\n }\n onSearch() {\n this.search.emit(this.text)\n }\n onCompositionStart() {\n this.isComposing = true;\n }\n\n onCompositionEnd() {\n this.isComposing = false;\n }\n}\n","@if (show()) {\n<div class=\"p-2 flex flex-row items-center justify-between\" animate.enter=\"expanded\">\n <mat-form-field appearance=\"fill\" class=\"w-full\" subscriptSizing=\"dynamic\">\n <mat-icon matPrefix>search</mat-icon>\n <input\n #qInput\n matInput\n placeholder=\"Search properties\"\n [(ngModel)]=\"text\"\n (keydown)=\"onKeydown($event)\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n />\n @if (qInput.value.length) {\n <button matSuffix mat-icon-button type=\"button\" (click)=\"onClose()\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n</div>\n}\n","import { MatDialog } from '@angular/material/dialog';\nimport { DestroyRef, inject, PLATFORM_ID } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DialogService, NavigationService, SnackBarService, TitleService } from '@rolatech/angular-services';\nimport { isPlatformBrowser } from '@angular/common';\n\nexport class BaseComponent {\n platformId = inject(PLATFORM_ID);\n route = inject(ActivatedRoute);\n router = inject(Router);\n id = this.route.snapshot.params['id'];\n dialogService = inject(DialogService);\n dialog = inject(MatDialog);\n snackBarService = inject(SnackBarService);\n titleService = inject(TitleService);\n navigation = inject(NavigationService);\n isBrowser = isPlatformBrowser(this.platformId);\n destroyRef = inject(DestroyRef);\n}\n","import { Component, Directive, Input, WritableSignal, signal } from '@angular/core';\nimport { BaseComponent } from './base.component';\n\n@Directive()\nexport abstract class Loading extends BaseComponent {\n private readonly loadingSignal = signal(false);\n\n @Input()\n set loading(value: boolean) {\n this.loadingSignal.set(!!value);\n }\n\n get loading(): WritableSignal<boolean> {\n return this.loadingSignal;\n }\n}\n","import { Component, OnInit, computed, effect, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { RouterModule } from '@angular/router';\nimport { CdkTableDataSourceInput } from '@angular/cdk/table';\nimport { map } from 'lodash';\nexport interface Column {\n ref: string;\n name: string;\n}\nexport interface TableData<T> {\n columns: Column[];\n data: CdkTableDataSourceInput<T>;\n}\n\n@Component({\n selector: 'rolatech-table',\n imports: [CommonModule, MatTableModule, RouterModule],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n})\nexport class TableComponent implements OnInit {\n dataSource = input.required<TableData<any>>();\n displayedColumns: string[] = [];\n ngOnInit(): void {\n this.displayedColumns = map(this.dataSource().columns, 'ref');\n }\n}\n","<table mat-table [dataSource]=\"dataSource().data\">\n @for (column of dataSource().columns; track $index) {\n <ng-container [matColumnDef]=\"column.ref\" sticky>\n <th mat-header-cell *matHeaderCellDef>{{ column.name }}</th>\n <td mat-cell *matCellDef=\"let item\">{{ item[column.ref] }}</td>\n </ng-container>\n }\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\n</table>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-paginator',\n imports: [CommonModule, MatButtonModule, MatIconModule],\n templateUrl: './paginator.component.html',\n styleUrl: './paginator.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PaginatorComponent {\n prevClick() {}\n nextClick() {}\n}\n","<div class=\"flex h-14 items-center\">\n <button mat-icon-button (click)=\"prevClick()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div></div>\n <button mat-icon-button (click)=\"nextClick()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-media-preview',\n imports: [CommonModule],\n templateUrl: './media-preview.component.html',\n styleUrl: './media-preview.component.scss',\n})\nexport class MediaPreviewComponent {}\n","<p>media-preview works!</p>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconButtonComponent } from '../icon-button/icon-button.component';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport { MatDivider } from '@angular/material/divider';\n\n@Component({\n selector: 'rolatech-toolbar',\n imports: [CommonModule, RouterLink, IconButtonComponent, BackButtonDirective, MatDivider],\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ToolbarComponent {\n @HostBinding('id') hasId = 'rolatech-toolbar';\n @HostBinding('class.rolatech-toolbar') hasClass = true;\n title = input();\n subtitle = input();\n back = input(false, { transform: booleanAttribute });\n link = input('');\n large = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n}\n","<div class=\"flex justify-between items-center\" [ngClass]=\"subtitle() ? 'h-16' : 'h-14'\">\n <ng-container>\n @if (back()) {\n <rolatech-icon-button rolatechBackButton class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n @if (link()) {\n <rolatech-icon-button [routerLink]=\"link()\" class=\"left-button\">arrow_back</rolatech-icon-button>\n }\n </ng-container>\n @if (title()) {\n @if (large()) {\n <span class=\"text-2xl font-bold\" i18n>{{ title() }}</span>\n } @else {\n <span class=\"text-xl font-bold\" i18n>{{ title() }}</span>\n }\n }\n <div class=\"flex-1\"></div>\n <div class=\"flex justify-center items-center gap-3\">\n <ng-content></ng-content>\n </div>\n</div>\n@if (subtitle()) {\n <div class=\"-mt-4 mb-2 leading-none\" [ngClass]=\"back() || link() ? 'ml-[40px]' : ''\">\n <span class=\"text-sm text-[--rt-text-secondary]\" i18n>{{ subtitle() }}</span>\n </div>\n}\n@if (divider()) {\n <mat-divider></mat-divider>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Renderer2,\n ViewEncapsulation,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-thumbnail',\n imports: [CommonModule, ImageComponent],\n templateUrl: './thumbnail.component.html',\n styleUrl: './thumbnail.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ThumbnailComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n @HostBinding('style.--rt-thumbnail-padding-top') myColor = '56.25%';\n el = inject(ElementRef<HTMLElement>);\n src = input<string>();\n size = input<string>();\n mode = input('clip'); // full, clip\n ratio = input('rectangle'); // rectangle, square\n img = viewChild.required<ElementRef>('img');\n width = input<number | undefined>();\n height = input<number | undefined>();\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size()!);\n });\n full = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'mode', this.mode());\n if (this.mode() === 'full') {\n if (this.width() && this.height()) {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', this.width()! / this.height()!);\n } else {\n if (this.ratio() == 'square') {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 1);\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'aspect-ratio', 16 / 9);\n }\n }\n }\n });\n ratioSet = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'ratio', this.ratio());\n });\n}\n","<div #edge class=\"absolute top-0 left-0\"></div>\n@defer (on viewport(edge)) {\n <a id=\"thumbnail\" class=\"rt-thumbnail\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-raised-background] w-full h-full rounded-lg\"></div>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image',\n imports: [CommonModule],\n templateUrl: './image.component.html',\n styleUrl: './image.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageComponent implements OnInit {\n @HostBinding('id') hasId = 'rolatech-image';\n @HostBinding('class.rt-image') hasClass = true;\n src = input<string>();\n img = viewChild.required<ElementRef>('img');\n ngOnInit(): void {\n const image = this.img().nativeElement;\n image.onload = () => {\n image.style.visibility = 'visible';\n };\n }\n}\n","<img #img class=\"rolatech-image bg-[--rt-base-background]\" [src]=\"src()\" style=\"visibility: hidden\" loading=\"lazy\" alt />\n","import { Component, ElementRef, HostBinding, ViewEncapsulation, input, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-tab',\n imports: [CommonModule],\n templateUrl: './tab.component.html',\n styleUrl: './tab.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class TabComponent {\n @HostBinding('id') hasId = 'tab';\n @HostBinding('class.tab') hasClass = true;\n label = input.required();\n item = viewChild<ElementRef>('content');\n}\n","<div class=\"content\" #content>\n <span i18n>{{ label() }}</span>\n</div>\n","import {\n AfterContentInit,\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n contentChildren,\n inject,\n input,\n model,\n viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TabComponent } from '../tab/tab.component';\nimport { Platform } from '@angular/cdk/platform';\n\n@Component({\n selector: 'rolatech-tabs',\n imports: [CommonModule],\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n ngSkipHydration: '',\n class: 'rolatech-tabs',\n },\n})\nexport class TabsComponent implements OnInit, AfterViewInit, AfterContentInit {\n ngAfterContentInit(): void {\n // this.init();\n }\n renderer = inject(Renderer2);\n tabs = contentChildren(TabComponent, { read: ElementRef });\n selectionBar = viewChild.required('selectionBar', { read: ElementRef });\n select = model(0);\n loading = input(false);\n preSelect = 0;\n clientWidths: number[] = [];\n protected _isServer = !inject(Platform).isBrowser;\n\n ngOnInit(): void {}\n ngAfterViewInit() {\n this.init();\n }\n init() {\n const gap = 24; // 24 = 2 * margin-left\n // const gap = 20;\n this.tabs()[this.select()].nativeElement.setAttribute('style-target', 'host');\n const selectionBarElement = this.selectionBar().nativeElement;\n selectionBarElement.setAttribute('style-target', 'selection-bar');\n // selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n setTimeout(() => {\n selectionBarElement.setAttribute('transition-target', 'selection-bar-transition');\n }, 10);\n this.tabs().forEach((element, index) => {\n this.clientWidths.push(element.nativeElement.clientWidth);\n this.renderer.listen(element.nativeElement, 'click', () => {\n this.select.set(index);\n this.tabs()[this.preSelect].nativeElement.removeAttribute('style-target');\n this.tabs()[index].nativeElement.setAttribute('style-target', 'host');\n selectionBarElement.style.left = this.getOffset(index) + 'px';\n selectionBarElement.style.width = element.nativeElement.clientWidth - gap + 'px';\n this.preSelect = index;\n });\n });\n selectionBarElement.style.left = this.getOffset(this.select()) + 'px';\n selectionBarElement.style.width = this.clientWidths[this.select()] - gap + 'px';\n this.preSelect = this.select();\n }\n getOffset(index: number): number {\n let offset = 8 * (index + 1); // rolatech-tab margin-left: 8px\n for (let i = 0; i < index; i++) {\n offset += this.clientWidths[i];\n }\n return offset;\n }\n}\n","<!-- <rolatech-icon-button>chevron_left</rolatech-icon-button> -->\n<div id=\"tabsContainer\" class=\"h-full\">\n <div id=\"tabsContent\" class=\"flex flex-row h-full\" style-target=\"selection-bar\">\n <div #selectionBar id=\"selectionBar\" class=\"selection-bar\"></div>\n @for (tab of tabs(); track $index) {\n <ng-content></ng-content>\n }\n </div>\n</div>\n<!-- <rolatech-icon-button>chevron_right</rolatech-icon-button> -->\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-list',\n imports: [CommonModule],\n templateUrl: './list.component.html',\n styleUrl: './list.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ListComponent {\n @HostBinding('id') id = 'rolatech-list';\n @HostBinding('class.rolatech-list') hasClass = true;\n}\n","<div class=\"flex flex-col divide-y divide-[--rt-10-percent-layer]\">\n <ng-content></ng-content>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-content',\n imports: [CommonModule],\n templateUrl: './content.component.html',\n styleUrl: './content.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ContentComponent {}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n PLATFORM_ID,\n Renderer2,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon, MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nconst CHEVRON_LEFT = `\n<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg>\n`;\nconst CHEVRON_RIGHT = `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg>\n`;\n@Component({\n selector: 'rolatech-chip-bar',\n imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule],\n templateUrl: './chip-bar.component.html',\n styleUrl: './chip-bar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipBarComponent implements AfterViewInit {\n @HostBinding('id') hasId = 'rolatech-chip-bar';\n @HostBinding('class.rolatech-chip-bar') hasClass = true;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n private resizeObserver!: ResizeObserver;\n private chips = viewChild('chips', { read: ElementRef });\n private scroller = viewChild.required('scroller', { read: ElementRef });\n router = input('../courses/categories/');\n items = input<any[]>([]);\n fluid = input(false, { transform: booleanAttribute });\n fixed = input(false, { transform: booleanAttribute });\n platformId = inject(PLATFORM_ID);\n clientWidth = 0;\n scrollWidth = 0;\n scrollLeft = 0;\n constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n iconRegistry.addSvgIconLiteral('chevron_left', sanitizer.bypassSecurityTrustHtml(CHEVRON_LEFT));\n iconRegistry.addSvgIconLiteral('chevron_right', sanitizer.bypassSecurityTrustHtml(CHEVRON_RIGHT));\n effect(() => {\n if (this.fixed()) {\n this.el.nativeElement.setAttribute('fixed', '');\n } else {\n this.el.nativeElement.removeAttribute('fixed');\n }\n });\n }\n ngAfterViewInit(): void {\n this.clientWidth = this.el.nativeElement.clientWidth;\n this.scrollWidth = this.scroller()?.nativeElement.scrollWidth;\n this.el.nativeElement.setAttribute('at-start', '');\n this.el.nativeElement.setAttribute('fluid-width', '');\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n this.setCustomProperties(entry.contentRect.width);\n this.init();\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n setCustomProperties(width: number) {\n this.clientWidth = width;\n this.el.nativeElement.style.setProperty('--rt-rich-grid-chips-bar-width', width + 'px');\n }\n init() {\n // fix: this.scrollWidth 1365.11 ~ 1366, this.scrollWidth - 1\n if (this.clientWidth + this.scrollLeft > this.scrollWidth - 1) {\n this.el.nativeElement.setAttribute('at-end', '');\n } else {\n this.el.nativeElement.removeAttribute('at-end', '');\n }\n }\n onScroll(event: any) {\n this.scrollLeft = event.target.scrollLeft;\n this.init();\n if (this.scrollLeft > 0) {\n this.el.nativeElement.removeAttribute('at-start', '');\n } else {\n this.el.nativeElement.setAttribute('at-start', '');\n }\n }\n\n leftArrowClick() {\n this.scroller().nativeElement.scrollLeft -= 320;\n }\n rightArrowClick() {\n this.scroller().nativeElement.scrollLeft += 320;\n }\n}\n","<div id=\"chips-wrapper\" class=\"rolatech-chip-bar\">\n <div id=\"chips-content\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"left-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"leftArrowClick()\">\n <mat-icon>chevron_left</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_left\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"M14.96 18.96 8 12l6.96-6.96.71.71L9.41 12l6.25 6.25-.7.71z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n <div\n id=\"scroll-container\"\n #scroller\n class=\"rolatech-chip-bar overflow-x-scroll overflow-y-hidden scrollbar-hide\"\n (scroll)=\"onScroll($event)\"\n >\n <div id=\"chips\" #chips class=\"rolatech-chip-bar inline-block\">\n @for (link of items(); track link; let index = $index) {\n <a\n id=\"chip-item\"\n class=\"rolatech-chip-bar h-8 cursor-pointer bg-[--rt-10-percent-layer] rounded-md inline-flex items-center px-3 m-3 ml-0\"\n routerLinkActive=\"chip-bar-active\"\n [routerLink]=\"[router(), link.link]\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span class=\"px-3 text-md\">{{ link.name }}</span>\n </a>\n }\n </div>\n </div>\n <div id=\"right-arrow\" class=\"rolatech-chip-bar\">\n <div id=\"right-arrow-button\" class=\"rolatech-chip-bar\">\n <button mat-icon-button (click)=\"rightArrowClick()\">\n <mat-icon>chevron_right</mat-icon>\n <!-- <mat-icon svgIcon=\"chevron_right\"></mat-icon> -->\n\n <!-- <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n focusable=\"false\"\n style=\"pointer-events: none; display: inherit; width: 100%; height: 100%\"\n >\n <path d=\"m9.4 18.4-.7-.7 5.6-5.6-5.7-5.7.7-.7 6.4 6.4-6.3 6.3z\"></path>\n </svg> -->\n </button>\n </div>\n </div>\n </div>\n</div>\n","import { Component, ElementRef, HostBinding, Renderer2, ViewEncapsulation, effect, inject, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ImageComponent } from '../image/image.component';\n\n@Component({\n selector: 'rolatech-avatar',\n imports: [CommonModule, ImageComponent],\n templateUrl: './avatar.component.html',\n styleUrl: './avatar.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent {\n @HostBinding('class.rt-rich-grid-media') hasClass = true;\n src = input<string>();\n size = input.required<string>();\n el = inject(ElementRef);\n renderer = inject(Renderer2);\n sizea = effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'size', this.size());\n });\n}\n","@defer (on viewport()) {\n <a id=\"avatar\" class=\"rt-avatar\">\n <rolatech-image [src]=\"src()\"> </rolatech-image>\n </a>\n} @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] w-full h-full rounded-lg\"></div>\n}\n","import { Component, effect, ElementRef, inject, input, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-image-placeholder',\n imports: [CommonModule],\n templateUrl: './image-placeholder.component.html',\n styleUrl: './image-placeholder.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePlaceholderComponent implements OnInit {\n renderer = inject(Renderer2);\n el = inject(ElementRef<HTMLElement>);\n ratio = input('rectangle'); // rectangle, square\n constructor() {\n effect(() => {\n this.renderer.setAttribute(this.el.nativeElement, 'ratio', this.ratio());\n })\n }\n\n ngOnInit(): void {\n\n }\n}\n","<div class=\"w-full h-full flex justify-center items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm40-80h480L570-480 450-320l-90-120-120 160Zm-40 80v-560 560Z\"\n />\n </svg>\n</div>\n","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-image-preview-dialog',\n templateUrl: './image-preview-dialog.component.html',\n styleUrls: ['./image-preview-dialog.component.scss'],\n imports: [MatIconModule, MatDividerModule, MatButtonModule],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImagePreviewDialogComponent implements OnInit {\n selected: any;\n index = 0;\n prevDisabled = false;\n nextDisabled = false;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef<ImagePreviewDialogComponent>,\n ) {\n this.data.title = 'Preview';\n }\n\n ngOnInit(): void {\n this.selected = this.data.selected;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n close(): void {\n this.dialogRef.close();\n }\n prev() {\n this.selected--;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n next() {\n this.selected++;\n this.prevDisabled = this.selected === 0;\n this.nextDisabled = this.selected === this.data.media.length - 1;\n }\n}\n","<div class=\"flex flex-col h-full overflow-hidden\">\n <div class=\"h-16 flex justify-between items-center p-5\">\n @if (data.title) {\n <div class=\"text-lg font-bold\">{{ data.title }}</div>\n }\n <div class=\"cursor-pointer\" (click)=\"close()\">\n <mat-icon fontIcon=\"close\"></mat-icon>\n </div>\n </div>\n <mat-divider></mat-divider>\n <div class=\"flex justify-center items-center overflow-hidden\">\n <div class=\"p-3 flex items-center justify-center h-full\">\n <img class=\"object-contain p-3 h-full\" [src]=\"data.media[selected].url\" alt />\n </div>\n </div>\n <div class=\"flex-1\"></div>\n <mat-divider></mat-divider>\n <div class=\"h-16 flex justify-between items-center p-5\">\n <button mat-flat-button [disabled]=\"prevDisabled\" (click)=\"prev()\">Prev</button>\n <div>{{ selected + 1 }} / {{ data.media.length }}</div>\n <button mat-flat-button [disabled]=\"nextDisabled\" (click)=\"next()\">Next</button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-empty',\n imports: [CommonModule],\n templateUrl: './empty.component.html',\n styleUrl: './empty.component.scss',\n})\nexport class EmptyComponent {}\n","<div class=\"px-4 py-2 flex items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\" width=\"24px\" fill=\"#5f6368\">\n <path\n d=\"M460-300h40v-220h-40v220Zm20-276.92q10.46 0 17.54-7.08 7.08-7.08 7.08-17.54 0-10.46-7.08-17.54-7.08-7.07-17.54-7.07-10.46 0-17.54 7.07-7.08 7.08-7.08 17.54 0 10.46 7.08 17.54 7.08 7.08 17.54 7.08Zm.13 456.92q-74.67 0-140.41-28.34-65.73-28.34-114.36-76.92-48.63-48.58-76.99-114.26Q120-405.19 120-479.87q0-74.67 28.34-140.41 28.34-65.73 76.92-114.36 48.58-48.63 114.26-76.99Q405.19-840 479.87-840q74.67 0 140.41 28.34 65.73 28.34 114.36 76.92 48.63 48.58 76.99 114.26Q840-554.81 840-480.13q0 74.67-28.34 140.41-28.34 65.73-76.92 114.36-48.58 48.63-114.26 76.99Q554.81-120 480.13-120Zm-.13-40q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"\n />\n </svg>\n <span class=\"ml-2\">No Data</span>\n</div>\n","import { Component, ViewEncapsulation, input, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'rolatech-input',\n imports: [CommonModule, FormsModule],\n templateUrl: './input.component.html',\n styleUrl: './input.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class InputComponent {\n title = model();\n placeholder = input('Title');\n}\n","<div class=\"rt-input-wrapper\">\n <input class=\"rt__input\" [placeholder]=\"placeholder()\" [(ngModel)]=\"title\" />\n</div>\n","import { Component, HostBinding, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThumbnailComponent } from '../thumbnail/thumbnail.component';\nimport { PricePipe } from '@rolatech/angular-common';\n\n@Component({\n selector: 'rolatech-rich-item',\n imports: [CommonModule, ThumbnailComponent, PricePipe],\n templateUrl: './rich-item.component.html',\n styleUrl: './rich-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichItemComponent {\n @HostBinding('class.rolatech-rich-item') hasClass = true;\n list = input(false, { transform: booleanAttribute });\n thumbnail = input<string>();\n avatar = input<string>();\n title = input<string>();\n subtitle = input<string>();\n price = input<any>(0);\n thumbnailRatio = input<string>('rectangle');\n thumbnailMode = input<string>('full');\n}\n","<div id=\"thumbnail\" class=\"rolatech-rich-item\">\n @defer (on viewport()) {\n <rolatech-thumbnail\n [src]=\"thumbnail()\"\n size=\"medium\"\n [ratio]=\"thumbnailRatio()\"\n [mode]=\"thumbnailMode()\"\n ></rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-10-percent-layer] h-full w-full object-cover aspect-video rounded-lg\"></div>\n }\n</div>\n<div id=\"details\" class=\"rolatech-rich-item\">\n <div>\n <div class=\"py-1\">\n <a class=\"md:text-xl font-bold break-words line-clamp-1 md:line-clamp-2 whitespace-normal\">\n {{ title() }}\n </a>\n </div>\n <div class=\"invisible h-0 md:h-auto md:visible break-words line-clamp-1 whitespace-normal\">\n {{ subtitle() }}\n </div>\n <ng-content></ng-content>\n </div>\n @if (price()) {\n <div class=\"md:text-lg font-bold py-1\">{{ price() | price }}</div>\n }\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n PLATFORM_ID,\n ViewEncapsulation,\n booleanAttribute,\n contentChildren,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { RichItemComponent } from '../rich-item/rich-item.component';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'rolatech-rich-view',\n imports: [CommonModule, MatButtonModule],\n templateUrl: './rich-view.component.html',\n styleUrl: './rich-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RichViewComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-rich-view') hasClass = true;\n @HostBinding('class.scrollbar-hide') disableScrollbar = true;\n platformId = inject(PLATFORM_ID);\n el = inject(ElementRef);\n items = contentChildren(RichItemComponent, { read: ElementRef });\n list = input(false, { transform: booleanAttribute });\n wrap = input(false, { transform: booleanAttribute });\n private resizeObserver!: ResizeObserver;\n\n constructor() {\n effect(() => {\n if (this.list()) {\n this.el.nativeElement.setAttribute('list', '');\n } else {\n this.el.nativeElement.removeAttribute('list', '');\n }\n if (this.wrap()) {\n this.el.nativeElement.setAttribute('wrap', '');\n } else {\n this.el.nativeElement.removeAttribute('wrap', '');\n }\n });\n }\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n // this.setCustomProperties(entry.contentRect.width);\n }\n });\n this.resizeObserver.observe(this.el.nativeElement);\n }\n }\n\n ngAfterViewInit(): void {}\n setCustomProperties(width: number) {\n if (width <= 600) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 1);\n }\n if (600 < width && width <= 768) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 2);\n }\n if (768 < width && width <= 1280) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 3);\n }\n if (1280 < width && width <= 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 4);\n }\n if (width > 1536) {\n this.el.nativeElement.style.setProperty('--rt-rich-view-items-per-row', 5);\n }\n }\n}\n","<ng-content></ng-content>\n\n<!-- <div class=\"rich-view-content\">\n <ng-content></ng-content>\n</div> -->\n<!-- <div class=\"rich-view-button\">\n <button mat-stroked-button>加载更多</button>\n</div> -->\n","import { AfterViewInit, Component, OnInit, PLATFORM_ID, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport Quill from 'quill';\n\n@Component({\n selector: 'rolatech-editor',\n imports: [CommonModule],\n templateUrl: './editor.component.html',\n styleUrl: './editor.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EditorComponent implements OnInit, AfterViewInit {\n platformId = inject(PLATFORM_ID);\n isBrowser: boolean;\n editor: any;\n\n constructor() {\n this.isBrowser = isPlatformBrowser(this.platformId);\n\n // const options = {\n // debug: 'info',\n // modules: {\n // toolbar: true,\n // },\n // placeholder: 'Compose an epic...',\n // theme: 'snow',\n // };\n // const quill = new Quill('#editor', options);\n }\n ngAfterViewInit(): void {\n this.quill();\n }\n ngOnInit(): void {\n // this.quill();\n }\n get toolbar() {\n return [\n ['bold', 'italic', 'underline', 'strike'], // toggled buttons\n ['blockquote', 'code-block'],\n\n // [{ header: 1 }, { header: 2 }], // custom button values\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }], // superscript/subscript\n [{ indent: '-1' }, { indent: '+1' }], // outdent/indent\n [{ direction: 'rtl' }], // text direction\n\n // [{ size: ['small', false, 'large', 'huge'] }], // custom dropdown\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n\n // [{ color: [] }, { background: [] }], // dropdown with defaults from theme\n [{ font: [] }],\n [{ align: [] }],\n\n ['clean'], // remove formatting button\n ];\n }\n async quill() {\n if (this.isBrowser) {\n const m = await import('quill');\n this.editor = new m.default('#editor', {\n // modules: { toolbar: '#toolbar' },\n modules: { toolbar: this.toolbar },\n theme: 'snow',\n placeholder: 'placeholder',\n });\n }\n }\n}\n","<div id=\"editor\"></div>\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-accordion',\n imports: [CommonModule],\n templateUrl: './accordion.component.html',\n styleUrl: './accordion.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AccordionComponent {\n @HostBinding('class.rolatech-accordion') hasClass = true;\n}\n","<ng-content></ng-content>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject,\n input,\n model,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '../icon/icon.component';\n\n@Component({\n selector: 'rolatech-panel',\n imports: [CommonModule, IconComponent],\n templateUrl: './panel.component.html',\n styleUrl: './panel.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PanelComponent implements OnInit, AfterViewInit {\n @HostBinding('class.rolatech-panel') hasClass = true;\n border = input(false, { transform: booleanAttribute });\n divider = input(false, { transform: booleanAttribute });\n expanded = model(false);\n title = input<any>();\n subtitle = input<string>();\n private el = inject(ElementRef);\n constructor() {\n effect(() => {\n if (this.expanded()) {\n this.el.nativeElement.setAttribute('expanded', '');\n } else {\n this.el.nativeElement.removeAttribute('expanded');\n }\n if (this.border()) {\n this.el.nativeElement.setAttribute('border', '');\n } else {\n this.el.nativeElement.removeAttribute('border');\n }\n if (this.divider()) {\n this.el.nativeElement.setAttribute('divider', '');\n } else {\n this.el.nativeElement.removeAttribute('divider');\n }\n });\n }\n ngOnInit(): void {}\n ngAfterViewInit(): void {}\n toggle() {\n this.expanded.set(!this.expanded());\n }\n}\n","<div id=\"header\" class=\"header rolatech-panel w-full h-11\" (click)=\"toggle(); $event.stopPropagation()\">\n <ng-content select=\"rolatech-panel-header\"></ng-content>\n <div>{{ title() }}</div>\n <rolatech-icon class=\"indicator-collapsed\" [class.indicator-expanded]=\"expanded() === true\">expand_more</rolatech-icon>\n</div>\n<div class=\"content-container rolatech-panel content-collapsed\" [class.content-expanded]=\"expanded() === true\">\n <div class=\"content-inner rolatech-panel\">\n <ng-content>No content</ng-content>\n </div>\n</div>\n","import { Component, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-panel-header',\n imports: [CommonModule],\n templateUrl: './panel-header.component.html',\n styleUrl: './panel-header.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PanelHeaderComponent {}\n","<ng-content></ng-content>\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { marked } from 'marked';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport hljs from 'highlight.js';\n\n@Pipe({\n name: 'markdown',\n standalone: true,\n})\nexport class MarkdownPipe implements PipeTransform {\n private sanitizer = inject(DomSanitizer);\n\n // transform(value: string): SafeHtml {\n // if (!value) return '';\n // const html = marked.parse(value, { breaks: true }) as string;\n // return this.sanitizer.bypassSecurityTrustHtml(html);\n // }\n\n constructor() {\n marked.setOptions({\n gfm: true, // ✅ Enables GitHub Flavored Markdown (tables, etc.)\n breaks: true,\n });\n }\n\n transform(value: string): SafeHtml {\n if (!value) return '';\n const html = marked.parse(value) as string;\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ChatMessage } from '@rolatech/angular-services';\nimport { RouterLink } from '@angular/router';\nimport { ThumbnailComponent } from '../../thumbnail/thumbnail.component';\nimport { ImagePlaceholderComponent } from '../../image-placeholder/image-placeholder.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MarkdownPipe } from './markdown.pipe';\n\n@Component({\n selector: 'rolatech-conversation-message',\n imports: [CommonModule, RouterLink, ThumbnailComponent, ImagePlaceholderComponent, MatButtonModule, MarkdownPipe],\n templateUrl: './conversation-message.html',\n styleUrl: './conversation-message.scss',\n})\nexport class ConversationMessage {\n message = input.required<ChatMessage>();\n call() {}\n}\n","@if (message().role === 'user') {\n<div class=\"flex justify-end\">\n <div class=\"flex flex-col items-end w-full py-3\">\n <div\n class=\"max-w-[80%] rounded-2xl px-4 py-2 shadow-sm bg-[var(--rt-brand-color)] text-white whitespace-pre-wrap break-words\"\n >\n <div>{{ message().text }}</div>\n </div>\n\n <div class=\"text-xs text-gray-400 mt-1 pr-1\">{{ message().createdAt | date:'shortTime' }}</div>\n </div>\n</div>\n}@else {\n<div class=\"flex justify-start\">\n <div class=\"flex flex-col items-start w-full py-3\">\n @if (message().role === 'assistant') { @for (seg of message().segments ?? []; track $index) { @switch (seg.kind) { @case\n ('text') {\n <!-- <div class=\"whitespace-pre-wrap break-all\">{{ seg.text }}</div> -->\n <!-- <div class=\"markdown-body\" [innerHTML]=\"seg.text | markdown\"></div> -->\n <article class=\"prose dark:prose-invert max-w-none\" [innerHTML]=\"seg.text | markdown\"></article>\n\n } @case ('group') {\n <a\n class=\"w-full flex flex-col p-3 mb-3 shadow rounded-xl hover:bg-[--rt-raised-background] cursor-pointer\"\n [routerLink]=\"['/properties', seg.item.id]\"\n target=\"_blank\"\n >\n <div class=\"flex flex-row\">\n @if (seg.item.mediaUrl) {\n <div class=\"min-w-20 w-20 object-cover aspect-video rounded-lg mr-3\">\n @defer (on viewport()) {\n <rolatech-thumbnail [src]=\"seg.item.mediaUrl\" ratio=\"square\" size=\"medium\" mode=\"clip\"> </rolatech-thumbnail>\n } @placeholder {\n <div class=\"bg-[--rt-raised-background] h-full w-full object-cover aspect-square rounded-lg\"></div>\n }\n </div>\n } @else {\n <div class=\"min-w-20 w-20 object-cover aspect-square rounded-lg mr-3\">\n <rolatech-image-placeholder ratio=\"square\"></rolatech-image-placeholder>\n </div>\n }\n <div class=\"flex w-full justify-between\">\n <div class=\"flex justify-between w-full\">\n <div class=\"flex flex-col gap-3 p-1\">\n <div class=\"font-bold\">{{ seg.item.title }}</div>\n <div class=\"mt-1\">{{ seg.item.price }}</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mx-2 my-3 bg-black opacity-10 h-[1px]\"></div>\n <div class=\"px-1\">\n <div><span class=\"opacity-70 text-sm\">Address: </span>{{seg.item.address}}</div>\n @if (seg.item.phone) {\n <div><span class=\"opacity-70 text-sm\">Phone: </span>{{seg.item.phone}}</div>\n <button mat-flat-button (click)=\"call()\">Call me</button>\n }\n </div>\n </a>\n } @case ('json') {\n <pre class=\"mt-2 text-xs overflow-auto\">{{ seg.data | json }}</pre>\n } @case ('tool') {\n <div class=\"w-full opacity-70 py-2 rounded-xl text-sm bg-[--rt-raised-background] mb-2 break-all\">\n <span class=\"font-bold\">Using Tool</span><span> | {{ seg.tool.tool }}: {{ seg.tool.args }} {{seg.tool.results}}</span>\n </div>\n } } } @if (message().done) {\n <div class=\"text-xs opacity-50 mt-2\">[done]</div>\n } }\n </div>\n</div>\n}\n","import {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n input,\n OnChanges,\n QueryList,\n signal,\n SimpleChanges,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConversationMessage } from '../conversation-message/conversation-message';\nimport { ChatMessage } from '@rolatech/angular-services';\nexport const isSafari = () => /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n@Component({\n selector: 'rolatech-conversation-content',\n imports: [CommonModule, ConversationMessage],\n templateUrl: './conversation-content.html',\n styleUrl: './conversation-content.scss',\n host: { class: 'block h-full min-h-0' },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ConversationContent implements AfterViewInit, AfterViewChecked, OnChanges {\n messages = input.required<ChatMessage[]>();\n private scrollArea = viewChild.required<ElementRef<HTMLElement>>('scrollArea');\n // private messageItems = viewChild.required<QueryList<ElementRef<HTMLElement>>>('messageItem');\n // private messageItems = viewChildren<ElementRef<HTMLElement>>('messageItem');\n private messageItems = viewChildren('messageItem', { read: ElementRef<HTMLElement> });\n\n private rafId: number | null = null;\n private firstPaint = true;\n\n private shouldStick = signal(true);\n streaming = input.required<boolean>();\n direction = input<'bottom-to-top' | 'top-to-bottom'>('bottom-to-top');\n private shouldScroll = false;\n\n constructor() {\n // React whenever the list of message nodes changes\n // React when message nodes change (e.g., new message rendered)\n // effect(() => {\n // const items = this.messageItems();\n // if (!items.length) return;\n // // Find the latest message data & its element\n // const list = this.messages();\n // const lastMsg = list[list.length - 1];\n // const lastEl = items[items.length - 1].nativeElement;\n // console.log(lastMsg.role);\n // console.log(this.isUser(lastMsg));\n // if (!lastMsg || !this.isUser(lastMsg)) return;\n // console.log(lastEl);\n // this.scheduleScrollUserMessageToTop(lastEl);\n // });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['messages']) {\n // console.log(changes['messages']);\n this.shouldScroll = true;\n // queueMicrotask(() => this.scrollUserMessageToTop());\n }\n }\n ngAfterViewChecked(): void {\n if (this.shouldScroll) {\n requestAnimationFrame(() => this.scrollToBottom('smooth'));\n this.shouldScroll = false;\n }\n }\n ngAfterViewInit(): void {\n const el = this.scrollArea().nativeElement;\n if (!el) return;\n el.addEventListener('scroll', () => {\n console.log(22);\n const atBottom = el.scrollTop + el.clientHeight >= el.scrollHeight - 20;\n this.shouldStick.set(atBottom);\n });\n }\n scrollToBottom(behavior: ScrollBehavior = 'smooth') {\n const el = this.scrollArea()?.nativeElement;\n if (!el) return;\n el.lastElementChild?.scrollIntoView({ behavior, block: 'start' });\n el.scrollTo({ top: el.scrollHeight, behavior });\n }\n private scrollUserMessageToTop() {\n const items = this.messageItems();\n if (!items.length) return;\n // Find the latest message data & its element\n const list = this.messages();\n const lastMsg = list[list.length - 1];\n const lastEl = items[items.length - 1].nativeElement;\n console.log(lastMsg.role);\n console.log(this.isUser(lastMsg));\n if (!lastMsg || !this.isUser(lastMsg)) return;\n if (this.isUser(lastMsg)) {\n lastEl.scrollIntoView({ block: 'start', behavior: 'smooth' });\n }\n }\n // Define your “user” test once; adjust to your schema\n private isUser(m: ChatMessage): boolean {\n return m.role === 'user';\n }\n private scheduleScrollUserMessageToTop(targetEl: HTMLElement) {\n if (this.rafId != null) cancelAnimationFrame(this.rafId);\n\n this.rafId = requestAnimationFrame(() => {\n this.rafId = null;\n\n const scroller = this.scrollArea().nativeElement;\n if (!scroller || !targetEl.isConnected) return;\n\n // Position the target at the top of the visible area (with a small cushion)\n const pad = 8;\n const cRect = scroller.getBoundingClientRect();\n const tRect = targetEl.getBoundingClientRect();\n\n const nextTop = Math.max(0, Math.floor(scroller.scrollTop + (tRect.top - cRect.top) - pad));\n\n scroller.scrollTo({\n top: nextTop,\n behavior: this.firstPaint ? 'auto' : 'smooth',\n });\n\n this.firstPaint = false;\n });\n }\n}\n","<div class=\"h-full min-h-0 overflow-y-auto px-4\">\n <div #scrollArea class=\"w-full md:max-w-[768px] xl:max-w-[1024px] 2xl:max-w-[1024px] mx-auto [overflow-anchor:none]\">\n @for (m of messages(); track m.id) {\n <rolatech-conversation-message #messageItem [message]=\"m\" class=\"mb-3\" />\n } @if (streaming()) {\n <div class=\"flex items-center gap-2 text-sm opacity-80\">\n <span class=\"inline-block w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin\"></span>\n <span>Streaming…</span>\n </div>\n }\n </div>\n</div>\n","import { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'rolatech-conversation-header',\n imports: [CommonModule],\n templateUrl: './conversation-header.html',\n styleUrl: './conversation-header.scss',\n})\nexport class ConversationHeader {\n status = input(\"u\")\n}\n","<header class=\"px-4 py-3 flex items-center gap-3\">\n <div class=\"size-9 rounded-full bg-gray-200\"></div>\n <div class=\"font-medium\">Property Assistant</div>\n <div class=\"ml-auto text-sm text-gray-500\">{{status()}}</div>\n</header>\n","import { Component, ElementRef, model, output, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'rolatech-conversation-input',\n imports: [CommonModule, MatButtonModule, MatIcon],\n templateUrl: './conversation-input.html',\n styleUrl: './conversation-input.scss',\n})\nexport class ConversationInput {\n readonly send = output<string>();\n private ta = viewChild<ElementRef<HTMLTextAreaElement>>('ta');\n isComposing = false;\n\n onKeydown(e: KeyboardEvent) {\n if (e.key === 'Enter' && !e.shiftKey && !this.isComposing) {\n e.preventDefault();\n this.emitSend();\n }\n }\n\n emitSend() {\n const el = this.ta()?.nativeElement;\n if (!el) return;\n\n const value = el.value.trim();\n if (!value) return;\n\n this.send.emit(value);\n el.value = '';\n this.autoResize();\n }\n onCompositionStart() {\n this.isComposing = true;\n }\n\n onCompositionEnd() {\n this.isComposing = false;\n }\n autoResize() {\n const el = this.ta()?.nativeElement;\n if (!el) return;\n el.style.height = 'auto';\n el.style.height = Math.min(el.scrollHeight, 220) + 'px';\n }\n}\n","<div class=\"px-3 py-3 md:px-0 w-full md:max-w-[768px] xl:max-w-[1024px] 2xl:max-w-[1024px] mx-auto\">\n <div class=\"flex rounded-2xl p-1 dark:bg-[--rt-raised-background] border border-black border-opacity-20\">\n <textarea\n #ta\n rows=\"1\"\n class=\"w-full border border-transparent appearance-none rounded p-2 py-2.5 resize-none outline-none dark:bg-[--rt-raised-background]\"\n placeholder=\"Ask about properties...\"\n (keydown)=\"onKeydown($event)\"\n (compositionstart)=\"onCompositionStart()\"\n (compositionend)=\"onCompositionEnd()\"\n (input)=\"autoResize()\"\n ></textarea>\n <button\n matIconButton\n (click)=\"emitSend()\"\n [disabled]=\"!ta.value.trim()\"\n [ngClass]=\"!ta.value.trim() ? '' : '!bg-[--rt-brand-color] !text-[--rt-text-primary-inverse]'\"\n >\n <mat-icon>arrow_upward</mat-icon>\n </button>\n </div>\n <!-- <div\n class=\"text-token-text-secondary relative mt-auto flex min-h-8 w-full items-center justify-center p-2 text-center text-xs md:px-[60px]\"\n >\n Primecasa Assistant can make mistakes. Check important info.\n </div> -->\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1","i2","i4","map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAaa,QAAQ,CAAA;uGAAR,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,+KCbrB,2EACA,EAAA,MAAA,EAAA,CAAA,oMAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDYa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAXpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,WACpB,EAAE,EAAA,aAAA,EAGI,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,EAAE,EAAE,mBAAmB;AACvB,wBAAA,KAAK,EAAE,2BAA2B;AACnC,qBAAA,EAAA,QAAA,EAAA,2EAAA,EAAA,MAAA,EAAA,CAAA,oMAAA,CAAA,EAAA;;;MEIU,OAAO,CAAA;IAClB,WAAW,GAAG,KAAK;IACnB,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAC3B,IAAI,GAAG,MAAM,EAAE;AAEf,IAAA,OAAO,CAAC,KAAU,EAAA;QAChB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5C,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IACA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;IAClB;uGAbW,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfpB,quCA4BA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBY,YAAY,EAAA,EAAA,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,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,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,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAMlE,OAAO,EAAA,UAAA,EAAA,CAAA;kBARnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,OAAA,EACpB,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,EAAA,aAAA,EAG/D,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,quCAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA;;;MEW1B,WAAW,CAAA;AACtB,IAAA,OAAO,GAAG,SAAS,CAAC,OAAO,mDAAC;IAC5B,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAS;AACrB,IAAA,SAAS,GAAG,KAAK,CAAU,KAAK,qDAAC;AACjC,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,mDAAC;AAC/B,IAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,oDAAC;IAC3B,SAAS,GAAG,MAAM,EAAS;IAC3B,eAAe,GAAG,MAAM,EAAS;IACjC,MAAM,GAAG,MAAM,EAA6B;IAC5C,WAAW,GAAG,MAAM,EAAS;IAC7B,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAO;AACrB,IAAA,UAAU,GAAG,KAAK,CAAU,KAAK,sDAAC;AAElC,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE;YACzB;QACF;AACA,QAAA,MAAM,YAAY,GAAqB,KAAK,CAAC,MAA0B;AACvE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QACxB,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ;QACvC;IACF;AACA,IAAA,QAAQ,CAAC,IAAS,EAAA;QAChB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5B;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAG,CAAC;IAEnC;IACA,aAAa,GAAA;QACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAG,CAAC;IACrC;uGAlCW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBxB,+6DA6DA,EAAA,MAAA,EAAA,CAAA,4GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1CY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,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,EAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,CAAA;;2FAIzE,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,+6DAAA,EAAA,MAAA,EAAA,CAAA,4GAAA,CAAA,EAAA;qEAKjE,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEdhB,kBAAkB,CAAA;AAC7B,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAChC,IAAA,OAAO;;IAEP,GAAG,GAAG,0GAA0G;AAChH,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC;IACxE;uGAPW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,wFACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,qBAAqB,EAAA,OAAA,EACtB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,wFAAA,EAAA;;;MEGZ,kBAAkB,CAAA;AAC7B,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAE;AACxB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAE;uGAFb,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT/B,uJAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDCY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,qBAAqB,EAAA,OAAA,EACtB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,uJAAA,EAAA;;;MEIZ,2BAA2B,CAAA;AACtC,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AACN,IAAA,OAAO;AACN,IAAA,QAAQ;AACT,IAAA,OAAO;IAC7B,UAAU,GAAG,KAAK;AAElB,IAAA,aAAa,CAAC,KAAK,EAAA;QACjB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACxE;AACA,IAAA,UAAU,CAAC,KAAiB,EAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE;AACtB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE;QACtF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI;QACvD,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO;QAEzD,IAAI,YAAY,GAAG,GAAG,IAAI,aAAa,GAAG,GAAG,EAAE;AAC7C,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,YAAY,CAAA,EAAA,CAAI,CAAC;AAChF,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,aAAa,CAAA,EAAA,CAAI,CAAC;QACpF;IACF;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;uGA3BW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,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,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTxC,uVASA,EAAA,MAAA,EAAA,CAAA,6OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDJY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;+BACE,8BAA8B,EAAA,OAAA,EAC/B,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,uVAAA,EAAA,MAAA,EAAA,CAAA,6OAAA,CAAA,EAAA;;sBAMtB,SAAS;uBAAC,SAAS;;sBACnB,SAAS;uBAAC,UAAU;;sBACpB,SAAS;uBAAC,SAAS;;;MEJT,sBAAsB,CAAA;uGAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTnC,iCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,0BAA0B,EAAA,OAAA,EAC3B,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,iCAAA,EAAA;;;MEiBZ,qBAAqB,CAAA;AAChC,IAAA,UAAU;AACV,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,SAAS,GAAG,MAAM,EAAC,YAAmC,EAAC;AACvD,IAAA,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;IAE9B,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACvC,YAAA,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;AACrC,SAAA,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC;uGAfW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,kFCtBlC,ulBAeA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDLI,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,sGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,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,UAAA,EAAA,IAAA,EACnB,kBAAkB,8SAClB,cAAc,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,EACd,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,eAAe,sXACf,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKL,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,OAAA,EACzB;wBACP,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;wBACnB,kBAAkB;wBAClB,cAAc;wBACd,gBAAgB;wBAChB,eAAe;wBACf,cAAc;AACf,qBAAA,EAAA,QAAA,EAAA,ulBAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA;;;MEAU,qBAAqB,CAAA;AAEvB,IAAA,SAAA;AACyB,IAAA,IAAA;IAFlC,WAAA,CACS,SAA8C,EACrB,IAAgB,EAAA;QADzC,IAAA,CAAA,SAAS,GAAT,SAAS;QACgB,IAAA,CAAA,IAAI,GAAJ,IAAI;IACnC;IACH,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;AAPW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,gDAGtB,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAHd,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBlC,wUAUA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIY,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,EAAE,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIlF,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,wBAAwB,EAAA,OAAA,EACzB,CAAC,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,wUAAA,EAAA;;0BAO3F,MAAM;2BAAC,eAAe;;;MEVd,aAAa,CAAA;IACY,QAAQ,GAAG,IAAI;AACnD,IAAA,MAAM,GAAG,KAAK,CAAC,KAAK,0CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACtD,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClD;iBAAO;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC;YACjD;AACF,QAAA,CAAC,CAAC;IACJ;uGAZW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX1B,wDAGA,EAAA,MAAA,EAAA,CAAA,sUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,YAAY,+BAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKpB,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;+BACE,eAAe,EAAA,OAAA,EAChB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAA,aAAA,EAGjB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,sUAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,qBAAqB;;;MEDvB,mBAAmB,CAAA;IACa,QAAQ,GAAG,IAAI;uGAD/C,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXhC,6UAUA,EAAA,MAAA,EAAA,CAAA,0aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDJY,YAAY,+BAAE,aAAa,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;+BACE,sBAAsB,EAAA,OAAA,EACvB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAA,aAAA,EAGvB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6UAAA,EAAA,MAAA,EAAA,CAAA,0aAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,4BAA4B;;;MEF9B,cAAc,CAAA;IACY,QAAQ,GAAG,IAAI;IACpD,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;IACf,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AAClB,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,yCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;uGAJ1C,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,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,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,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV3B,+XAeA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDVY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,+XAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,sBAAsB;;;MEDxB,kBAAkB,CAAA;IACV,KAAK,GAAG,oBAAoB;IACN,QAAQ,GAAG,IAAI;uGAF7C,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,2gBAWA,EAAA,MAAA,EAAA,CAAA,scAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDNY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,WACrB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,2gBAAA,EAAA,MAAA,EAAA,CAAA,scAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,0BAA0B;;;MEK5B,UAAU,GAAG,IAAI,cAAc,CAAkB,YAAY;AAEpE,SAAU,oBAAoB,CAAC,MAAwB,EAAA;AAC3D,IAAA,MAAM,SAAS,GAAwC;AACrD,QAAA;AACE,YAAA,OAAO,EAAE,UAAU;AACnB,YAAA,QAAQ,EAAE,MAAM;AACjB,SAAA;KACF;AACD,IAAA,OAAO,wBAAwB,CAAC,SAAS,CAAC;AAC5C;;MCjBa,iBAAiB,CAAA;IACe,QAAQ,GAAG,IAAI;uGAD/C,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV9B,ymBAkBA,EAAA,MAAA,EAAA,CAAA,qCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,WACrB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ymBAAA,EAAA,MAAA,EAAA,CAAA,qCAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,4BAA4B;;;MEgB9B,eAAe,CAAA;IACP,MAAM,GAAG,iBAAiB;IACP,QAAQ,GAAG,IAAI;AACrD,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU;AAC1C,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,IAAA,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;AAC9B,IAAA,IAAI,GAAG,KAAK,CAAC,GAAG,gDAAC;AACjB,IAAA,SAAS;AACT,IAAA,SAAS;IAET,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC;QACrE;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;QACpE;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;QACzB;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;IACzB;uGA1BW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3B5B,seAWA,EAAA,MAAA,EAAA,CAAA,2oBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWY,YAAY,+BAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK3D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAA,aAAA,EAGxD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,seAAA,EAAA,MAAA,EAAA,CAAA,2oBAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,uBAAuB;;;MEkBzB,eAAe,CAAA;IAClB,iBAAiB,GAAG,KAAK;AAEjC,IAAA,UAAU,GAAwB,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU;IAC/D,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,IAAA,QAAQ,GAAG,KAAK,CAAC,MAAM,oDAAC;AACxB,IAAA,MAAM,GAAG,KAAK,CAAC,IAAI,kDAAC;AACpB,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,IAAA,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;AAC9B,IAAA,OAAO,GAAG,SAAS,CAAa,OAAO,mDAAC;AACxC,IAAA,OAAO,GAAG,SAAS,CAAa,SAAS,mDAAC;AAC1C,IAAA,OAAO,GAAG,SAAS,CAAa,OAAO,mDAAC;AACxC,IAAA,QAAQ,GAAG,SAAS,CAAa,QAAQ,oDAAC;IAC1C,QAAQ,GAAG,KAAK;IAChB,YAAY,GAAG,IAAI;IACnB,cAAc,GAAG,KAAK;IACd,OAAO,GAAG,KAAK;AACf,IAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEpC,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;AAC/D,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;AACvE,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC;QAClE;IACF;IACA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;AAC9D,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC;AACtE,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC;QACrE;IACF;IACA,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE;QACd;aAAO;YACL,IAAI,CAAC,IAAI,EAAE;QACb;IACF;AACA,IAAA,IAAI,CAAC,QAAiB,EAAA;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ;AAC7B,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC5B,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;AAClE,gBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;AAC3E,gBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;AAC9D,gBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC;YACxE;iBAAO;AACL,gBAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC;AACnE,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;AACxE,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;AAC/D,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;gBACzE;YACF;QACF;IACF;IACA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9E,QAAA,IAAI,CAAC;AACF,aAAA,OAAO,CAAC,CAAC,oBAAoB,CAAC;AAC9B,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;AACpC,aAAA,SAAS,CAAC;AACT,YAAA,IAAI,EAAE,CAAC,GAAQ,KAAI;AACjB,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAChB,CAAC;AACF,SAAA,CAAC;IACN;IACA,qBAAqB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;AAC5B,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC/B;IACF;uGAhFW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/C5B,81LAyHA,EAAA,MAAA,EAAA,CAAA,iuHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtFY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,8DAAE,eAAe,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAY5F,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC,iBAGzF,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,EAAE,EAAE,iBAAiB;AACrB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,2BAA2B,EAAE,OAAO;AACpC,wBAAA,eAAe,EAAE,EAAE;AACpB,qBAAA,EAAA,QAAA,EAAA,81LAAA,EAAA,MAAA,EAAA,CAAA,iuHAAA,CAAA,EAAA;AAc+B,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACP,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACT,OAAO,kEACN,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEvC9B,kBAAkB,CAAA;AAC7B,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC/C,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAe;AAC5B,IAAA,KAAK,GAAG,KAAK,CAAU,IAAI,iDAAC;IAC5B,MAAM,GAAG,KAAK;IACd,aAAa,GAAG,KAAK;AACZ,IAAA,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAErH,QAAQ,GAAA;AACN,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACtC,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;AAC/D,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5D;IACF;IACQ,iBAAiB,GAAA;QACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AACxD,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;;QAG5B;aAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;;;QAGlE;aAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;AAC1E,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;AAC/D,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QAC3B;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;;QAG5B;IACF;IACA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,EAAE,CAAC;AAC3E,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;IAChE;IACA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;AAC1E,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;IACjE;IACA,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,KAAK,EAAE;YACZ;QACF;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,KAAK,EAAE;QACd;aAAO;YACL,IAAI,CAAC,IAAI,EAAE;QACb;IACF;uGAvDW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,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,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/B,yrBAmBA,EAAA,MAAA,EAAA,CAAA,qgBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLY,YAAY,+BAAE,aAAa,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FASxD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,OAAA,EACtB,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAA,aAAA,EAGrD,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,EAAE,EAAE,qBAAqB;AACzB,wBAAA,KAAK,EAAE,qBAAqB;AAC7B,qBAAA,EAAA,QAAA,EAAA,yrBAAA,EAAA,MAAA,EAAA,CAAA,qgBAAA,CAAA,EAAA;;;MEGU,gBAAgB,CAAA;AAC3B,IAAA,EAAE,GAAG,MAAM,EAAC,UAAuB,EAAC;AACpC,IAAA,WAAA,GAAA,EAAe;AAEf,IAAA,QAAQ,KAAU;AAClB,IAAA,kBAAkB,KAAI;uGALX,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxB7B,6BACA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDYY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAWX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,OAAA,EAChB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,EAAE,EAAE,eAAe;AACnB,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,eAAe,EAAE,EAAE;AACpB,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA;;;AEGH,MAAM,4BAA4B,GAAG,GAAG;MAe3B,eAAe,CAAA;AAC1B,IAAA,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;AAC9B,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,IAAA,EAAE,GAAG,MAAM,EAAC,UAAuB,EAAC;AACpC,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE5B,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,IAAA,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC/C,IAAA,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;AAC/C,IAAA,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AAC9C,IAAA,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACxC,WAAW,GAAG,IAAI,CAAC;AACzB,SAAA,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC;AACrE,SAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC/B,IAAA,WAAA,GAAA,EAAe;IACf,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,CAAC;AAC3E,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC5B,IAAI,CAAC,IAAI,EAAE;QACb;IACF;AAEA,IAAA,QAAQ,KAAI;AACZ,IAAA,IAAI,KAAI;AACR,IAAA,KAAK,KAAI;AACT,IAAA,MAAM,KAAI;IACV,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,CAAC;AAC9E,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE;QACzC;AACA,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE;QACxC;AACA,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5D;AAEA,QAAA,IAAI,CAAC;AACF,aAAA,OAAO,CAAC,CAAA,YAAA,EAAe,4BAA4B,CAAA,GAAA,CAAK;AACxD,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;AACpC,aAAA,SAAS,CAAC;AACT,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;gBACZ,IAAI,GAAG,EAAE;AACP,oBAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;gBACpE;qBAAO;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC;gBACrE;YACF,CAAC;AACF,SAAA,CAAC;IACN;IACQ,iBAAiB,GAAA;QACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AACxD,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;QAC5E;aAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,EAAE,CAAC;QAC7E;aAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;QAC5E;IACF;uGA5DW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,4NAQK,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACf,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACjB,gBAAgB,wFACf,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnDlD,kRAKA,EAAA,MAAA,EAAA,CAAA,8zBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDwBY,YAAY,8BAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,8BAAE,gBAAgB,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAW5E,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAA,aAAA,EAGzE,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,EAAE,EAAE,iBAAiB;AACrB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,eAAe,EAAE,EAAE;AACpB,qBAAA,EAAA,QAAA,EAAA,kRAAA,EAAA,MAAA,EAAA,CAAA,8zBAAA,CAAA,EAAA;AAU8B,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,eAAe,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MACf,eAAe,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MACjB,gBAAgB,uFACf,kBAAkB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MExCrC,eAAe,CAAA;IACP,MAAM,GAAG,iBAAiB;IACP,QAAQ,GAAG,IAAI;AACrD,IAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC3B,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,qDAAC;AAC7B,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,kDAAC;AACzD,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,sDAAC;uGAPtD,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX5B,gdAWA,EAAA,MAAA,EAAA,CAAA,uEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,WAClB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gdAAA,EAAA,MAAA,EAAA,CAAA,uEAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,uBAAuB;;;MEJzB,sBAAsB,CAAA;uGAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTnC,gCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,yBAAyB,EAAA,OAAA,EAC1B,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,gCAAA,EAAA;;;MESZ,yBAAyB,CAAA;AACpC,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAqB;IAC1C,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IACxB,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;IACrC;uGAPW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdtC,mcAaA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,4BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAI1E,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;+BACE,6BAA6B,EAAA,OAAA,EAC9B,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,mcAAA,EAAA;;;MEH3E,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,2ECP5B,eACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FDMa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,eAAA,EAAA;;;MEShB,2BAA2B,CAAA;AAMJ,IAAA,IAAA;AACxB,IAAA,SAAA;AANV,IAAA,QAAQ;IACR,KAAK,GAAG,CAAC;IACT,YAAY,GAAG,KAAK;IACpB,YAAY,GAAG,KAAK;IACpB,WAAA,CACkC,IAAS,EACjC,SAAoD,EAAA;QAD5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QAC5B,IAAA,CAAA,SAAS,GAAT,SAAS;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS;IAC7B;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAClE;IACA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;IACA,IAAI,GAAA;QACF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAClE;IACA,IAAI,GAAA;QACF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAClE;AA7BW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAM5B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AANd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,yFCZxC,46BAsBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDZY,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,kIAAE,eAAe,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,CAAA,EAAA,CAAA;;2FAE/C,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,WAGhC,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,46BAAA,EAAA;;0BAQxD,MAAM;2BAAC,eAAe;;;AE4B3B,MAAM,UAAU,GAAG;IACjB,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,cAAc;IACd,YAAY;IACZ,qBAAqB;IACrB,cAAc;IACd,oBAAoB;IACpB,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;IACpB,wBAAwB;IACxB,cAAc;IACd,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,eAAe;CAChB;MAMY,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAnDzB,UAAU;YACV,eAAe;YACf,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,cAAc;YACd,YAAY;YACZ,qBAAqB;YACrB,cAAc;YACd,oBAAoB;YACpB,eAAe;YACf,qBAAqB;YACrB,aAAa;YACb,iBAAiB;YACjB,cAAc;YACd,gBAAgB;YAChB,mBAAmB;YACnB,eAAe;YACf,gBAAgB;YAChB,kBAAkB;YAClB,iBAAiB;YACjB,aAAa;YACb,kBAAkB;YAClB,cAAc;YACd,aAAa;YACb,aAAa;YACb,mBAAmB;YACnB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;YACxB,cAAc;YACd,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,oBAAoB;YACpB,iBAAiB;YACjB,aAAa;YACb,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,YAAY;AACZ,YAAA,eAAe,aA5Cf,UAAU;YACV,eAAe;YACf,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,cAAc;YACd,YAAY;YACZ,qBAAqB;YACrB,cAAc;YACd,oBAAoB;YACpB,eAAe;YACf,qBAAqB;YACrB,aAAa;YACb,iBAAiB;YACjB,cAAc;YACd,gBAAgB;YAChB,mBAAmB;YACnB,eAAe;YACf,gBAAgB;YAChB,kBAAkB;YAClB,iBAAiB;YACjB,aAAa;YACb,kBAAkB;YAClB,cAAc;YACd,aAAa;YACb,aAAa;YACb,mBAAmB;YACnB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;YACxB,cAAc;YACd,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,oBAAoB;YACpB,iBAAiB;YACjB,aAAa;YACb,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA;wGAOJ,cAAc,EAAA,OAAA,EAAA,CAHZ,UAAU,EAhDvB,UAAU;YACV,eAAe;YACf,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,cAAc;YACd,YAAY;YACZ,qBAAqB;YACrB,cAAc;YACd,oBAAoB;YACpB,eAAe;YACf,qBAAqB;YACrB,aAAa;YACb,iBAAiB;YACjB,cAAc;YACd,gBAAgB;YAChB,mBAAmB;YACnB,eAAe;YACf,gBAAgB;YAChB,kBAAkB;YAClB,iBAAiB;YACjB,aAAa;YACb,kBAAkB;YAClB,cAAc;YACd,aAAa;YACb,aAAa;YACb,mBAAmB;YACnB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;YACxB,cAAc;YACd,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,oBAAoB;YACpB,iBAAiB;YACjB,aAAa;YACb,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,YAAY;YACZ,eAAe,CAAA,EAAA,CAAA;;2FAOJ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACzB,iBAAA;;;MC1FY,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAvB,uBAAuB,EAAA,OAAA,EAAA,CAHxB,cAAc,CAAA,EAAA,OAAA,EAAA,CACd,cAAc,CAAA,EAAA,CAAA;wGAEb,uBAAuB,EAAA,OAAA,EAAA,CAHxB,cAAc,EACd,cAAc,CAAA,EAAA,CAAA;;2FAEb,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,OAAO,EAAE,CAAC,cAAc,CAAC;AAC1B,iBAAA;;;MCKY,gBAAgB,CAAA;IAC3B,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACvB,IAAA,SAAS;AACT,IAAA,mBAAmB;AACnB,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AACvC,IAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAE9C,eAAe,GAAA;QACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AACjD,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,MAAe,KAAI;AAC3F,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM;AACpE,YAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;AACvC,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM;AACzB,QAAA,CAAC,CAAC;IACJ;IACA,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,mBAAmB;AAAE,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;IACtE;uGAlBW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,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,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX7B,oSAgBA,EAAA,MAAA,EAAA,CAAA,8vCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACE,kBAAkB,EAAA,OAAA,EACnB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,oSAAA,EAAA,MAAA,EAAA,CAAA,8vCAAA,CAAA,EAAA;;;MEMZ,oBAAoB,CAAA;AAC/B,IAAA,KAAK,GAAG,KAAK,CAAS,MAAM,iDAAC;AAC7B,IAAA,QAAQ,GAAG,KAAK,CAAS,MAAM,oDAAC;AAChC,IAAA,WAAW,GAAG,KAAK,CAAS,SAAS,uDAAC;AACtC,IAAA,WAAW,GAAG,KAAK,CAAU,KAAK,uDAAC;IAEnC,cAAc,GAAG,MAAM,EAAS;IAChC,MAAM,GAAG,MAAM,EAAmB;IAElC,KAAK,GAAY,EAAE;AACnB,IAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAE1B,IAAA,gBAAgB,CAAC,IAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC;AACA,IAAA,YAAY,CAAC,CAAM,EAAA;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;AAC9D,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,UAAU,EAAE,mBAAmB;AAC/B,YAAA,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,gBAAA,QAAQ,EAAE,CAAC;AACZ,aAAA;AACF,SAAA,CAAC;AACF,QAAA,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI,EAAE,CAAC,CAAC;IACnD;AACA,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC1B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AAClB,gBAAA,IAAI,CAAC,KAAa,CAAC,IAAI,CAAC;oBACvB,GAAG,EAAE,MAAM,CAAC,MAAM;AAClB,oBAAA,GAAG,EAAE,cAAc;AACpB,iBAAA,CAAC;AACF,gBAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE;AAC/B,gBAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;AAC7B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5B,YAAA,CAAC;QACH;IACF;uGA5CW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,2qBCbjC,yrCA2BA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,uBAAuB,6gBAAE,gBAAgB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAK7D,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,YAC/D,uBAAuB,EAAA,QAAA,EAAA,yrCAAA,EAAA,MAAA,EAAA,CAAA,iCAAA,CAAA,EAAA;;;MEEtB,4BAA4B,CAAA;IACvC,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IACtB,MAAM,GAAG,MAAM,EAAO;AAEtB,IAAA,QAAQ,KAAU;IAClB,SAAS,GAAA;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B;uGAPW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,0PCXzC,yLAMA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,kBAAkB,EAAA,EAAA,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,UAAA,EAAA,IAAA,EAAE,cAAc,mYAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAE9C,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gCAAgC,WAGjC,CAAC,kBAAkB,EAAE,cAAc,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,yLAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA;;;MEI/C,0BAA0B,CAAA;IACrC,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IACvB,MAAM,GAAG,MAAM,EAAO;AAEtB,IAAA,QAAQ;IACR,aAAa,GAAQ,EAAE;IACvB,UAAU,GAAG,KAAK;IAClB,UAAU,GAAG,KAAK;AAClB,IAAA,IAAI;AAEJ,IAAA,QAAQ,KAAU;IAClB,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,SAAA,CAAC;IACJ;AACA,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;IACzB;IACA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;uGAxBW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,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,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbvC,6oBAmBA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDRY,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,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,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAE9E,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;+BACE,8BAA8B,EAAA,OAAA,EAG/B,CAAC,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,6oBAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA;;;MEC/E,4BAA4B,CAAA;IACvC,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACtB,IAAA,QAAQ,GAAG,KAAK,CAAU,IAAI,oDAAC;IAC/B,MAAM,GAAG,MAAM,EAAO;AAEtB,IAAA,QAAQ,KAAU;IAClB,SAAS,GAAA;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACpE;uGARW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZzC,odAUA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAY,kBAAkB,8SAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,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,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,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,CAAA,EAAA,CAAA;;2FAEjE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;+BACE,gCAAgC,EAAA,OAAA,EAGjC,CAAC,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAAA,odAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA;;;MEOlE,iBAAiB,CAAA;AAC5B,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,IAAA,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY;IAC5C,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAkB;IAC9B,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IACvB,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAE1B,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM;AAC3B,IAAA,CAAC,kDAAC;AACF,IAAA,WAAA,GAAA;;;;IAIA;uGAdW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB9B,uqCAkCA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvBY,aAAa,oLAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAM3B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;8BACC,CAAC,aAAa,EAAE,aAAa,CAAC,YAC7B,oBAAoB,EAAA,aAAA,EAGf,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,uqCAAA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA;;;MEL1B,4BAA4B,CAAA;AACvC,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AAChC,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAChC,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AACf,IAAA,WAAW,GAAG,KAAK,CAAC,EAAE,uDAAC;IACvB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AACf,IAAA,OAAO;AACP,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;IAChC,OAAO,GAAG,8CAA8C;IACxD,MAAM,GAAG,KAAK;AAEd,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;;AAEV,YAAA,MAAM,UAAU,GAAG,SAAS,CAAC,+BAA+B,CAAC;AAC7D,YAAA,MAAM,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAAA,mFAAA,EAAsF,UAAU,CAAA,OAAA,EAAU,IAAI,CAAC,KAAK,EAAE,kBAAkB;YACzL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC;AACjE,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AACpB,QAAA,CAAC,CAAC;IACJ;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;AAGA,IAAA,OAAO,CAAC,KAAU,EAAA;AAChB,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;AAC5E,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QACxB;IACF;uGA9BW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,ynBCVzC,oPAOA,EAAA,MAAA,EAAA,CAAA,wWAAA,CAAA,EAAA,CAAA;;2FDGa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,gCAAgC,EAAA,QAAA,EAAA,oPAAA,EAAA,MAAA,EAAA,CAAA,wWAAA,CAAA,EAAA;;sBA6BzC,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;;;MEZ/B,0BAA0B,CAAA;AAU5B,IAAA,SAAA;AACyB,IAAA,IAAA;AACxB,IAAA,YAAA;AAXV,IAAA,QAAQ;IACR,aAAa,GAAQ,EAAE;IACvB,KAAK,GAAY,EAAE;IACnB,QAAQ,GAAe,EAAE;IACzB,UAAU,GAAG,KAAK;IAElB,UAAU,GAAG,KAAK;AAElB,IAAA,WAAA,CACS,SAAmD,EAC1B,IAAS,EACjC,YAA0B,EAAA;QAF3B,IAAA,CAAA,SAAS,GAAT,SAAS;QACgB,IAAA,CAAA,IAAI,GAAJ,IAAI;QAC5B,IAAA,CAAA,YAAY,GAAZ,YAAY;IACnB;AAEH,IAAA,QAAQ,KAAU;AAElB,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;AACrC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrB;AACA,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;IACzB;AACA,IAAA,QAAQ,CAAC,IAAS,EAAA;AAChB,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC1B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AAClB,YAAA,IAAI,CAAC,QAAgB,CAAC,IAAI,CAAC;gBAC1B,GAAG,EAAE,MAAM,CAAC,MAAM;AAClB,gBAAA,GAAG,EAAE,cAAc;AACnB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA,CAAC;AACJ,QAAA,CAAC;QACD,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,KAAI,EAAE,CAAC;IAChC;AACA,IAAA,WAAW,CAAC,KAAU,EAAA;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAChC;IACA,WAAW,GAAA;AACT,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;AAChC,gBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC;QACF;IACF;IACA,MAAM,CAAC,GAAQ,EAAE,IAAS,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;AAC3D,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE;AAC/B,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,IAAI;QACrC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAE7C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;AAClD,YAAA,IAAI,EAAE,CAAC,GAAQ,KAAI;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,KAAK;gBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI;gBACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG;AAEnC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC;AACxE,gBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;AACnB,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBACxB;YACF,CAAC;AACD,YAAA,KAAK,EAAE,CAAC,KAAU,KAAI;gBACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;YACnC,CAAC;AACF,SAAA,CAAC;IACJ;AAvEW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,gDAW3B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAXd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBvC,krGAsEA,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjDY,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,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,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,wBAAwB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,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,EAAE,gBAAgB,4HAAE,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAErG,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAAA,OAAA,EAG/B,CAAC,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,krGAAA,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA;;0BAa9G,MAAM;2BAAC,eAAe;;;MEnBd,kBAAkB,CAAA;IAC7B,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAW;IAC9B,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAW;AACxB,IAAA,OAAO,GAAG,KAAK,CAAU,IAAI,mDAAC;IAC9B,cAAc,GAAG,MAAM,EAAS;IAChC,MAAM,GAAG,MAAM,EAAmB;AAElC,IAAA,gBAAgB,CAAC,IAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;IAChC;AACA,IAAA,QAAQ,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;uGAZW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf/B,mqCA+BA,EAAA,MAAA,EAAA,CAAA,q6BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvBY,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAOnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;+BACE,qBAAqB,EAAA,OAAA,EAGtB,CAAC,oBAAoB,CAAC,iBAChB,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,EAAE,EAAE,qBAAqB;AACzB,wBAAA,KAAK,EAAE,qBAAqB;AAC7B,qBAAA,EAAA,QAAA,EAAA,mqCAAA,EAAA,MAAA,EAAA,CAAA,q6BAAA,CAAA,EAAA;;;MEKU,sBAAsB,CAAA;AACjC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAS;AAC/B,IAAA,cAAc,GAAG,KAAK,CAAS,CAAC,0DAAC;AACjC,IAAA,SAAS,GAAG,KAAK,CAAsB,KAAK,qDAAC;IAE7C,cAAc,GAAG,MAAM,EAGnB;IACJ,WAAW,GAAG,MAAM,EAAS;AAE7B,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC;AACA,IAAA,aAAa,CAAC,KAAY,EAAA;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9B;uGAhBW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBnC,uvCAiCA,EAAA,MAAA,EAAA,CAAA,o8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtBY,eAAe,uNAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,4BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,cAAc,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAO5D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,OAAA,EAG3B,CAAC,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,EAAA,aAAA,EACzD,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,EAAE,EAAE,0BAA0B;AAC9B,wBAAA,KAAK,EAAE,0BAA0B;AAClC,qBAAA,EAAA,QAAA,EAAA,uvCAAA,EAAA,MAAA,EAAA,CAAA,o8BAAA,CAAA,EAAA;;;MEPU,iBAAiB,CAAA;AAC5B,IAAA,GAAG;AACH,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAQ,KAAK,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AACtF,YAAA,IAAI,CAAC,YAAY,aAAa,EAAE;AAC9B,gBAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;YAClB;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAQ,KAAK,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AACtF,YAAA,IAAI,CAAC,YAAY,aAAa,EAAE;AAC9B,gBAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;YAClB;AACF,QAAA,CAAC,CAAC;IACJ;uGAjBW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,8ECT9B,2OAUA,EAAA,MAAA,EAAA,CAAA,qNAAA,CAAA,EAAA,CAAA;;2FDDa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,2OAAA,EAAA,MAAA,EAAA,CAAA,qNAAA,CAAA,EAAA;;;MEiBnB,2BAA2B,CAAA;AACtC,IAAA,IAAI,GAAe,MAAM,CAAC,eAAe,CAAC;AAC1C,IAAA,SAAS;IACT,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;uGALW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBxC,8TAUA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDUY,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,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,EAAE,cAAc,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAElF,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;+BACE,8BAA8B,EAAA,OAAA,EAG/B,CAAC,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,EAAA,QAAA,EAAA,8TAAA,EAAA;;;MECnF,yBAAyB,CAAA;AACpC,IAAA,GAAG;AACH,IAAA,OAAO;AACP,IAAA,KAAK;AACL,IAAA,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC;AAC1B,IAAA,gBAAgB;AAChB,IAAA,MAAM,GAAa,CAAC,IAAI,EAAE,IAAI,CAAC;IAC/B,MAAM,GAAG,IAAI;IACb,MAAM,GAAG,MAAM,EAAO;IAEtB,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,EAAE;IACb;IACA,SAAS,GAAA;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACzC;IACA,IAAI,GAAA;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;;YAExE,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC;AACvD,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,IAAI,EAAE,EAAE;AACT,SAAA,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAC1C,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,UAAU,EAAE,EAAE;AACf,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;AACA,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;QAChC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YACjD,QAAQ,EAAE,EAAE;AACZ,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI;AAChB,SAAA,CAAC;QACF,IAAI,KAAK,EAAE;YACT;AACG,iBAAA,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE;AACjE,iBAAA,IAAI,CAAC,CAAC,MAAW,KAAI;AACpB,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI;AAC1B,YAAA,CAAC;iBACA,KAAK,CAAC,CAAC,KAAU,KAAI,EAAE,CAAC,CAAC;QAC9B;IACF;AACA,IAAA,WAAW,CAAC,KAAU,EAAA;QACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;YACzC,UAAU,CAAC,KAAK,EAAE;AACpB,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAC5B,YAAA;gBACE,EAAE,EAAE,GAAG;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,aAAA;AACF,SAAA,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,OAAO,IAAI,CAAC,KAAK,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,IAAA,CAAM;YAC1D,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;AACzB,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,KAAI;AAClC,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE;AACnD,QAAA,CAAC,CAAC;IACJ;IACA,eAAe,CAAC,KAAU,EAAA,EAAG;uGA1ElB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBtC,k3CAgCA,EAAA,MAAA,EAAA,CAAA,oDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfY,kBAAkB,8SAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,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,EAAAF,IAAA,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,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,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,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,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,UAAA,EAAA,IAAA,EAAE,aAAa,qLAAE,eAAe,EAAA,CAAA,EAAA,CAAA;;2FAIhH,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAAA,OAAA,EAC7B,CAAC,kBAAkB,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,k3CAAA,EAAA,MAAA,EAAA,CAAA,oDAAA,CAAA,EAAA;;;MERjH,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT5B,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,6BAAA,EAAA;;;MEIZ,qBAAqB,CAAA;IAChC,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;uGADN,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTlC,oCAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,oCAAA,EAAA;;;MEOZ,UAAU,CAAA;AACb,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;IAE7B,WAAW,GAAG,+BAA+B;;IAE7C,KAAK,GAAG,GAAG;AAEpB,IAAA,IAAI,GAAG,MAAM,CAAC,KAAK,gDAAC;IACpB,KAAK,GAAmB,EAAE;AAEL,IAAA,MAAM;IAE3B,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE;AAAE,YAAA,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC5E;IACA,KAAK,GAAA,EAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhC,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;AACjB,QAAA,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC3D;AAEA,IAAA,OAAO,CAAC,EAAS,EAAA;QACf,IAAI,CAAC,KAAK,CAAC,CAAC,GAAI,EAAE,CAAC,MAA2B,CAAC,KAAK;IACtD;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;AACvC,QAAA,MAAM,WAAW,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;AAC1F,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC;QACvE,IAAI,CAAC,KAAK,EAAE;IACd;AAGA,IAAA,QAAQ,GAAA,EAAK,IAAI,IAAI,CAAC,IAAI,EAAE;AAAE,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;uGApCjC,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,4SCZvB,gpDA8CA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDtCY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,0IAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIrC,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,WACvB,CAAC,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,gpDAAA,EAAA;;sBAQhD;;sBAEA;;sBAKA,SAAS;uBAAC,QAAQ;;sBAwBlB,YAAY;uBAAC,yBAAyB;;;MElC5B,SAAS,CAAA;AACpB,IAAA,IAAI,GAAG,KAAK,CAAU,KAAK,gDAAC;IAC5B,MAAM,GAAG,MAAM,EAAU;IACzB,KAAK,GAAG,MAAM,EAAE;IAChB,WAAW,GAAG,KAAK;AACnB,IAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA+B,QAAQ,CAAC;IACnE,IAAI,GAAG,EAAE;AAET,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACf,gBAAA,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3D;AAEF,QAAA,CAAC,CAAC;IACJ;AACA,IAAA,SAAS,CAAC,CAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACzD,CAAC,CAAC,cAAc,EAAE;YAClB,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IACA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,QAAA,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACnB;IACA,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B;IACA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;IACzB;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;uGApCW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbtB,qrBAqBA,EAAA,MAAA,EAAA,CAAA,0JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDZY,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,kBAAkB,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,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,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,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIxE,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;+BACE,qBAAqB,EAAA,OAAA,EACtB,CAAC,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,qrBAAA,EAAA,MAAA,EAAA,CAAA,0JAAA,CAAA,EAAA;iUAS1B,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEZvD,aAAa,CAAA;AACxB,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAC9B,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACvB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;AACrC,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,IAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAC1B,IAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,IAAA,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACtC,IAAA,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC;;ACdK,MAAgB,OAAQ,SAAQ,aAAa,CAAA;AAChC,IAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;IAE9C,IACI,OAAO,CAAC,KAAc,EAAA;QACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACjC;AAEA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,aAAa;IAC3B;uGAVoB,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBAD5B;;sBAIE;;;MCcU,cAAc,CAAA;AACzB,IAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,qDAAkB;IAC7C,gBAAgB,GAAa,EAAE;IAC/B,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,GAAGI,KAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IAC/D;uGALW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,4NCrB3B,oeAUA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDOY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,0hCAAE,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIzC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,oeAAA,EAAA;;;MEL1C,kBAAkB,CAAA;AAC7B,IAAA,SAAS,KAAI;AACb,IAAA,SAAS,KAAI;uGAFF,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,8ECZ/B,kRASA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,uNAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK3C,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;+BACE,oBAAoB,EAAA,OAAA,EACrB,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,aAAA,EAGxC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kRAAA,EAAA;;;MED1B,qBAAqB,CAAA;uGAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTlC,+BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,wBAAwB,EAAA,OAAA,EACzB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,+BAAA,EAAA;;;MESZ,gBAAgB,CAAA;IACR,KAAK,GAAG,kBAAkB;IACN,QAAQ,GAAG,IAAI;IACtD,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;IACf,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AAClB,IAAA,IAAI,GAAG,KAAK,CAAC,KAAK,wCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACpD,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE,gDAAC;AAChB,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,yCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACrD,IAAA,OAAO,GAAG,KAAK,CAAC,KAAK,2CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;uGAR5C,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,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,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd7B,6+BA6BA,EAAA,MAAA,EAAA,CAAA,kXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpBY,YAAY,EAAA,EAAA,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,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK7E,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,OAAA,EACnB,CAAC,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAA,aAAA,EAG1E,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6+BAAA,EAAA,MAAA,EAAA,CAAA,kXAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,wBAAwB;;;MEO1B,kBAAkB,CAAA;IACY,QAAQ,GAAG,IAAI;IACP,OAAO,GAAG,QAAQ;AACnE,IAAA,EAAE,GAAG,MAAM,EAAC,UAAuB,EAAC;IACpC,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IACrB,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACtB,IAAA,IAAI,GAAG,KAAK,CAAC,MAAM,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC;AACrB,IAAA,KAAK,GAAG,KAAK,CAAC,WAAW,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC;AAC3B,IAAA,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAa,KAAK,CAAC;IAC3C,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;IACnC,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;AACpC,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,KAAK,GAAG,MAAM,CAAC,MAAK;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAG,CAAC;AACzE,IAAA,CAAC,iDAAC;AACF,IAAA,IAAI,GAAG,MAAM,CAAC,MAAK;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AACtE,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE;YAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,EAAG,GAAG,IAAI,CAAC,MAAM,EAAG,CAAC;YAC/F;iBAAO;AACL,gBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,QAAQ,EAAE;AAC5B,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC;gBAClE;qBAAO;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,EAAE,GAAG,CAAC,CAAC;gBACvE;YACF;QACF;AACF,IAAA,CAAC,gDAAC;AACF,IAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC1E,IAAA,CAAC,oDAAC;uGA/BS,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,kCAAA,EAAA,cAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,KAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/B,qSAQA,EAAA,MAAA,EAAA,CAAA,miDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,MAAA,CAAA,+DAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAA,CAAA;;gGAMX,kBAAkB,EAAA,mBAAA,EAAA,MAAA,CAAA,+DAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,cAAA,KAAA,EAAA,UAAA,EAAA,CAAA;sBAR9B,SAAS;AACE,gBAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,OAAA,EACrB,CAAC,YAAY,EAAE,cAAc,CAAC,EAAA,aAAA,EAGxB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qSAAA,EAAA,MAAA,EAAA,CAAA,miDAAA,CAAA,EAAA;;0BAG9C,WAAW;2BAAC,0BAA0B;;0BACtC,WAAW;2BAAC,kCAAkC;uZAMV,KAAK,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA;;;;;;;MEX/B,cAAc,CAAA;IACN,KAAK,GAAG,gBAAgB;IACZ,QAAQ,GAAG,IAAI;IAC9C,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACrB,IAAA,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAa,KAAK,CAAC;IAC3C,QAAQ,GAAA;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa;AACtC,QAAA,KAAK,CAAC,MAAM,GAAG,MAAK;AAClB,YAAA,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS;AACpC,QAAA,CAAC;IACH;uGAVW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,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,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,KAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpB3B,qIACA,EAAA,MAAA,EAAA,CAAA,8GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDaY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAMX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAR1B,SAAS;+BACE,gBAAgB,EAAA,OAAA,EACjB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qIAAA,EAAA,MAAA,EAAA,CAAA,8GAAA,CAAA,EAAA;;sBAG9C,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,gBAAgB;yIAEQ,KAAK,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;;;;;;MEd/B,YAAY,CAAA;IACJ,KAAK,GAAG,KAAK;IACN,QAAQ,GAAG,IAAI;AACzC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAE;AACxB,IAAA,IAAI,GAAG,SAAS,CAAa,SAAS,gDAAC;uGAJ5B,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVzB,+EAGA,EAAA,MAAA,EAAA,CAAA,2hBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,WACf,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,+EAAA,EAAA,MAAA,EAAA,CAAA,2hBAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,WAAW;6IAEK,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEgB3B,aAAa,CAAA;IACxB,kBAAkB,GAAA;;IAElB;AACA,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,IAAI,GAAG,eAAe,CAAC,YAAY,wCAAI,IAAI,EAAE,UAAU,EAAA,CAAA,GAAA,CAAlB,EAAE,IAAI,EAAE,UAAU,EAAE,GAAC;AAC1D,IAAA,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACvE,IAAA,MAAM,GAAG,KAAK,CAAC,CAAC,kDAAC;AACjB,IAAA,OAAO,GAAG,KAAK,CAAC,KAAK,mDAAC;IACtB,SAAS,GAAG,CAAC;IACb,YAAY,GAAa,EAAE;IACjB,SAAS,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS;AAEjD,IAAA,QAAQ,KAAU;IAClB,eAAe,GAAA;QACb,IAAI,CAAC,IAAI,EAAE;IACb;IACA,IAAI,GAAA;AACF,QAAA,MAAM,GAAG,GAAG,EAAE,CAAC;;AAEf,QAAA,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;QAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa;AAC7D,QAAA,mBAAmB,CAAC,YAAY,CAAC,cAAc,EAAE,eAAe,CAAC;;QAEjE,UAAU,CAAC,MAAK;AACd,YAAA,mBAAmB,CAAC,YAAY,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;QACnF,CAAC,EAAE,EAAE,CAAC;QACN,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,KAAI;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;AACzD,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,MAAK;AACxD,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,gBAAA,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,cAAc,CAAC;AACzE,gBAAA,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;AACrE,gBAAA,mBAAmB,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI;AAC7D,gBAAA,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI;AAChF,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,mBAAmB,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;AACrE,QAAA,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI;AAC/E,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE;IAChC;AACA,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;AAC7B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9B,YAAA,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAChC;AACA,QAAA,OAAO,MAAM;IACf;uGAhDW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAKD,YAAY,EAAA,IAAA,EAAU,UAAU,sIACG,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpCtE,icAUA,EAAA,MAAA,EAAA,CAAA,k5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FASX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,SAAS;+BACE,eAAe,EAAA,OAAA,EAChB,CAAC,YAAY,CAAC,iBAGR,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,eAAe,EAAE,EAAE;AACnB,wBAAA,KAAK,EAAE,eAAe;AACvB,qBAAA,EAAA,QAAA,EAAA,icAAA,EAAA,MAAA,EAAA,CAAA,k5BAAA,CAAA,EAAA;AAOsB,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,YAAY,CAAA,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACvB,cAAc,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ME1B3D,aAAa,CAAA;IACL,EAAE,GAAG,eAAe;IACH,QAAQ,GAAG,IAAI;uGAFxC,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV1B,8GAGA,EAAA,MAAA,EAAA,CAAA,gHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,WAChB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,8GAAA,EAAA,MAAA,EAAA,CAAA,gHAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,qBAAqB;;;MEFvB,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV7B,6BACA,EAAA,MAAA,EAAA,CAAA,yHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,WACnB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,yHAAA,CAAA,EAAA;;;AEWvC,MAAM,YAAY,GAAG;;;;;;;;;;;CAWpB;AACD,MAAM,aAAa,GAAG;;;;;;;;;;;CAWrB;MAQY,gBAAgB,CAAA;IACR,KAAK,GAAG,mBAAmB;IACN,QAAQ,GAAG,IAAI;AAC/C,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,cAAc;AACd,IAAA,KAAK,GAAG,SAAS,CAAC,OAAO,yCAAI,IAAI,EAAE,UAAU,EAAA,CAAA,GAAA,CAAlB,EAAE,IAAI,EAAE,UAAU,EAAE,GAAC;AAChD,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACvE,IAAA,MAAM,GAAG,KAAK,CAAC,wBAAwB,kDAAC;AACxC,IAAA,KAAK,GAAG,KAAK,CAAQ,EAAE,iDAAC;AACxB,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,yCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACrD,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,yCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACrD,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,WAAW,GAAG,CAAC;IACf,WAAW,GAAG,CAAC;IACf,UAAU,GAAG,CAAC;IACd,WAAA,CAAY,YAA6B,EAAE,SAAuB,EAAA;AAChE,QAAA,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;AAC/F,QAAA,YAAY,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACjG,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;gBAChB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD;iBAAO;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC;YAChD;AACF,QAAA,CAAC,CAAC;IACJ;IACA,eAAe,GAAA;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,WAAW;QAC7D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;AACrD,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;AACnD,gBAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;oBAC3B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;oBACjD,IAAI,CAAC,IAAI,EAAE;gBACb;AACF,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACpD;IACF;AACA,IAAA,mBAAmB,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,gCAAgC,EAAE,KAAK,GAAG,IAAI,CAAC;IACzF;IACA,IAAI,GAAA;;AAEF,QAAA,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YAC7D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QAClD;aAAO;YACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrD;IACF;AACA,IAAA,QAAQ,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU;QACzC,IAAI,CAAC,IAAI,EAAE;AACX,QAAA,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC;QACvD;aAAO;YACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;QACpD;IACF;IAEA,cAAc,GAAA;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,GAAG;IACjD;IACA,eAAe,GAAA;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,GAAG;IACjD;uGArEW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAMgB,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACK,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzDtE,y4EA8DA,EAAA,MAAA,EAAA,CAAA,guFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,uNAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKzD,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,OAAA,EACpB,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,aAAA,EAGtD,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,y4EAAA,EAAA,MAAA,EAAA,CAAA,guFAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,IAAI;;sBAChB,WAAW;uBAAC,yBAAyB;AAIZ,aAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,OAAO,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACjB,UAAU,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ME9C3D,eAAe,CAAA;IACe,QAAQ,GAAG,IAAI;IACxD,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AACrB,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAU;AAC/B,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,KAAK,GAAG,MAAM,CAAC,MAAK;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AACxE,IAAA,CAAC,iDAAC;uGARS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX5B,uOAOA,EAAA,MAAA,EAAA,CAAA,uzBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDDY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,MAAA,CAAA,+DAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAA,CAAA;;gGAKX,eAAe,EAAA,mBAAA,EAAA,MAAA,CAAA,+DAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,cAAA,KAAA,EAAA,UAAA,EAAA,CAAA;sBAP3B,SAAS;mCACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,YAAY,EAAE,cAAc,CAAC,EAAA,aAAA,EAGxB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,uOAAA,EAAA,MAAA,EAAA,CAAA,uzBAAA,CAAA,EAAA;;0BAGpC,WAAW;2BAAC,0BAA0B;;;MEF5B,yBAAyB,CAAA;AACpC,IAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAA,EAAE,GAAG,MAAM,EAAC,UAAuB,EAAC;AACpC,IAAA,KAAK,GAAG,KAAK,CAAC,WAAW,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC,CAAC;AAC3B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC1E,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;IAER;uGAZW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,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,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVtC,wbAOA,EAAA,MAAA,EAAA,CAAA,6MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,WAC7B,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,wbAAA,EAAA,MAAA,EAAA,CAAA,6MAAA,CAAA,EAAA;;;MEK1B,2BAA2B,CAAA;AAMJ,IAAA,IAAA;AACxB,IAAA,SAAA;AANV,IAAA,QAAQ;IACR,KAAK,GAAG,CAAC;IACT,YAAY,GAAG,KAAK;IACpB,YAAY,GAAG,KAAK;IACpB,WAAA,CACkC,IAAS,EACjC,SAAoD,EAAA;QAD5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QAC5B,IAAA,CAAA,SAAS,GAAT,SAAS;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS;IAC7B;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAClE;IACA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;IACxB;IACA,IAAI,GAAA;QACF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAClE;IACA,IAAI,GAAA;QACF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IAClE;AA7BW,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAM5B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AANd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,yFCbxC,s+BAuBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbY,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,kIAAE,eAAe,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,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAG/C,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;+BACE,+BAA+B,EAAA,OAAA,EAGhC,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAA,aAAA,EAC5C,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,s+BAAA,EAAA;;0BAQlC,MAAM;2BAAC,eAAe;;;MEVd,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT3B,06BAQA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACE,gBAAgB,EAAA,OAAA,EACjB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,06BAAA,EAAA;;;MEMZ,cAAc,CAAA;IACzB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AACf,IAAA,WAAW,GAAG,KAAK,CAAC,OAAO,uDAAC;uGAFjB,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,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,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX3B,mIAGA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,YAAY,8BAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKxB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;+BACE,gBAAgB,EAAA,OAAA,EACjB,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,aAAA,EAGrB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,mIAAA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA;;;MEG1B,iBAAiB,CAAA;IACa,QAAQ,GAAG,IAAI;AACxD,IAAA,IAAI,GAAG,KAAK,CAAC,KAAK,wCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;IACpD,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAC3B,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IACxB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IACvB,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAC1B,IAAA,KAAK,GAAG,KAAK,CAAM,CAAC,iDAAC;AACrB,IAAA,cAAc,GAAG,KAAK,CAAS,WAAW,0DAAC;AAC3C,IAAA,aAAa,GAAG,KAAK,CAAS,MAAM,yDAAC;uGAT1B,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,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,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,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ9B,g5BA4BA,EAAA,MAAA,EAAA,CAAA,6ZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrBY,YAAY,0BAAsB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,MAAA,CAAA,mEAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;;gGAK1C,iBAAiB,EAAA,mBAAA,EAAA,MAAA,CAAA,mEAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,EAAA,eAAA,EAAA,kBAAA,KAAA,EAAA,UAAA,EAAA,CAAA;sBAP7B,SAAS;mCACE,oBAAoB,EAAA,OAAA,EACrB,CAAC,YAAY,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAA,aAAA,EAGvC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,g5BAAA,EAAA,MAAA,EAAA,CAAA,6ZAAA,CAAA,EAAA;;0BAGpC,WAAW;2BAAC,0BAA0B;;;MEY5B,iBAAiB,CAAA;IACa,QAAQ,GAAG,IAAI;IACnB,gBAAgB,GAAG,IAAI;AAC5D,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,IAAA,KAAK,GAAG,eAAe,CAAC,iBAAiB,yCAAI,IAAI,EAAE,UAAU,EAAA,CAAA,GAAA,CAAlB,EAAE,IAAI,EAAE,UAAU,EAAE,GAAC;AAChE,IAAA,IAAI,GAAG,KAAK,CAAC,KAAK,wCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACpD,IAAA,IAAI,GAAG,KAAK,CAAC,KAAK,wCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AAC5C,IAAA,cAAc;AAEtB,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD;iBAAO;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD;AACA,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD;iBAAO;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD;AACF,QAAA,CAAC,CAAC;IACJ;IACA,QAAQ,GAAA;AACN,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;AACnD,gBAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;;gBAE7B;AACF,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACpD;IACF;AAEA,IAAA,eAAe,KAAU;AACzB,IAAA,mBAAmB,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,KAAK,IAAI,GAAG,EAAE;AAChB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,CAAC,CAAC;QAC5E;QACA,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE;AAC/B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,CAAC,CAAC;QAC5E;QACA,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AAChC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,CAAC,CAAC;QAC5E;QACA,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AACjC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,CAAC,CAAC;QAC5E;AACA,QAAA,IAAI,KAAK,GAAG,IAAI,EAAE;AAChB,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,CAAC,CAAC;QAC5E;IACF;uGApDW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAKJ,iBAAiB,EAAA,IAAA,EAAU,UAAU,6CC9B/D,mOAQA,EAAA,MAAA,EAAA,CAAA,2xDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDYY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK5B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;+BACE,oBAAoB,EAAA,OAAA,EACrB,CAAC,YAAY,EAAE,eAAe,CAAC,EAAA,aAAA,EAGzB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,mOAAA,EAAA,MAAA,EAAA,CAAA,2xDAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,0BAA0B;;sBACtC,WAAW;uBAAC,sBAAsB;AAGX,aAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,iBAAiB,CAAA,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEnBpD,eAAe,CAAA;AAC1B,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,IAAA,SAAS;AACT,IAAA,MAAM;AAEN,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;;;;;;;;;;IAWrD;IACA,eAAe,GAAA;QACb,IAAI,CAAC,KAAK,EAAE;IACd;IACA,QAAQ,GAAA;;IAER;AACA,IAAA,IAAI,OAAO,GAAA;QACT,OAAO;YACL,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;YACzC,CAAC,YAAY,EAAE,YAAY,CAAC;;YAG5B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACzC,YAAA,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACxC,YAAA,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpC,YAAA,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;AAGtB,YAAA,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;;AAGvC,YAAA,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACd,YAAA,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAEf,CAAC,OAAO,CAAC;SACV;IACH;AACA,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,CAAC,GAAG,MAAM,OAAO,OAAO,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE;;AAErC,gBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AAClC,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,WAAW,EAAE,aAAa;AAC3B,aAAA,CAAC;QACJ;IACF;uGAvDW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX5B,6BACA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,WAClB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA;;;MEC1B,kBAAkB,CAAA;IACY,QAAQ,GAAG,IAAI;uGAD7C,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,WACrB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA;;sBAGpC,WAAW;uBAAC,0BAA0B;;;MEY5B,cAAc,CAAA;IACY,QAAQ,GAAG,IAAI;AACpD,IAAA,MAAM,GAAG,KAAK,CAAC,KAAK,0CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACtD,IAAA,OAAO,GAAG,KAAK,CAAC,KAAK,2CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACvD,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,oDAAC;IACvB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAO;IACpB,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAClB,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;YACpD;iBAAO;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC;YACnD;AACA,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClD;iBAAO;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC;YACjD;AACA,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;gBAClB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;YACnD;iBAAO;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC;YAClD;AACF,QAAA,CAAC,CAAC;IACJ;AACA,IAAA,QAAQ,KAAU;AAClB,IAAA,eAAe,KAAU;IACzB,MAAM,GAAA;QACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACrC;uGA/BW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB3B,mjBAUA,EAAA,MAAA,EAAA,CAAA,01BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDQY,YAAY,+BAAE,aAAa,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK1B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;+BACE,gBAAgB,EAAA,OAAA,EACjB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAA,aAAA,EAGvB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,mjBAAA,EAAA,MAAA,EAAA,CAAA,01BAAA,CAAA,EAAA;;sBAGpC,WAAW;uBAAC,sBAAsB;;;MEdxB,oBAAoB,CAAA;uGAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVjC,6BACA,EAAA,MAAA,EAAA,CAAA,+SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIY,YAAY,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,WACxB,CAAC,YAAY,CAAC,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,+SAAA,CAAA,EAAA;;;MEC1B,YAAY,CAAA;AACf,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;;;;;;AAQxC,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,UAAU,CAAC;YAChB,GAAG,EAAE,IAAI;AACT,YAAA,MAAM,EAAE,IAAI;AACb,SAAA,CAAC;IACJ;AAEA,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAW;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACrD;uGApBW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;qGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCOY,mBAAmB,CAAA;AAC9B,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,kDAAe;AACvC,IAAA,IAAI,KAAI;uGAFG,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfhC,wlGAuEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED5DY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAsB,yBAAyB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,MAAA,CAAA,mEAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;;gGAIrG,mBAAmB,EAAA,mBAAA,EAAA,MAAA,CAAA,mEAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,EAAA,eAAA,EAAA,kBAAA,KAAA,EAAA,UAAA,EAAA,CAAA;sBAN/B,SAAS;AACE,gBAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAAA,OAAA,EAChC,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,eAAe,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,wlGAAA,EAAA;;;AEO5G,MAAM,QAAQ,GAAG,MAAM,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;MAU3E,mBAAmB,CAAA;AAC9B,IAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,mDAAiB;AAClC,IAAA,UAAU,GAAG,SAAS,CAAC,QAAQ,CAA0B,YAAY,CAAC;;;AAGtE,IAAA,YAAY,GAAG,YAAY,CAAC,aAAa,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAI,IAAI,GAAE,UAAuB,CAAA,EAAA,CAAA,GAAA,CAA/B,EAAE,IAAI,GAAE,UAAuB,CAAA,EAAE,GAAC;IAE7E,KAAK,GAAkB,IAAI;IAC3B,UAAU,GAAG,IAAI;AAEjB,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,uDAAC;AAClC,IAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,oDAAW;AACrC,IAAA,SAAS,GAAG,KAAK,CAAoC,eAAe,qDAAC;IAC7D,YAAY,GAAG,KAAK;AAE5B,IAAA,WAAA,GAAA;;;;;;;;;;;;;;;;IAgBA;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;;AAEvB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;QAE1B;IACF;IACA,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,qBAAqB,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC1D,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QAC3B;IACF;IACA,eAAe,GAAA;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa;AAC1C,QAAA,IAAI,CAAC,EAAE;YAAE;AACT,QAAA,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;AACjC,YAAA,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACf,YAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,YAAY,GAAG,EAAE;AACvE,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChC,QAAA,CAAC,CAAC;IACJ;IACA,cAAc,CAAC,WAA2B,QAAQ,EAAA;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa;AAC3C,QAAA,IAAI,CAAC,EAAE;YAAE;AACT,QAAA,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACjE,QAAA,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;IACjD;IACQ,sBAAsB,GAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE;;AAEnB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa;AACpD,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE;AACvC,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;AACxB,YAAA,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC/D;IACF;;AAEQ,IAAA,MAAM,CAAC,CAAc,EAAA;AAC3B,QAAA,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM;IAC1B;AACQ,IAAA,8BAA8B,CAAC,QAAqB,EAAA;AAC1D,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;AAAE,YAAA,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;AAExD,QAAA,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,MAAK;AACtC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa;AAChD,YAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE;;YAGxC,MAAM,GAAG,GAAG,CAAC;AACb,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,qBAAqB,EAAE;AAC9C,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,qBAAqB,EAAE;AAE9C,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YAE3F,QAAQ,CAAC,QAAQ,CAAC;AAChB,gBAAA,GAAG,EAAE,OAAO;gBACZ,QAAQ,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,QAAQ;AAC9C,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACzB,QAAA,CAAC,CAAC;IACJ;uGAtGW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,otBAK6B,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCvE,8kBAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDUY,YAAY,+BAAE,mBAAmB,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAMhC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAAA,OAAA,EAChC,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAA,IAAA,EAGtC,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAA,eAAA,EACtB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8kBAAA,EAAA;iMAIkB,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAGzC,aAAa,EAAA,EAAA,GAAE,EAAE,IAAI,GAAE,UAAuB,CAAA,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MExBzE,kBAAkB,CAAA;AAC7B,IAAA,MAAM,GAAG,KAAK,CAAC,GAAG,kDAAC;uGADR,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT/B,sPAKA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,8BAA8B,EAAA,OAAA,EAC/B,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,sPAAA,EAAA;;;MEMZ,iBAAiB,CAAA;IACnB,IAAI,GAAG,MAAM,EAAU;AACxB,IAAA,EAAE,GAAG,SAAS,CAAkC,IAAI,8CAAC;IAC7D,WAAW,GAAG,KAAK;AAEnB,IAAA,SAAS,CAAC,CAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACzD,CAAC,CAAC,cAAc,EAAE;YAClB,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IAEA,QAAQ,GAAA;QACN,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa;AACnC,QAAA,IAAI,CAAC,EAAE;YAAE;QAET,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;AAC7B,QAAA,IAAI,CAAC,KAAK;YAAE;AAEZ,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACrB,QAAA,EAAE,CAAC,KAAK,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE;IACnB;IACA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;IACzB;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;IACA,UAAU,GAAA;QACR,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa;AACnC,QAAA,IAAI,CAAC,EAAE;YAAE;AACT,QAAA,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;AACxB,QAAA,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,IAAI;IACzD;uGAnCW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,4NCX9B,+oCA2BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDpBY,YAAY,EAAA,EAAA,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,UAAA,EAAA,IAAA,EAAE,eAAe,wNAAE,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIrC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,WAC9B,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,EAAA,QAAA,EAAA,+oCAAA,EAAA;6GAMO,IAAI,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEb9D;;AAEG;;;;"}
|