{"version":3,"file":"Studio-DdZ_rvy2.js","sources":["../../src/components/Studio/Drafts.tsx","../../src/components/Studio/Studio.tsx"],"sourcesContent":["import { SimpleGrid, Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useLiveQuery } from 'dexie-react-hooks'\nimport { enqueueSnackbar } from 'notistack'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport InfiniteScroll from 'react-infinite-scroll-component'\nimport { useNavigate } from 'react-router'\n\nimport { useDb } from '@/plugins/db/Db'\nimport { convertBytesToUnit, convertUnitToBytes, SavedDraft } from '@/utils/utils'\n\nimport Loading from '../Loading'\nimport OptionsMenu from '../OptionsMenu'\nimport Snackbar from '../Snackbar'\nimport { jsonSize, MAX_DRAFTS_SIZE, MAX_DRAFTS_UNIT } from './CreateItem'\nimport CreationsCard from './CreationsCard'\n\nconst ChunkSize = 8\n\nconst Drafts: React.FC = () => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n const navigate = useNavigate()\n const [isLoading, setIsLoading] = useState(true)\n const { db } = useDb()\n const [limit, setLimit] = useState(4)\n const [offset, setOffset] = useState(0)\n\n const [draftsSizeInBytes, setDraftsSizeInBytes] = useState(0)\n const [draftSizeInMB, setDraftSizeInMB] = useState('0 MB')\n const [draftList, setDraftList] = useState([])\n const [isDeletingDraft, setIsDeletingDraft] = useState<[string]>([''])\n\n const limitedDrafts: SavedDraft[] | undefined = useLiveQuery(async () => {\n if (!db) return []\n try {\n setIsLoading(true)\n const drafts =\n (await db\n ?.table('drafts')\n .orderBy('timestamp')\n .reverse()\n .limit(limit)\n .offset(offset)\n .toArray()) ?? []\n setIsLoading(false)\n setDraftList(prevLoadedDrafts => {\n const newDrafts = drafts.filter(\n draft => !prevLoadedDrafts.some(prevDraft => prevDraft.id === draft.id)\n )\n return [...prevLoadedDrafts, ...newDrafts]\n })\n\n return drafts\n } catch (err) {\n console.error('Error fetching drafts', err)\n enqueueSnackbar(\n }\n />\n )\n setIsLoading(false)\n }\n return []\n }, [db, limit, offset])\n\n const countDrafts: number | undefined = useLiveQuery(async () => {\n if (!db) return 0\n\n try {\n const count = (await db?.table('drafts').count()) ?? 0\n return count\n } catch (err) {\n enqueueSnackbar(\n }\n />\n )\n }\n return 0\n }, [db])\n\n // get drafts size from indexed db dexie\n useEffect(() => {\n const getDraftsSize = async () => {\n // check if db exists and if drafts table exists\n if (db) {\n try {\n await db\n .table('drafts')\n .toArray()\n .then(drafts => {\n const size = drafts.reduce((acc, draft) => {\n const imageSize = draft.draftJson.asset.size\n return acc + imageSize + jsonSize\n }, 0)\n setDraftsSizeInBytes(size)\n setDraftSizeInMB(convertBytesToUnit(size))\n })\n } catch (err) {\n console.error('Error fetching drafts:', err)\n enqueueSnackbar(\n }\n />\n )\n }\n }\n }\n getDraftsSize()\n }, [db, countDrafts])\n\n const draftSize = useCallback((draft: any) => {\n const imageSize = draft.draftJson.asset.size\n return convertBytesToUnit(imageSize + jsonSize)\n }, [])\n\n const onDeleteDraft = useCallback(\n async (draft: SavedDraft) => {\n setIsDeletingDraft([draft.id])\n if (db) {\n try {\n await db.table('drafts').where('id').equals(draft.id).delete()\n } catch (err) {\n console.error('Error deleting draft:', err)\n enqueueSnackbar(\n }\n />\n )\n }\n }\n setIsDeletingDraft([''])\n },\n [db]\n )\n\n return (\n \n {t('components.studio.drafts', 'Drafts')}\n \n {\n t(\n 'components.studio.draftSubtitle',\n `Work-in-progress items you still need to complete and publish. You've used {{draftSizeInMB}} ({{percentageTaken}}%) of your browser’s {{maxDrafts}} limit. {{remainingSpace}} remaining.`,\n {\n draftSizeInMB,\n maxDrafts: `${MAX_DRAFTS_SIZE}${MAX_DRAFTS_UNIT}`,\n percentageTaken: Math.round(\n (draftsSizeInBytes / convertUnitToBytes(MAX_DRAFTS_SIZE, MAX_DRAFTS_UNIT)) * 100\n ),\n remainingSpace: convertBytesToUnit(\n Math.max(\n convertUnitToBytes(MAX_DRAFTS_SIZE, MAX_DRAFTS_UNIT) - draftsSizeInBytes,\n 0\n )\n ),\n }\n ) as string\n }\n \n {isLoading && }\n {limitedDrafts && limitedDrafts.length > 0 && !isLoading && (\n {\n setOffset(prev => prev + draftList.length)\n setLimit(prev => prev + ChunkSize)\n }}\n hasMore={(countDrafts || limit) > limit}\n loader={}\n >\n \n {draftList?.map((draft: SavedDraft) => {\n const image = // draft?.draftJson?.asset File into URL\n draft?.draftJson?.asset && URL.createObjectURL(new Blob([draft?.draftJson?.asset]))\n return (\n \n \n {isDeletingDraft && isDeletingDraft.includes(draft.id) ? (\n \n {t('components.studio.deletingDraft', 'Deleting Draft...')}\n \n \n ) : (\n \n {\n navigate('./createItem', {\n state: { draftData: draft?.draftJson },\n replace: true,\n })\n }}\n style={{ cursor: 'pointer', display: 'flex', alignItems: 'center' }}\n >\n {t('components.studio.continueDraft', 'Continue Draft')}\n \n {\n onDeleteDraft(draft)\n }}\n style={{ cursor: 'pointer', display: 'flex', alignItems: 'center' }}\n >\n {t('components.studio.deleteDraft', 'Delete Draft')}\n \n \n )}\n \n )\n })}\n \n \n )}\n \n )\n}\n\nexport default Drafts\n","import { Carousel } from '@mantine/carousel'\nimport { Box, Divider, Stack, Text, Title, useMantineTheme } from '@mantine/core'\nimport { useMediaQuery } from '@mantine/hooks'\nimport { IconCaretLeftFilled, IconCaretRightFilled } from '@tabler/icons-react'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { useAuth } from '@/plugins/auth'\nimport ConnectMiddleware from '@/plugins/auth/RouteRedirectors/ConnectMiddleware'\nimport { useDb } from '@/plugins/db/Db'\n\nimport useSpaceRegistry from '../../hooks/useSpaceRegistry'\nimport { BodyStack } from '../../styled/components'\nimport ErrorMessage from '../ErrorMessage'\nimport HelpDrawer from '../HelpDrawer/HelpDrawer'\nimport Loading from '../Loading'\nimport Drafts from './Drafts'\n\nconst Component: React.FC = () => {\n const { t } = useTranslation()\n const { status, address } = useAuth()\n const theme = useMantineTheme()\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.sm})`)\n const { db } = useDb()\n const [draftsTableOnDb, setDraftsTableOnDb] = useState(false)\n const { loading, error, spacesMetadata, getTemplatesBySpaces } = useSpaceRegistry()\n\n // Avoid rendering Drafts component if the drafts table does not exist\n const checkDraftsTableOnDb = useCallback(\n async () =>\n (db &&\n status === 'connected' &&\n address &&\n db.tables.some(table => table.name.includes('drafts'))) ||\n false,\n [db, status, address]\n )\n\n useEffect(() => {\n checkDraftsTableOnDb().then(setDraftsTableOnDb)\n }, [checkDraftsTableOnDb])\n\n return (\n \n \n \n \n {t('components.studio.title', 'Welcome to the Creator Studio')}\n \n \n \n {t(\n 'components.studio.subtitle1',\n 'Here you can publish items to the LAMINA1 and define how they will appear, integrate, and be engaged with across the LAMINA1 Hub and Ecosystem. '\n )}\n \n \n {t(\n 'components.studio.subtitle2',\n 'Get started by selecting a template for publishing your item below.'\n )}\n \n \n \n \n \n {t('components.studio.templates', 'Templates')}\n \n {t(\n 'components.studio.templateSubtitle',\n 'Templates are pre-set flows that help you publish items. More file formats and template types coming soon.'\n )}\n \n {error && }\n {!error && !loading && spacesMetadata && (\n \n }\n nextControlIcon={}\n >\n {Object.entries(spacesMetadata)\n .filter(([, value]) => value.active && value.metadataInfo)\n .map(([key, value]) => {\n const template = getTemplatesBySpaces(key, value)\n if (template && template.length > 0) {\n return {template}\n }\n return null\n })\n .filter(template => template !== null)}\n \n \n )}\n {!error && loading && (\n \n \n \n )}\n \n {draftsTableOnDb && }\n \n \n \n )\n}\nComponent.displayName = 'Studio'\n// eslint-disable-next-line import/prefer-default-export\nexport { Component }\n"],"names":["ChunkSize","Drafts","t","useTranslation","theme","useMantineTheme","navigate","useNavigate","isLoading","setIsLoading","useState","db","useDb","limit","setLimit","offset","setOffset","draftsSizeInBytes","setDraftsSizeInBytes","draftSizeInMB","setDraftSizeInMB","draftList","setDraftList","isDeletingDraft","setIsDeletingDraft","limitedDrafts","useLiveQuery","drafts","prevLoadedDrafts","newDrafts","draft","prevDraft","err","enqueueSnackbar","jsx","Snackbar","Fragment","countDrafts","useEffect","size","acc","imageSize","jsonSize","convertBytesToUnit","draftSize","useCallback","onDeleteDraft","Stack","Title","Text","MAX_DRAFTS_SIZE","MAX_DRAFTS_UNIT","convertUnitToBytes","Loading","InfiniteScroll","prev","SimpleGrid","image","_a","_b","CreationsCard","_c","_d","jsxs","OptionsMenu","Component","status","address","useAuth","isMobile","useMediaQuery","draftsTableOnDb","setDraftsTableOnDb","loading","error","spacesMetadata","getTemplatesBySpaces","useSpaceRegistry","checkDraftsTableOnDb","table","ConnectMiddleware","BodyStack","Divider","ErrorMessage","Carousel","IconCaretLeftFilled","IconCaretRightFilled","value","key","template","Box","HelpDrawer"],"mappings":"4tCAiBA,MAAMA,GAAY,EAEZC,GAAmB,IAAM,CACvB,KAAA,CAAE,EAAAC,GAAMC,IACRC,EAAQC,IACRC,EAAWC,IACX,CAACC,EAAWC,CAAY,EAAIC,WAAkB,EAAI,EAClD,CAAE,GAAAC,GAAOC,IACT,CAACC,EAAOC,CAAQ,EAAIJ,WAAiB,CAAC,EACtC,CAACK,EAAQC,CAAS,EAAIN,WAAiB,CAAC,EAExC,CAACO,EAAmBC,CAAoB,EAAIR,WAAiB,CAAC,EAC9D,CAACS,EAAeC,CAAgB,EAAIV,WAAiB,MAAM,EAC3D,CAACW,EAAWC,CAAY,EAAIZ,EAAA,SAAuB,CAAE,CAAA,EACrD,CAACa,EAAiBC,CAAkB,EAAId,EAAAA,SAAmB,CAAC,EAAE,CAAC,EAE/De,EAA0CC,EAAa,SAAY,CACnE,GAAA,CAACf,EAAI,MAAO,GACZ,GAAA,CACFF,EAAa,EAAI,EACjB,MAAMkB,EACH,MAAMhB,GAAA,YAAAA,EACH,MAAM,UACP,QAAQ,aACR,UACA,MAAME,GACN,OAAOE,GACP,YAAc,GACnB,OAAAN,EAAa,EAAK,EAClBa,EAAiCM,GAAA,CAC/B,MAAMC,EAAYF,EAAO,OACvBG,GAAS,CAACF,EAAiB,QAAkBG,EAAU,KAAOD,EAAM,EAAE,CAAA,EAExE,MAAO,CAAC,GAAGF,EAAkB,GAAGC,CAAS,CAAA,CAC1C,EAEMF,QACAK,EAAK,CACJ,QAAA,MAAM,wBAAyBA,CAAG,EAC1CC,EACEC,EAAA,IAACC,EAAA,CACC,MAAOjC,EAAE,oCAAqC,uBAAuB,EACrE,MAAOA,EAAE,sCAAuC,YAAa,CAC3D,MAAO8B,CAAA,CACR,EACD,KAAQE,EAAAA,IAAAE,EAAA,SAAA,EAAA,CAAA,CACV,CAAA,EAEF3B,EAAa,EAAK,CACpB,CACA,MAAO,EACN,EAAA,CAACE,EAAIE,EAAOE,CAAM,CAAC,EAEhBsB,EAAkCX,EAAa,SAAY,CAC3D,GAAA,CAACf,EAAW,MAAA,GAEZ,GAAA,CAEK,OADQ,MAAMA,GAAA,YAAAA,EAAI,MAAM,UAAU,UAAY,QAE9CqB,EAAK,CACZC,EACEC,EAAA,IAACC,EAAA,CACC,MAAOjC,EAAE,oCAAqC,uBAAuB,EACrE,MAAOA,EAAE,sCAAuC,YAAa,CAC3D,MAAO8B,CAAA,CACR,EACD,KAAQE,EAAAA,IAAAE,EAAA,SAAA,EAAA,CAAA,CACV,CAAA,CAEJ,CACO,MAAA,EAAA,EACN,CAACzB,CAAE,CAAC,EAGP2B,EAAAA,UAAU,IAAM,EACQ,SAAY,CAEhC,GAAI3B,EACE,GAAA,CACF,MAAMA,EACH,MAAM,QAAQ,EACd,UACA,KAAegB,GAAA,CACd,MAAMY,EAAOZ,EAAO,OAAO,CAACa,EAAKV,IAAU,CACnC,MAAAW,EAAYX,EAAM,UAAU,MAAM,KACxC,OAAOU,EAAMC,EAAYC,GACxB,CAAC,EACJxB,EAAqBqB,CAAI,EACRnB,EAAAuB,EAAmBJ,CAAI,CAAC,CAAA,CAC1C,QACIP,EAAK,CACJ,QAAA,MAAM,yBAA0BA,CAAG,EAC3CC,EACEC,EAAA,IAACC,EAAA,CACC,MAAOjC,EAAE,oCAAqC,uBAAuB,EACrE,MAAOA,EAAE,sCAAuC,YAAa,CAC3D,MAAO8B,CAAA,CACR,EACD,KAAQE,EAAAA,IAAAE,EAAA,SAAA,EAAA,CAAA,CACV,CAAA,CAEJ,CACF,IAEY,EACb,CAACzB,EAAI0B,CAAW,CAAC,EAEd,MAAAO,EAAYC,cAAaf,GAAe,CACtC,MAAAW,EAAYX,EAAM,UAAU,MAAM,KACjC,OAAAa,EAAmBF,EAAYC,CAAQ,CAChD,EAAG,CAAE,CAAA,EAECI,EAAgBD,EAAA,YACpB,MAAOf,GAAsB,CAE3B,GADmBN,EAAA,CAACM,EAAM,EAAE,CAAC,EACzBnB,EACE,GAAA,CACI,MAAAA,EAAG,MAAM,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAOmB,EAAM,EAAE,EAAE,OAAO,QACtDE,EAAK,CACJ,QAAA,MAAM,wBAAyBA,CAAG,EAC1CC,EACEC,EAAA,IAACC,EAAA,CACC,MAAOjC,EAAE,qCAAsC,sBAAsB,EACrE,MAAOA,EAAE,sCAAuC,YAAa,CAC3D,MAAO8B,CAAA,CACR,EACD,KAAQE,EAAAA,IAAAE,EAAA,SAAA,EAAA,CAAA,CACV,CAAA,CAEJ,CAEiBZ,EAAA,CAAC,EAAE,CAAC,CACzB,EACA,CAACb,CAAE,CAAA,EAGL,cACGoC,EACC,CAAA,SAAA,CAAAb,MAACc,GAAM,MAAO,EAAI,SAAE9C,EAAA,2BAA4B,QAAQ,EAAE,QACzD+C,EAEG,CAAA,SAAA/C,EACE,kCACA,2LACA,CACE,cAAAiB,EACA,UAAW,GAAG+B,CAAe,GAAGC,CAAe,GAC/C,gBAAiB,KAAK,MACnBlC,EAAoBmC,EAAmBF,EAAiBC,CAAe,EAAK,GAC/E,EACA,eAAgBR,EACd,KAAK,IACHS,EAAmBF,EAAiBC,CAAe,EAAIlC,EACvD,CACF,CACF,CACF,CAAA,EAGN,EACCT,SAAc6C,EAAQ,EAAA,EACtB5B,GAAiBA,EAAc,OAAS,GAAK,CAACjB,GAC7C0B,EAAA,IAACoB,GAAA,CACC,MAAO,CAAE,SAAU,QAAS,EAC5B,WAAY7B,EAAc,OAC1B,KAAM,IAAM,CACAT,EAAAuC,GAAQA,EAAOlC,EAAU,MAAM,EAChCP,EAAAyC,GAAQA,EAAOvD,EAAS,CACnC,EACA,SAAUqC,GAAexB,GAASA,EAClC,aAASwC,EAAQ,EAAA,EAEjB,SAACnB,EAAA,IAAAsB,GAAA,CACE,SAAWnC,GAAA,YAAAA,EAAA,IAAKS,GAAsB,aAC/B,MAAA2B,IACJC,EAAA5B,GAAA,YAAAA,EAAO,YAAP,YAAA4B,EAAkB,QAAS,IAAI,gBAAgB,IAAI,KAAK,EAACC,EAAA7B,GAAA,YAAAA,EAAO,YAAP,YAAA6B,EAAkB,KAAK,CAAC,CAAC,EACpF,cACGZ,EAAsB,CAAA,MAAO,CAAE,SAAU,UACxC,EAAA,SAAA,CAAAb,EAAA,IAAC0B,GAAA,CACC,UAAW9B,GAAA,YAAAA,EAAO,UAElB,OAAO+B,EAAA/B,GAAA,YAAAA,EAAO,YAAP,YAAA+B,EAAkB,KACzB,aAAaC,EAAAhC,GAAA,YAAAA,EAAO,YAAP,YAAAgC,EAAkB,YAC/B,MAAAL,EACA,UAAW3B,GAAA,YAAAA,EAAO,UAClB,SAAUc,EAAUd,CAAK,CAAA,EALpBA,GAAA,YAAAA,EAAO,EAMd,EACCP,GAAmBA,EAAgB,SAASO,EAAM,EAAE,EACnDiC,EAAA,KAAChB,EAAA,CACC,MAAO,CACL,cAAe,MACf,WAAY,SACZ,SAAU,WACV,IAAK,MACL,MAAO,MACP,QAAS,WACT,aAAc,OACd,gBAAiB3C,EAAM,OAAO,YAAY,CAAC,EAC3C,IAAK,MACP,EAEA,SAAA,CAAA8B,EAAA,IAACe,EAAM,CAAA,SAAA/C,EAAE,kCAAmC,mBAAmB,EAAE,EACjEgC,EAAAA,IAACmB,EAAQ,CAAA,KAAK,MAAO,CAAA,CAAA,CAAA,CACvB,EAECU,OAAAC,EAAA,CAAY,MAAO,CAAE,SAAU,WAAY,IAAK,MAAO,MAAO,KAAA,EAC7D,SAAA,CAAA9B,EAAA,IAAC,IAAA,CACC,QAAS,IAAM,CACb5B,EAAS,eAAgB,CACvB,MAAO,CAAE,UAAWwB,GAAA,YAAAA,EAAO,SAAU,EACrC,QAAS,EAAA,CACV,CACH,EACA,MAAO,CAAE,OAAQ,UAAW,QAAS,OAAQ,WAAY,QAAS,EAEjE,SAAA5B,EAAE,kCAAmC,gBAAgB,CAAA,CACxD,EACAgC,EAAA,IAAC,IAAA,CACC,QAAS,IAAM,CACbY,EAAchB,CAAK,CACrB,EACA,MAAO,CAAE,OAAQ,UAAW,QAAS,OAAQ,WAAY,QAAS,EAEjE,SAAA5B,EAAE,gCAAiC,cAAc,CAAA,CACpD,CAAA,EACF,CAAA,GAhDQ4B,GAAA,YAAAA,EAAO,EAkDnB,CAEH,GACH,CAAA,CACF,CAEJ,CAAA,CAAA,CAEJ,EC1OMmC,GAAsB,IAAM,CAC1B,KAAA,CAAE,EAAA/D,GAAMC,IACR,CAAE,OAAA+D,EAAQ,QAAAC,CAAQ,EAAIC,EAAQ,EAC9BhE,EAAQC,IACRgE,EAAWC,EAAc,eAAelE,EAAM,YAAY,EAAE,GAAG,EAC/D,CAAE,GAAAO,GAAOC,IACT,CAAC2D,EAAiBC,CAAkB,EAAI9D,WAAkB,EAAK,EAC/D,CAAE,QAAA+D,EAAS,MAAAC,EAAO,eAAAC,EAAgB,qBAAAC,CAAA,EAAyBC,KAG3DC,EAAuBjC,EAAA,YAC3B,SACGlC,GACCuD,IAAW,aACXC,GACAxD,EAAG,OAAO,KAAKoE,GAASA,EAAM,KAAK,SAAS,QAAQ,CAAC,GACvD,GACF,CAACpE,EAAIuD,EAAQC,CAAO,CAAA,EAGtB7B,OAAAA,EAAAA,UAAU,IAAM,CACOwC,EAAA,EAAE,KAAKN,CAAkB,CAAA,EAC7C,CAACM,CAAoB,CAAC,SAGtBE,GACC,CAAA,SAAA,CAAAjB,OAACkB,EACC,CAAA,SAAA,CAAAlB,OAAChB,GAAM,MAAO,CAAE,IAAK,OAAQ,UAAW,MACtC,EAAA,SAAA,CAACb,EAAAA,IAAAc,EAAA,CAAM,MAAOqB,EAAW,EAAI,EAC1B,SAAEnE,EAAA,0BAA2B,+BAA+B,CAC/D,CAAA,SACC6C,EAAM,CAAA,MAAO,CAAE,IAAK,KACnB,EAAA,SAAA,CAAAb,MAACe,EACE,CAAA,SAAA/C,EACC,8BACA,kJAAA,EAEJ,QACC+C,EACE,CAAA,SAAA/C,EACC,8BACA,qEAAA,EAEJ,CAAA,EACF,QACCgF,EAAQ,EAAA,CAAA,EACX,EACAnB,OAAChB,GAAM,MAAO,CAAE,OAAQ,SAAU,UAAW,MAC3C,EAAA,SAAA,CAAAb,MAACc,GAAM,MAAO,EAAI,SAAE9C,EAAA,8BAA+B,WAAW,EAAE,QAC/D+C,EACE,CAAA,SAAA/C,EACC,qCACA,4GAAA,EAEJ,EACCwE,SAAUS,EAAa,CAAA,QAAST,EAAM,QAAS,QAASA,EAAM,QAAS,EACvE,CAACA,GAAS,CAACD,GAAWE,GACpBzC,EAAAA,IAAAa,EAAA,CAAM,MAAO,CAAE,WAAY,QAC1B,EAAA,SAAAb,EAAA,IAACkD,EAAA,CAEC,UAAU,MACV,0BAAsBC,GAAoB,EAAA,EAC1C,sBAAkBC,GAAqB,EAAA,EAEtC,SAAA,OAAO,QAAQX,CAAc,EAC3B,OAAO,CAAC,CAAA,CAAGY,CAAK,IAAMA,EAAM,QAAUA,EAAM,YAAY,EACxD,IAAI,CAAC,CAACC,EAAKD,CAAK,IAAM,CACf,MAAAE,EAAWb,EAAqBY,EAAKD,CAAK,EAC5C,OAAAE,GAAYA,EAAS,OAAS,EACxBvD,EAAAA,IAAAkD,EAAS,MAAT,CAA0B,YAANI,CAAe,EAEtC,IACR,CAAA,EACA,OAAOC,GAAYA,IAAa,IAAI,CAAA,EAdnC,kBAAA,EAgBR,EAED,CAACf,GAASD,GACTvC,EAAA,IAACwD,EAAA,CACC,MAAO,CACL,QAAS,OACT,eAAgB,SAChB,WAAY,SACZ,OAAQ,QACR,MAAO,OACT,EAEA,eAACrC,EAAQ,EAAA,CAAA,CACX,CAAA,EAEJ,EACCkB,SAAoBtE,GAAO,EAAA,CAAA,EAC9B,EACAiC,EAAAA,IAACyD,GAAW,CAAA,GAAG,QAAS,CAAA,CAC1B,CAAA,CAAA,CAEJ,EACA1B,GAAU,YAAc"}