@bigbinary/neeto-pdf-frontend 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/AttachmentCard-Blp45MKz.js +64 -0
  3. package/dist/AttachmentCard-Blp45MKz.js.map +1 -0
  4. package/dist/AttachmentCard-CbDrjY7P.js +67 -0
  5. package/dist/AttachmentCard-CbDrjY7P.js.map +1 -0
  6. package/dist/FilenameUtilities-DFEKeP7n.js +150 -0
  7. package/dist/FilenameUtilities-DFEKeP7n.js.map +1 -0
  8. package/dist/{FilenameUtilities-BRCCinT2.js → FilenameUtilities-Di7TmEIR.js} +9 -184
  9. package/dist/FilenameUtilities-Di7TmEIR.js.map +1 -0
  10. package/dist/FilenameUtilities-SpduImYz.js +139 -0
  11. package/dist/FilenameUtilities-SpduImYz.js.map +1 -0
  12. package/dist/{FilenameUtilities-DHtvZ32y.js → FilenameUtilities-Xttn7r8R.js} +2 -177
  13. package/dist/FilenameUtilities-Xttn7r8R.js.map +1 -0
  14. package/dist/IconBlock-BZvD1k7W.js +17 -0
  15. package/dist/IconBlock-BZvD1k7W.js.map +1 -0
  16. package/dist/IconBlock-Cte1G732.js +15 -0
  17. package/dist/IconBlock-Cte1G732.js.map +1 -0
  18. package/dist/PdfDocumentsPage.js +2 -1
  19. package/dist/PdfDocumentsPage.js.map +1 -1
  20. package/dist/PdfEditorPage.js +3 -146
  21. package/dist/PdfEditorPage.js.map +1 -1
  22. package/dist/cjs/PdfDocumentsPage.js +2 -1
  23. package/dist/cjs/PdfDocumentsPage.js.map +1 -1
  24. package/dist/cjs/PdfEditorPage.js +12 -155
  25. package/dist/cjs/PdfEditorPage.js.map +1 -1
  26. package/dist/cjs/index.js +3 -1
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/v2/PdfAttachmentSelector.js +95 -0
  29. package/dist/cjs/v2/PdfAttachmentSelector.js.map +1 -0
  30. package/dist/cjs/v2/PdfAttachmentsPreview.js +45 -0
  31. package/dist/cjs/v2/PdfAttachmentsPreview.js.map +1 -0
  32. package/dist/cjs/v2/PdfDocumentsPage.js +555 -0
  33. package/dist/cjs/v2/PdfDocumentsPage.js.map +1 -0
  34. package/dist/cjs/v2/PdfEditorPage.js +1920 -0
  35. package/dist/cjs/v2/PdfEditorPage.js.map +1 -0
  36. package/dist/cjs/v2/index.js +67 -0
  37. package/dist/cjs/v2/index.js.map +1 -0
  38. package/dist/constants-DDj0SAA-.js +8 -0
  39. package/dist/constants-DDj0SAA-.js.map +1 -0
  40. package/dist/constants-MHmmvZDo.js +5 -0
  41. package/dist/constants-MHmmvZDo.js.map +1 -0
  42. package/dist/index.js +3 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/pdf_documents-PKt4xiTc.js +181 -0
  45. package/dist/pdf_documents-PKt4xiTc.js.map +1 -0
  46. package/dist/pdf_documents-j2CBlJrR.js +179 -0
  47. package/dist/pdf_documents-j2CBlJrR.js.map +1 -0
  48. package/dist/pdf_mapping_schema-CS6f9Kug.js +149 -0
  49. package/dist/pdf_mapping_schema-CS6f9Kug.js.map +1 -0
  50. package/dist/pdf_mapping_schema-Co4FN4KU.js +147 -0
  51. package/dist/pdf_mapping_schema-Co4FN4KU.js.map +1 -0
  52. package/dist/v2/PdfAttachmentSelector.js +93 -0
  53. package/dist/v2/PdfAttachmentSelector.js.map +1 -0
  54. package/dist/v2/PdfAttachmentsPreview.js +43 -0
  55. package/dist/v2/PdfAttachmentsPreview.js.map +1 -0
  56. package/dist/v2/PdfDocumentsPage.js +553 -0
  57. package/dist/v2/PdfDocumentsPage.js.map +1 -0
  58. package/dist/v2/PdfEditorPage.js +1899 -0
  59. package/dist/v2/PdfEditorPage.js.map +1 -0
  60. package/dist/v2/index.js +58 -0
  61. package/dist/v2/index.js.map +1 -0
  62. package/package.json +13 -1
  63. package/dist/FilenameUtilities-BRCCinT2.js.map +0 -1
  64. package/dist/FilenameUtilities-DHtvZ32y.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfEditorPage.js","sources":["../../../app/javascript/src/v2/components/PdfDocuments/Editor/constants.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/CanvasUtilities.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/Canvas/PlacedField.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/Canvas/PdfPage.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/hooks/usePdfDocument.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/Canvas/index.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/FieldPanel.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/FieldCard.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/FieldsPanel.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/PdfDownloadUtilities.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/hooks/usePdfDownload.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/hooks/usePdfEditorDocument.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/MappingUtilities.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/hooks/usePdfMappingsState.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/hooks/usePreviewPagination.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/PreviewPager.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/PreviewValueUtilities.js","../../../app/javascript/src/v2/components/PdfDocuments/Editor/TopBar.jsx","../../../app/javascript/src/v2/components/PdfDocuments/Editor/index.jsx"],"sourcesContent":["import { Calendar, Hash, TextLines } from \"neetoicons\";\n\nimport pdfMappingSchema from \"../../../../../../../config/neeto_pdf_engine/pdf_mapping_schema.json\";\n\nconst mappingDefaults = pdfMappingSchema.defaults;\n\n// CSS pixels per PDF point (96dpi / 72dpi). `renderScale = CSS_PX_PER_PT * zoom`\n// maps a page's intrinsic point dimensions to on-screen pixels, and font sizes\n// (stored in points) to pixels. Keeping geometry in point-fractions keeps\n// mappings resolution independent.\nexport const CSS_PX_PER_PT = 96 / 72;\n\nexport const ZOOM = { MIN: 0.5, MAX: 2, STEP: 0.1, DEFAULT: 1 };\n\nexport const PDF_CANVAS = {\n MAX_DISPLAY_SIZE: 1400,\n MAX_RENDER_SIZE: 8192,\n MAX_RENDER_PIXELS: 16_000_000,\n};\n\nexport const EDITOR_MODES = { MAP: \"map\", PREVIEW: \"preview\" };\n\nexport const PDF_LOAD_INITIAL_STATE = {\n pages: [],\n isLoading: true,\n error: null,\n};\n\nexport const EMPTY_MAPPINGS = [];\n\nexport const FIELD_SOURCES = {\n ANSWER: pdfMappingSchema.enums.sources[0],\n SYSTEM: pdfMappingSchema.enums.sources[1],\n};\n\nexport const DRAG_KINDS = { MOVE: \"move\", RESIZE: \"resize\" };\n\nexport const ALIGNMENTS = {\n LEFT: pdfMappingSchema.enums.alignments[0],\n CENTER: pdfMappingSchema.enums.alignments[1],\n RIGHT: pdfMappingSchema.enums.alignments[2],\n};\n\nexport const FORM_THEME_COLOR =\n \"rgb(var(--neeto-form-answer-color, 0, 128, 104))\";\n\nexport const FORM_THEME_BACKGROUND =\n \"rgba(var(--neeto-form-answer-color, 0, 128, 104), 0.08)\";\n\nexport const RESIZE_HANDLES = [\n {\n key: \"top-left\",\n x: \"left\",\n y: \"top\",\n className: \"-left-1.5 -top-1.5 cursor-nwse-resize\",\n },\n {\n key: \"top-right\",\n x: \"right\",\n y: \"top\",\n className: \"-right-1.5 -top-1.5 cursor-nesw-resize\",\n },\n {\n key: \"bottom-left\",\n x: \"left\",\n y: \"bottom\",\n className: \"-left-1.5 -bottom-1.5 cursor-nesw-resize\",\n },\n {\n key: \"bottom-right\",\n x: \"right\",\n y: \"bottom\",\n className: \"-right-1.5 -bottom-1.5 cursor-nwse-resize\",\n },\n];\n\n// Curated, PDF/web-safe fonts. The JSON schema also supplies the server-side\n// variants so client/server rendering cannot drift when the list changes.\nexport const FONTS = pdfMappingSchema.fonts.map(({ label, stack, value }) => ({\n value,\n label,\n stack,\n}));\n\n// Maps a curated font to pdf-lib StandardFont variant names, indexed by\n// (bold ? 1 : 0) + (italic ? 2 : 0).\nexport const STANDARD_FONT_VARIANTS = Object.fromEntries(\n pdfMappingSchema.fonts.map(({ client_variants: clientVariants, value }) => [\n value,\n clientVariants,\n ])\n);\n\nexport const DEFAULT_FONT_SIZE = mappingDefaults.style.font_size;\n\nexport const DEFAULT_DISPLAY_FONT_SIZE = DEFAULT_FONT_SIZE * CSS_PX_PER_PT;\n\nexport const FONT_SIZE_LIMITS = pdfMappingSchema.ranges.font_size;\n\nexport const DEFAULT_STYLE = {\n font: mappingDefaults.style.font,\n fontSize: DEFAULT_FONT_SIZE,\n color: mappingDefaults.style.color,\n bold: mappingDefaults.style.bold,\n italic: mappingDefaults.style.italic,\n underline: mappingDefaults.style.underline,\n align: mappingDefaults.style.align,\n};\n\n// Default placement box as a fraction of the page (top-left origin).\nexport const DEFAULT_BOX = mappingDefaults.box;\n\nexport const MIN_BOX = { width: 0.03, height: 0.012 };\n\nexport const SYSTEM_FIELD_KEYS = {\n FORM_NAME: \"form_name\",\n SUBMISSION_ID: \"submission_id\",\n SUBMISSION_DATE: \"submission_date\",\n};\n\n// System fields are not form questions; they resolve from submission metadata.\nexport const SYSTEM_FIELDS = [\n {\n key: SYSTEM_FIELD_KEYS.FORM_NAME,\n labelKey: \"neetoPdf.pdfDocuments.editor.systemFields.formName\",\n icon: TextLines,\n },\n {\n key: SYSTEM_FIELD_KEYS.SUBMISSION_ID,\n labelKey: \"neetoPdf.pdfDocuments.editor.systemFields.submissionId\",\n icon: Hash,\n },\n {\n key: SYSTEM_FIELD_KEYS.SUBMISSION_DATE,\n labelKey: \"neetoPdf.pdfDocuments.editor.systemFields.submissionDate\",\n icon: Calendar,\n },\n];\n","import { findBy } from \"neetocist\";\n\nimport {\n CSS_PX_PER_PT,\n DEFAULT_DISPLAY_FONT_SIZE,\n DEFAULT_STYLE,\n FONT_SIZE_LIMITS,\n FONTS,\n PDF_CANVAS,\n} from \"./constants\";\n\nexport const clamp = (value, min, max) => Math.min(Math.max(value, min), max);\n\nexport const getPdfPageDisplayScale = ({ heightPt, rawScale, widthPt }) => {\n const maxPageSize = Math.max(widthPt, heightPt);\n if (!maxPageSize) return rawScale;\n\n const zoom = rawScale / CSS_PX_PER_PT;\n const baseScale = Math.min(\n CSS_PX_PER_PT,\n PDF_CANVAS.MAX_DISPLAY_SIZE / maxPageSize\n );\n\n return baseScale * zoom;\n};\n\nexport const getDefaultFontSizeForScale = scale => {\n if (!scale || Number.isNaN(scale)) return DEFAULT_STYLE.fontSize;\n\n return clamp(\n Math.round(DEFAULT_DISPLAY_FONT_SIZE / scale),\n FONT_SIZE_LIMITS.min,\n FONT_SIZE_LIMITS.max\n );\n};\n\nexport const getFontStack = font =>\n findBy({ value: font }, FONTS)?.stack || FONTS[0].stack;\n","import { useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\n\nimport { clamp, getFontStack } from \"../CanvasUtilities\";\nimport {\n DRAG_KINDS,\n EDITOR_MODES,\n FORM_THEME_BACKGROUND,\n FORM_THEME_COLOR,\n MIN_BOX,\n RESIZE_HANDLES,\n} from \"../constants\";\n\nconst getJustifyContent = align => {\n if (align === \"center\") return \"center\";\n\n if (align === \"right\") return \"flex-end\";\n\n return \"flex-start\";\n};\n\nconst PlacedField = ({\n mapping,\n mode,\n isSelected,\n scale,\n pageWidthPx,\n pageHeightPx,\n previewValue,\n onSelect,\n onChange,\n}) => {\n const dragRef = useRef(null);\n const draftPatchRef = useRef(null);\n const [draftPatch, setDraftPatch] = useState(null);\n\n const isPreview = mode === EDITOR_MODES.PREVIEW;\n const displayMapping = draftPatch ? { ...mapping, ...draftPatch } : mapping;\n\n const style = {\n left: `${displayMapping.x * pageWidthPx}px`,\n top: `${displayMapping.y * pageHeightPx}px`,\n width: `${displayMapping.width * pageWidthPx}px`,\n height: `${displayMapping.height * pageHeightPx}px`,\n };\n\n const selectedStyle = isSelected\n ? {\n borderColor: FORM_THEME_COLOR,\n backgroundColor: FORM_THEME_BACKGROUND,\n }\n : {};\n\n const textStyle = {\n fontFamily: getFontStack(displayMapping.font),\n fontSize: `${displayMapping.fontSize * scale}px`,\n color: displayMapping.color,\n fontWeight: displayMapping.bold ? 700 : 400,\n fontStyle: displayMapping.italic ? \"italic\" : \"normal\",\n textDecoration: displayMapping.underline ? \"underline\" : \"none\",\n textAlign: displayMapping.align,\n justifyContent: getJustifyContent(displayMapping.align),\n };\n\n const getResizePatch = ({ drag, dxFrac, dyFrac }) => {\n const patch = {};\n const originRight = drag.originX + drag.originWidth;\n const originBottom = drag.originY + drag.originHeight;\n\n if (drag.handle.x === \"left\") {\n const x = clamp(drag.originX + dxFrac, 0, originRight - MIN_BOX.width);\n patch.x = x;\n patch.width = originRight - x;\n } else {\n patch.width = clamp(\n drag.originWidth + dxFrac,\n MIN_BOX.width,\n 1 - drag.originX\n );\n }\n\n if (drag.handle.y === \"top\") {\n const y = clamp(drag.originY + dyFrac, 0, originBottom - MIN_BOX.height);\n patch.y = y;\n patch.height = originBottom - y;\n } else {\n patch.height = clamp(\n drag.originHeight + dyFrac,\n MIN_BOX.height,\n 1 - drag.originY\n );\n }\n\n return patch;\n };\n\n const handlePointerMove = event => {\n const drag = dragRef.current;\n if (!drag) return;\n\n const dxFrac = (event.clientX - drag.startX) / pageWidthPx;\n const dyFrac = (event.clientY - drag.startY) / pageHeightPx;\n\n const patch =\n drag.kind === DRAG_KINDS.MOVE\n ? {\n x: clamp(drag.originX + dxFrac, 0, 1 - mapping.width),\n y: clamp(drag.originY + dyFrac, 0, 1 - mapping.height),\n }\n : getResizePatch({ drag, dxFrac, dyFrac });\n\n draftPatchRef.current = patch;\n setDraftPatch(patch);\n };\n\n const startDrag = (event, kind, handle = null) => {\n if (isPreview) return;\n event.stopPropagation();\n event.preventDefault();\n onSelect(mapping.id);\n event.currentTarget.setPointerCapture(event.pointerId);\n dragRef.current = {\n kind,\n handle,\n startX: event.clientX,\n startY: event.clientY,\n originX: mapping.x,\n originY: mapping.y,\n originWidth: mapping.width,\n originHeight: mapping.height,\n };\n draftPatchRef.current = null;\n setDraftPatch(null);\n };\n\n const endDrag = event => {\n if (!dragRef.current) return;\n event.currentTarget.releasePointerCapture?.(event.pointerId);\n dragRef.current = null;\n if (draftPatchRef.current) onChange(mapping.id, draftPatchRef.current);\n draftPatchRef.current = null;\n setDraftPatch(null);\n };\n\n const renderResizeHandle = handle => (\n <span\n key={handle.key}\n style={{ backgroundColor: FORM_THEME_COLOR }}\n className={classNames(\n \"rounded-full border-background absolute h-3 w-3 border-2\",\n handle.className\n )}\n onPointerCancel={endDrag}\n onPointerDown={event => startDrag(event, DRAG_KINDS.RESIZE, handle)}\n onPointerMove={handlePointerMove}\n onPointerUp={endDrag}\n />\n );\n\n if (isPreview) {\n return (\n <div\n {...{ style }}\n className=\"pointer-events-none absolute flex items-center\"\n >\n <span\n className=\"w-full overflow-hidden leading-tight whitespace-pre-wrap\"\n style={textStyle}\n >\n {previewValue}\n </span>\n </div>\n );\n }\n\n return (\n <div\n style={{ ...style, ...selectedStyle }}\n className={classNames(\n \"rounded-sm absolute flex cursor-move items-center border transition-colors select-none\",\n {\n \"z-10\": isSelected,\n \"border-border bg-opacity-40 bg-background border-dashed\":\n !isSelected,\n }\n )}\n onPointerCancel={endDrag}\n onPointerDown={event => startDrag(event, DRAG_KINDS.MOVE)}\n onPointerMove={handlePointerMove}\n onPointerUp={endDrag}\n >\n <span\n className=\"flex w-full items-center gap-1 overflow-hidden px-1 leading-tight\"\n style={textStyle}\n >\n <span className=\"truncate\">{displayMapping.label}</span>\n </span>\n {isSelected && RESIZE_HANDLES.map(renderResizeHandle)}\n </div>\n );\n};\n\nexport default PlacedField;\n","import { useEffect, useMemo, useRef } from \"react\";\n\nimport PlacedField from \"./PlacedField\";\n\nimport { clamp, getPdfPageDisplayScale } from \"../CanvasUtilities\";\nimport { CSS_PX_PER_PT, EDITOR_MODES, PDF_CANVAS } from \"../constants\";\n\nconst getRenderPixelRatio = viewport => {\n const dpr = window.devicePixelRatio || 1;\n const widthRatio = PDF_CANVAS.MAX_RENDER_SIZE / viewport.width;\n const heightRatio = PDF_CANVAS.MAX_RENDER_SIZE / viewport.height;\n const pixelRatio = Math.sqrt(\n PDF_CANVAS.MAX_RENDER_PIXELS / (viewport.width * viewport.height)\n );\n\n return Math.min(dpr, widthRatio, heightRatio, pixelRatio);\n};\n\nconst PdfPage = ({\n pageDescriptor,\n scale: rawScale,\n mappings,\n selectedId,\n mode,\n resolveValue,\n onSelect,\n onChange,\n onDropField,\n onScaleChange,\n}) => {\n const { page, pageNumber, widthPt, heightPt } = pageDescriptor;\n const canvasRef = useRef(null);\n const overlayRef = useRef(null);\n const scale = useMemo(\n () => getPdfPageDisplayScale({ heightPt, rawScale, widthPt }),\n [heightPt, rawScale, widthPt]\n );\n\n const defaultMappingScale = useMemo(\n () =>\n getPdfPageDisplayScale({\n heightPt,\n rawScale: CSS_PX_PER_PT,\n widthPt,\n }),\n [heightPt, widthPt]\n );\n const viewport = useMemo(() => page.getViewport({ scale }), [page, scale]);\n const pageWidthPx = viewport.width;\n const pageHeightPx = viewport.height;\n\n useEffect(() => {\n onScaleChange(pageNumber, defaultMappingScale);\n }, [defaultMappingScale, onScaleChange, pageNumber]);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return undefined;\n\n const renderPixelRatio = getRenderPixelRatio(viewport);\n canvas.width = Math.floor(viewport.width * renderPixelRatio);\n canvas.height = Math.floor(viewport.height * renderPixelRatio);\n canvas.style.width = `${viewport.width}px`;\n canvas.style.height = `${viewport.height}px`;\n\n const renderTask = page.render({\n canvasContext: canvas.getContext(\"2d\"),\n viewport,\n transform:\n renderPixelRatio !== 1\n ? [renderPixelRatio, 0, 0, renderPixelRatio, 0, 0]\n : undefined,\n });\n\n const render = async () => {\n try {\n await renderTask.promise;\n } catch {\n // Ignore RenderingCancelledException thrown when scale/page changes.\n }\n };\n render();\n\n return () => renderTask.cancel();\n }, [page, scale, viewport]);\n\n const handleDrop = event => {\n event.preventDefault();\n const rect = overlayRef.current.getBoundingClientRect();\n const xFrac = clamp((event.clientX - rect.left) / rect.width, 0, 1);\n const yFrac = clamp((event.clientY - rect.top) / rect.height, 0, 1);\n onDropField({ pageNumber, scale: defaultMappingScale, x: xFrac, y: yFrac });\n };\n\n const handleDragOver = event => {\n event.preventDefault();\n event.dataTransfer.dropEffect = \"copy\";\n };\n\n return (\n <div\n className=\"shadow-md bg-background relative\"\n style={{ width: `${pageWidthPx}px`, height: `${pageHeightPx}px` }}\n >\n <canvas ref={canvasRef} />\n <div\n className=\"absolute inset-0\"\n ref={overlayRef}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onPointerDown={() => onSelect(null)}\n >\n {mappings.map(mapping => (\n <PlacedField\n {...{\n mapping,\n mode,\n onChange,\n onSelect,\n pageHeightPx,\n pageWidthPx,\n scale,\n }}\n isSelected={mapping.id === selectedId}\n key={mapping.id}\n previewValue={\n mode === EDITOR_MODES.PREVIEW ? resolveValue(mapping) : null\n }\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default PdfPage;\n","import { useEffect, useState } from \"react\";\n\nimport * as pdfjsLib from \"pdfjs-dist\";\n\nimport { PDF_LOAD_INITIAL_STATE } from \"../constants\";\n\n// The worker is vendored into public/ (see the sync:pdf-worker script) so it is\n// served as a static asset with a JS MIME type. pdf.js always loads it as a\n// module worker. Its version must stay in sync with pdfjs-dist.\npdfjsLib.GlobalWorkerOptions.workerSrc = \"/pdf.worker.min.js\";\n\n// Loads a PDF via pdf.js and returns one descriptor per page:\n// { pageNumber, page (PDFPageProxy), widthPt, heightPt }. Dimensions are in PDF\n// points (viewport scale 1), which the canvas scales by CSS_PX_PER_PT * zoom.\nconst usePdfDocument = url => {\n const [state, setState] = useState(PDF_LOAD_INITIAL_STATE);\n\n useEffect(() => {\n if (!url) return undefined;\n\n let isCancelled = false;\n let pdf;\n setState(PDF_LOAD_INITIAL_STATE);\n\n const loadingTask = pdfjsLib.getDocument({ url });\n\n const loadPages = async () => {\n try {\n pdf = await loadingTask.promise;\n const pages = [];\n\n for (let pageNumber = 1; pageNumber <= pdf.numPages; pageNumber += 1) {\n const page = await pdf.getPage(pageNumber);\n const viewport = page.getViewport({ scale: 1 });\n pages.push({\n pageNumber,\n page,\n widthPt: viewport.width,\n heightPt: viewport.height,\n });\n }\n\n if (!isCancelled) setState({ pages, isLoading: false, error: null });\n } catch (error) {\n if (!isCancelled) setState({ pages: [], isLoading: false, error });\n }\n };\n\n loadPages();\n\n return () => {\n isCancelled = true;\n loadingTask.destroy?.();\n pdf?.destroy?.();\n };\n }, [url]);\n\n return state;\n};\n\nexport default usePdfDocument;\n","import { useMemo } from \"react\";\n\nimport { Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport PdfPage from \"./PdfPage\";\n\nimport { CSS_PX_PER_PT, EMPTY_MAPPINGS } from \"../constants\";\nimport usePdfDocument from \"../hooks/usePdfDocument\";\n\nconst Canvas = ({\n templateUrl,\n zoom,\n mappings,\n selectedId,\n mode,\n resolveValue,\n onSelect,\n onChange,\n onDropField,\n onPageScaleChange,\n}) => {\n const { t } = useTranslation();\n const { pages, isLoading, error } = usePdfDocument(templateUrl);\n\n const scale = CSS_PX_PER_PT * zoom;\n const mappingsByPage = useMemo(\n () =>\n mappings.reduce((groupedMappings, mapping) => {\n const pageMappings = groupedMappings.get(mapping.page) || [];\n pageMappings.push(mapping);\n groupedMappings.set(mapping.page, pageMappings);\n\n return groupedMappings;\n }, new Map()),\n [mappings]\n );\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (error || !templateUrl) {\n return (\n <div className=\"flex h-full w-full items-center justify-center p-8\">\n <Typography className=\"text-muted-foreground\" variant=\"body2\">\n {t(\"neetoPdf.pdfDocuments.editor.renderError\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"bg-muted absolute inset-0 overflow-auto\">\n <div className=\"flex min-h-full min-w-full w-max flex-col items-center gap-6 p-8\">\n {pages.map(pageDescriptor => (\n <PdfPage\n {...{\n mode,\n onChange,\n onDropField,\n\n onSelect,\n pageDescriptor,\n resolveValue,\n scale,\n selectedId,\n }}\n key={pageDescriptor.pageNumber}\n mappings={\n mappingsByPage.get(pageDescriptor.pageNumber) || EMPTY_MAPPINGS\n }\n onScaleChange={onPageScaleChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Canvas;\n","import {\n Button,\n ColorPicker,\n Input,\n Select,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport { CenterAlign, Delete, Folder, LeftAlign, RightAlign } from \"neetoicons\";\n\nimport { ALIGNMENTS, FONTS, FONT_SIZE_LIMITS } from \"./constants\";\n\nconst ToggleButton = ({ isActive, onClick, className, children, ...rest }) => (\n <button\n {...{ onClick }}\n type=\"button\"\n className={classNames(\n \"border-border flex h-8 items-center justify-center border text-sm first:rounded-l-md last:rounded-r-md\",\n className,\n {\n \"bg-foreground text-background\": isActive,\n \"bg-background text-foreground hover:bg-muted\": !isActive,\n }\n )}\n {...rest}\n >\n {children}\n </button>\n);\n\nconst EmptyState = withT(({ t }) => (\n <div className=\"flex h-full flex-col items-center justify-center gap-2 p-8 text-center\">\n <Folder className=\"text-muted-foreground\" size={32} />\n <Typography variant=\"body2\" weight=\"medium\">\n {t(\"neetoPdf.pdfDocuments.editor.field.emptyTitle\")}\n </Typography>\n <Typography className=\"text-muted-foreground\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.field.emptyDescription\")}\n </Typography>\n </div>\n));\n\nconst renderFontOptionLabel = ({ label, stack }) => (\n <span style={{ fontFamily: stack }}>{label}</span>\n);\n\nconst sanitizeFontSize = value => {\n const fontSize = Number(value);\n\n if (Number.isNaN(fontSize)) return FONT_SIZE_LIMITS.min;\n\n return Math.min(\n Math.max(fontSize, FONT_SIZE_LIMITS.min),\n FONT_SIZE_LIMITS.max\n );\n};\n\nconst FieldPanel = withT(({ t, mapping, onChange, onRemove }) =>\n mapping ? (\n <div className=\"border-border bg-background flex h-full w-72 shrink-0 flex-col overflow-y-auto border-l p-4\">\n <div className=\"mb-4 flex place-content-between items-center gap-2\">\n <Typography\n className=\"truncate\"\n data-testid=\"field-header\"\n variant=\"h3\"\n >\n {mapping.label}\n </Typography>\n </div>\n <div className=\"grow space-y-5\">\n <div className=\"space-y-1\">\n <Typography className=\"text-foreground\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.field.font\")}\n </Typography>\n <Select\n formatOptionLabel={renderFontOptionLabel}\n isSearchable={false}\n options={FONTS}\n size=\"small\"\n value={mapping.font}\n onChange={font => onChange(mapping.id, { font })}\n />\n </div>\n <div className=\"flex gap-4\">\n <div className=\"min-w-0 flex-1 space-y-1\">\n <Typography className=\"text-foreground\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.field.size\")}\n </Typography>\n <Input\n max={FONT_SIZE_LIMITS.max}\n min={FONT_SIZE_LIMITS.min}\n size=\"small\"\n type=\"number\"\n value={mapping.fontSize}\n onChange={event =>\n onChange(mapping.id, {\n fontSize: sanitizeFontSize(event.target.value),\n })\n }\n />\n </div>\n <div className=\"space-y-1\">\n <Typography className=\"text-foreground\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.field.format\")}\n </Typography>\n <div className=\"flex\">\n <ToggleButton\n aria-label=\"bold\"\n className=\"w-9\"\n isActive={mapping.bold}\n onClick={() => onChange(mapping.id, { bold: !mapping.bold })}\n >\n <span className=\"font-bold\">B</span>\n </ToggleButton>\n <ToggleButton\n aria-label=\"italic\"\n className=\"w-9\"\n isActive={mapping.italic}\n onClick={() =>\n onChange(mapping.id, { italic: !mapping.italic })\n }\n >\n <span className=\"italic\">I</span>\n </ToggleButton>\n <ToggleButton\n aria-label=\"underline\"\n className=\"w-9\"\n isActive={mapping.underline}\n onClick={() =>\n onChange(mapping.id, { underline: !mapping.underline })\n }\n >\n <span className=\"underline\">U</span>\n </ToggleButton>\n </div>\n </div>\n </div>\n <div className=\"space-y-1\">\n <Typography className=\"text-foreground\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.field.fontColor\")}\n </Typography>\n <ColorPicker\n showHexValue\n color={mapping.color}\n size=\"small\"\n onChange={({ hex }) => onChange(mapping.id, { color: hex })}\n />\n </div>\n <div className=\"space-y-1\">\n <Typography className=\"text-foreground\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.field.alignment\")}\n </Typography>\n <div className=\"flex w-full\">\n <ToggleButton\n aria-label=\"align-left\"\n className=\"flex-1\"\n isActive={mapping.align === ALIGNMENTS.LEFT}\n onClick={() => onChange(mapping.id, { align: ALIGNMENTS.LEFT })}\n >\n <LeftAlign size={16} />\n </ToggleButton>\n <ToggleButton\n aria-label=\"align-center\"\n className=\"flex-1\"\n isActive={mapping.align === ALIGNMENTS.CENTER}\n onClick={() => onChange(mapping.id, { align: ALIGNMENTS.CENTER })}\n >\n <CenterAlign size={16} />\n </ToggleButton>\n <ToggleButton\n aria-label=\"align-right\"\n className=\"flex-1\"\n isActive={mapping.align === ALIGNMENTS.RIGHT}\n onClick={() => onChange(mapping.id, { align: ALIGNMENTS.RIGHT })}\n >\n <RightAlign size={16} />\n </ToggleButton>\n </div>\n </div>\n </div>\n <Button\n fullWidth\n className=\"mt-4\"\n icon={Delete}\n label={t(\"neetoPdf.pdfDocuments.editor.field.remove\")}\n variant=\"destructive\"\n onClick={() => onRemove(mapping.id)}\n />\n </div>\n ) : (\n <div className=\"border-border bg-background flex h-full w-72 shrink-0 flex-col border-l\">\n <EmptyState />\n </div>\n )\n);\n\nexport default FieldPanel;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Drag } from \"neetoicons\";\n\nconst FieldCard = ({ field, onPlace, onDragStart, onDragEnd }) => {\n const Icon = field.icon;\n\n const handleDragStart = event => {\n event.dataTransfer.effectAllowed = \"copy\";\n event.dataTransfer.setData(\"text/plain\", field.key);\n onDragStart(field);\n };\n\n return (\n <div\n {...{ onDragEnd }}\n draggable\n className=\"border-border bg-background hover:bg-muted rounded-lg relative mb-2 flex h-10 cursor-pointer items-center gap-2 border p-3 transition-all duration-300 ease-in-out\"\n data-testid={`add-${field.key}-field`}\n onClick={() => onPlace(field)}\n onDragStart={handleDragStart}\n >\n <span\n className=\"absolute end-full top-1/2 me-0.5 flex-shrink-0 -translate-y-1/2 cursor-grab\"\n data-testid=\"drag-handle\"\n >\n <Drag\n className=\"text-muted-foreground hover:text-muted-foreground transition-all duration-300 ease-in-out\"\n size={16}\n />\n </span>\n <div className=\"flex flex-grow items-center gap-2 overflow-hidden\">\n {Icon && (\n <div className=\"flex-shrink-0\">\n <Icon />\n </div>\n )}\n <Typography className=\"truncate leading-4\" variant=\"body2\">\n {field.label}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default FieldCard;\n","import { useState } from \"react\";\n\nimport { Input, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldCard from \"./FieldCard\";\n\nconst Section = ({ title, children }) => {\n if (!children?.length) return null;\n\n return (\n <>\n <Typography className=\"mt-1 mb-3\" variant=\"h3\">\n {title}\n </Typography>\n {children}\n </>\n );\n};\n\nconst FieldsPanel = ({\n answerFields,\n systemFields,\n onPlace,\n onDragStartField,\n onDragEndField,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const query = searchTerm.trim().toLowerCase();\n const matches = field => field.label.toLowerCase().includes(query);\n\n const filteredAnswers = query ? answerFields.filter(matches) : answerFields;\n const filteredSystem = query ? systemFields.filter(matches) : systemFields;\n\n const renderField = field => (\n <FieldCard\n {...{ field, onPlace }}\n key={`${field.source}-${field.key}`}\n onDragEnd={onDragEndField}\n onDragStart={onDragStartField}\n />\n );\n\n return (\n <div className=\"border-border bg-muted flex h-full w-[360px] shrink-0 flex-col border-r\">\n <div className=\"p-6 pb-1\">\n <Typography lineHeight=\"normal\" variant=\"h3\" weight=\"semibold\">\n {t(\"neetoPdf.pdfDocuments.editor.addNewElement\")}\n </Typography>\n </div>\n <div className=\"mb-1 px-6\">\n <Typography className=\"mb-3\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.addNewElementDescription\")}\n </Typography>\n <Input\n autoFocus\n data-testid=\"elements-panel-search-field\"\n placeholder={t(\"neetoPdf.pdfDocuments.editor.searchElements\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={event => setSearchTerm(event.target.value)}\n />\n </div>\n <div\n className=\"grow overflow-y-auto px-6 pb-2\"\n data-testid=\"elements-container\"\n >\n <Section title={t(\"neetoPdf.pdfDocuments.editor.answers\")}>\n {filteredAnswers.map(renderField)}\n </Section>\n <Section title={t(\"neetoPdf.pdfDocuments.editor.system\")}>\n {filteredSystem.map(renderField)}\n </Section>\n {filteredAnswers.length === 0 && filteredSystem.length === 0 ? (\n <Typography\n className=\"text-foreground text-md flex h-full items-center justify-center\"\n weight=\"bold\"\n >\n {t(\"neetoPdf.pdfDocuments.editor.noFields\")}\n </Typography>\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default FieldsPanel;\n","import { DEFAULT_STYLE, STANDARD_FONT_VARIANTS } from \"./constants\";\n\n// pdf-lib StandardFonts only support WinAnsi encoding and single-line text, so\n// collapse whitespace and drop characters they cannot encode.\nconst sanitizeForPdf = text =>\n text\n .replace(/\\s+/g, \" \")\n .trim()\n\n .replace(/[^\\x20-\\x7E\\xA0-\\xFF]/g, \"\")\n .trim();\n\nconst hexToRgbComponents = hex => {\n const value = (hex || DEFAULT_STYLE.color).replace(\"#\", \"\");\n const full =\n value.length === 3\n ? value\n .split(\"\")\n .map(char => char + char)\n .join(\"\")\n : value;\n const int = parseInt(full, 16);\n\n return {\n r: ((int >> 16) & 255) / 255,\n g: ((int >> 8) & 255) / 255,\n b: (int & 255) / 255,\n };\n};\n\nconst standardFontName = (font, bold, italic) => {\n const variants =\n STANDARD_FONT_VARIANTS[font] || STANDARD_FONT_VARIANTS.Helvetica;\n\n return variants[(bold ? 1 : 0) + (italic ? 2 : 0)];\n};\n\nconst triggerBlobDownload = (bytes, fileName) => {\n const blob = new Blob([bytes], { type: \"application/pdf\" });\n const url = URL.createObjectURL(blob);\n const link = window.document.createElement(\"a\");\n link.href = url;\n link.download = fileName;\n window.document.body.appendChild(link);\n link.click();\n link.remove();\n URL.revokeObjectURL(url);\n};\n\n// Stamp the resolved values for one submission onto the template PDF (client\n// side, via pdf-lib) and trigger a browser download. pdf-lib is imported lazily\n// so it only loads on the first download.\nexport const downloadFilledPdf = async ({\n templateUrl,\n mappings,\n valueFor,\n fileName,\n}) => {\n const pdfLibModule = await import(\"pdf-lib\");\n const { PDFDocument, StandardFonts, rgb } = pdfLibModule;\n\n const response = await fetch(templateUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch template PDF (${response.status})`);\n }\n const bytes = await response.arrayBuffer();\n\n const pdfDoc = await PDFDocument.load(bytes, { ignoreEncryption: true });\n const pages = pdfDoc.getPages();\n\n const fontNames = [\n ...new Set(\n mappings.map(mapping =>\n standardFontName(mapping.font, mapping.bold, mapping.italic)\n )\n ),\n ];\n\n const embeddedFonts = Object.fromEntries(\n await Promise.all(\n fontNames.map(async name => [\n name,\n await pdfDoc.embedFont(StandardFonts[name]),\n ])\n )\n );\n\n mappings.forEach(mapping => {\n const page = pages[mapping.page - 1];\n if (!page) return;\n\n const text = sanitizeForPdf(valueFor(mapping) || \"\");\n if (!text) return;\n\n const { width: pageWidth, height: pageHeight } = page.getSize();\n const font =\n embeddedFonts[\n standardFontName(mapping.font, mapping.bold, mapping.italic)\n ];\n const size = mapping.fontSize;\n const { r, g, b } = hexToRgbComponents(mapping.color);\n const color = rgb(r, g, b);\n\n const boxLeft = mapping.x * pageWidth;\n const boxWidth = mapping.width * pageWidth;\n const textWidth = font.widthOfTextAtSize(text, size);\n\n let x = boxLeft;\n if (mapping.align === \"center\") x = boxLeft + (boxWidth - textWidth) / 2;\n else if (mapping.align === \"right\") x = boxLeft + boxWidth - textWidth;\n\n const y = pageHeight - mapping.y * pageHeight - size;\n\n page.drawText(text, { x, y, size, font, color });\n\n if (mapping.underline) {\n const lineY = y - size * 0.1;\n page.drawLine({\n start: { x, y: lineY },\n end: { x: x + textWidth, y: lineY },\n thickness: Math.max(0.5, size * 0.06),\n color,\n });\n }\n });\n\n triggerBlobDownload(await pdfDoc.save(), fileName);\n};\n","import { useState } from \"react\";\n\nimport { Toastr } from \"@bigbinary/neeto-atoms\";\nimport logger from \"js-logger\";\n\nimport { buildOutputFilename } from \"../../FilenameUtilities\";\nimport { downloadFilledPdf } from \"../PdfDownloadUtilities\";\n\nconst usePdfDownload = ({\n mappings,\n pdfDocument,\n previewRecord,\n resolveValue,\n t,\n}) => {\n const [isDownloading, setIsDownloading] = useState(false);\n\n const downloadPdf = async () => {\n const templateUrl = pdfDocument?.templateFile?.url;\n if (!templateUrl || !previewRecord) return;\n\n setIsDownloading(true);\n\n try {\n await downloadFilledPdf({\n templateUrl,\n mappings,\n valueFor: resolveValue,\n fileName: buildOutputFilename(pdfDocument, previewRecord),\n });\n } catch (error) {\n logger.error(error);\n Toastr.error(t(\"neetoPdf.pdfDocuments.editor.downloadError\"));\n } finally {\n setIsDownloading(false);\n }\n };\n\n return { downloadPdf, isDownloading };\n};\n\nexport default usePdfDownload;\n","import { Toastr } from \"@bigbinary/neeto-atoms\";\n\nimport {\n getPdfDocumentApiErrorMessage,\n useFetchPdfDocument,\n useUpdatePdfDocument,\n} from \"v2/hooks/usePdfDocumentsApi\";\n\nimport { buildOutputFilenameTemplate } from \"../../FilenameUtilities\";\n\nconst usePdfEditorDocument = ({ apiBaseUrl, documentId, ownerId, t }) => {\n const { data: documentResponse, isLoading: isDocumentLoading } =\n useFetchPdfDocument({ apiBaseUrl, ownerId, documentId });\n\n const pdfDocument = documentResponse?.document;\n\n const { mutate: saveMappings, isPending: isSaving } = useUpdatePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () =>\n Toastr.success(t(\"neetoPdf.pdfDocuments.editor.saveSuccess\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.editor.saveError\")\n )\n ),\n },\n });\n\n const { mutate: renameDocument } = useUpdatePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () =>\n Toastr.success(t(\"neetoPdf.pdfDocuments.rename.success\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.rename.error\")\n )\n ),\n },\n });\n\n const saveDocumentMappings = ({ mappings, onSuccess }) => {\n saveMappings({ documentId, payload: { mappings } }, { onSuccess });\n };\n\n const renamePdfDocument = name => {\n const trimmedName = name.trim();\n\n renameDocument({\n documentId,\n payload: {\n name: trimmedName,\n outputFilename: buildOutputFilenameTemplate(trimmedName),\n },\n });\n };\n\n return {\n documentName: pdfDocument?.name || \"\",\n isDocumentLoading,\n isSaving,\n pdfDocument,\n renamePdfDocument,\n saveDocumentMappings,\n templateUrl: pdfDocument?.templateFile?.url,\n };\n};\n\nexport default usePdfEditorDocument;\n","import { getDefaultFontSizeForScale } from \"./CanvasUtilities\";\nimport { DEFAULT_BOX, DEFAULT_STYLE, FIELD_SOURCES } from \"./constants\";\n\nconst htmlToPlainText = value => {\n const element = window.document.createElement(\"div\");\n element.innerHTML = value || \"\";\n\n return element.textContent || element.innerText || \"\";\n};\n\nconst generateId = () =>\n window.crypto?.randomUUID?.() || `${Date.now()}-${Math.random()}`;\n\n// Turn the form's records into the \"Answers\" list shown in the left panel.\nexport const buildAnswerFields = (fields = []) =>\n fields\n .filter(field => field)\n .map(field => ({\n source: FIELD_SOURCES.ANSWER,\n key: field.key || field.slug,\n recordId: field.recordId || field.id || null,\n slug: field.slug || field.key,\n label: htmlToPlainText(field.label || \"\"),\n kind: field.kind,\n icon: field.icon,\n typeLabel: field.typeLabel || field.kind || \"\",\n }));\n\nexport const buildMapping = ({ field, page, scale }) => ({\n id: generateId(),\n source: field.source,\n fieldSlug: field.key,\n recordId: field.recordId ?? null,\n label: field.label,\n kind: field.kind,\n page,\n ...DEFAULT_BOX,\n ...DEFAULT_STYLE,\n fontSize: getDefaultFontSizeForScale(scale),\n});\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { findById, removeById } from \"neetocist\";\nimport { append } from \"ramda\";\n\nimport { clamp } from \"../CanvasUtilities\";\nimport { DEFAULT_BOX } from \"../constants\";\nimport { buildMapping } from \"../MappingUtilities\";\n\nconst usePdfMappingsState = ({ documentId, pdfDocument }) => {\n const [mappings, setMappings] = useState([]);\n const [selectedId, setSelectedId] = useState(null);\n const [pageScales, setPageScales] = useState(() => new Map());\n const [isDirty, setIsDirty] = useState(false);\n\n const draggedFieldRef = useRef(null);\n const initializedRef = useRef(null);\n\n useEffect(() => {\n if (!(pdfDocument && initializedRef.current !== documentId)) return;\n\n initializedRef.current = documentId;\n setMappings(pdfDocument.mappings || []);\n setIsDirty(false);\n }, [pdfDocument, documentId]);\n\n const selectedMapping = findById(selectedId, mappings) || null;\n\n const mutateMappings = updater => {\n setMappings(updater);\n setIsDirty(true);\n };\n\n const handleAddField = field => {\n const mapping = buildMapping({ field, page: 1, scale: pageScales.get(1) });\n mutateMappings(append(mapping));\n setSelectedId(mapping.id);\n };\n\n const handleDropField = ({ pageNumber, scale, x, y }) => {\n const field = draggedFieldRef.current;\n if (!field) return;\n\n const mapping = {\n ...buildMapping({ field, page: pageNumber, scale }),\n x: clamp(x, 0, 1 - DEFAULT_BOX.width),\n y: clamp(y, 0, 1 - DEFAULT_BOX.height),\n };\n\n mutateMappings(append(mapping));\n setSelectedId(mapping.id);\n };\n\n const handleChangeMapping = (id, patch) =>\n mutateMappings(prev =>\n prev.map(mapping =>\n mapping.id === id ? { ...mapping, ...patch } : mapping\n )\n );\n\n const handlePageScaleChange = (pageNumber, scale) => {\n setPageScales(prev => {\n if (prev.get(pageNumber) === scale) return prev;\n\n const nextPageScales = new Map(prev);\n nextPageScales.set(pageNumber, scale);\n\n return nextPageScales;\n });\n };\n\n const handleRemoveMapping = id => {\n mutateMappings(prev => removeById(id, prev));\n setSelectedId(current => (current === id ? null : current));\n };\n\n const handleDragEndField = () => {\n draggedFieldRef.current = null;\n };\n\n const handleDragStartField = field => {\n draggedFieldRef.current = field;\n };\n\n return {\n handleAddField,\n handleChangeMapping,\n handleDragEndField,\n handleDragStartField,\n handleDropField,\n handlePageScaleChange,\n handleRemoveMapping,\n isDirty,\n mappings,\n selectedId,\n selectedMapping,\n setIsDirty,\n setSelectedId,\n };\n};\n\nexport default usePdfMappingsState;\n","import { useEffect, useState } from \"react\";\n\nimport { EDITOR_MODES } from \"../constants\";\n\nconst usePreviewPagination = ({\n controlledMode,\n onModeChange,\n onPreviewPageChange,\n previewPage,\n setSelectedId,\n}) => {\n const [localPreviewPage, setLocalPreviewPage] = useState(previewPage);\n const [localMode, setLocalMode] = useState(EDITOR_MODES.MAP);\n\n const mode = controlledMode || localMode;\n const isPreview = mode === EDITOR_MODES.PREVIEW;\n const currentPreviewPage = onPreviewPageChange\n ? previewPage\n : localPreviewPage;\n\n useEffect(() => {\n if (!isPreview) return;\n\n setSelectedId(null);\n setLocalPreviewPage(1);\n onPreviewPageChange?.(1);\n }, [isPreview, onPreviewPageChange, setSelectedId]);\n\n const setPreviewPage = page => {\n setLocalPreviewPage(page);\n onPreviewPageChange?.(page);\n };\n\n const handleModeChange = nextMode => {\n setLocalMode(nextMode);\n onModeChange?.(nextMode);\n };\n\n return {\n currentPreviewPage,\n handleModeChange,\n isPreview,\n mode,\n setPreviewPage,\n };\n};\n\nexport default usePreviewPagination;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Left, Right } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst PreviewPager = ({ page, total, isLoading, onPrev, onNext }) => {\n const { t } = useTranslation();\n\n if (!isLoading && total === 0) {\n return (\n <div className=\"border-border bg-background shadow-md rounded-lg border px-3 py-1.5\">\n <Typography className=\"text-muted-foreground\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.preview.noSubmissions\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"border-border bg-background shadow-md rounded-lg flex items-center gap-1 border px-1\">\n <Button\n disabled={page <= 1 || isLoading}\n icon={Left}\n size=\"small\"\n variant=\"ghost\"\n onClick={onPrev}\n />\n <Typography className=\"px-1 whitespace-nowrap\" variant=\"body3\">\n {t(\"neetoPdf.pdfDocuments.editor.preview.counter\", {\n page,\n total,\n })}\n </Typography>\n <Button\n disabled={page >= total || isLoading}\n icon={Right}\n size=\"small\"\n variant=\"ghost\"\n onClick={onNext}\n />\n </div>\n );\n};\n\nexport default PreviewPager;\n","import { dateFormat } from \"neetocommons/v2/utils\";\n\nimport { FIELD_SOURCES, SYSTEM_FIELD_KEYS } from \"./constants\";\n\nconst coerceToText = value => {\n if (value === null || value === undefined) return \"\";\n\n if (Array.isArray(value)) {\n return value.map(coerceToText).filter(Boolean).join(\", \");\n }\n\n if (typeof value === \"object\") {\n if (\"value\" in value) return coerceToText(value.value);\n\n if (\"label\" in value) return coerceToText(value.label);\n\n return \"\";\n }\n\n return String(value);\n};\n\n// Resolve the text shown for a placement in \"Preview with data\" mode. Returns\n// \"\" (rendered blank) when the current submission has no answer for the field.\nexport const resolvePreviewValue = ({\n mapping,\n responsesBySlug = {},\n form,\n submission,\n}) => {\n if (mapping.source === FIELD_SOURCES.SYSTEM) {\n switch (mapping.fieldSlug) {\n case SYSTEM_FIELD_KEYS.FORM_NAME:\n return form?.title || form?.name || \"\";\n case SYSTEM_FIELD_KEYS.SUBMISSION_ID:\n return submission?.id || \"\";\n case SYSTEM_FIELD_KEYS.SUBMISSION_DATE:\n return submission?.createdAt\n ? dateFormat.dateTime(submission.createdAt)\n : \"\";\n default:\n return \"\";\n }\n }\n\n return coerceToText(responsesBySlug[mapping.fieldSlug]);\n};\n\n// Build a slug -> value lookup from a single submission's responses array.\nexport const buildResponsesBySlug = (responses = []) =>\n responses.reduce((acc, response) => {\n if (response?.slug !== undefined) acc[response.slug] = response.value;\n\n return acc;\n }, {});\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Download, LeftArrow, Minus, Plus } from \"neetoicons\";\nimport NavigationHeader from \"neetomolecules/v2/NavigationHeader\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_MODES, ZOOM } from \"./constants\";\n\nconst TopBar = ({\n name,\n onRename,\n canManage,\n homeUrl,\n isPreview,\n zoom,\n onZoomIn,\n onZoomOut,\n onDownload,\n isDownloading,\n canDownload,\n onSave,\n isSaving,\n isDirty,\n onBack,\n onModeChange,\n}) => {\n const { t } = useTranslation();\n\n const headerLinks = [\n {\n key: EDITOR_MODES.MAP,\n label: t(\"neetoPdf.pdfDocuments.editor.mapFields\"),\n to: \"#map\",\n isActive: () => !isPreview,\n onClick: event => {\n event.preventDefault();\n onModeChange(EDITOR_MODES.MAP);\n },\n },\n {\n key: EDITOR_MODES.PREVIEW,\n label: t(\"neetoPdf.pdfDocuments.editor.previewWithData\"),\n to: \"#preview\",\n isActive: () => isPreview,\n onClick: event => {\n event.preventDefault();\n onModeChange(EDITOR_MODES.PREVIEW);\n },\n },\n ];\n\n const rightActionBlock = (\n <div className=\"flex w-full items-center justify-end gap-3\">\n <div className=\"flex items-center gap-1\">\n <Button\n disabled={zoom <= ZOOM.MIN}\n icon={Minus}\n size=\"small\"\n variant=\"ghost\"\n onClick={onZoomOut}\n />\n <Typography className=\"w-10 text-center\" variant=\"body3\">\n {Math.round(zoom * 100)}%\n </Typography>\n <Button\n disabled={zoom >= ZOOM.MAX}\n icon={Plus}\n size=\"small\"\n variant=\"ghost\"\n onClick={onZoomIn}\n />\n </div>\n <Button\n disabled={!canDownload}\n icon={Download}\n label={t(\"neetoPdf.pdfDocuments.editor.downloadPdf\")}\n loading={isDownloading}\n variant=\"secondary\"\n tooltipProps={{\n content: canDownload\n ? t(\"neetoPdf.pdfDocuments.editor.downloadTooltip\")\n : t(\"neetoPdf.pdfDocuments.editor.downloadHint\"),\n }}\n onClick={onDownload}\n />\n <Button\n disabled={!isDirty}\n label={t(\"neetoPdf.common.save\")}\n loading={isSaving}\n onClick={onSave}\n />\n </div>\n );\n\n return (\n <NavigationHeader\n {...{ rightActionBlock }}\n leftActionBlock={\n <NavigationHeader.LeftActionBlock\n homeUrl={homeUrl || \"#\"}\n homeButtonProps={{\n icon: <LeftArrow />,\n tooltip: {\n content: t(\"neetoPdf.pdfDocuments.editor.back\"),\n position: \"bottom\",\n },\n onClick: onBack,\n }}\n renameProps={{\n value: name,\n disabled: !canManage,\n placeholder: t(\"neetoPdf.pdfDocuments.rename.placeholder\"),\n onRename,\n }}\n />\n }\n navigationLinks={\n <NavigationHeader.NavigationLinks\n {...{ headerLinks }}\n maxVisibleLinks={2}\n />\n }\n />\n );\n};\n\nexport default TopBar;\n","import { useMemo, useState } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Canvas from \"./Canvas\";\nimport { clamp } from \"./CanvasUtilities\";\nimport { FIELD_SOURCES, SYSTEM_FIELDS, ZOOM } from \"./constants\";\nimport FieldPanel from \"./FieldPanel\";\nimport FieldsPanel from \"./FieldsPanel\";\nimport usePdfDownload from \"./hooks/usePdfDownload\";\nimport usePdfEditorDocument from \"./hooks/usePdfEditorDocument\";\nimport usePdfMappingsState from \"./hooks/usePdfMappingsState\";\nimport usePreviewPagination from \"./hooks/usePreviewPagination\";\nimport { buildAnswerFields } from \"./MappingUtilities\";\nimport PreviewPager from \"./PreviewPager\";\nimport {\n buildResponsesBySlug,\n resolvePreviewValue,\n} from \"./PreviewValueUtilities\";\nimport TopBar from \"./TopBar\";\n\nconst FullScreenSpinner = () => (\n <div className=\"bg-background fixed inset-0 z-50 flex items-center justify-center\">\n <Spinner />\n </div>\n);\n\nconst PdfEditorPage = ({\n apiBaseUrl,\n ownerId,\n documentId,\n canManage = true,\n fields = [],\n ownerRecord = {},\n previewRecord,\n previewTotal = 0,\n previewPage = 1,\n isPreviewLoading = false,\n mode: controlledMode,\n homeUrl,\n onBack,\n onModeChange,\n onPreviewPageChange,\n}) => {\n const { t } = useTranslation();\n const [zoom, setZoom] = useState(ZOOM.DEFAULT);\n\n const {\n documentName,\n isDocumentLoading,\n isSaving,\n pdfDocument,\n renamePdfDocument,\n saveDocumentMappings,\n templateUrl,\n } = usePdfEditorDocument({ apiBaseUrl, documentId, ownerId, t });\n\n const {\n handleAddField,\n handleChangeMapping,\n handleDragEndField,\n handleDragStartField,\n handleDropField,\n handlePageScaleChange,\n handleRemoveMapping,\n isDirty,\n mappings,\n selectedId,\n selectedMapping,\n setIsDirty,\n setSelectedId,\n } = usePdfMappingsState({ documentId, pdfDocument });\n\n const {\n currentPreviewPage,\n handleModeChange,\n isPreview,\n mode,\n setPreviewPage,\n } = usePreviewPagination({\n controlledMode,\n onModeChange,\n onPreviewPageChange,\n previewPage,\n setSelectedId,\n });\n\n const answerFields = useMemo(() => buildAnswerFields(fields), [fields]);\n\n const systemFields = useMemo(\n () =>\n SYSTEM_FIELDS.map(({ key, labelKey, icon }) => ({\n source: FIELD_SOURCES.SYSTEM,\n key,\n label: t(labelKey),\n typeLabel: t(\"neetoPdf.pdfDocuments.editor.system\"),\n kind: key,\n icon,\n })),\n [t]\n );\n\n const responsesBySlug = useMemo(\n () => buildResponsesBySlug(previewRecord?.responses),\n [previewRecord]\n );\n\n const resolveValue = mapping =>\n resolvePreviewValue({\n mapping,\n responsesBySlug,\n form: ownerRecord,\n submission: previewRecord,\n });\n\n const { downloadPdf, isDownloading } = usePdfDownload({\n mappings,\n pdfDocument,\n previewRecord,\n resolveValue,\n t,\n });\n\n const handleSave = () =>\n saveDocumentMappings({ mappings, onSuccess: () => setIsDirty(false) });\n\n if (isDocumentLoading) return <FullScreenSpinner />;\n\n return createPortal(\n <div className=\"bg-background fixed inset-0 z-50 flex flex-col\">\n <TopBar\n {...{\n canManage,\n documentId,\n homeUrl,\n isDirty,\n isDownloading,\n isPreview,\n isSaving,\n mode,\n onBack,\n zoom,\n }}\n canDownload={isPreview && Boolean(previewRecord)}\n name={documentName}\n onDownload={downloadPdf}\n onModeChange={handleModeChange}\n onRename={renamePdfDocument}\n onSave={handleSave}\n onZoomIn={() =>\n setZoom(value => clamp(value + ZOOM.STEP, ZOOM.MIN, ZOOM.MAX))\n }\n onZoomOut={() =>\n setZoom(value => clamp(value - ZOOM.STEP, ZOOM.MIN, ZOOM.MAX))\n }\n />\n <div className=\"flex min-h-0 grow overflow-hidden\">\n {!isPreview && (\n <FieldsPanel\n {...{ answerFields, systemFields }}\n onDragEndField={handleDragEndField}\n onDragStartField={handleDragStartField}\n onPlace={handleAddField}\n />\n )}\n <div className=\"relative h-full min-w-0 flex-1 overflow-hidden\">\n {isPreview && (\n <div className=\"absolute top-4 left-1/2 z-10 -translate-x-1/2\">\n <PreviewPager\n isLoading={isPreviewLoading}\n page={currentPreviewPage}\n total={previewTotal}\n onNext={() =>\n setPreviewPage(Math.min(currentPreviewPage + 1, previewTotal))\n }\n onPrev={() =>\n setPreviewPage(Math.max(currentPreviewPage - 1, 1))\n }\n />\n </div>\n )}\n <Canvas\n {...{ mappings, mode, resolveValue, selectedId, templateUrl, zoom }}\n onChange={handleChangeMapping}\n onDropField={handleDropField}\n onPageScaleChange={handlePageScaleChange}\n onSelect={setSelectedId}\n />\n </div>\n {!isPreview && (\n <FieldPanel\n mapping={selectedMapping}\n onChange={handleChangeMapping}\n onRemove={handleRemoveMapping}\n />\n )}\n </div>\n </div>,\n window.document.body\n );\n};\n\nexport default PdfEditorPage;\n"],"names":["mappingDefaults","pdfMappingSchema","defaults","CSS_PX_PER_PT","ZOOM","MIN","MAX","STEP","DEFAULT","PDF_CANVAS","MAX_DISPLAY_SIZE","MAX_RENDER_SIZE","MAX_RENDER_PIXELS","EDITOR_MODES","MAP","PREVIEW","PDF_LOAD_INITIAL_STATE","pages","isLoading","error","EMPTY_MAPPINGS","FIELD_SOURCES","ANSWER","enums","sources","SYSTEM","DRAG_KINDS","MOVE","RESIZE","ALIGNMENTS","LEFT","alignments","CENTER","RIGHT","FORM_THEME_COLOR","FORM_THEME_BACKGROUND","RESIZE_HANDLES","key","x","y","className","FONTS","fonts","map","_ref","label","stack","value","STANDARD_FONT_VARIANTS","Object","fromEntries","_ref2","clientVariants","client_variants","DEFAULT_FONT_SIZE","style","font_size","DEFAULT_DISPLAY_FONT_SIZE","FONT_SIZE_LIMITS","ranges","DEFAULT_STYLE","font","fontSize","color","bold","italic","underline","align","DEFAULT_BOX","box","MIN_BOX","width","height","SYSTEM_FIELD_KEYS","FORM_NAME","SUBMISSION_ID","SUBMISSION_DATE","SYSTEM_FIELDS","labelKey","icon","TextLines","Hash","Calendar","clamp","min","max","Math","getPdfPageDisplayScale","heightPt","rawScale","widthPt","maxPageSize","zoom","baseScale","getDefaultFontSizeForScale","scale","Number","isNaN","round","getFontStack","_findBy","findBy","getJustifyContent","PlacedField","mapping","mode","isSelected","pageWidthPx","pageHeightPx","previewValue","onSelect","onChange","dragRef","useRef","draftPatchRef","_useState","useState","_useState2","_slicedToArray","draftPatch","setDraftPatch","isPreview","displayMapping","_objectSpread","left","concat","top","selectedStyle","borderColor","backgroundColor","textStyle","fontFamily","fontWeight","fontStyle","textDecoration","textAlign","justifyContent","getResizePatch","drag","dxFrac","dyFrac","patch","originRight","originX","originWidth","originBottom","originY","originHeight","handle","handlePointerMove","event","current","clientX","startX","clientY","startY","kind","startDrag","arguments","length","undefined","stopPropagation","preventDefault","id","currentTarget","setPointerCapture","pointerId","endDrag","_event$currentTarget$","_event$currentTarget","releasePointerCapture","call","renderResizeHandle","_jsx","classNames","onPointerCancel","onPointerDown","onPointerMove","onPointerUp","children","_jsxs","getRenderPixelRatio","viewport","dpr","window","devicePixelRatio","widthRatio","heightRatio","pixelRatio","sqrt","PdfPage","pageDescriptor","mappings","selectedId","resolveValue","onDropField","onScaleChange","page","pageNumber","canvasRef","overlayRef","useMemo","defaultMappingScale","getViewport","useEffect","canvas","renderPixelRatio","floor","renderTask","render","canvasContext","getContext","transform","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","promise","t0","stop","apply","cancel","handleDrop","rect","getBoundingClientRect","xFrac","yFrac","handleDragOver","dataTransfer","dropEffect","ref","onDragOver","onDrop","_createElement","pdfjsLib","GlobalWorkerOptions","workerSrc","usePdfDocument","url","state","setState","isCancelled","pdf","loadingTask","getDocument","loadPages","sent","numPages","getPage","push","_loadingTask$destroy","_pdf","_pdf$destroy","destroy","Canvas","templateUrl","onPageScaleChange","_useTranslation","useTranslation","t","_usePdfDocument","mappingsByPage","reduce","groupedMappings","pageMappings","get","set","Map","Spinner","Typography","variant","ToggleButton","isActive","onClick","rest","_objectWithoutProperties","_excluded","type","EmptyState","withT","Folder","size","weight","renderFontOptionLabel","_ref3","sanitizeFontSize","FieldPanel","_ref4","onRemove","Select","formatOptionLabel","isSearchable","options","Input","target","ColorPicker","showHexValue","_ref5","hex","LeftAlign","CenterAlign","RightAlign","Button","fullWidth","Delete","FieldCard","field","onPlace","onDragStart","onDragEnd","Icon","handleDragStart","effectAllowed","setData","draggable","Drag","Section","title","_Fragment","FieldsPanel","answerFields","systemFields","onDragStartField","onDragEndField","searchTerm","setSearchTerm","query","trim","toLowerCase","matches","includes","filteredAnswers","filter","filteredSystem","renderField","source","lineHeight","autoFocus","placeholder","prefix","Search","sanitizeForPdf","text","replace","hexToRgbComponents","full","split","char","join","int","parseInt","r","g","b","standardFontName","variants","Helvetica","triggerBlobDownload","bytes","fileName","blob","Blob","URL","createObjectURL","link","document","createElement","href","download","body","appendChild","click","remove","revokeObjectURL","downloadFilledPdf","_callee2","valueFor","pdfLibModule","PDFDocument","StandardFonts","rgb","response","pdfDoc","fontNames","embeddedFonts","_callee2$","_context2","fetch","ok","Error","status","arrayBuffer","load","ignoreEncryption","getPages","_toConsumableArray","Set","Promise","all","name","embedFont","t1","abrupt","_x2","forEach","_page$getSize","getSize","pageWidth","pageHeight","_hexToRgbComponents","boxLeft","boxWidth","textWidth","widthOfTextAtSize","drawText","lineY","drawLine","start","end","thickness","t2","save","t3","t4","_x","usePdfDownload","pdfDocument","previewRecord","isDownloading","setIsDownloading","downloadPdf","_pdfDocument$template","templateFile","buildOutputFilename","logger","Toastr","finish","usePdfEditorDocument","apiBaseUrl","documentId","ownerId","_useFetchPdfDocument","useFetchPdfDocument","documentResponse","data","isDocumentLoading","_useUpdatePdfDocument","useUpdatePdfDocument","onSuccess","success","onError","getPdfDocumentApiErrorMessage","saveMappings","mutate","isSaving","isPending","_useUpdatePdfDocument2","renameDocument","saveDocumentMappings","payload","renamePdfDocument","trimmedName","outputFilename","buildOutputFilenameTemplate","documentName","htmlToPlainText","element","innerHTML","textContent","innerText","generateId","_window$crypto","_window$crypto$random","crypto","randomUUID","Date","now","random","buildAnswerFields","fields","slug","recordId","typeLabel","buildMapping","_field$recordId","fieldSlug","usePdfMappingsState","setMappings","_useState3","_useState4","setSelectedId","_useState5","_useState6","pageScales","setPageScales","_useState7","_useState8","isDirty","setIsDirty","draggedFieldRef","initializedRef","selectedMapping","findById","mutateMappings","updater","handleAddField","append","handleDropField","handleChangeMapping","handlePageScaleChange","nextPageScales","handleRemoveMapping","removeById","handleDragEndField","handleDragStartField","usePreviewPagination","controlledMode","onModeChange","onPreviewPageChange","previewPage","localPreviewPage","setLocalPreviewPage","localMode","setLocalMode","currentPreviewPage","setPreviewPage","handleModeChange","nextMode","PreviewPager","total","onPrev","onNext","disabled","Left","Right","coerceToText","Array","isArray","Boolean","_typeof","String","resolvePreviewValue","_ref$responsesBySlug","responsesBySlug","form","submission","createdAt","dateFormat","dateTime","buildResponsesBySlug","responses","acc","TopBar","onRename","canManage","homeUrl","onZoomIn","onZoomOut","onDownload","canDownload","onSave","onBack","headerLinks","to","rightActionBlock","Minus","Plus","Download","loading","tooltipProps","content","NavigationHeader","leftActionBlock","LeftActionBlock","homeButtonProps","LeftArrow","tooltip","position","renameProps","navigationLinks","NavigationLinks","maxVisibleLinks","FullScreenSpinner","PdfEditorPage","_ref$canManage","_ref$fields","_ref$ownerRecord","ownerRecord","_ref$previewTotal","previewTotal","_ref$previewPage","_ref$isPreviewLoading","isPreviewLoading","setZoom","_usePdfEditorDocument","_usePdfMappingsState","_usePreviewPagination","_usePdfDownload","handleSave","createPortal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,eAAe,GAAGC,mCAAgB,CAACC,QAAQ;;AAEjD;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,EAAE,GAAG,EAAE;AAE7B,IAAMC,IAAI,GAAG;AAAEC,EAAAA,GAAG,EAAE,GAAG;AAAEC,EAAAA,GAAG,EAAE,CAAC;AAAEC,EAAAA,IAAI,EAAE,GAAG;AAAEC,EAAAA,OAAO,EAAE;AAAE,CAAC;AAExD,IAAMC,UAAU,GAAG;AACxBC,EAAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,eAAe,EAAE,IAAI;AACrBC,EAAAA,iBAAiB,EAAE;AACrB,CAAC;AAEM,IAAMC,YAAY,GAAG;AAAEC,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,OAAO,EAAE;AAAU,CAAC;AAEvD,IAAMC,sBAAsB,GAAG;AACpCC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,SAAS,EAAE,IAAI;AACfC,EAAAA,KAAK,EAAE;AACT,CAAC;AAEM,IAAMC,cAAc,GAAG,EAAE;AAEzB,IAAMC,aAAa,GAAG;EAC3BC,MAAM,EAAErB,mCAAgB,CAACsB,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC;AACzCC,EAAAA,MAAM,EAAExB,mCAAgB,CAACsB,KAAK,CAACC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAEM,IAAME,UAAU,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,MAAM,EAAE;AAAS,CAAC;AAErD,IAAMC,UAAU,GAAG;EACxBC,IAAI,EAAE7B,mCAAgB,CAACsB,KAAK,CAACQ,UAAU,CAAC,CAAC,CAAC;EAC1CC,MAAM,EAAE/B,mCAAgB,CAACsB,KAAK,CAACQ,UAAU,CAAC,CAAC,CAAC;AAC5CE,EAAAA,KAAK,EAAEhC,mCAAgB,CAACsB,KAAK,CAACQ,UAAU,CAAC,CAAC;AAC5C,CAAC;AAEM,IAAMG,gBAAgB,GAC3B,kDAAkD;AAE7C,IAAMC,qBAAqB,GAChC,yDAAyD;AAEpD,IAAMC,cAAc,GAAG,CAC5B;AACEC,EAAAA,GAAG,EAAE,UAAU;AACfC,EAAAA,CAAC,EAAE,MAAM;AACTC,EAAAA,CAAC,EAAE,KAAK;AACRC,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEH,EAAAA,GAAG,EAAE,WAAW;AAChBC,EAAAA,CAAC,EAAE,OAAO;AACVC,EAAAA,CAAC,EAAE,KAAK;AACRC,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEH,EAAAA,GAAG,EAAE,aAAa;AAClBC,EAAAA,CAAC,EAAE,MAAM;AACTC,EAAAA,CAAC,EAAE,QAAQ;AACXC,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEH,EAAAA,GAAG,EAAE,cAAc;AACnBC,EAAAA,CAAC,EAAE,OAAO;AACVC,EAAAA,CAAC,EAAE,QAAQ;AACXC,EAAAA,SAAS,EAAE;AACb,CAAC,CACF;;AAED;AACA;AACO,IAAMC,KAAK,GAAGxC,mCAAgB,CAACyC,KAAK,CAACC,GAAG,CAAC,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAAA,OAAQ;AAC5EA,IAAAA,KAAK,EAALA,KAAK;AACLF,IAAAA,KAAK,EAALA,KAAK;AACLC,IAAAA,KAAK,EAALA;GACD;AAAA,CAAC,CAAC;;AAEH;AACA;AACO,IAAME,sBAAsB,GAAGC,MAAM,CAACC,WAAW,CACtDjD,mCAAgB,CAACyC,KAAK,CAACC,GAAG,CAAC,UAAAQ,KAAA,EAAA;AAAA,EAAA,IAAoBC,cAAc,GAAAD,KAAA,CAA/BE,eAAe;IAAkBN,KAAK,GAAAI,KAAA,CAALJ,KAAK;AAAA,EAAA,OAAO,CACzEA,KAAK,EACLK,cAAc,CACf;AAAA,CAAA,CACH,CAAC;AAEM,IAAME,iBAAiB,GAAGtD,eAAe,CAACuD,KAAK,CAACC,SAAS;AAEzD,IAAMC,yBAAyB,GAAGH,iBAAiB,GAAGnD,aAAa;AAEnE,IAAMuD,gBAAgB,GAAGzD,mCAAgB,CAAC0D,MAAM,CAACH,SAAS;AAE1D,IAAMI,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE7D,eAAe,CAACuD,KAAK,CAACM,IAAI;AAChCC,EAAAA,QAAQ,EAAER,iBAAiB;AAC3BS,EAAAA,KAAK,EAAE/D,eAAe,CAACuD,KAAK,CAACQ,KAAK;AAClCC,EAAAA,IAAI,EAAEhE,eAAe,CAACuD,KAAK,CAACS,IAAI;AAChCC,EAAAA,MAAM,EAAEjE,eAAe,CAACuD,KAAK,CAACU,MAAM;AACpCC,EAAAA,SAAS,EAAElE,eAAe,CAACuD,KAAK,CAACW,SAAS;AAC1CC,EAAAA,KAAK,EAAEnE,eAAe,CAACuD,KAAK,CAACY;AAC/B,CAAC;;AAED;AACO,IAAMC,WAAW,GAAGpE,eAAe,CAACqE,GAAG;AAEvC,IAAMC,OAAO,GAAG;AAAEC,EAAAA,KAAK,EAAE,IAAI;AAAEC,EAAAA,MAAM,EAAE;AAAM,CAAC;AAE9C,IAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE;AACnB,CAAC;;AAED;AACO,IAAMC,aAAa,GAAG,CAC3B;EACExC,GAAG,EAAEoC,iBAAiB,CAACC,SAAS;AAChCI,EAAAA,QAAQ,EAAE,oDAAoD;AAC9DC,EAAAA,IAAI,EAAEC;AACR,CAAC,EACD;EACE3C,GAAG,EAAEoC,iBAAiB,CAACE,aAAa;AACpCG,EAAAA,QAAQ,EAAE,wDAAwD;AAClEC,EAAAA,IAAI,EAAEE;AACR,CAAC,EACD;EACE5C,GAAG,EAAEoC,iBAAiB,CAACG,eAAe;AACtCE,EAAAA,QAAQ,EAAE,0DAA0D;AACpEC,EAAAA,IAAI,EAAEG;AACR,CAAC,CACF;;AC9HM,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAIpC,KAAK,EAAEqC,GAAG,EAAEC,GAAG,EAAA;AAAA,EAAA,OAAKC,IAAI,CAACF,GAAG,CAACE,IAAI,CAACD,GAAG,CAACtC,KAAK,EAAEqC,GAAG,CAAC,EAAEC,GAAG,CAAC;AAAA,CAAA;AAEtE,IAAME,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA3C,IAAA,EAAwC;AAAA,EAAA,IAAlC4C,QAAQ,GAAA5C,IAAA,CAAR4C,QAAQ;IAAEC,QAAQ,GAAA7C,IAAA,CAAR6C,QAAQ;IAAEC,OAAO,GAAA9C,IAAA,CAAP8C,OAAO;EAClE,IAAMC,WAAW,GAAGL,IAAI,CAACD,GAAG,CAACK,OAAO,EAAEF,QAAQ,CAAC;AAC/C,EAAA,IAAI,CAACG,WAAW,EAAE,OAAOF,QAAQ;AAEjC,EAAA,IAAMG,IAAI,GAAGH,QAAQ,GAAGtF,aAAa;AACrC,EAAA,IAAM0F,SAAS,GAAGP,IAAI,CAACF,GAAG,CACxBjF,aAAa,EACbM,UAAU,CAACC,gBAAgB,GAAGiF,WAChC,CAAC;EAED,OAAOE,SAAS,GAAGD,IAAI;AACzB,CAAC;AAEM,IAAME,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAGC,KAAK,EAAI;AACjD,EAAA,IAAI,CAACA,KAAK,IAAIC,MAAM,CAACC,KAAK,CAACF,KAAK,CAAC,EAAE,OAAOnC,aAAa,CAACE,QAAQ;AAEhE,EAAA,OAAOqB,KAAK,CACVG,IAAI,CAACY,KAAK,CAACzC,yBAAyB,GAAGsC,KAAK,CAAC,EAC7CrC,gBAAgB,CAAC0B,GAAG,EACpB1B,gBAAgB,CAAC2B,GACnB,CAAC;AACH,CAAC;AAEM,IAAMc,YAAY,GAAG,SAAfA,YAAYA,CAAGtC,IAAI,EAAA;AAAA,EAAA,IAAAuC,OAAA;AAAA,EAAA,OAC9B,CAAA,CAAAA,OAAA,GAAAC,gBAAM,CAAC;AAAEtD,IAAAA,KAAK,EAAEc;AAAK,GAAC,EAAEpB,KAAK,CAAC,MAAA,IAAA,IAAA2D,OAAA,KAAA,MAAA,GAAA,MAAA,GAA9BA,OAAA,CAAgCtD,KAAK,KAAIL,KAAK,CAAC,CAAC,CAAC,CAACK,KAAK;AAAA,CAAA;;;;ACvBzD,IAAMwD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGnC,KAAK,EAAI;AACjC,EAAA,IAAIA,KAAK,KAAK,QAAQ,EAAE,OAAO,QAAQ;AAEvC,EAAA,IAAIA,KAAK,KAAK,OAAO,EAAE,OAAO,UAAU;AAExC,EAAA,OAAO,YAAY;AACrB,CAAC;AAED,IAAMoC,WAAW,GAAG,SAAdA,WAAWA,CAAA3D,IAAA,EAUX;AAAA,EAAA,IATJ4D,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IACPC,IAAI,GAAA7D,IAAA,CAAJ6D,IAAI;IACJC,UAAU,GAAA9D,IAAA,CAAV8D,UAAU;IACVX,KAAK,GAAAnD,IAAA,CAALmD,KAAK;IACLY,WAAW,GAAA/D,IAAA,CAAX+D,WAAW;IACXC,YAAY,GAAAhE,IAAA,CAAZgE,YAAY;IACZC,YAAY,GAAAjE,IAAA,CAAZiE,YAAY;IACZC,QAAQ,GAAAlE,IAAA,CAARkE,QAAQ;IACRC,QAAQ,GAAAnE,IAAA,CAARmE,QAAQ;AAER,EAAA,IAAMC,OAAO,GAAGC,YAAM,CAAC,IAAI,CAAC;AAC5B,EAAA,IAAMC,aAAa,GAAGD,YAAM,CAAC,IAAI,CAAC;AAClC,EAAA,IAAAE,SAAA,GAAoCC,cAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA3CI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,SAAS,GAAGhB,IAAI,KAAK5F,YAAY,CAACE,OAAO;AAC/C,EAAA,IAAM2G,cAAc,GAAGH,UAAU,GAAAI,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAQnB,OAAO,CAAA,EAAKe,UAAU,CAAA,GAAKf,OAAO;AAE3E,EAAA,IAAMjD,KAAK,GAAG;IACZqE,IAAI,EAAA,EAAA,CAAAC,MAAA,CAAKH,cAAc,CAACpF,CAAC,GAAGqE,WAAW,EAAA,IAAA,CAAI;IAC3CmB,GAAG,EAAA,EAAA,CAAAD,MAAA,CAAKH,cAAc,CAACnF,CAAC,GAAGqE,YAAY,EAAA,IAAA,CAAI;IAC3CrC,KAAK,EAAA,EAAA,CAAAsD,MAAA,CAAKH,cAAc,CAACnD,KAAK,GAAGoC,WAAW,EAAA,IAAA,CAAI;AAChDnC,IAAAA,MAAM,KAAAqD,MAAA,CAAKH,cAAc,CAAClD,MAAM,GAAGoC,YAAY,EAAA,IAAA;GAChD;EAED,IAAMmB,aAAa,GAAGrB,UAAU,GAC5B;AACEsB,IAAAA,WAAW,EAAE9F,gBAAgB;AAC7B+F,IAAAA,eAAe,EAAE9F;GAClB,GACD,EAAE;AAEN,EAAA,IAAM+F,SAAS,GAAG;AAChBC,IAAAA,UAAU,EAAEhC,YAAY,CAACuB,cAAc,CAAC7D,IAAI,CAAC;IAC7CC,QAAQ,EAAA,EAAA,CAAA+D,MAAA,CAAKH,cAAc,CAAC5D,QAAQ,GAAGiC,KAAK,EAAA,IAAA,CAAI;IAChDhC,KAAK,EAAE2D,cAAc,CAAC3D,KAAK;AAC3BqE,IAAAA,UAAU,EAAEV,cAAc,CAAC1D,IAAI,GAAG,GAAG,GAAG,GAAG;AAC3CqE,IAAAA,SAAS,EAAEX,cAAc,CAACzD,MAAM,GAAG,QAAQ,GAAG,QAAQ;AACtDqE,IAAAA,cAAc,EAAEZ,cAAc,CAACxD,SAAS,GAAG,WAAW,GAAG,MAAM;IAC/DqE,SAAS,EAAEb,cAAc,CAACvD,KAAK;AAC/BqE,IAAAA,cAAc,EAAElC,iBAAiB,CAACoB,cAAc,CAACvD,KAAK;GACvD;AAED,EAAA,IAAMsE,cAAc,GAAG,SAAjBA,cAAcA,CAAAtF,KAAA,EAAiC;AAAA,IAAA,IAA3BuF,IAAI,GAAAvF,KAAA,CAAJuF,IAAI;MAAEC,MAAM,GAAAxF,KAAA,CAANwF,MAAM;MAAEC,MAAM,GAAAzF,KAAA,CAANyF,MAAM;IAC5C,IAAMC,KAAK,GAAG,EAAE;IAChB,IAAMC,WAAW,GAAGJ,IAAI,CAACK,OAAO,GAAGL,IAAI,CAACM,WAAW;IACnD,IAAMC,YAAY,GAAGP,IAAI,CAACQ,OAAO,GAAGR,IAAI,CAACS,YAAY;AAErD,IAAA,IAAIT,IAAI,CAACU,MAAM,CAAC9G,CAAC,KAAK,MAAM,EAAE;AAC5B,MAAA,IAAMA,CAAC,GAAG6C,KAAK,CAACuD,IAAI,CAACK,OAAO,GAAGJ,MAAM,EAAE,CAAC,EAAEG,WAAW,GAAGxE,OAAO,CAACC,KAAK,CAAC;MACtEsE,KAAK,CAACvG,CAAC,GAAGA,CAAC;AACXuG,MAAAA,KAAK,CAACtE,KAAK,GAAGuE,WAAW,GAAGxG,CAAC;AAC/B,IAAA,CAAC,MAAM;MACLuG,KAAK,CAACtE,KAAK,GAAGY,KAAK,CACjBuD,IAAI,CAACM,WAAW,GAAGL,MAAM,EACzBrE,OAAO,CAACC,KAAK,EACb,CAAC,GAAGmE,IAAI,CAACK,OACX,CAAC;AACH,IAAA;AAEA,IAAA,IAAIL,IAAI,CAACU,MAAM,CAAC7G,CAAC,KAAK,KAAK,EAAE;AAC3B,MAAA,IAAMA,CAAC,GAAG4C,KAAK,CAACuD,IAAI,CAACQ,OAAO,GAAGN,MAAM,EAAE,CAAC,EAAEK,YAAY,GAAG3E,OAAO,CAACE,MAAM,CAAC;MACxEqE,KAAK,CAACtG,CAAC,GAAGA,CAAC;AACXsG,MAAAA,KAAK,CAACrE,MAAM,GAAGyE,YAAY,GAAG1G,CAAC;AACjC,IAAA,CAAC,MAAM;MACLsG,KAAK,CAACrE,MAAM,GAAGW,KAAK,CAClBuD,IAAI,CAACS,YAAY,GAAGP,MAAM,EAC1BtE,OAAO,CAACE,MAAM,EACd,CAAC,GAAGkE,IAAI,CAACQ,OACX,CAAC;AACH,IAAA;AAEA,IAAA,OAAOL,KAAK;EACd,CAAC;AAED,EAAA,IAAMQ,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,KAAK,EAAI;AACjC,IAAA,IAAMZ,IAAI,GAAG1B,OAAO,CAACuC,OAAO;IAC5B,IAAI,CAACb,IAAI,EAAE;IAEX,IAAMC,MAAM,GAAG,CAACW,KAAK,CAACE,OAAO,GAAGd,IAAI,CAACe,MAAM,IAAI9C,WAAW;IAC1D,IAAMiC,MAAM,GAAG,CAACU,KAAK,CAACI,OAAO,GAAGhB,IAAI,CAACiB,MAAM,IAAI/C,YAAY;IAE3D,IAAMiC,KAAK,GACTH,IAAI,CAACkB,IAAI,KAAKlI,UAAU,CAACC,IAAI,GACzB;AACEW,MAAAA,CAAC,EAAE6C,KAAK,CAACuD,IAAI,CAACK,OAAO,GAAGJ,MAAM,EAAE,CAAC,EAAE,CAAC,GAAGnC,OAAO,CAACjC,KAAK,CAAC;AACrDhC,MAAAA,CAAC,EAAE4C,KAAK,CAACuD,IAAI,CAACQ,OAAO,GAAGN,MAAM,EAAE,CAAC,EAAE,CAAC,GAAGpC,OAAO,CAAChC,MAAM;KACtD,GACDiE,cAAc,CAAC;AAAEC,MAAAA,IAAI,EAAJA,IAAI;AAAEC,MAAAA,MAAM,EAANA,MAAM;AAAEC,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;IAE9C1B,aAAa,CAACqC,OAAO,GAAGV,KAAK;IAC7BrB,aAAa,CAACqB,KAAK,CAAC;EACtB,CAAC;EAED,IAAMgB,SAAS,GAAG,SAAZA,SAASA,CAAIP,KAAK,EAAEM,IAAI,EAAoB;AAAA,IAAA,IAAlBR,MAAM,GAAAU,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AAC3C,IAAA,IAAIrC,SAAS,EAAE;IACf6B,KAAK,CAACW,eAAe,EAAE;IACvBX,KAAK,CAACY,cAAc,EAAE;AACtBpD,IAAAA,QAAQ,CAACN,OAAO,CAAC2D,EAAE,CAAC;IACpBb,KAAK,CAACc,aAAa,CAACC,iBAAiB,CAACf,KAAK,CAACgB,SAAS,CAAC;IACtDtD,OAAO,CAACuC,OAAO,GAAG;AAChBK,MAAAA,IAAI,EAAJA,IAAI;AACJR,MAAAA,MAAM,EAANA,MAAM;MACNK,MAAM,EAAEH,KAAK,CAACE,OAAO;MACrBG,MAAM,EAAEL,KAAK,CAACI,OAAO;MACrBX,OAAO,EAAEvC,OAAO,CAAClE,CAAC;MAClB4G,OAAO,EAAE1C,OAAO,CAACjE,CAAC;MAClByG,WAAW,EAAExC,OAAO,CAACjC,KAAK;MAC1B4E,YAAY,EAAE3C,OAAO,CAAChC;KACvB;IACD0C,aAAa,CAACqC,OAAO,GAAG,IAAI;IAC5B/B,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC;AAED,EAAA,IAAM+C,OAAO,GAAG,SAAVA,OAAOA,CAAGjB,KAAK,EAAI;IAAA,IAAAkB,qBAAA,EAAAC,oBAAA;AACvB,IAAA,IAAI,CAACzD,OAAO,CAACuC,OAAO,EAAE;IACtB,CAAAiB,qBAAA,IAAAC,oBAAA,GAAAnB,KAAK,CAACc,aAAa,EAACM,qBAAqB,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,IAAzCA,qBAAA,CAAAG,IAAA,CAAAF,oBAAA,EAA4CnB,KAAK,CAACgB,SAAS,CAAC;IAC5DtD,OAAO,CAACuC,OAAO,GAAG,IAAI;AACtB,IAAA,IAAIrC,aAAa,CAACqC,OAAO,EAAExC,QAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAEjD,aAAa,CAACqC,OAAO,CAAC;IACtErC,aAAa,CAACqC,OAAO,GAAG,IAAI;IAC5B/B,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC;AAED,EAAA,IAAMoD,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGxB,MAAM,EAAA;AAAA,IAAA,oBAC/ByB,cAAA,CAAA,MAAA,EAAA;AAEEtH,MAAAA,KAAK,EAAE;AAAE0E,QAAAA,eAAe,EAAE/F;OAAmB;MAC7CM,SAAS,EAAEsI,UAAU,CACnB,0DAA0D,EAC1D1B,MAAM,CAAC5G,SACT,CAAE;AACFuI,MAAAA,eAAe,EAAER,OAAQ;AACzBS,MAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAE1B,KAAK,EAAA;QAAA,OAAIO,SAAS,CAACP,KAAK,EAAE5H,UAAU,CAACE,MAAM,EAAEwH,MAAM,CAAC;MAAA,CAAC;AACpE6B,MAAAA,aAAa,EAAE5B,iBAAkB;AACjC6B,MAAAA,WAAW,EAAEX;KAAQ,EAThBnB,MAAM,CAAC/G,GAUb,CAAC;EAAA,CACH;AAED,EAAA,IAAIoF,SAAS,EAAE;AACb,IAAA,oBACEoD,cAAA,CAAA,KAAA,EAAA;AACQtH,MAAAA,KAAK,EAALA,KAAK;AACXf,MAAAA,SAAS,EAAC,gDAAgD;AAAA2I,MAAAA,QAAA,eAE1DN,cAAA,CAAA,MAAA,EAAA;AACErI,QAAAA,SAAS,EAAC,0DAA0D;AACpEe,QAAAA,KAAK,EAAE2E,SAAU;AAAAiD,QAAAA,QAAA,EAEhBtE;OACG;AAAC,KACJ,CAAC;AAEV,EAAA;AAEA,EAAA,oBACEuE,eAAA,CAAA,KAAA,EAAA;IACE7H,KAAK,EAAAoE,eAAA,CAAAA,eAAA,KAAOpE,KAAK,CAAA,EAAKwE,aAAa,CAAG;AACtCvF,IAAAA,SAAS,EAAEsI,UAAU,CACnB,wFAAwF,EACxF;AACE,MAAA,MAAM,EAAEpE,UAAU;AAClB,MAAA,yDAAyD,EACvD,CAACA;AACL,KACF,CAAE;AACFqE,IAAAA,eAAe,EAAER,OAAQ;AACzBS,IAAAA,aAAa,EAAE,SAAfA,aAAaA,CAAE1B,KAAK,EAAA;AAAA,MAAA,OAAIO,SAAS,CAACP,KAAK,EAAE5H,UAAU,CAACC,IAAI,CAAC;IAAA,CAAC;AAC1DsJ,IAAAA,aAAa,EAAE5B,iBAAkB;AACjC6B,IAAAA,WAAW,EAAEX,OAAQ;AAAAY,IAAAA,QAAA,gBAErBN,cAAA,CAAA,MAAA,EAAA;AACErI,MAAAA,SAAS,EAAC,mEAAmE;AAC7Ee,MAAAA,KAAK,EAAE2E,SAAU;AAAAiD,MAAAA,QAAA,eAEjBN,cAAA,CAAA,MAAA,EAAA;AAAMrI,QAAAA,SAAS,EAAC,UAAU;QAAA2I,QAAA,EAAEzD,cAAc,CAAC7E;OAAY;KACnD,CAAC,EACN6D,UAAU,IAAItE,cAAc,CAACO,GAAG,CAACiI,kBAAkB,CAAC;AAAA,GAClD,CAAC;AAEV,CAAC;;AClMD,IAAMS,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,QAAQ,EAAI;AACtC,EAAA,IAAMC,GAAG,GAAGC,MAAM,CAACC,gBAAgB,IAAI,CAAC;EACxC,IAAMC,UAAU,GAAGjL,UAAU,CAACE,eAAe,GAAG2K,QAAQ,CAAC/G,KAAK;EAC9D,IAAMoH,WAAW,GAAGlL,UAAU,CAACE,eAAe,GAAG2K,QAAQ,CAAC9G,MAAM;AAChE,EAAA,IAAMoH,UAAU,GAAGtG,IAAI,CAACuG,IAAI,CAC1BpL,UAAU,CAACG,iBAAiB,IAAI0K,QAAQ,CAAC/G,KAAK,GAAG+G,QAAQ,CAAC9G,MAAM,CAClE,CAAC;EAED,OAAOc,IAAI,CAACF,GAAG,CAACmG,GAAG,EAAEG,UAAU,EAAEC,WAAW,EAAEC,UAAU,CAAC;AAC3D,CAAC;AAED,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAAlJ,IAAA,EAWP;AAAA,EAAA,IAVJmJ,cAAc,GAAAnJ,IAAA,CAAdmJ,cAAc;IACPtG,QAAQ,GAAA7C,IAAA,CAAfmD,KAAK;IACLiG,QAAQ,GAAApJ,IAAA,CAARoJ,QAAQ;IACRC,UAAU,GAAArJ,IAAA,CAAVqJ,UAAU;IACVxF,IAAI,GAAA7D,IAAA,CAAJ6D,IAAI;IACJyF,YAAY,GAAAtJ,IAAA,CAAZsJ,YAAY;IACZpF,QAAQ,GAAAlE,IAAA,CAARkE,QAAQ;IACRC,QAAQ,GAAAnE,IAAA,CAARmE,QAAQ;IACRoF,WAAW,GAAAvJ,IAAA,CAAXuJ,WAAW;IACXC,aAAa,GAAAxJ,IAAA,CAAbwJ,aAAa;AAEb,EAAA,IAAQC,IAAI,GAAoCN,cAAc,CAAtDM,IAAI;IAAEC,UAAU,GAAwBP,cAAc,CAAhDO,UAAU;IAAE5G,OAAO,GAAeqG,cAAc,CAApCrG,OAAO;IAAEF,QAAQ,GAAKuG,cAAc,CAA3BvG,QAAQ;AAC3C,EAAA,IAAM+G,SAAS,GAAGtF,YAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAMuF,UAAU,GAAGvF,YAAM,CAAC,IAAI,CAAC;EAC/B,IAAMlB,KAAK,GAAG0G,aAAO,CACnB,YAAA;AAAA,IAAA,OAAMlH,sBAAsB,CAAC;AAAEC,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;AAAA,EAAA,CAAA,EAC7D,CAACF,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,CAC9B,CAAC;EAED,IAAMgH,mBAAmB,GAAGD,aAAO,CACjC,YAAA;AAAA,IAAA,OACElH,sBAAsB,CAAC;AACrBC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,QAAQ,EAAEtF,aAAa;AACvBuF,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;AAAA,EAAA,CAAA,EACJ,CAACF,QAAQ,EAAEE,OAAO,CACpB,CAAC;EACD,IAAM4F,QAAQ,GAAGmB,aAAO,CAAC,YAAA;IAAA,OAAMJ,IAAI,CAACM,WAAW,CAAC;AAAE5G,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC;AAAA,EAAA,CAAA,EAAE,CAACsG,IAAI,EAAEtG,KAAK,CAAC,CAAC;AAC1E,EAAA,IAAMY,WAAW,GAAG2E,QAAQ,CAAC/G,KAAK;AAClC,EAAA,IAAMqC,YAAY,GAAG0E,QAAQ,CAAC9G,MAAM;AAEpCoI,EAAAA,eAAS,CAAC,YAAM;AACdR,IAAAA,aAAa,CAACE,UAAU,EAAEI,mBAAmB,CAAC;EAChD,CAAC,EAAE,CAACA,mBAAmB,EAAEN,aAAa,EAAEE,UAAU,CAAC,CAAC;AAEpDM,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAMC,MAAM,GAAGN,SAAS,CAAChD,OAAO;AAChC,IAAA,IAAI,CAACsD,MAAM,EAAE,OAAO7C,SAAS;AAE7B,IAAA,IAAM8C,gBAAgB,GAAGzB,mBAAmB,CAACC,QAAQ,CAAC;AACtDuB,IAAAA,MAAM,CAACtI,KAAK,GAAGe,IAAI,CAACyH,KAAK,CAACzB,QAAQ,CAAC/G,KAAK,GAAGuI,gBAAgB,CAAC;AAC5DD,IAAAA,MAAM,CAACrI,MAAM,GAAGc,IAAI,CAACyH,KAAK,CAACzB,QAAQ,CAAC9G,MAAM,GAAGsI,gBAAgB,CAAC;IAC9DD,MAAM,CAACtJ,KAAK,CAACgB,KAAK,GAAA,EAAA,CAAAsD,MAAA,CAAMyD,QAAQ,CAAC/G,KAAK,EAAA,IAAA,CAAI;IAC1CsI,MAAM,CAACtJ,KAAK,CAACiB,MAAM,GAAA,EAAA,CAAAqD,MAAA,CAAMyD,QAAQ,CAAC9G,MAAM,EAAA,IAAA,CAAI;AAE5C,IAAA,IAAMwI,UAAU,GAAGX,IAAI,CAACY,MAAM,CAAC;AAC7BC,MAAAA,aAAa,EAAEL,MAAM,CAACM,UAAU,CAAC,IAAI,CAAC;AACtC7B,MAAAA,QAAQ,EAARA,QAAQ;AACR8B,MAAAA,SAAS,EACPN,gBAAgB,KAAK,CAAC,GAClB,CAACA,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAEA,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,GAChD9C;AACR,KAAC,CAAC;AAEF,IAAA,IAAMiD,MAAM,gBAAA,YAAA;MAAA,IAAA9J,KAAA,GAAAkK,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,QAAA,OAAAF,mBAAA,CAAAG,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;AAAAD,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;cAAA,OAELb,UAAU,CAACc,OAAO;AAAA,YAAA,KAAA,CAAA;AAAAH,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;cAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAAA,YAAA,KAAA,KAAA;cAAA,OAAAA,QAAA,CAAAK,IAAA,EAAA;AAAA;AAAA,QAAA,CAAA,EAAAR,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;MAAA,CAI3B,CAAA,CAAA;AAAA,MAAA,OAAA,SANKP,MAAMA,GAAA;AAAA,QAAA,OAAA9J,KAAA,CAAA8K,KAAA,CAAA,IAAA,EAAAnE,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAMX;AACDmD,IAAAA,MAAM,EAAE;IAER,OAAO,YAAA;AAAA,MAAA,OAAMD,UAAU,CAACkB,MAAM,EAAE;AAAA,IAAA,CAAA;EAClC,CAAC,EAAE,CAAC7B,IAAI,EAAEtG,KAAK,EAAEuF,QAAQ,CAAC,CAAC;AAE3B,EAAA,IAAM6C,UAAU,GAAG,SAAbA,UAAUA,CAAG7E,KAAK,EAAI;IAC1BA,KAAK,CAACY,cAAc,EAAE;IACtB,IAAMkE,IAAI,GAAG5B,UAAU,CAACjD,OAAO,CAAC8E,qBAAqB,EAAE;IACvD,IAAMC,KAAK,GAAGnJ,KAAK,CAAC,CAACmE,KAAK,CAACE,OAAO,GAAG4E,IAAI,CAACxG,IAAI,IAAIwG,IAAI,CAAC7J,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACnE,IAAMgK,KAAK,GAAGpJ,KAAK,CAAC,CAACmE,KAAK,CAACI,OAAO,GAAG0E,IAAI,CAACtG,GAAG,IAAIsG,IAAI,CAAC5J,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACnE2H,IAAAA,WAAW,CAAC;AAAEG,MAAAA,UAAU,EAAVA,UAAU;AAAEvG,MAAAA,KAAK,EAAE2G,mBAAmB;AAAEpK,MAAAA,CAAC,EAAEgM,KAAK;AAAE/L,MAAAA,CAAC,EAAEgM;AAAM,KAAC,CAAC;EAC7E,CAAC;AAED,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGlF,KAAK,EAAI;IAC9BA,KAAK,CAACY,cAAc,EAAE;AACtBZ,IAAAA,KAAK,CAACmF,YAAY,CAACC,UAAU,GAAG,MAAM;EACxC,CAAC;AAED,EAAA,oBACEtD,eAAA,CAAA,KAAA,EAAA;AACE5I,IAAAA,SAAS,EAAC,kCAAkC;AAC5Ce,IAAAA,KAAK,EAAE;AAAEgB,MAAAA,KAAK,EAAA,EAAA,CAAAsD,MAAA,CAAKlB,WAAW,EAAA,IAAA,CAAI;MAAEnC,MAAM,EAAA,EAAA,CAAAqD,MAAA,CAAKjB,YAAY,EAAA,IAAA;KAAO;AAAAuE,IAAAA,QAAA,gBAElEN,cAAA,CAAA,QAAA,EAAA;AAAQ8D,MAAAA,GAAG,EAAEpC;KAAY,CAAC,eAC1B1B,cAAA,CAAA,KAAA,EAAA;AACErI,MAAAA,SAAS,EAAC,kBAAkB;AAC5BmM,MAAAA,GAAG,EAAEnC,UAAW;AAChBoC,MAAAA,UAAU,EAAEJ,cAAe;AAC3BK,MAAAA,MAAM,EAAEV,UAAW;MACnBnD,aAAa,EAAE,SAAfA,aAAaA,GAAA;QAAA,OAAQlE,QAAQ,CAAC,IAAI,CAAC;MAAA,CAAC;AAAAqE,MAAAA,QAAA,EAEnCa,QAAQ,CAACrJ,GAAG,CAAC,UAAA6D,OAAO,EAAA;QAAA,oBACnBsI,mBAAA,CAACvI,WAAW,EAAA;AAERC,UAAAA,OAAO,EAAPA,OAAO;AACPC,UAAAA,IAAI,EAAJA,IAAI;AACJM,UAAAA,QAAQ,EAARA,QAAQ;AACRD,UAAAA,QAAQ,EAARA,QAAQ;AACRF,UAAAA,YAAY,EAAZA,YAAY;AACZD,UAAAA,WAAW,EAAXA,WAAW;AACXZ,UAAAA,KAAK,EAALA,KAAK;AAEPW,UAAAA,UAAU,EAAEF,OAAO,CAAC2D,EAAE,KAAK8B,UAAW;UACtC5J,GAAG,EAAEmE,OAAO,CAAC2D,EAAG;UAChBtD,YAAY,EACVJ,IAAI,KAAK5F,YAAY,CAACE,OAAO,GAAGmL,YAAY,CAAC1F,OAAO,CAAC,GAAG;AACzD,SACF,CAAC;MAAA,CACH;AAAC,KACC,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AC/HD;AACA;AACA;AACAuI,mBAAQ,CAACC,mBAAmB,CAACC,SAAS,GAAG,oBAAoB;;AAE7D;AACA;AACA;AACA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,GAAG,EAAI;AAC5B,EAAA,IAAAhI,SAAA,GAA0BC,cAAQ,CAACpG,sBAAsB,CAAC;IAAAqG,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAnDiI,IAAAA,KAAK,GAAA/H,UAAA,CAAA,CAAA,CAAA;AAAEgI,IAAAA,QAAQ,GAAAhI,UAAA,CAAA,CAAA,CAAA;AAEtBuF,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI,CAACuC,GAAG,EAAE,OAAOnF,SAAS;IAE1B,IAAIsF,WAAW,GAAG,KAAK;AACvB,IAAA,IAAIC,GAAG;IACPF,QAAQ,CAACrO,sBAAsB,CAAC;AAEhC,IAAA,IAAMwO,WAAW,GAAGT,mBAAQ,CAACU,WAAW,CAAC;AAAEN,MAAAA,GAAG,EAAHA;AAAI,KAAC,CAAC;AAEjD,IAAA,IAAMO,SAAS,gBAAA,YAAA;MAAA,IAAA9M,IAAA,GAAAyK,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,QAAA,IAAAvM,KAAA,EAAAqL,UAAA,EAAAD,IAAA,EAAAf,QAAA;AAAA,QAAA,OAAAgC,mBAAA,CAAAG,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;AAAAD,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;cAAA,OAEF2B,WAAW,CAAC1B,OAAO;AAAA,YAAA,KAAA,CAAA;cAA/ByB,GAAG,GAAA5B,QAAA,CAAAgC,IAAA;AACG1O,cAAAA,KAAK,GAAG,EAAE;AAEPqL,cAAAA,UAAU,GAAG,CAAC;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAAA,EAAEA,UAAU,IAAIiD,GAAG,CAACK,QAAQ,CAAA,EAAA;AAAAjC,gBAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,gBAAA;AAAA,cAAA;AAAAF,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA,OAC9B0B,GAAG,CAACM,OAAO,CAACvD,UAAU,CAAC;AAAA,YAAA,KAAA,CAAA;cAApCD,IAAI,GAAAsB,QAAA,CAAAgC,IAAA;AACJrE,cAAAA,QAAQ,GAAGe,IAAI,CAACM,WAAW,CAAC;AAAE5G,gBAAAA,KAAK,EAAE;AAAE,eAAC,CAAC;cAC/C9E,KAAK,CAAC6O,IAAI,CAAC;AACTxD,gBAAAA,UAAU,EAAVA,UAAU;AACVD,gBAAAA,IAAI,EAAJA,IAAI;gBACJ3G,OAAO,EAAE4F,QAAQ,CAAC/G,KAAK;gBACvBiB,QAAQ,EAAE8F,QAAQ,CAAC9G;AACrB,eAAC,CAAC;AAAC,YAAA,KAAA,EAAA;AARgD8H,cAAAA,UAAU,IAAI,CAAC;AAAAqB,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,EAAA;AAWpE,cAAA,IAAI,CAACyB,WAAW,EAAED,QAAQ,CAAC;AAAEpO,gBAAAA,KAAK,EAALA,KAAK;AAAEC,gBAAAA,SAAS,EAAE,KAAK;AAAEC,gBAAAA,KAAK,EAAE;AAAK,eAAC,CAAC;AAACwM,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,cAAA;AAAA,YAAA,KAAA,EAAA;AAAAF,cAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;cAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAErE,cAAA,IAAI,CAAC2B,WAAW,EAAED,QAAQ,CAAC;AAAEpO,gBAAAA,KAAK,EAAE,EAAE;AAAEC,gBAAAA,SAAS,EAAE,KAAK;gBAAEC,KAAK,EAAAwM,QAAA,CAAAI;AAAC,eAAC,CAAC;AAAC,YAAA,KAAA,EAAA;AAAA,YAAA,KAAA,KAAA;cAAA,OAAAJ,QAAA,CAAAK,IAAA,EAAA;AAAA;AAAA,QAAA,CAAA,EAAAR,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;MAAA,CAEtE,CAAA,CAAA;AAAA,MAAA,OAAA,SApBKkC,SAASA,GAAA;AAAA,QAAA,OAAA9M,IAAA,CAAAqL,KAAA,CAAA,IAAA,EAAAnE,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAoBd;AAED4F,IAAAA,SAAS,EAAE;AAEX,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAK,oBAAA,EAAAC,IAAA,EAAAC,YAAA;AACXX,MAAAA,WAAW,GAAG,IAAI;AAClB,MAAA,CAAAS,oBAAA,GAAAP,WAAW,CAACU,OAAO,MAAA,IAAA,IAAAH,oBAAA,KAAA,MAAA,IAAnBA,oBAAA,CAAApF,IAAA,CAAA6E,WAAsB,CAAC;AACvB,MAAA,CAAAQ,IAAA,GAAAT,GAAG,cAAAS,IAAA,KAAA,MAAA,IAAA,CAAAC,YAAA,GAAHD,IAAA,CAAKE,OAAO,MAAA,IAAA,IAAAD,YAAA,KAAA,MAAA,IAAZA,YAAA,CAAAtF,IAAA,CAAAqF,IAAe,CAAC;IAClB,CAAC;AACH,EAAA,CAAC,EAAE,CAACb,GAAG,CAAC,CAAC;AAET,EAAA,OAAOC,KAAK;AACd,CAAC;;AChDD,IAAMe,MAAM,GAAG,SAATA,MAAMA,CAAAvN,IAAA,EAWN;AAAA,EAAA,IAVJwN,WAAW,GAAAxN,IAAA,CAAXwN,WAAW;IACXxK,IAAI,GAAAhD,IAAA,CAAJgD,IAAI;IACJoG,QAAQ,GAAApJ,IAAA,CAARoJ,QAAQ;IACRC,UAAU,GAAArJ,IAAA,CAAVqJ,UAAU;IACVxF,IAAI,GAAA7D,IAAA,CAAJ6D,IAAI;IACJyF,YAAY,GAAAtJ,IAAA,CAAZsJ,YAAY;IACZpF,QAAQ,GAAAlE,IAAA,CAARkE,QAAQ;IACRC,QAAQ,GAAAnE,IAAA,CAARmE,QAAQ;IACRoF,WAAW,GAAAvJ,IAAA,CAAXuJ,WAAW;IACXkE,iBAAiB,GAAAzN,IAAA,CAAjByN,iBAAiB;AAEjB,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAC,eAAA,GAAoCvB,cAAc,CAACkB,WAAW,CAAC;IAAvDnP,KAAK,GAAAwP,eAAA,CAALxP,KAAK;IAAEC,SAAS,GAAAuP,eAAA,CAATvP,SAAS;IAAEC,KAAK,GAAAsP,eAAA,CAALtP,KAAK;AAE/B,EAAA,IAAM4E,KAAK,GAAG5F,aAAa,GAAGyF,IAAI;EAClC,IAAM8K,cAAc,GAAGjE,aAAO,CAC5B,YAAA;IAAA,OACET,QAAQ,CAAC2E,MAAM,CAAC,UAACC,eAAe,EAAEpK,OAAO,EAAK;MAC5C,IAAMqK,YAAY,GAAGD,eAAe,CAACE,GAAG,CAACtK,OAAO,CAAC6F,IAAI,CAAC,IAAI,EAAE;AAC5DwE,MAAAA,YAAY,CAACf,IAAI,CAACtJ,OAAO,CAAC;MAC1BoK,eAAe,CAACG,GAAG,CAACvK,OAAO,CAAC6F,IAAI,EAAEwE,YAAY,CAAC;AAE/C,MAAA,OAAOD,eAAe;AACxB,IAAA,CAAC,EAAE,IAAII,GAAG,EAAE,CAAC;EAAA,CAAA,EACf,CAAChF,QAAQ,CACX,CAAC;AAED,EAAA,IAAI9K,SAAS,EAAE;AACb,IAAA,oBACE2J,cAAA,CAAA,KAAA,EAAA;AAAKrI,MAAAA,SAAS,EAAC,gDAAgD;AAAA2I,MAAAA,QAAA,eAC7DN,cAAA,CAACoG,kBAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;AAEA,EAAA,IAAI9P,KAAK,IAAI,CAACiP,WAAW,EAAE;AACzB,IAAA,oBACEvF,cAAA,CAAA,KAAA,EAAA;AAAKrI,MAAAA,SAAS,EAAC,oDAAoD;MAAA2I,QAAA,eACjEN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,QAAAA,SAAS,EAAC,uBAAuB;AAAC2O,QAAAA,OAAO,EAAC,OAAO;QAAAhG,QAAA,EAC1DqF,CAAC,CAAC,0CAA0C;OACnC;AAAC,KACV,CAAC;AAEV,EAAA;AAEA,EAAA,oBACE3F,cAAA,CAAA,KAAA,EAAA;AAAKrI,IAAAA,SAAS,EAAC,yCAAyC;AAAA2I,IAAAA,QAAA,eACtDN,cAAA,CAAA,KAAA,EAAA;AAAKrI,MAAAA,SAAS,EAAC,kEAAkE;AAAA2I,MAAAA,QAAA,EAC9ElK,KAAK,CAAC0B,GAAG,CAAC,UAAAoJ,cAAc,EAAA;QAAA,oBACvB+C,mBAAA,CAAChD,OAAO,EAAA;AAEJrF,UAAAA,IAAI,EAAJA,IAAI;AACJM,UAAAA,QAAQ,EAARA,QAAQ;AACRoF,UAAAA,WAAW,EAAXA,WAAW;AAEXrF,UAAAA,QAAQ,EAARA,QAAQ;AACRiF,UAAAA,cAAc,EAAdA,cAAc;AACdG,UAAAA,YAAY,EAAZA,YAAY;AACZnG,UAAAA,KAAK,EAALA,KAAK;AACLkG,UAAAA,UAAU,EAAVA,UAAU;UAEZ5J,GAAG,EAAE0J,cAAc,CAACO,UAAW;UAC/BN,QAAQ,EACN0E,cAAc,CAACI,GAAG,CAAC/E,cAAc,CAACO,UAAU,CAAC,IAAIlL,cAClD;AACDgL,UAAAA,aAAa,EAAEiE;AAAkB,SAClC,CAAC;MAAA,CACH;KACE;AAAC,GACH,CAAC;AAEV,CAAC;;;;;ACrED,IAAMe,YAAY,GAAG,SAAfA,YAAYA,CAAAxO,IAAA,EAAA;AAAA,EAAA,IAAMyO,QAAQ,GAAAzO,IAAA,CAARyO,QAAQ;IAAEC,OAAO,GAAA1O,IAAA,CAAP0O,OAAO;IAAE9O,SAAS,GAAAI,IAAA,CAATJ,SAAS;IAAE2I,QAAQ,GAAAvI,IAAA,CAARuI,QAAQ;AAAKoG,IAAAA,IAAI,GAAAC,wBAAA,CAAA5O,IAAA,EAAA6O,SAAA,CAAA;AAAA,EAAA,oBACrE5G,cAAA,CAAA,QAAA,EAAAlD,eAAA,CAAAA,eAAA,CAAA;AACQ2J,IAAAA,OAAO,EAAPA,OAAO;AACbI,IAAAA,IAAI,EAAC,QAAQ;AACblP,IAAAA,SAAS,EAAEsI,UAAU,CACnB,wGAAwG,EACxGtI,SAAS,EACT;AACE,MAAA,+BAA+B,EAAE6O,QAAQ;AACzC,MAAA,8CAA8C,EAAE,CAACA;KAErD;AAAE,GAAA,EACEE,IAAI,CAAA,EAAA,EAAA,EAAA;AAAApG,IAAAA,QAAA,EAEPA;AAAQ,GAAA,CACH,CAAC;AAAA,CACV;AAED,IAAMwG,UAAU,GAAGC,gBAAK,CAAC,UAAAzO,KAAA,EAAA;AAAA,EAAA,IAAGqN,CAAC,GAAArN,KAAA,CAADqN,CAAC;AAAA,EAAA,oBAC3BpF,eAAA,CAAA,KAAA,EAAA;AAAK5I,IAAAA,SAAS,EAAC,wEAAwE;IAAA2I,QAAA,EAAA,cACrFN,cAAA,CAACgH,MAAM,EAAA;AAACrP,MAAAA,SAAS,EAAC,uBAAuB;AAACsP,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC,eACtDjH,cAAA,CAACqG,qBAAU,EAAA;AAACC,MAAAA,OAAO,EAAC,OAAO;AAACY,MAAAA,MAAM,EAAC,QAAQ;MAAA5G,QAAA,EACxCqF,CAAC,CAAC,+CAA+C;AAAC,KACzC,CAAC,eACb3F,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,MAAAA,SAAS,EAAC,uBAAuB;AAAC2O,MAAAA,OAAO,EAAC,OAAO;MAAAhG,QAAA,EAC1DqF,CAAC,CAAC,qDAAqD;AAAC,KAC/C,CAAC;AAAA,GACV,CAAC;AAAA,CACP,CAAC;AAEF,IAAMwB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMpP,KAAK,GAAAoP,KAAA,CAALpP,KAAK;IAAEC,KAAK,GAAAmP,KAAA,CAALnP,KAAK;AAAA,EAAA,oBAC3C+H,cAAA,CAAA,MAAA,EAAA;AAAMtH,IAAAA,KAAK,EAAE;AAAE4E,MAAAA,UAAU,EAAErF;KAAQ;AAAAqI,IAAAA,QAAA,EAAEtI;AAAK,GAAO,CAAC;AAAA,CACnD;AAED,IAAMqP,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGnP,KAAK,EAAI;AAChC,EAAA,IAAMe,QAAQ,GAAGkC,MAAM,CAACjD,KAAK,CAAC;EAE9B,IAAIiD,MAAM,CAACC,KAAK,CAACnC,QAAQ,CAAC,EAAE,OAAOJ,gBAAgB,CAAC0B,GAAG;AAEvD,EAAA,OAAOE,IAAI,CAACF,GAAG,CACbE,IAAI,CAACD,GAAG,CAACvB,QAAQ,EAAEJ,gBAAgB,CAAC0B,GAAG,CAAC,EACxC1B,gBAAgB,CAAC2B,GACnB,CAAC;AACH,CAAC;AAED,IAAM8M,UAAU,GAAGP,gBAAK,CAAC,UAAAQ,KAAA,EAAA;AAAA,EAAA,IAAG5B,CAAC,GAAA4B,KAAA,CAAD5B,CAAC;IAAEhK,OAAO,GAAA4L,KAAA,CAAP5L,OAAO;IAAEO,SAAQ,GAAAqL,KAAA,CAARrL,QAAQ;IAAEsL,QAAQ,GAAAD,KAAA,CAARC,QAAQ;EAAA,OACxD7L,OAAO,gBACL4E,eAAA,CAAA,KAAA,EAAA;AAAK5I,IAAAA,SAAS,EAAC,6FAA6F;AAAA2I,IAAAA,QAAA,gBAC1GN,cAAA,CAAA,KAAA,EAAA;AAAKrI,MAAAA,SAAS,EAAC,oDAAoD;MAAA2I,QAAA,eACjEN,cAAA,CAACqG,qBAAU,EAAA;AACT1O,QAAAA,SAAS,EAAC,UAAU;AACpB,QAAA,aAAA,EAAY,cAAc;AAC1B2O,QAAAA,OAAO,EAAC,IAAI;QAAAhG,QAAA,EAEX3E,OAAO,CAAC3D;OACC;KACT,CAAC,eACNuI,eAAA,CAAA,KAAA,EAAA;AAAK5I,MAAAA,SAAS,EAAC,gBAAgB;AAAA2I,MAAAA,QAAA,gBAC7BC,eAAA,CAAA,KAAA,EAAA;AAAK5I,QAAAA,SAAS,EAAC,WAAW;QAAA2I,QAAA,EAAA,cACxBN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,UAAAA,SAAS,EAAC,iBAAiB;AAAC2O,UAAAA,OAAO,EAAC,OAAO;UAAAhG,QAAA,EACpDqF,CAAC,CAAC,yCAAyC;AAAC,SACnC,CAAC,eACb3F,cAAA,CAACyH,iBAAM,EAAA;AACLC,UAAAA,iBAAiB,EAAEP,qBAAsB;AACzCQ,UAAAA,YAAY,EAAE,KAAM;AACpBC,UAAAA,OAAO,EAAEhQ,KAAM;AACfqP,UAAAA,IAAI,EAAC,OAAO;UACZ/O,KAAK,EAAEyD,OAAO,CAAC3C,IAAK;AACpBkD,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAElD,IAAI,EAAA;AAAA,YAAA,OAAIkD,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;AAAEtG,cAAAA,IAAI,EAAJA;AAAK,aAAC,CAAC;AAAA,UAAA;AAAC,SAClD,CAAC;OACC,CAAC,eACNuH,eAAA,CAAA,KAAA,EAAA;AAAK5I,QAAAA,SAAS,EAAC,YAAY;AAAA2I,QAAAA,QAAA,gBACzBC,eAAA,CAAA,KAAA,EAAA;AAAK5I,UAAAA,SAAS,EAAC,0BAA0B;UAAA2I,QAAA,EAAA,cACvCN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,YAAAA,SAAS,EAAC,iBAAiB;AAAC2O,YAAAA,OAAO,EAAC,OAAO;YAAAhG,QAAA,EACpDqF,CAAC,CAAC,yCAAyC;AAAC,WACnC,CAAC,eACb3F,cAAA,CAAC6H,gBAAK,EAAA;YACJrN,GAAG,EAAE3B,gBAAgB,CAAC2B,GAAI;YAC1BD,GAAG,EAAE1B,gBAAgB,CAAC0B,GAAI;AAC1B0M,YAAAA,IAAI,EAAC,OAAO;AACZJ,YAAAA,IAAI,EAAC,QAAQ;YACb3O,KAAK,EAAEyD,OAAO,CAAC1C,QAAS;AACxBiD,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEuC,KAAK,EAAA;AAAA,cAAA,OACbvC,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;AACnBrG,gBAAAA,QAAQ,EAAEoO,gBAAgB,CAAC5I,KAAK,CAACqJ,MAAM,CAAC5P,KAAK;AAC/C,eAAC,CAAC;AAAA,YAAA;AACH,WACF,CAAC;SACC,CAAC,eACNqI,eAAA,CAAA,KAAA,EAAA;AAAK5I,UAAAA,SAAS,EAAC,WAAW;UAAA2I,QAAA,EAAA,cACxBN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,YAAAA,SAAS,EAAC,iBAAiB;AAAC2O,YAAAA,OAAO,EAAC,OAAO;YAAAhG,QAAA,EACpDqF,CAAC,CAAC,2CAA2C;WACpC,CAAC,eACbpF,eAAA,CAAA,KAAA,EAAA;AAAK5I,YAAAA,SAAS,EAAC,MAAM;YAAA2I,QAAA,EAAA,cACnBN,cAAA,CAACuG,YAAY,EAAA;AACX,cAAA,YAAA,EAAW,MAAM;AACjB5O,cAAAA,SAAS,EAAC,KAAK;cACf6O,QAAQ,EAAE7K,OAAO,CAACxC,IAAK;cACvBsN,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,gBAAA,OAAQvK,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;kBAAEnG,IAAI,EAAE,CAACwC,OAAO,CAACxC;AAAK,iBAAC,CAAC;cAAA,CAAC;AAAAmH,cAAAA,QAAA,eAE7DN,cAAA,CAAA,MAAA,EAAA;AAAMrI,gBAAAA,SAAS,EAAC,WAAW;AAAA2I,gBAAAA,QAAA,EAAC;eAAO;AAAC,aACxB,CAAC,eACfN,cAAA,CAACuG,YAAY,EAAA;AACX,cAAA,YAAA,EAAW,QAAQ;AACnB5O,cAAAA,SAAS,EAAC,KAAK;cACf6O,QAAQ,EAAE7K,OAAO,CAACvC,MAAO;cACzBqN,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,gBAAA,OACLvK,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;kBAAElG,MAAM,EAAE,CAACuC,OAAO,CAACvC;AAAO,iBAAC,CAAC;cAAA,CAClD;AAAAkH,cAAAA,QAAA,eAEDN,cAAA,CAAA,MAAA,EAAA;AAAMrI,gBAAAA,SAAS,EAAC,QAAQ;AAAA2I,gBAAAA,QAAA,EAAC;eAAO;AAAC,aACrB,CAAC,eACfN,cAAA,CAACuG,YAAY,EAAA;AACX,cAAA,YAAA,EAAW,WAAW;AACtB5O,cAAAA,SAAS,EAAC,KAAK;cACf6O,QAAQ,EAAE7K,OAAO,CAACtC,SAAU;cAC5BoN,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,gBAAA,OACLvK,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;kBAAEjG,SAAS,EAAE,CAACsC,OAAO,CAACtC;AAAU,iBAAC,CAAC;cAAA,CACxD;AAAAiH,cAAAA,QAAA,eAEDN,cAAA,CAAA,MAAA,EAAA;AAAMrI,gBAAAA,SAAS,EAAC,WAAW;AAAA2I,gBAAAA,QAAA,EAAC;eAAO;AAAC,aACxB,CAAC;AAAA,WACZ,CAAC;AAAA,SACH,CAAC;OACH,CAAC,eACNC,eAAA,CAAA,KAAA,EAAA;AAAK5I,QAAAA,SAAS,EAAC,WAAW;QAAA2I,QAAA,EAAA,cACxBN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,UAAAA,SAAS,EAAC,iBAAiB;AAAC2O,UAAAA,OAAO,EAAC,OAAO;UAAAhG,QAAA,EACpDqF,CAAC,CAAC,8CAA8C;AAAC,SACxC,CAAC,eACb3F,cAAA,CAAC+H,sBAAW,EAAA;UACVC,YAAY,EAAA,IAAA;UACZ9O,KAAK,EAAEyC,OAAO,CAACzC,KAAM;AACrB+N,UAAAA,IAAI,EAAC,OAAO;AACZ/K,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAA+L,KAAA,EAAA;AAAA,YAAA,IAAKC,GAAG,GAAAD,KAAA,CAAHC,GAAG;AAAA,YAAA,OAAOhM,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;AAAEpG,cAAAA,KAAK,EAAEgP;AAAI,aAAC,CAAC;AAAA,UAAA;AAAC,SAC7D,CAAC;OACC,CAAC,eACN3H,eAAA,CAAA,KAAA,EAAA;AAAK5I,QAAAA,SAAS,EAAC,WAAW;QAAA2I,QAAA,EAAA,cACxBN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,UAAAA,SAAS,EAAC,iBAAiB;AAAC2O,UAAAA,OAAO,EAAC,OAAO;UAAAhG,QAAA,EACpDqF,CAAC,CAAC,8CAA8C;SACvC,CAAC,eACbpF,eAAA,CAAA,KAAA,EAAA;AAAK5I,UAAAA,SAAS,EAAC,aAAa;UAAA2I,QAAA,EAAA,cAC1BN,cAAA,CAACuG,YAAY,EAAA;AACX,YAAA,YAAA,EAAW,YAAY;AACvB5O,YAAAA,SAAS,EAAC,QAAQ;AAClB6O,YAAAA,QAAQ,EAAE7K,OAAO,CAACrC,KAAK,KAAKtC,UAAU,CAACC,IAAK;YAC5CwP,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,cAAA,OAAQvK,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;gBAAEhG,KAAK,EAAEtC,UAAU,CAACC;AAAK,eAAC,CAAC;YAAA,CAAC;YAAAqJ,QAAA,eAEhEN,cAAA,CAACmI,SAAS,EAAA;AAAClB,cAAAA,IAAI,EAAE;aAAK;AAAC,WACX,CAAC,eACfjH,cAAA,CAACuG,YAAY,EAAA;AACX,YAAA,YAAA,EAAW,cAAc;AACzB5O,YAAAA,SAAS,EAAC,QAAQ;AAClB6O,YAAAA,QAAQ,EAAE7K,OAAO,CAACrC,KAAK,KAAKtC,UAAU,CAACG,MAAO;YAC9CsP,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,cAAA,OAAQvK,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;gBAAEhG,KAAK,EAAEtC,UAAU,CAACG;AAAO,eAAC,CAAC;YAAA,CAAC;YAAAmJ,QAAA,eAElEN,cAAA,CAACoI,WAAW,EAAA;AAACnB,cAAAA,IAAI,EAAE;aAAK;AAAC,WACb,CAAC,eACfjH,cAAA,CAACuG,YAAY,EAAA;AACX,YAAA,YAAA,EAAW,aAAa;AACxB5O,YAAAA,SAAS,EAAC,QAAQ;AAClB6O,YAAAA,QAAQ,EAAE7K,OAAO,CAACrC,KAAK,KAAKtC,UAAU,CAACI,KAAM;YAC7CqP,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,cAAA,OAAQvK,SAAQ,CAACP,OAAO,CAAC2D,EAAE,EAAE;gBAAEhG,KAAK,EAAEtC,UAAU,CAACI;AAAM,eAAC,CAAC;YAAA,CAAC;YAAAkJ,QAAA,eAEjEN,cAAA,CAACqI,UAAU,EAAA;AAACpB,cAAAA,IAAI,EAAE;aAAK;AAAC,WACZ,CAAC;AAAA,SACZ,CAAC;AAAA,OACH,CAAC;AAAA,KACH,CAAC,eACNjH,cAAA,CAACsI,iBAAM,EAAA;MACLC,SAAS,EAAA,IAAA;AACT5Q,MAAAA,SAAS,EAAC,MAAM;AAChBuC,MAAAA,IAAI,EAAEsO,MAAO;AACbxQ,MAAAA,KAAK,EAAE2N,CAAC,CAAC,2CAA2C,CAAE;AACtDW,MAAAA,OAAO,EAAC,aAAa;MACrBG,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQe,QAAQ,CAAC7L,OAAO,CAAC2D,EAAE,CAAC;AAAA,MAAA;AAAC,KACrC,CAAC;GACC,CAAC,gBAENU,cAAA,CAAA,KAAA,EAAA;AAAKrI,IAAAA,SAAS,EAAC,yEAAyE;AAAA2I,IAAAA,QAAA,eACtFN,cAAA,CAAC8G,UAAU,EAAA,EAAE;AAAC,GACX,CACN;AAAA,CACH,CAAC;;AChMD,IAAM2B,SAAS,GAAG,SAAZA,SAASA,CAAA1Q,IAAA,EAAmD;AAAA,EAAA,IAA7C2Q,KAAK,GAAA3Q,IAAA,CAAL2Q,KAAK;IAAEC,OAAO,GAAA5Q,IAAA,CAAP4Q,OAAO;IAAEC,WAAW,GAAA7Q,IAAA,CAAX6Q,WAAW;IAAEC,SAAS,GAAA9Q,IAAA,CAAT8Q,SAAS;AACzD,EAAA,IAAMC,IAAI,GAAGJ,KAAK,CAACxO,IAAI;AAEvB,EAAA,IAAM6O,eAAe,GAAG,SAAlBA,eAAeA,CAAGtK,KAAK,EAAI;AAC/BA,IAAAA,KAAK,CAACmF,YAAY,CAACoF,aAAa,GAAG,MAAM;IACzCvK,KAAK,CAACmF,YAAY,CAACqF,OAAO,CAAC,YAAY,EAAEP,KAAK,CAAClR,GAAG,CAAC;IACnDoR,WAAW,CAACF,KAAK,CAAC;EACpB,CAAC;AAED,EAAA,oBACEnI,eAAA,CAAA,KAAA,EAAA;AACQsI,IAAAA,SAAS,EAATA,SAAS;IACfK,SAAS,EAAA,IAAA;AACTvR,IAAAA,SAAS,EAAC,oKAAoK;AAC9K,IAAA,aAAA,EAAA,MAAA,CAAAqF,MAAA,CAAoB0L,KAAK,CAAClR,GAAG,EAAA,QAAA,CAAS;IACtCiP,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQkC,OAAO,CAACD,KAAK,CAAC;IAAA,CAAC;AAC9BE,IAAAA,WAAW,EAAEG,eAAgB;AAAAzI,IAAAA,QAAA,gBAE7BN,cAAA,CAAA,MAAA,EAAA;AACErI,MAAAA,SAAS,EAAC,6EAA6E;AACvF,MAAA,aAAA,EAAY,aAAa;MAAA2I,QAAA,eAEzBN,cAAA,CAACmJ,IAAI,EAAA;AACHxR,QAAAA,SAAS,EAAC,2FAA2F;AACrGsP,QAAAA,IAAI,EAAE;OACP;KACG,CAAC,eACP1G,eAAA,CAAA,KAAA,EAAA;AAAK5I,MAAAA,SAAS,EAAC,mDAAmD;MAAA2I,QAAA,EAAA,CAC/DwI,IAAI,iBACH9I,cAAA,CAAA,KAAA,EAAA;AAAKrI,QAAAA,SAAS,EAAC,eAAe;AAAA2I,QAAAA,QAAA,eAC5BN,cAAA,CAAC8I,IAAI,EAAA,EAAE;AAAC,OACL,CACN,eACD9I,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,QAAAA,SAAS,EAAC,oBAAoB;AAAC2O,QAAAA,OAAO,EAAC,OAAO;QAAAhG,QAAA,EACvDoI,KAAK,CAAC1Q;AAAK,OACF,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AClCD,IAAMoR,OAAO,GAAG,SAAVA,OAAOA,CAAArR,IAAA,EAA4B;AAAA,EAAA,IAAtBsR,KAAK,GAAAtR,IAAA,CAALsR,KAAK;IAAE/I,QAAQ,GAAAvI,IAAA,CAARuI,QAAQ;EAChC,IAAI,EAACA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAEpB,MAAM,CAAA,EAAE,OAAO,IAAI;EAElC,oBACEqB,eAAA,CAAA+I,mBAAA,EAAA;IAAAhJ,QAAA,EAAA,cACEN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,MAAAA,SAAS,EAAC,WAAW;AAAC2O,MAAAA,OAAO,EAAC,IAAI;AAAAhG,MAAAA,QAAA,EAC3C+I;KACS,CAAC,EACZ/I,QAAQ;AAAA,GACT,CAAC;AAEP,CAAC;AAED,IAAMiJ,WAAW,GAAG,SAAdA,WAAWA,CAAAjR,KAAA,EAMX;AAAA,EAAA,IALJkR,YAAY,GAAAlR,KAAA,CAAZkR,YAAY;IACZC,YAAY,GAAAnR,KAAA,CAAZmR,YAAY;IACZd,OAAO,GAAArQ,KAAA,CAAPqQ,OAAO;IACPe,gBAAgB,GAAApR,KAAA,CAAhBoR,gBAAgB;IAChBC,cAAc,GAAArR,KAAA,CAAdqR,cAAc;AAEd,EAAA,IAAAlE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAArJ,SAAA,GAAoCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCsN,IAAAA,UAAU,GAAApN,UAAA,CAAA,CAAA,CAAA;AAAEqN,IAAAA,aAAa,GAAArN,UAAA,CAAA,CAAA,CAAA;EAEhC,IAAMsN,KAAK,GAAGF,UAAU,CAACG,IAAI,EAAE,CAACC,WAAW,EAAE;AAC7C,EAAA,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAGvB,KAAK,EAAA;IAAA,OAAIA,KAAK,CAAC1Q,KAAK,CAACgS,WAAW,EAAE,CAACE,QAAQ,CAACJ,KAAK,CAAC;AAAA,EAAA,CAAA;EAElE,IAAMK,eAAe,GAAGL,KAAK,GAAGN,YAAY,CAACY,MAAM,CAACH,OAAO,CAAC,GAAGT,YAAY;EAC3E,IAAMa,cAAc,GAAGP,KAAK,GAAGL,YAAY,CAACW,MAAM,CAACH,OAAO,CAAC,GAAGR,YAAY;AAE1E,EAAA,IAAMa,WAAW,GAAG,SAAdA,WAAWA,CAAG5B,KAAK,EAAA;IAAA,oBACvBzE,mBAAA,CAACwE,SAAS,EAAA;AACFC,MAAAA,KAAK,EAALA,KAAK;AAAEC,MAAAA,OAAO,EAAPA,OAAO;AACpBnR,MAAAA,GAAG,EAAA,EAAA,CAAAwF,MAAA,CAAK0L,KAAK,CAAC6B,MAAM,EAAA,GAAA,CAAA,CAAAvN,MAAA,CAAI0L,KAAK,CAAClR,GAAG,CAAG;AACpCqR,MAAAA,SAAS,EAAEc,cAAe;AAC1Bf,MAAAA,WAAW,EAAEc;AAAiB,KAC/B,CAAC;EAAA,CACH;AAED,EAAA,oBACEnJ,eAAA,CAAA,KAAA,EAAA;AAAK5I,IAAAA,SAAS,EAAC,yEAAyE;AAAA2I,IAAAA,QAAA,gBACtFN,cAAA,CAAA,KAAA,EAAA;AAAKrI,MAAAA,SAAS,EAAC,UAAU;MAAA2I,QAAA,eACvBN,cAAA,CAACqG,qBAAU,EAAA;AAACmE,QAAAA,UAAU,EAAC,QAAQ;AAAClE,QAAAA,OAAO,EAAC,IAAI;AAACY,QAAAA,MAAM,EAAC,UAAU;QAAA5G,QAAA,EAC3DqF,CAAC,CAAC,4CAA4C;OACrC;KACT,CAAC,eACNpF,eAAA,CAAA,KAAA,EAAA;AAAK5I,MAAAA,SAAS,EAAC,WAAW;MAAA2I,QAAA,EAAA,cACxBN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,QAAAA,SAAS,EAAC,MAAM;AAAC2O,QAAAA,OAAO,EAAC,OAAO;QAAAhG,QAAA,EACzCqF,CAAC,CAAC,uDAAuD;AAAC,OACjD,CAAC,eACb3F,cAAA,CAAC6H,gBAAK,EAAA;QACJ4C,SAAS,EAAA,IAAA;AACT,QAAA,aAAA,EAAY,6BAA6B;AACzCC,QAAAA,WAAW,EAAE/E,CAAC,CAAC,6CAA6C,CAAE;AAC9DgF,QAAAA,MAAM,eAAE3K,cAAA,CAAC4K,MAAM,IAAE,CAAE;AACnB/D,QAAAA,IAAI,EAAC,QAAQ;AACb3O,QAAAA,KAAK,EAAE0R,UAAW;AAClB1N,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEuC,KAAK,EAAA;AAAA,UAAA,OAAIoL,aAAa,CAACpL,KAAK,CAACqJ,MAAM,CAAC5P,KAAK,CAAC;AAAA,QAAA;AAAC,OACtD,CAAC;KACC,CAAC,eACNqI,eAAA,CAAA,KAAA,EAAA;AACE5I,MAAAA,SAAS,EAAC,gCAAgC;AAC1C,MAAA,aAAA,EAAY,oBAAoB;MAAA2I,QAAA,EAAA,cAEhCN,cAAA,CAACoJ,OAAO,EAAA;AAACC,QAAAA,KAAK,EAAE1D,CAAC,CAAC,sCAAsC,CAAE;AAAArF,QAAAA,QAAA,EACvD6J,eAAe,CAACrS,GAAG,CAACwS,WAAW;AAAC,OAC1B,CAAC,eACVtK,cAAA,CAACoJ,OAAO,EAAA;AAACC,QAAAA,KAAK,EAAE1D,CAAC,CAAC,qCAAqC,CAAE;AAAArF,QAAAA,QAAA,EACtD+J,cAAc,CAACvS,GAAG,CAACwS,WAAW;AAAC,OACzB,CAAC,EACTH,eAAe,CAACjL,MAAM,KAAK,CAAC,IAAImL,cAAc,CAACnL,MAAM,KAAK,CAAC,gBAC1Dc,cAAA,CAACqG,qBAAU,EAAA;AACT1O,QAAAA,SAAS,EAAC,iEAAiE;AAC3EuP,QAAAA,MAAM,EAAC,MAAM;QAAA5G,QAAA,EAEZqF,CAAC,CAAC,uCAAuC;OAChC,CAAC,GACX,IAAI;AAAA,KACL,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;ACtFD;AACA;AACA,IAAMkF,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,IAAI,EAAA;EAAA,OACzBA,IAAI,CACDC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBhB,IAAI,EAAE,CAENgB,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CACrChB,IAAI,EAAE;AAAA,CAAA;AAEX,IAAMiB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG9C,GAAG,EAAI;AAChC,EAAA,IAAMhQ,KAAK,GAAG,CAACgQ,GAAG,IAAInP,aAAa,CAACG,KAAK,EAAE6R,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAC3D,EAAA,IAAME,IAAI,GACR/S,KAAK,CAACgH,MAAM,KAAK,CAAC,GACdhH,KAAK,CACFgT,KAAK,CAAC,EAAE,CAAC,CACTpT,GAAG,CAAC,UAAAqT,KAAI,EAAA;IAAA,OAAIA,KAAI,GAAGA,KAAI;AAAA,EAAA,CAAA,CAAC,CACxBC,IAAI,CAAC,EAAE,CAAC,GACXlT,KAAK;AACX,EAAA,IAAMmT,IAAG,GAAGC,QAAQ,CAACL,IAAI,EAAE,EAAE,CAAC;EAE9B,OAAO;IACLM,CAAC,EAAE,CAAEF,IAAG,IAAI,EAAE,GAAI,GAAG,IAAI,GAAG;IAC5BG,CAAC,EAAE,CAAEH,IAAG,IAAI,CAAC,GAAI,GAAG,IAAI,GAAG;AAC3BI,IAAAA,CAAC,EAAE,CAACJ,IAAG,GAAG,GAAG,IAAI;GAClB;AACH,CAAC;AAED,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAI1S,IAAI,EAAEG,IAAI,EAAEC,MAAM,EAAK;EAC/C,IAAMuS,QAAQ,GACZxT,sBAAsB,CAACa,IAAI,CAAC,IAAIb,sBAAsB,CAACyT,SAAS;AAElE,EAAA,OAAOD,QAAQ,CAAC,CAACxS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAKC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,IAAMyS,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAK,EAAEC,QAAQ,EAAK;EAC/C,IAAMC,IAAI,GAAG,IAAIC,IAAI,CAAC,CAACH,KAAK,CAAC,EAAE;AAAEjF,IAAAA,IAAI,EAAE;AAAkB,GAAC,CAAC;AAC3D,EAAA,IAAMvC,GAAG,GAAG4H,GAAG,CAACC,eAAe,CAACH,IAAI,CAAC;EACrC,IAAMI,IAAI,GAAGzL,MAAM,CAAC0L,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;EAC/CF,IAAI,CAACG,IAAI,GAAGjI,GAAG;EACf8H,IAAI,CAACI,QAAQ,GAAGT,QAAQ;EACxBpL,MAAM,CAAC0L,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,IAAI,CAAC;EACtCA,IAAI,CAACO,KAAK,EAAE;EACZP,IAAI,CAACQ,MAAM,EAAE;AACbV,EAAAA,GAAG,CAACW,eAAe,CAACvI,GAAG,CAAC;AAC1B,CAAC;;AAED;AACA;AACA;AACO,IAAMwI,iBAAiB,gBAAA,YAAA;EAAA,IAAAxU,KAAA,GAAAkK,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAqK,QAAAA,CAAAhV,IAAA,EAAA;IAAA,IAAAwN,WAAA,EAAApE,QAAA,EAAA6L,QAAA,EAAAjB,QAAA,EAAAkB,YAAA,EAAAC,WAAA,EAAAC,aAAA,EAAAC,GAAA,EAAAC,QAAA,EAAAvB,KAAA,EAAAwB,MAAA,EAAAlX,KAAA,EAAAmX,SAAA,EAAAC,aAAA;AAAA,IAAA,OAAA/K,mBAAA,CAAAG,IAAA,CAAA,SAAA6K,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3K,IAAA,GAAA2K,SAAA,CAAA1K,IAAA;AAAA,QAAA,KAAA,CAAA;UAC/BuC,WAAW,GAAAxN,IAAA,CAAXwN,WAAW,EACXpE,QAAQ,GAAApJ,IAAA,CAARoJ,QAAQ,EACR6L,QAAQ,GAAAjV,IAAA,CAARiV,QAAQ,EACRjB,QAAQ,GAAAhU,IAAA,CAARgU,QAAQ;AAAA2B,UAAAA,SAAA,CAAA1K,IAAA,GAAA,CAAA;UAAA,OAEmB,OAAO,SAAS,CAAC;AAAA,QAAA,KAAA,CAAA;UAAtCiK,YAAY,GAAAS,SAAA,CAAA5I,IAAA;AACVoI,UAAAA,WAAW,GAAyBD,YAAY,CAAhDC,WAAW,EAAEC,aAAa,GAAUF,YAAY,CAAnCE,aAAa,EAAEC,GAAG,GAAKH,YAAY,CAApBG,GAAG;AAAAM,UAAAA,SAAA,CAAA1K,IAAA,GAAA,CAAA;UAAA,OAEhB2K,KAAK,CAACpI,WAAW,CAAC;AAAA,QAAA,KAAA,CAAA;UAAnC8H,QAAQ,GAAAK,SAAA,CAAA5I,IAAA;UAAA,IACTuI,QAAQ,CAACO,EAAE,EAAA;AAAAF,YAAAA,SAAA,CAAA1K,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA;UAAA,MACR,IAAI6K,KAAK,CAAA,gCAAA,CAAA7Q,MAAA,CAAkCqQ,QAAQ,CAACS,MAAM,EAAA,GAAA,CAAG,CAAC;AAAA,QAAA,KAAA,EAAA;AAAAJ,UAAAA,SAAA,CAAA1K,IAAA,GAAA,EAAA;AAAA,UAAA,OAElDqK,QAAQ,CAACU,WAAW,EAAE;AAAA,QAAA,KAAA,EAAA;UAApCjC,KAAK,GAAA4B,SAAA,CAAA5I,IAAA;AAAA4I,UAAAA,SAAA,CAAA1K,IAAA,GAAA,EAAA;AAAA,UAAA,OAEUkK,WAAW,CAACc,IAAI,CAAClC,KAAK,EAAE;AAAEmC,YAAAA,gBAAgB,EAAE;AAAK,WAAC,CAAC;AAAA,QAAA,KAAA,EAAA;UAAlEX,MAAM,GAAAI,SAAA,CAAA5I,IAAA;AACN1O,UAAAA,KAAK,GAAGkX,MAAM,CAACY,QAAQ,EAAE;UAEzBX,SAAS,GAAAY,kBAAA,CACV,IAAIC,GAAG,CACRjN,QAAQ,CAACrJ,GAAG,CAAC,UAAA6D,OAAO,EAAA;AAAA,YAAA,OAClB+P,gBAAgB,CAAC/P,OAAO,CAAC3C,IAAI,EAAE2C,OAAO,CAACxC,IAAI,EAAEwC,OAAO,CAACvC,MAAM,CAAC;AAAA,UAAA,CAC9D,CACF,CAAC,CAAA;UAAAsU,SAAA,CAAAxK,EAAA,GAGmB9K,MAAM;AAAAsV,UAAAA,SAAA,CAAA1K,IAAA,GAAA,EAAA;AAAA,UAAA,OACpBqL,OAAO,CAACC,GAAG,CACff,SAAS,CAACzV,GAAG,cAAA,YAAA;YAAA,IAAAsP,KAAA,GAAA5E,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAC,SAAAC,OAAAA,CAAM4L,IAAI,EAAA;AAAA,cAAA,OAAA9L,mBAAA,CAAAG,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,gBAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,kBAAA,KAAA,CAAA;oBAAAF,QAAA,CAAAI,EAAA,GACtBqL,IAAI;AAAAzL,oBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;oBAAA,OACEsK,MAAM,CAACkB,SAAS,CAACrB,aAAa,CAACoB,IAAI,CAAC,CAAC;AAAA,kBAAA,KAAA,CAAA;AAAAzL,oBAAAA,QAAA,CAAA2L,EAAA,GAAA3L,QAAA,CAAAgC,IAAA;oBAAA,OAAAhC,QAAA,CAAA4L,MAAA,CAAA,QAAA,EAAA,CAAA5L,QAAA,CAAAI,EAAA,EAAAJ,QAAA,CAAA2L,EAAA,CAAA,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAA,kBAAA,KAAA,KAAA;oBAAA,OAAA3L,QAAA,CAAAK,IAAA,EAAA;AAAA;AAAA,cAAA,CAAA,EAAAR,OAAA,CAAA;YAAA,CAC5C,CAAA,CAAA;AAAA,YAAA,OAAA,UAAAgM,GAAA,EAAA;AAAA,cAAA,OAAAvH,KAAA,CAAAhE,KAAA,CAAA,IAAA,EAAAnE,SAAA,CAAA;AAAA,YAAA,CAAA;AAAA,UAAA,CAAA,EAAA,CACH,CAAC;AAAA,QAAA,KAAA,EAAA;AAAAyO,UAAAA,SAAA,CAAAe,EAAA,GAAAf,SAAA,CAAA5I,IAAA;AANG0I,UAAAA,aAAa,GAAAE,SAAA,CAAAxK,EAAA,CAAU7K,WAAW,CAAAyH,IAAA,CAAA4N,SAAA,CAAAxK,EAAA,EAAAwK,SAAA,CAAAe,EAAA,CAAA;AASxCtN,UAAAA,QAAQ,CAACyN,OAAO,CAAC,UAAAjT,OAAO,EAAI;YAC1B,IAAM6F,IAAI,GAAGpL,KAAK,CAACuF,OAAO,CAAC6F,IAAI,GAAG,CAAC,CAAC;YACpC,IAAI,CAACA,IAAI,EAAE;YAEX,IAAMsJ,IAAI,GAAGD,cAAc,CAACmC,QAAQ,CAACrR,OAAO,CAAC,IAAI,EAAE,CAAC;YACpD,IAAI,CAACmP,IAAI,EAAE;AAEX,YAAA,IAAA+D,aAAA,GAAiDrN,IAAI,CAACsN,OAAO,EAAE;cAAhDC,SAAS,GAAAF,aAAA,CAAhBnV,KAAK;cAAqBsV,UAAU,GAAAH,aAAA,CAAlBlV,MAAM;AAChC,YAAA,IAAMX,IAAI,GACRwU,aAAa,CACX9B,gBAAgB,CAAC/P,OAAO,CAAC3C,IAAI,EAAE2C,OAAO,CAACxC,IAAI,EAAEwC,OAAO,CAACvC,MAAM,CAAC,CAC7D;AACH,YAAA,IAAM6N,IAAI,GAAGtL,OAAO,CAAC1C,QAAQ;AAC7B,YAAA,IAAAgW,mBAAA,GAAoBjE,kBAAkB,CAACrP,OAAO,CAACzC,KAAK,CAAC;cAA7CqS,CAAC,GAAA0D,mBAAA,CAAD1D,CAAC;cAAEC,CAAC,GAAAyD,mBAAA,CAADzD,CAAC;cAAEC,CAAC,GAAAwD,mBAAA,CAADxD,CAAC;YACf,IAAMvS,KAAK,GAAGkU,GAAG,CAAC7B,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;AAE1B,YAAA,IAAMyD,OAAO,GAAGvT,OAAO,CAAClE,CAAC,GAAGsX,SAAS;AACrC,YAAA,IAAMI,QAAQ,GAAGxT,OAAO,CAACjC,KAAK,GAAGqV,SAAS;YAC1C,IAAMK,SAAS,GAAGpW,IAAI,CAACqW,iBAAiB,CAACvE,IAAI,EAAE7D,IAAI,CAAC;YAEpD,IAAIxP,CAAC,GAAGyX,OAAO;AACf,YAAA,IAAIvT,OAAO,CAACrC,KAAK,KAAK,QAAQ,EAAE7B,CAAC,GAAGyX,OAAO,GAAG,CAACC,QAAQ,GAAGC,SAAS,IAAI,CAAC,CAAC,KACpE,IAAIzT,OAAO,CAACrC,KAAK,KAAK,OAAO,EAAE7B,CAAC,GAAGyX,OAAO,GAAGC,QAAQ,GAAGC,SAAS;YAEtE,IAAM1X,CAAC,GAAGsX,UAAU,GAAGrT,OAAO,CAACjE,CAAC,GAAGsX,UAAU,GAAG/H,IAAI;AAEpDzF,YAAAA,IAAI,CAAC8N,QAAQ,CAACxE,IAAI,EAAE;AAAErT,cAAAA,CAAC,EAADA,CAAC;AAAEC,cAAAA,CAAC,EAADA,CAAC;AAAEuP,cAAAA,IAAI,EAAJA,IAAI;AAAEjO,cAAAA,IAAI,EAAJA,IAAI;AAAEE,cAAAA,KAAK,EAALA;AAAM,aAAC,CAAC;YAEhD,IAAIyC,OAAO,CAACtC,SAAS,EAAE;AACrB,cAAA,IAAMkW,KAAK,GAAG7X,CAAC,GAAGuP,IAAI,GAAG,GAAG;cAC5BzF,IAAI,CAACgO,QAAQ,CAAC;AACZC,gBAAAA,KAAK,EAAE;AAAEhY,kBAAAA,CAAC,EAADA,CAAC;AAAEC,kBAAAA,CAAC,EAAE6X;iBAAO;AACtBG,gBAAAA,GAAG,EAAE;kBAAEjY,CAAC,EAAEA,CAAC,GAAG2X,SAAS;AAAE1X,kBAAAA,CAAC,EAAE6X;iBAAO;gBACnCI,SAAS,EAAElV,IAAI,CAACD,GAAG,CAAC,GAAG,EAAEyM,IAAI,GAAG,IAAI,CAAC;AACrC/N,gBAAAA,KAAK,EAALA;AACF,eAAC,CAAC;AACJ,YAAA;AACF,UAAA,CAAC,CAAC;UAACwU,SAAA,CAAAkC,EAAA,GAEH/D,mBAAmB;AAAA6B,UAAAA,SAAA,CAAA1K,IAAA,GAAA,EAAA;AAAA,UAAA,OAAOsK,MAAM,CAACuC,IAAI,EAAE;AAAA,QAAA,KAAA,EAAA;AAAAnC,UAAAA,SAAA,CAAAoC,EAAA,GAAApC,SAAA,CAAA5I,IAAA;UAAA4I,SAAA,CAAAqC,EAAA,GAAEhE,QAAQ;UAAA,IAAA2B,SAAA,CAAAkC,EAAA,EAAAlC,SAAA,CAAAoC,EAAA,EAAApC,SAAA,CAAAqC,EAAA,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAArC,SAAA,CAAAvK,IAAA,EAAA;AAAA;AAAA,IAAA,CAAA,EAAA4J,QAAA,CAAA;EAAA,CAClD,CAAA,CAAA;EAAA,OAAA,SA3EYD,iBAAiBA,CAAAkD,EAAA,EAAA;AAAA,IAAA,OAAA1X,KAAA,CAAA8K,KAAA,CAAA,IAAA,EAAAnE,SAAA,CAAA;AAAA,EAAA,CAAA;AAAA,CAAA,EA2E7B;;ACvHD,IAAMgR,cAAc,GAAG,SAAjBA,cAAcA,CAAAlY,IAAA,EAMd;AAAA,EAAA,IALJoJ,QAAQ,GAAApJ,IAAA,CAARoJ,QAAQ;IACR+O,WAAW,GAAAnY,IAAA,CAAXmY,WAAW;IACXC,aAAa,GAAApY,IAAA,CAAboY,aAAa;IACb9O,YAAY,GAAAtJ,IAAA,CAAZsJ,YAAY;IACZsE,CAAC,GAAA5N,IAAA,CAAD4N,CAAC;AAED,EAAA,IAAArJ,SAAA,GAA0CC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlD8T,IAAAA,aAAa,GAAA5T,UAAA,CAAA,CAAA,CAAA;AAAE6T,IAAAA,gBAAgB,GAAA7T,UAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAM8T,WAAW,gBAAA,YAAA;IAAA,IAAAhY,KAAA,GAAAkK,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,MAAA,IAAA4N,qBAAA;AAAA,MAAA,IAAAhL,WAAA;AAAA,MAAA,OAAA9C,mBAAA,CAAAG,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AACZuC,YAAAA,WAAW,GAAG2K,WAAW,KAAA,IAAA,IAAXA,WAAW,gBAAAK,qBAAA,GAAXL,WAAW,CAAEM,YAAY,MAAA,IAAA,IAAAD,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAzBA,qBAAA,CAA2BjM,GAAG;AAAA,YAAA,IAAA,EAC9C,CAACiB,WAAW,IAAI,CAAC4K,aAAa,CAAA,EAAA;AAAArN,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAF,QAAA,CAAA4L,MAAA,CAAA,QAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAElC2B,gBAAgB,CAAC,IAAI,CAAC;AAACvN,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,YAAA,OAGf8J,iBAAiB,CAAC;AACtBvH,cAAAA,WAAW,EAAXA,WAAW;AACXpE,cAAAA,QAAQ,EAARA,QAAQ;AACR6L,cAAAA,QAAQ,EAAE3L,YAAY;AACtB0K,cAAAA,QAAQ,EAAE0E,qCAAmB,CAACP,WAAW,EAAEC,aAAa;AAC1D,aAAC,CAAC;AAAA,UAAA,KAAA,CAAA;AAAArN,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;YAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAEF4N,YAAAA,MAAM,CAACpa,KAAK,CAAAwM,QAAA,CAAAI,EAAM,CAAC;AACnByN,YAAAA,iBAAM,CAACra,KAAK,CAACqP,CAAC,CAAC,4CAA4C,CAAC,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA7C,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;YAE9DsN,gBAAgB,CAAC,KAAK,CAAC;YAAC,OAAAvN,QAAA,CAAA8N,MAAA,CAAA,EAAA,CAAA;AAAA,UAAA,KAAA,EAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA9N,QAAA,CAAAK,IAAA,EAAA;AAAA;AAAA,MAAA,CAAA,EAAAR,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;IAAA,CAE3B,CAAA,CAAA;AAAA,IAAA,OAAA,SAnBK2N,WAAWA,GAAA;AAAA,MAAA,OAAAhY,KAAA,CAAA8K,KAAA,CAAA,IAAA,EAAAnE,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAmBhB;EAED,OAAO;AAAEqR,IAAAA,WAAW,EAAXA,WAAW;AAAEF,IAAAA,aAAa,EAAbA;GAAe;AACvC,CAAC;;AC7BD,IAAMS,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA9Y,IAAA,EAA+C;AAAA,EAAA,IAAAwY,qBAAA;AAAA,EAAA,IAAzCO,UAAU,GAAA/Y,IAAA,CAAV+Y,UAAU;IAAEC,UAAU,GAAAhZ,IAAA,CAAVgZ,UAAU;IAAEC,OAAO,GAAAjZ,IAAA,CAAPiZ,OAAO;IAAErL,CAAC,GAAA5N,IAAA,CAAD4N,CAAC;EAChE,IAAAsL,oBAAA,GACEC,qCAAmB,CAAC;AAAEJ,MAAAA,UAAU,EAAVA,UAAU;AAAEE,MAAAA,OAAO,EAAPA,OAAO;AAAED,MAAAA,UAAU,EAAVA;AAAW,KAAC,CAAC;IAD5CI,gBAAgB,GAAAF,oBAAA,CAAtBG,IAAI;IAA+BC,iBAAiB,GAAAJ,oBAAA,CAA5B5a,SAAS;EAGzC,IAAM6Z,WAAW,GAAGiB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9E,QAAQ;EAE9C,IAAAiF,qBAAA,GAAsDC,sCAAoB,CAAC;AACzET,MAAAA,UAAU,EAAVA,UAAU;AACVE,MAAAA,OAAO,EAAPA,OAAO;AACPpJ,MAAAA,OAAO,EAAE;QACP4J,SAAS,EAAE,SAAXA,SAASA,GAAA;UAAA,OACPb,iBAAM,CAACc,OAAO,CAAC9L,CAAC,CAAC,0CAA0C,CAAC,CAAC;AAAA,QAAA,CAAA;AAC/D+L,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEpb,KAAK,EAAA;AAAA,UAAA,OACZqa,iBAAM,CAACra,KAAK,CACVqb,+CAA6B,CAC3Brb,KAAK,EACLqP,CAAC,CAAC,wCAAwC,CAC5C,CACF,CAAC;AAAA,QAAA;AACL;AACF,KAAC,CAAC;IAdciM,YAAY,GAAAN,qBAAA,CAApBO,MAAM;IAA2BC,QAAQ,GAAAR,qBAAA,CAAnBS,SAAS;EAgBvC,IAAAC,sBAAA,GAAmCT,sCAAoB,CAAC;AACtDT,MAAAA,UAAU,EAAVA,UAAU;AACVE,MAAAA,OAAO,EAAPA,OAAO;AACPpJ,MAAAA,OAAO,EAAE;QACP4J,SAAS,EAAE,SAAXA,SAASA,GAAA;UAAA,OACPb,iBAAM,CAACc,OAAO,CAAC9L,CAAC,CAAC,sCAAsC,CAAC,CAAC;AAAA,QAAA,CAAA;AAC3D+L,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEpb,KAAK,EAAA;AAAA,UAAA,OACZqa,iBAAM,CAACra,KAAK,CACVqb,+CAA6B,CAC3Brb,KAAK,EACLqP,CAAC,CAAC,oCAAoC,CACxC,CACF,CAAC;AAAA,QAAA;AACL;AACF,KAAC,CAAC;IAdcsM,cAAc,GAAAD,sBAAA,CAAtBH,MAAM;AAgBd,EAAA,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA5Z,KAAA,EAAgC;AAAA,IAAA,IAA1B6I,QAAQ,GAAA7I,KAAA,CAAR6I,QAAQ;MAAEqQ,SAAS,GAAAlZ,KAAA,CAATkZ,SAAS;AACjDI,IAAAA,YAAY,CAAC;AAAEb,MAAAA,UAAU,EAAVA,UAAU;AAAEoB,MAAAA,OAAO,EAAE;AAAEhR,QAAAA,QAAQ,EAARA;AAAS;AAAE,KAAC,EAAE;AAAEqQ,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;EACpE,CAAC;AAED,EAAA,IAAMY,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAG7D,IAAI,EAAI;AAChC,IAAA,IAAM8D,WAAW,GAAG9D,IAAI,CAACxE,IAAI,EAAE;AAE/BkI,IAAAA,cAAc,CAAC;AACblB,MAAAA,UAAU,EAAVA,UAAU;AACVoB,MAAAA,OAAO,EAAE;AACP5D,QAAAA,IAAI,EAAE8D,WAAW;QACjBC,cAAc,EAAEC,6CAA2B,CAACF,WAAW;AACzD;AACF,KAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLG,YAAY,EAAE,CAAAtC,WAAW,KAAA,IAAA,IAAXA,WAAW,uBAAXA,WAAW,CAAE3B,IAAI,KAAI,EAAE;AACrC8C,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBS,IAAAA,QAAQ,EAARA,QAAQ;AACR5B,IAAAA,WAAW,EAAXA,WAAW;AACXkC,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBF,IAAAA,oBAAoB,EAApBA,oBAAoB;AACpB3M,IAAAA,WAAW,EAAE2K,WAAW,KAAA,IAAA,IAAXA,WAAW,gBAAAK,qBAAA,GAAXL,WAAW,CAAEM,YAAY,MAAA,IAAA,IAAAD,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAzBA,qBAAA,CAA2BjM;GACzC;AACH,CAAC;;;;ACtED,IAAMmO,eAAe,GAAG,SAAlBA,eAAeA,CAAGva,KAAK,EAAI;EAC/B,IAAMwa,OAAO,GAAG/R,MAAM,CAAC0L,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;AACpDoG,EAAAA,OAAO,CAACC,SAAS,GAAGza,KAAK,IAAI,EAAE;EAE/B,OAAOwa,OAAO,CAACE,WAAW,IAAIF,OAAO,CAACG,SAAS,IAAI,EAAE;AACvD,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,GAAA;EAAA,IAAAC,cAAA,EAAAC,qBAAA;AAAA,EAAA,OACd,EAAAD,cAAA,GAAApS,MAAM,CAACsS,MAAM,MAAA,IAAA,IAAAF,cAAA,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAbD,cAAA,CAAeG,UAAU,MAAA,IAAA,IAAAF,qBAAA,uBAAzBA,qBAAA,CAAAlT,IAAA,CAAAiT,cAA4B,CAAC,KAAA,EAAA,CAAA/V,MAAA,CAAOmW,IAAI,CAACC,GAAG,EAAE,EAAA,GAAA,CAAA,CAAApW,MAAA,CAAIvC,IAAI,CAAC4Y,MAAM,EAAE,CAAE;AAAA,CAAA;;AAEnE;AACO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,IAAIC,MAAM,GAAAtU,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAAA,EAAA,OAC3CsU,MAAM,CACHnJ,MAAM,CAAC,UAAA1B,KAAK,EAAA;AAAA,IAAA,OAAIA,KAAK;AAAA,EAAA,CAAA,CAAC,CACtB5Q,GAAG,CAAC,UAAA4Q,KAAK,EAAA;IAAA,OAAK;MACb6B,MAAM,EAAE/T,aAAa,CAACC,MAAM;AAC5Be,MAAAA,GAAG,EAAEkR,KAAK,CAAClR,GAAG,IAAIkR,KAAK,CAAC8K,IAAI;MAC5BC,QAAQ,EAAE/K,KAAK,CAAC+K,QAAQ,IAAI/K,KAAK,CAACpJ,EAAE,IAAI,IAAI;AAC5CkU,MAAAA,IAAI,EAAE9K,KAAK,CAAC8K,IAAI,IAAI9K,KAAK,CAAClR,GAAG;MAC7BQ,KAAK,EAAEya,eAAe,CAAC/J,KAAK,CAAC1Q,KAAK,IAAI,EAAE,CAAC;MACzC+G,IAAI,EAAE2J,KAAK,CAAC3J,IAAI;MAChB7E,IAAI,EAAEwO,KAAK,CAACxO,IAAI;MAChBwZ,SAAS,EAAEhL,KAAK,CAACgL,SAAS,IAAIhL,KAAK,CAAC3J,IAAI,IAAI;KAC7C;AAAA,EAAA,CAAC,CAAC;AAAA,CAAA;AAEA,IAAM4U,YAAY,GAAG,SAAfA,YAAYA,CAAA5b,IAAA,EAAA;AAAA,EAAA,IAAA6b,eAAA;AAAA,EAAA,IAAMlL,KAAK,GAAA3Q,IAAA,CAAL2Q,KAAK;IAAElH,IAAI,GAAAzJ,IAAA,CAAJyJ,IAAI;IAAEtG,KAAK,GAAAnD,IAAA,CAALmD,KAAK;AAAA,EAAA,OAAA4B,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA;IAC/CwC,EAAE,EAAEwT,UAAU,EAAE;IAChBvI,MAAM,EAAE7B,KAAK,CAAC6B,MAAM;IACpBsJ,SAAS,EAAEnL,KAAK,CAAClR,GAAG;IACpBic,QAAQ,EAAA,CAAAG,eAAA,GAAElL,KAAK,CAAC+K,QAAQ,MAAA,IAAA,IAAAG,eAAA,KAAA,MAAA,GAAAA,eAAA,GAAI,IAAI;IAChC5b,KAAK,EAAE0Q,KAAK,CAAC1Q,KAAK;IAClB+G,IAAI,EAAE2J,KAAK,CAAC3J,IAAI;AAChByC,IAAAA,IAAI,EAAJA;GAAI,EACDjI,WAAW,GACXR,aAAa,CAAA,EAAA,EAAA,EAAA;IAChBE,QAAQ,EAAEgC,0BAA0B,CAACC,KAAK;AAAC,GAAA,CAAA;AAAA,CAC3C;;;;AC9BF,IAAM4Y,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA/b,IAAA,EAAoC;AAAA,EAAA,IAA9BgZ,UAAU,GAAAhZ,IAAA,CAAVgZ,UAAU;IAAEb,WAAW,GAAAnY,IAAA,CAAXmY,WAAW;AACpD,EAAA,IAAA5T,SAAA,GAAgCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAArC6E,IAAAA,QAAQ,GAAA3E,UAAA,CAAA,CAAA,CAAA;AAAEuX,IAAAA,WAAW,GAAAvX,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAwX,UAAA,GAAoCzX,cAAQ,CAAC,IAAI,CAAC;IAAA0X,UAAA,GAAAxX,cAAA,CAAAuX,UAAA,EAAA,CAAA,CAAA;AAA3C5S,IAAAA,UAAU,GAAA6S,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;EAChC,IAAAE,UAAA,GAAoC5X,cAAQ,CAAC,YAAA;MAAA,OAAM,IAAI4J,GAAG,EAAE;IAAA,CAAA,CAAC;IAAAiO,UAAA,GAAA3X,cAAA,CAAA0X,UAAA,EAAA,CAAA,CAAA;AAAtDE,IAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAG,UAAA,GAA8BhY,cAAQ,CAAC,KAAK,CAAC;IAAAiY,UAAA,GAAA/X,cAAA,CAAA8X,UAAA,EAAA,CAAA,CAAA;AAAtCE,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAE1B,EAAA,IAAMG,eAAe,GAAGvY,YAAM,CAAC,IAAI,CAAC;AACpC,EAAA,IAAMwY,cAAc,GAAGxY,YAAM,CAAC,IAAI,CAAC;AAEnC2F,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI,EAAEmO,WAAW,IAAI0E,cAAc,CAAClW,OAAO,KAAKqS,UAAU,CAAC,EAAE;IAE7D6D,cAAc,CAAClW,OAAO,GAAGqS,UAAU;AACnCgD,IAAAA,WAAW,CAAC7D,WAAW,CAAC/O,QAAQ,IAAI,EAAE,CAAC;IACvCuT,UAAU,CAAC,KAAK,CAAC;AACnB,EAAA,CAAC,EAAE,CAACxE,WAAW,EAAEa,UAAU,CAAC,CAAC;EAE7B,IAAM8D,eAAe,GAAGC,kBAAQ,CAAC1T,UAAU,EAAED,QAAQ,CAAC,IAAI,IAAI;AAE9D,EAAA,IAAM4T,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,OAAO,EAAI;IAChCjB,WAAW,CAACiB,OAAO,CAAC;IACpBN,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC;AAED,EAAA,IAAMO,cAAc,GAAG,SAAjBA,cAAcA,CAAGvM,KAAK,EAAI;IAC9B,IAAM/M,OAAO,GAAGgY,YAAY,CAAC;AAAEjL,MAAAA,KAAK,EAALA,KAAK;AAAElH,MAAAA,IAAI,EAAE,CAAC;AAAEtG,MAAAA,KAAK,EAAEmZ,UAAU,CAACpO,GAAG,CAAC,CAAC;AAAE,KAAC,CAAC;AAC1E8O,IAAAA,cAAc,CAACG,YAAM,CAACvZ,OAAO,CAAC,CAAC;AAC/BuY,IAAAA,aAAa,CAACvY,OAAO,CAAC2D,EAAE,CAAC;EAC3B,CAAC;AAED,EAAA,IAAM6V,eAAe,GAAG,SAAlBA,eAAeA,CAAA7c,KAAA,EAAoC;AAAA,IAAA,IAA9BmJ,UAAU,GAAAnJ,KAAA,CAAVmJ,UAAU;MAAEvG,KAAK,GAAA5C,KAAA,CAAL4C,KAAK;MAAEzD,CAAC,GAAAa,KAAA,CAADb,CAAC;MAAEC,CAAC,GAAAY,KAAA,CAADZ,CAAC;AAChD,IAAA,IAAMgR,KAAK,GAAGiM,eAAe,CAACjW,OAAO;IACrC,IAAI,CAACgK,KAAK,EAAE;AAEZ,IAAA,IAAM/M,OAAO,GAAAmB,aAAA,CAAAA,aAAA,CAAA,EAAA,EACR6W,YAAY,CAAC;AAAEjL,MAAAA,KAAK,EAALA,KAAK;AAAElH,MAAAA,IAAI,EAAEC,UAAU;AAAEvG,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AACnDzD,MAAAA,CAAC,EAAE6C,KAAK,CAAC7C,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG8B,WAAW,CAACG,KAAK,CAAC;MACrChC,CAAC,EAAE4C,KAAK,CAAC5C,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG6B,WAAW,CAACI,MAAM;KAAC,CACvC;AAEDob,IAAAA,cAAc,CAACG,YAAM,CAACvZ,OAAO,CAAC,CAAC;AAC/BuY,IAAAA,aAAa,CAACvY,OAAO,CAAC2D,EAAE,CAAC;EAC3B,CAAC;AAED,EAAA,IAAM8V,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAI9V,EAAE,EAAEtB,KAAK,EAAA;IAAA,OACpC+W,cAAc,CAAC,UAAAhS,IAAI,EAAA;AAAA,MAAA,OACjBA,IAAI,CAACjL,GAAG,CAAC,UAAA6D,OAAO,EAAA;AAAA,QAAA,OACdA,OAAO,CAAC2D,EAAE,KAAKA,EAAE,GAAAxC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAQnB,OAAO,CAAA,EAAKqC,KAAK,IAAKrC,OAAO;AAAA,MAAA,CACxD,CAAC;AAAA,IAAA,CACH,CAAC;AAAA,EAAA,CAAA;EAEH,IAAM0Z,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAI5T,UAAU,EAAEvG,KAAK,EAAK;IACnDoZ,aAAa,CAAC,UAAAvR,IAAI,EAAI;MACpB,IAAIA,IAAI,CAACkD,GAAG,CAACxE,UAAU,CAAC,KAAKvG,KAAK,EAAE,OAAO6H,IAAI;AAE/C,MAAA,IAAMuS,cAAc,GAAG,IAAInP,GAAG,CAACpD,IAAI,CAAC;AACpCuS,MAAAA,cAAc,CAACpP,GAAG,CAACzE,UAAU,EAAEvG,KAAK,CAAC;AAErC,MAAA,OAAOoa,cAAc;AACvB,IAAA,CAAC,CAAC;EACJ,CAAC;AAED,EAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGjW,EAAE,EAAI;IAChCyV,cAAc,CAAC,UAAAhS,IAAI,EAAA;AAAA,MAAA,OAAIyS,oBAAU,CAAClW,EAAE,EAAEyD,IAAI,CAAC;IAAA,CAAA,CAAC;IAC5CmR,aAAa,CAAC,UAAAxV,OAAO,EAAA;AAAA,MAAA,OAAKA,OAAO,KAAKY,EAAE,GAAG,IAAI,GAAGZ,OAAO;AAAA,IAAA,CAAC,CAAC;EAC7D,CAAC;AAED,EAAA,IAAM+W,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC/Bd,eAAe,CAACjW,OAAO,GAAG,IAAI;EAChC,CAAC;AAED,EAAA,IAAMgX,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGhN,KAAK,EAAI;IACpCiM,eAAe,CAACjW,OAAO,GAAGgK,KAAK;EACjC,CAAC;EAED,OAAO;AACLuM,IAAAA,cAAc,EAAdA,cAAc;AACdG,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBK,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,IAAAA,oBAAoB,EAApBA,oBAAoB;AACpBP,IAAAA,eAAe,EAAfA,eAAe;AACfE,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBE,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBd,IAAAA,OAAO,EAAPA,OAAO;AACPtT,IAAAA,QAAQ,EAARA,QAAQ;AACRC,IAAAA,UAAU,EAAVA,UAAU;AACVyT,IAAAA,eAAe,EAAfA,eAAe;AACfH,IAAAA,UAAU,EAAVA,UAAU;AACVR,IAAAA,aAAa,EAAbA;GACD;AACH,CAAC;;AC/FD,IAAMyB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA5d,IAAA,EAMpB;AAAA,EAAA,IALJ6d,cAAc,GAAA7d,IAAA,CAAd6d,cAAc;IACdC,YAAY,GAAA9d,IAAA,CAAZ8d,YAAY;IACZC,mBAAmB,GAAA/d,IAAA,CAAnB+d,mBAAmB;IACnBC,WAAW,GAAAhe,IAAA,CAAXge,WAAW;IACX7B,aAAa,GAAAnc,IAAA,CAAbmc,aAAa;AAEb,EAAA,IAAA5X,SAAA,GAAgDC,cAAQ,CAACwZ,WAAW,CAAC;IAAAvZ,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9D0Z,IAAAA,gBAAgB,GAAAxZ,UAAA,CAAA,CAAA,CAAA;AAAEyZ,IAAAA,mBAAmB,GAAAzZ,UAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAwX,UAAA,GAAkCzX,cAAQ,CAACvG,YAAY,CAACC,GAAG,CAAC;IAAAge,UAAA,GAAAxX,cAAA,CAAAuX,UAAA,EAAA,CAAA,CAAA;AAArDkC,IAAAA,SAAS,GAAAjC,UAAA,CAAA,CAAA,CAAA;AAAEkC,IAAAA,YAAY,GAAAlC,UAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,IAAMrY,IAAI,GAAGga,cAAc,IAAIM,SAAS;AACxC,EAAA,IAAMtZ,SAAS,GAAGhB,IAAI,KAAK5F,YAAY,CAACE,OAAO;AAC/C,EAAA,IAAMkgB,kBAAkB,GAAGN,mBAAmB,GAC1CC,WAAW,GACXC,gBAAgB;AAEpBjU,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI,CAACnF,SAAS,EAAE;IAEhBsX,aAAa,CAAC,IAAI,CAAC;IACnB+B,mBAAmB,CAAC,CAAC,CAAC;AACtBH,IAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,MAAA,IAAnBA,mBAAmB,CAAG,CAAC,CAAC;EAC1B,CAAC,EAAE,CAAClZ,SAAS,EAAEkZ,mBAAmB,EAAE5B,aAAa,CAAC,CAAC;AAEnD,EAAA,IAAMmC,cAAc,GAAG,SAAjBA,cAAcA,CAAG7U,IAAI,EAAI;IAC7ByU,mBAAmB,CAACzU,IAAI,CAAC;AACzBsU,IAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,MAAA,IAAnBA,mBAAmB,CAAGtU,IAAI,CAAC;EAC7B,CAAC;AAED,EAAA,IAAM8U,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,QAAQ,EAAI;IACnCJ,YAAY,CAACI,QAAQ,CAAC;AACtBV,IAAAA,YAAY,aAAZA,YAAY,KAAA,MAAA,IAAZA,YAAY,CAAGU,QAAQ,CAAC;EAC1B,CAAC;EAED,OAAO;AACLH,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBE,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB1Z,IAAAA,SAAS,EAATA,SAAS;AACThB,IAAAA,IAAI,EAAJA,IAAI;AACJya,IAAAA,cAAc,EAAdA;GACD;AACH,CAAC;;ACzCD,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAze,IAAA,EAAmD;AAAA,EAAA,IAA7CyJ,IAAI,GAAAzJ,IAAA,CAAJyJ,IAAI;IAAEiV,KAAK,GAAA1e,IAAA,CAAL0e,KAAK;IAAEpgB,SAAS,GAAA0B,IAAA,CAAT1B,SAAS;IAAEqgB,MAAM,GAAA3e,IAAA,CAAN2e,MAAM;IAAEC,MAAM,GAAA5e,IAAA,CAAN4e,MAAM;AAC5D,EAAA,IAAAlR,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAI,CAACtP,SAAS,IAAIogB,KAAK,KAAK,CAAC,EAAE;AAC7B,IAAA,oBACEzW,cAAA,CAAA,KAAA,EAAA;AAAKrI,MAAAA,SAAS,EAAC,qEAAqE;MAAA2I,QAAA,eAClFN,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,QAAAA,SAAS,EAAC,uBAAuB;AAAC2O,QAAAA,OAAO,EAAC,OAAO;QAAAhG,QAAA,EAC1DqF,CAAC,CAAC,oDAAoD;OAC7C;AAAC,KACV,CAAC;AAEV,EAAA;AAEA,EAAA,oBACEpF,eAAA,CAAA,KAAA,EAAA;AAAK5I,IAAAA,SAAS,EAAC,sFAAsF;IAAA2I,QAAA,EAAA,cACnGN,cAAA,CAACsI,iBAAM,EAAA;AACLsO,MAAAA,QAAQ,EAAEpV,IAAI,IAAI,CAAC,IAAInL,SAAU;AACjC6D,MAAAA,IAAI,EAAE2c,IAAK;AACX5P,MAAAA,IAAI,EAAC,OAAO;AACZX,MAAAA,OAAO,EAAC,OAAO;AACfG,MAAAA,OAAO,EAAEiQ;AAAO,KACjB,CAAC,eACF1W,cAAA,CAACqG,qBAAU,EAAA;AAAC1O,MAAAA,SAAS,EAAC,wBAAwB;AAAC2O,MAAAA,OAAO,EAAC,OAAO;AAAAhG,MAAAA,QAAA,EAC3DqF,CAAC,CAAC,8CAA8C,EAAE;AACjDnE,QAAAA,IAAI,EAAJA,IAAI;AACJiV,QAAAA,KAAK,EAALA;OACD;AAAC,KACQ,CAAC,eACbzW,cAAA,CAACsI,iBAAM,EAAA;AACLsO,MAAAA,QAAQ,EAAEpV,IAAI,IAAIiV,KAAK,IAAIpgB,SAAU;AACrC6D,MAAAA,IAAI,EAAE4c,KAAM;AACZ7P,MAAAA,IAAI,EAAC,OAAO;AACZX,MAAAA,OAAO,EAAC,OAAO;AACfG,MAAAA,OAAO,EAAEkQ;AAAO,KACjB,CAAC;AAAA,GACC,CAAC;AAEV,CAAC;;ACrCD,IAAMI,aAAY,GAAG,SAAfA,YAAYA,CAAG7e,KAAK,EAAI;EAC5B,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKiH,SAAS,EAAE,OAAO,EAAE;AAEpD,EAAA,IAAI6X,KAAK,CAACC,OAAO,CAAC/e,KAAK,CAAC,EAAE;AACxB,IAAA,OAAOA,KAAK,CAACJ,GAAG,CAACif,aAAY,CAAC,CAAC3M,MAAM,CAAC8M,OAAO,CAAC,CAAC9L,IAAI,CAAC,IAAI,CAAC;AAC3D,EAAA;AAEA,EAAA,IAAI+L,OAAA,CAAOjf,KAAK,CAAA,KAAK,QAAQ,EAAE;IAC7B,IAAI,OAAO,IAAIA,KAAK,EAAE,OAAO6e,aAAY,CAAC7e,KAAK,CAACA,KAAK,CAAC;IAEtD,IAAI,OAAO,IAAIA,KAAK,EAAE,OAAO6e,aAAY,CAAC7e,KAAK,CAACF,KAAK,CAAC;AAEtD,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,OAAOof,MAAM,CAAClf,KAAK,CAAC;AACtB,CAAC;;AAED;AACA;AACO,IAAMmf,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAtf,IAAA,EAK1B;AAAA,EAAA,IAJJ4D,OAAO,GAAA5D,IAAA,CAAP4D,OAAO;IAAA2b,oBAAA,GAAAvf,IAAA,CACPwf,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IACpBE,IAAI,GAAAzf,IAAA,CAAJyf,IAAI;IACJC,UAAU,GAAA1f,IAAA,CAAV0f,UAAU;AAEV,EAAA,IAAI9b,OAAO,CAAC4O,MAAM,KAAK/T,aAAa,CAACI,MAAM,EAAE;IAC3C,QAAQ+E,OAAO,CAACkY,SAAS;MACvB,KAAKja,iBAAiB,CAACC,SAAS;AAC9B,QAAA,OAAO,CAAA2d,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnO,KAAK,MAAImO,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEjJ,IAAI,KAAI,EAAE;MACxC,KAAK3U,iBAAiB,CAACE,aAAa;QAClC,OAAO,CAAA2d,UAAU,KAAA,IAAA,IAAVA,UAAU,uBAAVA,UAAU,CAAEnY,EAAE,KAAI,EAAE;MAC7B,KAAK1F,iBAAiB,CAACG,eAAe;AACpC,QAAA,OAAO0d,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAEC,SAAS,GACxBC,gBAAU,CAACC,QAAQ,CAACH,UAAU,CAACC,SAAS,CAAC,GACzC,EAAE;AACR,MAAA;AACE,QAAA,OAAO,EAAE;AACb;AACF,EAAA;EAEA,OAAOX,aAAY,CAACQ,eAAe,CAAC5b,OAAO,CAACkY,SAAS,CAAC,CAAC;AACzD,CAAC;;AAED;AACO,IAAMgE,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAA;AAAA,EAAA,IAAIC,SAAS,GAAA7Y,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OACjD6Y,SAAS,CAAChS,MAAM,CAAC,UAACiS,GAAG,EAAE1K,QAAQ,EAAK;IAClC,IAAI,CAAAA,QAAQ,KAAA,IAAA,IAARA,QAAQ,uBAARA,QAAQ,CAAEmG,IAAI,MAAKrU,SAAS,EAAE4Y,GAAG,CAAC1K,QAAQ,CAACmG,IAAI,CAAC,GAAGnG,QAAQ,CAACnV,KAAK;AAErE,IAAA,OAAO6f,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AAAA,CAAA;;AC/CR,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAjgB,IAAA,EAiBN;AAAA,EAAA,IAhBJwW,IAAI,GAAAxW,IAAA,CAAJwW,IAAI;IACJ0J,QAAQ,GAAAlgB,IAAA,CAARkgB,QAAQ;IACRC,SAAS,GAAAngB,IAAA,CAATmgB,SAAS;IACTC,OAAO,GAAApgB,IAAA,CAAPogB,OAAO;IACPvb,SAAS,GAAA7E,IAAA,CAAT6E,SAAS;IACT7B,IAAI,GAAAhD,IAAA,CAAJgD,IAAI;IACJqd,QAAQ,GAAArgB,IAAA,CAARqgB,QAAQ;IACRC,SAAS,GAAAtgB,IAAA,CAATsgB,SAAS;IACTC,UAAU,GAAAvgB,IAAA,CAAVugB,UAAU;IACVlI,aAAa,GAAArY,IAAA,CAAbqY,aAAa;IACbmI,WAAW,GAAAxgB,IAAA,CAAXwgB,WAAW;IACXC,MAAM,GAAAzgB,IAAA,CAANygB,MAAM;IACN1G,QAAQ,GAAA/Z,IAAA,CAAR+Z,QAAQ;IACR2C,OAAO,GAAA1c,IAAA,CAAP0c,OAAO;IACPgE,MAAM,GAAA1gB,IAAA,CAAN0gB,MAAM;IACN5C,YAAY,GAAA9d,IAAA,CAAZ8d,YAAY;AAEZ,EAAA,IAAApQ,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,IAAM+S,WAAW,GAAG,CAClB;IACElhB,GAAG,EAAExB,YAAY,CAACC,GAAG;AACrB+B,IAAAA,KAAK,EAAE2N,CAAC,CAAC,wCAAwC,CAAC;AAClDgT,IAAAA,EAAE,EAAE,MAAM;IACVnS,QAAQ,EAAE,SAAVA,QAAQA,GAAA;AAAA,MAAA,OAAQ,CAAC5J,SAAS;AAAA,IAAA,CAAA;AAC1B6J,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEhI,KAAK,EAAI;MAChBA,KAAK,CAACY,cAAc,EAAE;AACtBwW,MAAAA,YAAY,CAAC7f,YAAY,CAACC,GAAG,CAAC;AAChC,IAAA;AACF,GAAC,EACD;IACEuB,GAAG,EAAExB,YAAY,CAACE,OAAO;AACzB8B,IAAAA,KAAK,EAAE2N,CAAC,CAAC,8CAA8C,CAAC;AACxDgT,IAAAA,EAAE,EAAE,UAAU;IACdnS,QAAQ,EAAE,SAAVA,QAAQA,GAAA;AAAA,MAAA,OAAQ5J,SAAS;AAAA,IAAA,CAAA;AACzB6J,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEhI,KAAK,EAAI;MAChBA,KAAK,CAACY,cAAc,EAAE;AACtBwW,MAAAA,YAAY,CAAC7f,YAAY,CAACE,OAAO,CAAC;AACpC,IAAA;AACF,GAAC,CACF;EAED,IAAM0iB,gBAAgB,gBACpBrY,eAAA,CAAA,KAAA,EAAA;AAAK5I,IAAAA,SAAS,EAAC,4CAA4C;AAAA2I,IAAAA,QAAA,gBACzDC,eAAA,CAAA,KAAA,EAAA;AAAK5I,MAAAA,SAAS,EAAC,yBAAyB;MAAA2I,QAAA,EAAA,cACtCN,cAAA,CAACsI,iBAAM,EAAA;AACLsO,QAAAA,QAAQ,EAAE7b,IAAI,IAAIxF,IAAI,CAACC,GAAI;AAC3B0E,QAAAA,IAAI,EAAE2e,KAAM;AACZ5R,QAAAA,IAAI,EAAC,OAAO;AACZX,QAAAA,OAAO,EAAC,OAAO;AACfG,QAAAA,OAAO,EAAE4R;AAAU,OACpB,CAAC,eACF9X,eAAA,CAAC8F,qBAAU,EAAA;AAAC1O,QAAAA,SAAS,EAAC,kBAAkB;AAAC2O,QAAAA,OAAO,EAAC,OAAO;QAAAhG,QAAA,EAAA,CACrD7F,IAAI,CAACY,KAAK,CAACN,IAAI,GAAG,GAAG,CAAC,EAAC,GAC1B;AAAA,OAAY,CAAC,eACbiF,cAAA,CAACsI,iBAAM,EAAA;AACLsO,QAAAA,QAAQ,EAAE7b,IAAI,IAAIxF,IAAI,CAACE,GAAI;AAC3ByE,QAAAA,IAAI,EAAE4e,IAAK;AACX7R,QAAAA,IAAI,EAAC,OAAO;AACZX,QAAAA,OAAO,EAAC,OAAO;AACfG,QAAAA,OAAO,EAAE2R;AAAS,OACnB,CAAC;AAAA,KACC,CAAC,eACNpY,cAAA,CAACsI,iBAAM,EAAA;MACLsO,QAAQ,EAAE,CAAC2B,WAAY;AACvBre,MAAAA,IAAI,EAAE6e,QAAS;AACf/gB,MAAAA,KAAK,EAAE2N,CAAC,CAAC,0CAA0C,CAAE;AACrDqT,MAAAA,OAAO,EAAE5I,aAAc;AACvB9J,MAAAA,OAAO,EAAC,WAAW;AACnB2S,MAAAA,YAAY,EAAE;QACZC,OAAO,EAAEX,WAAW,GAChB5S,CAAC,CAAC,8CAA8C,CAAC,GACjDA,CAAC,CAAC,2CAA2C;OACjD;AACFc,MAAAA,OAAO,EAAE6R;AAAW,KACrB,CAAC,eACFtY,cAAA,CAACsI,iBAAM,EAAA;MACLsO,QAAQ,EAAE,CAACnC,OAAQ;AACnBzc,MAAAA,KAAK,EAAE2N,CAAC,CAAC,sBAAsB,CAAE;AACjCqT,MAAAA,OAAO,EAAElH,QAAS;AAClBrL,MAAAA,OAAO,EAAE+R;AAAO,KACjB,CAAC;AAAA,GACC,CACN;EAED,oBACExY,cAAA,CAACmZ,gBAAgB,EAAA;AACTP,IAAAA,gBAAgB,EAAhBA,gBAAgB;AACtBQ,IAAAA,eAAe,eACbpZ,cAAA,CAACmZ,gBAAgB,CAACE,eAAe,EAAA;MAC/BlB,OAAO,EAAEA,OAAO,IAAI,GAAI;AACxBmB,MAAAA,eAAe,EAAE;AACfpf,QAAAA,IAAI,eAAE8F,cAAA,CAACuZ,SAAS,IAAE,CAAC;AACnBC,QAAAA,OAAO,EAAE;AACPN,UAAAA,OAAO,EAAEvT,CAAC,CAAC,mCAAmC,CAAC;AAC/C8T,UAAAA,QAAQ,EAAE;SACX;AACDhT,QAAAA,OAAO,EAAEgS;OACT;AACFiB,MAAAA,WAAW,EAAE;AACXxhB,QAAAA,KAAK,EAAEqW,IAAI;QACXqI,QAAQ,EAAE,CAACsB,SAAS;AACpBxN,QAAAA,WAAW,EAAE/E,CAAC,CAAC,0CAA0C,CAAC;AAC1DsS,QAAAA,QAAQ,EAARA;AACF;AAAE,KACH,CACF;AACD0B,IAAAA,eAAe,eACb3Z,cAAA,CAACmZ,gBAAgB,CAACS,eAAe,EAAA;AACzBlB,MAAAA,WAAW,EAAXA,WAAW;AACjBmB,MAAAA,eAAe,EAAE;KAClB;AACF,GACF,CAAC;AAEN,CAAC;;ACpGD,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,EAAA,oBACrB9Z,cAAA,CAAA,KAAA,EAAA;AAAKrI,IAAAA,SAAS,EAAC,mEAAmE;AAAA2I,IAAAA,QAAA,eAChFN,cAAA,CAACoG,kBAAO,EAAA,EAAE;AAAC,GACR,CAAC;AAAA,CACP;AAED,IAAM2T,aAAa,GAAG,SAAhBA,aAAaA,CAAAhiB,IAAA,EAgBb;AAAA,EAAA,IAfJ+Y,UAAU,GAAA/Y,IAAA,CAAV+Y,UAAU;IACVE,OAAO,GAAAjZ,IAAA,CAAPiZ,OAAO;IACPD,UAAU,GAAAhZ,IAAA,CAAVgZ,UAAU;IAAAiJ,cAAA,GAAAjiB,IAAA,CACVmgB,SAAS;AAATA,IAAAA,SAAS,GAAA8B,cAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,cAAA;IAAAC,WAAA,GAAAliB,IAAA,CAChBwb,MAAM;AAANA,IAAAA,MAAM,GAAA0G,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IAAAC,gBAAA,GAAAniB,IAAA,CACXoiB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAChB/J,aAAa,GAAApY,IAAA,CAAboY,aAAa;IAAAiK,iBAAA,GAAAriB,IAAA,CACbsiB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,iBAAA;IAAAE,gBAAA,GAAAviB,IAAA,CAChBge,WAAW;AAAXA,IAAAA,WAAW,GAAAuE,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;IAAAC,qBAAA,GAAAxiB,IAAA,CACfyiB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAClB3E,cAAc,GAAA7d,IAAA,CAApB6D,IAAI;IACJuc,OAAO,GAAApgB,IAAA,CAAPogB,OAAO;IACPM,MAAM,GAAA1gB,IAAA,CAAN0gB,MAAM;IACN5C,YAAY,GAAA9d,IAAA,CAAZ8d,YAAY;IACZC,mBAAmB,GAAA/d,IAAA,CAAnB+d,mBAAmB;AAEnB,EAAA,IAAArQ,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAArJ,SAAA,GAAwBC,cAAQ,CAAChH,IAAI,CAACI,OAAO,CAAC;IAAA6G,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCvB,IAAAA,IAAI,GAAAyB,UAAA,CAAA,CAAA,CAAA;AAAEie,IAAAA,OAAO,GAAAje,UAAA,CAAA,CAAA,CAAA;EAEpB,IAAAke,qBAAA,GAQI7J,oBAAoB,CAAC;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAAEC,MAAAA,OAAO,EAAPA,OAAO;AAAErL,MAAAA,CAAC,EAADA;AAAE,KAAC,CAAC;IAP9D6M,YAAY,GAAAkI,qBAAA,CAAZlI,YAAY;IACZnB,iBAAiB,GAAAqJ,qBAAA,CAAjBrJ,iBAAiB;IACjBS,QAAQ,GAAA4I,qBAAA,CAAR5I,QAAQ;IACR5B,WAAW,GAAAwK,qBAAA,CAAXxK,WAAW;IACXkC,iBAAiB,GAAAsI,qBAAA,CAAjBtI,iBAAiB;IACjBF,oBAAoB,GAAAwI,qBAAA,CAApBxI,oBAAoB;IACpB3M,WAAW,GAAAmV,qBAAA,CAAXnV,WAAW;EAGb,IAAAoV,oBAAA,GAcI7G,mBAAmB,CAAC;AAAE/C,MAAAA,UAAU,EAAVA,UAAU;AAAEb,MAAAA,WAAW,EAAXA;AAAY,KAAC,CAAC;IAblD+E,cAAc,GAAA0F,oBAAA,CAAd1F,cAAc;IACdG,mBAAmB,GAAAuF,oBAAA,CAAnBvF,mBAAmB;IACnBK,kBAAkB,GAAAkF,oBAAA,CAAlBlF,kBAAkB;IAClBC,oBAAoB,GAAAiF,oBAAA,CAApBjF,oBAAoB;IACpBP,eAAe,GAAAwF,oBAAA,CAAfxF,eAAe;IACfE,qBAAqB,GAAAsF,oBAAA,CAArBtF,qBAAqB;IACrBE,mBAAmB,GAAAoF,oBAAA,CAAnBpF,mBAAmB;IACnBd,OAAO,GAAAkG,oBAAA,CAAPlG,OAAO;IACPtT,QAAQ,GAAAwZ,oBAAA,CAARxZ,QAAQ;IACRC,UAAU,GAAAuZ,oBAAA,CAAVvZ,UAAU;IACVyT,eAAe,GAAA8F,oBAAA,CAAf9F,eAAe;IACfH,UAAU,GAAAiG,oBAAA,CAAVjG,UAAU;IACVR,aAAa,GAAAyG,oBAAA,CAAbzG,aAAa;EAGf,IAAA0G,qBAAA,GAMIjF,oBAAoB,CAAC;AACvBC,MAAAA,cAAc,EAAdA,cAAc;AACdC,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,WAAW,EAAXA,WAAW;AACX7B,MAAAA,aAAa,EAAbA;AACF,KAAC,CAAC;IAXAkC,kBAAkB,GAAAwE,qBAAA,CAAlBxE,kBAAkB;IAClBE,gBAAgB,GAAAsE,qBAAA,CAAhBtE,gBAAgB;IAChB1Z,SAAS,GAAAge,qBAAA,CAAThe,SAAS;IACThB,IAAI,GAAAgf,qBAAA,CAAJhf,IAAI;IACJya,cAAc,GAAAuE,qBAAA,CAAdvE,cAAc;EAShB,IAAM7M,YAAY,GAAG5H,aAAO,CAAC,YAAA;IAAA,OAAM0R,iBAAiB,CAACC,MAAM,CAAC;EAAA,CAAA,EAAE,CAACA,MAAM,CAAC,CAAC;EAEvE,IAAM9J,YAAY,GAAG7H,aAAO,CAC1B,YAAA;AAAA,IAAA,OACE5H,aAAa,CAAClC,GAAG,CAAC,UAAAQ,KAAA,EAAA;AAAA,MAAA,IAAGd,GAAG,GAAAc,KAAA,CAAHd,GAAG;QAAEyC,QAAQ,GAAA3B,KAAA,CAAR2B,QAAQ;QAAEC,IAAI,GAAA5B,KAAA,CAAJ4B,IAAI;MAAA,OAAQ;QAC9CqQ,MAAM,EAAE/T,aAAa,CAACI,MAAM;AAC5BY,QAAAA,GAAG,EAAHA,GAAG;AACHQ,QAAAA,KAAK,EAAE2N,CAAC,CAAC1L,QAAQ,CAAC;AAClByZ,QAAAA,SAAS,EAAE/N,CAAC,CAAC,qCAAqC,CAAC;AACnD5G,QAAAA,IAAI,EAAEvH,GAAG;AACT0C,QAAAA,IAAI,EAAJA;OACD;AAAA,IAAA,CAAC,CAAC;EAAA,CAAA,EACL,CAACyL,CAAC,CACJ,CAAC;EAED,IAAM4R,eAAe,GAAG3V,aAAO,CAC7B,YAAA;IAAA,OAAMiW,oBAAoB,CAAC1H,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAE2H,SAAS,CAAC;EAAA,CAAA,EACpD,CAAC3H,aAAa,CAChB,CAAC;AAED,EAAA,IAAM9O,YAAY,GAAG,SAAfA,YAAYA,CAAG1F,OAAO,EAAA;AAAA,IAAA,OAC1B0b,mBAAmB,CAAC;AAClB1b,MAAAA,OAAO,EAAPA,OAAO;AACP4b,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,IAAI,EAAE2C,WAAW;AACjB1C,MAAAA,UAAU,EAAEtH;AACd,KAAC,CAAC;AAAA,EAAA,CAAA;EAEJ,IAAA0K,eAAA,GAAuC5K,cAAc,CAAC;AACpD9O,MAAAA,QAAQ,EAARA,QAAQ;AACR+O,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,aAAa,EAAbA,aAAa;AACb9O,MAAAA,YAAY,EAAZA,YAAY;AACZsE,MAAAA,CAAC,EAADA;AACF,KAAC,CAAC;IANM2K,WAAW,GAAAuK,eAAA,CAAXvK,WAAW;IAAEF,aAAa,GAAAyK,eAAA,CAAbzK,aAAa;AAQlC,EAAA,IAAM0K,UAAU,GAAG,SAAbA,UAAUA,GAAA;AAAA,IAAA,OACd5I,oBAAoB,CAAC;AAAE/Q,MAAAA,QAAQ,EAARA,QAAQ;MAAEqQ,SAAS,EAAE,SAAXA,SAASA,GAAA;QAAA,OAAQkD,UAAU,CAAC,KAAK,CAAC;AAAA,MAAA;AAAC,KAAC,CAAC;AAAA,EAAA,CAAA;AAExE,EAAA,IAAIrD,iBAAiB,EAAE,oBAAOrR,cAAA,CAAC8Z,iBAAiB,IAAE,CAAC;EAEnD,oBAAOiB,qBAAY,cACjBxa,eAAA,CAAA,KAAA,EAAA;AAAK5I,IAAAA,SAAS,EAAC,gDAAgD;IAAA2I,QAAA,EAAA,cAC7DN,cAAA,CAACgY,MAAM,EAAA;AAEHE,MAAAA,SAAS,EAATA,SAAS;AACTnH,MAAAA,UAAU,EAAVA,UAAU;AACVoH,MAAAA,OAAO,EAAPA,OAAO;AACP1D,MAAAA,OAAO,EAAPA,OAAO;AACPrE,MAAAA,aAAa,EAAbA,aAAa;AACbxT,MAAAA,SAAS,EAATA,SAAS;AACTkV,MAAAA,QAAQ,EAARA,QAAQ;AACRlW,MAAAA,IAAI,EAAJA,IAAI;AACJ6c,MAAAA,MAAM,EAANA,MAAM;AACN1d,MAAAA,IAAI,EAAJA,IAAI;AAENwd,MAAAA,WAAW,EAAE3b,SAAS,IAAIsa,OAAO,CAAC/G,aAAa,CAAE;AACjD5B,MAAAA,IAAI,EAAEiE,YAAa;AACnB8F,MAAAA,UAAU,EAAEhI,WAAY;AACxBuF,MAAAA,YAAY,EAAES,gBAAiB;AAC/B2B,MAAAA,QAAQ,EAAE7F,iBAAkB;AAC5BoG,MAAAA,MAAM,EAAEsC,UAAW;MACnB1C,QAAQ,EAAE,SAAVA,QAAQA,GAAA;QAAA,OACNqC,OAAO,CAAC,UAAAviB,KAAK,EAAA;AAAA,UAAA,OAAIoC,KAAK,CAACpC,KAAK,GAAG3C,IAAI,CAACG,IAAI,EAAEH,IAAI,CAACC,GAAG,EAAED,IAAI,CAACE,GAAG,CAAC;QAAA,CAAA,CAAC;MAAA,CAC/D;MACD4iB,SAAS,EAAE,SAAXA,SAASA,GAAA;QAAA,OACPoC,OAAO,CAAC,UAAAviB,KAAK,EAAA;AAAA,UAAA,OAAIoC,KAAK,CAACpC,KAAK,GAAG3C,IAAI,CAACG,IAAI,EAAEH,IAAI,CAACC,GAAG,EAAED,IAAI,CAACE,GAAG,CAAC;QAAA,CAAA,CAAC;AAAA,MAAA;KAEjE,CAAC,eACF8K,eAAA,CAAA,KAAA,EAAA;AAAK5I,MAAAA,SAAS,EAAC,mCAAmC;AAAA2I,MAAAA,QAAA,GAC/C,CAAC1D,SAAS,iBACToD,cAAA,CAACuJ,WAAW,EAAA;AACJC,QAAAA,YAAY,EAAZA,YAAY;AAAEC,QAAAA,YAAY,EAAZA,YAAY;AAChCE,QAAAA,cAAc,EAAE8L,kBAAmB;AACnC/L,QAAAA,gBAAgB,EAAEgM,oBAAqB;AACvC/M,QAAAA,OAAO,EAAEsM;OACV,CACF,eACD1U,eAAA,CAAA,KAAA,EAAA;AAAK5I,QAAAA,SAAS,EAAC,gDAAgD;QAAA2I,QAAA,EAAA,CAC5D1D,SAAS,iBACRoD,cAAA,CAAA,KAAA,EAAA;AAAKrI,UAAAA,SAAS,EAAC,+CAA+C;UAAA2I,QAAA,eAC5DN,cAAA,CAACwW,YAAY,EAAA;AACXngB,YAAAA,SAAS,EAAEmkB,gBAAiB;AAC5BhZ,YAAAA,IAAI,EAAE4U,kBAAmB;AACzBK,YAAAA,KAAK,EAAE4D,YAAa;YACpB1D,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,cAAA,OACJN,cAAc,CAAC5b,IAAI,CAACF,GAAG,CAAC6b,kBAAkB,GAAG,CAAC,EAAEiE,YAAY,CAAC,CAAC;YAAA,CAC/D;YACD3D,MAAM,EAAE,SAARA,MAAMA,GAAA;AAAA,cAAA,OACJL,cAAc,CAAC5b,IAAI,CAACD,GAAG,CAAC4b,kBAAkB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,YAAA;WAEtD;AAAC,SACC,CACN,eACDpW,cAAA,CAACsF,MAAM,EAAA;AACCnE,UAAAA,QAAQ,EAARA,QAAQ;AAAEvF,UAAAA,IAAI,EAAJA,IAAI;AAAEyF,UAAAA,YAAY,EAAZA,YAAY;AAAED,UAAAA,UAAU,EAAVA,UAAU;AAAEmE,UAAAA,WAAW,EAAXA,WAAW;AAAExK,UAAAA,IAAI,EAAJA,IAAI;AACjEmB,UAAAA,QAAQ,EAAEkZ,mBAAoB;AAC9B9T,UAAAA,WAAW,EAAE6T,eAAgB;AAC7B3P,UAAAA,iBAAiB,EAAE6P,qBAAsB;AACzCpZ,UAAAA,QAAQ,EAAEiY;AAAc,SACzB,CAAC;AAAA,OACC,CAAC,EACL,CAACtX,SAAS,iBACToD,cAAA,CAACsH,UAAU,EAAA;AACT3L,QAAAA,OAAO,EAAEkZ,eAAgB;AACzB3Y,QAAAA,QAAQ,EAAEkZ,mBAAoB;AAC9B5N,QAAAA,QAAQ,EAAE+N;AAAoB,OAC/B,CACF;AAAA,KACE,CAAC;AAAA,GACH,CAAC,EACN5U,MAAM,CAAC0L,QAAQ,CAACI,IAClB,CAAC;AACH;;;;"}
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ var v2_PdfDocumentsPage = require('./PdfDocumentsPage.js');
4
+ var v2_PdfEditorPage = require('./PdfEditorPage.js');
5
+ var v2_PdfAttachmentsPreview = require('./PdfAttachmentsPreview.js');
6
+ var v2_PdfAttachmentSelector = require('./PdfAttachmentSelector.js');
7
+ require('@babel/runtime/helpers/slicedToArray');
8
+ require('react');
9
+ require('@bigbinary/neeto-atoms');
10
+ require('@bigbinary/neeto-cist');
11
+ require('@bigbinary/neeto-icons/Plus');
12
+ require('react-i18next');
13
+ require('../../FilenameUtilities-DFEKeP7n.js');
14
+ require('@babel/runtime/helpers/toConsumableArray');
15
+ require('@babel/runtime/helpers/defineProperty');
16
+ require('@tanstack/react-query');
17
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils');
18
+ require('../../pdf_documents-PKt4xiTc.js');
19
+ require('@babel/runtime/helpers/asyncToGenerator');
20
+ require('@babel/runtime/regenerator');
21
+ require('axios');
22
+ require('@bigbinary/neeto-icons/Copy');
23
+ require('@bigbinary/neeto-icons/Delete');
24
+ require('@bigbinary/neeto-icons/Edit');
25
+ require('@bigbinary/neeto-icons/File');
26
+ require('@bigbinary/neeto-icons/FontSize');
27
+ require('@bigbinary/neeto-icons/Right');
28
+ require('@bigbinary/neeto-icons/Upload');
29
+ require('@bigbinary/neeto-molecules/v2/MoreDropdown');
30
+ require('../../IconBlock-BZvD1k7W.js');
31
+ require('react/jsx-runtime');
32
+ require('@bigbinary/neeto-molecules/v2/FileUpload');
33
+ require('../../constants-DDj0SAA-.js');
34
+ require('@bigbinary/neeto-icons/MailSend');
35
+ require('react-dom');
36
+ require('classnames');
37
+ require('@bigbinary/neeto-icons/Calendar');
38
+ require('@bigbinary/neeto-icons/Hash');
39
+ require('@bigbinary/neeto-icons/TextLines');
40
+ require('../../pdf_mapping_schema-CS6f9Kug.js');
41
+ require('pdfjs-dist');
42
+ require('@babel/runtime/helpers/objectWithoutProperties');
43
+ require('@bigbinary/neeto-icons/CenterAlign');
44
+ require('@bigbinary/neeto-icons/Folder');
45
+ require('@bigbinary/neeto-icons/LeftAlign');
46
+ require('@bigbinary/neeto-icons/RightAlign');
47
+ require('@bigbinary/neeto-icons/Search');
48
+ require('@bigbinary/neeto-icons/Drag');
49
+ require('js-logger');
50
+ require('ramda');
51
+ require('@bigbinary/neeto-icons/Left');
52
+ require('@babel/runtime/helpers/typeof');
53
+ require('@bigbinary/neeto-commons-frontend/v2/utils');
54
+ require('@bigbinary/neeto-icons/Download');
55
+ require('@bigbinary/neeto-icons/LeftArrow');
56
+ require('@bigbinary/neeto-icons/Minus');
57
+ require('@bigbinary/neeto-molecules/v2/NavigationHeader');
58
+ require('formik');
59
+ require('../../AttachmentCard-CbDrjY7P.js');
60
+
61
+
62
+
63
+ exports.PdfDocumentsPage = v2_PdfDocumentsPage;
64
+ exports.PdfEditorPage = v2_PdfEditorPage;
65
+ exports.PdfAttachmentsPreview = v2_PdfAttachmentsPreview;
66
+ exports.PdfAttachmentSelector = v2_PdfAttachmentSelector;
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var PDF_DOCUMENT_IDS_FIELD = "pdfDocumentIds";
4
+ var PDF_FILE_SIZE_LIMIT_IN_MB = 10;
5
+
6
+ exports.PDF_DOCUMENT_IDS_FIELD = PDF_DOCUMENT_IDS_FIELD;
7
+ exports.PDF_FILE_SIZE_LIMIT_IN_MB = PDF_FILE_SIZE_LIMIT_IN_MB;
8
+ //# sourceMappingURL=constants-DDj0SAA-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-DDj0SAA-.js","sources":["../app/javascript/src/v2/components/PdfDocuments/constants.js"],"sourcesContent":["export const PDF_DOCUMENT_IDS_FIELD = \"pdfDocumentIds\";\nexport const PDF_FILE_SIZE_LIMIT_IN_MB = 10;\n"],"names":["PDF_DOCUMENT_IDS_FIELD","PDF_FILE_SIZE_LIMIT_IN_MB"],"mappings":";;AAAO,IAAMA,sBAAsB,GAAG;AAC/B,IAAMC,yBAAyB,GAAG;;;;;"}
@@ -0,0 +1,5 @@
1
+ var PDF_DOCUMENT_IDS_FIELD = "pdfDocumentIds";
2
+ var PDF_FILE_SIZE_LIMIT_IN_MB = 10;
3
+
4
+ export { PDF_DOCUMENT_IDS_FIELD as P, PDF_FILE_SIZE_LIMIT_IN_MB as a };
5
+ //# sourceMappingURL=constants-MHmmvZDo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-MHmmvZDo.js","sources":["../app/javascript/src/v2/components/PdfDocuments/constants.js"],"sourcesContent":["export const PDF_DOCUMENT_IDS_FIELD = \"pdfDocumentIds\";\nexport const PDF_FILE_SIZE_LIMIT_IN_MB = 10;\n"],"names":["PDF_DOCUMENT_IDS_FIELD","PDF_FILE_SIZE_LIMIT_IN_MB"],"mappings":"AAAO,IAAMA,sBAAsB,GAAG;AAC/B,IAAMC,yBAAyB,GAAG;;;;"}
package/dist/index.js CHANGED
@@ -11,11 +11,12 @@ import '@bigbinary/neetoui/Spinner';
11
11
  import '@bigbinary/neetoui/Toastr';
12
12
  import '@bigbinary/neetoui/Typography';
13
13
  import 'react-i18next';
14
- import './FilenameUtilities-DHtvZ32y.js';
14
+ import './FilenameUtilities-Xttn7r8R.js';
15
15
  import '@babel/runtime/helpers/toConsumableArray';
16
16
  import '@babel/runtime/helpers/defineProperty';
17
17
  import '@tanstack/react-query';
18
18
  import '@bigbinary/neeto-commons-frontend/react-utils';
19
+ import './pdf_documents-j2CBlJrR.js';
19
20
  import '@babel/runtime/helpers/asyncToGenerator';
20
21
  import '@babel/runtime/regenerator';
21
22
  import 'axios';
@@ -41,6 +42,7 @@ import 'classnames';
41
42
  import '@bigbinary/neeto-icons/Calendar';
42
43
  import '@bigbinary/neeto-icons/Hash';
43
44
  import '@bigbinary/neeto-icons/TextLines';
45
+ import './pdf_mapping_schema-Co4FN4KU.js';
44
46
  import 'pdfjs-dist';
45
47
  import '@babel/runtime/helpers/objectWithoutProperties';
46
48
  import '@bigbinary/neeto-icons/CenterAlign';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}