{"version":3,"sources":["node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-image.mjs"],"sourcesContent":["import { __esDecorate, __runInitializers } from 'tslib';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, EventEmitter, inject, ViewChild, Injector, Injectable, booleanAttribute, Directive, NgModule } from '@angular/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, filter, take, switchMap } from 'rxjs/operators';\nimport * as i1 from 'ng-zorro-antd/core/config';\nimport { WithConfig } from 'ng-zorro-antd/core/config';\nimport { CdkDragHandle, CdkDrag } from '@angular/cdk/drag-drop';\nimport { ESCAPE, LEFT_ARROW, RIGHT_ARROW, hasModifierKey } from '@angular/cdk/keycodes';\nimport { fadeMotion } from 'ng-zorro-antd/core/animation';\nimport * as i3 from 'ng-zorro-antd/core/services';\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { fromEventOutsideAngular, isNotNil } from 'ng-zorro-antd/core/util';\nimport * as i5 from 'ng-zorro-antd/icon';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport * as i4 from '@angular/platform-browser';\nimport * as i1$1 from '@angular/cdk/overlay';\nimport { OverlayRef, OverlayConfig } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport * as i3$1 from '@angular/cdk/bidi';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst _c0 = [\"*\"];\nconst _c1 = [\"imgRef\"];\nconst _c2 = [\"imagePreviewWrapper\"];\nfunction NzImagePreviewComponent_Conditional_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 13);\n i0.ɵɵlistener(\"click\", function NzImagePreviewComponent_Conditional_2_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onSwitchLeft($event));\n });\n i0.ɵɵelement(1, \"nz-icon\", 14);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(2, \"div\", 15);\n i0.ɵɵlistener(\"click\", function NzImagePreviewComponent_Conditional_2_Template_div_click_2_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onSwitchRight($event));\n });\n i0.ɵɵelement(3, \"nz-icon\", 16);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"ant-image-preview-switch-left-disabled\", ctx_r2.index <= 0);\n i0.ɵɵadvance(2);\n i0.ɵɵclassProp(\"ant-image-preview-switch-right-disabled\", ctx_r2.index >= ctx_r2.images.length - 1);\n }\n}\nfunction NzImagePreviewComponent_Conditional_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"li\", 5);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate2(\"\", ctx_r2.index + 1, \" / \", ctx_r2.images.length, \"\");\n }\n}\nfunction NzImagePreviewComponent_For_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 17);\n i0.ɵɵlistener(\"click\", function NzImagePreviewComponent_For_6_Template_li_click_0_listener() {\n const option_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n return i0.ɵɵresetView(option_r5.onClick());\n });\n i0.ɵɵelement(1, \"span\", 18);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_13_0;\n const option_r5 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"ant-image-preview-operations-operation-disabled\", ctx_r2.zoomOutDisabled && option_r5.type === \"zoomOut\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"nzType\", option_r5.icon)(\"nzRotate\", (tmp_13_0 = option_r5.rotate) !== null && tmp_13_0 !== undefined ? tmp_13_0 : 0);\n }\n}\nfunction NzImagePreviewComponent_For_15_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"img\", 20, 1);\n }\n if (rf & 2) {\n const image_r6 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"width\", image_r6.width)(\"height\", image_r6.height)(\"transform\", ctx_r2.previewImageTransform);\n i0.ɵɵattribute(\"src\", ctx_r2.sanitizerResourceUrl(image_r6.src), i0.ɵɵsanitizeUrl)(\"srcset\", image_r6.srcset)(\"alt\", image_r6.alt);\n }\n}\nfunction NzImagePreviewComponent_For_15_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, NzImagePreviewComponent_For_15_Conditional_0_Template, 2, 9, \"img\", 19);\n }\n if (rf & 2) {\n const ɵ$index_37_r7 = ctx.$index;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵconditional(ɵ$index_37_r7 === ctx_r2.index ? 0 : -1);\n }\n}\nlet NzImageGroupComponent = /*#__PURE__*/(() => {\n class NzImageGroupComponent {\n nzScaleStep = null;\n images = [];\n addImage(image) {\n this.images.push(image);\n }\n static ɵfac = function NzImageGroupComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NzImageGroupComponent)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzImageGroupComponent,\n selectors: [[\"nz-image-group\"]],\n inputs: {\n nzScaleStep: \"nzScaleStep\"\n },\n exportAs: [\"nzImageGroup\"],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function NzImageGroupComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n return NzImageGroupComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst NZ_CONFIG_MODULE_NAME$1 = 'image';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * fit content details: https://github.com/NG-ZORRO/ng-zorro-antd/pull/6154#issuecomment-745025554\n *\n * calc position x,y point\n *\n * CASE (width <= clientWidth && height <= clientHeight):\n *\n * ------------- clientWidth -------------\n * | |\n * | ------ width ------ |\n * | | | |\n * | | | |\n * client height | |\n * Height | | |\n * | | | |\n * | ------------------- |\n * | |\n * | |\n * ---------------------------------------\n * fixedPosition = { x: 0, y: 0 }\n *\n *\n *\n * CASE (width > clientWidth || height > clientHeight):\n *\n * ------------- clientWidth -------------\n * | | |\n * | top |\n * | | |\n * |--left--|--------------- width -----------------\n * | | |\n * client | |\n * Height | |\n * | | |\n * | | |\n * | height |\n * | | |\n * ---------| |\n * | |\n * | |\n * | |\n * ----------------------------------------\n *\n *\n * - left || top > 0\n * left -> 0 || top -> 0\n *\n * - (left + width) < clientWidth || (top + height) < clientHeight\n * - left | top + width | height < clientWidth | clientHeight -> Back left | top + width | height === clientWidth | clientHeight\n *\n * DEFAULT:\n * - hold position\n *\n */\nfunction getFitContentPosition(params) {\n let fixPos = {};\n if (params.width <= params.clientWidth && params.height <= params.clientHeight) {\n fixPos = {\n x: 0,\n y: 0\n };\n }\n if (params.width > params.clientWidth || params.height > params.clientHeight) {\n fixPos = {\n x: fitPoint(params.left, params.width, params.clientWidth),\n y: fitPoint(params.top, params.height, params.clientHeight)\n };\n }\n return fixPos;\n}\nfunction getOffset(node) {\n const box = node.getBoundingClientRect();\n const docElem = document.documentElement;\n // use docElem.scrollLeft to support IE\n return {\n left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || document.body.clientLeft || 0),\n top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || document.body.clientTop || 0)\n };\n}\nfunction getClientSize() {\n const width = document.documentElement.clientWidth;\n const height = window.innerHeight || document.documentElement.clientHeight;\n return {\n width,\n height\n };\n}\nfunction fitPoint(start, size, clientSize) {\n const startAddSize = start + size;\n const offsetStart = (size - clientSize) / 2;\n let distance = null;\n if (size > clientSize) {\n if (start > 0) {\n distance = offsetStart;\n }\n if (start < 0 && startAddSize < clientSize) {\n distance = -offsetStart;\n }\n } else {\n if (start < 0 || startAddSize > clientSize) {\n distance = start < 0 ? offsetStart : -offsetStart;\n }\n }\n return distance;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzImagePreviewOptions {\n nzKeyboard = true;\n nzNoAnimation = false;\n nzMaskClosable = true;\n nzCloseOnNavigation = true;\n nzZIndex;\n nzZoom;\n nzRotate;\n nzFlipHorizontally;\n nzFlipVertically;\n nzScaleStep;\n nzDirection;\n}\nconst initialPosition = {\n x: 0,\n y: 0\n};\nconst NZ_DEFAULT_SCALE_STEP = 0.5;\nconst NZ_DEFAULT_ZOOM = 1;\nconst NZ_DEFAULT_ROTATE = 0;\nlet NzImagePreviewComponent = /*#__PURE__*/(() => {\n class NzImagePreviewComponent {\n ngZone;\n cdr;\n nzConfigService;\n config;\n destroy$;\n sanitizer;\n _defaultNzZoom = NZ_DEFAULT_ZOOM;\n _defaultNzScaleStep = NZ_DEFAULT_SCALE_STEP;\n _defaultNzRotate = NZ_DEFAULT_ROTATE;\n images = [];\n index = 0;\n isDragging = false;\n visible = true;\n animationStateChanged = new EventEmitter();\n scaleStepMap = new Map();\n previewImageTransform = '';\n previewImageWrapperTransform = '';\n operations = [{\n icon: 'close',\n onClick: () => {\n this.onClose();\n },\n type: 'close'\n }, {\n icon: 'zoom-in',\n onClick: () => {\n this.onZoomIn();\n },\n type: 'zoomIn'\n }, {\n icon: 'zoom-out',\n onClick: () => {\n this.onZoomOut();\n },\n type: 'zoomOut'\n }, {\n icon: 'rotate-right',\n onClick: () => {\n this.onRotateRight();\n },\n type: 'rotateRight'\n }, {\n icon: 'rotate-left',\n onClick: () => {\n this.onRotateLeft();\n },\n type: 'rotateLeft'\n }, {\n icon: 'swap',\n onClick: () => {\n this.onHorizontalFlip();\n },\n type: 'flipHorizontally'\n }, {\n icon: 'swap',\n onClick: () => {\n this.onVerticalFlip();\n },\n type: 'flipVertically',\n rotate: 90\n }];\n zoomOutDisabled = false;\n position = {\n ...initialPosition\n };\n previewRef;\n closeClick = new EventEmitter();\n imageRef;\n imagePreviewWrapper;\n document = inject(DOCUMENT);\n zoom;\n rotate;\n scaleStep;\n flipHorizontally;\n flipVertically;\n get animationDisabled() {\n return this.config.nzNoAnimation ?? false;\n }\n get maskClosable() {\n const defaultConfig = this.nzConfigService.getConfigForComponent(NZ_CONFIG_MODULE_NAME$1) || {};\n return this.config.nzMaskClosable ?? defaultConfig.nzMaskClosable ?? true;\n }\n constructor(ngZone, cdr, nzConfigService, config, destroy$, sanitizer) {\n this.ngZone = ngZone;\n this.cdr = cdr;\n this.nzConfigService = nzConfigService;\n this.config = config;\n this.destroy$ = destroy$;\n this.sanitizer = sanitizer;\n this.zoom = this.config.nzZoom ?? this._defaultNzZoom;\n this.scaleStep = this.config.nzScaleStep ?? this._defaultNzScaleStep;\n this.rotate = this.config.nzRotate ?? this._defaultNzRotate;\n this.flipHorizontally = this.config.nzFlipHorizontally ?? false;\n this.flipVertically = this.config.nzFlipVertically ?? false;\n this.updateZoomOutDisabled();\n this.updatePreviewImageTransform();\n this.updatePreviewImageWrapperTransform();\n }\n ngOnInit() {\n fromEventOutsideAngular(this.imagePreviewWrapper.nativeElement, 'mousedown').pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.isDragging = true;\n });\n fromEventOutsideAngular(this.imagePreviewWrapper.nativeElement, 'wheel').pipe(takeUntil(this.destroy$)).subscribe(event => {\n this.ngZone.run(() => this.wheelZoomEventHandler(event));\n });\n fromEventOutsideAngular(this.document, 'keydown').pipe(filter(event => event.keyCode === ESCAPE), takeUntil(this.destroy$)).subscribe(() => {\n this.ngZone.run(() => {\n this.onClose();\n this.markForCheck();\n });\n });\n }\n setImages(images, scaleStepMap) {\n if (scaleStepMap) this.scaleStepMap = scaleStepMap;\n this.images = images;\n this.markForCheck();\n }\n switchTo(index) {\n this.index = index;\n this.markForCheck();\n }\n next() {\n if (this.index < this.images.length - 1) {\n this.reset();\n this.index++;\n this.updatePreviewImageTransform();\n this.updatePreviewImageWrapperTransform();\n this.updateZoomOutDisabled();\n this.markForCheck();\n }\n }\n prev() {\n if (this.index > 0) {\n this.reset();\n this.index--;\n this.updatePreviewImageTransform();\n this.updatePreviewImageWrapperTransform();\n this.updateZoomOutDisabled();\n this.markForCheck();\n }\n }\n markForCheck() {\n this.cdr.markForCheck();\n }\n onClose() {\n this.visible = false;\n this.closeClick.emit();\n }\n onZoomIn() {\n const zoomStep = this.scaleStepMap.get(this.images[this.index].src ?? this.images[this.index].srcset) ?? this.scaleStep;\n this.zoom += zoomStep;\n this.updatePreviewImageTransform();\n this.updateZoomOutDisabled();\n }\n onZoomOut() {\n if (this.zoom > 1) {\n const zoomStep = this.scaleStepMap.get(this.images[this.index].src ?? this.images[this.index].srcset) ?? this.scaleStep;\n this.zoom -= zoomStep;\n this.updatePreviewImageTransform();\n this.updateZoomOutDisabled();\n if (this.zoom <= 1) {\n this.reCenterImage();\n }\n }\n }\n onRotateRight() {\n this.rotate += 90;\n this.updatePreviewImageTransform();\n }\n onRotateLeft() {\n this.rotate -= 90;\n this.updatePreviewImageTransform();\n }\n onSwitchLeft(event) {\n event.preventDefault();\n event.stopPropagation();\n this.prev();\n }\n onSwitchRight(event) {\n event.preventDefault();\n event.stopPropagation();\n this.next();\n }\n onHorizontalFlip() {\n this.flipHorizontally = !this.flipHorizontally;\n this.updatePreviewImageTransform();\n }\n onVerticalFlip() {\n this.flipVertically = !this.flipVertically;\n this.updatePreviewImageTransform();\n }\n wheelZoomEventHandler(event) {\n event.preventDefault();\n event.stopPropagation();\n this.handlerImageTransformationWhileZoomingWithMouse(event, event.deltaY);\n this.handleImageScaleWhileZoomingWithMouse(event.deltaY);\n this.updatePreviewImageWrapperTransform();\n this.updatePreviewImageTransform();\n this.markForCheck();\n }\n onAnimationStart(event) {\n this.animationStateChanged.emit(event);\n }\n onAnimationDone(event) {\n this.animationStateChanged.emit(event);\n }\n onDragEnd(event) {\n this.isDragging = false;\n const width = this.imageRef.nativeElement.offsetWidth * this.zoom;\n const height = this.imageRef.nativeElement.offsetHeight * this.zoom;\n const {\n left,\n top\n } = getOffset(this.imageRef.nativeElement);\n const {\n width: clientWidth,\n height: clientHeight\n } = getClientSize();\n const isRotate = this.rotate % 180 !== 0;\n const fitContentParams = {\n width: isRotate ? height : width,\n height: isRotate ? width : height,\n left,\n top,\n clientWidth,\n clientHeight\n };\n const fitContentPos = getFitContentPosition(fitContentParams);\n if (isNotNil(fitContentPos.x) || isNotNil(fitContentPos.y)) {\n this.position = {\n ...this.position,\n ...fitContentPos\n };\n } else if (!isNotNil(fitContentPos.x) && !isNotNil(fitContentPos.y)) {\n this.position = {\n x: event.source.getFreeDragPosition().x,\n y: event.source.getFreeDragPosition().y\n };\n }\n }\n sanitizerResourceUrl(url) {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n updatePreviewImageTransform() {\n this.previewImageTransform = `scale3d(${this.zoom * (this.flipHorizontally ? -1 : 1)}, ${this.zoom * (this.flipVertically ? -1 : 1)}, 1) rotate(${this.rotate}deg)`;\n }\n updatePreviewImageWrapperTransform() {\n this.previewImageWrapperTransform = `translate3d(${this.position.x}px, ${this.position.y}px, 0)`;\n }\n updateZoomOutDisabled() {\n this.zoomOutDisabled = this.zoom <= 1;\n }\n handlerImageTransformationWhileZoomingWithMouse(event, deltaY) {\n let scaleValue;\n const imageElement = this.imageRef.nativeElement;\n const elementTransform = getComputedStyle(imageElement).transform;\n const matrixValue = elementTransform.match(/matrix.*\\((.+)\\)/);\n if (matrixValue) {\n scaleValue = +matrixValue[1].split(', ')[0];\n } else {\n scaleValue = this.zoom;\n }\n const x = (event.clientX - imageElement.getBoundingClientRect().x) / scaleValue;\n const y = (event.clientY - imageElement.getBoundingClientRect().y) / scaleValue;\n const halfOfScaleStepValue = deltaY < 0 ? this.scaleStep / 2 : -this.scaleStep / 2;\n this.position.x += -x * halfOfScaleStepValue * 2 + imageElement.offsetWidth * halfOfScaleStepValue;\n this.position.y += -y * halfOfScaleStepValue * 2 + imageElement.offsetHeight * halfOfScaleStepValue;\n }\n handleImageScaleWhileZoomingWithMouse(deltaY) {\n if (this.isZoomedInWithMouseWheel(deltaY)) {\n this.onZoomIn();\n } else {\n this.onZoomOut();\n }\n if (this.zoom <= 1) {\n this.reCenterImage();\n }\n }\n isZoomedInWithMouseWheel(delta) {\n return delta < 0;\n }\n reset() {\n this.zoom = this.config.nzZoom ?? this._defaultNzZoom;\n this.scaleStep = this.config.nzScaleStep ?? this._defaultNzScaleStep;\n this.rotate = this.config.nzRotate ?? this._defaultNzRotate;\n this.flipHorizontally = false;\n this.flipVertically = false;\n this.reCenterImage();\n }\n reCenterImage() {\n this.position = {\n ...initialPosition\n };\n }\n static ɵfac = function NzImagePreviewComponent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NzImagePreviewComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.NzConfigService), i0.ɵɵdirectiveInject(NzImagePreviewOptions), i0.ɵɵdirectiveInject(i3.NzDestroyService), i0.ɵɵdirectiveInject(i4.DomSanitizer));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzImagePreviewComponent,\n selectors: [[\"nz-image-preview\"]],\n viewQuery: function NzImagePreviewComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c1, 5);\n i0.ɵɵviewQuery(_c2, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.imageRef = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.imagePreviewWrapper = _t.first);\n }\n },\n hostAttrs: [1, \"ant-image-preview-root\"],\n hostVars: 6,\n hostBindings: function NzImagePreviewComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵsyntheticHostListener(\"@fadeMotion.start\", function NzImagePreviewComponent_animation_fadeMotion_start_HostBindingHandler($event) {\n return ctx.onAnimationStart($event);\n })(\"@fadeMotion.done\", function NzImagePreviewComponent_animation_fadeMotion_done_HostBindingHandler($event) {\n return ctx.onAnimationDone($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵsyntheticHostProperty(\"@.disabled\", ctx.config.nzNoAnimation)(\"@fadeMotion\", ctx.visible ? \"enter\" : \"leave\");\n i0.ɵɵstyleProp(\"z-index\", ctx.config.nzZIndex);\n i0.ɵɵclassProp(\"ant-image-preview-moving\", ctx.isDragging);\n }\n },\n exportAs: [\"nzImagePreview\"],\n features: [i0.ɵɵProvidersFeature([NzDestroyService])],\n decls: 17,\n vars: 5,\n consts: [[\"imagePreviewWrapper\", \"\"], [\"imgRef\", \"\"], [1, \"ant-image-preview-mask\"], [1, \"ant-image-preview-operations-wrapper\"], [1, \"ant-image-preview-operations\"], [1, \"ant-image-preview-operations-progress\"], [1, \"ant-image-preview-operations-operation\", 3, \"ant-image-preview-operations-operation-disabled\"], [\"tabindex\", \"-1\", 1, \"ant-image-preview-wrap\", 3, \"click\"], [\"role\", \"dialog\", \"aria-modal\", \"true\", 1, \"ant-image-preview\"], [\"tabindex\", \"0\", \"aria-hidden\", \"true\", 1, \"ant-image-preview-focus-trap\"], [1, \"ant-image-preview-content\"], [1, \"ant-image-preview-body\"], [\"cdkDrag\", \"\", 1, \"ant-image-preview-img-wrapper\", 3, \"cdkDragEnded\", \"cdkDragFreeDragPosition\"], [1, \"ant-image-preview-switch-left\", 3, \"click\"], [\"nzType\", \"left\", \"nzTheme\", \"outline\"], [1, \"ant-image-preview-switch-right\", 3, \"click\"], [\"nzType\", \"right\", \"nzTheme\", \"outline\"], [1, \"ant-image-preview-operations-operation\", 3, \"click\"], [\"nz-icon\", \"\", \"nzTheme\", \"outline\", 1, \"ant-image-preview-operations-icon\", 3, \"nzType\", \"nzRotate\"], [\"cdkDragHandle\", \"\", 1, \"ant-image-preview-img\", 3, \"width\", \"height\", \"transform\"], [\"cdkDragHandle\", \"\", 1, \"ant-image-preview-img\"]],\n template: function NzImagePreviewComponent_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelement(0, \"div\", 2);\n i0.ɵɵelementStart(1, \"div\", 3);\n i0.ɵɵtemplate(2, NzImagePreviewComponent_Conditional_2_Template, 4, 4);\n i0.ɵɵelementStart(3, \"ul\", 4);\n i0.ɵɵtemplate(4, NzImagePreviewComponent_Conditional_4_Template, 2, 2, \"li\", 5);\n i0.ɵɵrepeaterCreate(5, NzImagePreviewComponent_For_6_Template, 2, 4, \"li\", 6, i0.ɵɵrepeaterTrackByIdentity);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(7, \"div\", 7);\n i0.ɵɵlistener(\"click\", function NzImagePreviewComponent_Template_div_click_7_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.maskClosable && $event.target === $event.currentTarget && ctx.onClose());\n });\n i0.ɵɵelementStart(8, \"div\", 8);\n i0.ɵɵelement(9, \"div\", 9);\n i0.ɵɵelementStart(10, \"div\", 10)(11, \"div\", 11)(12, \"div\", 12, 0);\n i0.ɵɵlistener(\"cdkDragEnded\", function NzImagePreviewComponent_Template_div_cdkDragEnded_12_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onDragEnd($event));\n });\n i0.ɵɵrepeaterCreate(14, NzImagePreviewComponent_For_15_Template, 1, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelement(16, \"div\", 9);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.images.length > 1 ? 2 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx.images.length > 1 ? 4 : -1);\n i0.ɵɵadvance();\n i0.ɵɵrepeater(ctx.operations);\n i0.ɵɵadvance(7);\n i0.ɵɵstyleProp(\"transform\", ctx.previewImageWrapperTransform);\n i0.ɵɵproperty(\"cdkDragFreeDragPosition\", ctx.position);\n i0.ɵɵadvance(2);\n i0.ɵɵrepeater(ctx.images);\n }\n },\n dependencies: [NzIconModule, i5.NzIconDirective, CdkDragHandle, CdkDrag],\n encapsulation: 2,\n data: {\n animation: [fadeMotion]\n },\n changeDetection: 0\n });\n }\n return NzImagePreviewComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzImagePreviewRef {\n previewInstance;\n config;\n overlayRef;\n destroy$ = new Subject();\n constructor(previewInstance, config, overlayRef) {\n this.previewInstance = previewInstance;\n this.config = config;\n this.overlayRef = overlayRef;\n overlayRef.keydownEvents().pipe(filter(event => this.config.nzKeyboard && (event.keyCode === ESCAPE || event.keyCode === LEFT_ARROW || event.keyCode === RIGHT_ARROW) && !hasModifierKey(event))).subscribe(event => {\n event.preventDefault();\n if (event.keyCode === ESCAPE) {\n previewInstance.onClose();\n }\n if (event.keyCode === LEFT_ARROW) {\n this.prev();\n }\n if (event.keyCode === RIGHT_ARROW) {\n this.next();\n }\n });\n overlayRef.detachments().subscribe(() => {\n this.overlayRef.dispose();\n });\n previewInstance.closeClick.pipe(take(1), switchMap(() => previewInstance.animationStateChanged), filter(event => event.phaseName === 'done'), takeUntil(this.destroy$)).subscribe(() => {\n this.close();\n });\n }\n switchTo(index) {\n this.previewInstance.switchTo(index);\n }\n next() {\n this.previewInstance.next();\n }\n prev() {\n this.previewInstance.prev();\n }\n close() {\n this.destroy$.next();\n this.overlayRef.dispose();\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nlet NzImageService = /*#__PURE__*/(() => {\n class NzImageService {\n overlay;\n injector;\n nzConfigService;\n directionality;\n constructor(overlay, injector, nzConfigService, directionality) {\n this.overlay = overlay;\n this.injector = injector;\n this.nzConfigService = nzConfigService;\n this.directionality = directionality;\n }\n preview(images, options, zoomMap) {\n return this.display(images, options, zoomMap);\n }\n display(images, config, scaleStepMap) {\n const configMerged = {\n ...new NzImagePreviewOptions(),\n ...(config ?? {})\n };\n const overlayRef = this.createOverlay(configMerged);\n const previewComponent = this.attachPreviewComponent(overlayRef, configMerged);\n previewComponent.setImages(images, scaleStepMap);\n const previewRef = new NzImagePreviewRef(previewComponent, configMerged, overlayRef);\n previewComponent.previewRef = previewRef;\n return previewRef;\n }\n attachPreviewComponent(overlayRef, config) {\n const injector = Injector.create({\n parent: this.injector,\n providers: [{\n provide: OverlayRef,\n useValue: overlayRef\n }, {\n provide: NzImagePreviewOptions,\n useValue: config\n }]\n });\n const containerPortal = new ComponentPortal(NzImagePreviewComponent, null, injector);\n const containerRef = overlayRef.attach(containerPortal);\n return containerRef.instance;\n }\n createOverlay(config) {\n const globalConfig = this.nzConfigService.getConfigForComponent(NZ_CONFIG_MODULE_NAME$1) || {};\n const overLayConfig = new OverlayConfig({\n scrollStrategy: this.overlay.scrollStrategies.block(),\n positionStrategy: this.overlay.position().global(),\n disposeOnNavigation: config.nzCloseOnNavigation ?? globalConfig.nzCloseOnNavigation ?? true,\n direction: config.nzDirection || globalConfig.nzDirection || this.directionality.value\n });\n return this.overlay.create(overLayConfig);\n }\n static ɵfac = function NzImageService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NzImageService)(i0.ɵɵinject(i1$1.Overlay), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i1.NzConfigService), i0.ɵɵinject(i3$1.Directionality));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzImageService,\n factory: NzImageService.ɵfac\n });\n }\n return NzImageService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst NZ_CONFIG_MODULE_NAME = 'image';\nlet NzImageDirective = (() => {\n let _nzDisablePreview_decorators;\n let _nzDisablePreview_initializers = [];\n let _nzDisablePreview_extraInitializers = [];\n let _nzFallback_decorators;\n let _nzFallback_initializers = [];\n let _nzFallback_extraInitializers = [];\n let _nzPlaceholder_decorators;\n let _nzPlaceholder_initializers = [];\n let _nzPlaceholder_extraInitializers = [];\n let _nzScaleStep_decorators;\n let _nzScaleStep_initializers = [];\n let _nzScaleStep_extraInitializers = [];\n return class NzImageDirective {\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(null) : void 0;\n _nzDisablePreview_decorators = [WithConfig()];\n _nzFallback_decorators = [WithConfig()];\n _nzPlaceholder_decorators = [WithConfig()];\n _nzScaleStep_decorators = [WithConfig()];\n __esDecorate(null, null, _nzDisablePreview_decorators, {\n kind: \"field\",\n name: \"nzDisablePreview\",\n static: false,\n private: false,\n access: {\n has: obj => \"nzDisablePreview\" in obj,\n get: obj => obj.nzDisablePreview,\n set: (obj, value) => {\n obj.nzDisablePreview = value;\n }\n },\n metadata: _metadata\n }, _nzDisablePreview_initializers, _nzDisablePreview_extraInitializers);\n __esDecorate(null, null, _nzFallback_decorators, {\n kind: \"field\",\n name: \"nzFallback\",\n static: false,\n private: false,\n access: {\n has: obj => \"nzFallback\" in obj,\n get: obj => obj.nzFallback,\n set: (obj, value) => {\n obj.nzFallback = value;\n }\n },\n metadata: _metadata\n }, _nzFallback_initializers, _nzFallback_extraInitializers);\n __esDecorate(null, null, _nzPlaceholder_decorators, {\n kind: \"field\",\n name: \"nzPlaceholder\",\n static: false,\n private: false,\n access: {\n has: obj => \"nzPlaceholder\" in obj,\n get: obj => obj.nzPlaceholder,\n set: (obj, value) => {\n obj.nzPlaceholder = value;\n }\n },\n metadata: _metadata\n }, _nzPlaceholder_initializers, _nzPlaceholder_extraInitializers);\n __esDecorate(null, null, _nzScaleStep_decorators, {\n kind: \"field\",\n name: \"nzScaleStep\",\n static: false,\n private: false,\n access: {\n has: obj => \"nzScaleStep\" in obj,\n get: obj => obj.nzScaleStep,\n set: (obj, value) => {\n obj.nzScaleStep = value;\n }\n },\n metadata: _metadata\n }, _nzScaleStep_initializers, _nzScaleStep_extraInitializers);\n if (_metadata) Object.defineProperty(this, Symbol.metadata, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: _metadata\n });\n }\n nzConfigService;\n elementRef;\n nzImageService;\n cdr;\n directionality;\n _nzModuleName = NZ_CONFIG_MODULE_NAME;\n nzSrc = '';\n nzSrcset = '';\n nzDisablePreview = __runInitializers(this, _nzDisablePreview_initializers, false);\n nzFallback = (__runInitializers(this, _nzDisablePreview_extraInitializers), __runInitializers(this, _nzFallback_initializers, null));\n nzPlaceholder = (__runInitializers(this, _nzFallback_extraInitializers), __runInitializers(this, _nzPlaceholder_initializers, null));\n nzScaleStep = (__runInitializers(this, _nzPlaceholder_extraInitializers), __runInitializers(this, _nzScaleStep_initializers, null));\n dir = __runInitializers(this, _nzScaleStep_extraInitializers);\n backLoadImage;\n status = 'normal';\n backLoadDestroy$ = new Subject();\n destroy$ = new Subject();\n document = inject(DOCUMENT);\n parentGroup = inject(NzImageGroupComponent, {\n optional: true\n });\n get previewable() {\n return !this.nzDisablePreview && this.status !== 'error';\n }\n constructor(nzConfigService, elementRef, nzImageService, cdr, directionality) {\n this.nzConfigService = nzConfigService;\n this.elementRef = elementRef;\n this.nzImageService = nzImageService;\n this.cdr = cdr;\n this.directionality = directionality;\n }\n ngOnInit() {\n this.backLoad();\n if (this.parentGroup) {\n this.parentGroup.addImage(this);\n }\n if (this.directionality) {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.dir = this.directionality.value;\n }\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n onPreview() {\n if (!this.previewable) {\n return;\n }\n if (this.parentGroup) {\n // preview inside image group\n const previewAbleImages = this.parentGroup.images.filter(e => e.previewable);\n const previewImages = previewAbleImages.map(e => ({\n src: e.nzSrc,\n srcset: e.nzSrcset\n }));\n const previewIndex = previewAbleImages.findIndex(el => this === el);\n const scaleStepMap = new Map();\n previewAbleImages.forEach(imageDirective => {\n scaleStepMap.set(imageDirective.nzSrc ?? imageDirective.nzSrcset, imageDirective.nzScaleStep ?? this.parentGroup.nzScaleStep ?? this.nzScaleStep ?? NZ_DEFAULT_SCALE_STEP);\n });\n const previewRef = this.nzImageService.preview(previewImages, {\n nzDirection: this.dir\n }, scaleStepMap);\n previewRef.switchTo(previewIndex);\n } else {\n // preview not inside image group\n const previewImages = [{\n src: this.nzSrc,\n srcset: this.nzSrcset\n }];\n this.nzImageService.preview(previewImages, {\n nzDirection: this.dir,\n nzScaleStep: this.nzScaleStep ?? NZ_DEFAULT_SCALE_STEP\n });\n }\n }\n getElement() {\n return this.elementRef;\n }\n ngOnChanges(changes) {\n const {\n nzSrc\n } = changes;\n if (nzSrc) {\n this.getElement().nativeElement.src = nzSrc.currentValue;\n this.backLoad();\n }\n }\n /**\n * use internal Image object handle fallback & placeholder\n *\n * @private\n */\n backLoad() {\n this.backLoadImage = this.document.createElement('img');\n this.backLoadImage.src = this.nzSrc;\n this.backLoadImage.srcset = this.nzSrcset;\n this.status = 'loading';\n // unsubscribe last backLoad\n this.backLoadDestroy$.next();\n this.backLoadDestroy$.complete();\n this.backLoadDestroy$ = new Subject();\n if (this.backLoadImage.complete) {\n this.status = 'normal';\n this.getElement().nativeElement.src = this.nzSrc;\n this.getElement().nativeElement.srcset = this.nzSrcset;\n } else {\n if (this.nzPlaceholder) {\n this.getElement().nativeElement.src = this.nzPlaceholder;\n this.getElement().nativeElement.srcset = '';\n } else {\n this.getElement().nativeElement.src = this.nzSrc;\n this.getElement().nativeElement.srcset = this.nzSrcset;\n }\n // The `nz-image` directive can be destroyed before the `load` or `error` event is dispatched,\n // so there's no sense to keep capturing `this`.\n fromEvent(this.backLoadImage, 'load').pipe(takeUntil(this.backLoadDestroy$), takeUntil(this.destroy$)).subscribe(() => {\n this.status = 'normal';\n this.getElement().nativeElement.src = this.nzSrc;\n this.getElement().nativeElement.srcset = this.nzSrcset;\n });\n fromEvent(this.backLoadImage, 'error').pipe(takeUntil(this.backLoadDestroy$), takeUntil(this.destroy$)).subscribe(() => {\n this.status = 'error';\n if (this.nzFallback) {\n this.getElement().nativeElement.src = this.nzFallback;\n this.getElement().nativeElement.srcset = '';\n }\n });\n }\n }\n static ɵfac = function NzImageDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NzImageDirective)(i0.ɵɵdirectiveInject(i1.NzConfigService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(NzImageService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3$1.Directionality));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzImageDirective,\n selectors: [[\"img\", \"nz-image\", \"\"]],\n hostBindings: function NzImageDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function NzImageDirective_click_HostBindingHandler() {\n return ctx.onPreview();\n });\n }\n },\n inputs: {\n nzSrc: \"nzSrc\",\n nzSrcset: \"nzSrcset\",\n nzDisablePreview: [2, \"nzDisablePreview\", \"nzDisablePreview\", booleanAttribute],\n nzFallback: \"nzFallback\",\n nzPlaceholder: \"nzPlaceholder\",\n nzScaleStep: \"nzScaleStep\"\n },\n exportAs: [\"nzImage\"],\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵNgOnChangesFeature]\n });\n };\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nlet NzImageModule = /*#__PURE__*/(() => {\n class NzImageModule {\n static ɵfac = function NzImageModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NzImageModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzImageModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [NzImageService],\n imports: [NzImagePreviewComponent]\n });\n }\n return NzImageModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NZ_CONFIG_MODULE_NAME$1 as NZ_CONFIG_MODULE_NAME, NZ_DEFAULT_SCALE_STEP, NzImageDirective, NzImageGroupComponent, NzImageModule, NzImagePreviewComponent, NzImagePreviewOptions, NzImagePreviewRef, NzImageService, getClientSize, getFitContentPosition, getOffset };\n"],"names":["_c0","_c1","_c2","NzImagePreviewComponent_Conditional_2_Template","rf","ctx","_r2","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","ctx_r2","ɵɵnextContext","ɵɵresetView","ɵɵelement","ɵɵelementEnd","ɵɵclassProp","ɵɵadvance","NzImagePreviewComponent_Conditional_4_Template","ɵɵtext","ɵɵtextInterpolate2","NzImagePreviewComponent_For_6_Template","_r4","option_r5","tmp_13_0","ɵɵproperty","NzImagePreviewComponent_For_15_Conditional_0_Template","image_r6","ɵɵstyleProp","ɵɵattribute","ɵɵsanitizeUrl","NzImagePreviewComponent_For_15_Template","ɵɵtemplate","ɵ$index_37_r7","ɵɵconditional","NzImageGroupComponent","image","__ngFactoryType__","ɵɵdefineComponent","ɵɵprojectionDef","ɵɵprojection","NZ_CONFIG_MODULE_NAME$1","getFitContentPosition","params","fixPos","fitPoint","getOffset","node","box","docElem","getClientSize","width","height","start","size","clientSize","startAddSize","offsetStart","distance","NzImagePreviewOptions","initialPosition","NZ_DEFAULT_SCALE_STEP","NZ_DEFAULT_ZOOM","NZ_DEFAULT_ROTATE","NzImagePreviewComponent","EventEmitter","__spreadValues","inject","DOCUMENT","defaultConfig","ngZone","cdr","nzConfigService","config","destroy$","sanitizer","fromEventOutsideAngular","takeUntil","event","filter","images","scaleStepMap","index","zoomStep","left","top","clientWidth","clientHeight","isRotate","fitContentPos","isNotNil","url","deltaY","scaleValue","imageElement","matrixValue","x","y","halfOfScaleStepValue","delta","ɵɵdirectiveInject","NgZone","ChangeDetectorRef","NzConfigService","NzDestroyService","DomSanitizer","ɵɵviewQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵsyntheticHostListener","ɵɵsyntheticHostProperty","ɵɵProvidersFeature","_r1","ɵɵrepeaterCreate","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","NzIconModule","NzIconDirective","CdkDragHandle","CdkDrag","fadeMotion","NzImagePreviewRef","Subject","previewInstance","overlayRef","hasModifierKey","take","switchMap","NzImageService","overlay","injector","directionality","options","zoomMap","configMerged","previewComponent","previewRef","Injector","OverlayRef","containerPortal","ComponentPortal","globalConfig","overLayConfig","OverlayConfig","ɵɵinject","Overlay","Directionality","ɵɵdefineInjectable","NZ_CONFIG_MODULE_NAME","NzImageDirective","_a","_nzDisablePreview_decorators","_nzDisablePreview_initializers","_nzDisablePreview_extraInitializers","_nzFallback_decorators","_nzFallback_initializers","_nzFallback_extraInitializers","_nzPlaceholder_decorators","_nzPlaceholder_initializers","_nzPlaceholder_extraInitializers","_nzScaleStep_decorators","_nzScaleStep_initializers","_nzScaleStep_extraInitializers","__runInitializers","elementRef","nzImageService","direction","previewAbleImages","e","previewImages","previewIndex","el","imageDirective","changes","nzSrc","fromEvent","_metadata","WithConfig","__esDecorate","obj","value","__publicField","ElementRef","ɵɵdefineDirective","booleanAttribute","ɵɵInputTransformsFeature","ɵɵNgOnChangesFeature","NzImageModule","ɵɵdefineNgModule","ɵɵdefineInjector"],"mappings":";;8rBA0BA,IAAMA,GAAM,CAAC,GAAG,EACVC,GAAM,CAAC,QAAQ,EACfC,GAAM,CAAC,qBAAqB,EAClC,SAASC,GAA+CC,EAAIC,EAAK,CAC/D,GAAID,EAAK,EAAG,CACV,IAAME,EAASC,EAAiB,EAC7BC,EAAe,EAAG,MAAO,EAAE,EAC3BC,EAAW,QAAS,SAA6EC,EAAQ,CACvGC,EAAcL,CAAG,EACpB,IAAMM,EAAYC,EAAc,EAChC,OAAUC,EAAYF,EAAO,aAAaF,CAAM,CAAC,CACnD,CAAC,EACEK,EAAU,EAAG,UAAW,EAAE,EAC1BC,EAAa,EACbR,EAAe,EAAG,MAAO,EAAE,EAC3BC,EAAW,QAAS,SAA6EC,EAAQ,CACvGC,EAAcL,CAAG,EACpB,IAAMM,EAAYC,EAAc,EAChC,OAAUC,EAAYF,EAAO,cAAcF,CAAM,CAAC,CACpD,CAAC,EACEK,EAAU,EAAG,UAAW,EAAE,EAC1BC,EAAa,CAClB,CACA,GAAIZ,EAAK,EAAG,CACV,IAAMQ,EAAYC,EAAc,EAC7BI,EAAY,yCAA0CL,EAAO,OAAS,CAAC,EACvEM,EAAU,CAAC,EACXD,EAAY,0CAA2CL,EAAO,OAASA,EAAO,OAAO,OAAS,CAAC,CACpG,CACF,CACA,SAASO,GAA+Cf,EAAIC,EAAK,CAM/D,GALID,EAAK,IACJI,EAAe,EAAG,KAAM,CAAC,EACzBY,GAAO,CAAC,EACRJ,EAAa,GAEdZ,EAAK,EAAG,CACV,IAAMQ,EAAYC,EAAc,EAC7BK,EAAU,EACVG,GAAmB,GAAIT,EAAO,MAAQ,EAAG,MAAOA,EAAO,OAAO,OAAQ,EAAE,CAC7E,CACF,CACA,SAASU,GAAuClB,EAAIC,EAAK,CACvD,GAAID,EAAK,EAAG,CACV,IAAMmB,EAAShB,EAAiB,EAC7BC,EAAe,EAAG,KAAM,EAAE,EAC1BC,EAAW,QAAS,UAAsE,CAC3F,IAAMe,EAAeb,EAAcY,CAAG,EAAE,UACxC,OAAUT,EAAYU,EAAU,QAAQ,CAAC,CAC3C,CAAC,EACET,EAAU,EAAG,OAAQ,EAAE,EACvBC,EAAa,CAClB,CACA,GAAIZ,EAAK,EAAG,CACV,IAAIqB,EACED,EAAYnB,EAAI,UAChBO,EAAYC,EAAc,EAC7BI,EAAY,kDAAmDL,EAAO,iBAAmBY,EAAU,OAAS,SAAS,EACrHN,EAAU,EACVQ,EAAW,SAAUF,EAAU,IAAI,EAAE,YAAaC,EAAWD,EAAU,UAAY,MAAQC,IAAa,OAAYA,EAAW,CAAC,CACrI,CACF,CACA,SAASE,GAAsDvB,EAAIC,EAAK,CAItE,GAHID,EAAK,GACJW,EAAU,EAAG,MAAO,GAAI,CAAC,EAE1BX,EAAK,EAAG,CACV,IAAMwB,EAAcf,EAAc,EAAE,UAC9BD,EAAYC,EAAc,EAC7BgB,EAAY,QAASD,EAAS,KAAK,EAAE,SAAUA,EAAS,MAAM,EAAE,YAAahB,EAAO,qBAAqB,EACzGkB,GAAY,MAAOlB,EAAO,qBAAqBgB,EAAS,GAAG,EAAMG,EAAa,EAAE,SAAUH,EAAS,MAAM,EAAE,MAAOA,EAAS,GAAG,CACnI,CACF,CACA,SAASI,GAAwC5B,EAAIC,EAAK,CAIxD,GAHID,EAAK,GACJ6B,EAAW,EAAGN,GAAuD,EAAG,EAAG,MAAO,EAAE,EAErFvB,EAAK,EAAG,CACV,IAAM8B,EAAgB7B,EAAI,OACpBO,EAAYC,EAAc,EAC7BsB,EAAcD,IAAkBtB,EAAO,MAAQ,EAAI,EAAE,CAC1D,CACF,CACA,IAAIwB,IAAsC,IAAM,CAC9C,MAAMA,CAAsB,CAC1B,YAAc,KACd,OAAS,CAAC,EACV,SAASC,EAAO,CACd,KAAK,OAAO,KAAKA,CAAK,CACxB,CACA,OAAO,UAAO,SAAuCC,EAAmB,CACtE,OAAO,IAAKA,GAAqBF,EACnC,EACA,OAAO,UAAyBG,EAAkB,CAChD,KAAMH,EACN,UAAW,CAAC,CAAC,gBAAgB,CAAC,EAC9B,OAAQ,CACN,YAAa,aACf,EACA,SAAU,CAAC,cAAc,EACzB,mBAAoBpC,GACpB,MAAO,EACP,KAAM,EACN,SAAU,SAAwCI,EAAIC,EAAK,CACrDD,EAAK,IACJoC,GAAgB,EAChBC,GAAa,CAAC,EAErB,EACA,cAAe,EACf,gBAAiB,CACnB,CAAC,CACH,CACA,OAAOL,CACT,GAAG,EASGM,GAA0B,QA4DhC,SAASC,GAAsBC,EAAQ,CACrC,IAAIC,EAAS,CAAC,EACd,OAAID,EAAO,OAASA,EAAO,aAAeA,EAAO,QAAUA,EAAO,eAChEC,EAAS,CACP,EAAG,EACH,EAAG,CACL,IAEED,EAAO,MAAQA,EAAO,aAAeA,EAAO,OAASA,EAAO,gBAC9DC,EAAS,CACP,EAAGC,GAASF,EAAO,KAAMA,EAAO,MAAOA,EAAO,WAAW,EACzD,EAAGE,GAASF,EAAO,IAAKA,EAAO,OAAQA,EAAO,YAAY,CAC5D,GAEKC,CACT,CACA,SAASE,GAAUC,EAAM,CACvB,IAAMC,EAAMD,EAAK,sBAAsB,EACjCE,EAAU,SAAS,gBAEzB,MAAO,CACL,KAAMD,EAAI,MAAQ,OAAO,aAAeC,EAAQ,aAAeA,EAAQ,YAAc,SAAS,KAAK,YAAc,GACjH,IAAKD,EAAI,KAAO,OAAO,aAAeC,EAAQ,YAAcA,EAAQ,WAAa,SAAS,KAAK,WAAa,EAC9G,CACF,CACA,SAASC,IAAgB,CACvB,IAAMC,EAAQ,SAAS,gBAAgB,YACjCC,EAAS,OAAO,aAAe,SAAS,gBAAgB,aAC9D,MAAO,CACL,MAAAD,EACA,OAAAC,CACF,CACF,CACA,SAASP,GAASQ,EAAOC,EAAMC,EAAY,CACzC,IAAMC,EAAeH,EAAQC,EACvBG,GAAeH,EAAOC,GAAc,EACtCG,EAAW,KACf,OAAIJ,EAAOC,GACLF,EAAQ,IACVK,EAAWD,GAETJ,EAAQ,GAAKG,EAAeD,IAC9BG,EAAW,CAACD,KAGVJ,EAAQ,GAAKG,EAAeD,KAC9BG,EAAWL,EAAQ,EAAII,EAAc,CAACA,GAGnCC,CACT,CAMA,IAAMC,EAAN,KAA4B,CAC1B,WAAa,GACb,cAAgB,GAChB,eAAiB,GACjB,oBAAsB,GACtB,SACA,OACA,SACA,mBACA,iBACA,YACA,WACF,EACMC,GAAkB,CACtB,EAAG,EACH,EAAG,CACL,EACMC,GAAwB,GACxBC,GAAkB,EAClBC,GAAoB,EACtBC,IAAwC,IAAM,CAChD,MAAMA,CAAwB,CAC5B,OACA,IACA,gBACA,OACA,SACA,UACA,eAAiBF,GACjB,oBAAsBD,GACtB,iBAAmBE,GACnB,OAAS,CAAC,EACV,MAAQ,EACR,WAAa,GACb,QAAU,GACV,sBAAwB,IAAIE,EAC5B,aAAe,IAAI,IACnB,sBAAwB,GACxB,6BAA+B,GAC/B,WAAa,CAAC,CACZ,KAAM,QACN,QAAS,IAAM,CACb,KAAK,QAAQ,CACf,EACA,KAAM,OACR,EAAG,CACD,KAAM,UACN,QAAS,IAAM,CACb,KAAK,SAAS,CAChB,EACA,KAAM,QACR,EAAG,CACD,KAAM,WACN,QAAS,IAAM,CACb,KAAK,UAAU,CACjB,EACA,KAAM,SACR,EAAG,CACD,KAAM,eACN,QAAS,IAAM,CACb,KAAK,cAAc,CACrB,EACA,KAAM,aACR,EAAG,CACD,KAAM,cACN,QAAS,IAAM,CACb,KAAK,aAAa,CACpB,EACA,KAAM,YACR,EAAG,CACD,KAAM,OACN,QAAS,IAAM,CACb,KAAK,iBAAiB,CACxB,EACA,KAAM,kBACR,EAAG,CACD,KAAM,OACN,QAAS,IAAM,CACb,KAAK,eAAe,CACtB,EACA,KAAM,iBACN,OAAQ,EACV,CAAC,EACD,gBAAkB,GAClB,SAAWC,EAAA,GACNN,IAEL,WACA,WAAa,IAAIK,EACjB,SACA,oBACA,SAAWE,EAAOC,EAAQ,EAC1B,KACA,OACA,UACA,iBACA,eACA,IAAI,mBAAoB,CACtB,OAAO,KAAK,OAAO,eAAiB,EACtC,CACA,IAAI,cAAe,CACjB,IAAMC,EAAgB,KAAK,gBAAgB,sBAAsB5B,EAAuB,GAAK,CAAC,EAC9F,OAAO,KAAK,OAAO,gBAAkB4B,EAAc,gBAAkB,EACvE,CACA,YAAYC,EAAQC,EAAKC,EAAiBC,EAAQC,EAAUC,EAAW,CACrE,KAAK,OAASL,EACd,KAAK,IAAMC,EACX,KAAK,gBAAkBC,EACvB,KAAK,OAASC,EACd,KAAK,SAAWC,EAChB,KAAK,UAAYC,EACjB,KAAK,KAAO,KAAK,OAAO,QAAU,KAAK,eACvC,KAAK,UAAY,KAAK,OAAO,aAAe,KAAK,oBACjD,KAAK,OAAS,KAAK,OAAO,UAAY,KAAK,iBAC3C,KAAK,iBAAmB,KAAK,OAAO,oBAAsB,GAC1D,KAAK,eAAiB,KAAK,OAAO,kBAAoB,GACtD,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,CAC1C,CACA,UAAW,CACTC,EAAwB,KAAK,oBAAoB,cAAe,WAAW,EAAE,KAAKC,EAAU,KAAK,QAAQ,CAAC,EAAE,UAAU,IAAM,CAC1H,KAAK,WAAa,EACpB,CAAC,EACDD,EAAwB,KAAK,oBAAoB,cAAe,OAAO,EAAE,KAAKC,EAAU,KAAK,QAAQ,CAAC,EAAE,UAAUC,GAAS,CACzH,KAAK,OAAO,IAAI,IAAM,KAAK,sBAAsBA,CAAK,CAAC,CACzD,CAAC,EACDF,EAAwB,KAAK,SAAU,SAAS,EAAE,KAAKG,EAAOD,GAASA,EAAM,UAAY,EAAM,EAAGD,EAAU,KAAK,QAAQ,CAAC,EAAE,UAAU,IAAM,CAC1I,KAAK,OAAO,IAAI,IAAM,CACpB,KAAK,QAAQ,EACb,KAAK,aAAa,CACpB,CAAC,CACH,CAAC,CACH,CACA,UAAUG,EAAQC,EAAc,CAC1BA,IAAc,KAAK,aAAeA,GACtC,KAAK,OAASD,EACd,KAAK,aAAa,CACpB,CACA,SAASE,EAAO,CACd,KAAK,MAAQA,EACb,KAAK,aAAa,CACpB,CACA,MAAO,CACD,KAAK,MAAQ,KAAK,OAAO,OAAS,IACpC,KAAK,MAAM,EACX,KAAK,QACL,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,EACxC,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAEtB,CACA,MAAO,CACD,KAAK,MAAQ,IACf,KAAK,MAAM,EACX,KAAK,QACL,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,EACxC,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAEtB,CACA,cAAe,CACb,KAAK,IAAI,aAAa,CACxB,CACA,SAAU,CACR,KAAK,QAAU,GACf,KAAK,WAAW,KAAK,CACvB,CACA,UAAW,CACT,IAAMC,EAAW,KAAK,aAAa,IAAI,KAAK,OAAO,KAAK,KAAK,EAAE,KAAO,KAAK,OAAO,KAAK,KAAK,EAAE,MAAM,GAAK,KAAK,UAC9G,KAAK,MAAQA,EACb,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,CAC7B,CACA,WAAY,CACV,GAAI,KAAK,KAAO,EAAG,CACjB,IAAMA,EAAW,KAAK,aAAa,IAAI,KAAK,OAAO,KAAK,KAAK,EAAE,KAAO,KAAK,OAAO,KAAK,KAAK,EAAE,MAAM,GAAK,KAAK,UAC9G,KAAK,MAAQA,EACb,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EACvB,KAAK,MAAQ,GACf,KAAK,cAAc,CAEvB,CACF,CACA,eAAgB,CACd,KAAK,QAAU,GACf,KAAK,4BAA4B,CACnC,CACA,cAAe,CACb,KAAK,QAAU,GACf,KAAK,4BAA4B,CACnC,CACA,aAAaL,EAAO,CAClBA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtB,KAAK,KAAK,CACZ,CACA,cAAcA,EAAO,CACnBA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtB,KAAK,KAAK,CACZ,CACA,kBAAmB,CACjB,KAAK,iBAAmB,CAAC,KAAK,iBAC9B,KAAK,4BAA4B,CACnC,CACA,gBAAiB,CACf,KAAK,eAAiB,CAAC,KAAK,eAC5B,KAAK,4BAA4B,CACnC,CACA,sBAAsBA,EAAO,CAC3BA,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EACtB,KAAK,gDAAgDA,EAAOA,EAAM,MAAM,EACxE,KAAK,sCAAsCA,EAAM,MAAM,EACvD,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,KAAK,aAAa,CACpB,CACA,iBAAiBA,EAAO,CACtB,KAAK,sBAAsB,KAAKA,CAAK,CACvC,CACA,gBAAgBA,EAAO,CACrB,KAAK,sBAAsB,KAAKA,CAAK,CACvC,CACA,UAAUA,EAAO,CACf,KAAK,WAAa,GAClB,IAAM3B,EAAQ,KAAK,SAAS,cAAc,YAAc,KAAK,KACvDC,EAAS,KAAK,SAAS,cAAc,aAAe,KAAK,KACzD,CACJ,KAAAgC,EACA,IAAAC,CACF,EAAIvC,GAAU,KAAK,SAAS,aAAa,EACnC,CACJ,MAAOwC,EACP,OAAQC,CACV,EAAIrC,GAAc,EACZsC,EAAW,KAAK,OAAS,MAAQ,EASjCC,EAAgB/C,GARG,CACvB,MAAO8C,EAAWpC,EAASD,EAC3B,OAAQqC,EAAWrC,EAAQC,EAC3B,KAAAgC,EACA,IAAAC,EACA,YAAAC,EACA,aAAAC,CACF,CAC4D,EACxDG,EAASD,EAAc,CAAC,GAAKC,EAASD,EAAc,CAAC,EACvD,KAAK,SAAWvB,IAAA,GACX,KAAK,UACLuB,GAEI,CAACC,EAASD,EAAc,CAAC,GAAK,CAACC,EAASD,EAAc,CAAC,IAChE,KAAK,SAAW,CACd,EAAGX,EAAM,OAAO,oBAAoB,EAAE,EACtC,EAAGA,EAAM,OAAO,oBAAoB,EAAE,CACxC,EAEJ,CACA,qBAAqBa,EAAK,CACxB,OAAO,KAAK,UAAU,+BAA+BA,CAAG,CAC1D,CACA,6BAA8B,CAC5B,KAAK,sBAAwB,WAAW,KAAK,MAAQ,KAAK,iBAAmB,GAAK,EAAE,KAAK,KAAK,MAAQ,KAAK,eAAiB,GAAK,EAAE,eAAe,KAAK,MAAM,MAC/J,CACA,oCAAqC,CACnC,KAAK,6BAA+B,eAAe,KAAK,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,QAC1F,CACA,uBAAwB,CACtB,KAAK,gBAAkB,KAAK,MAAQ,CACtC,CACA,gDAAgDb,EAAOc,EAAQ,CAC7D,IAAIC,EACEC,EAAe,KAAK,SAAS,cAE7BC,EADmB,iBAAiBD,CAAY,EAAE,UACnB,MAAM,kBAAkB,EACzDC,EACFF,EAAa,CAACE,EAAY,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EAE1CF,EAAa,KAAK,KAEpB,IAAMG,GAAKlB,EAAM,QAAUgB,EAAa,sBAAsB,EAAE,GAAKD,EAC/DI,GAAKnB,EAAM,QAAUgB,EAAa,sBAAsB,EAAE,GAAKD,EAC/DK,EAAuBN,EAAS,EAAI,KAAK,UAAY,EAAI,CAAC,KAAK,UAAY,EACjF,KAAK,SAAS,GAAK,CAACI,EAAIE,EAAuB,EAAIJ,EAAa,YAAcI,EAC9E,KAAK,SAAS,GAAK,CAACD,EAAIC,EAAuB,EAAIJ,EAAa,aAAeI,CACjF,CACA,sCAAsCN,EAAQ,CACxC,KAAK,yBAAyBA,CAAM,EACtC,KAAK,SAAS,EAEd,KAAK,UAAU,EAEb,KAAK,MAAQ,GACf,KAAK,cAAc,CAEvB,CACA,yBAAyBO,EAAO,CAC9B,OAAOA,EAAQ,CACjB,CACA,OAAQ,CACN,KAAK,KAAO,KAAK,OAAO,QAAU,KAAK,eACvC,KAAK,UAAY,KAAK,OAAO,aAAe,KAAK,oBACjD,KAAK,OAAS,KAAK,OAAO,UAAY,KAAK,iBAC3C,KAAK,iBAAmB,GACxB,KAAK,eAAiB,GACtB,KAAK,cAAc,CACrB,CACA,eAAgB,CACd,KAAK,SAAWjC,EAAA,GACXN,GAEP,CACA,OAAO,UAAO,SAAyCvB,EAAmB,CACxE,OAAO,IAAKA,GAAqB2B,GAA4BoC,EAAqBC,EAAM,EAAMD,EAAqBE,EAAiB,EAAMF,EAAqBG,CAAe,EAAMH,EAAkBzC,CAAqB,EAAMyC,EAAqBI,CAAgB,EAAMJ,EAAqBK,EAAY,CAAC,CAChT,EACA,OAAO,UAAyBnE,EAAkB,CAChD,KAAM0B,EACN,UAAW,CAAC,CAAC,kBAAkB,CAAC,EAChC,UAAW,SAAuC7D,EAAIC,EAAK,CAKzD,GAJID,EAAK,IACJuG,GAAY1G,GAAK,CAAC,EAClB0G,GAAYzG,GAAK,CAAC,GAEnBE,EAAK,EAAG,CACV,IAAIwG,EACDC,GAAeD,EAAQE,GAAY,CAAC,IAAMzG,EAAI,SAAWuG,EAAG,OAC5DC,GAAeD,EAAQE,GAAY,CAAC,IAAMzG,EAAI,oBAAsBuG,EAAG,MAC5E,CACF,EACA,UAAW,CAAC,EAAG,wBAAwB,EACvC,SAAU,EACV,aAAc,SAA8CxG,EAAIC,EAAK,CAC/DD,EAAK,GACJ2G,GAAwB,oBAAqB,SAA+ErG,EAAQ,CACrI,OAAOL,EAAI,iBAAiBK,CAAM,CACpC,CAAC,EAAE,mBAAoB,SAA8EA,EAAQ,CAC3G,OAAOL,EAAI,gBAAgBK,CAAM,CACnC,CAAC,EAECN,EAAK,IACJ4G,GAAwB,aAAc3G,EAAI,OAAO,aAAa,EAAE,cAAeA,EAAI,QAAU,QAAU,OAAO,EAC9GwB,EAAY,UAAWxB,EAAI,OAAO,QAAQ,EAC1CY,EAAY,2BAA4BZ,EAAI,UAAU,EAE7D,EACA,SAAU,CAAC,gBAAgB,EAC3B,SAAU,CAAI4G,GAAmB,CAACR,CAAgB,CAAC,CAAC,EACpD,MAAO,GACP,KAAM,EACN,OAAQ,CAAC,CAAC,sBAAuB,EAAE,EAAG,CAAC,SAAU,EAAE,EAAG,CAAC,EAAG,wBAAwB,EAAG,CAAC,EAAG,sCAAsC,EAAG,CAAC,EAAG,8BAA8B,EAAG,CAAC,EAAG,uCAAuC,EAAG,CAAC,EAAG,yCAA0C,EAAG,iDAAiD,EAAG,CAAC,WAAY,KAAM,EAAG,yBAA0B,EAAG,OAAO,EAAG,CAAC,OAAQ,SAAU,aAAc,OAAQ,EAAG,mBAAmB,EAAG,CAAC,WAAY,IAAK,cAAe,OAAQ,EAAG,8BAA8B,EAAG,CAAC,EAAG,2BAA2B,EAAG,CAAC,EAAG,wBAAwB,EAAG,CAAC,UAAW,GAAI,EAAG,gCAAiC,EAAG,eAAgB,yBAAyB,EAAG,CAAC,EAAG,gCAAiC,EAAG,OAAO,EAAG,CAAC,SAAU,OAAQ,UAAW,SAAS,EAAG,CAAC,EAAG,iCAAkC,EAAG,OAAO,EAAG,CAAC,SAAU,QAAS,UAAW,SAAS,EAAG,CAAC,EAAG,yCAA0C,EAAG,OAAO,EAAG,CAAC,UAAW,GAAI,UAAW,UAAW,EAAG,oCAAqC,EAAG,SAAU,UAAU,EAAG,CAAC,gBAAiB,GAAI,EAAG,wBAAyB,EAAG,QAAS,SAAU,WAAW,EAAG,CAAC,gBAAiB,GAAI,EAAG,uBAAuB,CAAC,EAC9oC,SAAU,SAA0CrG,EAAIC,EAAK,CAC3D,GAAID,EAAK,EAAG,CACV,IAAM8G,EAAS3G,EAAiB,EAC7BQ,EAAU,EAAG,MAAO,CAAC,EACrBP,EAAe,EAAG,MAAO,CAAC,EAC1ByB,EAAW,EAAG9B,GAAgD,EAAG,CAAC,EAClEK,EAAe,EAAG,KAAM,CAAC,EACzByB,EAAW,EAAGd,GAAgD,EAAG,EAAG,KAAM,CAAC,EAC3EgG,EAAiB,EAAG7F,GAAwC,EAAG,EAAG,KAAM,EAAM8F,CAAyB,EACvGpG,EAAa,EAAE,EACfR,EAAe,EAAG,MAAO,CAAC,EAC1BC,EAAW,QAAS,SAA+DC,EAAQ,CAC5F,OAAGC,EAAcuG,CAAG,EACVpG,EAAYT,EAAI,cAAgBK,EAAO,SAAWA,EAAO,eAAiBL,EAAI,QAAQ,CAAC,CACnG,CAAC,EACEG,EAAe,EAAG,MAAO,CAAC,EAC1BO,EAAU,EAAG,MAAO,CAAC,EACrBP,EAAe,GAAI,MAAO,EAAE,EAAE,GAAI,MAAO,EAAE,EAAE,GAAI,MAAO,GAAI,CAAC,EAC7DC,EAAW,eAAgB,SAAuEC,EAAQ,CAC3G,OAAGC,EAAcuG,CAAG,EACVpG,EAAYT,EAAI,UAAUK,CAAM,CAAC,CAC7C,CAAC,EACEyG,EAAiB,GAAInF,GAAyC,EAAG,EAAG,KAAM,KAASoF,CAAyB,EAC5GpG,EAAa,EAAE,EAAE,EACjBD,EAAU,GAAI,MAAO,CAAC,EACtBC,EAAa,EAAE,CACpB,CACIZ,EAAK,IACJc,EAAU,CAAC,EACXiB,EAAc9B,EAAI,OAAO,OAAS,EAAI,EAAI,EAAE,EAC5Ca,EAAU,CAAC,EACXiB,EAAc9B,EAAI,OAAO,OAAS,EAAI,EAAI,EAAE,EAC5Ca,EAAU,EACVmG,GAAWhH,EAAI,UAAU,EACzBa,EAAU,CAAC,EACXW,EAAY,YAAaxB,EAAI,4BAA4B,EACzDqB,EAAW,0BAA2BrB,EAAI,QAAQ,EAClDa,EAAU,CAAC,EACXmG,GAAWhH,EAAI,MAAM,EAE5B,EACA,aAAc,CAACiH,GAAiBC,GAAiBC,GAAeC,EAAO,EACvE,cAAe,EACf,KAAM,CACJ,UAAW,CAACC,EAAU,CACxB,EACA,gBAAiB,CACnB,CAAC,CACH,CACA,OAAOzD,CACT,GAAG,EASG0D,GAAN,KAAwB,CACtB,gBACA,OACA,WACA,SAAW,IAAIC,EACf,YAAYC,EAAiBnD,EAAQoD,EAAY,CAC/C,KAAK,gBAAkBD,EACvB,KAAK,OAASnD,EACd,KAAK,WAAaoD,EAClBA,EAAW,cAAc,EAAE,KAAK9C,EAAOD,GAAS,KAAK,OAAO,aAAeA,EAAM,UAAY,IAAUA,EAAM,UAAY,IAAcA,EAAM,UAAY,KAAgB,CAACgD,GAAehD,CAAK,CAAC,CAAC,EAAE,UAAUA,GAAS,CACnNA,EAAM,eAAe,EACjBA,EAAM,UAAY,IACpB8C,EAAgB,QAAQ,EAEtB9C,EAAM,UAAY,IACpB,KAAK,KAAK,EAERA,EAAM,UAAY,IACpB,KAAK,KAAK,CAEd,CAAC,EACD+C,EAAW,YAAY,EAAE,UAAU,IAAM,CACvC,KAAK,WAAW,QAAQ,CAC1B,CAAC,EACDD,EAAgB,WAAW,KAAKG,GAAK,CAAC,EAAGC,GAAU,IAAMJ,EAAgB,qBAAqB,EAAG7C,EAAOD,GAASA,EAAM,YAAc,MAAM,EAAGD,EAAU,KAAK,QAAQ,CAAC,EAAE,UAAU,IAAM,CACtL,KAAK,MAAM,CACb,CAAC,CACH,CACA,SAASK,EAAO,CACd,KAAK,gBAAgB,SAASA,CAAK,CACrC,CACA,MAAO,CACL,KAAK,gBAAgB,KAAK,CAC5B,CACA,MAAO,CACL,KAAK,gBAAgB,KAAK,CAC5B,CACA,OAAQ,CACN,KAAK,SAAS,KAAK,EACnB,KAAK,WAAW,QAAQ,CAC1B,CACF,EAGI+C,IAA+B,IAAM,CACvC,MAAMA,CAAe,CACnB,QACA,SACA,gBACA,eACA,YAAYC,EAASC,EAAU3D,EAAiB4D,EAAgB,CAC9D,KAAK,QAAUF,EACf,KAAK,SAAWC,EAChB,KAAK,gBAAkB3D,EACvB,KAAK,eAAiB4D,CACxB,CACA,QAAQpD,EAAQqD,EAASC,EAAS,CAChC,OAAO,KAAK,QAAQtD,EAAQqD,EAASC,CAAO,CAC9C,CACA,QAAQtD,EAAQP,EAAQQ,EAAc,CACpC,IAAMsD,EAAerE,IAAA,GAChB,IAAIP,GACHc,GAAU,CAAC,GAEXoD,EAAa,KAAK,cAAcU,CAAY,EAC5CC,EAAmB,KAAK,uBAAuBX,EAAYU,CAAY,EAC7EC,EAAiB,UAAUxD,EAAQC,CAAY,EAC/C,IAAMwD,EAAa,IAAIf,GAAkBc,EAAkBD,EAAcV,CAAU,EACnF,OAAAW,EAAiB,WAAaC,EACvBA,CACT,CACA,uBAAuBZ,EAAYpD,EAAQ,CACzC,IAAM0D,EAAWO,EAAS,OAAO,CAC/B,OAAQ,KAAK,SACb,UAAW,CAAC,CACV,QAASC,GACT,SAAUd,CACZ,EAAG,CACD,QAASlE,EACT,SAAUc,CACZ,CAAC,CACH,CAAC,EACKmE,EAAkB,IAAIC,GAAgB7E,GAAyB,KAAMmE,CAAQ,EAEnF,OADqBN,EAAW,OAAOe,CAAe,EAClC,QACtB,CACA,cAAcnE,EAAQ,CACpB,IAAMqE,EAAe,KAAK,gBAAgB,sBAAsBrG,EAAuB,GAAK,CAAC,EACvFsG,EAAgB,IAAIC,GAAc,CACtC,eAAgB,KAAK,QAAQ,iBAAiB,MAAM,EACpD,iBAAkB,KAAK,QAAQ,SAAS,EAAE,OAAO,EACjD,oBAAqBvE,EAAO,qBAAuBqE,EAAa,qBAAuB,GACvF,UAAWrE,EAAO,aAAeqE,EAAa,aAAe,KAAK,eAAe,KACnF,CAAC,EACD,OAAO,KAAK,QAAQ,OAAOC,CAAa,CAC1C,CACA,OAAO,UAAO,SAAgC1G,EAAmB,CAC/D,OAAO,IAAKA,GAAqB4F,GAAmBgB,EAAcC,EAAO,EAAMD,EAAYP,CAAQ,EAAMO,EAAY1C,CAAe,EAAM0C,EAAcE,EAAc,CAAC,CACzK,EACA,OAAO,WAA0BC,GAAmB,CAClD,MAAOnB,EACP,QAASA,EAAe,SAC1B,CAAC,CACH,CACA,OAAOA,CACT,GAAG,EAIGoB,GAAwB,QAC1BC,IAAoB,IAAM,CApxB9B,IAAAC,EAqxBE,IAAIC,EACAC,EAAiC,CAAC,EAClCC,EAAsC,CAAC,EACvCC,EACAC,EAA2B,CAAC,EAC5BC,EAAgC,CAAC,EACjCC,EACAC,EAA8B,CAAC,EAC/BC,EAAmC,CAAC,EACpCC,EACAC,EAA4B,CAAC,EAC7BC,EAAiC,CAAC,EACtC,OAAOZ,EAAA,KAAuB,CAsE5B,gBACA,WACA,eACA,IACA,eACA,cAAgBF,GAChB,MAAQ,GACR,SAAW,GACX,iBAAmBe,EAAkB,KAAMX,EAAgC,EAAK,EAChF,YAAcW,EAAkB,KAAMV,CAAmC,EAAGU,EAAkB,KAAMR,EAA0B,IAAI,GAClI,eAAiBQ,EAAkB,KAAMP,CAA6B,EAAGO,EAAkB,KAAML,EAA6B,IAAI,GAClI,aAAeK,EAAkB,KAAMJ,CAAgC,EAAGI,EAAkB,KAAMF,EAA2B,IAAI,GACjI,IAAME,EAAkB,KAAMD,CAA8B,EAC5D,cACA,OAAS,SACT,iBAAmB,IAAIxC,EACvB,SAAW,IAAIA,EACf,SAAWxD,EAAOC,EAAQ,EAC1B,YAAcD,EAAOhC,GAAuB,CAC1C,SAAU,EACZ,CAAC,EACD,IAAI,aAAc,CAChB,MAAO,CAAC,KAAK,kBAAoB,KAAK,SAAW,OACnD,CACA,YAAYqC,EAAiB6F,EAAYC,EAAgB/F,EAAK6D,GAAgB,CAC5E,KAAK,gBAAkB5D,EACvB,KAAK,WAAa6F,EAClB,KAAK,eAAiBC,EACtB,KAAK,IAAM/F,EACX,KAAK,eAAiB6D,EACxB,CACA,UAAW,CACT,KAAK,SAAS,EACV,KAAK,aACP,KAAK,YAAY,SAAS,IAAI,EAE5B,KAAK,iBACP,KAAK,eAAe,QAAQ,KAAKvD,EAAU,KAAK,QAAQ,CAAC,EAAE,UAAU0F,GAAa,CAChF,KAAK,IAAMA,EACX,KAAK,IAAI,cAAc,CACzB,CAAC,EACD,KAAK,IAAM,KAAK,eAAe,MAEnC,CACA,aAAc,CACZ,KAAK,SAAS,KAAK,EACnB,KAAK,SAAS,SAAS,CACzB,CACA,WAAY,CACV,GAAK,KAAK,YAGV,GAAI,KAAK,YAAa,CAEpB,IAAMC,EAAoB,KAAK,YAAY,OAAO,OAAOC,GAAKA,EAAE,WAAW,EACrEC,EAAgBF,EAAkB,IAAIC,IAAM,CAChD,IAAKA,EAAE,MACP,OAAQA,EAAE,QACZ,EAAE,EACIE,EAAeH,EAAkB,UAAUI,GAAM,OAASA,CAAE,EAC5D3F,EAAe,IAAI,IACzBuF,EAAkB,QAAQK,GAAkB,CAC1C5F,EAAa,IAAI4F,EAAe,OAASA,EAAe,SAAUA,EAAe,aAAe,KAAK,YAAY,aAAe,KAAK,aAAehH,EAAqB,CAC3K,CAAC,EACkB,KAAK,eAAe,QAAQ6G,EAAe,CAC5D,YAAa,KAAK,GACpB,EAAGzF,CAAY,EACJ,SAAS0F,CAAY,CAClC,KAAO,CAEL,IAAMD,EAAgB,CAAC,CACrB,IAAK,KAAK,MACV,OAAQ,KAAK,QACf,CAAC,EACD,KAAK,eAAe,QAAQA,EAAe,CACzC,YAAa,KAAK,IAClB,YAAa,KAAK,aAAe7G,EACnC,CAAC,CACH,CACF,CACA,YAAa,CACX,OAAO,KAAK,UACd,CACA,YAAYiH,EAAS,CACnB,GAAM,CACJ,MAAAC,CACF,EAAID,EACAC,IACF,KAAK,WAAW,EAAE,cAAc,IAAMA,EAAM,aAC5C,KAAK,SAAS,EAElB,CAMA,UAAW,CACT,KAAK,cAAgB,KAAK,SAAS,cAAc,KAAK,EACtD,KAAK,cAAc,IAAM,KAAK,MAC9B,KAAK,cAAc,OAAS,KAAK,SACjC,KAAK,OAAS,UAEd,KAAK,iBAAiB,KAAK,EAC3B,KAAK,iBAAiB,SAAS,EAC/B,KAAK,iBAAmB,IAAIpD,EACxB,KAAK,cAAc,UACrB,KAAK,OAAS,SACd,KAAK,WAAW,EAAE,cAAc,IAAM,KAAK,MAC3C,KAAK,WAAW,EAAE,cAAc,OAAS,KAAK,WAE1C,KAAK,eACP,KAAK,WAAW,EAAE,cAAc,IAAM,KAAK,cAC3C,KAAK,WAAW,EAAE,cAAc,OAAS,KAEzC,KAAK,WAAW,EAAE,cAAc,IAAM,KAAK,MAC3C,KAAK,WAAW,EAAE,cAAc,OAAS,KAAK,UAIhDqD,EAAU,KAAK,cAAe,MAAM,EAAE,KAAKnG,EAAU,KAAK,gBAAgB,EAAGA,EAAU,KAAK,QAAQ,CAAC,EAAE,UAAU,IAAM,CACrH,KAAK,OAAS,SACd,KAAK,WAAW,EAAE,cAAc,IAAM,KAAK,MAC3C,KAAK,WAAW,EAAE,cAAc,OAAS,KAAK,QAChD,CAAC,EACDmG,EAAU,KAAK,cAAe,OAAO,EAAE,KAAKnG,EAAU,KAAK,gBAAgB,EAAGA,EAAU,KAAK,QAAQ,CAAC,EAAE,UAAU,IAAM,CACtH,KAAK,OAAS,QACV,KAAK,aACP,KAAK,WAAW,EAAE,cAAc,IAAM,KAAK,WAC3C,KAAK,WAAW,EAAE,cAAc,OAAS,GAE7C,CAAC,EAEL,CAyBF,GAnOE,IAAO,CACL,IAAMoG,EAAY,OAAO,QAAW,YAAc,OAAO,SAAW,OAAO,OAAO,IAAI,EAAI,OAC1FzB,EAA+B,CAAC0B,EAAW,CAAC,EAC5CvB,EAAyB,CAACuB,EAAW,CAAC,EACtCpB,EAA4B,CAACoB,EAAW,CAAC,EACzCjB,EAA0B,CAACiB,EAAW,CAAC,EACvCC,EAAa,KAAM,KAAM3B,EAA8B,CACrD,KAAM,QACN,KAAM,mBACN,OAAQ,GACR,QAAS,GACT,OAAQ,CACN,IAAK4B,GAAO,qBAAsBA,EAClC,IAAKA,GAAOA,EAAI,iBAChB,IAAK,CAACA,EAAKC,IAAU,CACnBD,EAAI,iBAAmBC,CACzB,CACF,EACA,SAAUJ,CACZ,EAAGxB,EAAgCC,CAAmC,EACtEyB,EAAa,KAAM,KAAMxB,EAAwB,CAC/C,KAAM,QACN,KAAM,aACN,OAAQ,GACR,QAAS,GACT,OAAQ,CACN,IAAKyB,GAAO,eAAgBA,EAC5B,IAAKA,GAAOA,EAAI,WAChB,IAAK,CAACA,EAAKC,IAAU,CACnBD,EAAI,WAAaC,CACnB,CACF,EACA,SAAUJ,CACZ,EAAGrB,EAA0BC,CAA6B,EAC1DsB,EAAa,KAAM,KAAMrB,EAA2B,CAClD,KAAM,QACN,KAAM,gBACN,OAAQ,GACR,QAAS,GACT,OAAQ,CACN,IAAKsB,GAAO,kBAAmBA,EAC/B,IAAKA,GAAOA,EAAI,cAChB,IAAK,CAACA,EAAKC,IAAU,CACnBD,EAAI,cAAgBC,CACtB,CACF,EACA,SAAUJ,CACZ,EAAGlB,EAA6BC,CAAgC,EAChEmB,EAAa,KAAM,KAAMlB,EAAyB,CAChD,KAAM,QACN,KAAM,cACN,OAAQ,GACR,QAAS,GACT,OAAQ,CACN,IAAKmB,GAAO,gBAAiBA,EAC7B,IAAKA,GAAOA,EAAI,YAChB,IAAK,CAACA,EAAKC,IAAU,CACnBD,EAAI,YAAcC,CACpB,CACF,EACA,SAAUJ,CACZ,EAAGf,EAA2BC,CAA8B,EACxDc,GAAW,OAAO,eAAe1B,EAAM,OAAO,SAAU,CAC1D,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO0B,CACT,CAAC,CACH,KAuIAK,EA5MK/B,EA4ME,YAAO,SAAkClH,EAAmB,CACjE,OAAO,IAAKA,GAAqBkH,GAAqBnD,EAAqBG,CAAe,EAAMH,EAAqBmF,EAAU,EAAMnF,EAAkB6B,EAAc,EAAM7B,EAAqBE,EAAiB,EAAMF,EAAuB+C,EAAc,CAAC,CAC/P,GACAmC,EA/MK/B,EA+ME,YAAyBiC,GAAkB,CAChD,KAAMjC,EACN,UAAW,CAAC,CAAC,MAAO,WAAY,EAAE,CAAC,EACnC,aAAc,SAAuCpJ,EAAIC,EAAK,CACxDD,EAAK,GACJK,EAAW,QAAS,UAAqD,CAC1E,OAAOJ,EAAI,UAAU,CACvB,CAAC,CAEL,EACA,OAAQ,CACN,MAAO,QACP,SAAU,WACV,iBAAkB,CAAC,EAAG,mBAAoB,mBAAoBqL,EAAgB,EAC9E,WAAY,aACZ,cAAe,gBACf,YAAa,aACf,EACA,SAAU,CAAC,SAAS,EACpB,SAAU,CAAIC,GAA6BC,EAAoB,CACjE,CAAC,GAnOIpC,CAqOT,GAAG,EASCqC,IAA8B,IAAM,CACtC,MAAMA,CAAc,CAClB,OAAO,UAAO,SAA+BvJ,EAAmB,CAC9D,OAAO,IAAKA,GAAqBuJ,EACnC,EACA,OAAO,UAAyBC,GAAiB,CAC/C,KAAMD,CACR,CAAC,EACD,OAAO,UAAyBE,GAAiB,CAC/C,UAAW,CAAC7D,EAAc,EAC1B,QAAS,CAACjE,EAAuB,CACnC,CAAC,CACH,CACA,OAAO4H,CACT,GAAG","debug_id":"e818e0c5-de6f-5999-b135-ed6f2c137b7d"}