@lofcz/platejs-media 52.0.11

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["toPlatePlugin","BaseAudioPlugin","BaseFilePlugin","BaseImagePlugin","BaseMediaEmbedPlugin","BaseVideoPlugin","ImagePlugin","MediaEmbedPlugin","AudioPlugin","FilePlugin","VideoPlugin","createZustandStore","PreviewItem","url","id","ImagePreviewStore","boundingClientRect","DOMRect","currentPreview","isEditingScale","openEditorId","previewList","scale","translate","x","y","mutative","name","extendActions","set","close","extendSelectors","get","isOpen","editorId","useValue","useImagePreviewValue","SlateEditor","TMediaElement","KEYS","PreviewItem","ImagePreviewStore","getUrlList","editor","enties","api","nodes","at","match","n","type","img","Array","from","item","id","url","openImagePreview","element","urlList","set","useCallback","ImagePreviewStore","useImagePreviewValue","useZoom","$","_c","scale","t0","targets","nextScale","find","target","set","zoomIn","t1","targets_0","previousScale","reverse","target_0","x","y","undefined","zoomOut","t2","useCallback","useEffect","useMemo","isHotkey","useEditorRef","PreviewItem","ImagePreviewStore","useImagePreviewValue","useZoom","useImagePreview","scrollSpeed","editor","isOpen","id","scale","translate","boundingClientRect","currentPreview","previewList","wheel","e","WheelEvent","deltaX","deltaY","x","y","bottom","left","right","top","windowWidth","window","innerWidth","windowHeight","innerHeight","leftOffset","topOffset","set","document","removeEventListener","addEventListener","zoomIn","zoomOut","currentPreviewIndex","findIndex","item","url","onClose","actions","close","prevDisabled","nextDisabled","length","zoomOutDisabled","zoomInDisabled","keydown","KeyboardEvent","stopPropagation","closeProps","onClick","currentUrlIndex","maskLayerProps","nextProps","disabled","prevProps","scaleTextProps","zommOutProps","zoomInProps","TMediaElement","createPrimitiveComponent","useEditorRef","useElement","openImagePreview","useImage","$","_c","element","editor","t0","t1","url","props","draggable","src","onDoubleClickCapture","Image","propsHook","React","useEffect","useMemo","createPrimitiveComponent","ImagePreviewStore","useImagePreviewValue","useZoom","usePreviewImage","$","_c","currentPreview","translate","scale","imageRef","useRef","isZoomIn","zoomIn","zoomOut","t0","boundingClientRect","current","getBoundingClientRect","set","t1","x","y","t2","url","t3","t4","t5","cursor","transform","t6","e","stopPropagation","t7","props","draggable","ref","src","style","onClick","PreviewImage","propsHook","useEffect","useRef","useState","isHotkey","ImagePreviewStore","useImagePreviewValue","useScaleInput","$","_c","scale","isEditingScale","value","setValue","inputRef","t0","t1","setTimeout","current","focus","select","t2","Symbol","for","e","target","t3","e_0","Number","set","toFixed","t4","props","onChange","onKeyDown","ref","createAtomStore","MediaStore","showCaption","MediaProvider","mediaStore","useMediaSet","useMediaStore","useMediaValue","name","React","useMediaControllerState","$","_c","alignOpen","setAlignOpen","useState","t0","useMediaController","ReturnType","MediaControllerDropDownMenuProps","useMediaControllerDropDownMenu","props","openState","open","onOpenChange","_value","Dispatch","SetStateAction","useEffect","React","TMediaElement","TResizableElement","KEYS","useEditorRef","useElement","useFocused","useReadOnly","useSelected","VIDEO_PROVIDERS","EmbedUrlParser","parseMediaUrl","useMediaState","urlParsers","editor","element","focused","selected","readOnly","id","align","isUpload","name","type","url","embed","useMemo","getType","video","mediaEmbed","isTweet","provider","isVideo","includes","isYoutube","unsafeUrl","useEditorRef","insertMedia","useMediaToolbarButton","t0","$","_c","t1","undefined","nodeType","editor","t2","props","onClick","type","onMouseDown","_temp","e","preventDefault","createZustandStore","FloatingMediaStore","isEditing","url","mutative","name","extendActions","set","reset","useState","useFloatingMediaState","useValue","useFloatingMediaValue","React","TMediaElement","createPrimitiveComponent","useElement","FloatingMediaStore","useFloatingMediaEditButton","$","_c","element","t0","url","set","t1","t2","props","onClick","FloatingMediaEditButton","propsHook","PluginConfig","SlateEditor","TMediaElement","WithRequiredKey","isUrl","MediaPluginOptions","FloatingMediaStore","submitFloatingMedia","editor","element","plugin","url","get","actions","reset","_isUrl","transformUrl","getOptions","isValid","tf","setNodes","focus","at","selection","React","TMediaElement","WithRequiredKey","createPrimitiveComponent","useEditorRef","useElement","useHotkeys","FloatingMediaStore","submitFloatingMedia","useFloatingMediaUrlInputState","t0","$","_c","plugin","editor","element","t1","e","preventDefault","t2","t3","Symbol","for","enableOnFormTags","t4","get","actions","reset","tf","focus","at","selection","t5","t6","enableOnContentEditable","t7","defaultValue","useFloatingMediaUrlInput","onChange","_temp","props","autoFocus","FloatingMediaUrlInput","propsHook","stateHook","set","target","value","FloatingMediaEditButton","FloatingMediaUrlInput","FloatingMedia","EditButton","UrlInput","KEYS","AllowedFileType","UploadErrorCode","INVALID_FILE_TYPE","TOO_MANY_FILES","INVALID_FILE_SIZE","TOO_LESS_FILES","TOO_LARGE","const","FileSize","PowOf2","SizeUnit","MediaItemConfig","mediaType","MediaKeys","maxFileCount","maxFileSize","minFileCount","audio","file","img","video","UploadError","code","data","files","File","allowedTypes","fileType","UploadError","UploadErrorCode","ErrorDataType","Extract","code","T","createUploadError","data","isUploadError","error","Array","isArray","files","application","extensions","source","charset","const","audio","extensions","source","const","image","extensions","source","const","misc","extensions","source","const","video","extensions","source","const","text","extensions","source","charset","const","application","audio","image","misc","video","text","mimes","FileExtension","MimeType","ALLOWED_FILE_TYPES","const","AllowedFileType","FileRouterInputKey","FileExtension","MimeType","mimes","lookup","path","extension","extname","toLowerCase","slice","getTypes","extensions","Record","types","populateMaps","mimeTypes","source","inittedMaps","preference","undefined","Object","keys","forEach","type","mime","exts","length","from","indexOf","to","startsWith","index","lastIndexOf","Math","max","AllowedFileType","FileRouterInputKey","lookup","UploadErrorCode","createUploadError","matchFileType","file","File","allowedTypes","mimeType","type","name","includes","INVALID_FILE_TYPE","files","some","toLowerCase","split","AllowedFileType","FileRouterInputKey","UploadConfig","MediaItemConfig","MediaKeys","matchFileType","getMediaType","file","File","config","type","Object","keys","mediaType","TElement","PlateEditor","KEYS","historyMarks","WeakMap","withHistoryMark","editor","fn","prev","isHistoryMarking","set","get","updateUploadHistory","node","index","history","undos","findLastIndex","batch","placeholder","operations","some","operation","type","id","placeholderId","newOperations","push","newBatch","AllowedFileType","UploadConfig","matchFileType","groupFilesByType","fileList","FileList","config","Record","File","FileTypeMap","audio","blob","image","pdf","text","video","file","type","Object","keys","push","FileSize","UploadErrorCode","createUploadError","FILESIZE_UNITS","const","FileSizeUnit","fileSizeToBytes","fileSize","file","File","regex","RegExp","join","match","exec","INVALID_FILE_SIZE","files","sizeValue","Number","parseFloat","sizeUnit","toUpperCase","bytes","indexOf","Math","floor","bytesToFileSize","i","log","toFixed","AllowedFileType","FileSize","MediaItemConfig","UploadErrorCode","createUploadError","fileSizeToBytes","validateFileItem","files","File","config","key","maxFileCount","Number","POSITIVE_INFINITY","maxFileSize","minFileCount","length","TOO_LESS_FILES","fileType","TOO_MANY_FILES","f","bytes","size","TOO_LARGE","AllowedFileType","UploadConfig","groupFilesByType","validateFileItem","validateFiles","fileList","FileList","config","fileTypeMap","keys","Object","key","itemConfig","itemFiles","length","PlateEditor","InsertNodesOptions","Path","TPlaceholderElement","KEYS","nanoid","PathApi","PlaceholderPlugin","UploadErrorCode","createUploadError","isUploadError","getMediaType","withHistoryMark","validateFiles","insertMedia","editor","files","FileList","options","Omit","at","api","getApi","uploadConfig","getOption","multiple","error","setOption","length","TOO_MANY_FILES","Array","from","fileType","maxFileCount","currentAt","nextBlock","restOptions","forEach","file","index","next","undefined","id","placeholder","addUploadingFile","insert","tf","insertNodes","children","text","mediaType","type","getType","disableEmptyPlaceholder","withoutMerging","withoutNormalizing","ExtendConfig","InsertNodesOptions","bindFirst","KEYS","NodeApi","toTPlatePlugin","AllowedFileType","MediaItemConfig","UploadError","PlaceholderConfig","BasePlaceholderPlugin","insertMedia","isHistoryMarking","PlaceholderApi","addUploadingFile","id","file","File","getUploadingFile","removeUploadingFile","PlaceholderTransforms","files","FileList","options","UploadConfig","Partial","Record","PlaceholderPlugin","disableEmptyPlaceholder","disableFileDrop","uploadConfig","uploadingFiles","error","maxFileCount","multiple","placeholder","audio","maxFileSize","mediaType","minFileCount","blob","image","img","pdf","text","video","overrideEditor","editor","tf","writeHistory","transforms","stack","batch","newBatch","extendEditorTransforms","insert","media","extendApi","getOption","setOption","extend","handlers","onDrop","event","dataTransfer","length","preventDefault","stopPropagation","at","api","findEventRange","onPaste","types","clipboardData","TEXT_HTML","includes","inserted","ancestor","block","highest","node","path","string","removeNodes","nextBlock","createAtomStore","PlaceholderStore","isUploading","progresses","Progresses","size","height","width","updatedFiles","File","Record","PlaceholderProvider","placeholderStore","usePlaceholderSet","usePlaceholderState","usePlaceholderStore","usePlaceholderValue","name","TPlaceholderElement","KEYS","useEditorRef","useElement","useFocused","useReadOnly","useSelected","usePlaceholderSet","usePlaceholderValue","usePlaceholderElementState","$","_c","element","editor","focused","readOnly","selected","progresses","isUploading","updatedFiles","setSize","mediaType","placeholder","progressing","length","t0","TPlaceholderElement","KEYS","useEditorRef","useEditorSelector","useElement","useFocused","useReadOnly","useSelected","usePlaceholderSet","usePlaceholderValue","usePlaceholderPopoverState","$","_c","editor","readOnly","selected","focused","t0","Symbol","for","selectionCollapsed","_temp","element","placeholder","id","mediaType","setProgresses","setIsUploading","setUpdatedFiles","size","t1","editor_0","api","isExpanded"],"sources":["../../src/react/plugins.ts","../../src/react/image/ImagePreviewStore.ts","../../src/react/image/openImagePreview.ts","../../src/react/image/useZoom.ts","../../src/react/image/useImagePreview.ts","../../src/react/image/components/Image.tsx","../../src/react/image/components/PreviewImage.tsx","../../src/react/image/components/useScaleInput.tsx","../../src/react/media/mediaStore.ts","../../src/react/media/useMediaController.ts","../../src/react/media/useMediaState.ts","../../src/react/media/useMediaToolbarButton.ts","../../src/react/media/FloatingMedia/FloatingMediaStore.ts","../../src/react/media/FloatingMedia/FloatingMediaEditButton.tsx","../../src/react/media/FloatingMedia/submitFloatingMedia.ts","../../src/react/media/FloatingMedia/FloatingMediaUrlInput.tsx","../../src/react/media/FloatingMedia/FloatingMedia.tsx","../../src/react/placeholder/type.ts","../../src/react/placeholder/utils/createUploadError.ts","../../src/react/placeholder/internal/application.ts","../../src/react/placeholder/internal/audio.ts","../../src/react/placeholder/internal/image.ts","../../src/react/placeholder/internal/misc.ts","../../src/react/placeholder/internal/video.ts","../../src/react/placeholder/internal/text.ts","../../src/react/placeholder/internal/mimes.ts","../../src/react/placeholder/internal/utils.ts","../../src/react/placeholder/utils/matchFileType.ts","../../src/react/placeholder/utils/getMediaType.ts","../../src/react/placeholder/utils/history.ts","../../src/react/placeholder/utils/groupFilesByType.ts","../../src/react/placeholder/utils/fileSizeToBytes.ts","../../src/react/placeholder/utils/validateFileItem.ts","../../src/react/placeholder/utils/validateFiles.ts","../../src/react/placeholder/transforms/insertMedia.ts","../../src/react/placeholder/PlaceholderPlugin.tsx","../../src/react/placeholder/placeholderStore.ts","../../src/react/placeholder/hooks/usePlaceholderElement.ts","../../src/react/placeholder/hooks/usePlaceholderPopover.ts"],"sourcesContent":["import { toPlatePlugin } from 'platejs/react';\n\nimport {\n BaseAudioPlugin,\n BaseFilePlugin,\n BaseImagePlugin,\n BaseMediaEmbedPlugin,\n BaseVideoPlugin,\n} from '../lib';\n\nexport const ImagePlugin = toPlatePlugin(BaseImagePlugin);\n\nexport const MediaEmbedPlugin = toPlatePlugin(BaseMediaEmbedPlugin);\n\nexport const AudioPlugin = toPlatePlugin(BaseAudioPlugin);\n\nexport const FilePlugin = toPlatePlugin(BaseFilePlugin);\n\nexport const VideoPlugin = toPlatePlugin(BaseVideoPlugin);\n","import { createZustandStore } from 'platejs/react';\n\nexport type PreviewItem = {\n url: string;\n id?: string;\n};\n\nexport const ImagePreviewStore = createZustandStore(\n {\n boundingClientRect: {} as DOMRect,\n currentPreview: null as PreviewItem | null,\n isEditingScale: false,\n openEditorId: null as string | null,\n previewList: [] as PreviewItem[],\n scale: 1 as number,\n translate: { x: 0, y: 0 },\n },\n {\n mutative: true,\n name: 'imagePreview',\n }\n)\n .extendActions(({ set }) => ({\n close: () => {\n set('currentPreview', null);\n set('previewList', []);\n set('openEditorId', null);\n set('scale', 1);\n set('translate', { x: 0, y: 0 });\n set('isEditingScale', false);\n },\n }))\n .extendSelectors(({ get }) => ({\n isOpen: (editorId: string) => get('openEditorId') === editorId,\n }));\n\nexport const { useValue: useImagePreviewValue } = ImagePreviewStore as any;\n","import type { SlateEditor, TMediaElement } from 'platejs';\n\nimport { KEYS } from 'platejs';\n\nimport { type PreviewItem, ImagePreviewStore } from './ImagePreviewStore';\n\nconst getUrlList = (editor: SlateEditor) => {\n const enties = editor.api.nodes({\n at: [],\n match: (n) => n.type === KEYS.img,\n });\n\n return Array.from(enties, (item) => ({\n id: item[0].id,\n url: item[0].url,\n })) as unknown as PreviewItem[];\n};\n\nexport const openImagePreview = (\n editor: SlateEditor,\n element: TMediaElement\n) => {\n const { id, url } = element;\n const urlList = getUrlList(editor);\n // document.documentElement.style.overflowY = 'hidden';\n ImagePreviewStore.set('openEditorId', editor.id);\n ImagePreviewStore.set('currentPreview', { id, url });\n ImagePreviewStore.set('previewList', urlList);\n};\n","import { useCallback } from 'react';\n\nimport { ImagePreviewStore, useImagePreviewValue } from './ImagePreviewStore';\n\nexport const useZoom = () => {\n const scale = useImagePreviewValue('scale');\n\n const zoomIn = useCallback(() => {\n if (scale >= 2) return;\n\n const targets = [0, 0.5, 1, 1.5, 2];\n const nextScale = targets.find((target) => scale < target);\n\n if (nextScale) {\n ImagePreviewStore.set('scale', nextScale);\n }\n }, [scale]);\n\n const zoomOut = useCallback(() => {\n if (scale <= 0) return;\n\n const targets = [0, 0.5, 1, 1.5, 2];\n const previousScale = [...targets]\n .reverse()\n .find((target) => scale > target);\n\n if (previousScale === 1) ImagePreviewStore.set('translate', { x: 0, y: 0 });\n\n if (previousScale !== undefined) {\n ImagePreviewStore.set('scale', previousScale);\n }\n }, [scale]);\n\n return { zoomIn, zoomOut };\n};\n","import { useCallback, useEffect, useMemo } from 'react';\n\nimport { isHotkey } from 'platejs';\nimport { useEditorRef } from 'platejs/react';\n\nimport type { PreviewItem } from './ImagePreviewStore';\nimport { ImagePreviewStore, useImagePreviewValue } from './ImagePreviewStore';\nimport { useZoom } from './useZoom';\n\nexport const useImagePreview = ({ scrollSpeed }: { scrollSpeed: number }) => {\n const editor = useEditorRef();\n const isOpen = useImagePreviewValue('isOpen', editor.id);\n const scale = useImagePreviewValue('scale');\n const translate = useImagePreviewValue('translate');\n const boundingClientRect = useImagePreviewValue('boundingClientRect');\n const currentPreview = useImagePreviewValue('currentPreview');\n const previewList = useImagePreviewValue('previewList');\n\n // zoom in/out and move image\n useEffect(() => {\n const wheel = (e: WheelEvent) => {\n if (scale <= 1) return;\n\n const { deltaX, deltaY } = e;\n const { x, y } = translate;\n\n const { bottom, left, right, top } = boundingClientRect;\n\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n let leftOffset = x - deltaX / scrollSpeed;\n let topOffset = y - deltaY / scrollSpeed;\n\n // Check horizontal scroll boundaries\n if (left - deltaX / scrollSpeed > windowWidth / 2 && deltaX < 0) {\n leftOffset = x;\n }\n if (right - deltaX / scrollSpeed < windowWidth / 2 && deltaX > 0) {\n leftOffset = x;\n }\n // Check the vertical scroll boundary\n if (top - deltaY / scrollSpeed > windowHeight / 2 && deltaY < 0) {\n topOffset = y;\n }\n if (bottom - deltaY / scrollSpeed < windowHeight / 2 && deltaY > 0) {\n topOffset = y;\n }\n\n ImagePreviewStore.set('translate', {\n x: leftOffset,\n y: topOffset,\n });\n };\n\n if (!isOpen) return document.removeEventListener('wheel', wheel);\n\n document.addEventListener('wheel', wheel);\n\n return () => {\n document.removeEventListener('wheel', wheel);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen, translate, scale]);\n\n const { zoomIn, zoomOut } = useZoom();\n\n const currentPreviewIndex = useMemo(() => {\n if (!currentPreview) return null;\n\n return previewList.findIndex(\n (item: PreviewItem) =>\n item.url === currentPreview.url && item.id === currentPreview.id\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentPreview]);\n\n const onClose = useCallback(() => {\n ImagePreviewStore.actions.close();\n // document.documentElement.style.overflowY = 'scroll';\n }, []);\n\n const [prevDisabled, nextDisabled] = useMemo(\n () => [\n currentPreviewIndex === 0,\n currentPreviewIndex === previewList.length - 1,\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [currentPreviewIndex]\n );\n\n const [zoomOutDisabled, zoomInDisabled] = useMemo(\n () => [scale <= 0.5, scale >= 2],\n [scale]\n );\n\n useEffect(() => {\n const keydown = (e: KeyboardEvent) => {\n if (isHotkey('escape')(e)) {\n e.stopPropagation();\n onClose();\n }\n };\n\n if (!isOpen) return document.removeEventListener('keydown', keydown);\n\n document.addEventListener('keydown', keydown);\n\n return () => {\n document.removeEventListener('keydown', keydown);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n return {\n closeProps: {\n onClick: () => onClose(),\n },\n currentUrlIndex: currentPreviewIndex,\n maskLayerProps: {\n onClick: () => onClose(),\n },\n nextDisabled,\n nextProps: {\n disabled: nextDisabled,\n onClick: () => {\n if (typeof currentPreviewIndex !== 'number') return;\n\n ImagePreviewStore.set(\n 'currentPreview',\n previewList[currentPreviewIndex + 1]\n );\n },\n },\n prevDisabled,\n prevProps: {\n disabled: prevDisabled,\n onClick: () => {\n if (typeof currentPreviewIndex !== 'number') return;\n\n ImagePreviewStore.set(\n 'currentPreview',\n previewList[currentPreviewIndex - 1]\n );\n },\n },\n scaleTextProps: {\n onClick: () => ImagePreviewStore.set('isEditingScale', true),\n },\n zommOutProps: {\n disabled: zoomOutDisabled,\n onClick: () => zoomOut(),\n },\n zoomInDisabled,\n zoomInProps: {\n disabled: zoomInDisabled,\n onClick: () => zoomIn(),\n },\n zoomOutDisabled,\n };\n};\n","import type { TMediaElement } from 'platejs';\n\nimport {\n createPrimitiveComponent,\n useEditorRef,\n useElement,\n} from 'platejs/react';\n\nimport { openImagePreview } from '../openImagePreview';\n\nexport const useImage = () => {\n const element = useElement<TMediaElement>();\n const editor = useEditorRef();\n\n return {\n props: {\n draggable: true,\n src: element.url,\n onDoubleClickCapture: () => {\n openImagePreview(editor, element);\n },\n },\n };\n};\n\nexport const Image = createPrimitiveComponent('img')({\n propsHook: useImage,\n});\n","import React, { useEffect, useMemo } from 'react';\n\nimport { createPrimitiveComponent } from 'platejs/react';\n\nimport { ImagePreviewStore, useImagePreviewValue } from '../ImagePreviewStore';\nimport { useZoom } from '../useZoom';\n\nexport const usePreviewImage = () => {\n const currentPreview = useImagePreviewValue('currentPreview');\n const translate = useImagePreviewValue('translate');\n const scale = useImagePreviewValue('scale');\n const imageRef = React.useRef<HTMLImageElement>(null);\n\n const isZoomIn = useMemo(() => scale <= 1, [scale]);\n\n const { zoomIn, zoomOut } = useZoom();\n\n useEffect(() => {\n if (scale <= 1) return;\n\n const boundingClientRect = imageRef.current?.getBoundingClientRect();\n\n if (!boundingClientRect) return;\n\n ImagePreviewStore.set('boundingClientRect', boundingClientRect);\n }, [translate.x, translate.y, scale]);\n\n return {\n props: {\n draggable: false,\n ref: imageRef,\n src: currentPreview?.url,\n style: {\n cursor: isZoomIn ? 'zoom-in' : 'zoom-out',\n transform: `scale(${scale}) translate(${`${translate.x}px`}, ${`${translate.y}px`})`,\n },\n onClick: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e.stopPropagation();\n if (isZoomIn) {\n zoomIn();\n } else {\n zoomOut();\n }\n },\n },\n };\n};\n\nexport const PreviewImage = createPrimitiveComponent('img')({\n propsHook: usePreviewImage,\n});\n","import { useEffect, useRef, useState } from 'react';\n\nimport { isHotkey } from 'platejs';\n\nimport { ImagePreviewStore, useImagePreviewValue } from '../ImagePreviewStore';\n\nexport const useScaleInput = () => {\n const scale = useImagePreviewValue('scale');\n const isEditingScale = useImagePreviewValue('isEditingScale');\n\n const [value, setValue] = useState(`${scale * 100}`);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!isEditingScale) return;\n\n setTimeout(() => {\n inputRef.current?.focus();\n inputRef.current?.select();\n }, 0);\n }, [isEditingScale]);\n\n return {\n props: {\n value,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isHotkey('enter')(e)) {\n if (Number(value) <= 50) {\n ImagePreviewStore.set('scale', 0.5);\n ImagePreviewStore.set('isEditingScale', false);\n\n return;\n }\n if (Number(value) >= 200) {\n ImagePreviewStore.set('scale', 2);\n ImagePreviewStore.set('isEditingScale', false);\n\n return;\n }\n\n ImagePreviewStore.set(\n 'scale',\n Number((Number(value) / 100).toFixed(2))\n );\n ImagePreviewStore.set('isEditingScale', false);\n }\n },\n },\n ref: inputRef,\n };\n};\n","import { createAtomStore } from 'platejs/react';\n\ntype MediaStore = {\n showCaption: boolean;\n};\n\nexport const {\n MediaProvider,\n mediaStore,\n useMediaSet,\n useMediaStore,\n useMediaValue,\n} = createAtomStore(\n {\n showCaption: false,\n } as MediaStore,\n { name: 'media' }\n) as any;\n","import React from 'react';\n\nexport const useMediaControllerState = () => {\n const [alignOpen, setAlignOpen] = React.useState(false);\n\n return {\n alignOpen,\n setAlignOpen,\n };\n};\n\nexport const useMediaController = ({\n setAlignOpen,\n}: ReturnType<typeof useMediaControllerState>) => ({\n MediaControllerDropDownMenuProps: {\n setAlignOpen,\n },\n});\n\nexport const useMediaControllerDropDownMenu = (props: {\n openState: {\n open: boolean;\n onOpenChange: (_value?: boolean) => void;\n };\n setAlignOpen: React.Dispatch<React.SetStateAction<boolean>>;\n}) => {\n React.useEffect(\n () => props.setAlignOpen(props.openState.open),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.openState.open]\n );\n};\n","import React from 'react';\n\nimport { type TMediaElement, type TResizableElement, KEYS } from 'platejs';\nimport {\n useEditorRef,\n useElement,\n useFocused,\n useReadOnly,\n useSelected,\n} from 'platejs/react';\n\nimport { VIDEO_PROVIDERS } from '../../lib/media-embed';\nimport {\n type EmbedUrlParser,\n parseMediaUrl,\n} from '../../lib/media/parseMediaUrl';\n\nexport const useMediaState = ({\n urlParsers,\n}: {\n urlParsers?: EmbedUrlParser[];\n} = {}) => {\n const editor = useEditorRef();\n const element = useElement<TMediaElement & TResizableElement>();\n const focused = useFocused();\n const selected = useSelected();\n const readOnly = useReadOnly();\n\n const { id, align, isUpload, name, type, url } = element;\n\n const embed = React.useMemo(() => {\n if (\n !urlParsers ||\n (type !== editor.getType(KEYS.video) &&\n type !== editor.getType(KEYS.mediaEmbed))\n )\n return;\n\n return parseMediaUrl(url, { urlParsers });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [urlParsers, url]);\n\n const isTweet = embed?.provider === 'twitter';\n const isVideo = !!embed?.provider && VIDEO_PROVIDERS.includes(embed.provider);\n const isYoutube = embed?.provider === 'youtube';\n\n return {\n id,\n align,\n embed,\n focused,\n isTweet,\n isUpload,\n isVideo,\n isYoutube,\n name,\n readOnly,\n selected,\n unsafeUrl: url,\n };\n};\n","import { useEditorRef } from 'platejs/react';\n\nimport { insertMedia } from '../../lib/media/insertMedia';\n\nexport const useMediaToolbarButton = ({\n nodeType,\n}: {\n nodeType?: string;\n} = {}) => {\n const editor = useEditorRef();\n\n return {\n props: {\n onClick: async () => {\n await insertMedia(editor, { type: nodeType });\n },\n onMouseDown: (e: React.MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n },\n },\n };\n};\n","import { createZustandStore } from 'platejs/react';\n\nexport const FloatingMediaStore = createZustandStore(\n {\n isEditing: false,\n url: '',\n },\n {\n mutative: true,\n name: 'floatingMedia',\n }\n).extendActions(({ set }) => ({\n reset: () => {\n set('url', '');\n set('isEditing', false);\n },\n}));\n\nexport const {\n useState: useFloatingMediaState,\n useValue: useFloatingMediaValue,\n} = FloatingMediaStore as any;\n","import React from 'react';\n\nimport type { TMediaElement } from 'platejs';\n\nimport { createPrimitiveComponent, useElement } from 'platejs/react';\n\nimport { FloatingMediaStore } from './FloatingMediaStore';\n\nexport const useFloatingMediaEditButton = () => {\n const element = useElement<TMediaElement>();\n\n return {\n props: {\n onClick: React.useCallback(() => {\n FloatingMediaStore.set('url', element.url);\n FloatingMediaStore.set('isEditing', true);\n }, [element.url]),\n },\n };\n};\n\nexport const FloatingMediaEditButton = createPrimitiveComponent('button')({\n propsHook: useFloatingMediaEditButton,\n});\n","import {\n type PluginConfig,\n type SlateEditor,\n type TMediaElement,\n type WithRequiredKey,\n isUrl,\n} from 'platejs';\n\nimport type { MediaPluginOptions } from '../../../lib/media/types';\n\nimport { FloatingMediaStore } from './FloatingMediaStore';\n\nexport const submitFloatingMedia = (\n editor: SlateEditor,\n {\n element,\n plugin,\n }: {\n element: TMediaElement;\n plugin: WithRequiredKey;\n }\n) => {\n let url = FloatingMediaStore.get('url');\n\n if (url === element.url) {\n FloatingMediaStore.actions.reset();\n\n return true;\n }\n\n const { isUrl: _isUrl = isUrl, transformUrl } =\n editor.getOptions<PluginConfig<any, MediaPluginOptions>>(plugin);\n const isValid = _isUrl(url);\n\n if (!isValid) return;\n if (transformUrl) {\n url = transformUrl(url);\n }\n\n editor.tf.setNodes<TMediaElement>({\n url,\n });\n\n FloatingMediaStore.actions.reset();\n\n editor.tf.focus({ at: editor.selection! });\n\n return true;\n};\n","import React from 'react';\n\nimport type { TMediaElement, WithRequiredKey } from 'platejs';\n\nimport {\n createPrimitiveComponent,\n useEditorRef,\n useElement,\n useHotkeys,\n} from 'platejs/react';\n\nimport { FloatingMediaStore } from './FloatingMediaStore';\nimport { submitFloatingMedia } from './submitFloatingMedia';\n\nexport const useFloatingMediaUrlInputState = ({\n plugin,\n}: {\n plugin: WithRequiredKey;\n}) => {\n const editor = useEditorRef();\n const element = useElement<TMediaElement>();\n\n useHotkeys(\n 'enter',\n (e) => {\n if (submitFloatingMedia(editor, { element, plugin })) {\n e.preventDefault();\n }\n },\n {\n enableOnFormTags: ['INPUT'],\n },\n []\n );\n\n useHotkeys(\n 'escape',\n () => {\n if (FloatingMediaStore.get('isEditing')) {\n FloatingMediaStore.actions.reset();\n editor.tf.focus({ at: editor.selection! });\n }\n },\n {\n enableOnContentEditable: true,\n enableOnFormTags: ['INPUT'],\n },\n []\n );\n\n return {\n defaultValue: FloatingMediaStore.get('url'),\n };\n};\n\nexport const useFloatingMediaUrlInput = ({\n defaultValue,\n}: ReturnType<typeof useFloatingMediaUrlInputState>) => {\n const onChange: React.ChangeEventHandler<HTMLInputElement> =\n React.useCallback((e) => {\n FloatingMediaStore.set('url', e.target.value);\n }, []);\n\n return {\n props: {\n autoFocus: true,\n defaultValue,\n onChange,\n },\n };\n};\n\nexport const FloatingMediaUrlInput = createPrimitiveComponent('input')({\n propsHook: useFloatingMediaUrlInput,\n stateHook: useFloatingMediaUrlInputState,\n});\n","import { FloatingMediaEditButton } from './FloatingMediaEditButton';\nimport { FloatingMediaUrlInput } from './FloatingMediaUrlInput';\n\nexport const FloatingMedia = {\n EditButton: FloatingMediaEditButton,\n UrlInput: FloatingMediaUrlInput,\n};\n","import type { KEYS } from 'platejs';\n\nimport type { AllowedFileType } from './internal/mimes';\n\nexport const UploadErrorCode = {\n INVALID_FILE_TYPE: 400,\n TOO_MANY_FILES: 402,\n INVALID_FILE_SIZE: 403,\n TOO_LESS_FILES: 405,\n TOO_LARGE: 413,\n} as const;\n\nexport type UploadErrorCode =\n (typeof UploadErrorCode)[keyof typeof UploadErrorCode];\n\nexport type FileSize = `${PowOf2}${SizeUnit}`;\n\nexport type MediaItemConfig = {\n // The type of media that this config is for.\n mediaType: MediaKeys;\n // The maximum number of files of this type that can be uploaded.\n maxFileCount?: number;\n // The maximum file size for a file of this type. FileSize is a string that can be parsed as a number followed by a unit of measurement (B, KB, MB, or GB)\n maxFileSize?: FileSize;\n // The minimum number of files of this type that must be uploaded.\n minFileCount?: number;\n};\n\nexport type MediaKeys =\n | typeof KEYS.audio\n | typeof KEYS.file\n | typeof KEYS.img\n | typeof KEYS.video;\n\nexport type SizeUnit = 'B' | 'GB' | 'KB' | 'MB';\n\nexport type UploadError =\n | {\n code: typeof UploadErrorCode.INVALID_FILE_SIZE;\n data: {\n files: File[];\n };\n }\n | {\n code: typeof UploadErrorCode.INVALID_FILE_TYPE;\n data: {\n allowedTypes: string[];\n files: File[];\n };\n }\n | {\n code: typeof UploadErrorCode.TOO_LARGE;\n data: {\n files: File[];\n fileType: AllowedFileType;\n maxFileSize: string;\n };\n }\n | {\n code: typeof UploadErrorCode.TOO_LESS_FILES;\n data: {\n files: File[];\n fileType: AllowedFileType;\n minFileCount: number;\n };\n }\n | {\n code: typeof UploadErrorCode.TOO_MANY_FILES;\n data: {\n files: File[];\n fileType: AllowedFileType | null;\n maxFileCount: number;\n };\n };\n\ntype PowOf2 = 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024;\n","import type { UploadError, UploadErrorCode } from '../type';\n// 首先定义一个类型,用于获取指定错误码对应的data类型\ntype ErrorDataType<T extends UploadErrorCode> = Extract<\n UploadError,\n { code: T }\n>['data'];\n\n// 改写createUploadError函数\nexport const createUploadError = <T extends UploadErrorCode>(\n code: T,\n data: ErrorDataType<T>\n): UploadError => ({ code, data }) as UploadError;\n\nexport const isUploadError = (error: unknown): error is UploadError =>\n typeof error === 'object' &&\n error !== null &&\n 'code' in error &&\n 'data' in error &&\n typeof error.data === 'object' &&\n error.data !== null &&\n 'files' in error.data &&\n Array.isArray(error.data.files);\n","export const application = {\n 'application/andrew-inset': {\n extensions: ['ez'],\n source: 'iana',\n },\n 'application/applixware': {\n extensions: ['aw'],\n source: 'apache',\n },\n 'application/atom+xml': {\n extensions: ['atom'],\n source: 'iana',\n },\n 'application/atomcat+xml': {\n extensions: ['atomcat'],\n source: 'iana',\n },\n 'application/atomdeleted+xml': {\n extensions: ['atomdeleted'],\n source: 'iana',\n },\n 'application/atomsvc+xml': {\n extensions: ['atomsvc'],\n source: 'iana',\n },\n 'application/atsc-dwd+xml': {\n extensions: ['dwd'],\n source: 'iana',\n },\n 'application/atsc-held+xml': {\n extensions: ['held'],\n source: 'iana',\n },\n 'application/atsc-rsat+xml': {\n extensions: ['rsat'],\n source: 'iana',\n },\n 'application/calendar+xml': {\n extensions: ['xcs'],\n source: 'iana',\n },\n 'application/ccxml+xml': {\n extensions: ['ccxml'],\n source: 'iana',\n },\n 'application/cdfx+xml': {\n extensions: ['cdfx'],\n source: 'iana',\n },\n 'application/cdmi-capability': {\n extensions: ['cdmia'],\n source: 'iana',\n },\n 'application/cdmi-container': {\n extensions: ['cdmic'],\n source: 'iana',\n },\n 'application/cdmi-domain': {\n extensions: ['cdmid'],\n source: 'iana',\n },\n 'application/cdmi-object': {\n extensions: ['cdmio'],\n source: 'iana',\n },\n 'application/cdmi-queue': {\n extensions: ['cdmiq'],\n source: 'iana',\n },\n 'application/cpl+xml': {\n extensions: ['cpl'],\n source: 'iana',\n },\n 'application/cu-seeme': {\n extensions: ['cu'],\n source: 'apache',\n },\n 'application/dash+xml': {\n extensions: ['mpd'],\n source: 'iana',\n },\n 'application/dash-patch+xml': {\n extensions: ['mpp'],\n source: 'iana',\n },\n 'application/davmount+xml': {\n extensions: ['davmount'],\n source: 'iana',\n },\n 'application/dicom': {\n extensions: ['dcm'],\n source: 'iana',\n },\n 'application/docbook+xml': {\n extensions: ['dbk'],\n source: 'apache',\n },\n 'application/dssc+der': {\n extensions: ['dssc'],\n source: 'iana',\n },\n 'application/dssc+xml': {\n extensions: ['xdssc'],\n source: 'iana',\n },\n 'application/ecmascript': {\n extensions: ['es', 'ecma'],\n source: 'iana',\n },\n 'application/emma+xml': {\n extensions: ['emma'],\n source: 'iana',\n },\n 'application/emotionml+xml': {\n extensions: ['emotionml'],\n source: 'iana',\n },\n 'application/epub+zip': {\n extensions: ['epub'],\n source: 'iana',\n },\n 'application/exi': {\n extensions: ['exi'],\n source: 'iana',\n },\n 'application/express': {\n extensions: ['exp'],\n source: 'iana',\n },\n 'application/fdt+xml': {\n extensions: ['fdt'],\n source: 'iana',\n },\n 'application/font-tdpfr': {\n extensions: ['pfr'],\n source: 'iana',\n },\n 'application/geo+json': {\n extensions: ['geojson'],\n source: 'iana',\n },\n 'application/gml+xml': {\n extensions: ['gml'],\n source: 'iana',\n },\n 'application/gpx+xml': {\n extensions: ['gpx'],\n source: 'apache',\n },\n 'application/gxf': {\n extensions: ['gxf'],\n source: 'apache',\n },\n 'application/gzip': {\n extensions: ['gz'],\n source: 'iana',\n },\n 'application/hyperstudio': {\n extensions: ['stk'],\n source: 'iana',\n },\n 'application/inkml+xml': {\n extensions: ['ink', 'inkml'],\n source: 'iana',\n },\n 'application/ipfix': {\n extensions: ['ipfix'],\n source: 'iana',\n },\n 'application/its+xml': {\n extensions: ['its'],\n source: 'iana',\n },\n 'application/java-archive': {\n extensions: ['jar', 'war', 'ear'],\n source: 'apache',\n },\n 'application/java-serialized-object': {\n extensions: ['ser'],\n source: 'apache',\n },\n 'application/java-vm': {\n extensions: ['class'],\n source: 'apache',\n },\n 'application/javascript': {\n charset: 'UTF-8',\n extensions: ['js', 'mjs'],\n source: 'iana',\n },\n 'application/json': {\n charset: 'UTF-8',\n extensions: ['json', 'map'],\n source: 'iana',\n },\n 'application/jsonml+json': {\n extensions: ['jsonml'],\n source: 'apache',\n },\n 'application/ld+json': {\n extensions: ['jsonld'],\n source: 'iana',\n },\n 'application/lgr+xml': {\n extensions: ['lgr'],\n source: 'iana',\n },\n 'application/lost+xml': {\n extensions: ['lostxml'],\n source: 'iana',\n },\n 'application/mac-binhex40': {\n extensions: ['hqx'],\n source: 'iana',\n },\n 'application/mac-compactpro': {\n extensions: ['cpt'],\n source: 'apache',\n },\n 'application/mads+xml': {\n extensions: ['mads'],\n source: 'iana',\n },\n 'application/manifest+json': {\n charset: 'UTF-8',\n extensions: ['webmanifest'],\n source: 'iana',\n },\n 'application/marc': {\n extensions: ['mrc'],\n source: 'iana',\n },\n 'application/marcxml+xml': {\n extensions: ['mrcx'],\n source: 'iana',\n },\n 'application/mathematica': {\n extensions: ['ma', 'nb', 'mb'],\n source: 'iana',\n },\n 'application/mathml+xml': {\n extensions: ['mathml'],\n source: 'iana',\n },\n 'application/mbox': {\n extensions: ['mbox'],\n source: 'iana',\n },\n 'application/media-policy-dataset+xml': {\n extensions: ['mpf'],\n source: 'iana',\n },\n 'application/mediaservercontrol+xml': {\n extensions: ['mscml'],\n source: 'iana',\n },\n 'application/metalink4+xml': {\n extensions: ['meta4'],\n source: 'iana',\n },\n 'application/metalink+xml': {\n extensions: ['metalink'],\n source: 'apache',\n },\n 'application/mets+xml': {\n extensions: ['mets'],\n source: 'iana',\n },\n 'application/mmt-aei+xml': {\n extensions: ['maei'],\n source: 'iana',\n },\n 'application/mmt-usd+xml': {\n extensions: ['musd'],\n source: 'iana',\n },\n 'application/mods+xml': {\n extensions: ['mods'],\n source: 'iana',\n },\n 'application/mp4': {\n extensions: ['mp4s', 'm4p'],\n source: 'iana',\n },\n 'application/mp21': {\n extensions: ['m21', 'mp21'],\n source: 'iana',\n },\n 'application/msword': {\n extensions: ['doc', 'dot'],\n source: 'iana',\n },\n 'application/mxf': {\n extensions: ['mxf'],\n source: 'iana',\n },\n 'application/n-quads': {\n extensions: ['nq'],\n source: 'iana',\n },\n 'application/n-triples': {\n extensions: ['nt'],\n source: 'iana',\n },\n 'application/node': {\n extensions: ['cjs'],\n source: 'iana',\n },\n 'application/octet-stream': {\n extensions: [\n 'bin',\n 'dms',\n 'lrf',\n 'mar',\n 'so',\n 'dist',\n 'distz',\n 'pkg',\n 'bpk',\n 'dump',\n 'elc',\n 'deploy',\n 'exe',\n 'dll',\n 'deb',\n 'dmg',\n 'iso',\n 'img',\n 'msi',\n 'msp',\n 'msm',\n 'buffer',\n ],\n source: 'iana',\n },\n 'application/oda': {\n extensions: ['oda'],\n source: 'iana',\n },\n 'application/oebps-package+xml': {\n extensions: ['opf'],\n source: 'iana',\n },\n 'application/ogg': {\n extensions: ['ogx'],\n source: 'iana',\n },\n 'application/omdoc+xml': {\n extensions: ['omdoc'],\n source: 'apache',\n },\n 'application/onenote': {\n extensions: ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],\n source: 'apache',\n },\n 'application/oxps': {\n extensions: ['oxps'],\n source: 'iana',\n },\n 'application/p2p-overlay+xml': {\n extensions: ['relo'],\n source: 'iana',\n },\n 'application/patch-ops-error+xml': {\n extensions: ['xer'],\n source: 'iana',\n },\n 'application/pdf': {\n extensions: ['pdf'],\n source: 'iana',\n },\n 'application/pgp-encrypted': {\n extensions: ['pgp'],\n source: 'iana',\n },\n 'application/pgp-keys': {\n extensions: ['asc'],\n source: 'iana',\n },\n 'application/pgp-signature': {\n extensions: ['asc', 'sig'],\n source: 'iana',\n },\n 'application/pics-rules': {\n extensions: ['prf'],\n source: 'apache',\n },\n 'application/pkcs7-mime': {\n extensions: ['p7m', 'p7c'],\n source: 'iana',\n },\n 'application/pkcs7-signature': {\n extensions: ['p7s'],\n source: 'iana',\n },\n 'application/pkcs8': {\n extensions: ['p8'],\n source: 'iana',\n },\n 'application/pkcs10': {\n extensions: ['p10'],\n source: 'iana',\n },\n 'application/pkix-attr-cert': {\n extensions: ['ac'],\n source: 'iana',\n },\n 'application/pkix-cert': {\n extensions: ['cer'],\n source: 'iana',\n },\n 'application/pkix-crl': {\n extensions: ['crl'],\n source: 'iana',\n },\n 'application/pkix-pkipath': {\n extensions: ['pkipath'],\n source: 'iana',\n },\n 'application/pkixcmp': {\n extensions: ['pki'],\n source: 'iana',\n },\n 'application/pls+xml': {\n extensions: ['pls'],\n source: 'iana',\n },\n 'application/postscript': {\n extensions: ['ai', 'eps', 'ps'],\n source: 'iana',\n },\n 'application/provenance+xml': {\n extensions: ['provx'],\n source: 'iana',\n },\n 'application/prs.cww': {\n extensions: ['cww'],\n source: 'iana',\n },\n 'application/pskc+xml': {\n extensions: ['pskcxml'],\n source: 'iana',\n },\n 'application/rdf+xml': {\n extensions: ['rdf', 'owl'],\n source: 'iana',\n },\n 'application/reginfo+xml': {\n extensions: ['rif'],\n source: 'iana',\n },\n 'application/relax-ng-compact-syntax': {\n extensions: ['rnc'],\n source: 'iana',\n },\n 'application/resource-lists+xml': {\n extensions: ['rl'],\n source: 'iana',\n },\n 'application/resource-lists-diff+xml': {\n extensions: ['rld'],\n source: 'iana',\n },\n 'application/rls-services+xml': {\n extensions: ['rs'],\n source: 'iana',\n },\n 'application/route-apd+xml': {\n extensions: ['rapd'],\n source: 'iana',\n },\n 'application/route-s-tsid+xml': {\n extensions: ['sls'],\n source: 'iana',\n },\n 'application/route-usd+xml': {\n extensions: ['rusd'],\n source: 'iana',\n },\n 'application/rpki-ghostbusters': {\n extensions: ['gbr'],\n source: 'iana',\n },\n 'application/rpki-manifest': {\n extensions: ['mft'],\n source: 'iana',\n },\n 'application/rpki-roa': {\n extensions: ['roa'],\n source: 'iana',\n },\n 'application/rsd+xml': {\n extensions: ['rsd'],\n source: 'apache',\n },\n 'application/rss+xml': {\n extensions: ['rss'],\n source: 'apache',\n },\n 'application/rtf': {\n extensions: ['rtf'],\n source: 'iana',\n },\n 'application/sbml+xml': {\n extensions: ['sbml'],\n source: 'iana',\n },\n 'application/scvp-cv-request': {\n extensions: ['scq'],\n source: 'iana',\n },\n 'application/scvp-cv-response': {\n extensions: ['scs'],\n source: 'iana',\n },\n 'application/scvp-vp-request': {\n extensions: ['spq'],\n source: 'iana',\n },\n 'application/scvp-vp-response': {\n extensions: ['spp'],\n source: 'iana',\n },\n 'application/sdp': {\n extensions: ['sdp'],\n source: 'iana',\n },\n 'application/senml+xml': {\n extensions: ['senmlx'],\n source: 'iana',\n },\n 'application/sensml+xml': {\n extensions: ['sensmlx'],\n source: 'iana',\n },\n 'application/set-payment-initiation': {\n extensions: ['setpay'],\n source: 'iana',\n },\n 'application/set-registration-initiation': {\n extensions: ['setreg'],\n source: 'iana',\n },\n 'application/shf+xml': {\n extensions: ['shf'],\n source: 'iana',\n },\n 'application/sieve': {\n extensions: ['siv', 'sieve'],\n source: 'iana',\n },\n 'application/smil+xml': {\n extensions: ['smi', 'smil'],\n source: 'iana',\n },\n 'application/sparql-query': {\n extensions: ['rq'],\n source: 'iana',\n },\n 'application/sparql-results+xml': {\n extensions: ['srx'],\n source: 'iana',\n },\n 'application/srgs': {\n extensions: ['gram'],\n source: 'iana',\n },\n 'application/srgs+xml': {\n extensions: ['grxml'],\n source: 'iana',\n },\n 'application/sru+xml': {\n extensions: ['sru'],\n source: 'iana',\n },\n 'application/ssdl+xml': {\n extensions: ['ssdl'],\n source: 'apache',\n },\n 'application/ssml+xml': {\n extensions: ['ssml'],\n source: 'iana',\n },\n 'application/swid+xml': {\n extensions: ['swidtag'],\n source: 'iana',\n },\n 'application/tei+xml': {\n extensions: ['tei', 'teicorpus'],\n source: 'iana',\n },\n 'application/thraud+xml': {\n extensions: ['tfi'],\n source: 'iana',\n },\n 'application/timestamped-data': {\n extensions: ['tsd'],\n source: 'iana',\n },\n 'application/trig': {\n extensions: ['trig'],\n source: 'iana',\n },\n 'application/ttml+xml': {\n extensions: ['ttml'],\n source: 'iana',\n },\n 'application/urc-ressheet+xml': {\n extensions: ['rsheet'],\n source: 'iana',\n },\n 'application/urc-targetdesc+xml': {\n extensions: ['td'],\n source: 'iana',\n },\n 'application/vnd.3gpp2.tcap': {\n extensions: ['tcap'],\n source: 'iana',\n },\n 'application/vnd.3gpp.pic-bw-large': {\n extensions: ['plb'],\n source: 'iana',\n },\n 'application/vnd.3gpp.pic-bw-small': {\n extensions: ['psb'],\n source: 'iana',\n },\n 'application/vnd.3gpp.pic-bw-var': {\n extensions: ['pvb'],\n source: 'iana',\n },\n 'application/vnd.3m.post-it-notes': {\n extensions: ['pwn'],\n source: 'iana',\n },\n 'application/vnd.1000minds.decision-model+xml': {\n extensions: ['1km'],\n source: 'iana',\n },\n 'application/vnd.accpac.simply.aso': {\n extensions: ['aso'],\n source: 'iana',\n },\n 'application/vnd.accpac.simply.imp': {\n extensions: ['imp'],\n source: 'iana',\n },\n 'application/vnd.acucobol': {\n extensions: ['acu'],\n source: 'iana',\n },\n 'application/vnd.acucorp': {\n extensions: ['atc', 'acutc'],\n source: 'iana',\n },\n 'application/vnd.adobe.air-application-installer-package+zip': {\n extensions: ['air'],\n source: 'apache',\n },\n 'application/vnd.adobe.formscentral.fcdt': {\n extensions: ['fcdt'],\n source: 'iana',\n },\n 'application/vnd.adobe.fxp': {\n extensions: ['fxp', 'fxpl'],\n source: 'iana',\n },\n 'application/vnd.adobe.xdp+xml': {\n extensions: ['xdp'],\n source: 'iana',\n },\n 'application/vnd.adobe.xfdf': {\n extensions: ['xfdf'],\n source: 'iana',\n },\n 'application/vnd.age': {\n extensions: ['age'],\n source: 'iana',\n },\n 'application/vnd.ahead.space': {\n extensions: ['ahead'],\n source: 'iana',\n },\n 'application/vnd.airzip.filesecure.azf': {\n extensions: ['azf'],\n source: 'iana',\n },\n 'application/vnd.airzip.filesecure.azs': {\n extensions: ['azs'],\n source: 'iana',\n },\n 'application/vnd.amazon.ebook': {\n extensions: ['azw'],\n source: 'apache',\n },\n 'application/vnd.americandynamics.acc': {\n extensions: ['acc'],\n source: 'iana',\n },\n 'application/vnd.amiga.ami': {\n extensions: ['ami'],\n source: 'iana',\n },\n 'application/vnd.android.package-archive': {\n extensions: ['apk'],\n source: 'apache',\n },\n 'application/vnd.anser-web-certificate-issue-initiation': {\n extensions: ['cii'],\n source: 'iana',\n },\n 'application/vnd.anser-web-funds-transfer-initiation': {\n extensions: ['fti'],\n source: 'apache',\n },\n 'application/vnd.antix.game-component': {\n extensions: ['atx'],\n source: 'iana',\n },\n 'application/vnd.apple.installer+xml': {\n extensions: ['mpkg'],\n source: 'iana',\n },\n 'application/vnd.apple.keynote': {\n extensions: ['key'],\n source: 'iana',\n },\n 'application/vnd.apple.mpegurl': {\n extensions: ['m3u8'],\n source: 'iana',\n },\n 'application/vnd.apple.numbers': {\n extensions: ['numbers'],\n source: 'iana',\n },\n 'application/vnd.apple.pages': {\n extensions: ['pages'],\n source: 'iana',\n },\n 'application/vnd.aristanetworks.swi': {\n extensions: ['swi'],\n source: 'iana',\n },\n 'application/vnd.astraea-software.iota': {\n extensions: ['iota'],\n source: 'iana',\n },\n 'application/vnd.audiograph': {\n extensions: ['aep'],\n source: 'iana',\n },\n 'application/vnd.balsamiq.bmml+xml': {\n extensions: ['bmml'],\n source: 'iana',\n },\n 'application/vnd.blueice.multipass': {\n extensions: ['mpm'],\n source: 'iana',\n },\n 'application/vnd.bmi': {\n extensions: ['bmi'],\n source: 'iana',\n },\n 'application/vnd.businessobjects': {\n extensions: ['rep'],\n source: 'iana',\n },\n 'application/vnd.chemdraw+xml': {\n extensions: ['cdxml'],\n source: 'iana',\n },\n 'application/vnd.chipnuts.karaoke-mmd': {\n extensions: ['mmd'],\n source: 'iana',\n },\n 'application/vnd.cinderella': {\n extensions: ['cdy'],\n source: 'iana',\n },\n 'application/vnd.citationstyles.style+xml': {\n extensions: ['csl'],\n source: 'iana',\n },\n 'application/vnd.claymore': {\n extensions: ['cla'],\n source: 'iana',\n },\n 'application/vnd.cloanto.rp9': {\n extensions: ['rp9'],\n source: 'iana',\n },\n 'application/vnd.clonk.c4group': {\n extensions: ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'],\n source: 'iana',\n },\n 'application/vnd.cluetrust.cartomobile-config': {\n extensions: ['c11amc'],\n source: 'iana',\n },\n 'application/vnd.cluetrust.cartomobile-config-pkg': {\n extensions: ['c11amz'],\n source: 'iana',\n },\n 'application/vnd.commonspace': {\n extensions: ['csp'],\n source: 'iana',\n },\n 'application/vnd.contact.cmsg': {\n extensions: ['cdbcmsg'],\n source: 'iana',\n },\n 'application/vnd.cosmocaller': {\n extensions: ['cmc'],\n source: 'iana',\n },\n 'application/vnd.crick.clicker': {\n extensions: ['clkx'],\n source: 'iana',\n },\n 'application/vnd.crick.clicker.keyboard': {\n extensions: ['clkk'],\n source: 'iana',\n },\n 'application/vnd.crick.clicker.palette': {\n extensions: ['clkp'],\n source: 'iana',\n },\n 'application/vnd.crick.clicker.template': {\n extensions: ['clkt'],\n source: 'iana',\n },\n 'application/vnd.crick.clicker.wordbank': {\n extensions: ['clkw'],\n source: 'iana',\n },\n 'application/vnd.criticaltools.wbs+xml': {\n extensions: ['wbs'],\n source: 'iana',\n },\n 'application/vnd.ctc-posml': {\n extensions: ['pml'],\n source: 'iana',\n },\n 'application/vnd.cups-ppd': {\n extensions: ['ppd'],\n source: 'iana',\n },\n 'application/vnd.curl.car': {\n extensions: ['car'],\n source: 'apache',\n },\n 'application/vnd.curl.pcurl': {\n extensions: ['pcurl'],\n source: 'apache',\n },\n 'application/vnd.dart': {\n extensions: ['dart'],\n source: 'iana',\n },\n 'application/vnd.data-vision.rdz': {\n extensions: ['rdz'],\n source: 'iana',\n },\n 'application/vnd.dbf': {\n extensions: ['dbf'],\n source: 'iana',\n },\n 'application/vnd.dece.data': {\n extensions: ['uvf', 'uvvf', 'uvd', 'uvvd'],\n source: 'iana',\n },\n 'application/vnd.dece.ttml+xml': {\n extensions: ['uvt', 'uvvt'],\n source: 'iana',\n },\n 'application/vnd.dece.unspecified': {\n extensions: ['uvx', 'uvvx'],\n source: 'iana',\n },\n 'application/vnd.dece.zip': {\n extensions: ['uvz', 'uvvz'],\n source: 'iana',\n },\n 'application/vnd.denovo.fcselayout-link': {\n extensions: ['fe_launch'],\n source: 'iana',\n },\n 'application/vnd.dna': {\n extensions: ['dna'],\n source: 'iana',\n },\n 'application/vnd.dolby.mlp': {\n extensions: ['mlp'],\n source: 'apache',\n },\n 'application/vnd.dpgraph': {\n extensions: ['dpg'],\n source: 'iana',\n },\n 'application/vnd.dreamfactory': {\n extensions: ['dfac'],\n source: 'iana',\n },\n 'application/vnd.ds-keypoint': {\n extensions: ['kpxx'],\n source: 'apache',\n },\n 'application/vnd.dvb.ait': {\n extensions: ['ait'],\n source: 'iana',\n },\n 'application/vnd.dvb.service': {\n extensions: ['svc'],\n source: 'iana',\n },\n 'application/vnd.dynageo': {\n extensions: ['geo'],\n source: 'iana',\n },\n 'application/vnd.ecowin.chart': {\n extensions: ['mag'],\n source: 'iana',\n },\n 'application/vnd.enliven': {\n extensions: ['nml'],\n source: 'iana',\n },\n 'application/vnd.epson.esf': {\n extensions: ['esf'],\n source: 'iana',\n },\n 'application/vnd.epson.msf': {\n extensions: ['msf'],\n source: 'iana',\n },\n 'application/vnd.epson.quickanime': {\n extensions: ['qam'],\n source: 'iana',\n },\n 'application/vnd.epson.salt': {\n extensions: ['slt'],\n source: 'iana',\n },\n 'application/vnd.epson.ssf': {\n extensions: ['ssf'],\n source: 'iana',\n },\n 'application/vnd.eszigno3+xml': {\n extensions: ['es3', 'et3'],\n source: 'iana',\n },\n 'application/vnd.ezpix-album': {\n extensions: ['ez2'],\n source: 'iana',\n },\n 'application/vnd.ezpix-package': {\n extensions: ['ez3'],\n source: 'iana',\n },\n 'application/vnd.fdf': {\n extensions: ['fdf'],\n source: 'iana',\n },\n 'application/vnd.fdsn.mseed': {\n extensions: ['mseed'],\n source: 'iana',\n },\n 'application/vnd.fdsn.seed': {\n extensions: ['seed', 'dataless'],\n source: 'iana',\n },\n 'application/vnd.flographit': {\n extensions: ['gph'],\n source: 'iana',\n },\n 'application/vnd.fluxtime.clip': {\n extensions: ['ftc'],\n source: 'iana',\n },\n 'application/vnd.framemaker': {\n extensions: ['fm', 'frame', 'maker', 'book'],\n source: 'iana',\n },\n 'application/vnd.frogans.fnc': {\n extensions: ['fnc'],\n source: 'iana',\n },\n 'application/vnd.frogans.ltf': {\n extensions: ['ltf'],\n source: 'iana',\n },\n 'application/vnd.fsc.weblaunch': {\n extensions: ['fsc'],\n source: 'iana',\n },\n 'application/vnd.fujitsu.oasys': {\n extensions: ['oas'],\n source: 'iana',\n },\n 'application/vnd.fujitsu.oasys2': {\n extensions: ['oa2'],\n source: 'iana',\n },\n 'application/vnd.fujitsu.oasys3': {\n extensions: ['oa3'],\n source: 'iana',\n },\n 'application/vnd.fujitsu.oasysgp': {\n extensions: ['fg5'],\n source: 'iana',\n },\n 'application/vnd.fujitsu.oasysprs': {\n extensions: ['bh2'],\n source: 'iana',\n },\n 'application/vnd.fujixerox.ddd': {\n extensions: ['ddd'],\n source: 'iana',\n },\n 'application/vnd.fujixerox.docuworks': {\n extensions: ['xdw'],\n source: 'iana',\n },\n 'application/vnd.fujixerox.docuworks.binder': {\n extensions: ['xbd'],\n source: 'iana',\n },\n 'application/vnd.fuzzysheet': {\n extensions: ['fzs'],\n source: 'iana',\n },\n 'application/vnd.genomatix.tuxedo': {\n extensions: ['txd'],\n source: 'iana',\n },\n 'application/vnd.geogebra.file': {\n extensions: ['ggb'],\n source: 'iana',\n },\n 'application/vnd.geogebra.tool': {\n extensions: ['ggt'],\n source: 'iana',\n },\n 'application/vnd.geometry-explorer': {\n extensions: ['gex', 'gre'],\n source: 'iana',\n },\n 'application/vnd.geonext': {\n extensions: ['gxt'],\n source: 'iana',\n },\n 'application/vnd.geoplan': {\n extensions: ['g2w'],\n source: 'iana',\n },\n 'application/vnd.geospace': {\n extensions: ['g3w'],\n source: 'iana',\n },\n 'application/vnd.gmx': {\n extensions: ['gmx'],\n source: 'iana',\n },\n 'application/vnd.google-earth.kml+xml': {\n extensions: ['kml'],\n source: 'iana',\n },\n 'application/vnd.google-earth.kmz': {\n extensions: ['kmz'],\n source: 'iana',\n },\n 'application/vnd.grafeq': {\n extensions: ['gqf', 'gqs'],\n source: 'iana',\n },\n 'application/vnd.groove-account': {\n extensions: ['gac'],\n source: 'iana',\n },\n 'application/vnd.groove-help': {\n extensions: ['ghf'],\n source: 'iana',\n },\n 'application/vnd.groove-identity-message': {\n extensions: ['gim'],\n source: 'iana',\n },\n 'application/vnd.groove-injector': {\n extensions: ['grv'],\n source: 'iana',\n },\n 'application/vnd.groove-tool-message': {\n extensions: ['gtm'],\n source: 'iana',\n },\n 'application/vnd.groove-tool-template': {\n extensions: ['tpl'],\n source: 'iana',\n },\n 'application/vnd.groove-vcard': {\n extensions: ['vcg'],\n source: 'iana',\n },\n 'application/vnd.hal+xml': {\n extensions: ['hal'],\n source: 'iana',\n },\n 'application/vnd.handheld-entertainment+xml': {\n extensions: ['zmm'],\n source: 'iana',\n },\n 'application/vnd.hbci': {\n extensions: ['hbci'],\n source: 'iana',\n },\n 'application/vnd.hhe.lesson-player': {\n extensions: ['les'],\n source: 'iana',\n },\n 'application/vnd.hp-hpgl': {\n extensions: ['hpgl'],\n source: 'iana',\n },\n 'application/vnd.hp-hpid': {\n extensions: ['hpid'],\n source: 'iana',\n },\n 'application/vnd.hp-hps': {\n extensions: ['hps'],\n source: 'iana',\n },\n 'application/vnd.hp-jlyt': {\n extensions: ['jlt'],\n source: 'iana',\n },\n 'application/vnd.hp-pcl': {\n extensions: ['pcl'],\n source: 'iana',\n },\n 'application/vnd.hp-pclxl': {\n extensions: ['pclxl'],\n source: 'iana',\n },\n 'application/vnd.hydrostatix.sof-data': {\n extensions: ['sfd-hdstx'],\n source: 'iana',\n },\n 'application/vnd.ibm.minipay': {\n extensions: ['mpy'],\n source: 'iana',\n },\n 'application/vnd.ibm.modcap': {\n extensions: ['afp', 'listafp', 'list3820'],\n source: 'iana',\n },\n 'application/vnd.ibm.rights-management': {\n extensions: ['irm'],\n source: 'iana',\n },\n 'application/vnd.ibm.secure-container': {\n extensions: ['sc'],\n source: 'iana',\n },\n 'application/vnd.iccprofile': {\n extensions: ['icc', 'icm'],\n source: 'iana',\n },\n 'application/vnd.igloader': {\n extensions: ['igl'],\n source: 'iana',\n },\n 'application/vnd.immervision-ivp': {\n extensions: ['ivp'],\n source: 'iana',\n },\n 'application/vnd.immervision-ivu': {\n extensions: ['ivu'],\n source: 'iana',\n },\n 'application/vnd.insors.igm': {\n extensions: ['igm'],\n source: 'iana',\n },\n 'application/vnd.intercon.formnet': {\n extensions: ['xpw', 'xpx'],\n source: 'iana',\n },\n 'application/vnd.intergeo': {\n extensions: ['i2g'],\n source: 'iana',\n },\n 'application/vnd.intu.qbo': {\n extensions: ['qbo'],\n source: 'iana',\n },\n 'application/vnd.intu.qfx': {\n extensions: ['qfx'],\n source: 'iana',\n },\n 'application/vnd.ipunplugged.rcprofile': {\n extensions: ['rcprofile'],\n source: 'iana',\n },\n 'application/vnd.irepository.package+xml': {\n extensions: ['irp'],\n source: 'iana',\n },\n 'application/vnd.is-xpr': {\n extensions: ['xpr'],\n source: 'iana',\n },\n 'application/vnd.isac.fcs': {\n extensions: ['fcs'],\n source: 'iana',\n },\n 'application/vnd.jam': {\n extensions: ['jam'],\n source: 'iana',\n },\n 'application/vnd.jcp.javame.midlet-rms': {\n extensions: ['rms'],\n source: 'iana',\n },\n 'application/vnd.jisp': {\n extensions: ['jisp'],\n source: 'iana',\n },\n 'application/vnd.joost.joda-archive': {\n extensions: ['joda'],\n source: 'iana',\n },\n 'application/vnd.kahootz': {\n extensions: ['ktz', 'ktr'],\n source: 'iana',\n },\n 'application/vnd.kde.karbon': {\n extensions: ['karbon'],\n source: 'iana',\n },\n 'application/vnd.kde.kchart': {\n extensions: ['chrt'],\n source: 'iana',\n },\n 'application/vnd.kde.kformula': {\n extensions: ['kfo'],\n source: 'iana',\n },\n 'application/vnd.kde.kivio': {\n extensions: ['flw'],\n source: 'iana',\n },\n 'application/vnd.kde.kontour': {\n extensions: ['kon'],\n source: 'iana',\n },\n 'application/vnd.kde.kpresenter': {\n extensions: ['kpr', 'kpt'],\n source: 'iana',\n },\n 'application/vnd.kde.kspread': {\n extensions: ['ksp'],\n source: 'iana',\n },\n 'application/vnd.kde.kword': {\n extensions: ['kwd', 'kwt'],\n source: 'iana',\n },\n 'application/vnd.kenameaapp': {\n extensions: ['htke'],\n source: 'iana',\n },\n 'application/vnd.kidspiration': {\n extensions: ['kia'],\n source: 'iana',\n },\n 'application/vnd.kinar': {\n extensions: ['kne', 'knp'],\n source: 'iana',\n },\n 'application/vnd.koan': {\n extensions: ['skp', 'skd', 'skt', 'skm'],\n source: 'iana',\n },\n 'application/vnd.kodak-descriptor': {\n extensions: ['sse'],\n source: 'iana',\n },\n 'application/vnd.las.las+xml': {\n extensions: ['lasxml'],\n source: 'iana',\n },\n 'application/vnd.llamagraphics.life-balance.desktop': {\n extensions: ['lbd'],\n source: 'iana',\n },\n 'application/vnd.llamagraphics.life-balance.exchange+xml': {\n extensions: ['lbe'],\n source: 'iana',\n },\n 'application/vnd.lotus-1-2-3': {\n extensions: ['123'],\n source: 'iana',\n },\n 'application/vnd.lotus-approach': {\n extensions: ['apr'],\n source: 'iana',\n },\n 'application/vnd.lotus-freelance': {\n extensions: ['pre'],\n source: 'iana',\n },\n 'application/vnd.lotus-notes': {\n extensions: ['nsf'],\n source: 'iana',\n },\n 'application/vnd.lotus-organizer': {\n extensions: ['org'],\n source: 'iana',\n },\n 'application/vnd.lotus-screencam': {\n extensions: ['scm'],\n source: 'iana',\n },\n 'application/vnd.lotus-wordpro': {\n extensions: ['lwp'],\n source: 'iana',\n },\n 'application/vnd.macports.portpkg': {\n extensions: ['portpkg'],\n source: 'iana',\n },\n 'application/vnd.mapbox-vector-tile': {\n extensions: ['mvt'],\n source: 'iana',\n },\n 'application/vnd.mcd': {\n extensions: ['mcd'],\n source: 'iana',\n },\n 'application/vnd.medcalcdata': {\n extensions: ['mc1'],\n source: 'iana',\n },\n 'application/vnd.mediastation.cdkey': {\n extensions: ['cdkey'],\n source: 'iana',\n },\n 'application/vnd.mfer': {\n extensions: ['mwf'],\n source: 'iana',\n },\n 'application/vnd.mfmp': {\n extensions: ['mfm'],\n source: 'iana',\n },\n 'application/vnd.micrografx.flo': {\n extensions: ['flo'],\n source: 'iana',\n },\n 'application/vnd.micrografx.igx': {\n extensions: ['igx'],\n source: 'iana',\n },\n 'application/vnd.mif': {\n extensions: ['mif'],\n source: 'iana',\n },\n 'application/vnd.mobius.daf': {\n extensions: ['daf'],\n source: 'iana',\n },\n 'application/vnd.mobius.dis': {\n extensions: ['dis'],\n source: 'iana',\n },\n 'application/vnd.mobius.mbk': {\n extensions: ['mbk'],\n source: 'iana',\n },\n 'application/vnd.mobius.mqy': {\n extensions: ['mqy'],\n source: 'iana',\n },\n 'application/vnd.mobius.msl': {\n extensions: ['msl'],\n source: 'iana',\n },\n 'application/vnd.mobius.plc': {\n extensions: ['plc'],\n source: 'iana',\n },\n 'application/vnd.mobius.txf': {\n extensions: ['txf'],\n source: 'iana',\n },\n 'application/vnd.mophun.application': {\n extensions: ['mpn'],\n source: 'iana',\n },\n 'application/vnd.mophun.certificate': {\n extensions: ['mpc'],\n source: 'iana',\n },\n 'application/vnd.mozilla.xul+xml': {\n extensions: ['xul'],\n source: 'iana',\n },\n 'application/vnd.ms-artgalry': {\n extensions: ['cil'],\n source: 'iana',\n },\n 'application/vnd.ms-cab-compressed': {\n extensions: ['cab'],\n source: 'iana',\n },\n 'application/vnd.ms-excel': {\n extensions: ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw'],\n source: 'iana',\n },\n 'application/vnd.ms-excel.addin.macroenabled.12': {\n extensions: ['xlam'],\n source: 'iana',\n },\n 'application/vnd.ms-excel.sheet.binary.macroenabled.12': {\n extensions: ['xlsb'],\n source: 'iana',\n },\n 'application/vnd.ms-excel.sheet.macroenabled.12': {\n extensions: ['xlsm'],\n source: 'iana',\n },\n 'application/vnd.ms-excel.template.macroenabled.12': {\n extensions: ['xltm'],\n source: 'iana',\n },\n 'application/vnd.ms-fontobject': {\n extensions: ['eot'],\n source: 'iana',\n },\n 'application/vnd.ms-htmlhelp': {\n extensions: ['chm'],\n source: 'iana',\n },\n 'application/vnd.ms-ims': {\n extensions: ['ims'],\n source: 'iana',\n },\n 'application/vnd.ms-lrm': {\n extensions: ['lrm'],\n source: 'iana',\n },\n 'application/vnd.ms-officetheme': {\n extensions: ['thmx'],\n source: 'iana',\n },\n 'application/vnd.ms-pki.seccat': {\n extensions: ['cat'],\n source: 'apache',\n },\n 'application/vnd.ms-pki.stl': {\n extensions: ['stl'],\n source: 'apache',\n },\n 'application/vnd.ms-powerpoint': {\n extensions: ['ppt', 'pps', 'pot'],\n source: 'iana',\n },\n 'application/vnd.ms-powerpoint.addin.macroenabled.12': {\n extensions: ['ppam'],\n source: 'iana',\n },\n 'application/vnd.ms-powerpoint.presentation.macroenabled.12': {\n extensions: ['pptm'],\n source: 'iana',\n },\n 'application/vnd.ms-powerpoint.slide.macroenabled.12': {\n extensions: ['sldm'],\n source: 'iana',\n },\n 'application/vnd.ms-powerpoint.slideshow.macroenabled.12': {\n extensions: ['ppsm'],\n source: 'iana',\n },\n 'application/vnd.ms-powerpoint.template.macroenabled.12': {\n extensions: ['potm'],\n source: 'iana',\n },\n 'application/vnd.ms-project': {\n extensions: ['mpp', 'mpt'],\n source: 'iana',\n },\n 'application/vnd.ms-word.document.macroenabled.12': {\n extensions: ['docm'],\n source: 'iana',\n },\n 'application/vnd.ms-word.template.macroenabled.12': {\n extensions: ['dotm'],\n source: 'iana',\n },\n 'application/vnd.ms-works': {\n extensions: ['wps', 'wks', 'wcm', 'wdb'],\n source: 'iana',\n },\n 'application/vnd.ms-wpl': {\n extensions: ['wpl'],\n source: 'iana',\n },\n 'application/vnd.ms-xpsdocument': {\n extensions: ['xps'],\n source: 'iana',\n },\n 'application/vnd.mseq': {\n extensions: ['mseq'],\n source: 'iana',\n },\n 'application/vnd.musician': {\n extensions: ['mus'],\n source: 'iana',\n },\n 'application/vnd.muvee.style': {\n extensions: ['msty'],\n source: 'iana',\n },\n 'application/vnd.mynfc': {\n extensions: ['taglet'],\n source: 'iana',\n },\n 'application/vnd.neurolanguage.nlu': {\n extensions: ['nlu'],\n source: 'iana',\n },\n 'application/vnd.nitf': {\n extensions: ['ntf', 'nitf'],\n source: 'iana',\n },\n 'application/vnd.noblenet-directory': {\n extensions: ['nnd'],\n source: 'iana',\n },\n 'application/vnd.noblenet-sealer': {\n extensions: ['nns'],\n source: 'iana',\n },\n 'application/vnd.noblenet-web': {\n extensions: ['nnw'],\n source: 'iana',\n },\n 'application/vnd.nokia.n-gage.ac+xml': {\n extensions: ['ac'],\n source: 'iana',\n },\n 'application/vnd.nokia.n-gage.data': {\n extensions: ['ngdat'],\n source: 'iana',\n },\n 'application/vnd.nokia.n-gage.symbian.install': {\n extensions: ['n-gage'],\n source: 'iana',\n },\n 'application/vnd.nokia.radio-preset': {\n extensions: ['rpst'],\n source: 'iana',\n },\n 'application/vnd.nokia.radio-presets': {\n extensions: ['rpss'],\n source: 'iana',\n },\n 'application/vnd.novadigm.edm': {\n extensions: ['edm'],\n source: 'iana',\n },\n 'application/vnd.novadigm.edx': {\n extensions: ['edx'],\n source: 'iana',\n },\n 'application/vnd.novadigm.ext': {\n extensions: ['ext'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.chart': {\n extensions: ['odc'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.chart-template': {\n extensions: ['otc'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.database': {\n extensions: ['odb'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.formula': {\n extensions: ['odf'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.formula-template': {\n extensions: ['odft'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.graphics': {\n extensions: ['odg'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.graphics-template': {\n extensions: ['otg'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.image': {\n extensions: ['odi'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.image-template': {\n extensions: ['oti'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.presentation': {\n extensions: ['odp'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.presentation-template': {\n extensions: ['otp'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.spreadsheet': {\n extensions: ['ods'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.spreadsheet-template': {\n extensions: ['ots'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.text': {\n extensions: ['odt'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.text-master': {\n extensions: ['odm'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.text-template': {\n extensions: ['ott'],\n source: 'iana',\n },\n 'application/vnd.oasis.opendocument.text-web': {\n extensions: ['oth'],\n source: 'iana',\n },\n 'application/vnd.olpc-sugar': {\n extensions: ['xo'],\n source: 'iana',\n },\n 'application/vnd.oma.dd2+xml': {\n extensions: ['dd2'],\n source: 'iana',\n },\n 'application/vnd.openblox.game+xml': {\n extensions: ['obgx'],\n source: 'iana',\n },\n 'application/vnd.openofficeorg.extension': {\n extensions: ['oxt'],\n source: 'apache',\n },\n 'application/vnd.openstreetmap.data+xml': {\n extensions: ['osm'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': {\n extensions: ['pptx'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.presentationml.slide': {\n extensions: ['sldx'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': {\n extensions: ['ppsx'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.presentationml.template': {\n extensions: ['potx'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': {\n extensions: ['xlsx'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': {\n extensions: ['xltx'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': {\n extensions: ['docx'],\n source: 'iana',\n },\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': {\n extensions: ['dotx'],\n source: 'iana',\n },\n 'application/vnd.osgeo.mapguide.package': {\n extensions: ['mgp'],\n source: 'iana',\n },\n 'application/vnd.osgi.dp': {\n extensions: ['dp'],\n source: 'iana',\n },\n 'application/vnd.osgi.subsystem': {\n extensions: ['esa'],\n source: 'iana',\n },\n 'application/vnd.palm': {\n extensions: ['pdb', 'pqa', 'oprc'],\n source: 'iana',\n },\n 'application/vnd.pawaafile': {\n extensions: ['paw'],\n source: 'iana',\n },\n 'application/vnd.pg.format': {\n extensions: ['str'],\n source: 'iana',\n },\n 'application/vnd.pg.osasli': {\n extensions: ['ei6'],\n source: 'iana',\n },\n 'application/vnd.picsel': {\n extensions: ['efif'],\n source: 'iana',\n },\n 'application/vnd.pmi.widget': {\n extensions: ['wg'],\n source: 'iana',\n },\n 'application/vnd.pocketlearn': {\n extensions: ['plf'],\n source: 'iana',\n },\n 'application/vnd.powerbuilder6': {\n extensions: ['pbd'],\n source: 'iana',\n },\n 'application/vnd.previewsystems.box': {\n extensions: ['box'],\n source: 'iana',\n },\n 'application/vnd.proteus.magazine': {\n extensions: ['mgz'],\n source: 'iana',\n },\n 'application/vnd.publishare-delta-tree': {\n extensions: ['qps'],\n source: 'iana',\n },\n 'application/vnd.pvi.ptid1': {\n extensions: ['ptid'],\n source: 'iana',\n },\n 'application/vnd.quark.quarkxpress': {\n extensions: ['qxd', 'qxt', 'qwd', 'qwt', 'qxl', 'qxb'],\n source: 'iana',\n },\n 'application/vnd.rar': {\n extensions: ['rar'],\n source: 'iana',\n },\n 'application/vnd.realvnc.bed': {\n extensions: ['bed'],\n source: 'iana',\n },\n 'application/vnd.recordare.musicxml': {\n extensions: ['mxl'],\n source: 'iana',\n },\n 'application/vnd.recordare.musicxml+xml': {\n extensions: ['musicxml'],\n source: 'iana',\n },\n 'application/vnd.rig.cryptonote': {\n extensions: ['cryptonote'],\n source: 'iana',\n },\n 'application/vnd.rim.cod': {\n extensions: ['cod'],\n source: 'apache',\n },\n 'application/vnd.rn-realmedia': {\n extensions: ['rm'],\n source: 'apache',\n },\n 'application/vnd.rn-realmedia-vbr': {\n extensions: ['rmvb'],\n source: 'apache',\n },\n 'application/vnd.route66.link66+xml': {\n extensions: ['link66'],\n source: 'iana',\n },\n 'application/vnd.sailingtracker.track': {\n extensions: ['st'],\n source: 'iana',\n },\n 'application/vnd.seemail': {\n extensions: ['see'],\n source: 'iana',\n },\n 'application/vnd.sema': {\n extensions: ['sema'],\n source: 'iana',\n },\n 'application/vnd.semd': {\n extensions: ['semd'],\n source: 'iana',\n },\n 'application/vnd.semf': {\n extensions: ['semf'],\n source: 'iana',\n },\n 'application/vnd.shana.informed.formdata': {\n extensions: ['ifm'],\n source: 'iana',\n },\n 'application/vnd.shana.informed.formtemplate': {\n extensions: ['itp'],\n source: 'iana',\n },\n 'application/vnd.shana.informed.interchange': {\n extensions: ['iif'],\n source: 'iana',\n },\n 'application/vnd.shana.informed.package': {\n extensions: ['ipk'],\n source: 'iana',\n },\n 'application/vnd.simtech-mindmapper': {\n extensions: ['twd', 'twds'],\n source: 'iana',\n },\n 'application/vnd.smaf': {\n extensions: ['mmf'],\n source: 'iana',\n },\n 'application/vnd.smart.teacher': {\n extensions: ['teacher'],\n source: 'iana',\n },\n 'application/vnd.software602.filler.form+xml': {\n extensions: ['fo'],\n source: 'iana',\n },\n 'application/vnd.solent.sdkm+xml': {\n extensions: ['sdkm', 'sdkd'],\n source: 'iana',\n },\n 'application/vnd.spotfire.dxp': {\n extensions: ['dxp'],\n source: 'iana',\n },\n 'application/vnd.spotfire.sfs': {\n extensions: ['sfs'],\n source: 'iana',\n },\n 'application/vnd.stardivision.calc': {\n extensions: ['sdc'],\n source: 'apache',\n },\n 'application/vnd.stardivision.draw': {\n extensions: ['sda'],\n source: 'apache',\n },\n 'application/vnd.stardivision.impress': {\n extensions: ['sdd'],\n source: 'apache',\n },\n 'application/vnd.stardivision.math': {\n extensions: ['smf'],\n source: 'apache',\n },\n 'application/vnd.stardivision.writer': {\n extensions: ['sdw', 'vor'],\n source: 'apache',\n },\n 'application/vnd.stardivision.writer-global': {\n extensions: ['sgl'],\n source: 'apache',\n },\n 'application/vnd.stepmania.package': {\n extensions: ['smzip'],\n source: 'iana',\n },\n 'application/vnd.stepmania.stepchart': {\n extensions: ['sm'],\n source: 'iana',\n },\n 'application/vnd.sun.wadl+xml': {\n extensions: ['wadl'],\n source: 'iana',\n },\n 'application/vnd.sun.xml.calc': {\n extensions: ['sxc'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.calc.template': {\n extensions: ['stc'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.draw': {\n extensions: ['sxd'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.draw.template': {\n extensions: ['std'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.impress': {\n extensions: ['sxi'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.impress.template': {\n extensions: ['sti'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.math': {\n extensions: ['sxm'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.writer': {\n extensions: ['sxw'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.writer.global': {\n extensions: ['sxg'],\n source: 'apache',\n },\n 'application/vnd.sun.xml.writer.template': {\n extensions: ['stw'],\n source: 'apache',\n },\n 'application/vnd.sus-calendar': {\n extensions: ['sus', 'susp'],\n source: 'iana',\n },\n 'application/vnd.svd': {\n extensions: ['svd'],\n source: 'iana',\n },\n 'application/vnd.symbian.install': {\n extensions: ['sis', 'sisx'],\n source: 'apache',\n },\n 'application/vnd.syncml+xml': {\n charset: 'UTF-8',\n extensions: ['xsm'],\n source: 'iana',\n },\n 'application/vnd.syncml.dm+wbxml': {\n charset: 'UTF-8',\n extensions: ['bdm'],\n source: 'iana',\n },\n 'application/vnd.syncml.dm+xml': {\n charset: 'UTF-8',\n extensions: ['xdm'],\n source: 'iana',\n },\n 'application/vnd.syncml.dmddf+xml': {\n charset: 'UTF-8',\n extensions: ['ddf'],\n source: 'iana',\n },\n 'application/vnd.tao.intent-module-archive': {\n extensions: ['tao'],\n source: 'iana',\n },\n 'application/vnd.tcpdump.pcap': {\n extensions: ['pcap', 'cap', 'dmp'],\n source: 'iana',\n },\n 'application/vnd.tmobile-livetv': {\n extensions: ['tmo'],\n source: 'iana',\n },\n 'application/vnd.trid.tpt': {\n extensions: ['tpt'],\n source: 'iana',\n },\n 'application/vnd.triscape.mxs': {\n extensions: ['mxs'],\n source: 'iana',\n },\n 'application/vnd.trueapp': {\n extensions: ['tra'],\n source: 'iana',\n },\n 'application/vnd.ufdl': {\n extensions: ['ufd', 'ufdl'],\n source: 'iana',\n },\n 'application/vnd.uiq.theme': {\n extensions: ['utz'],\n source: 'iana',\n },\n 'application/vnd.umajin': {\n extensions: ['umj'],\n source: 'iana',\n },\n 'application/vnd.unity': {\n extensions: ['unityweb'],\n source: 'iana',\n },\n 'application/vnd.uoml+xml': {\n extensions: ['uoml'],\n source: 'iana',\n },\n 'application/vnd.vcx': {\n extensions: ['vcx'],\n source: 'iana',\n },\n 'application/vnd.visio': {\n extensions: ['vsd', 'vst', 'vss', 'vsw'],\n source: 'iana',\n },\n 'application/vnd.visionary': {\n extensions: ['vis'],\n source: 'iana',\n },\n 'application/vnd.vsf': {\n extensions: ['vsf'],\n source: 'iana',\n },\n 'application/vnd.wap.wbxml': {\n charset: 'UTF-8',\n extensions: ['wbxml'],\n source: 'iana',\n },\n 'application/vnd.wap.wmlc': {\n extensions: ['wmlc'],\n source: 'iana',\n },\n 'application/vnd.wap.wmlscriptc': {\n extensions: ['wmlsc'],\n source: 'iana',\n },\n 'application/vnd.webturbo': {\n extensions: ['wtb'],\n source: 'iana',\n },\n 'application/vnd.wolfram.player': {\n extensions: ['nbp'],\n source: 'iana',\n },\n 'application/vnd.wordperfect': {\n extensions: ['wpd'],\n source: 'iana',\n },\n 'application/vnd.wqd': {\n extensions: ['wqd'],\n source: 'iana',\n },\n 'application/vnd.wt.stf': {\n extensions: ['stf'],\n source: 'iana',\n },\n 'application/vnd.xara': {\n extensions: ['xar'],\n source: 'iana',\n },\n 'application/vnd.xfdl': {\n extensions: ['xfdl'],\n source: 'iana',\n },\n 'application/vnd.yamaha.hv-dic': {\n extensions: ['hvd'],\n source: 'iana',\n },\n 'application/vnd.yamaha.hv-script': {\n extensions: ['hvs'],\n source: 'iana',\n },\n 'application/vnd.yamaha.hv-voice': {\n extensions: ['hvp'],\n source: 'iana',\n },\n 'application/vnd.yamaha.openscoreformat': {\n extensions: ['osf'],\n source: 'iana',\n },\n 'application/vnd.yamaha.openscoreformat.osfpvg+xml': {\n extensions: ['osfpvg'],\n source: 'iana',\n },\n 'application/vnd.yamaha.smaf-audio': {\n extensions: ['saf'],\n source: 'iana',\n },\n 'application/vnd.yamaha.smaf-phrase': {\n extensions: ['spf'],\n source: 'iana',\n },\n 'application/vnd.yellowriver-custom-menu': {\n extensions: ['cmp'],\n source: 'iana',\n },\n 'application/vnd.zul': {\n extensions: ['zir', 'zirz'],\n source: 'iana',\n },\n 'application/vnd.zzazz.deck+xml': {\n extensions: ['zaz'],\n source: 'iana',\n },\n 'application/voicexml+xml': {\n extensions: ['vxml'],\n source: 'iana',\n },\n 'application/wasm': {\n extensions: ['wasm'],\n source: 'iana',\n },\n 'application/watcherinfo+xml': {\n extensions: ['wif'],\n source: 'iana',\n },\n 'application/widget': {\n extensions: ['wgt'],\n source: 'iana',\n },\n 'application/winhlp': {\n extensions: ['hlp'],\n source: 'apache',\n },\n 'application/wsdl+xml': {\n extensions: ['wsdl'],\n source: 'iana',\n },\n 'application/wspolicy+xml': {\n extensions: ['wspolicy'],\n source: 'iana',\n },\n 'application/x-7z-compressed': {\n extensions: ['7z'],\n source: 'apache',\n },\n 'application/x-abiword': {\n extensions: ['abw'],\n source: 'apache',\n },\n 'application/x-ace-compressed': {\n extensions: ['ace'],\n source: 'apache',\n },\n 'application/x-apple-diskimage': {\n extensions: ['dmg'],\n source: 'apache',\n },\n 'application/x-authorware-bin': {\n extensions: ['aab', 'x32', 'u32', 'vox'],\n source: 'apache',\n },\n 'application/x-authorware-map': {\n extensions: ['aam'],\n source: 'apache',\n },\n 'application/x-authorware-seg': {\n extensions: ['aas'],\n source: 'apache',\n },\n 'application/x-bcpio': {\n extensions: ['bcpio'],\n source: 'apache',\n },\n 'application/x-bittorrent': {\n extensions: ['torrent'],\n source: 'apache',\n },\n 'application/x-blorb': {\n extensions: ['blb', 'blorb'],\n source: 'apache',\n },\n 'application/x-bzip': {\n extensions: ['bz'],\n source: 'apache',\n },\n 'application/x-bzip2': {\n extensions: ['bz2', 'boz'],\n source: 'apache',\n },\n 'application/x-cbr': {\n extensions: ['cbr', 'cba', 'cbt', 'cbz', 'cb7'],\n source: 'apache',\n },\n 'application/x-cdlink': {\n extensions: ['vcd'],\n source: 'apache',\n },\n 'application/x-cfs-compressed': {\n extensions: ['cfs'],\n source: 'apache',\n },\n 'application/x-chat': {\n extensions: ['chat'],\n source: 'apache',\n },\n 'application/x-chess-pgn': {\n extensions: ['pgn'],\n source: 'apache',\n },\n 'application/x-cocoa': {\n extensions: ['cco'],\n source: 'nginx',\n },\n 'application/x-conference': {\n extensions: ['nsc'],\n source: 'apache',\n },\n 'application/x-cpio': {\n extensions: ['cpio'],\n source: 'apache',\n },\n 'application/x-csh': {\n extensions: ['csh'],\n source: 'apache',\n },\n 'application/x-debian-package': {\n extensions: ['deb', 'udeb'],\n source: 'apache',\n },\n 'application/x-dgc-compressed': {\n extensions: ['dgc'],\n source: 'apache',\n },\n 'application/x-director': {\n extensions: ['dir', 'dcr', 'dxr', 'cst', 'cct', 'cxt', 'w3d', 'fgd', 'swa'],\n source: 'apache',\n },\n 'application/x-doom': {\n extensions: ['wad'],\n source: 'apache',\n },\n 'application/x-dtbncx+xml': {\n extensions: ['ncx'],\n source: 'apache',\n },\n 'application/x-dtbook+xml': {\n extensions: ['dtb'],\n source: 'apache',\n },\n 'application/x-dtbresource+xml': {\n extensions: ['res'],\n source: 'apache',\n },\n 'application/x-dvi': {\n extensions: ['dvi'],\n source: 'apache',\n },\n 'application/x-envoy': {\n extensions: ['evy'],\n source: 'apache',\n },\n 'application/x-eva': {\n extensions: ['eva'],\n source: 'apache',\n },\n 'application/x-font-bdf': {\n extensions: ['bdf'],\n source: 'apache',\n },\n 'application/x-font-ghostscript': {\n extensions: ['gsf'],\n source: 'apache',\n },\n 'application/x-font-linux-psf': {\n extensions: ['psf'],\n source: 'apache',\n },\n 'application/x-font-pcf': {\n extensions: ['pcf'],\n source: 'apache',\n },\n 'application/x-font-snf': {\n extensions: ['snf'],\n source: 'apache',\n },\n 'application/x-font-type1': {\n extensions: ['pfa', 'pfb', 'pfm', 'afm'],\n source: 'apache',\n },\n 'application/x-freearc': {\n extensions: ['arc'],\n source: 'apache',\n },\n 'application/x-futuresplash': {\n extensions: ['spl'],\n source: 'apache',\n },\n 'application/x-gca-compressed': {\n extensions: ['gca'],\n source: 'apache',\n },\n 'application/x-glulx': {\n extensions: ['ulx'],\n source: 'apache',\n },\n 'application/x-gnumeric': {\n extensions: ['gnumeric'],\n source: 'apache',\n },\n 'application/x-gramps-xml': {\n extensions: ['gramps'],\n source: 'apache',\n },\n 'application/x-gtar': {\n extensions: ['gtar'],\n source: 'apache',\n },\n 'application/x-hdf': {\n extensions: ['hdf'],\n source: 'apache',\n },\n 'application/x-install-instructions': {\n extensions: ['install'],\n source: 'apache',\n },\n 'application/x-iso9660-image': {\n extensions: ['iso'],\n source: 'apache',\n },\n 'application/x-java-archive-diff': {\n extensions: ['jardiff'],\n source: 'nginx',\n },\n 'application/x-java-jnlp-file': {\n extensions: ['jnlp'],\n source: 'apache',\n },\n 'application/x-latex': {\n extensions: ['latex'],\n source: 'apache',\n },\n 'application/x-lzh-compressed': {\n extensions: ['lzh', 'lha'],\n source: 'apache',\n },\n 'application/x-makeself': {\n extensions: ['run'],\n source: 'nginx',\n },\n 'application/x-mie': {\n extensions: ['mie'],\n source: 'apache',\n },\n 'application/x-mobipocket-ebook': {\n extensions: ['prc', 'mobi'],\n source: 'apache',\n },\n 'application/x-ms-application': {\n extensions: ['application'],\n source: 'apache',\n },\n 'application/x-ms-shortcut': {\n extensions: ['lnk'],\n source: 'apache',\n },\n 'application/x-ms-wmd': {\n extensions: ['wmd'],\n source: 'apache',\n },\n 'application/x-ms-wmz': {\n extensions: ['wmz'],\n source: 'apache',\n },\n 'application/x-ms-xbap': {\n extensions: ['xbap'],\n source: 'apache',\n },\n 'application/x-msaccess': {\n extensions: ['mdb'],\n source: 'apache',\n },\n 'application/x-msbinder': {\n extensions: ['obd'],\n source: 'apache',\n },\n 'application/x-mscardfile': {\n extensions: ['crd'],\n source: 'apache',\n },\n 'application/x-msclip': {\n extensions: ['clp'],\n source: 'apache',\n },\n 'application/x-msdownload': {\n extensions: ['exe', 'dll', 'com', 'bat', 'msi'],\n source: 'apache',\n },\n 'application/x-msmediaview': {\n extensions: ['mvb', 'm13', 'm14'],\n source: 'apache',\n },\n 'application/x-msmetafile': {\n extensions: ['wmf', 'wmz', 'emf', 'emz'],\n source: 'apache',\n },\n 'application/x-msmoney': {\n extensions: ['mny'],\n source: 'apache',\n },\n 'application/x-mspublisher': {\n extensions: ['pub'],\n source: 'apache',\n },\n 'application/x-msschedule': {\n extensions: ['scd'],\n source: 'apache',\n },\n 'application/x-msterminal': {\n extensions: ['trm'],\n source: 'apache',\n },\n 'application/x-mswrite': {\n extensions: ['wri'],\n source: 'apache',\n },\n 'application/x-netcdf': {\n extensions: ['nc', 'cdf'],\n source: 'apache',\n },\n 'application/x-nzb': {\n extensions: ['nzb'],\n source: 'apache',\n },\n 'application/x-perl': {\n extensions: ['pl', 'pm'],\n source: 'nginx',\n },\n 'application/x-pilot': {\n extensions: ['prc', 'pdb'],\n source: 'nginx',\n },\n 'application/x-pkcs7-certificates': {\n extensions: ['p7b', 'spc'],\n source: 'apache',\n },\n 'application/x-pkcs7-certreqresp': {\n extensions: ['p7r'],\n source: 'apache',\n },\n 'application/x-pkcs12': {\n extensions: ['p12', 'pfx'],\n source: 'apache',\n },\n 'application/x-rar-compressed': {\n extensions: ['rar'],\n source: 'apache',\n },\n 'application/x-redhat-package-manager': {\n extensions: ['rpm'],\n source: 'nginx',\n },\n 'application/x-research-info-systems': {\n extensions: ['ris'],\n source: 'apache',\n },\n 'application/x-sea': {\n extensions: ['sea'],\n source: 'nginx',\n },\n 'application/x-sh': {\n extensions: ['sh'],\n source: 'apache',\n },\n 'application/x-shar': {\n extensions: ['shar'],\n source: 'apache',\n },\n 'application/x-shockwave-flash': {\n extensions: ['swf'],\n source: 'apache',\n },\n 'application/x-silverlight-app': {\n extensions: ['xap'],\n source: 'apache',\n },\n 'application/x-sql': {\n extensions: ['sql'],\n source: 'apache',\n },\n 'application/x-stuffit': {\n extensions: ['sit'],\n source: 'apache',\n },\n 'application/x-stuffitx': {\n extensions: ['sitx'],\n source: 'apache',\n },\n 'application/x-subrip': {\n extensions: ['srt'],\n source: 'apache',\n },\n 'application/x-sv4cpio': {\n extensions: ['sv4cpio'],\n source: 'apache',\n },\n 'application/x-sv4crc': {\n extensions: ['sv4crc'],\n source: 'apache',\n },\n 'application/x-t3vm-image': {\n extensions: ['t3'],\n source: 'apache',\n },\n 'application/x-tads': {\n extensions: ['gam'],\n source: 'apache',\n },\n 'application/x-tar': {\n extensions: ['tar'],\n source: 'apache',\n },\n 'application/x-tcl': {\n extensions: ['tcl', 'tk'],\n source: 'apache',\n },\n 'application/x-tex': {\n extensions: ['tex'],\n source: 'apache',\n },\n 'application/x-tex-tfm': {\n extensions: ['tfm'],\n source: 'apache',\n },\n 'application/x-texinfo': {\n extensions: ['texinfo', 'texi'],\n source: 'apache',\n },\n 'application/x-tgif': {\n extensions: ['obj'],\n source: 'apache',\n },\n 'application/x-ustar': {\n extensions: ['ustar'],\n source: 'apache',\n },\n 'application/x-wais-source': {\n extensions: ['src'],\n source: 'apache',\n },\n 'application/x-x509-ca-cert': {\n extensions: ['der', 'crt', 'pem'],\n source: 'iana',\n },\n 'application/x-xfig': {\n extensions: ['fig'],\n source: 'apache',\n },\n 'application/x-xliff+xml': {\n extensions: ['xlf'],\n source: 'apache',\n },\n 'application/x-xpinstall': {\n extensions: ['xpi'],\n source: 'apache',\n },\n 'application/x-xz': {\n extensions: ['xz'],\n source: 'apache',\n },\n 'application/x-zmachine': {\n extensions: ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'],\n source: 'apache',\n },\n 'application/xaml+xml': {\n extensions: ['xaml'],\n source: 'apache',\n },\n 'application/xcap-att+xml': {\n extensions: ['xav'],\n source: 'iana',\n },\n 'application/xcap-caps+xml': {\n extensions: ['xca'],\n source: 'iana',\n },\n 'application/xcap-diff+xml': {\n extensions: ['xdf'],\n source: 'iana',\n },\n 'application/xcap-el+xml': {\n extensions: ['xel'],\n source: 'iana',\n },\n 'application/xcap-ns+xml': {\n extensions: ['xns'],\n source: 'iana',\n },\n 'application/xenc+xml': {\n extensions: ['xenc'],\n source: 'iana',\n },\n 'application/xhtml+xml': {\n extensions: ['xhtml', 'xht'],\n source: 'iana',\n },\n 'application/xliff+xml': {\n extensions: ['xlf'],\n source: 'iana',\n },\n 'application/xml': {\n extensions: ['xml', 'xsl', 'xsd', 'rng'],\n source: 'iana',\n },\n 'application/xml-dtd': {\n extensions: ['dtd'],\n source: 'iana',\n },\n 'application/xop+xml': {\n extensions: ['xop'],\n source: 'iana',\n },\n 'application/xproc+xml': {\n extensions: ['xpl'],\n source: 'apache',\n },\n 'application/xslt+xml': {\n extensions: ['xsl', 'xslt'],\n source: 'iana',\n },\n 'application/xspf+xml': {\n extensions: ['xspf'],\n source: 'apache',\n },\n 'application/xv+xml': {\n extensions: ['mxml', 'xhvml', 'xvml', 'xvm'],\n source: 'iana',\n },\n 'application/yaml': {\n extensions: ['yaml', 'yml'],\n source: 'iana',\n },\n 'application/yang': {\n extensions: ['yang'],\n source: 'iana',\n },\n 'application/yin+xml': {\n extensions: ['yin'],\n source: 'iana',\n },\n 'application/zip': {\n extensions: ['zip'],\n source: 'iana',\n },\n} as const;\n","export const audio = {\n 'audio/3gpp': {\n extensions: ['3gpp'],\n source: 'iana',\n },\n 'audio/adpcm': {\n extensions: ['adp'],\n source: 'apache',\n },\n 'audio/amr': {\n extensions: ['amr'],\n source: 'iana',\n },\n 'audio/basic': {\n extensions: ['au', 'snd'],\n source: 'iana',\n },\n 'audio/midi': {\n extensions: ['mid', 'midi', 'kar', 'rmi'],\n source: 'apache',\n },\n 'audio/mobile-xmf': {\n extensions: ['mxmf'],\n source: 'iana',\n },\n 'audio/mp4': {\n extensions: ['m4a', 'mp4a'],\n source: 'iana',\n },\n 'audio/mpeg': {\n extensions: ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],\n source: 'iana',\n },\n 'audio/ogg': {\n extensions: ['oga', 'ogg', 'spx', 'opus'],\n source: 'iana',\n },\n 'audio/s3m': {\n extensions: ['s3m'],\n source: 'apache',\n },\n 'audio/silk': {\n extensions: ['sil'],\n source: 'apache',\n },\n 'audio/vnd.dece.audio': {\n extensions: ['uva', 'uvva'],\n source: 'iana',\n },\n 'audio/vnd.digital-winds': {\n extensions: ['eol'],\n source: 'iana',\n },\n 'audio/vnd.dra': {\n extensions: ['dra'],\n source: 'iana',\n },\n 'audio/vnd.dts': {\n extensions: ['dts'],\n source: 'iana',\n },\n 'audio/vnd.dts.hd': {\n extensions: ['dtshd'],\n source: 'iana',\n },\n 'audio/vnd.lucent.voice': {\n extensions: ['lvp'],\n source: 'iana',\n },\n 'audio/vnd.ms-playready.media.pya': {\n extensions: ['pya'],\n source: 'iana',\n },\n 'audio/vnd.nuera.ecelp4800': {\n extensions: ['ecelp4800'],\n source: 'iana',\n },\n 'audio/vnd.nuera.ecelp7470': {\n extensions: ['ecelp7470'],\n source: 'iana',\n },\n 'audio/vnd.nuera.ecelp9600': {\n extensions: ['ecelp9600'],\n source: 'iana',\n },\n 'audio/vnd.rip': {\n extensions: ['rip'],\n source: 'iana',\n },\n 'audio/webm': {\n extensions: ['weba'],\n source: 'apache',\n },\n 'audio/x-aac': {\n extensions: ['aac'],\n source: 'apache',\n },\n 'audio/x-aiff': {\n extensions: ['aif', 'aiff', 'aifc'],\n source: 'apache',\n },\n 'audio/x-caf': {\n extensions: ['caf'],\n source: 'apache',\n },\n 'audio/x-flac': {\n extensions: ['flac'],\n source: 'apache',\n },\n 'audio/x-gsm': {\n extensions: ['gsm'],\n source: 'apache',\n },\n 'audio/x-m4a': {\n extensions: ['m4a'],\n source: 'nginx',\n },\n 'audio/x-matroska': {\n extensions: ['mka'],\n source: 'apache',\n },\n 'audio/x-mpegurl': {\n extensions: ['m3u'],\n source: 'apache',\n },\n 'audio/x-ms-wax': {\n extensions: ['wax'],\n source: 'apache',\n },\n 'audio/x-ms-wma': {\n extensions: ['wma'],\n source: 'apache',\n },\n 'audio/x-pn-realaudio': {\n extensions: ['ram', 'ra'],\n source: 'apache',\n },\n 'audio/x-pn-realaudio-plugin': {\n extensions: ['rmp'],\n source: 'apache',\n },\n 'audio/x-realaudio': {\n extensions: ['ra'],\n source: 'nginx',\n },\n 'audio/x-wav': {\n extensions: ['wav'],\n source: 'apache',\n },\n 'audio/xm': {\n extensions: ['xm'],\n source: 'apache',\n },\n} as const;\n","export const image = {\n 'image/aces': {\n extensions: ['exr'],\n source: 'iana',\n },\n 'image/avci': {\n extensions: ['avci'],\n source: 'iana',\n },\n 'image/avcs': {\n extensions: ['avcs'],\n source: 'iana',\n },\n 'image/avif': {\n extensions: ['avif'],\n source: 'iana',\n },\n 'image/bmp': {\n extensions: ['bmp'],\n source: 'iana',\n },\n 'image/cgm': {\n extensions: ['cgm'],\n source: 'iana',\n },\n 'image/dicom-rle': {\n extensions: ['drle'],\n source: 'iana',\n },\n 'image/emf': {\n extensions: ['emf'],\n source: 'iana',\n },\n 'image/fits': {\n extensions: ['fits'],\n source: 'iana',\n },\n 'image/g3fax': {\n extensions: ['g3'],\n source: 'iana',\n },\n 'image/gif': {\n extensions: ['gif'],\n source: 'iana',\n },\n 'image/heic': {\n extensions: ['heic'],\n source: 'iana',\n },\n 'image/heic-sequence': {\n extensions: ['heics'],\n source: 'iana',\n },\n 'image/heif': {\n extensions: ['heif'],\n source: 'iana',\n },\n 'image/heif-sequence': {\n extensions: ['heifs'],\n source: 'iana',\n },\n 'image/hej2k': {\n extensions: ['hej2'],\n source: 'iana',\n },\n 'image/hsj2': {\n extensions: ['hsj2'],\n source: 'iana',\n },\n 'image/ief': {\n extensions: ['ief'],\n source: 'iana',\n },\n 'image/jls': {\n extensions: ['jls'],\n source: 'iana',\n },\n 'image/jp2': {\n extensions: ['jp2', 'jpg2'],\n source: 'iana',\n },\n 'image/jpeg': {\n extensions: ['jpeg', 'jpg', 'jpe', 'jfif', 'pjpeg', 'pjp'],\n source: 'iana',\n },\n 'image/jph': {\n extensions: ['jph'],\n source: 'iana',\n },\n 'image/jphc': {\n extensions: ['jhc'],\n source: 'iana',\n },\n 'image/jpm': {\n extensions: ['jpm'],\n source: 'iana',\n },\n 'image/jpx': {\n extensions: ['jpx', 'jpf'],\n source: 'iana',\n },\n 'image/jxr': {\n extensions: ['jxr'],\n source: 'iana',\n },\n 'image/jxra': {\n extensions: ['jxra'],\n source: 'iana',\n },\n 'image/jxrs': {\n extensions: ['jxrs'],\n source: 'iana',\n },\n 'image/jxs': {\n extensions: ['jxs'],\n source: 'iana',\n },\n 'image/jxsc': {\n extensions: ['jxsc'],\n source: 'iana',\n },\n 'image/jxsi': {\n extensions: ['jxsi'],\n source: 'iana',\n },\n 'image/jxss': {\n extensions: ['jxss'],\n source: 'iana',\n },\n 'image/ktx': {\n extensions: ['ktx'],\n source: 'iana',\n },\n 'image/ktx2': {\n extensions: ['ktx2'],\n source: 'iana',\n },\n 'image/png': {\n extensions: ['png'],\n source: 'iana',\n },\n 'image/prs.btif': {\n extensions: ['btif'],\n source: 'iana',\n },\n 'image/prs.pti': {\n extensions: ['pti'],\n source: 'iana',\n },\n 'image/sgi': {\n extensions: ['sgi'],\n source: 'apache',\n },\n 'image/svg+xml': {\n extensions: ['svg', 'svgz'],\n source: 'iana',\n },\n 'image/t38': {\n extensions: ['t38'],\n source: 'iana',\n },\n 'image/tiff': {\n extensions: ['tif', 'tiff'],\n source: 'iana',\n },\n 'image/tiff-fx': {\n extensions: ['tfx'],\n source: 'iana',\n },\n 'image/vnd.adobe.photoshop': {\n extensions: ['psd'],\n source: 'iana',\n },\n 'image/vnd.airzip.accelerator.azv': {\n extensions: ['azv'],\n source: 'iana',\n },\n 'image/vnd.dece.graphic': {\n extensions: ['uvi', 'uvvi', 'uvg', 'uvvg'],\n source: 'iana',\n },\n 'image/vnd.djvu': {\n extensions: ['djvu', 'djv'],\n source: 'iana',\n },\n 'image/vnd.dvb.subtitle': {\n extensions: ['sub'],\n source: 'iana',\n },\n 'image/vnd.dwg': {\n extensions: ['dwg'],\n source: 'iana',\n },\n 'image/vnd.dxf': {\n extensions: ['dxf'],\n source: 'iana',\n },\n 'image/vnd.fastbidsheet': {\n extensions: ['fbs'],\n source: 'iana',\n },\n 'image/vnd.fpx': {\n extensions: ['fpx'],\n source: 'iana',\n },\n 'image/vnd.fst': {\n extensions: ['fst'],\n source: 'iana',\n },\n 'image/vnd.fujixerox.edmics-mmr': {\n extensions: ['mmr'],\n source: 'iana',\n },\n 'image/vnd.fujixerox.edmics-rlc': {\n extensions: ['rlc'],\n source: 'iana',\n },\n 'image/vnd.microsoft.icon': {\n extensions: ['ico'],\n source: 'iana',\n },\n 'image/vnd.ms-modi': {\n extensions: ['mdi'],\n source: 'iana',\n },\n 'image/vnd.ms-photo': {\n extensions: ['wdp'],\n source: 'apache',\n },\n 'image/vnd.net-fpx': {\n extensions: ['npx'],\n source: 'iana',\n },\n 'image/vnd.pco.b16': {\n extensions: ['b16'],\n source: 'iana',\n },\n 'image/vnd.tencent.tap': {\n extensions: ['tap'],\n source: 'iana',\n },\n 'image/vnd.valve.source.texture': {\n extensions: ['vtf'],\n source: 'iana',\n },\n 'image/vnd.wap.wbmp': {\n extensions: ['wbmp'],\n source: 'iana',\n },\n 'image/vnd.xiff': {\n extensions: ['xif'],\n source: 'iana',\n },\n 'image/vnd.zbrush.pcx': {\n extensions: ['pcx'],\n source: 'iana',\n },\n 'image/webp': {\n extensions: ['webp'],\n source: 'apache',\n },\n 'image/wmf': {\n extensions: ['wmf'],\n source: 'iana',\n },\n 'image/x-3ds': {\n extensions: ['3ds'],\n source: 'apache',\n },\n 'image/x-cmu-raster': {\n extensions: ['ras'],\n source: 'apache',\n },\n 'image/x-cmx': {\n extensions: ['cmx'],\n source: 'apache',\n },\n 'image/x-freehand': {\n extensions: ['fh', 'fhc', 'fh4', 'fh5', 'fh7'],\n source: 'apache',\n },\n 'image/x-icon': {\n extensions: ['ico'],\n source: 'apache',\n },\n 'image/x-jng': {\n extensions: ['jng'],\n source: 'nginx',\n },\n 'image/x-mrsid-image': {\n extensions: ['sid'],\n source: 'apache',\n },\n 'image/x-ms-bmp': {\n extensions: ['bmp'],\n source: 'nginx',\n },\n 'image/x-pcx': {\n extensions: ['pcx'],\n source: 'apache',\n },\n 'image/x-pict': {\n extensions: ['pic', 'pct'],\n source: 'apache',\n },\n 'image/x-portable-anymap': {\n extensions: ['pnm'],\n source: 'apache',\n },\n 'image/x-portable-bitmap': {\n extensions: ['pbm'],\n source: 'apache',\n },\n 'image/x-portable-graymap': {\n extensions: ['pgm'],\n source: 'apache',\n },\n 'image/x-portable-pixmap': {\n extensions: ['ppm'],\n source: 'apache',\n },\n 'image/x-rgb': {\n extensions: ['rgb'],\n source: 'apache',\n },\n 'image/x-tga': {\n extensions: ['tga'],\n source: 'apache',\n },\n 'image/x-xbitmap': {\n extensions: ['xbm'],\n source: 'apache',\n },\n 'image/x-xpixmap': {\n extensions: ['xpm'],\n source: 'apache',\n },\n 'image/x-xwindowdump': {\n extensions: ['xwd'],\n source: 'apache',\n },\n} as const;\n","/** Random types not worthy of their own file */\nexport const misc = {\n 'chemical/x-cdx': {\n extensions: ['cdx'],\n source: 'apache',\n },\n 'chemical/x-cif': {\n extensions: ['cif'],\n source: 'apache',\n },\n 'chemical/x-cmdf': {\n extensions: ['cmdf'],\n source: 'apache',\n },\n 'chemical/x-cml': {\n extensions: ['cml'],\n source: 'apache',\n },\n 'chemical/x-csml': {\n extensions: ['csml'],\n source: 'apache',\n },\n 'chemical/x-xyz': {\n extensions: ['xyz'],\n source: 'apache',\n },\n 'font/collection': {\n extensions: ['ttc'],\n source: 'iana',\n },\n 'font/otf': {\n extensions: ['otf'],\n source: 'iana',\n },\n 'font/ttf': {\n extensions: ['ttf'],\n source: 'iana',\n },\n 'font/woff': {\n extensions: ['woff'],\n source: 'iana',\n },\n 'font/woff2': {\n extensions: ['woff2'],\n source: 'iana',\n },\n 'message/disposition-notification': {\n extensions: ['disposition-notification'],\n source: 'iana',\n },\n 'message/global': {\n extensions: ['u8msg'],\n source: 'iana',\n },\n 'message/global-delivery-status': {\n extensions: ['u8dsn'],\n source: 'iana',\n },\n 'message/global-disposition-notification': {\n extensions: ['u8mdn'],\n source: 'iana',\n },\n 'message/global-headers': {\n extensions: ['u8hdr'],\n source: 'iana',\n },\n 'message/rfc822': {\n extensions: ['eml', 'mime'],\n source: 'iana',\n },\n 'message/vnd.wfa.wsc': {\n extensions: ['wsc'],\n source: 'iana',\n },\n 'model/3mf': {\n extensions: ['3mf'],\n source: 'iana',\n },\n 'model/gltf+json': {\n extensions: ['gltf'],\n source: 'iana',\n },\n 'model/gltf-binary': {\n extensions: ['glb'],\n source: 'iana',\n },\n 'model/iges': {\n extensions: ['igs', 'iges'],\n source: 'iana',\n },\n 'model/mesh': {\n extensions: ['msh', 'mesh', 'silo'],\n source: 'iana',\n },\n 'model/mtl': {\n extensions: ['mtl'],\n source: 'iana',\n },\n 'model/obj': {\n extensions: ['obj'],\n source: 'iana',\n },\n 'model/step': {\n extensions: ['.p21', '.stp', '.step', '.stpnc', '.210'],\n source: 'iana',\n },\n 'model/step+xml': {\n extensions: ['stpx'],\n source: 'iana',\n },\n 'model/step+zip': {\n extensions: ['stpz'],\n source: 'iana',\n },\n 'model/step-xml+zip': {\n extensions: ['stpxz'],\n source: 'iana',\n },\n 'model/stl': {\n extensions: ['stl'],\n source: 'iana',\n },\n 'model/vnd.collada+xml': {\n extensions: ['dae'],\n source: 'iana',\n },\n 'model/vnd.dwf': {\n extensions: ['dwf'],\n source: 'iana',\n },\n 'model/vnd.gdl': {\n extensions: ['gdl'],\n source: 'iana',\n },\n 'model/vnd.gtw': {\n extensions: ['gtw'],\n source: 'iana',\n },\n 'model/vnd.mts': {\n extensions: ['mts'],\n source: 'iana',\n },\n 'model/vnd.opengex': {\n extensions: ['ogex'],\n source: 'iana',\n },\n 'model/vnd.parasolid.transmit.binary': {\n extensions: ['x_b'],\n source: 'iana',\n },\n 'model/vnd.parasolid.transmit.text': {\n extensions: ['x_t'],\n source: 'iana',\n },\n 'model/vnd.sap.vds': {\n extensions: ['vds'],\n source: 'iana',\n },\n 'model/vnd.usdz+zip': {\n extensions: ['usdz'],\n source: 'iana',\n },\n 'model/vnd.valve.source.compiled-map': {\n extensions: ['bsp'],\n source: 'iana',\n },\n 'model/vnd.vtu': {\n extensions: ['vtu'],\n source: 'iana',\n },\n 'model/vrml': {\n extensions: ['wrl', 'vrml'],\n source: 'iana',\n },\n 'model/x3d+binary': {\n extensions: ['x3db', 'x3dbz'],\n source: 'apache',\n },\n 'model/x3d+fastinfoset': {\n extensions: ['x3db'],\n source: 'iana',\n },\n 'model/x3d+vrml': {\n extensions: ['x3dv', 'x3dvz'],\n source: 'apache',\n },\n 'model/x3d+xml': {\n extensions: ['x3d', 'x3dz'],\n source: 'iana',\n },\n 'model/x3d-vrml': {\n extensions: ['x3dv'],\n source: 'iana',\n },\n 'x-conference/x-cooltalk': {\n extensions: ['ice'],\n source: 'apache',\n },\n} as const;\n","export const video = {\n 'video/3gpp': {\n extensions: ['3gp', '3gpp'],\n source: 'iana',\n },\n 'video/3gpp2': {\n extensions: ['3g2'],\n source: 'iana',\n },\n 'video/h261': {\n extensions: ['h261'],\n source: 'iana',\n },\n 'video/h263': {\n extensions: ['h263'],\n source: 'iana',\n },\n 'video/h264': {\n extensions: ['h264'],\n source: 'iana',\n },\n 'video/iso.segment': {\n extensions: ['m4s'],\n source: 'iana',\n },\n 'video/jpeg': {\n extensions: ['jpgv'],\n source: 'iana',\n },\n 'video/jpm': {\n extensions: ['jpm', 'jpgm'],\n source: 'apache',\n },\n 'video/mj2': {\n extensions: ['mj2', 'mjp2'],\n source: 'iana',\n },\n 'video/mp2t': {\n extensions: ['ts'],\n source: 'iana',\n },\n 'video/mp4': {\n extensions: ['mp4', 'mp4v', 'mpg4'],\n source: 'iana',\n },\n 'video/mpeg': {\n extensions: ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],\n source: 'iana',\n },\n 'video/ogg': {\n extensions: ['ogv'],\n source: 'iana',\n },\n 'video/quicktime': {\n extensions: ['qt', 'mov'],\n source: 'iana',\n },\n 'video/vnd.dece.hd': {\n extensions: ['uvh', 'uvvh'],\n source: 'iana',\n },\n 'video/vnd.dece.mobile': {\n extensions: ['uvm', 'uvvm'],\n source: 'iana',\n },\n 'video/vnd.dece.pd': {\n extensions: ['uvp', 'uvvp'],\n source: 'iana',\n },\n 'video/vnd.dece.sd': {\n extensions: ['uvs', 'uvvs'],\n source: 'iana',\n },\n 'video/vnd.dece.video': {\n extensions: ['uvv', 'uvvv'],\n source: 'iana',\n },\n 'video/vnd.dvb.file': {\n extensions: ['dvb'],\n source: 'iana',\n },\n 'video/vnd.fvt': {\n extensions: ['fvt'],\n source: 'iana',\n },\n 'video/vnd.mpegurl': {\n extensions: ['mxu', 'm4u'],\n source: 'iana',\n },\n 'video/vnd.ms-playready.media.pyv': {\n extensions: ['pyv'],\n source: 'iana',\n },\n 'video/vnd.uvvu.mp4': {\n extensions: ['uvu', 'uvvu'],\n source: 'iana',\n },\n 'video/vnd.vivo': {\n extensions: ['viv'],\n source: 'iana',\n },\n 'video/webm': {\n extensions: ['webm'],\n source: 'apache',\n },\n 'video/x-f4v': {\n extensions: ['f4v'],\n source: 'apache',\n },\n 'video/x-fli': {\n extensions: ['fli'],\n source: 'apache',\n },\n 'video/x-flv': {\n extensions: ['flv'],\n source: 'apache',\n },\n 'video/x-m4v': {\n extensions: ['m4v'],\n source: 'apache',\n },\n 'video/x-matroska': {\n extensions: ['mkv', 'mk3d', 'mks'],\n source: 'apache',\n },\n 'video/x-mng': {\n extensions: ['mng'],\n source: 'apache',\n },\n 'video/x-ms-asf': {\n extensions: ['asf', 'asx'],\n source: 'apache',\n },\n 'video/x-ms-vob': {\n extensions: ['vob'],\n source: 'apache',\n },\n 'video/x-ms-wm': {\n extensions: ['wm'],\n source: 'apache',\n },\n 'video/x-ms-wmv': {\n extensions: ['wmv'],\n source: 'apache',\n },\n 'video/x-ms-wmx': {\n extensions: ['wmx'],\n source: 'apache',\n },\n 'video/x-ms-wvx': {\n extensions: ['wvx'],\n source: 'apache',\n },\n 'video/x-msvideo': {\n extensions: ['avi'],\n source: 'apache',\n },\n 'video/x-sgi-movie': {\n extensions: ['movie'],\n source: 'apache',\n },\n 'video/x-smv': {\n extensions: ['smv'],\n source: 'apache',\n },\n} as const;\n","export const text = {\n 'text/cache-manifest': {\n extensions: ['appcache', 'manifest'],\n source: 'iana',\n },\n 'text/calendar': {\n extensions: ['ics', 'ifb'],\n source: 'iana',\n },\n 'text/css': {\n charset: 'UTF-8',\n extensions: ['css'],\n source: 'iana',\n },\n 'text/csv': {\n extensions: ['csv'],\n source: 'iana',\n },\n 'text/html': {\n extensions: ['html', 'htm', 'shtml'],\n source: 'iana',\n },\n 'text/markdown': {\n extensions: ['markdown', 'md'],\n source: 'iana',\n },\n 'text/mathml': {\n extensions: ['mml'],\n source: 'nginx',\n },\n 'text/n3': {\n charset: 'UTF-8',\n extensions: ['n3'],\n source: 'iana',\n },\n 'text/plain': {\n extensions: ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],\n source: 'iana',\n },\n 'text/prs.lines.tag': {\n extensions: ['dsc'],\n source: 'iana',\n },\n 'text/richtext': {\n extensions: ['rtx'],\n source: 'iana',\n },\n 'text/rtf': {\n extensions: ['rtf'],\n source: 'iana',\n },\n 'text/sgml': {\n extensions: ['sgml', 'sgm'],\n source: 'iana',\n },\n 'text/shex': {\n extensions: ['shex'],\n source: 'iana',\n },\n 'text/spdx': {\n extensions: ['spdx'],\n source: 'iana',\n },\n 'text/tab-separated-values': {\n extensions: ['tsv'],\n source: 'iana',\n },\n 'text/troff': {\n extensions: ['t', 'tr', 'roff', 'man', 'me', 'ms'],\n source: 'iana',\n },\n 'text/turtle': {\n charset: 'UTF-8',\n extensions: ['ttl'],\n source: 'iana',\n },\n 'text/uri-list': {\n extensions: ['uri', 'uris', 'urls'],\n source: 'iana',\n },\n 'text/vcard': {\n extensions: ['vcard'],\n source: 'iana',\n },\n 'text/vnd.curl': {\n extensions: ['curl'],\n source: 'iana',\n },\n 'text/vnd.curl.dcurl': {\n extensions: ['dcurl'],\n source: 'apache',\n },\n 'text/vnd.curl.mcurl': {\n extensions: ['mcurl'],\n source: 'apache',\n },\n 'text/vnd.curl.scurl': {\n extensions: ['scurl'],\n source: 'apache',\n },\n 'text/vnd.dvb.subtitle': {\n extensions: ['sub'],\n source: 'iana',\n },\n 'text/vnd.familysearch.gedcom': {\n extensions: ['ged'],\n source: 'iana',\n },\n 'text/vnd.fly': {\n extensions: ['fly'],\n source: 'iana',\n },\n 'text/vnd.fmi.flexstor': {\n extensions: ['flx'],\n source: 'iana',\n },\n 'text/vnd.graphviz': {\n extensions: ['gv'],\n source: 'iana',\n },\n 'text/vnd.in3d.3dml': {\n extensions: ['3dml'],\n source: 'iana',\n },\n 'text/vnd.in3d.spot': {\n extensions: ['spot'],\n source: 'iana',\n },\n 'text/vnd.sun.j2me.app-descriptor': {\n charset: 'UTF-8',\n extensions: ['jad'],\n source: 'iana',\n },\n 'text/vnd.wap.wml': {\n extensions: ['wml'],\n source: 'iana',\n },\n 'text/vnd.wap.wmlscript': {\n extensions: ['wmls'],\n source: 'iana',\n },\n 'text/vtt': {\n charset: 'UTF-8',\n extensions: ['vtt'],\n source: 'iana',\n },\n 'text/x-asm': {\n extensions: ['s', 'asm'],\n source: 'apache',\n },\n 'text/x-c': {\n extensions: ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'],\n source: 'apache',\n },\n 'text/x-component': {\n extensions: ['htc'],\n source: 'nginx',\n },\n 'text/x-fortran': {\n extensions: ['f', 'for', 'f77', 'f90'],\n source: 'apache',\n },\n 'text/x-java-source': {\n extensions: ['java'],\n source: 'apache',\n },\n 'text/x-nfo': {\n extensions: ['nfo'],\n source: 'apache',\n },\n 'text/x-opml': {\n extensions: ['opml'],\n source: 'apache',\n },\n 'text/x-pascal': {\n extensions: ['p', 'pas'],\n source: 'apache',\n },\n 'text/x-setext': {\n extensions: ['etx'],\n source: 'apache',\n },\n 'text/x-sfv': {\n extensions: ['sfv'],\n source: 'apache',\n },\n 'text/x-uuencode': {\n extensions: ['uu'],\n source: 'apache',\n },\n 'text/x-vcalendar': {\n extensions: ['vcs'],\n source: 'apache',\n },\n 'text/x-vcard': {\n extensions: ['vcf'],\n source: 'apache',\n },\n 'text/xml': {\n extensions: ['xml'],\n source: 'iana',\n },\n} as const;\n","import { application } from '../internal/application';\nimport { audio } from '../internal/audio';\nimport { image } from '../internal/image';\nimport { misc } from '../internal/misc';\nimport { video } from '../internal/video';\nimport { text } from './text';\n\nexport const mimes = {\n ...application,\n ...audio,\n ...image,\n ...text,\n ...video,\n ...misc,\n};\n\nexport type FileExtension = (typeof mimes)[MimeType]['extensions'][number];\n\nexport type MimeType = keyof typeof mimes;\n\nexport const ALLOWED_FILE_TYPES = [\n 'image',\n 'video',\n 'audio',\n 'pdf',\n 'text',\n 'blob',\n] as const;\n\nexport type AllowedFileType = (typeof ALLOWED_FILE_TYPES)[number];\n\nexport type FileRouterInputKey = AllowedFileType | MimeType;\n","import { type FileExtension, type MimeType, mimes } from './mimes';\n\n/** Lookup the MIME type for a file path/extension. */\nexport function lookup(path: string): MimeType | false {\n if (!path || typeof path !== 'string') {\n return false;\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n const extension = extname(`x.${path}`)\n .toLowerCase()\n .slice(1) as FileExtension;\n\n if (!extension) {\n return false;\n }\n\n return getTypes()[extension] || false;\n}\n\nconst extensions = {} as Record<MimeType, FileExtension[]>;\nconst types = {} as Record<FileExtension, MimeType>;\n\nexport function getTypes(): Record<FileExtension, MimeType> {\n populateMaps(extensions, types);\n\n return types;\n}\n\nexport const mimeTypes = mimes as unknown as Record<\n MimeType,\n { extensions: FileExtension[]; source: string }\n>;\n\nlet inittedMaps = false;\n/**\n * Populate the extensions and types maps.\n *\n * @private\n */\n\nfunction populateMaps(\n extensions: Record<MimeType, FileExtension[]>,\n types: Record<FileExtension, MimeType>\n) {\n if (inittedMaps) return;\n\n inittedMaps = true;\n // source preference (least -> most)\n const preference = ['nginx', 'apache', undefined, 'iana'];\n\n (Object.keys(mimeTypes) as MimeType[]).forEach((type) => {\n const mime = mimeTypes[type];\n const exts = mime.extensions;\n\n if (!exts?.length) {\n return;\n }\n\n // mime -> extensions\n extensions[type] = exts;\n\n // extension -> mime\n\n for (const extension of exts) {\n if (types[extension]) {\n const from = preference.indexOf(mimeTypes[types[extension]].source);\n const to = preference.indexOf(mime.source);\n\n if (\n types[extension] !== 'application/octet-stream' &&\n (from > to ||\n (from === to && types[extension].startsWith('application/')))\n ) {\n // skip the remapping\n continue;\n }\n }\n\n // set the extension -> mime\n types[extension] = type;\n }\n });\n}\n\nfunction extname(path: string) {\n const index = path.lastIndexOf('.');\n\n return index === -1 ? '' : path.slice(Math.max(0, index));\n}\n","import type { AllowedFileType, FileRouterInputKey } from '../internal/mimes';\n\nimport { lookup } from '../internal/utils';\nimport { UploadErrorCode } from '../type';\nimport { createUploadError } from './createUploadError';\n\nexport const matchFileType = (\n file: File,\n allowedTypes: FileRouterInputKey[]\n): FileRouterInputKey => {\n // Type might be \"\" if the browser doesn't recognize the mime type\n const mimeType = file.type || lookup(file.name);\n\n if (!mimeType) {\n if (allowedTypes.includes('blob')) return 'blob';\n\n throw createUploadError(UploadErrorCode.INVALID_FILE_TYPE, {\n allowedTypes,\n files: [file],\n });\n }\n // If the user has specified a specific mime type, use that\n if (\n allowedTypes.some((type) => type.includes('/')) &&\n allowedTypes.includes(mimeType as FileRouterInputKey)\n ) {\n return mimeType as FileRouterInputKey;\n }\n\n // Otherwise, we have a \"magic\" type eg. \"image\" or \"video\"\n const type = (\n mimeType.toLowerCase() === 'application/pdf'\n ? 'pdf'\n : mimeType.split('/')[0]\n ) as AllowedFileType;\n\n if (!allowedTypes.includes(type)) {\n // Blob is a catch-all for any file type not explicitly supported\n if (allowedTypes.includes('blob')) {\n return 'blob';\n }\n throw createUploadError(UploadErrorCode.INVALID_FILE_TYPE, {\n allowedTypes,\n files: [file],\n });\n }\n\n return type;\n};\n","import type { AllowedFileType, FileRouterInputKey } from '../internal/mimes';\nimport type { UploadConfig } from '../PlaceholderPlugin';\nimport type { MediaItemConfig, MediaKeys } from '../type';\n\nimport { matchFileType } from './matchFileType';\n\nexport const getMediaType = (file: File, config: UploadConfig): MediaKeys => {\n const type = matchFileType(\n file,\n Object.keys(config) as FileRouterInputKey[]\n ) as AllowedFileType;\n\n return (config[type] as MediaItemConfig).mediaType;\n};\n","import type { TElement } from 'platejs';\nimport type { PlateEditor } from 'platejs/react';\n\nimport { KEYS } from 'platejs';\n\nconst historyMarks = new WeakMap<PlateEditor, boolean>();\n\nexport const withHistoryMark = (editor: PlateEditor, fn: () => void) => {\n const prev = isHistoryMarking(editor);\n historyMarks.set(editor, true);\n fn();\n historyMarks.set(editor, prev);\n};\n\nexport const isHistoryMarking = (editor: PlateEditor): boolean =>\n historyMarks.get(editor) ?? false;\n\nexport const updateUploadHistory = (editor: PlateEditor, node: TElement) => {\n const index = editor.history.undos.findLastIndex(\n (batch: any) =>\n batch[KEYS.placeholder] &&\n batch.operations.some(\n (operation: any) =>\n operation.type === 'insert_node' &&\n operation.node.id === node.placeholderId\n )\n );\n\n const batch = editor.history.undos[index];\n\n const newOperations: any[] = [];\n\n for (const operation of batch.operations) {\n if (\n (operation.type === 'insert_node' && (operation.node as any)).id ===\n node.placeholderId\n ) {\n newOperations.push({\n ...operation,\n node,\n });\n\n continue;\n }\n\n newOperations.push(operation);\n }\n\n const newBatch = {\n ...batch,\n operations: newOperations,\n };\n\n editor.history.undos[index] = newBatch;\n};\n","import type { AllowedFileType } from '../internal/mimes';\nimport type { UploadConfig } from '../PlaceholderPlugin';\n\nimport { matchFileType } from './matchFileType';\n\nexport const groupFilesByType = (\n fileList: FileList,\n config: UploadConfig\n): Record<AllowedFileType, File[]> => {\n const FileTypeMap: Record<AllowedFileType, File[]> = {\n audio: [],\n blob: [],\n image: [],\n pdf: [],\n text: [],\n video: [],\n };\n\n for (const file of fileList) {\n const type = matchFileType(file, Object.keys(config) as AllowedFileType[]);\n\n FileTypeMap[type as AllowedFileType].push(file);\n }\n\n return FileTypeMap;\n};\n","import { type FileSize, UploadErrorCode } from '../type';\nimport { createUploadError } from './createUploadError';\n\nexport const FILESIZE_UNITS = ['B', 'KB', 'MB', 'GB'] as const;\n\nexport type FileSizeUnit = (typeof FILESIZE_UNITS)[number];\n\nexport const fileSizeToBytes = (fileSize: FileSize, file: File): number => {\n const regex = new RegExp(\n `^(\\\\d+)(\\\\.\\\\d+)?\\\\s*(${FILESIZE_UNITS.join('|')})$`,\n 'i'\n );\n\n // make sure the string is in the format of 123KB\n const match = regex.exec(fileSize);\n\n if (!match) {\n throw createUploadError(UploadErrorCode.INVALID_FILE_SIZE, {\n files: [file],\n });\n }\n\n const sizeValue = Number.parseFloat(match[1]);\n const sizeUnit = match[3].toUpperCase() as FileSizeUnit;\n const bytes = sizeValue * 1024 ** FILESIZE_UNITS.indexOf(sizeUnit);\n\n return Math.floor(bytes);\n};\n\nexport const bytesToFileSize = (bytes: number) => {\n if (bytes === 0 || bytes === -1) {\n return '0B';\n }\n\n const i = Math.floor(Math.log(bytes) / Math.log(1000));\n\n return `${(bytes / 1000 ** i).toFixed(2)}${FILESIZE_UNITS[i]}`;\n};\n","import type { AllowedFileType } from '../internal/mimes';\n\nimport { type FileSize, type MediaItemConfig, UploadErrorCode } from '../type';\nimport { createUploadError } from './createUploadError';\nimport { fileSizeToBytes } from './fileSizeToBytes';\n\nexport const validateFileItem = (\n files: File[],\n config: MediaItemConfig,\n key: AllowedFileType\n): UploadErrorCode | true => {\n const {\n maxFileCount = Number.POSITIVE_INFINITY,\n maxFileSize,\n minFileCount = 1,\n } = config;\n\n if (files.length < minFileCount)\n throw createUploadError(UploadErrorCode.TOO_LESS_FILES, {\n files,\n fileType: key,\n minFileCount,\n });\n if (files.length > maxFileCount)\n throw createUploadError(UploadErrorCode.TOO_MANY_FILES, {\n files,\n fileType: key,\n maxFileCount,\n });\n\n for (const f of files) {\n const bytes = fileSizeToBytes(maxFileSize as FileSize, f);\n\n if (f.size > bytes)\n throw createUploadError(UploadErrorCode.TOO_LARGE, {\n files: [f],\n fileType: key,\n maxFileSize: maxFileSize!,\n });\n }\n\n return true;\n};\n","import type { AllowedFileType } from '../internal/mimes';\nimport type { UploadConfig } from '../PlaceholderPlugin';\n\nimport { groupFilesByType } from './groupFilesByType';\nimport { validateFileItem } from './validateFileItem';\n\nexport const validateFiles = (fileList: FileList, config: UploadConfig) => {\n const fileTypeMap = groupFilesByType(fileList, config);\n\n const keys = Object.keys(fileTypeMap) as AllowedFileType[];\n\n for (const key of keys) {\n const itemConfig = config[key];\n\n const itemFiles = fileTypeMap[key];\n\n if (itemFiles.length === 0) continue;\n\n validateFileItem(itemFiles, itemConfig!, key);\n }\n};\n","import type { PlateEditor } from 'platejs/react';\n\nimport {\n type InsertNodesOptions,\n type Path,\n type TPlaceholderElement,\n KEYS,\n nanoid,\n PathApi,\n} from 'platejs';\n\nimport { PlaceholderPlugin } from '../PlaceholderPlugin';\nimport { UploadErrorCode } from '../type';\nimport { createUploadError, isUploadError } from '../utils/createUploadError';\nimport { getMediaType } from '../utils/getMediaType';\nimport { withHistoryMark } from '../utils/history';\nimport { validateFiles } from '../utils/validateFiles';\n\nexport const insertMedia = (\n editor: PlateEditor,\n files: FileList,\n options?: Omit<InsertNodesOptions, 'at'> & { at?: Path }\n): any => {\n const api = editor.getApi(PlaceholderPlugin);\n const uploadConfig = editor.getOption(PlaceholderPlugin, 'uploadConfig');\n const multiple = editor.getOption(PlaceholderPlugin, 'multiple');\n\n try {\n validateFiles(files, uploadConfig);\n } catch (error) {\n if (!isUploadError(error)) throw error;\n\n return editor.setOption(PlaceholderPlugin, 'error', error);\n }\n\n if (!multiple && files.length > 1) {\n return editor.setOption(\n PlaceholderPlugin,\n 'error',\n createUploadError(UploadErrorCode.TOO_MANY_FILES, {\n files: Array.from(files),\n fileType: null,\n maxFileCount: 1,\n })\n );\n }\n\n const maxFileCount = editor.getOption(PlaceholderPlugin, 'maxFileCount') ?? 3;\n\n if (files.length > maxFileCount) {\n return editor.setOption(\n PlaceholderPlugin,\n 'error',\n createUploadError(UploadErrorCode.TOO_MANY_FILES, {\n files: Array.from(files),\n fileType: null,\n maxFileCount,\n })\n );\n }\n\n let currentAt: Path | undefined;\n const { at, nextBlock = true, ...restOptions } = options ?? {};\n\n Array.from(files).forEach((file, index) => {\n if (index === 0) {\n if (at) {\n currentAt = at;\n }\n } else {\n currentAt = currentAt ? PathApi.next(currentAt) : undefined;\n }\n\n const id = nanoid();\n\n api.placeholder.addUploadingFile(id, file);\n\n const insert = () => {\n editor.tf.insertNodes<TPlaceholderElement>(\n {\n id,\n children: [{ text: '' }],\n mediaType: getMediaType(file, uploadConfig)!,\n type: editor.getType(KEYS.placeholder),\n },\n { at: currentAt, nextBlock, ...restOptions }\n );\n };\n\n const disableEmptyPlaceholder = editor.getOption(\n PlaceholderPlugin,\n 'disableEmptyPlaceholder'\n );\n\n if (disableEmptyPlaceholder) {\n editor.tf.withoutMerging(() => {\n withHistoryMark(editor, insert);\n });\n } else {\n editor.tf.withoutNormalizing(insert);\n }\n });\n};\n","import {\n type ExtendConfig,\n type InsertNodesOptions,\n bindFirst,\n KEYS,\n NodeApi,\n} from 'platejs';\nimport { toTPlatePlugin } from 'platejs/react';\n\nimport type { AllowedFileType } from './internal/mimes';\nimport type { MediaItemConfig, UploadError } from './type';\n\nimport { type PlaceholderConfig, BasePlaceholderPlugin } from '../../lib';\nimport { insertMedia } from './transforms/insertMedia';\nimport { isHistoryMarking } from './utils/history';\n\nexport type PlaceholderApi = {\n addUploadingFile: (id: string, file: File) => void;\n getUploadingFile: (id: string) => File | undefined;\n removeUploadingFile: (id: string) => void;\n};\n\nexport type PlaceholderTransforms = {\n insertMedia: (files: FileList, options?: InsertNodesOptions) => void;\n};\n\nexport type UploadConfig = Partial<Record<AllowedFileType, MediaItemConfig>>;\n\nexport const PlaceholderPlugin = toTPlatePlugin<\n ExtendConfig<\n PlaceholderConfig,\n {\n disableEmptyPlaceholder: boolean;\n disableFileDrop: boolean;\n uploadConfig: UploadConfig;\n uploadingFiles: Record<string, File>;\n error?: UploadError | null;\n maxFileCount?: number;\n // Whether multiple files of the same type can be uploaded.\n multiple?: boolean;\n },\n { placeholder: PlaceholderApi }\n >\n>(BasePlaceholderPlugin, {\n options: {\n disableEmptyPlaceholder: false,\n disableFileDrop: false,\n error: null,\n maxFileCount: 5,\n multiple: true,\n uploadConfig: {\n audio: {\n maxFileCount: 1,\n maxFileSize: '8MB',\n mediaType: KEYS.audio,\n minFileCount: 1,\n },\n blob: {\n maxFileCount: 1,\n maxFileSize: '8MB',\n mediaType: KEYS.file,\n minFileCount: 1,\n },\n image: {\n maxFileCount: 3,\n maxFileSize: '4MB',\n mediaType: KEYS.img,\n minFileCount: 1,\n },\n pdf: {\n maxFileCount: 1,\n maxFileSize: '4MB',\n mediaType: KEYS.file,\n minFileCount: 1,\n },\n text: {\n maxFileCount: 1,\n maxFileSize: '64KB',\n mediaType: KEYS.file,\n minFileCount: 1,\n },\n video: {\n maxFileCount: 1,\n maxFileSize: '16MB',\n mediaType: KEYS.video,\n minFileCount: 1,\n },\n },\n uploadingFiles: {},\n },\n})\n .overrideEditor(({ editor, tf: { writeHistory } }) => ({\n transforms: {\n writeHistory(stack, batch) {\n if (isHistoryMarking(editor)) {\n const newBatch = {\n ...batch,\n [KEYS.placeholder]: true,\n };\n\n writeHistory(stack, newBatch);\n\n return;\n }\n\n return writeHistory(stack, batch);\n },\n },\n }))\n .extendEditorTransforms(({ editor }) => ({\n insert: {\n media: bindFirst(insertMedia, editor),\n },\n }))\n .extendApi(({ getOption, setOption }) => ({\n addUploadingFile: (id: string, file: File) => {\n const uploadingFiles = getOption('uploadingFiles');\n\n setOption('uploadingFiles', {\n ...uploadingFiles,\n [id]: file,\n });\n },\n getUploadingFile: (id: string) => {\n const uploadingFiles = getOption('uploadingFiles');\n\n return uploadingFiles[id];\n },\n removeUploadingFile: (id: string) => {\n const uploadingFiles = getOption('uploadingFiles');\n\n delete uploadingFiles[id];\n\n setOption('uploadingFiles', uploadingFiles);\n },\n }))\n .extend(({ getOption }) => ({\n handlers: {\n onDrop: ({ editor, event, tf }) => {\n // using DnD plugin by default\n if (!getOption('disableFileDrop')) return;\n\n const { files } = event.dataTransfer;\n\n if (files.length === 0) return false;\n\n /** Without this, the dropped file replaces the page */\n event.preventDefault();\n event.stopPropagation();\n\n /**\n * When we drop a file, the selection won't move automatically to the\n * drop location. Find the location from the event and upload the files\n * at that location.\n */\n const at = editor.api.findEventRange(event);\n\n if (!at) return false;\n\n tf.insert.media(files);\n\n return true;\n },\n onPaste: ({ editor, event, tf }) => {\n const { files, types } = event.clipboardData;\n const TEXT_HTML = 'text/html';\n\n // If there are files but no HTML, it must be a system file\n if (files.length > 0 && !types.includes(TEXT_HTML)) {\n event.preventDefault();\n event.stopPropagation();\n\n let inserted = false;\n const ancestor = editor.api.block({ highest: true });\n\n if (ancestor) {\n const [node, path] = ancestor;\n\n if (NodeApi.string(node).length === 0) {\n editor.tf.removeNodes({ at: path });\n tf.insert.media(files, { at: path, nextBlock: false });\n inserted = true;\n }\n }\n if (!inserted) {\n tf.insert.media(files, { nextBlock: false });\n }\n\n return true;\n }\n\n return false;\n },\n },\n }));\n","import { createAtomStore } from 'platejs/react';\n\ntype PlaceholderStore = {\n isUploading: boolean;\n progresses: Progresses;\n size: {\n height: number;\n width: number;\n } | null;\n updatedFiles: File[];\n};\ntype Progresses = Record<string, number>;\n\nexport const {\n PlaceholderProvider,\n placeholderStore,\n usePlaceholderSet,\n usePlaceholderState,\n usePlaceholderStore,\n usePlaceholderValue,\n} = createAtomStore(\n {\n isUploading: false,\n progresses: {},\n size: null,\n updatedFiles: [],\n } as PlaceholderStore,\n { name: 'placeholder' }\n) as any;\n","import { type TPlaceholderElement, KEYS } from 'platejs';\nimport {\n useEditorRef,\n useElement,\n useFocused,\n useReadOnly,\n useSelected,\n} from 'platejs/react';\n\nimport { usePlaceholderSet, usePlaceholderValue } from '../placeholderStore';\n\nexport const usePlaceholderElementState = (): any => {\n const element = useElement();\n const editor = useEditorRef();\n const focused = useFocused();\n const readOnly = useReadOnly();\n const selected = useSelected();\n\n const progresses = usePlaceholderValue('progresses');\n const isUploading = usePlaceholderValue('isUploading');\n const updatedFiles = usePlaceholderValue('updatedFiles');\n const setSize = usePlaceholderSet('size');\n\n const { mediaType } = useElement<TPlaceholderElement>(KEYS.placeholder);\n\n const progressing = updatedFiles.length > 0 && isUploading;\n\n return {\n editor,\n element,\n focused,\n isUploading,\n mediaType,\n progresses,\n progressing,\n readOnly,\n selected,\n setSize,\n updatedFiles,\n };\n};\n","import { type TPlaceholderElement, KEYS } from 'platejs';\nimport {\n useEditorRef,\n useEditorSelector,\n useElement,\n useFocused,\n useReadOnly,\n useSelected,\n} from 'platejs/react';\n\nimport { usePlaceholderSet, usePlaceholderValue } from '../placeholderStore';\n\nexport const usePlaceholderPopoverState = (): any => {\n const editor = useEditorRef();\n const readOnly = useReadOnly();\n const selected = useSelected();\n const focused = useFocused();\n\n const selectionCollapsed = useEditorSelector(\n (editor) => !editor.api.isExpanded(),\n []\n );\n\n const element = useElement<TPlaceholderElement>(KEYS.placeholder);\n const { id, mediaType } = element;\n\n const setProgresses = usePlaceholderSet('progresses');\n const setIsUploading = usePlaceholderSet('isUploading');\n const setUpdatedFiles = usePlaceholderSet('updatedFiles');\n\n const size = usePlaceholderValue('size');\n\n return {\n id,\n editor,\n element,\n focused,\n mediaType,\n readOnly,\n selected,\n selectionCollapsed,\n setIsUploading,\n setProgresses,\n setUpdatedFiles,\n size,\n };\n};\n"],"mappings":";;;;;;;AAUA,MAAaM,cAAcN,cAAcG,gBAAgB;AAEzD,MAAaI,mBAAmBP,cAAcI,qBAAqB;AAEnE,MAAaI,cAAcR,cAAcC,gBAAgB;AAEzD,MAAaQ,aAAaT,cAAcE,eAAe;AAEvD,MAAaQ,cAAcV,cAAcK,gBAAgB;;;;ACXzD,MAAaU,oBAAoBJ,mBAC/B;CACEK,oBAAoB,EAAE;CACtBE,gBAAgB;CAChBC,gBAAgB;CAChBC,cAAc;CACdC,aAAa,EAAE;CACfC,OAAO;CACPC,WAAW;EAAEC,GAAG;EAAGC,GAAG;EAAE;CACzB,EACD;CACEC,UAAU;CACVC,MAAM;CAEV,CAAC,CACEC,eAAe,EAAEC,WAAW,EAC3BC,aAAa;AACXD,KAAI,kBAAkB,KAAK;AAC3BA,KAAI,eAAe,EAAE,CAAC;AACtBA,KAAI,gBAAgB,KAAK;AACzBA,KAAI,SAAS,EAAE;AACfA,KAAI,aAAa;EAAEL,GAAG;EAAGC,GAAG;EAAG,CAAC;AAChCI,KAAI,kBAAkB,MAAM;GAE/B,EAAE,CACFE,iBAAiB,EAAEC,WAAW,EAC7BC,SAASC,aAAqBF,IAAI,eAAe,KAAKE,UACvD,EAAE;AAEL,MAAa,EAAEC,UAAUC,yBAAyBrB;;;;AC9BlD,MAAM2B,cAAcC,WAAwB;CAC1C,MAAMC,SAASD,OAAOE,IAAIC,MAAM;EAC9BC,IAAI,EAAE;EACNC,QAAQC,MAAMA,EAAEC,SAASX,KAAKY;EAC/B,CAAC;AAEF,QAAOC,MAAMC,KAAKT,SAASU,UAAU;EACnCC,IAAID,KAAK,GAAGC;EACZC,KAAKF,KAAK,GAAGE;EACd,EAAE;;AAGL,MAAaC,oBACXd,QACAe,YACG;CACH,MAAM,EAAEH,IAAIC,QAAQE;CACpB,MAAMC,UAAUjB,WAAWC,OAAO;AAElCF,mBAAkBmB,IAAI,gBAAgBjB,OAAOY,GAAG;AAChDd,mBAAkBmB,IAAI,kBAAkB;EAAEL;EAAIC;EAAK,CAAC;AACpDf,mBAAkBmB,IAAI,eAAeD,QAAQ;;;;;ACvB/C,MAAaK,gBAAU;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACrB,MAAAC,QAAcJ,qBAAqB,QAAQ;CAAC,IAAAK;AAAA,KAAAH,EAAA,OAAAE,OAAA;AAEjBC,aAAA;AACzB,OAAID,SAAS,EAAC;GAGd,MAAAG,YADgB;IAAC;IAAG;IAAK;IAAG;IAAK;IAAE,CACVC,MAAMC,WAAYL,QAAQK,OAAO;AAE1D,OAAIF,UACFR,mBAAiBW,IAAK,SAASH,UAAU;;AAE5CL,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,MAAAH,EAAA;CATD,MAAAS,SAAeN;CASH,IAAAO;AAAA,KAAAV,EAAA,OAAAE,OAAA;AAEgBQ,aAAA;AAC1B,OAAIR,SAAS,EAAC;GAGd,MAAAU,gBAAsB,CAAA,GADN;IAAC;IAAG;IAAK;IAAG;IAAK;IAAE,CACD,CAAAC,SACtB,CAAAP,MACJQ,aAAYZ,QAAQK,SAAO;AAEnC,OAAIK,kBAAkB,EAAGf,mBAAiBW,IAAK,aAAa;IAAAO,GAAK;IAACC,GAAK;IAAG,CAAC;AAE3E,OAAIJ,kBAAkBK,OACpBpB,mBAAiBW,IAAK,SAASI,cAAc;;AAEhDZ,IAAA,KAAAE;AAAAF,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAbD,MAAAkB,UAAgBR;CAaJ,IAAAS;AAAA,KAAAnB,EAAA,OAAAS,UAAAT,EAAA,OAAAkB,SAAA;AAELC,OAAA;GAAAV;GAAAS;GAAmB;AAAAlB,IAAA,KAAAS;AAAAT,IAAA,KAAAkB;AAAAlB,IAAA,KAAAmB;OAAAA,MAAAnB,EAAA;AAAA,QAAnBmB;;;;;ACxBT,MAAaU,mBAAmB,EAAEC,kBAA2C;CAE3E,MAAME,SAASL,qBAAqB,UADrBH,cAAc,CACwBS,GAAG;CACxD,MAAMC,QAAQP,qBAAqB,QAAQ;CAC3C,MAAMQ,YAAYR,qBAAqB,YAAY;CACnD,MAAMS,qBAAqBT,qBAAqB,qBAAqB;CACrE,MAAMU,iBAAiBV,qBAAqB,iBAAiB;CAC7D,MAAMW,cAAcX,qBAAqB,cAAc;AAGvDN,iBAAgB;EACd,MAAMkB,SAASC,MAAkB;AAC/B,OAAIN,SAAS,EAAG;GAEhB,MAAM,EAAEQ,QAAQC,WAAWH;GAC3B,MAAM,EAAEI,GAAGC,MAAMV;GAEjB,MAAM,EAAEW,QAAQC,MAAMC,OAAOC,QAAQb;GAErC,MAAMc,cAAcC,OAAOC;GAC3B,MAAMC,eAAeF,OAAOG;GAE5B,IAAIC,aAAaX,IAAIF,SAASZ;GAC9B,IAAI0B,YAAYX,IAAIF,SAASb;AAG7B,OAAIiB,OAAOL,SAASZ,cAAcoB,cAAc,KAAKR,SAAS,EAC5Da,cAAaX;AAEf,OAAII,QAAQN,SAASZ,cAAcoB,cAAc,KAAKR,SAAS,EAC7Da,cAAaX;AAGf,OAAIK,MAAMN,SAASb,cAAcuB,eAAe,KAAKV,SAAS,EAC5Da,aAAYX;AAEd,OAAIC,SAASH,SAASb,cAAcuB,eAAe,KAAKV,SAAS,EAC/Da,aAAYX;AAGdnB,qBAAkB+B,IAAI,aAAa;IACjCb,GAAGW;IACHV,GAAGW;IACJ,CAAC;;AAGJ,MAAI,CAACxB,OAAQ,QAAO0B,SAASC,oBAAoB,SAASpB,MAAM;AAEhEmB,WAASE,iBAAiB,SAASrB,MAAM;AAEzC,eAAa;AACXmB,YAASC,oBAAoB,SAASpB,MAAM;;IAG7C;EAACP;EAAQG;EAAWD;EAAM,CAAC;CAE9B,MAAM,EAAE2B,QAAQC,YAAYlC,SAAS;CAErC,MAAMmC,sBAAsBzC,cAAc;AACxC,MAAI,CAACe,eAAgB,QAAO;AAE5B,SAAOC,YAAY0B,WAChBC,SACCA,KAAKC,QAAQ7B,eAAe6B,OAAOD,KAAKhC,OAAOI,eAAeJ,GACjE;IAEA,CAACI,eAAe,CAAC;CAEpB,MAAM8B,UAAU/C,kBAAkB;AAChCM,oBAAkB0C,QAAQC,OAAO;IAEhC,EAAE,CAAC;CAEN,MAAM,CAACC,cAAcC,gBAAgBjD,cAC7B,CACJyC,wBAAwB,GACxBA,wBAAwBzB,YAAYkC,SAAS,EAC9C,EAED,CAACT,oBACH,CAAC;CAED,MAAM,CAACU,iBAAiBC,kBAAkBpD,cAClC,CAACY,SAAS,IAAKA,SAAS,EAAE,EAChC,CAACA,MACH,CAAC;AAEDb,iBAAgB;EACd,MAAMsD,WAAWnC,MAAqB;AACpC,OAAIjB,SAAS,SAAS,CAACiB,EAAE,EAAE;AACzBA,MAAEqC,iBAAiB;AACnBV,aAAS;;;AAIb,MAAI,CAACnC,OAAQ,QAAO0B,SAASC,oBAAoB,WAAWgB,QAAQ;AAEpEjB,WAASE,iBAAiB,WAAWe,QAAQ;AAE7C,eAAa;AACXjB,YAASC,oBAAoB,WAAWgB,QAAQ;;IAGjD,CAAC3C,OAAO,CAAC;AAEZ,QAAO;EACL8C,YAAY,EACVC,eAAeZ,SAAQ,EACxB;EACDa,iBAAiBjB;EACjBkB,gBAAgB,EACdF,eAAeZ,SAAQ,EACxB;EACDI;EACAW,WAAW;GACTC,UAAUZ;GACVQ,eAAe;AACb,QAAI,OAAOhB,wBAAwB,SAAU;AAE7CrC,sBAAkB+B,IAChB,kBACAnB,YAAYyB,sBAAsB,GACnC;;GAEJ;EACDO;EACAc,WAAW;GACTD,UAAUb;GACVS,eAAe;AACb,QAAI,OAAOhB,wBAAwB,SAAU;AAE7CrC,sBAAkB+B,IAChB,kBACAnB,YAAYyB,sBAAsB,GACnC;;GAEJ;EACDsB,gBAAgB,EACdN,eAAerD,kBAAkB+B,IAAI,kBAAkB,KAAI,EAC5D;EACD6B,cAAc;GACZH,UAAUV;GACVM,eAAejB,SAAQ;GACxB;EACDY;EACAa,aAAa;GACXJ,UAAUT;GACVK,eAAelB,QAAO;GACvB;EACDY;EACD;;;;;ACrJH,MAAaoB,iBAAW;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACtB,MAAAC,UAAgBL,YAA2B;CAC3C,MAAAM,SAAeP,cAAc;CAAC,IAAAQ;AAAA,KAAAJ,EAAA,OAAAG,UAAAH,EAAA,OAAAE,SAAA;AAMJE,aAAA;AACpBN,oBAAiBK,QAAQD,QAAQ;;AAClCF,IAAA,KAAAG;AAAAH,IAAA,KAAAE;AAAAF,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;CAAA,IAAAK;AAAA,KAAAL,EAAA,OAAAE,QAAAI,OAAAN,EAAA,OAAAI,IAAA;AANEC,OAAA,EAAAE,OACE;GAAAC,WACM;GAAIC,KACVP,QAAOI;GAAII,sBACMN;GAGxB,EACD;AAAAJ,IAAA,KAAAE,QAAAI;AAAAN,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;OAAAA,MAAAL,EAAA;AAAA,QARMK;;AAWT,MAAaM,QAAQhB,yBAAyB,MAAM,CAAC,EACnDiB,WAAWb,UACZ,CAAC;;;;ACpBF,MAAaqB,wBAAkB;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAC7B,MAAAC,iBAAuBL,qBAAqB,iBAAiB;CAC7D,MAAAM,YAAkBN,qBAAqB,YAAY;CACnD,MAAAO,QAAcP,qBAAqB,QAAQ;CAC3C,MAAAQ,WAAiBb,MAAKc,OAA0B,KAAK;CAErD,MAAAC,WAA+BH,SAAS;CAExC,MAAA,EAAAI,QAAAC,YAA4BX,SAAS;CAAC,IAAAY;AAAA,KAAAV,EAAA,OAAAI,OAAA;AAE5BM,aAAA;AACR,OAAIN,SAAS,EAAC;GAEd,MAAAO,qBAA2BN,SAAQO,SAA+BC,uBAAE;AAEpE,OAAI,CAACF,mBAAkB;AAEvBf,qBAAiBkB,IAAK,sBAAsBH,mBAAmB;;AAChEX,IAAA,KAAAI;AAAAJ,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAA,IAAAe;AAAA,KAAAf,EAAA,OAAAI,SAAAJ,EAAA,OAAAG,UAAAa,KAAAhB,EAAA,OAAAG,UAAAc,GAAA;AAAEF,OAAA;GAACZ,UAASa;GAAIb,UAASc;GAAIb;GAAM;AAAAJ,IAAA,KAAAI;AAAAJ,IAAA,KAAAG,UAAAa;AAAAhB,IAAA,KAAAG,UAAAc;AAAAjB,IAAA,KAAAe;OAAAA,MAAAf,EAAA;AARpCP,WAAUiB,IAQPK,GAAkC;CAM5B,MAAAG,KAAAhB,gBAAciB;CAET,MAAAC,KAAAb,WAAA,YAAA;CACG,MAAAc,KAAA,SAASjB,MAAK,cAAe,GAAGD,UAASa,EAAE,IAAI,IAAK,GAAGb,UAASc,EAAE,IAAI;CAAG,IAAAK;AAAA,KAAAtB,EAAA,OAAAoB,MAAApB,EAAA,OAAAqB,IAAA;AAF/EC,OAAA;GAAAC,QACGH;GAAiCI,WAC9BH;GACZ;AAAArB,IAAA,KAAAoB;AAAApB,IAAA,KAAAqB;AAAArB,IAAA,KAAAsB;OAAAA,MAAAtB,EAAA;CAAA,IAAAyB;AAAA,KAAAzB,EAAA,OAAAO,YAAAP,EAAA,QAAAQ,UAAAR,EAAA,QAAAS,SAAA;AACQgB,QAAAC,MAAA;AACPA,KAACC,iBAAkB;AACnB,OAAIpB,SACFC,SAAQ;OAERC,UAAS;;AAEZT,IAAA,KAAAO;AAAAP,IAAA,MAAAQ;AAAAR,IAAA,MAAAS;AAAAT,IAAA,MAAAyB;OAAAA,MAAAzB,EAAA;CAAA,IAAA4B;AAAA,KAAA5B,EAAA,QAAAkB,MAAAlB,EAAA,QAAAsB,MAAAtB,EAAA,QAAAyB,IAAA;AAhBEG,OAAA,EAAAC,OACE;GAAAC,WACM;GAAKC,KACX1B;GAAQ2B,KACRd;GAAmBe,OACjBX;GAGNY,SACQT;GAQX,EACD;AAAAzB,IAAA,MAAAkB;AAAAlB,IAAA,MAAAsB;AAAAtB,IAAA,MAAAyB;AAAAzB,IAAA,MAAA4B;OAAAA,MAAA5B,EAAA;AAAA,QAlBM4B;;AAqBT,MAAaO,eAAexC,yBAAyB,MAAM,CAAC,EAC1DyC,WAAWrC,iBACZ,CAAC;;;;AC5CF,MAAa4C,sBAAgB;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAC3B,MAAAC,QAAcJ,qBAAqB,QAAQ;CAC3C,MAAAK,iBAAuBL,qBAAqB,iBAAiB;CAE7D,MAAA,CAAAM,OAAAC,YAA0BV,SAAS,GAAGO,QAAQ,MAAM;CACpD,MAAAI,WAAiBZ,OAAyB,KAAK;CAAC,IAAAa;CAAA,IAAAC;AAAA,KAAAR,EAAA,OAAAG,gBAAA;AAEtCI,aAAA;AACR,OAAI,CAACJ,eAAc;AAEnBM,oBAAW;AACTH,aAAQI,SAAeC,OAAE;AACzBL,aAAQI,SAAgBE,QAAE;MACzB,EAAE;;AACJJ,OAAA,CAACL,eAAe;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAO;AAAAP,IAAA,KAAAQ;QAAA;AAAAD,OAAAP,EAAA;AAAAQ,OAAAR,EAAA;;AAPnBP,WAAUc,IAOPC,GAAiB;CAAA,IAAAK;AAAA,KAAAb,EAAA,OAAAc,OAAAC,IAAA,4BAAA,EAAA;AAKNF,QAAAG,MAAA;AACRX,YAASW,EAACC,OAAOb,MAAO;;AACzBJ,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAAA,IAAAkB;AAAA,KAAAlB,EAAA,OAAAI,OAAA;AACUc,QAAAC,QAAA;AACT,OAAIvB,SAAS,QAAQ,CAACoB,IAAE,EAAA;AACtB,QAAII,OAAOhB,MAAM,IAAI,IAAE;AACrBP,uBAAiBwB,IAAK,SAAS,GAAI;AACnCxB,uBAAiBwB,IAAK,kBAAkB,MAAM;AAAA;;AAIhD,QAAID,OAAOhB,MAAM,IAAI,KAAG;AACtBP,uBAAiBwB,IAAK,SAAS,EAAE;AACjCxB,uBAAiBwB,IAAK,kBAAkB,MAAM;AAAA;;AAKhDxB,sBAAiBwB,IACf,SACAD,QAAQA,OAAOhB,MAAM,GAAG,KAAGkB,QAAU,EAAE,CACzC,CAAC;AACDzB,sBAAiBwB,IAAK,kBAAkB,MAAM;;;AAEjDrB,IAAA,KAAAI;AAAAJ,IAAA,KAAAkB;OAAAA,MAAAlB,EAAA;CAAA,IAAAuB;AAAA,KAAAvB,EAAA,OAAAkB,MAAAlB,EAAA,OAAAI,OAAA;AA3BEmB,OAAA;GAAAC,OACE;IAAApB;IAAAqB,UAEKZ;IAETa,WACUR;IAsBZ;GAAAS,KACIrB;GACN;AAAAN,IAAA,KAAAkB;AAAAlB,IAAA,KAAAI;AAAAJ,IAAA,KAAAuB;OAAAA,MAAAvB,EAAA;AAAA,QA9BMuB;;;;;AChBT,MAAa,EACXQ,eACAC,YACAC,aACAC,eACAC,kBACEP,gBACF,EACEE,aAAa,OACd,EACD,EAAEM,MAAM,SACV,CAAC;;;;ACfD,MAAaE,gCAA0B;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACrC,MAAA,CAAAC,WAAAC,gBAAkCL,MAAKM,SAAU,MAAM;CAAC,IAAAC;AAAA,KAAAL,EAAA,OAAAE,WAAA;AAEjDG,OAAA;GAAAH;GAAAC;GAGN;AAAAH,IAAA,KAAAE;AAAAF,IAAA,KAAAK;OAAAA,MAAAL,EAAA;AAAA,QAHMK;;AAMT,MAAaC,sBAAsB,EACjCH,oBACiD,EACjDK,kCAAkC,EAChCL,cACF,EACD;AAED,MAAaM,kCAAkCC,UAMzC;AACJZ,OAAMmB,gBACEP,MAAMP,aAAaO,MAAMC,UAAUC,KAAK,EAE9C,CAACF,MAAMC,UAAUC,KACnB,CAAC;;;;;ACbH,MAAakB,iBAAiB,EAC5BC,eAGE,EAAE,KAAK;CACT,MAAMC,SAASV,cAAc;CAC7B,MAAMW,UAAUV,YAA+C;CAC/D,MAAMW,UAAUV,YAAY;CAC5B,MAAMW,WAAWT,aAAa;CAC9B,MAAMU,WAAWX,aAAa;CAE9B,MAAM,EAAEY,IAAIC,OAAOC,UAAUC,MAAMC,MAAMC,QAAQT;CAEjD,MAAMU,QAAQzB,MAAM0B,cAAc;AAChC,MACE,CAACb,cACAU,SAAST,OAAOa,QAAQxB,KAAKyB,MAAM,IAClCL,SAAST,OAAOa,QAAQxB,KAAK0B,WAAY,CAE3C;AAEF,SAAOlB,cAAca,KAAK,EAAEX,YAAY,CAAC;IAExC,CAACA,YAAYW,IAAI,CAAC;AAMrB,QAAO;EACLL;EACAC;EACAK;EACAT;EACAc,SATcL,OAAOM,aAAa;EAUlCV;EACAW,SAVc,CAAC,CAACP,OAAOM,YAAYtB,gBAAgBwB,SAASR,MAAMM,SAAS;EAW3EG,WAVgBT,OAAOM,aAAa;EAWpCT;EACAJ;EACAD;EACAkB,WAAWX;EACZ;;;;;ACvDH,MAAac,yBAAwBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;AAAA,KAAAF,EAAA,OAAAD,IAAA;AAACG,OAAAH,OAAAI,SAAA,EAIhC,GAJgCJ;AAIhCC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CAJgC,MAAA,EAAAI,aAAAF;CAKpC,MAAAG,SAAeT,cAAc;CAAC,IAAAU;AAAA,KAAAN,EAAA,OAAAK,UAAAL,EAAA,OAAAI,UAAA;AAEvBE,OAAA,EAAAC,OACE;GAAAC,SACI,YAAA;AACP,UAAMX,cAAYQ,QAAQ,EAAAI,MAAQL,UAAU,CAAC;;GAC9CM,aACYC;GAGf,EACD;AAAAX,IAAA,KAAAK;AAAAL,IAAA,KAAAI;AAAAJ,IAAA,KAAAM;OAAAA,MAAAN,EAAA;AAAA,QATMM;;AAP4B,SAAAK,QAAAC,GAAA;AAa7BA,GAACC,gBAAiB;;;;;ACf1B,MAAaE,qBAAqBD,mBAChC;CACEE,WAAW;CACXC,KAAK;CACN,EACD;CACEC,UAAU;CACVC,MAAM;CAEV,CAAC,CAACC,eAAe,EAAEC,WAAW,EAC5BC,aAAa;AACXD,KAAI,OAAO,GAAG;AACdA,KAAI,aAAa,MAAM;GAE1B,EAAE;AAEH,MAAa,EACXE,UAAUC,uBACVC,UAAUC,0BACRX;;;;ACbJ,MAAaiB,mCAA6B;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACxC,MAAAC,UAAgBL,YAA2B;CAAC,IAAAM;AAAA,KAAAH,EAAA,OAAAE,QAAAE,KAAA;AAIbD,aAAA;AACzBL,sBAAkBO,IAAK,OAAOH,QAAOE,IAAK;AAC1CN,sBAAkBO,IAAK,aAAa,KAAK;;AAC1CL,IAAA,KAAAE,QAAAE;AAAAJ,IAAA,KAAAG;OAAAA,MAAAH,EAAA;CAHQ,MAAAM,KAAAH;CAGQ,IAAAI;AAAA,KAAAP,EAAA,OAAAM,IAAA;AALdC,OAAA,EAAAC,OACE,EAAAC,SACIH,IAIX,EACD;AAAAN,IAAA,KAAAM;AAAAN,IAAA,KAAAO;OAAAA,MAAAP,EAAA;AAAA,QAPMO;;AAUT,MAAaG,0BAA0Bd,yBAAyB,SAAS,CAAC,EACxEe,WAAWZ,4BACZ,CAAC;;;;ACXF,MAAaoB,uBACXC,QACA,EACEC,SACAC,aAKC;CACH,IAAIC,MAAML,mBAAmBM,IAAI,MAAM;AAEvC,KAAID,QAAQF,QAAQE,KAAK;AACvBL,qBAAmBO,QAAQC,OAAO;AAElC,SAAO;;CAGT,MAAM,EAAEV,OAAOW,SAASX,OAAOY,iBAC7BR,OAAOS,WAAkDP,OAAO;AAGlE,KAAI,CAFYK,OAAOJ,IAAI,CAEb;AACd,KAAIK,aACFL,OAAMK,aAAaL,IAAI;AAGzBH,QAAOW,GAAGC,SAAwB,EAChCT,KACD,CAAC;AAEFL,oBAAmBO,QAAQC,OAAO;AAElCN,QAAOW,GAAGE,MAAM,EAAEC,IAAId,OAAOe,WAAY,CAAC;AAE1C,QAAO;;;;;ACjCT,MAAaU,iCAAgCC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAAC,WAAAH;CAK5C,MAAAI,SAAeV,cAAc;CAC7B,MAAAW,UAAgBV,YAA2B;CAAC,IAAAW;AAAA,KAAAL,EAAA,OAAAG,UAAAH,EAAA,OAAAI,WAAAJ,EAAA,OAAAE,QAAA;AAI1CG,QAAAC,MAAA;AACE,OAAIT,oBAAoBM,QAAQ;IAAAC;IAAAF;IAAmB,CAAC,CAClDI,GAACC,gBAAiB;;AAErBP,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAE;AAAAF,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAQ;CAAA,IAAAC;AAAA,KAAAT,EAAA,OAAAU,OAAAC,IAAA,4BAAA,EAAA;AACDH,OAAA,EAAAI,kBACoB,CAAC,QAAO,EAC3B;AACDH,OAAA,EAAE;AAAAT,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;QAAA;AAAAD,OAAAR,EAAA;AAAAS,OAAAT,EAAA;;AAVJL,YACE,SACAU,IAKAG,IAGAC,GACD;CAAA,IAAAI;AAAA,KAAAb,EAAA,OAAAG,QAAA;AAICU,aAAA;AACE,OAAIjB,mBAAkBkB,IAAK,YAAY,EAAA;AACrClB,uBAAkBmB,QAAQC,OAAQ;AAClCb,WAAMc,GAAGC,MAAO,EAAAC,IAAMhB,OAAMiB,WAAa,CAAC;;;AAE7CpB,IAAA,KAAAG;AAAAH,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAAA,IAAAqB;CAAA,IAAAC;AAAA,KAAAtB,EAAA,OAAAU,OAAAC,IAAA,4BAAA,EAAA;AACDU,OAAA;GAAAE,yBAC2B;GAAIX,kBACX,CAAC,QAAO;GAC3B;AACDU,OAAA,EAAE;AAAAtB,IAAA,KAAAqB;AAAArB,IAAA,KAAAsB;QAAA;AAAAD,OAAArB,EAAA;AAAAsB,OAAAtB,EAAA;;AAZJL,YACE,UACAkB,IAMAQ,IAIAC,GACD;CAAA,IAAAE;AAAA,KAAAxB,EAAA,QAAAU,OAAAC,IAAA,4BAAA,EAAA;AAEMa,OAAA,EAAAC,cACS7B,mBAAkBkB,IAAK,MAAK,EAC3C;AAAAd,IAAA,MAAAwB;OAAAA,MAAAxB,EAAA;AAAA,QAFMwB;;AAKT,MAAaE,4BAA2B3B,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAwB,iBAAA1B;CAGvC,MAAA4B,WACEC;CAEO,IAAAvB;AAAA,KAAAL,EAAA,OAAAyB,cAAA;AAEFpB,OAAA,EAAAwB,OACE;GAAAC,WACM;GAAIL;GAAAE;GAGjB,EACD;AAAA3B,IAAA,KAAAyB;AAAAzB,IAAA,KAAAK;OAAAA,MAAAL,EAAA;AAAA,QANMK;;AAST,MAAa0B,wBAAwBvC,yBAAyB,QAAQ,CAAC;CACrEwC,WAAWN;CACXO,WAAWnC;CACZ,CAAC;AApBsC,SAAA8B,QAAAtB,GAAA;AAKlCV,oBAAkBsC,IAAK,OAAO5B,EAAC6B,OAAOC,MAAO;;;;;ACzDnD,MAAaG,gBAAgB;CAC3BC,YAAYH;CACZI,UAAUH;CACX;;;;ACFD,MAAaM,kBAAkB;CAC7BC,mBAAmB;CACnBC,gBAAgB;CAChBC,mBAAmB;CACnBC,gBAAgB;CAChBC,WAAW;CACZ;;;;ACFD,MAAa4B,qBACXF,MACAG,UACiB;CAAEH;CAAMG;CAAM;AAEjC,MAAaC,iBAAiBC,UAC5B,OAAOA,UAAU,YACjBA,UAAU,QACV,UAAUA,SACV,UAAUA,SACV,OAAOA,MAAMF,SAAS,YACtBE,MAAMF,SAAS,QACf,WAAWE,MAAMF,QACjBG,MAAMC,QAAQF,MAAMF,KAAKK,MAAM;;;;ACrBjC,MAAaC,cAAc;CACzB,4BAA4B;EAC1BC,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,cAAc;EAC3BC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,WAAW;EACxBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM,OAAO;EAC1BC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,YAAY;EACzBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,OAAO,QAAQ;EAC5BC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY;GAAC;GAAO;GAAO;GAAM;EACjCC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,0BAA0B;EACxBC,SAAS;EACTF,YAAY,CAAC,MAAM,MAAM;EACzBC,QAAQ;EACT;CACD,oBAAoB;EAClBC,SAAS;EACTF,YAAY,CAAC,QAAQ,MAAM;EAC3BC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,6BAA6B;EAC3BC,SAAS;EACTF,YAAY,CAAC,cAAc;EAC3BC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY;GAAC;GAAM;GAAM;GAAK;EAC9BC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,WAAW;EACxBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,QAAQ,MAAM;EAC3BC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EACDC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY;GAAC;GAAU;GAAW;GAAU;GAAS;EACrDC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY;GAAC;GAAM;GAAO;GAAK;EAC/BC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,OAAO,QAAQ;EAC5BC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,OAAO,YAAY;EAChCC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gDAAgD;EAC9CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,OAAO,QAAQ;EAC5BC,QAAQ;EACT;CACD,+DAA+D;EAC7DD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0DAA0D;EACxDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uDAAuD;EACrDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4CAA4C;EAC1CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAO;GAAM;EAC/CC,QAAQ;EACT;CACD,gDAAgD;EAC9CD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,oDAAoD;EAClDD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY;GAAC;GAAO;GAAQ;GAAO;GAAO;EAC1CC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,YAAY;EACzBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,QAAQ,WAAW;EAChCC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY;GAAC;GAAM;GAAS;GAAS;GAAO;EAC5CC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8CAA8C;EAC5CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8CAA8C;EAC5CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,YAAY;EACzBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY;GAAC;GAAO;GAAW;GAAW;EAC1CC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,YAAY;EACzBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAM;EACxCC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,sDAAsD;EACpDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2DAA2D;EACzDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAO;GAAO;GAAM;EACtDC,QAAQ;EACT;CACD,kDAAkD;EAChDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,yDAAyD;EACvDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,kDAAkD;EAChDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qDAAqD;EACnDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY;GAAC;GAAO;GAAO;GAAM;EACjCC,QAAQ;EACT;CACD,uDAAuD;EACrDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,8DAA8D;EAC5DD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uDAAuD;EACrDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2DAA2D;EACzDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0DAA0D;EACxDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,oDAAoD;EAClDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,oDAAoD;EAClDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAM;EACxCC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,gDAAgD;EAC9CD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4CAA4C;EAC1CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qDAAqD;EACnDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+CAA+C;EAC7CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8CAA8C;EAC5CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uDAAuD;EACrDD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,+CAA+C;EAC7CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wDAAwD;EACtDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4CAA4C;EAC1CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qDAAqD;EACnDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mDAAmD;EACjDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4DAA4D;EAC1DD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kDAAkD;EAChDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2DAA2D;EACzDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kDAAkD;EAChDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oDAAoD;EAClDD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+CAA+C;EAC7CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6EAA6E;EAC3ED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,sEAAsE;EACpED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0EAA0E;EACxED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,yEAAyE;EACvED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qEAAqE;EACnED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wEAAwE;EACtED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2EAA2E;EACzED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2EAA2E;EACzED,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY;GAAC;GAAO;GAAO;GAAO;EAClCC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAO;GAAO;GAAM;EACtDC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,WAAW;EACxBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,aAAa;EAC1BC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+CAA+C;EAC7CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8CAA8C;EAC5CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,+CAA+C;EAC7CD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,QAAQ,OAAO;EAC5BC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,8CAA8C;EAC5CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4CAA4C;EAC1CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yCAAyC;EACvCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,8BAA8B;EAC5BC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6CAA6C;EAC3CD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY;GAAC;GAAQ;GAAO;GAAM;EAClCC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,WAAW;EACxBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAM;EACxCC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BC,SAAS;EACTF,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0CAA0C;EACxCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qDAAqD;EACnDD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,WAAW;EACxBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAM;EACxCC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,OAAO,QAAQ;EAC5BC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAO;GAAM;EAC/CC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAO;GAAO;GAAO;GAAO;GAAO;GAAM;EAC3EC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAM;EACxCC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,WAAW;EACxBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sCAAsC;EACpCD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,cAAc;EAC3BC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAO;GAAM;EAC/CC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY;GAAC;GAAO;GAAO;GAAM;EACjCC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAM;EACxCC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM,MAAM;EACzBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM,KAAK;EACxBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,mCAAmC;EACjCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wCAAwC;EACtCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iCAAiC;EAC/BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,UAAU;EACvBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,SAAS;EACtBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,OAAO,KAAK;EACzBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,WAAW,OAAO;EAC/BC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,8BAA8B;EAC5BD,YAAY;GAAC;GAAO;GAAO;GAAM;EACjCC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY;GAAC;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;GAAK;EAC5DC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,SAAS,MAAM;EAC5BC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAM;EACxCC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY;GAAC;GAAQ;GAAS;GAAQ;GAAM;EAC5CC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,QAAQ,MAAM;EAC3BC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACV;CACD;;;;AC5lFD,MAAaG,QAAQ;CACnB,cAAc;EACZC,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM,MAAM;EACzBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAO;GAAQ;GAAO;GAAM;EACzCC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAQ;GAAO;GAAQ;GAAO;GAAO;GAAM;EACxDC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY;GAAC;GAAO;GAAO;GAAO;GAAO;EACzCC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,YAAY;EACzBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,YAAY;EACzBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,YAAY;EACzBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gBAAgB;EACdD,YAAY;GAAC;GAAO;GAAQ;GAAO;EACnCC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gBAAgB;EACdD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,KAAK;EACzBC,QAAQ;EACT;CACD,+BAA+B;EAC7BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,YAAY;EACVD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACV;CACD;;;;ACzJD,MAAaE,QAAQ;CACnB,cAAc;EACZC,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAQ;GAAO;GAAO;GAAQ;GAAS;GAAM;EAC1DC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY;GAAC;GAAO;GAAQ;GAAO;GAAO;EAC1CC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,QAAQ,MAAM;EAC3BC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY;GAAC;GAAM;GAAO;GAAO;GAAO;GAAM;EAC9CC,QAAQ;EACT;CACD,gBAAgB;EACdD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gBAAgB;EACdD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,4BAA4B;EAC1BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACV;CACD;;;;;ACpVD,MAAaE,OAAO;CAClB,kBAAkB;EAChBC,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,YAAY;EACVD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,YAAY;EACVD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,2BAA2B;EACxCC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,kCAAkC;EAChCD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,2CAA2C;EACzCD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAO;GAAQ;GAAO;EACnCC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAQ;GAAQ;GAAS;GAAU;GAAO;EACvDC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qCAAqC;EACnCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uCAAuC;EACrCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,QAAQ,QAAQ;EAC7BC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,QAAQ,QAAQ;EAC7BC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,2BAA2B;EACzBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACV;CACD;;;;ACtMD,MAAaE,QAAQ;CACnB,cAAc;EACZC,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY;GAAC;GAAO;GAAQ;GAAO;EACnCC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAQ;GAAO;GAAO;GAAO;GAAM;EAChDC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM,MAAM;EACzBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,wBAAwB;EACtBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,oCAAoC;EAClCD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO,OAAO;EAC3BC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY;GAAC;GAAO;GAAQ;GAAM;EAClCC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACV;CACD;;;;ACrKD,MAAaE,OAAO;CAClB,uBAAuB;EACrBC,YAAY,CAAC,YAAY,WAAW;EACpCC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,OAAO,MAAM;EAC1BC,QAAQ;EACT;CACD,YAAY;EACVC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,YAAY;EACVD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY;GAAC;GAAQ;GAAO;GAAQ;EACpCC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,YAAY,KAAK;EAC9BC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,WAAW;EACTC,SAAS;EACTF,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAO;GAAQ;GAAQ;GAAO;GAAQ;GAAO;GAAM;GAAM;EACtEC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,YAAY;EACVD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,QAAQ,MAAM;EAC3BC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,aAAa;EACXD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,6BAA6B;EAC3BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY;GAAC;GAAK;GAAM;GAAQ;GAAO;GAAM;GAAK;EAClDC,QAAQ;EACT;CACD,eAAe;EACbC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY;GAAC;GAAO;GAAQ;GAAO;EACnCC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,uBAAuB;EACrBD,YAAY,CAAC,QAAQ;EACrBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gCAAgC;EAC9BD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gBAAgB;EACdD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,yBAAyB;EACvBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,qBAAqB;EACnBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,oCAAoC;EAClCC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,0BAA0B;EACxBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,YAAY;EACVC,SAAS;EACTF,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,KAAK,MAAM;EACxBC,QAAQ;EACT;CACD,YAAY;EACVD,YAAY;GAAC;GAAK;GAAM;GAAO;GAAO;GAAK;GAAM;GAAM;EACvDC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,kBAAkB;EAChBD,YAAY;GAAC;GAAK;GAAO;GAAO;GAAM;EACtCC,QAAQ;EACT;CACD,sBAAsB;EACpBD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,eAAe;EACbD,YAAY,CAAC,OAAO;EACpBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,KAAK,MAAM;EACxBC,QAAQ;EACT;CACD,iBAAiB;EACfD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,cAAc;EACZD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,mBAAmB;EACjBD,YAAY,CAAC,KAAK;EAClBC,QAAQ;EACT;CACD,oBAAoB;EAClBD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,gBAAgB;EACdD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACT;CACD,YAAY;EACVD,YAAY,CAAC,MAAM;EACnBC,QAAQ;EACV;CACD;;;;ACnMD,MAAaS,QAAQ;CACnB,GAAGN;CACH,GAAGC;CACH,GAAGC;CACH,GAAGG;CACH,GAAGD;CACH,GAAGD;CACJ;;;;;ACXD,SAAgBa,OAAOC,MAAgC;AACrD,KAAI,CAACA,QAAQ,OAAOA,SAAS,SAC3B,QAAO;CAIT,MAAMC,YAAYC,QAAQ,KAAKF,OAAO,CACnCG,aAAa,CACbC,MAAM,EAAE;AAEX,KAAI,CAACH,UACH,QAAO;AAGT,QAAOI,UAAU,CAACJ,cAAc;;AAGlC,MAAMK,aAAa,EAAE;AACrB,MAAME,QAAQ,EAAE;AAEhB,SAAgBH,WAA4C;AAC1DI,cAAaH,YAAYE,MAAM;AAE/B,QAAOA;;AAGT,MAAaE,YAAYZ;AAKzB,IAAIc,cAAc;;;;;;AAOlB,SAASH,aACPH,cACAE,SACA;AACA,KAAII,YAAa;AAEjBA,eAAc;CAEd,MAAMC,aAAa;EAAC;EAAS;EAAUC;EAAW;EAAO;AAEzD,CAACC,OAAOC,KAAKN,UAAU,CAAgBO,SAASC,SAAS;EACvD,MAAMC,OAAOT,UAAUQ;EACvB,MAAME,OAAOD,KAAKb;AAElB,MAAI,CAACc,MAAMC,OACT;AAIFf,eAAWY,QAAQE;AAInB,OAAK,MAAMnB,aAAamB,MAAM;AAC5B,OAAIZ,QAAMP,YAAY;IACpB,MAAMqB,OAAOT,WAAWU,QAAQb,UAAUF,QAAMP,YAAYU,OAAO;IACnE,MAAMa,KAAKX,WAAWU,QAAQJ,KAAKR,OAAO;AAE1C,QACEH,QAAMP,eAAe,+BACpBqB,OAAOE,MACLF,SAASE,MAAMhB,QAAMP,WAAWwB,WAAW,eAAgB,EAG9D;;AAKJjB,WAAMP,aAAaiB;;GAErB;;AAGJ,SAAShB,QAAQF,MAAc;CAC7B,MAAM0B,QAAQ1B,KAAK2B,YAAY,IAAI;AAEnC,QAAOD,UAAU,KAAK,KAAK1B,KAAKI,MAAMwB,KAAKC,IAAI,GAAGH,MAAM,CAAC;;;;;AClF3D,MAAaS,iBACXC,MACAE,iBACuB;CAEvB,MAAMC,WAAWH,KAAKI,QAAQR,OAAOI,KAAKK,KAAK;AAE/C,KAAI,CAACF,UAAU;AACb,MAAID,aAAaI,SAAS,OAAO,CAAE,QAAO;AAE1C,QAAMR,kBAAkBD,gBAAgBU,mBAAmB;GACzDL;GACAM,OAAO,CAACR,KAAI;GACb,CAAC;;AAGJ,KACEE,aAAaO,MAAML,WAASA,OAAKE,SAAS,IAAI,CAAC,IAC/CJ,aAAaI,SAASH,SAA+B,CAErD,QAAOA;CAIT,MAAMC,OACJD,SAASO,aAAa,KAAK,oBACvB,QACAP,SAASQ,MAAM,IAAI,CAAC;AAG1B,KAAI,CAACT,aAAaI,SAASF,KAAK,EAAE;AAEhC,MAAIF,aAAaI,SAAS,OAAO,CAC/B,QAAO;AAET,QAAMR,kBAAkBD,gBAAgBU,mBAAmB;GACzDL;GACAM,OAAO,CAACR,KAAI;GACb,CAAC;;AAGJ,QAAOI;;;;;ACzCT,MAAac,gBAAgBC,MAAYE,WAAoC;AAM3E,QAAQA,OALKJ,cACXE,MACAI,OAAOC,KAAKH,OAAO,CACpB,EAEwCI;;;;;ACP3C,MAAMI,+BAAe,IAAIC,SAA+B;AAExD,MAAaC,mBAAmBC,QAAqBC,OAAmB;CACtE,MAAMC,OAAOC,iBAAiBH,OAAO;AACrCH,cAAaO,IAAIJ,QAAQ,KAAK;AAC9BC,KAAI;AACJJ,cAAaO,IAAIJ,QAAQE,KAAK;;AAGhC,MAAaC,oBAAoBH,WAC/BH,aAAaQ,IAAIL,OAAO,IAAI;AAE9B,MAAaM,uBAAuBN,QAAqBO,SAAmB;CAC1E,MAAMC,QAAQR,OAAOS,QAAQC,MAAMC,eAChCC,YACCA,QAAMhB,KAAKiB,gBACXD,QAAME,WAAWC,MACdC,cACCA,UAAUC,SAAS,iBACnBD,UAAUT,KAAKW,OAAOX,KAAKY,cAEnC,CAAC;CAED,MAAMP,QAAQZ,OAAOS,QAAQC,MAAMF;CAEnC,MAAMY,gBAAuB,EAAE;AAE/B,MAAK,MAAMJ,aAAaJ,MAAME,YAAY;AACxC,OACGE,UAAUC,SAAS,iBAAkBD,UAAUT,MAAcW,OAC9DX,KAAKY,eACL;AACAC,iBAAcC,KAAK;IACjB,GAAGL;IACHT;IACD,CAAC;AAEF;;AAGFa,gBAAcC,KAAKL,UAAU;;CAG/B,MAAMM,WAAW;EACf,GAAGV;EACHE,YAAYM;EACb;AAEDpB,QAAOS,QAAQC,MAAMF,SAASc;;;;;AChDhC,MAAaI,oBACXC,UACAE,WACoC;CACpC,MAAMG,cAA+C;EACnDC,OAAO,EAAE;EACTC,MAAM,EAAE;EACRC,OAAO,EAAE;EACTC,KAAK,EAAE;EACPC,MAAM,EAAE;EACRC,OAAO,EAAA;EACR;AAED,MAAK,MAAMC,QAAQZ,SAGjBK,aAFaP,cAAcc,MAAME,OAAOC,KAAKb,OAAO,CAAsB,EAErCc,KAAKJ,KAAK;AAGjD,QAAOP;;;;;ACrBT,MAAae,iBAAiB;CAAC;CAAK;CAAM;CAAM;CAAK;AAIrD,MAAaG,mBAAmBC,UAAoBC,SAAuB;CAOzE,MAAMK,QANQ,IAAIF,OAChB,yBAAyBR,eAAeS,KAAK,IAAI,CAAA,KACjD,IACD,CAGmBE,KAAKP,SAAS;AAElC,KAAI,CAACM,MACH,OAAMX,kBAAkBD,gBAAgBc,mBAAmB,EACzDC,OAAO,CAACR,KAAI,EACb,CAAC;CAGJ,MAAMS,YAAYC,OAAOC,WAAWN,MAAM,GAAG;CAC7C,MAAMO,WAAWP,MAAM,GAAGQ,aAAa;CACvC,MAAMC,QAAQL,YAAY,QAAQd,eAAeoB,QAAQH,SAAS;AAElE,QAAOI,KAAKC,MAAMH,MAAM;;AAG1B,MAAaI,mBAAmBJ,UAAkB;AAChD,KAAIA,UAAU,KAAKA,UAAU,GAC3B,QAAO;CAGT,MAAMK,IAAIH,KAAKC,MAAMD,KAAKI,IAAIN,MAAM,GAAGE,KAAKI,IAAI,IAAK,CAAC;AAEtD,QAAO,IAAIN,QAAQ,OAAQK,GAAGE,QAAQ,EAAE,GAAG1B,eAAewB;;;;;AC9B5D,MAAaS,oBACXC,OACAE,QACAC,QAC2B;CAC3B,MAAM,EACJC,eAAeC,OAAOC,mBACtBC,aACAC,eAAe,MACbN;AAEJ,KAAIF,MAAMS,SAASD,aACjB,OAAMX,kBAAkBD,gBAAgBc,gBAAgB;EACtDV;EACAW,UAAUR;EACVK;EACD,CAAC;AACJ,KAAIR,MAAMS,SAASL,aACjB,OAAMP,kBAAkBD,gBAAgBgB,gBAAgB;EACtDZ;EACAW,UAAUR;EACVC;EACD,CAAC;AAEJ,MAAK,MAAMS,KAAKb,OAAO;EACrB,MAAMc,QAAQhB,gBAAgBS,aAAyBM,EAAE;AAEzD,MAAIA,EAAEE,OAAOD,MACX,OAAMjB,kBAAkBD,gBAAgBoB,WAAW;GACjDhB,OAAO,CAACa,EAAE;GACVF,UAAUR;GACGI;GACd,CAAC;;AAGN,QAAO;;;;;ACnCT,MAAac,iBAAiBC,UAAoBE,WAAyB;CACzE,MAAMC,cAAcN,iBAAiBG,UAAUE,OAAO;CAEtD,MAAME,OAAOC,OAAOD,KAAKD,YAAY;AAErC,MAAK,MAAMG,OAAOF,MAAM;EACtB,MAAMG,aAAaL,OAAOI;EAE1B,MAAME,YAAYL,YAAYG;AAE9B,MAAIE,UAAUC,WAAW,EAAG;AAE5BX,mBAAiBU,WAAWD,YAAaD,IAAI;;;;;;ACAjD,MAAakB,eACXC,QACAC,OACAE,YACQ;CACR,MAAMG,MAAMN,OAAOO,OAAOf,kBAAkB;CAC5C,MAAMgB,eAAeR,OAAOS,UAAUjB,mBAAmB,eAAe;CACxE,MAAMkB,WAAWV,OAAOS,UAAUjB,mBAAmB,WAAW;AAEhE,KAAI;AACFM,gBAAcG,OAAOO,aAAa;UAC3BG,OAAO;AACd,MAAI,CAAChB,cAAcgB,MAAM,CAAE,OAAMA;AAEjC,SAAOX,OAAOY,UAAUpB,mBAAmB,SAASmB,MAAM;;AAG5D,KAAI,CAACD,YAAYT,MAAMY,SAAS,EAC9B,QAAOb,OAAOY,UACZpB,mBACA,SACAE,kBAAkBD,gBAAgBqB,gBAAgB;EAChDb,OAAOc,MAAMC,KAAKf,MAAM;EACxBgB,UAAU;EACVC,cAAc;EACf,CACH,CAAC;CAGH,MAAMA,eAAelB,OAAOS,UAAUjB,mBAAmB,eAAe,IAAI;AAE5E,KAAIS,MAAMY,SAASK,aACjB,QAAOlB,OAAOY,UACZpB,mBACA,SACAE,kBAAkBD,gBAAgBqB,gBAAgB;EAChDb,OAAOc,MAAMC,KAAKf,MAAM;EACxBgB,UAAU;EACVC;EACD,CACH,CAAC;CAGH,IAAIC;CACJ,MAAM,EAAEd,IAAIe,YAAY,MAAM,GAAGC,gBAAgBlB,WAAW,EAAE;AAE9DY,OAAMC,KAAKf,MAAM,CAACqB,SAASC,MAAMC,UAAU;AACzC,MAAIA,UAAU,GACZ;OAAInB,GACFc,aAAYd;QAGdc,aAAYA,YAAY5B,QAAQkC,KAAKN,UAAU,GAAGO;EAGpD,MAAMC,KAAKrC,QAAQ;AAEnBgB,MAAIsB,YAAYC,iBAAiBF,IAAIJ,KAAK;EAE1C,MAAMO,eAAe;AACnB9B,UAAO+B,GAAGC,YACR;IACEL;IACAM,UAAU,CAAC,EAAEC,MAAM,IAAI,CAAC;IACxBC,WAAWvC,aAAa2B,MAAMf,aAAa;IAC3C4B,MAAMpC,OAAOqC,QAAQhD,KAAKuC,YAAW;IACtC,EACD;IAAEvB,IAAIc;IAAWC;IAAW,GAAGC;IACjC,CAAC;;AAQH,MALgCrB,OAAOS,UACrCjB,mBACA,0BACD,CAGCQ,QAAO+B,GAAGQ,qBAAqB;AAC7B1C,mBAAgBG,QAAQ8B,OAAO;IAC/B;MAEF9B,QAAO+B,GAAGS,mBAAmBV,OAAO;GAEtC;;;;;ACzEJ,MAAasC,oBAAoBtB,eAe/BK,uBAAuB,EACvBa,SAAS;CACPK,yBAAyB;CACzBC,iBAAiB;CACjBG,OAAO;CACPC,cAAc;CACdC,UAAU;CACVJ,cAAc;EACZM,OAAO;GACLH,cAAc;GACdI,aAAa;GACbC,WAAWnC,KAAKiC;GAChBG,cAAc;GACf;EACDC,MAAM;GACJP,cAAc;GACdI,aAAa;GACbC,WAAWnC,KAAKa;GAChBuB,cAAc;GACf;EACDE,OAAO;GACLR,cAAc;GACdI,aAAa;GACbC,WAAWnC,KAAKuC;GAChBH,cAAc;GACf;EACDI,KAAK;GACHV,cAAc;GACdI,aAAa;GACbC,WAAWnC,KAAKa;GAChBuB,cAAc;GACf;EACDK,MAAM;GACJX,cAAc;GACdI,aAAa;GACbC,WAAWnC,KAAKa;GAChBuB,cAAc;GACf;EACDM,OAAO;GACLZ,cAAc;GACdI,aAAa;GACbC,WAAWnC,KAAK0C;GAChBN,cAAc;GAChB;EACD;CACDR,gBAAgB,EAAC;CACnB,EACD,CAAC,CACCe,gBAAgB,EAAEC,QAAQC,IAAI,EAAEC,sBAAsB,EACrDC,YAAY,EACVD,aAAaE,OAAOC,OAAO;AACzB,KAAIxC,iBAAiBmC,OAAO,EAAE;AAM5BE,eAAaE,OALI;GACf,GAAGC;IACFjD,KAAKgC,cAAc;GACrB,CAE4B;AAE7B;;AAGF,QAAOc,aAAaE,OAAOC,MAAM;GAErC,EACD,EAAE,CACFE,wBAAwB,EAAEP,cAAc,EACvCQ,QAAQ,EACNC,OAAOtD,UAAUS,aAAaoC,OAAM,EACtC,EACD,EAAE,CACFU,WAAW,EAAEC,WAAWC,iBAAiB;CACxC7C,mBAAmBC,IAAYC,SAAe;AAG5C2C,YAAU,kBAAkB;GAC1B,GAHqBD,UAAU,iBAAiB;IAI/C3C,KAAKC;GACP,CAAC;;CAEJE,mBAAmBH,OAAe;AAGhC,SAFuB2C,UAAU,iBAAiB,CAE5B3C;;CAExBI,sBAAsBJ,OAAe;EACnC,MAAMgB,iBAAiB2B,UAAU,iBAAiB;AAElD,SAAO3B,eAAehB;AAEtB4C,YAAU,kBAAkB5B,eAAe;;CAE9C,EAAE,CACF6B,QAAQ,EAAEF,iBAAiB,EAC1BG,UAAU;CACRC,SAAS,EAAEf,QAAQgB,OAAOf,SAAS;AAEjC,MAAI,CAACU,UAAU,kBAAkB,CAAE;EAEnC,MAAM,EAAErC,UAAU0C,MAAMC;AAExB,MAAI3C,MAAM4C,WAAW,EAAG,QAAO;;AAG/BF,QAAMG,gBAAgB;AACtBH,QAAMI,iBAAiB;AASvB,MAAI,CAFOpB,OAAOsB,IAAIC,eAAeP,MAAM,CAElC,QAAO;AAEhBf,KAAGO,OAAOC,MAAMnC,MAAM;AAEtB,SAAO;;CAETkD,UAAU,EAAExB,QAAQgB,OAAOf,SAAS;EAClC,MAAM,EAAE3B,OAAOmD,mBAAUT,MAAMU;AAI/B,MAAIpD,MAAM4C,SAAS,KAAK,CAACO,QAAMG,SAHb,YAGgC,EAAE;AAClDZ,SAAMG,gBAAgB;AACtBH,SAAMI,iBAAiB;GAEvB,IAAIS,WAAW;GACf,MAAMC,WAAW9B,OAAOsB,IAAIS,MAAM,EAAEC,SAAS,MAAM,CAAC;AAEpD,OAAIF,UAAU;IACZ,MAAM,CAACG,MAAMC,QAAQJ;AAErB,QAAIzE,QAAQ8E,OAAOF,KAAK,CAACf,WAAW,GAAG;AACrClB,YAAOC,GAAGmC,YAAY,EAAEf,IAAIa,MAAM,CAAC;AACnCjC,QAAGO,OAAOC,MAAMnC,OAAO;MAAE+C,IAAIa;MAAMG,WAAW;MAAO,CAAC;AACtDR,gBAAW;;;AAGf,OAAI,CAACA,SACH5B,IAAGO,OAAOC,MAAMnC,OAAO,EAAE+D,WAAW,OAAO,CAAC;AAG9C,UAAO;;AAGT,SAAO;;CAEX,EACD,EAAE;;;;ACrLL,MAAa,EACXY,qBACAC,kBACAC,mBACAC,qBACAC,qBACAC,wBACEhB,gBACF;CACEE,aAAa;CACbC,YAAY,EAAE;CACdE,MAAM;CACNG,cAAc,EAAA;CACf,EACD,EAAES,MAAM,eACV,CAAC;;;;ACjBD,MAAaU,mCAA6B;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACxC,MAAAC,UAAgBT,YAAY;CAC5B,MAAAU,SAAeX,cAAc;CAC7B,MAAAY,UAAgBV,YAAY;CAC5B,MAAAW,WAAiBV,aAAa;CAC9B,MAAAW,WAAiBV,aAAa;CAE9B,MAAAW,aAAmBT,oBAAoB,aAAa;CACpD,MAAAU,cAAoBV,oBAAoB,cAAc;CACtD,MAAAW,eAAqBX,oBAAoB,eAAe;CACxD,MAAAY,UAAgBb,kBAAkB,OAAO;CAEzC,MAAA,EAAAc,cAAsBlB,WAAgCF,KAAIqB,YAAa;CAEvE,MAAAC,cAAoBJ,aAAYK,SAAU,KAAtBN;CAAuC,IAAAO;AAAA,KAAAf,EAAA,OAAAG,UAAAH,EAAA,OAAAE,WAAAF,EAAA,OAAAI,WAAAJ,EAAA,OAAAQ,eAAAR,EAAA,OAAAW,aAAAX,EAAA,OAAAO,cAAAP,EAAA,OAAAa,eAAAb,EAAA,OAAAK,YAAAL,EAAA,OAAAM,YAAAN,EAAA,OAAAU,WAAAV,EAAA,QAAAS,cAAA;AAEpDM,OAAA;GAAAZ;GAAAD;GAAAE;GAAAI;GAAAG;GAAAJ;GAAAM;GAAAR;GAAAC;GAAAI;GAAAD;GAYN;AAAAT,IAAA,KAAAG;AAAAH,IAAA,KAAAE;AAAAF,IAAA,KAAAI;AAAAJ,IAAA,KAAAQ;AAAAR,IAAA,KAAAW;AAAAX,IAAA,KAAAO;AAAAP,IAAA,KAAAa;AAAAb,IAAA,KAAAK;AAAAL,IAAA,KAAAM;AAAAN,IAAA,KAAAU;AAAAV,IAAA,MAAAS;AAAAT,IAAA,MAAAe;OAAAA,MAAAf,EAAA;AAAA,QAZMe;;;;;ACfT,MAAaW,mCAA6B;CAAA,MAAAC,IAAAC,EAAA,GAAA;CACxC,MAAAC,SAAeX,cAAc;CAC7B,MAAAY,WAAiBR,aAAa;CAC9B,MAAAS,WAAiBR,aAAa;CAC9B,MAAAS,UAAgBX,YAAY;CAAC,IAAAY;AAAA,KAAAN,EAAA,OAAAO,OAAAC,IAAA,4BAAA,EAAA;AAI3BF,OAAA,EAAE;AAAAN,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAFJ,MAAAS,qBAA2BjB,kBACzBkB,OACAJ,GACD;CAED,MAAAK,UAAgBlB,WAAgCH,KAAIsB,YAAa;CACjE,MAAA,EAAAC,IAAAC,cAA0BH;CAE1B,MAAAI,gBAAsBlB,kBAAkB,aAAa;CACrD,MAAAmB,iBAAuBnB,kBAAkB,cAAc;CACvD,MAAAoB,kBAAwBpB,kBAAkB,eAAe;CAEzD,MAAAqB,OAAapB,oBAAoB,OAAO;CAAC,IAAAqB;AAAA,KAAAnB,EAAA,OAAAE,UAAAF,EAAA,OAAAW,WAAAX,EAAA,OAAAK,WAAAL,EAAA,OAAAa,MAAAb,EAAA,OAAAc,aAAAd,EAAA,OAAAG,YAAAH,EAAA,OAAAI,YAAAJ,EAAA,OAAAS,sBAAAT,EAAA,OAAAgB,kBAAAhB,EAAA,QAAAe,iBAAAf,EAAA,QAAAiB,mBAAAjB,EAAA,QAAAkB,MAAA;AAElCC,OAAA;GAAAN;GAAAX;GAAAS;GAAAN;GAAAS;GAAAX;GAAAC;GAAAK;GAAAO;GAAAD;GAAAE;GAAAC;GAaN;AAAAlB,IAAA,KAAAE;AAAAF,IAAA,KAAAW;AAAAX,IAAA,KAAAK;AAAAL,IAAA,KAAAa;AAAAb,IAAA,KAAAc;AAAAd,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAS;AAAAT,IAAA,KAAAgB;AAAAhB,IAAA,MAAAe;AAAAf,IAAA,MAAAiB;AAAAjB,IAAA,MAAAkB;AAAAlB,IAAA,MAAAmB;OAAAA,MAAAnB,EAAA;AAAA,QAbMmB;;AApBiC,SAAAT,MAAAU,UAAA;AAAA,QAO1B,CAAClB,SAAMmB,IAAIC,YAAa"}