{
  "version": 3,
  "sources": ["../../src/modules/boundwitness-plugin/components/_shared/Actions/BWActions.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Actions/previous-hash/DialogContent.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Actions/previous-hash/MenuItem.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Actions/_shared/MenuItemDialog.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Actions/previous-hash/QuickTipButton.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Actions/Verification.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Actions/json/MenuItem.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Heading/HashHeadingPaper/HashHeadingPaper.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Heading/HeadingPaper/HeadingPaper.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Heading/Heading.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Payloads/payloads-table/TableBody.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Payloads/payloads-table/TableBodyFiltered.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Payloads/payloads-table/TableHead.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Payloads/PayloadsPropertyGroup.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Payloads/PayloadsTable.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Signatures/SignatureDetails.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Signatures/SignatureTable.tsx", "../../src/modules/boundwitness-plugin/components/_shared/Signatures/SignatureTableRow.tsx", "../../src/modules/boundwitness-plugin/components/Card/Card.tsx", "../../src/modules/boundwitness-plugin/components/Card/CardContent/AddressAvatarGroup.tsx", "../../src/modules/boundwitness-plugin/components/Card/CardContent/layout/CardColumnsFlex.tsx", "../../src/modules/boundwitness-plugin/components/Card/CardContent/layout/CardColumnTitle.tsx", "../../src/modules/boundwitness-plugin/components/Card/CardContent/layout/CardContentFlex.tsx", "../../src/modules/boundwitness-plugin/components/Card/CardContent/SchemaAvatarGroup.tsx", "../../src/modules/boundwitness-plugin/components/Card/CardContent/CardContent.tsx", "../../src/modules/boundwitness-plugin/components/Card/CardHeader/CardHeader.tsx", "../../src/modules/boundwitness-plugin/components/Details/Box/DetailsBox.tsx", "../../src/modules/boundwitness-plugin/components/Details/Card/DetailsCard.tsx", "../../src/modules/boundwitness-plugin/components/Details/Card/DetailsCardInner.tsx", "../../src/modules/boundwitness-plugin/components/Details/Card/DetailsCardContent.tsx", "../../src/modules/boundwitness-plugin/components/Details/Card/Navigation/BottomNavigation.tsx", "../../src/modules/boundwitness-plugin/components/Details/Card/Navigation/NavigationTabs.tsx", "../../src/modules/boundwitness-plugin/components/Details/Details.tsx", "../../src/modules/boundwitness-plugin/components/Details/ValidationDetails.tsx", "../../src/modules/boundwitness-plugin/Plugin.ts"],
  "sourcesContent": ["import { ellipsize } from '@ariestools/eth-address'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { QuickTipButton } from '@ariestools/sdk-react/quick-tip-button'\nimport { DataObject as DataObjectIcon } from '@mui/icons-material'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { usePayloadHash } from '#shared'\n\nimport { BWPreviousHashQuickTipButton } from './previous-hash/index.ts'\nimport { BWVerification } from './Verification.tsx'\n\n/** Props for {@link BWActions}. */\nexport interface BWActionsProps extends FlexBoxProps {\n  additionalActions?: ReactNode\n  boundwitness?: BoundWitness\n  hideJSONButton?: boolean\n  hidePreviousHash?: boolean\n  hideValidation?: boolean\n  priorActions?: ReactNode\n  validationIconColors?: boolean\n}\n\n/** Action toolbar for bound witness JSON, previous hash, and validation controls. */\nexport const BWActions: React.FC<BWActionsProps> = ({\n  additionalActions,\n  boundwitness,\n  hideJSONButton,\n  hideValidation,\n  hidePreviousHash,\n  priorActions,\n  validationIconColors,\n  ...props\n}) => {\n  const hash = usePayloadHash(boundwitness)\n\n  return (\n    <FlexRow {...props}>\n      {priorActions}\n      {hidePreviousHash || boundwitness?.previous_hashes.length === 0 ? null : <BWPreviousHashQuickTipButton boundwitness={boundwitness} />}\n      {hideValidation ? null : <BWVerification iconColors={validationIconColors} boundwitness={boundwitness} />}\n      {hideJSONButton\n        ? null\n        : (\n            <QuickTipButton\n              Icon={DataObjectIcon}\n              title={`JSON for ${ellipsize(hash ?? '', 8)}`}\n              dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n            >\n              <pre style={{ wordBreak: 'break-all' }}>{boundwitness ? JSON.stringify(boundwitness, null, 2) : null}</pre>\n            </QuickTipButton>\n          )}\n      {additionalActions}\n    </FlexRow>\n  )\n}\n", "import { FlexGrowRow, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { ContentCopy } from '@mui/icons-material'\nimport type { DialogContentProps } from '@mui/material'\nimport {\n  Alert, AlertTitle, Collapse,\n  DialogContent,\n} from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport React, { useState } from 'react'\n\nimport { EllipsizeBox } from '#shared'\n\n/** Props for {@link PreviousHashDialogContent}. */\nexport interface PreviousHashDialogProps extends DialogContentProps {\n  boundwitness?: BoundWitness\n}\n\n/** Dialog content showing previous hashes with copy-to-clipboard support. */\nexport const PreviousHashDialogContent: React.FC<PreviousHashDialogProps> = ({ boundwitness, ...props }) => {\n  const [copied, setCopied] = useState(false)\n\n  const onCopy = async () => {\n    await navigator.clipboard.writeText(boundwitness?.previous_hashes[0] ?? '')\n    setCopied(true)\n    setTimeout(() => {\n      setCopied(false)\n    }, 5000)\n  }\n\n  return (\n    <DialogContent {...props}>\n      <FlexGrowRow sx={{ columnGap: 2 }}>\n        <ContentCopy sx={{ cursor: 'pointer' }} onClick={() => void onCopy()} />\n        <EllipsizeBox\n          typographyProps={{ variant: 'body1' }}\n          sx={{ flexGrow: '1' }}\n        >\n          {boundwitness?.previous_hashes.join(',')}\n        </EllipsizeBox>\n      </FlexGrowRow>\n      <FlexRow>\n        <Collapse in={copied} unmountOnExit>\n          <Alert>\n            <AlertTitle>Previous hash copied to clipboard</AlertTitle>\n          </Alert>\n        </Collapse>\n      </FlexRow>\n    </DialogContent>\n  )\n}\n", "import { Link } from '@mui/icons-material'\nimport { ListItemIcon, MenuItem } from '@mui/material'\nimport type { MouseEventHandler } from 'react'\nimport React, { useState } from 'react'\n\nimport type { ActionMenuItemProps } from '../_shared/index.ts'\nimport { MenuItemDialog } from '../_shared/index.ts'\nimport { PreviousHashDialogContent } from './DialogContent.tsx'\n\n/** Props for {@link BWPreviousHashMenuItem}. */\nexport interface BWPreviousHashMenuItemProps extends ActionMenuItemProps {}\n\n/** Menu item that opens a dialog of the bound witness previous hashes. */\nexport const BWPreviousHashMenuItem: React.FC<BWPreviousHashMenuItemProps> = ({\n  boundwitness, onClick, onDialogClose, ...props\n}) => {\n  const [open, setOpen] = useState(false)\n  const onClose = () => {\n    onDialogClose?.()\n    setOpen(false)\n  }\n\n  const handleMenuClick: MouseEventHandler<HTMLLIElement> = (e) => {\n    onClick?.(e)\n    setOpen(true)\n  }\n\n  return (\n    <>\n      <MenuItem onClick={handleMenuClick} {...props}>\n        <ListItemIcon><Link /></ListItemIcon>\n        Previous Hash\n      </MenuItem>\n      <MenuItemDialog open={open} onClose={onClose} dialogTitle=\"Previous Hash\">\n        <PreviousHashDialogContent boundwitness={boundwitness} />\n      </MenuItemDialog>\n    </>\n  )\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n  Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport React from 'react'\n\n/** Props for {@link MenuItemDialog}. */\nexport interface MenuItemDialogProps extends DialogProps {\n  dialogTitle?: string\n}\n\n/** Dialog opened from a bound witness action menu item. */\nexport const MenuItemDialog: React.FC<MenuItemDialogProps> = ({\n  children, dialogTitle, open, onClose, ...props\n}) => {\n  return (\n    <Dialog open={open} onClose={onClose} sx={{ '& .MuiPaper-root': { minWidth: '75%' } }} {...props}>\n      <DialogTitle>{dialogTitle}</DialogTitle>\n      <DialogContent>\n        {children}\n      </DialogContent>\n      <DialogActions sx={{\n        display: 'flex', flexDirection: 'row', justifyContent: 'end',\n      }}\n      >\n        <Button variant=\"contained\" onClick={e => onClose?.(e, 'escapeKeyDown')}>Close</Button>\n      </DialogActions>\n    </Dialog>\n  )\n}\n", "import { ellipsize } from '@ariestools/eth-address'\nimport type { QuickTipButtonProps } from '@ariestools/sdk-react/quick-tip-button'\nimport { QuickTipButton } from '@ariestools/sdk-react/quick-tip-button'\nimport { LinkRounded as LinkRoundedIcon } from '@mui/icons-material'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { PreviousHashDialogContent } from './DialogContent.tsx'\n\n/** Props for {@link BWPreviousHashQuickTipButton}. */\nexport interface BWPreviousHashQuickTipButtonProps extends QuickTipButtonProps {\n  boundwitness?: BoundWitness\n}\n\n/** Quick tip button showing the previous hash of a bound witness. */\nexport const BWPreviousHashQuickTipButton: React.FC<BWPreviousHashQuickTipButtonProps> = ({ boundwitness, ...props }) => {\n  const previousHash = boundwitness?.previous_hashes[0] ?? null\n  const formattedPreviousHash = previousHash === null ? 'No Previous Hash' : `Previous Hash - ${ellipsize(previousHash, 8)}`\n\n  return (\n    <QuickTipButton\n      Icon={LinkRoundedIcon}\n      disabled={previousHash === null}\n      hoverText={formattedPreviousHash}\n      disableDialog={previousHash === null}\n      dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n      {...props}\n    >\n      {previousHash === null\n        ? null\n        : <PreviousHashDialogContent boundwitness={boundwitness} />}\n    </QuickTipButton>\n  )\n}\n", "import { ErrorQuickTipButton } from '@ariestools/sdk-react/error'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { QuickTipButtonProps } from '@ariestools/sdk-react/quick-tip-button'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport { BoundWitnessValidator } from '@xyo-network/sdk'\nimport React from 'react'\n/** Props for {@link BWVerification}. */\nexport interface BWVerification extends QuickTipButtonProps {\n  boundwitness?: BoundWitness\n  iconColors?: boolean\n}\n\n/** Quick tip button that validates a bound witness and surfaces errors. */\nexport const BWVerification: React.FC<BWVerification> = ({ boundwitness, iconColors }) => {\n  const [errors = [], validateError] = usePromise(async () =>\n    await (boundwitness ? new BoundWitnessValidator(boundwitness) : undefined)?.validate(), [boundwitness])\n\n  return <ErrorQuickTipButton errors={errors} iconColors={iconColors} validateError={validateError} />\n}\n", "import { ellipsize } from '@ariestools/eth-address'\nimport { Code } from '@mui/icons-material'\nimport { ListItemIcon, MenuItem } from '@mui/material'\nimport type { MouseEventHandler } from 'react'\nimport React, { useState } from 'react'\n\nimport { JsonViewerEx } from '#payload-raw-info'\nimport { usePayloadHash } from '#shared'\n\nimport type { ActionMenuItemProps } from '../_shared/index.ts'\nimport { MenuItemDialog } from '../_shared/index.ts'\n\n/** Props for {@link BWJsonMenuItem}. */\nexport interface BWJsonMenuItemProps extends ActionMenuItemProps {}\n\n/** Menu item that opens a JSON viewer dialog for a bound witness. */\nexport const BWJsonMenuItem: React.FC<BWJsonMenuItemProps> = ({\n  boundwitness, onClick, onDialogClose, ...props\n}) => {\n  const hash = usePayloadHash(boundwitness)\n\n  const [open, setOpen] = useState(false)\n  const onClose = () => {\n    onDialogClose?.()\n    setOpen(false)\n  }\n\n  const handleMenuClick: MouseEventHandler<HTMLLIElement> = (e) => {\n    onClick?.(e)\n    setOpen(true)\n  }\n\n  const title = hash ? `JSON for ${ellipsize(hash, 5)}` : 'JSON'\n\n  return (\n    <>\n      <MenuItem onClick={handleMenuClick} {...props}>\n        <ListItemIcon><Code /></ListItemIcon>\n        JSON\n      </MenuItem>\n      <MenuItemDialog open={open} onClose={onClose} dialogTitle={title}>\n        <JsonViewerEx value={boundwitness} />\n      </MenuItemDialog>\n    </>\n  )\n}\n", "import type { IdenticonProps } from '@ariestools/sdk-react/identicon'\nimport { Identicon } from '@ariestools/sdk-react/identicon'\nimport { useTheme } from '@mui/material'\nimport React from 'react'\n\nimport type { HeadingPaperProps } from '../HeadingPaper/index.ts'\nimport { HeadingPaper } from '../HeadingPaper/index.ts'\n\n/** Props for {@link HashHeadingPaper}. */\nexport interface HashHeadingPaperProps extends HeadingPaperProps {\n  hash?: string\n  identiconProps?: IdenticonProps\n}\n\n/** Heading paper that displays a hash with an identicon. */\nconst HashHeadingPaper = ({\n  ref, hash, identiconProps, ...props\n}: HashHeadingPaperProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  const theme = useTheme()\n\n  return (\n    <HeadingPaper\n      heading={hash}\n      fallbackText=\"No hash provided\"\n      ref={ref}\n      IconComponent={\n        hash\n          ? (\n              <Identicon\n                size={Number.parseInt(theme.spacing(3).replace('px', ''))}\n                value={hash}\n                {...identiconProps}\n                sx={[{\n                  p: 0.25,\n                  background: theme.vars.palette.background.paper,\n                }, ...(Array.isArray(identiconProps?.sx) ? identiconProps.sx : [identiconProps?.sx])]}\n              />\n            )\n          : null\n      }\n      sx={{ columnGap: 1 }}\n      {...props}\n    />\n  )\n}\n\nHashHeadingPaper.displayName = 'HashHeadingPaper'\n\nexport { HashHeadingPaper }\n", "import type { PaperProps } from '@mui/material'\nimport { Paper, styled } from '@mui/material'\nimport React from 'react'\n\nimport { HeadingFlexbox } from '../Heading.tsx'\nimport type { HeadingFlexboxProps } from '../HeadingProps.tsx'\n\n/** Props for {@link HeadingPaper}. */\nexport interface HeadingPaperProps extends HeadingFlexboxProps {\n  paperProps?: PaperProps\n}\n\n/** Paper-wrapped heading with optional start and end adornments. */\nexport const HeadingPaper = ({ ref, ...props }: HeadingPaperProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  const {\n    AdornmentStart, AdornmentEnd, paperProps,\n  } = props\n\n  const { paperProps: excludedPaperProps, ...bwHeadingProps } = props\n  return (\n    <StyledHeadingPaper hasAdornmentStart={!!AdornmentStart} hasAdornmentEnd={!!AdornmentEnd} elevation={4} ref={ref} {...paperProps}>\n      <HeadingFlexbox {...bwHeadingProps} />\n    </StyledHeadingPaper>\n  )\n}\n\ninterface StyledHeadingPaperProps extends PaperProps {\n  hasAdornmentEnd?: boolean\n  hasAdornmentStart?: boolean\n}\n\nconst StyledHeadingPaper = styled(Paper, {\n  name: 'StyledHeadingPaper',\n  shouldForwardProp: prop => !['hasAdornmentEnd', 'hasAdornmentStart', 'paperProps'].includes(prop as string),\n})<StyledHeadingPaperProps>(({\n  hasAdornmentEnd, hasAdornmentStart, theme,\n}) => ({\n  alignItems: 'center',\n  columnGap: theme.spacing(2),\n  display: 'flex',\n  flexDirection: 'row',\n  overflow: 'hidden',\n  padding: theme.spacing(1.5),\n  ...(hasAdornmentStart && { paddingLeft: 0 }),\n  ...(hasAdornmentEnd && { paddingRight: 0 }),\n  ...((hasAdornmentStart || hasAdornmentEnd) && { paddingBottom: 0, paddingTop: 0 }),\n  paddingRight: theme.spacing(1),\n}))\n", "import { FlexGrowRow } from '@ariestools/sdk-react/flexbox'\nimport type { TypographyVariant } from '@mui/material'\nimport React, { useRef } from 'react'\n\nimport { EllipsizeBox } from '#shared'\n\nimport type { HeadingFlexboxProps, HeadingTextSizes } from './HeadingProps.tsx'\n\n/** Flex heading row with optional start/end adornments and ellipsized text. */\nexport const HeadingFlexbox: React.FC<HeadingFlexboxProps> = ({\n  AdornmentEnd,\n  AdornmentStart,\n  heading,\n  headingProps,\n  IconComponent,\n  size = 'medium',\n  fallbackText = 'No heading Provided',\n  ...props\n}) => {\n  const ellipsizeRef = useRef<HTMLDivElement | null>(null)\n  const headingText = heading ?? fallbackText\n\n  const sizeParser = (size: HeadingTextSizes) => {\n    const map: Record<HeadingTextSizes, TypographyVariant> = {\n      large: 'h4',\n      medium: 'body1',\n      small: 'caption',\n    }\n    const mappedSize = map[size]\n    if (mappedSize === undefined) {\n      throw new Error(`${size} is not a recognized TextSize`)\n    }\n    return mappedSize\n  }\n\n  return (\n    <FlexGrowRow\n      {...props}\n      sx={[{ columnGap: 2 }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      {AdornmentStart}\n      {IconComponent}\n      <EllipsizeBox\n        title={headingText}\n        typographyProps={{ variant: sizeParser(size), ...headingProps }}\n        ref={ellipsizeRef}\n        sx={{ width: '100%' }}\n      >\n        {headingText}\n      </EllipsizeBox>\n      {AdornmentEnd}\n    </FlexGrowRow>\n  )\n}\n\n/**\n * Alias of {@link HeadingFlexbox}.\n * @deprecated - use HeadingFlexbox instead\n */\nexport const BWHeading = HeadingFlexbox\n", "import {\n  Link,\n  TableBody, TableCell, TableRow,\n} from '@mui/material'\nimport type { RefObject } from 'react'\nimport React, { useLayoutEffect, useMemo } from 'react'\n\nimport type {\n  EventDispatch, EventNoun, ExtendEventNoun,\n} from '#event'\nimport { useEvent } from '#event'\nimport type { PayloadTableBodyProps } from '#payload-table'\nimport { TableRowNoData } from '#payload-table'\nimport { HashTableCell } from '#shared'\nimport { useTableHeight } from '#table'\n\nimport type { BoundWitnessPayloadTableColumn } from './types.ts'\n\n/** Payload table fields that can dispatch click events. */\nexport type ClickableFields = 'hash' | 'schema'\n\n/** Props for {@link BoundWitnessPayloadTableBody}. */\nexport interface BoundWitnessPayloadTableBodyProps<TNoun extends ExtendEventNoun<string> = EventNoun> extends PayloadTableBodyProps {\n  additionalColumns?: BoundWitnessPayloadTableColumn[]\n  clickableFields?: ClickableFields[]\n  eventNoun?: TNoun\n  payloadHashes?: string[]\n  payloadSchemas?: string[]\n}\n\ninterface RenderedCellProps<TNoun extends ExtendEventNoun<string> = EventNoun> {\n  clickableFields?: ClickableFields[]\n  dispatch: EventDispatch<TNoun>\n  eventNounOverride?: TNoun\n  field: ClickableFields\n  value: string\n}\n\nfunction RenderedCell<TNoun extends ExtendEventNoun<string> = EventNoun>({\n  clickableFields, dispatch, eventNounOverride, field, value,\n}: RenderedCellProps<TNoun>) {\n  return clickableFields?.includes(field)\n    ? (\n        <Link\n          sx={{ cursor: 'pointer' }}\n          onClick={(e) => {\n            dispatch(eventNounOverride ?? field as TNoun, 'click', value, e.nativeEvent)\n          }}\n        >\n          {value}\n        </Link>\n      )\n    : value\n}\n\n/** Table body rendering schema/hash rows for bound witness payloads. */\nexport const BoundWitnessPayloadTableBody = <\n  TNoun extends ExtendEventNoun<string> = EventNoun,\n>({\n  additionalColumns,\n  clickableFields,\n  eventNoun: eventNounOverride,\n  payloadHashes,\n  payloadSchemas,\n  ref,\n  ...props\n}: BoundWitnessPayloadTableBodyProps<TNoun>) => {\n  const {\n    // payloads, archive, maxSchemaDepth, onRowClick, exploreDomain, emptyRows,\n    noResults, NoResultRowComponent, ...tableProps\n  } = props\n\n  const { setRowHeight } = useTableHeight()\n  const [tableRowRef, dispatch] = useEvent<HTMLTableRowElement, TNoun>(undefined, ref as RefObject<HTMLTableRowElement | null> | undefined)\n\n  // create an array of objects with hash and id for rendering, to avoid using index as key directly\n  const hashes = useMemo(() => payloadHashes?.map((hash, index) => ({ hash, id: `${hash}-${index}` })), [payloadHashes])\n\n  useLayoutEffect(() => {\n    if (tableRowRef.current) {\n      setRowHeight?.(tableRowRef.current.offsetHeight)\n    }\n  })\n\n  return (\n    <TableBody {...tableProps}>\n      {noResults && NoResultRowComponent\n        ? <NoResultRowComponent />\n        : null}\n      {payloadHashes && payloadSchemas && payloadHashes.length > 0\n        ? hashes?.map(({ hash, id }, index) => {\n            return (\n              <TableRow ref={tableRowRef} key={id}>\n                <TableCell title={hash}>\n                  <RenderedCell<TNoun>\n                    clickableFields={clickableFields}\n                    dispatch={dispatch}\n                    eventNounOverride={eventNounOverride}\n                    field=\"schema\"\n                    value={payloadSchemas[index]}\n                  />\n                </TableCell>\n                <HashTableCell title={hash} value={hash}>\n                  <RenderedCell<TNoun>\n                    clickableFields={clickableFields}\n                    dispatch={dispatch}\n                    eventNounOverride={eventNounOverride}\n                    field=\"hash\"\n                    value={hash}\n                  />\n                </HashTableCell>\n                {additionalColumns?.map(column => (\n                  <TableCell key={column.key} {...column.cellProps}>\n                    {column.renderCell({\n                      hash, index, schema: payloadSchemas[index],\n                    })}\n                  </TableCell>\n                ))}\n              </TableRow>\n            )\n          })\n        : (\n            <TableRowNoData additionalCells={1 + (additionalColumns?.length ?? 0)} />\n          )}\n    </TableBody>\n  )\n}\n", "import React, { useMemo } from 'react'\n\nimport type { BoundWitnessPayloadTableBodyProps } from './TableBody.tsx'\nimport { BoundWitnessPayloadTableBody } from './TableBody.tsx'\n\n/** Props for {@link BoundWitnessFilteredPayloadTableBody}. */\nexport interface BoundWitnessFilteredPayloadTableBodyProps extends BoundWitnessPayloadTableBodyProps {\n  bwFilterType?: 'equal' | 'notEqual'\n  schemaFilter?: string\n}\n\n/** Payload table body filtered by schema equality or inequality. */\nexport const BoundWitnessFilteredPayloadTableBody: React.FC<BoundWitnessFilteredPayloadTableBodyProps> = ({\n  additionalColumns,\n  bwFilterType = 'equal',\n  clickableFields,\n  eventNoun,\n  payloadHashes,\n  payloadSchemas,\n  schemaFilter,\n  ...props\n}) => {\n  const bwPayloadSchemas = useMemo(() => {\n    if (!schemaFilter) return payloadSchemas\n    return payloadSchemas?.filter(schema =>\n      bwFilterType === 'equal' ? schema === schemaFilter : schema !== schemaFilter)\n  }, [bwFilterType, payloadSchemas, schemaFilter])\n\n  const bwPayloadHashes = useMemo(() => {\n    if (!schemaFilter) return payloadHashes\n    if (!payloadHashes || !payloadSchemas) return\n\n    return payloadSchemas.reduce<string[]>((acc, schema, index) => {\n      if (bwFilterType === 'equal' ? schema === schemaFilter : schema !== schemaFilter) {\n        acc.push(payloadHashes[index])\n      }\n      return acc\n    }, [])\n  }, [bwFilterType, payloadHashes, payloadSchemas, schemaFilter])\n\n  return (\n    <BoundWitnessPayloadTableBody\n      additionalColumns={additionalColumns}\n      payloadHashes={bwPayloadHashes}\n      payloadSchemas={bwPayloadSchemas}\n      clickableFields={clickableFields}\n      eventNoun={eventNoun}\n      {...props}\n    />\n  )\n}\n", "import {\n  styled, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { PayloadTableHeadProps } from '#payload-table'\nimport { TableCellEx } from '#table'\n\nimport type { BoundWitnessPayloadTableColumn } from './types.ts'\n\n/** Props for {@link BoundWitnessPayloadTableHead}. */\nexport interface BoundWitnessPayloadTableHeadProps extends PayloadTableHeadProps {\n  additionalColumns?: BoundWitnessPayloadTableColumn[]\n}\n\n/** Table head for schema, hash, and optional additional payload columns. */\nexport const BoundWitnessPayloadTableHead: React.FC<BoundWitnessPayloadTableHeadProps> = (props) => {\n  const {\n    additionalColumns, columns, ...tableHeadProps\n  } = props\n  return (\n    <TableHead {...tableHeadProps}>\n      <TableRow>\n        <TableCellEx>\n          <TableCellTypography variant=\"caption\">Schema</TableCellTypography>\n        </TableCellEx>\n        <TableCellEx>\n          <TableCellTypography variant=\"caption\">Hash</TableCellTypography>\n        </TableCellEx>\n        {additionalColumns?.map(column => (\n          <TableCellEx key={column.key} {...column.headerCellProps}>\n            <TableCellTypography variant=\"caption\">{column.header ?? column.key}</TableCellTypography>\n          </TableCellEx>\n        ))}\n      </TableRow>\n    </TableHead>\n  )\n}\n\nconst TableCellTypography = styled(Typography, { name: 'TableCellTypography' })(() => ({ fontWeight: 'bold' }))\n", "import type { BoundWitness } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { PayloadTableProps } from '#payload-table'\nimport type { PropertyGroupProps } from '#property'\nimport { PropertyGroup } from '#property'\n\nimport type { ClickableFields } from './payloads-table/index.ts'\nimport { BoundWitnessPayloadsTable } from './PayloadsTable.tsx'\n\n/** Props for {@link BoundWitnessPayloads}. */\nexport type BoundWitnessPayloadsProps = PropertyGroupProps & {\n  payload?: BoundWitness\n  payloadTableProps?: PayloadTableProps & { clickableFields?: ClickableFields[] }\n}\n\n/** Property group listing payload hashes and schemas for a bound witness. */\nexport const BoundWitnessPayloads: React.FC<BoundWitnessPayloadsProps> = ({\n  payload: boundwitness, payloadTableProps, ...props\n}) => {\n  let elevation = 2\n  if (props.paper) {\n    elevation += props.elevation ?? 0\n  }\n  return (\n    <PropertyGroup titleProps={{ elevation }} title=\"Payloads\" tip=\"The hash and schema for each payload witnessed\" {...props}>\n      <BoundWitnessPayloadsTable boundwitness={boundwitness} {...payloadTableProps} />\n    </PropertyGroup>\n  )\n}\n", "import type { BoundWitness } from '@xyo-network/sdk'\nimport { BoundWitnessSchema } from '@xyo-network/sdk'\nimport type { PropsWithChildren } from 'react'\nimport React from 'react'\n\nimport type { ExtendEventNoun } from '#event'\nimport type { PayloadTableProps } from '#payload-table'\nimport { TableEx } from '#table'\n\nimport type { BoundWitnessPayloadTableColumn, ClickableFields } from './payloads-table/index.ts'\nimport { BoundWitnessFilteredPayloadTableBody, BoundWitnessPayloadTableHead } from './payloads-table/index.ts'\n\n/** Props for bound witness payload tables. */\nexport interface BoundWitnessPayloadTableProps extends PayloadTableProps {\n  additionalColumns?: BoundWitnessPayloadTableColumn[]\n  boundwitness?: BoundWitness\n  clickableFields?: ClickableFields[]\n  eventNoun?: ExtendEventNoun\n}\n\n/** Table of non-bound-witness payload hashes and schemas. */\nexport const BoundWitnessPayloadsTable: React.FC<BoundWitnessPayloadTableProps> = ({\n  additionalColumns, boundwitness, clickableFields, eventNoun = 'payload', ...props\n}) => {\n  return (\n    <BoundWitnessPayloadsTableInner additionalColumns={additionalColumns} {...props}>\n      <BoundWitnessFilteredPayloadTableBody\n        additionalColumns={additionalColumns}\n        clickableFields={clickableFields}\n        eventNoun={eventNoun}\n        schemaFilter={BoundWitnessSchema}\n        bwFilterType=\"notEqual\"\n        noResults={boundwitness?.payload_hashes.length === 0}\n        payloadHashes={boundwitness?.payload_hashes}\n        payloadSchemas={boundwitness?.payload_schemas}\n      />\n    </BoundWitnessPayloadsTableInner>\n  )\n}\n\n/** Table of nested bound witness payload hashes and schemas. */\nexport const BoundWitnessPayloadsTableForBWs: React.FC<BoundWitnessPayloadTableProps> = ({\n  additionalColumns, boundwitness, clickableFields, eventNoun = 'boundwitness', ...props\n}) => {\n  return (\n    <BoundWitnessPayloadsTableInner additionalColumns={additionalColumns} {...props}>\n      <BoundWitnessFilteredPayloadTableBody\n        additionalColumns={additionalColumns}\n        clickableFields={clickableFields}\n        eventNoun={eventNoun}\n        schemaFilter={BoundWitnessSchema}\n        noResults={boundwitness?.payload_hashes.length === 0}\n        payloadHashes={boundwitness?.payload_hashes}\n        payloadSchemas={boundwitness?.payload_schemas}\n      />\n    </BoundWitnessPayloadsTableInner>\n  )\n}\n\n/** Shared table shell with payload table head for bound witness payload tables. */\nexport const BoundWitnessPayloadsTableInner: React.FC<PropsWithChildren<BoundWitnessPayloadTableProps>> = ({\n  additionalColumns, children, ...props\n}) => (\n  <TableEx {...props}>\n    <BoundWitnessPayloadTableHead additionalColumns={additionalColumns} />\n    {children}\n  </TableEx>\n)\n", "import type { BoundWitness, Signed } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { PropertyGroupProps } from '#property'\nimport { PropertyGroup } from '#property'\n\nimport { BoundWitnessSignatureTable } from './SignatureTable.tsx'\n\n/** Props for {@link BoundWitnessSignatureDetails}. */\nexport type BoundWitnessSignatureDetailsProps = PropertyGroupProps & {\n  block?: Signed<BoundWitness>\n}\n\n/** Property group listing signatures for a bound witness block. */\nexport const BoundWitnessSignatureDetails: React.FC<BoundWitnessSignatureDetailsProps> = ({ block, ...props }) => {\n  let elevation = 2\n  if (props.paper) {\n    elevation += props.elevation ?? 0\n  }\n  return (\n    <PropertyGroup titleProps={{ elevation }} title=\"Signatures\" tip=\"The list of signatures for this block\" {...props}>\n      <BoundWitnessSignatureTable block={block} />\n    </PropertyGroup>\n  )\n}\n", "import {\n  TableBody, TableHead, TableRow, Typography,\n} from '@mui/material'\nimport type { BoundWitness, Signed } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { TableRowNoData } from '#payload-table'\nimport { usePayloadDataHash } from '#shared'\nimport type { TableExProps } from '#table'\nimport { TableCellEx, TableEx } from '#table'\n\nimport { BoundWitnessSignatureTableRow } from './SignatureTableRow.tsx'\n\n/** Props for {@link BoundWitnessSignatureTable}. */\nexport interface BoundWitnessSignatureTableProps extends TableExProps {\n  block?: Signed<BoundWitness>\n}\n\ninterface SignatureData {\n  address: string\n  previous_hash: string | null\n  signature?: string\n}\n\nconst signatureDataFromBoundWitness = (boundWitness: Signed<BoundWitness>) => {\n  const result: SignatureData[] = []\n  for (let i = 0; i < boundWitness.addresses.length; i++) {\n    result.push({\n      address: boundWitness.addresses[i],\n      previous_hash: boundWitness.previous_hashes?.[i],\n      signature: boundWitness.$signatures?.[i] ?? [],\n    })\n  }\n  return result\n}\n\n/** Table of signer addresses, previous hashes, signatures, and validity. */\nexport const BoundWitnessSignatureTable: React.FC<BoundWitnessSignatureTableProps> = ({ block, ...props }) => {\n  const signatureData = block ? signatureDataFromBoundWitness(block) : []\n  const dataHash = usePayloadDataHash(block)\n\n  return (\n    <TableEx {...props}>\n      <TableHead>\n        <TableRow>\n          <TableCellEx align=\"left\">\n            <Typography variant=\"caption\">\n              <strong>Address</strong>\n            </Typography>\n          </TableCellEx>\n          <TableCellEx\n            sx={{ display: { md: 'table-cell', xs: 'none' } }}\n            align=\"center\"\n            width=\"10px\"\n          >\n            <Typography variant=\"caption\">\n              <strong>Previous</strong>\n            </Typography>\n          </TableCellEx>\n          <TableCellEx\n            sx={{ display: { sm: 'table-cell', xs: 'none' } }}\n            align=\"center\"\n            width=\"10px\"\n          >\n            <Typography variant=\"caption\">\n              <strong>Signature</strong>\n            </Typography>\n          </TableCellEx>\n          <TableCellEx align=\"center\" width=\"10px\">\n            <Typography variant=\"caption\">\n              <strong>Valid</strong>\n            </Typography>\n          </TableCellEx>\n        </TableRow>\n      </TableHead>\n      <TableBody>\n        {!signatureData || signatureData.length === 0\n          ? <TableRowNoData additionalCells={3} />\n          : null}\n        {signatureData.map((data) => {\n          return (\n            <BoundWitnessSignatureTableRow\n              key={`${data.signature}-${data.previous_hash}`}\n              address={data.address}\n              previousHash={data.previous_hash}\n              dataHash={dataHash}\n              signature={data.signature}\n              clickableFields={['address']}\n            />\n          )\n        })}\n      </TableBody>\n    </TableEx>\n  )\n}\n", "import { ellipsize } from '@ariestools/eth-address'\nimport { toUint8Array } from '@ariestools/sdk'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport type { TableRowProps } from '@mui/material'\nimport {\n  Link, TableCell, TableRow,\n  Typography,\n} from '@mui/material'\nimport { BoundWitnessValidator } from '@xyo-network/sdk'\nimport React from 'react'\nimport { MdClear, MdDone } from 'react-icons/md'\n\nimport { useEvent } from '#event'\nimport { AddressTableCell } from '#shared'\n\ntype clickableFields = 'address' | 'signature'\n\n/** Props for {@link BoundWitnessSignatureTableRow}. */\nexport interface BoundWitnessSignatureTableRowProps extends TableRowProps {\n  address?: string\n  /** @deprecated - archives no longer used */\n  archive?: string\n  clickableFields?: clickableFields[]\n  dataHash?: string\n  previousHash?: string | null\n  signature?: string\n}\n\n/** Signature table row showing address, previous hash, signature, and validity. */\nexport const BoundWitnessSignatureTableRow: React.FC<BoundWitnessSignatureTableRowProps> = ({\n  address,\n  archive,\n  clickableFields,\n  dataHash,\n  previousHash,\n  signature,\n  ...props\n}) => {\n  const [errors] = usePromise(\n    async () =>\n      dataHash && address\n        ? await BoundWitnessValidator.validateSignature(\n            toUint8Array(dataHash).buffer,\n            address,\n            toUint8Array(signature)?.buffer,\n          )\n        : [],\n    [dataHash, address, signature],\n  )\n\n  const [addressRef, addressDispatch] = useEvent<HTMLTableCellElement>()\n  const [signatureRef, signatureDispatch] = useEvent<HTMLTableCellElement>()\n\n  const formattedHash = (hash?: string | null) => (hash ? ellipsize(hash, 8) : '-')\n\n  return (\n    <TableRow {...props}>\n      <AddressTableCell\n        ref={addressRef}\n        archive={archive}\n        value={address}\n        onClick={e => addressDispatch('address', 'click', address, e.nativeEvent)}\n        link={clickableFields?.includes('address')}\n      />\n      <TableCell\n        sx={{ display: { md: 'table-cell', xs: 'none' } }}\n        align=\"center\"\n      >\n        <Typography\n          variant=\"body2\"\n          sx={{ fontFamily: 'monospace' }}\n        >\n          {formattedHash(previousHash)}\n        </Typography>\n      </TableCell>\n      <TableCell\n        sx={{ display: { sm: 'table-cell', xs: 'none' } }}\n        align=\"center\"\n      >\n        <Typography\n          variant=\"body2\"\n          ref={signatureRef}\n          onClick={e => signatureDispatch('signature', 'click', signature, e.nativeEvent)}\n          sx={{ fontFamily: 'monospace' }}\n        >\n          {clickableFields?.includes('signature')\n            ? <Link>{formattedHash(signature)}</Link>\n            : formattedHash(signature)}\n        </Typography>\n      </TableCell>\n      <TableCell key=\"valid\" align=\"center\">\n        {errors === undefined\n          ? <MdDone fontSize={18} color=\"gray\" />\n          : errors?.length === 0\n            ? <MdDone fontSize={18} color=\"green\" />\n            : <MdClear color=\"red\" fontSize={18} />}\n      </TableCell>\n    </TableRow>\n  )\n}\n", "import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { BoundWitness, Payload } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { BoundWitnessCardContent } from './CardContent/index.ts'\nimport { BoundWitnessCardHeader } from './CardHeader/index.ts'\n\n/** Props for {@link BoundWitnessRendererCard}. */\nexport interface BoundWitnessCardProps extends CardProps {\n  active?: boolean\n  payload?: Payload\n}\n\n/** Card renderer for bound witness payloads with header and content. */\nexport const BoundWitnessRendererCard: React.FC<BoundWitnessCardProps> = ({\n  payload, active, ...props\n}) => {\n  const boundwitness = payload as BoundWitness\n\n  return (\n    <Card {...props}>\n      <BoundWitnessCardHeader payload={boundwitness} active={active} hideJSONButton hidePreviousHash hideValidation />\n      <BoundWitnessCardContent payload={boundwitness} active={active} />\n    </Card>\n  )\n}\n", "import { Identicon } from '@ariestools/sdk-react/identicon'\nimport type { AvatarGroupProps } from '@mui/material'\nimport { Avatar, AvatarGroup } from '@mui/material'\nimport React, {\n  useLayoutEffect, useRef, useState,\n} from 'react'\n\n/** Props for {@link AddressAvatarGroup}. */\nexport interface AddressAvatarGroupProps extends AvatarGroupProps {\n  addresses?: string[]\n  maxAvatars?: number\n}\n\n/** Avatar group of identicons for bound witness signer addresses. */\nexport const AddressAvatarGroup: React.FC<AddressAvatarGroupProps> = ({\n  addresses, maxAvatars = 4, ...props\n}) => {\n  const ref = useRef<HTMLDivElement | null>(null)\n  const [size, setSize] = useState<number>()\n\n  useLayoutEffect(() => {\n    if (ref.current) {\n      setSize(ref.current.clientWidth * 0.65)\n    }\n  }, [])\n\n  return (\n    <AvatarGroup max={maxAvatars} total={addresses?.length} {...props}>\n      {addresses?.map(address => (\n        <Avatar key={address} title={address} ref={ref} sx={{ bgcolor: 'background.paper' }}>\n          <Identicon\n            value={address}\n            size={size}\n            sx={{\n              position: 'absolute',\n              p: 0.25,\n              top: 0,\n              bottom: 0,\n              left: 0,\n              right: 0,\n            }}\n          />\n        </Avatar>\n      ))}\n    </AvatarGroup>\n  )\n}\n", "import { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { styled } from '@mui/material'\nimport type React from 'react'\n\n/** Responsive flex column used as a bound witness card content column. */\nexport const CardColumnsFlex: React.FC<React.ComponentProps<typeof FlexCol>> = styled(FlexCol, { name: 'CardColumnsFlex' })(({ theme }) => ({\n  ['@media only screen and (min-width: 333px)']: { minWidth: '50%' },\n  minWidth: '100%',\n  rowGap: theme.spacing(1),\n}))\n", "import type { TypographyProps } from '@mui/material'\nimport { styled, Typography } from '@mui/material'\nimport React from 'react'\n\n/** Styled title typography for bound witness card columns. */\nexport const CardColumnTitle: React.FC<React.ComponentProps<typeof Typography>> = styled(Typography, { name: 'CardColumnTitle' })(({ theme }) => ({\n  color: theme.vars.palette.text.primary,\n  fontWeight: 500,\n}))\n\n/** {@link CardColumnTitle} wrapper used as an h2-style column heading. */\nexport const CardColumnTitleH2: React.FC<TypographyProps> = props => <CardColumnTitle {...props} />\n", "import { alphaCss } from '@ariestools/sdk-react/theme'\nimport { CardContent, styled } from '@mui/material'\nimport type React from 'react'\n\n/** Props for {@link CardContentFlex}. */\nexport interface CardContentFlexProps {\n  active?: boolean\n}\n\n/** Flex card content layout with optional active background styling. */\nexport const CardContentFlex: React.FC<\n  CardContentFlexProps & React.ComponentProps<typeof CardContent>\n> = styled(CardContent, { name: 'CardContentFlex', shouldForwardProp: prop => prop !== 'active' })<CardContentFlexProps>(\n  ({ theme, active }) => ({\n    [':last-child']: { paddingBottom: theme.spacing(1) },\n    ...(active && { background: alphaCss(theme.vars.palette.secondary.dark, 0.33) }),\n    display: 'flex',\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n    justifyContent: 'center',\n    rowGap: theme.spacing(1),\n  }),\n)\n", "import type { AvatarGroupProps } from '@mui/material'\nimport { Avatar, AvatarGroup } from '@mui/material'\nimport type { Schema } from '@xyo-network/sdk'\nimport { BoundWitnessSchema } from '@xyo-network/sdk'\nimport React, { useCallback } from 'react'\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nimport { usePayloadRenderPluginResolver } from '#payload-plugin-resolver'\n\ninterface SchemaAvatarGroupProps extends AvatarGroupProps {\n  maxAvatars?: number\n  schemas?: Schema[]\n}\n\n/** Avatar group of schema icons for bound witness payload schemas. */\nexport const SchemaAvatarGroup: React.FC<SchemaAvatarGroupProps> = ({\n  schemas, maxAvatars = 4, ...props\n}) => {\n  const { resolver } = usePayloadRenderPluginResolver()\n\n  const resolveSchemaToIcon = useCallback(\n    (schema: Schema, index: number) => {\n      const SchemaAvatar = resolver?.resolve({ schema })?.components.avatar.image\n      return SchemaAvatar\n        ? <SchemaAvatar key={index + schema} />\n        : (\n            <Avatar\n              key={index + schema}\n              title={schema}\n              sx={{ bgcolor: 'primary.main', color: 'primary.contrastText' }}\n            >\n              {schema === BoundWitnessSchema\n                ? <VscSymbolMethod />\n                : <VscSymbolNamespace />}\n            </Avatar>\n          )\n    },\n    [resolver],\n  )\n\n  return (\n    <AvatarGroup max={maxAvatars} total={schemas?.length} {...props}>\n      {schemas?.map((schema, index) => resolveSchemaToIcon(schema, index))}\n    </AvatarGroup>\n  )\n}\n", "import type { CardContentProps } from '@mui/material'\nimport type { BoundWitness, Payload } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { AddressAvatarGroup } from './AddressAvatarGroup.tsx'\nimport {\n  CardColumnsFlex, CardColumnTitleH2, CardContentFlex,\n} from './layout/index.ts'\nimport { SchemaAvatarGroup } from './SchemaAvatarGroup.tsx'\n\n/** Props for {@link BoundWitnessCardContent}. */\nexport interface BoundWitnessCardContentProps extends CardContentProps {\n  active?: boolean\n  payload?: Payload\n}\n\n/** Card content summarizing payload schemas and signer addresses. */\nexport const BoundWitnessCardContent = ({\n  ref, payload, active, ...props\n}: BoundWitnessCardContentProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  const boundwitness = payload as Payload<BoundWitness>\n\n  return (\n    <CardContentFlex ref={ref} active={active} {...props}>\n      <CardColumnsFlex>\n        <CardColumnTitleH2>Payloads</CardColumnTitleH2>\n        <SchemaAvatarGroup schemas={boundwitness?.payload_schemas} />\n      </CardColumnsFlex>\n      <CardColumnsFlex>\n        <CardColumnTitleH2>Signers</CardColumnTitleH2>\n        <AddressAvatarGroup addresses={boundwitness?.addresses} />\n      </CardColumnsFlex>\n    </CardContentFlex>\n  )\n}\n\nBoundWitnessCardContent.displayName = 'BoundWitnessCardContent'\n", "import { Identicon } from '@ariestools/sdk-react/identicon'\nimport type { CardHeaderProps } from '@mui/material'\nimport {\n  CardHeader,\n  styled, useTheme,\n} from '@mui/material'\nimport type { BoundWitness, Payload } from '@xyo-network/sdk'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nimport { usePayloadHash } from '#shared'\n\nimport { BWActions, HeadingFlexbox } from '../../_shared/index.ts'\n\n/** Props for {@link BoundWitnessCardHeader}. */\nexport interface BoundWitnessCardHeaderProps extends CardHeaderProps {\n  active?: boolean\n  activeBgColor?: boolean\n  additionalActions?: ReactNode\n  hideJSONButton?: boolean\n  hidePreviousHash?: boolean\n  hideValidation?: boolean\n  payload?: Payload\n}\n\n/** Card header showing bound witness hash, identicon, and actions. */\nexport const BoundWitnessCardHeader = ({\n  ref, active = false, activeBgColor = true, additionalActions, hideJSONButton, hidePreviousHash, hideValidation, payload, ...props\n}: BoundWitnessCardHeaderProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  const boundwitness = payload as BoundWitness\n  const theme = useTheme()\n  const hash = usePayloadHash(boundwitness)\n\n  return (\n    <CardHeaderHash\n      ref={ref}\n      active={active}\n      activeBgColor={activeBgColor}\n      title={(\n        <HeadingFlexbox\n          heading={hash}\n          IconComponent={(\n            <Identicon\n              size={Number.parseInt(theme.spacing(2.5).replace('px', ''))}\n              value={hash}\n              sx={{\n                p: 0.5,\n                background: theme.vars.palette.background.paper,\n              }}\n            />\n          )}\n        />\n      )}\n      action={(\n        <BWActions\n          hideJSONButton={hideJSONButton}\n          hideValidation={hideValidation}\n          hidePreviousHash={hidePreviousHash}\n          boundwitness={boundwitness}\n          additionalActions={additionalActions}\n        />\n      )}\n      {...props}\n    />\n  )\n}\n\nBoundWitnessCardHeader.displayName = 'BoundWitnessCardHeader'\n\ninterface CardHeaderHashProps extends CardHeaderProps {\n  active?: boolean\n  activeBgColor?: boolean\n}\n\nconst CardHeaderHash = styled(CardHeader, {\n  name: 'CardHeaderHash',\n  shouldForwardProp: prop => !['active', 'activeBgColor'].includes(prop as string),\n})<CardHeaderHashProps>(({\n  theme, active, activeBgColor,\n}) => ({\n  '& .MuiCardHeader-action': {\n    marginBottom: 0,\n    marginTop: 0,\n  },\n  '& .MuiCardHeader-content': { overflow: 'visible' },\n  '&.MuiCardHeader-root': {\n    ...(active && activeBgColor && { backgroundColor: theme.vars.palette.info }),\n    borderBottom: `1px solid ${theme.vars.palette.divider}`,\n    paddingBottom: theme.spacing(1),\n    paddingTop: theme.spacing(1),\n  },\n  'padding': `${theme.spacing(0.5)} ${theme.spacing(2)}`,\n}))\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Divider } from '@mui/material'\nimport type { BoundWitness, Signed } from '@xyo-network/sdk'\nimport { BoundWitnessSchema } from '@xyo-network/sdk'\nimport React, { useMemo } from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nimport type { PayloadDetailsListRenderProps, PayloadDetailsRenderProps } from '#payload-plugin'\nimport { usePayloadHash } from '#shared'\nimport { TableHeightProvider } from '#table'\n\nimport {\n  BoundWitnessPayloadsTable,\n  BoundWitnessPayloadsTableForBWs,\n  BoundWitnessSignatureTable,\n  BWActions,\n  HashHeadingPaper,\n  HeadingPaper,\n} from '../../_shared/index.ts'\n\n/** Box details renderer for bound witnesses with payloads and signatures tables. */\nconst BoundWitnessDetailsBox: React.FC<PayloadDetailsListRenderProps & FlexBoxProps> = ({ visibleRows, ...props }) => {\n  return (\n    <TableHeightProvider defaultVisibleRows={visibleRows} additionalRows={1}>\n      <BoundWitnessDetailsBoxInner {...props} />\n    </TableHeightProvider>\n  )\n}\n\nBoundWitnessDetailsBox.displayName = 'BoundWitnessDetailsBox'\n\nconst BoundWitnessDetailsBoxInner: React.FC<PayloadDetailsRenderProps & FlexBoxProps> = ({ payload, ...props }) => {\n  const boundWitness = payload as Signed<BoundWitness>\n  const partialBoundWitness = boundWitness as Partial<Signed<BoundWitness>>\n  const hash = usePayloadHash(payload)\n\n  const hasBWPayloads = useMemo(() => (partialBoundWitness ? partialBoundWitness.payload_schemas?.includes(BoundWitnessSchema) : false), [partialBoundWitness])\n\n  return (\n    <FlexCol\n      {...props}\n      sx={[{\n        alignItems: 'stretch',\n        rowGap: 4,\n      }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <HashHeadingPaper\n        hash={hash}\n        paperProps={{ sx: { p: 2 } }}\n        AdornmentEnd={<BWActions boundwitness={boundWitness} />}\n        identiconProps={{ sx: { p: 0.75 }, size: 24 }}\n      />\n      <Divider flexItem />\n      <FlexCol\n        sx={{\n          alignItems: 'stretch',\n          rowGap: 1,\n          mb: 1,\n        }}\n      >\n        <HeadingPaper IconComponent={<VscSymbolNamespace />} heading=\"Payloads\" />\n        <BoundWitnessPayloadsTable boundwitness={boundWitness} />\n      </FlexCol>\n      {hasBWPayloads\n        ? (\n            <FlexCol\n              sx={{\n                alignItems: 'stretch',\n                rowGap: 1,\n                mb: 1,\n              }}\n            >\n              <HeadingPaper IconComponent={<VscSymbolMethod />} heading=\"Bound Witnesses\" />\n              <BoundWitnessPayloadsTableForBWs boundwitness={boundWitness} />\n            </FlexCol>\n          )\n        : null}\n      <FlexCol\n        sx={{\n          alignItems: 'stretch',\n          rowGap: 1,\n          mb: 1,\n        }}\n      >\n        <HeadingPaper IconComponent={<FaSignature />} heading=\"Signatures\" />\n        <BoundWitnessSignatureTable block={boundWitness} />\n      </FlexCol>\n    </FlexCol>\n  )\n}\n\nBoundWitnessDetailsBoxInner.displayName = 'BoundWitnessDetailsBoxInner'\n\nexport { BoundWitnessDetailsBox }\n", "import type { CardProps } from '@mui/material'\nimport React from 'react'\n\nimport type { PayloadDetailsListRenderProps } from '#payload-plugin'\nimport { TableHeightProvider } from '#table'\n\nimport { BoundWitnessDetailsCardInner } from './DetailsCardInner.tsx'\n\n/** Card details renderer for bound witnesses with collapsible tables. */\nconst BoundWitnessDetailsCard = ({\n  ref, visibleRows, ...props\n}: PayloadDetailsListRenderProps & CardProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  return (\n    <TableHeightProvider defaultVisibleRows={visibleRows} additionalRows={1}>\n      <BoundWitnessDetailsCardInner ref={ref} {...props} />\n    </TableHeightProvider>\n  )\n}\n\nBoundWitnessDetailsCard.displayName = 'BoundWitnessDetailsCard'\n\nexport { BoundWitnessDetailsCard }\n", "import { useResetState } from '@ariestools/sdk-react/hooks'\nimport { ExpandLessRounded as ExpandLessRoundedIcon, ExpandMoreRounded as ExpandMoreRoundedIcon } from '@mui/icons-material'\nimport type { CardProps } from '@mui/material'\nimport {\n  Card,\n  Divider, IconButton,\n} from '@mui/material'\nimport type { BoundWitness, Signed } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { PayloadDetailsRenderProps } from '#payload-plugin'\n\nimport { BoundWitnessCardHeader } from '../../Card/index.ts'\nimport { DetailsCardContent } from './DetailsCardContent.tsx'\n\n/** Inner collapsible card body for bound witness details. */\nconst BoundWitnessDetailsCardInner = ({\n  ref, payload, active, ...props\n}: PayloadDetailsRenderProps & CardProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  const boundwitness = payload as Signed<BoundWitness>\n  const [collapsed, setCollapsed] = useResetState<boolean>(!active)\n\n  return (\n    <Card ref={ref} {...props}>\n      <BoundWitnessCardHeader\n        payload={payload}\n        active={active}\n        activeBgColor={false}\n        hideJSONButton={false}\n        hideValidation={false}\n        hidePreviousHash={false}\n        additionalActions={(\n          <>\n            <Divider\n              flexItem\n              orientation=\"vertical\"\n              sx={{ ml: 2, mr: 1 }}\n            />\n            <IconButton onClick={() => setCollapsed(!collapsed)}>\n              {collapsed\n                ? <ExpandMoreRoundedIcon />\n                : <ExpandLessRoundedIcon />}\n            </IconButton>\n          </>\n        )}\n        sx={{ columnGap: 2 }}\n      />\n      <DetailsCardContent boundwitness={boundwitness} collapsed={collapsed} setCollapsed={setCollapsed} ref={ref} />\n    </Card>\n  )\n}\n\nBoundWitnessDetailsCardInner.displayName = 'BoundWitnessDetailsCardInner'\n\nexport { BoundWitnessDetailsCardInner }\n", "import { FlexGrowCol, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { Collapse } from '@mui/material'\nimport type { BoundWitness, Signed } from '@xyo-network/sdk'\nimport type { Dispatch, SetStateAction } from 'react'\nimport React, { useState } from 'react'\n\nimport type { CardContentExProps } from '#card'\nimport { CardContentEx } from '#card'\nimport { useTableHeight } from '#table'\n\nimport {\n  BoundWitnessPayloadsTable, BoundWitnessPayloadsTableForBWs, BoundWitnessSignatureTable,\n} from '../../_shared/index.ts'\nimport { BoundWitnessBottomNavigation, BWNavigationTabs } from './Navigation/index.ts'\n\n/** Props for {@link DetailsCardContent}. */\nexport interface DetailsCardContentProps extends CardContentExProps {\n  boundwitness?: Signed<BoundWitness>\n  collapsed?: boolean\n  setCollapsed?: Dispatch<SetStateAction<boolean>>\n}\n\n/** Tabbed card content for payloads, nested bound witnesses, and signatures. */\nexport const DetailsCardContent = ({\n  ref, collapsed, boundwitness, setCollapsed, ...props\n}: DetailsCardContentProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  const { height } = useTableHeight()\n  const [activeTab, setActiveTab] = useState(0)\n\n  return (\n    <CardContentEx removePadding>\n      <FlexGrowCol\n        ref={ref}\n        sx={{\n          alignItems: 'stretch',\n          height: height !== undefined && collapsed ? height : 'auto',\n          justifyContent: 'start',\n        }}\n      >\n        <Collapse in={collapsed}>\n          <FlexRow\n            {...props}\n            sx={[{\n              alignItems: 'stretch',\n              height: height !== undefined && collapsed ? height : 'auto',\n            }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n          >\n            <BWNavigationTabs value={activeTab} setValue={setActiveTab} boundWitness={boundwitness} />\n            <FlexGrowCol\n              sx={{\n                justifyContent: 'start',\n                overflow: 'scroll',\n                borderLeft: '1px solid',\n                borderLeftColor: 'divider',\n              }}\n            >\n              {activeTab === 0\n                ? <BoundWitnessPayloadsTable boundwitness={boundwitness} variant=\"scrollable\" />\n                : null}\n              {activeTab === 1\n                ? <BoundWitnessPayloadsTableForBWs boundwitness={boundwitness} variant=\"scrollable\" />\n                : null}\n              {activeTab === 2\n                ? <BoundWitnessSignatureTable block={boundwitness} variant=\"scrollable\" />\n                : null}\n            </FlexGrowCol>\n          </FlexRow>\n        </Collapse>\n      </FlexGrowCol>\n      <Collapse in={!collapsed} unmountOnExit>\n        <BoundWitnessBottomNavigation\n          onClick={() => setCollapsed?.(true)}\n          activeTab={activeTab}\n          setActiveTab={setActiveTab}\n          boundWitness={boundwitness}\n        />\n      </Collapse>\n    </CardContentEx>\n  )\n}\n\nDetailsCardContent.displayName = 'DetailsCardContent'\n", "import type { BottomNavigationProps } from '@mui/material'\nimport {\n  BottomNavigation, BottomNavigationAction,\n  styled,\n} from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport { BoundWitnessSchema } from '@xyo-network/sdk'\nimport type {\n  Dispatch, SetStateAction, SyntheticEvent,\n} from 'react'\nimport React from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\n/** Props for {@link BoundWitnessBottomNavigation}. */\nexport interface BoundWitnessBottomNavigationProps extends BottomNavigationProps {\n  activeTab?: number\n  boundWitness?: BoundWitness\n  setActiveTab?: Dispatch<SetStateAction<number>>\n}\n\n/** Bottom navigation for payloads, nested bound witnesses, and signatures. */\nconst BoundWitnessBottomNavigation = ({\n  ref, activeTab = 0, setActiveTab, boundWitness, ...props\n}: BoundWitnessBottomNavigationProps & { ref?: React.Ref<HTMLDivElement | null> }) => {\n  const payloadCount = boundWitness?.payload_schemas.filter(schema => schema !== BoundWitnessSchema).length ?? 0\n  const boundWitnessCount = boundWitness?.payload_schemas.filter(schema => schema === BoundWitnessSchema).length ?? 0\n  const signers = boundWitness?.addresses.length ?? 0\n\n  return (\n    <StyledBottomNavigation\n      showLabels\n      value={activeTab}\n\n      onChange={(_event: SyntheticEvent, newValue: number) => {\n        setActiveTab?.(newValue)\n      }}\n      ref={ref}\n      {...props}\n    >\n      <BottomNavigationAction label={`Payloads - ${payloadCount}`} icon={<VscSymbolNamespace />} />\n      <BottomNavigationAction label={`Bound Witnesses - ${boundWitnessCount}`} icon={<VscSymbolMethod />} />\n      <BottomNavigationAction label={`Signatures - ${signers}`} icon={<FaSignature />} />\n    </StyledBottomNavigation>\n  )\n}\n\nBoundWitnessBottomNavigation.displayName = 'BoundWitnessBottomNavigation'\nexport { BoundWitnessBottomNavigation }\n\nconst StyledBottomNavigation = styled(BottomNavigation, { name: 'StyledBottomNavigation' })(() => ({ background: 'inherit' }))\n", "import type { TabProps, TabsProps } from '@mui/material'\nimport {\n  Paper, Tab, Tabs,\n  useTheme,\n} from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport { BoundWitnessSchema } from '@xyo-network/sdk'\nimport type {\n  Dispatch, SetStateAction, SyntheticEvent,\n} from 'react'\nimport React from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\n/** Props for {@link BWNavigationTabs}. */\nexport interface BWNavigationTabs extends TabsProps {\n  boundWitness?: BoundWitness\n  setValue?: Dispatch<SetStateAction<number>>\n  value?: number\n}\n\n/** Vertical tabs for payloads, nested bound witnesses, and signatures. */\nexport const BWNavigationTabs: React.FC<BWNavigationTabs> = ({\n  setValue, value, boundWitness, ...props\n}) => {\n  const payloadCount = boundWitness?.payload_schemas.filter(schema => schema !== BoundWitnessSchema).length ?? 0\n  const boundWitnessCount = boundWitness?.payload_schemas.filter(schema => schema === BoundWitnessSchema).length ?? 0\n  const signers = boundWitness?.addresses.length ?? 0\n  const theme = useTheme()\n\n  const handleChange = (_event: SyntheticEvent, newValue: number) => {\n    setValue?.(newValue)\n  }\n\n  const tabProps: TabProps = {\n    iconPosition: 'start',\n    sx: {\n      boxShadow: 'none', fontSize: theme.spacing(1.75), justifyContent: 'start', lineHeight: 3, minHeight: 0, overflow: 'hidden',\n    },\n  }\n\n  return (\n    <Tabs orientation=\"vertical\" value={value} onChange={handleChange} aria-label=\"BW Vertical tabs\" {...props}>\n      <Tab component={Paper} elevation={value === 0 ? 3 : 0} {...tabProps} label={`Payloads - ${payloadCount}`} icon={<VscSymbolNamespace />} />\n      <Tab\n        component={Paper}\n        elevation={value === 1 ? 3 : 0}\n        {...tabProps}\n        label={`Bound Witnesses - ${boundWitnessCount}`}\n        icon={<VscSymbolMethod />}\n      />\n      <Tab component={Paper} elevation={value === 2 ? 3 : 0} {...tabProps} label={`Signatures - ${signers}`} icon={<FaSignature />} />\n    </Tabs>\n  )\n}\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport type {\n  BoundWitness, Payload, Signed,\n} from '@xyo-network/sdk'\nimport React from 'react'\n\nimport { PayloadDataDetails, PayloadJsonDetails } from '#payload-details'\n\nimport { BoundWitnessPayloads, BoundWitnessSignatureDetails } from '../_shared/index.ts'\nimport { BoundWitnessValidationDetails } from './ValidationDetails.tsx'\n\n/** Props for {@link BoundWitnessDetails}. */\nexport interface BoundWitnessDetailsProps extends FlexBoxProps {\n  payload?: Payload\n  /** @field Fetched Payloads for the Bound Witness */\n  payloads?: Payload[]\n}\n\n/** Full bound witness details view with data, payloads, signatures, and validation. */\nconst BoundWitnessDetails = ({\n  ref, paper, payload, children, ...props\n}: BoundWitnessDetailsProps & { ref?: React.Ref<unknown | null> }) => {\n  const boundwitness = payload as Signed<BoundWitness> | undefined\n  return (\n    <FlexCol\n      ref={ref}\n      {...props}\n      sx={[{\n        justifyContent: 'flex-start',\n        alignItems: 'stretch',\n        gap: 1,\n      }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <PayloadDataDetails paper={paper} payload={boundwitness} size=\"large\" badge />\n      <BoundWitnessPayloads paper={paper} payload={boundwitness} />\n      <BoundWitnessSignatureDetails paper={paper} block={boundwitness} />\n      <BoundWitnessValidationDetails paper={paper} value={boundwitness} />\n      <PayloadJsonDetails paper={paper} payload={boundwitness} />\n      {children}\n    </FlexCol>\n  )\n}\n\nBoundWitnessDetails.displayName = 'BoundWitnessDetails [XYO]'\n\nexport { BoundWitnessDetails }\n", "import { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { usePromise } from '@ariestools/sdk-react/promise'\nimport { Typography } from '@mui/material'\nimport type { BoundWitness } from '@xyo-network/sdk'\nimport { BoundWitnessValidator } from '@xyo-network/sdk'\nimport React from 'react'\n\nimport type { PropertyGroupProps } from '#property'\nimport { Property, PropertyGroup } from '#property'\n\n/** Props for {@link BoundWitnessValidationDetails}. */\nexport type BoundWitnessValidationDetailsProps = PropertyGroupProps & {\n  value?: BoundWitness\n}\n\n/** Property group showing bound witness validation result and errors. */\nexport const BoundWitnessValidationDetails: React.FC<BoundWitnessValidationDetailsProps> = ({ value, ...props }) => {\n  const [errors = []] = usePromise(async () => await (value ? new BoundWitnessValidator(value).validate() : undefined), [value])\n\n  let elevation = 2\n  if (props.paper) {\n    elevation += props.elevation ?? 0\n  }\n\n  return (\n    <PropertyGroup titleProps={{ elevation }} title=\"Validation\" tip=\"The results from validating the block\" {...props}>\n      <Property\n        titleProps={{ elevation }}\n        title=\"Valid\"\n        value={errors.length === 0 ? 'True' : 'False'}\n        tip={\n          errors.length > 0\n            ? (\n                <FlexCol sx={{ flexWrap: 'wrap' }}>\n                  {errors.map((error) => {\n                    return <Typography key={error.name}>{error.toString()}</Typography>\n                  })}\n                </FlexCol>\n              )\n            : <Typography>No Errors</Typography>\n        }\n        sx={{ flexGrow: 1 }}\n      />\n    </PropertyGroup>\n  )\n}\n", "import type { Payload } from '@xyo-network/sdk'\n\nimport type { PayloadRenderPlugin } from '#payload-plugin'\nimport { createPayloadRenderPlugin } from '#payload-plugin'\n\nimport {\n  BoundWitnessCardContent, BoundWitnessCardHeader, BoundWitnessDetailsBox,\n} from './components/index.ts'\n\n/** Payload render plugin for bound witness payloads. */\nexport const BoundWitnessRenderPlugin: PayloadRenderPlugin = {\n  ...createPayloadRenderPlugin({\n    canRender: (payload?: Payload) => payload?.schema === 'network.xyo.boundwitness',\n    components: {\n      box: { detailsBox: BoundWitnessDetailsBox },\n      card: {\n        content: BoundWitnessCardContent,\n        header: BoundWitnessCardHeader,\n      },\n    },\n    name: 'BoundWitness',\n  }),\n}\n"],
  "mappings": ";AAAA,SAAS,aAAAA,kBAAiB;AAE1B,SAAS,WAAAC,gBAAe;AACxB,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,cAAc,sBAAsB;AAK7C,SAAS,sBAAsB;;;ACT/B,SAAS,aAAa,eAAe;AACrC,SAAS,mBAAmB;AAE5B;AAAA,EACE;AAAA,EAAO;AAAA,EAAY;AAAA,EACnB;AAAA,OACK;AAEP,SAAgB,gBAAgB;AAEhC,SAAS,oBAAoB;AAqBvB,SACE,KADF;AAbC,IAAM,4BAA+D,CAAC,EAAE,cAAc,GAAG,MAAM,MAAM;AAC1G,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAE1C,QAAM,SAAS,YAAY;AACzB,UAAM,UAAU,UAAU,UAAU,cAAc,gBAAgB,CAAC,KAAK,EAAE;AAC1E,cAAU,IAAI;AACd,eAAW,MAAM;AACf,gBAAU,KAAK;AAAA,IACjB,GAAG,GAAI;AAAA,EACT;AAEA,SACE,qBAAC,iBAAe,GAAG,OACjB;AAAA,yBAAC,eAAY,IAAI,EAAE,WAAW,EAAE,GAC9B;AAAA,0BAAC,eAAY,IAAI,EAAE,QAAQ,UAAU,GAAG,SAAS,MAAM,KAAK,OAAO,GAAG;AAAA,MACtE;AAAA,QAAC;AAAA;AAAA,UACC,iBAAiB,EAAE,SAAS,QAAQ;AAAA,UACpC,IAAI,EAAE,UAAU,IAAI;AAAA,UAEnB,wBAAc,gBAAgB,KAAK,GAAG;AAAA;AAAA,MACzC;AAAA,OACF;AAAA,IACA,oBAAC,WACC,8BAAC,YAAS,IAAI,QAAQ,eAAa,MACjC,8BAAC,SACC,8BAAC,cAAW,+CAAiC,GAC/C,GACF,GACF;AAAA,KACF;AAEJ;;;ACjDA,SAAS,YAAY;AACrB,SAAS,cAAc,gBAAgB;AAEvC,SAAgB,YAAAC,iBAAgB;;;ACFhC;AAAA,EACE;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAe,iBAAAC;AAAA,EAAe;AAAA,OACzC;AAaH,SACE,OAAAC,MADF,QAAAC,aAAA;AAJG,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EAAU;AAAA,EAAa;AAAA,EAAM;AAAA,EAAS,GAAG;AAC3C,MAAM;AACJ,SACE,gBAAAA,MAAC,UAAO,MAAY,SAAkB,IAAI,EAAE,oBAAoB,EAAE,UAAU,MAAM,EAAE,GAAI,GAAG,OACzF;AAAA,oBAAAD,KAAC,eAAa,uBAAY;AAAA,IAC1B,gBAAAA,KAACD,gBAAA,EACE,UACH;AAAA,IACA,gBAAAC;AAAA,MAAC;AAAA;AAAA,QAAc,IAAI;AAAA,UACjB,SAAS;AAAA,UAAQ,eAAe;AAAA,UAAO,gBAAgB;AAAA,QACzD;AAAA,QAEE,0BAAAA,KAAC,UAAO,SAAQ,aAAY,SAAS,OAAK,UAAU,GAAG,eAAe,GAAG,mBAAK;AAAA;AAAA,IAChF;AAAA,KACF;AAEJ;;;ADDI,mBAEkB,OAAAE,MADhB,QAAAC,aADF;AAfG,IAAM,yBAAgE,CAAC;AAAA,EAC5E;AAAA,EAAc;AAAA,EAAS;AAAA,EAAe,GAAG;AAC3C,MAAM;AACJ,QAAM,CAAC,MAAM,OAAO,IAAIC,UAAS,KAAK;AACtC,QAAM,UAAU,MAAM;AACpB,oBAAgB;AAChB,YAAQ,KAAK;AAAA,EACf;AAEA,QAAM,kBAAoD,CAAC,MAAM;AAC/D,cAAU,CAAC;AACX,YAAQ,IAAI;AAAA,EACd;AAEA,SACE,gBAAAD,MAAA,YACE;AAAA,oBAAAA,MAAC,YAAS,SAAS,iBAAkB,GAAG,OACtC;AAAA,sBAAAD,KAAC,gBAAa,0BAAAA,KAAC,QAAK,GAAE;AAAA,MAAe;AAAA,OAEvC;AAAA,IACA,gBAAAA,KAAC,kBAAe,MAAY,SAAkB,aAAY,iBACxD,0BAAAA,KAAC,6BAA0B,cAA4B,GACzD;AAAA,KACF;AAEJ;;;AEtCA,SAAS,iBAAiB;AAE1B,SAAS,sBAAsB;AAC/B,SAAS,eAAe,uBAAuB;AA2BrC,gBAAAG,YAAA;AAfH,IAAM,+BAA4E,CAAC,EAAE,cAAc,GAAG,MAAM,MAAM;AACvH,QAAM,eAAe,cAAc,gBAAgB,CAAC,KAAK;AACzD,QAAM,wBAAwB,iBAAiB,OAAO,qBAAqB,mBAAmB,UAAU,cAAc,CAAC,CAAC;AAExH,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,UAAU,iBAAiB;AAAA,MAC3B,WAAW;AAAA,MACX,eAAe,iBAAiB;AAAA,MAChC,aAAa,EAAE,WAAW,MAAM,UAAU,KAAK;AAAA,MAC9C,GAAG;AAAA,MAEH,2BAAiB,OACd,OACA,gBAAAA,KAAC,6BAA0B,cAA4B;AAAA;AAAA,EAC7D;AAEJ;;;ACjCA,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAG3B,SAAS,6BAA6B;AAa7B,gBAAAC,YAAA;AAJF,IAAM,iBAA2C,CAAC,EAAE,cAAc,WAAW,MAAM;AACxF,QAAM,CAAC,SAAS,CAAC,GAAG,aAAa,IAAI,WAAW,YAC9C,OAAO,eAAe,IAAI,sBAAsB,YAAY,IAAI,SAAY,SAAS,GAAG,CAAC,YAAY,CAAC;AAExG,SAAO,gBAAAA,KAAC,uBAAoB,QAAgB,YAAwB,eAA8B;AACpG;;;ALqBI,SAE2E,OAAAC,MAF3E,QAAAC,aAAA;AAbG,IAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,OAAO,eAAe,YAAY;AAExC,SACE,gBAAAA,MAACC,UAAA,EAAS,GAAG,OACV;AAAA;AAAA,IACA,oBAAoB,cAAc,gBAAgB,WAAW,IAAI,OAAO,gBAAAF,KAAC,gCAA6B,cAA4B;AAAA,IAClI,iBAAiB,OAAO,gBAAAA,KAAC,kBAAe,YAAY,sBAAsB,cAA4B;AAAA,IACtG,iBACG,OAEE,gBAAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,OAAO,YAAYC,WAAU,QAAQ,IAAI,CAAC,CAAC;AAAA,QAC3C,aAAa,EAAE,WAAW,MAAM,UAAU,KAAK;AAAA,QAE/C,0BAAAJ,KAAC,SAAI,OAAO,EAAE,WAAW,YAAY,GAAI,yBAAe,KAAK,UAAU,cAAc,MAAM,CAAC,IAAI,MAAK;AAAA;AAAA,IACvG;AAAA,IAEL;AAAA,KACH;AAEJ;;;AMzDA,SAAS,aAAAK,kBAAiB;AAC1B,SAAS,YAAY;AACrB,SAAS,gBAAAC,eAAc,YAAAC,iBAAgB;AAEvC,SAAgB,YAAAC,iBAAgB;AAEhC,SAAS,oBAAoB;AAC7B,SAAS,kBAAAC,uBAAsB;AA4B3B,qBAAAC,WAEkB,OAAAC,MADhB,QAAAC,aADF;AAnBG,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EAAc;AAAA,EAAS;AAAA,EAAe,GAAG;AAC3C,MAAM;AACJ,QAAM,OAAOC,gBAAe,YAAY;AAExC,QAAM,CAAC,MAAM,OAAO,IAAIC,UAAS,KAAK;AACtC,QAAM,UAAU,MAAM;AACpB,oBAAgB;AAChB,YAAQ,KAAK;AAAA,EACf;AAEA,QAAM,kBAAoD,CAAC,MAAM;AAC/D,cAAU,CAAC;AACX,YAAQ,IAAI;AAAA,EACd;AAEA,QAAM,QAAQ,OAAO,YAAYC,WAAU,MAAM,CAAC,CAAC,KAAK;AAExD,SACE,gBAAAH,MAAAF,WAAA,EACE;AAAA,oBAAAE,MAACI,WAAA,EAAS,SAAS,iBAAkB,GAAG,OACtC;AAAA,sBAAAL,KAACM,eAAA,EAAa,0BAAAN,KAAC,QAAK,GAAE;AAAA,MAAe;AAAA,OAEvC;AAAA,IACA,gBAAAA,KAAC,kBAAe,MAAY,SAAkB,aAAa,OACzD,0BAAAA,KAAC,gBAAa,OAAO,cAAc,GACrC;AAAA,KACF;AAEJ;;;AC5CA,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;;;ACDzB,SAAS,OAAO,cAAc;;;ACD9B,SAAS,eAAAO,oBAAmB;AAE5B,SAAgB,cAAc;AAE9B,SAAS,gBAAAC,qBAAoB;AAgCzB,SAME,OAAAC,MANF,QAAAC,aAAA;AA3BG,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,eAAe;AAAA,EACf,GAAG;AACL,MAAM;AACJ,QAAM,eAAe,OAA8B,IAAI;AACvD,QAAM,cAAc,WAAW;AAE/B,QAAM,aAAa,CAACC,UAA2B;AAC7C,UAAM,MAAmD;AAAA,MACvD,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,UAAM,aAAa,IAAIA,KAAI;AAC3B,QAAI,eAAe,QAAW;AAC5B,YAAM,IAAI,MAAM,GAAGA,KAAI,+BAA+B;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAEA,SACE,gBAAAD;AAAA,IAACH;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAE1E;AAAA;AAAA,QACA;AAAA,QACD,gBAAAE;AAAA,UAACD;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,iBAAiB,EAAE,SAAS,WAAW,IAAI,GAAG,GAAG,aAAa;AAAA,YAC9D,KAAK;AAAA,YACL,IAAI,EAAE,OAAO,OAAO;AAAA,YAEnB;AAAA;AAAA,QACH;AAAA,QACC;AAAA;AAAA;AAAA,EACH;AAEJ;AAMO,IAAM,YAAY;;;ADtCnB,gBAAAI,YAAA;AARC,IAAM,eAAe,CAAC,EAAE,KAAK,GAAG,MAAM,MAAsE;AACjH,QAAM;AAAA,IACJ;AAAA,IAAgB;AAAA,IAAc;AAAA,EAChC,IAAI;AAEJ,QAAM,EAAE,YAAY,oBAAoB,GAAG,eAAe,IAAI;AAC9D,SACE,gBAAAA,KAAC,sBAAmB,mBAAmB,CAAC,CAAC,gBAAgB,iBAAiB,CAAC,CAAC,cAAc,WAAW,GAAG,KAAW,GAAG,YACpH,0BAAAA,KAAC,kBAAgB,GAAG,gBAAgB,GACtC;AAEJ;AAOA,IAAM,qBAAqB,OAAO,OAAO;AAAA,EACvC,MAAM;AAAA,EACN,mBAAmB,UAAQ,CAAC,CAAC,mBAAmB,qBAAqB,YAAY,EAAE,SAAS,IAAc;AAC5G,CAAC,EAA2B,CAAC;AAAA,EAC3B;AAAA,EAAiB;AAAA,EAAmB;AACtC,OAAO;AAAA,EACL,YAAY;AAAA,EACZ,WAAW,MAAM,QAAQ,CAAC;AAAA,EAC1B,SAAS;AAAA,EACT,eAAe;AAAA,EACf,UAAU;AAAA,EACV,SAAS,MAAM,QAAQ,GAAG;AAAA,EAC1B,GAAI,qBAAqB,EAAE,aAAa,EAAE;AAAA,EAC1C,GAAI,mBAAmB,EAAE,cAAc,EAAE;AAAA,EACzC,IAAK,qBAAqB,oBAAoB,EAAE,eAAe,GAAG,YAAY,EAAE;AAAA,EAChF,cAAc,MAAM,QAAQ,CAAC;AAC/B,EAAE;;;ADnBY,gBAAAC,aAAA;AAbd,IAAM,mBAAmB,CAAC;AAAA,EACxB;AAAA,EAAK;AAAA,EAAM;AAAA,EAAgB,GAAG;AAChC,MAA0E;AACxE,QAAM,QAAQ,SAAS;AAEvB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,cAAa;AAAA,MACb;AAAA,MACA,eACE,OAEM,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,OAAO,SAAS,MAAM,QAAQ,CAAC,EAAE,QAAQ,MAAM,EAAE,CAAC;AAAA,UACxD,OAAO;AAAA,UACN,GAAG;AAAA,UACJ,IAAI,CAAC;AAAA,YACH,GAAG;AAAA,YACH,YAAY,MAAM,KAAK,QAAQ,WAAW;AAAA,UAC5C,GAAG,GAAI,MAAM,QAAQ,gBAAgB,EAAE,IAAI,eAAe,KAAK,CAAC,gBAAgB,EAAE,CAAE;AAAA;AAAA,MACtF,IAEF;AAAA,MAEN,IAAI,EAAE,WAAW,EAAE;AAAA,MAClB,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,iBAAiB,cAAc;;;AG9C/B;AAAA,EACE,QAAAC;AAAA,EACA;AAAA,EAAW;AAAA,EAAW;AAAA,OACjB;AAEP,SAAgB,iBAAiB,eAAe;AAKhD,SAAS,gBAAgB;AAEzB,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AA6BvB,gBAAAC,OAiDM,QAAAC,aAjDN;AALR,SAAS,aAAgE;AAAA,EACvE;AAAA,EAAiB;AAAA,EAAU;AAAA,EAAmB;AAAA,EAAO;AACvD,GAA6B;AAC3B,SAAO,iBAAiB,SAAS,KAAK,IAEhC,gBAAAD;AAAA,IAACD;AAAA,IAAA;AAAA,MACC,IAAI,EAAE,QAAQ,UAAU;AAAA,MACxB,SAAS,CAAC,MAAM;AACd,iBAAS,qBAAqB,OAAgB,SAAS,OAAO,EAAE,WAAW;AAAA,MAC7E;AAAA,MAEC;AAAA;AAAA,EACH,IAEF;AACN;AAGO,IAAM,+BAA+B,CAE1C;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAgD;AAC9C,QAAM;AAAA;AAAA,IAEJ;AAAA,IAAW;AAAA,IAAsB,GAAG;AAAA,EACtC,IAAI;AAEJ,QAAM,EAAE,aAAa,IAAI,eAAe;AACxC,QAAM,CAAC,aAAa,QAAQ,IAAI,SAAqC,QAAW,GAAwD;AAGxI,QAAM,SAAS,QAAQ,MAAM,eAAe,IAAI,CAAC,MAAM,WAAW,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC;AAErH,kBAAgB,MAAM;AACpB,QAAI,YAAY,SAAS;AACvB,qBAAe,YAAY,QAAQ,YAAY;AAAA,IACjD;AAAA,EACF,CAAC;AAED,SACE,gBAAAE,MAAC,aAAW,GAAG,YACZ;AAAA,iBAAa,uBACV,gBAAAD,MAAC,wBAAqB,IACtB;AAAA,IACH,iBAAiB,kBAAkB,cAAc,SAAS,IACvD,QAAQ,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,UAAU;AACnC,aACE,gBAAAC,MAAC,YAAS,KAAK,aACb;AAAA,wBAAAD,MAAC,aAAU,OAAO,MAChB,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAM;AAAA,YACN,OAAO,eAAe,KAAK;AAAA;AAAA,QAC7B,GACF;AAAA,QACA,gBAAAA,MAAC,iBAAc,OAAO,MAAM,OAAO,MACjC,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAM;AAAA,YACN,OAAO;AAAA;AAAA,QACT,GACF;AAAA,QACC,mBAAmB,IAAI,YACtB,gBAAAA,MAAC,aAA4B,GAAG,OAAO,WACpC,iBAAO,WAAW;AAAA,UACjB;AAAA,UAAM;AAAA,UAAO,QAAQ,eAAe,KAAK;AAAA,QAC3C,CAAC,KAHa,OAAO,GAIvB,CACD;AAAA,WAzB8B,EA0BjC;AAAA,IAEJ,CAAC,IAEC,gBAAAA,MAAC,kBAAe,iBAAiB,KAAK,mBAAmB,UAAU,IAAI;AAAA,KAE/E;AAEJ;;;AC9HA,SAAgB,WAAAE,gBAAe;AAyC3B,gBAAAC,aAAA;AA7BG,IAAM,uCAA4F,CAAC;AAAA,EACxG;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,mBAAmBC,SAAQ,MAAM;AACrC,QAAI,CAAC,aAAc,QAAO;AAC1B,WAAO,gBAAgB,OAAO,YAC5B,iBAAiB,UAAU,WAAW,eAAe,WAAW,YAAY;AAAA,EAChF,GAAG,CAAC,cAAc,gBAAgB,YAAY,CAAC;AAE/C,QAAM,kBAAkBA,SAAQ,MAAM;AACpC,QAAI,CAAC,aAAc,QAAO;AAC1B,QAAI,CAAC,iBAAiB,CAAC,eAAgB;AAEvC,WAAO,eAAe,OAAiB,CAAC,KAAK,QAAQ,UAAU;AAC7D,UAAI,iBAAiB,UAAU,WAAW,eAAe,WAAW,cAAc;AAChF,YAAI,KAAK,cAAc,KAAK,CAAC;AAAA,MAC/B;AACA,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP,GAAG,CAAC,cAAc,eAAe,gBAAgB,YAAY,CAAC;AAE9D,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;AClDA;AAAA,EACE,UAAAE;AAAA,EAAQ;AAAA,EAAW,YAAAC;AAAA,EAAU;AAAA,OACxB;AAIP,SAAS,mBAAmB;AAgBtB,SAEI,OAAAC,OAFJ,QAAAC,aAAA;AANC,IAAM,+BAA4E,CAAC,UAAU;AAClG,QAAM;AAAA,IACJ;AAAA,IAAmB;AAAA,IAAS,GAAG;AAAA,EACjC,IAAI;AACJ,SACE,gBAAAD,MAAC,aAAW,GAAG,gBACb,0BAAAC,MAACF,WAAA,EACC;AAAA,oBAAAC,MAAC,eACC,0BAAAA,MAAC,uBAAoB,SAAQ,WAAU,oBAAM,GAC/C;AAAA,IACA,gBAAAA,MAAC,eACC,0BAAAA,MAAC,uBAAoB,SAAQ,WAAU,kBAAI,GAC7C;AAAA,IACC,mBAAmB,IAAI,YACtB,gBAAAA,MAAC,eAA8B,GAAG,OAAO,iBACvC,0BAAAA,MAAC,uBAAoB,SAAQ,WAAW,iBAAO,UAAU,OAAO,KAAI,KADpD,OAAO,GAEzB,CACD;AAAA,KACH,GACF;AAEJ;AAEA,IAAM,sBAAsBF,QAAO,YAAY,EAAE,MAAM,sBAAsB,CAAC,EAAE,OAAO,EAAE,YAAY,OAAO,EAAE;;;AClC9G,SAAS,qBAAqB;;;ACJ9B,SAAS,0BAA0B;AAMnC,SAAS,eAAe;AAmBlB,gBAAAI,OAqCJ,QAAAC,aArCI;AALC,IAAM,4BAAqE,CAAC;AAAA,EACjF;AAAA,EAAmB;AAAA,EAAc;AAAA,EAAiB,YAAY;AAAA,EAAW,GAAG;AAC9E,MAAM;AACJ,SACE,gBAAAD,MAAC,kCAA+B,mBAAuC,GAAG,OACxE,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,cAAa;AAAA,MACb,WAAW,cAAc,eAAe,WAAW;AAAA,MACnD,eAAe,cAAc;AAAA,MAC7B,gBAAgB,cAAc;AAAA;AAAA,EAChC,GACF;AAEJ;AAGO,IAAM,kCAA2E,CAAC;AAAA,EACvF;AAAA,EAAmB;AAAA,EAAc;AAAA,EAAiB,YAAY;AAAA,EAAgB,GAAG;AACnF,MAAM;AACJ,SACE,gBAAAA,MAAC,kCAA+B,mBAAuC,GAAG,OACxE,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,WAAW,cAAc,eAAe,WAAW;AAAA,MACnD,eAAe,cAAc;AAAA,MAC7B,gBAAgB,cAAc;AAAA;AAAA,EAChC,GACF;AAEJ;AAGO,IAAM,iCAA6F,CAAC;AAAA,EACzG;AAAA,EAAmB;AAAA,EAAU,GAAG;AAClC,MACE,gBAAAC,MAAC,WAAS,GAAG,OACX;AAAA,kBAAAD,MAAC,gCAA6B,mBAAsC;AAAA,EACnE;AAAA,GACH;;;ADxCI,gBAAAE,aAAA;AATC,IAAM,uBAA4D,CAAC;AAAA,EACxE,SAAS;AAAA,EAAc;AAAA,EAAmB,GAAG;AAC/C,MAAM;AACJ,MAAI,YAAY;AAChB,MAAI,MAAM,OAAO;AACf,iBAAa,MAAM,aAAa;AAAA,EAClC;AACA,SACE,gBAAAA,MAAC,iBAAc,YAAY,EAAE,UAAU,GAAG,OAAM,YAAW,KAAI,kDAAkD,GAAG,OAClH,0BAAAA,MAAC,6BAA0B,cAA6B,GAAG,mBAAmB,GAChF;AAEJ;;;AEzBA,SAAS,iBAAAC,sBAAqB;;;ACJ9B;AAAA,EACE,aAAAC;AAAA,EAAW,aAAAC;AAAA,EAAW,YAAAC;AAAA,EAAU,cAAAC;AAAA,OAC3B;AAIP,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,0BAA0B;AAEnC,SAAS,eAAAC,cAAa,WAAAC,gBAAe;;;ACTrC,SAAS,aAAAC,kBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,cAAAC,mBAAkB;AAE3B;AAAA,EACE,QAAAC;AAAA,EAAM,aAAAC;AAAA,EAAW,YAAAC;AAAA,EACjB,cAAAC;AAAA,OACK;AACP,SAAS,yBAAAC,8BAA6B;AAEtC,SAAS,SAAS,cAAc;AAEhC,SAAS,YAAAC,iBAAgB;AACzB,SAAS,wBAAwB;AA2C7B,SACE,OAAAC,OADF,QAAAC,cAAA;AA3BG,IAAM,gCAA8E,CAAC;AAAA,EAC1F;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,MAAM,IAAIR;AAAA,IACf,YACE,YAAY,UACR,MAAMK,uBAAsB;AAAA,MAC1B,aAAa,QAAQ,EAAE;AAAA,MACvB;AAAA,MACA,aAAa,SAAS,GAAG;AAAA,IAC3B,IACA,CAAC;AAAA,IACP,CAAC,UAAU,SAAS,SAAS;AAAA,EAC/B;AAEA,QAAM,CAAC,YAAY,eAAe,IAAIC,UAA+B;AACrE,QAAM,CAAC,cAAc,iBAAiB,IAAIA,UAA+B;AAEzE,QAAM,gBAAgB,CAAC,SAA0B,OAAOP,WAAU,MAAM,CAAC,IAAI;AAE7E,SACE,gBAAAS,OAACL,WAAA,EAAU,GAAG,OACZ;AAAA,oBAAAI;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL;AAAA,QACA,OAAO;AAAA,QACP,SAAS,OAAK,gBAAgB,WAAW,SAAS,SAAS,EAAE,WAAW;AAAA,QACxE,MAAM,iBAAiB,SAAS,SAAS;AAAA;AAAA,IAC3C;AAAA,IACA,gBAAAA;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,IAAI,EAAE,SAAS,EAAE,IAAI,cAAc,IAAI,OAAO,EAAE;AAAA,QAChD,OAAM;AAAA,QAEN,0BAAAK;AAAA,UAACH;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,IAAI,EAAE,YAAY,YAAY;AAAA,YAE7B,wBAAc,YAAY;AAAA;AAAA,QAC7B;AAAA;AAAA,IACF;AAAA,IACA,gBAAAG;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,IAAI,EAAE,SAAS,EAAE,IAAI,cAAc,IAAI,OAAO,EAAE;AAAA,QAChD,OAAM;AAAA,QAEN,0BAAAK;AAAA,UAACH;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,KAAK;AAAA,YACL,SAAS,OAAK,kBAAkB,aAAa,SAAS,WAAW,EAAE,WAAW;AAAA,YAC9E,IAAI,EAAE,YAAY,YAAY;AAAA,YAE7B,2BAAiB,SAAS,WAAW,IAClC,gBAAAG,MAACN,OAAA,EAAM,wBAAc,SAAS,GAAE,IAChC,cAAc,SAAS;AAAA;AAAA,QAC7B;AAAA;AAAA,IACF;AAAA,IACA,gBAAAM,MAACL,YAAA,EAAsB,OAAM,UAC1B,qBAAW,SACR,gBAAAK,MAAC,UAAO,UAAU,IAAI,OAAM,QAAO,IACnC,QAAQ,WAAW,IACjB,gBAAAA,MAAC,UAAO,UAAU,IAAI,OAAM,SAAQ,IACpC,gBAAAA,MAAC,WAAQ,OAAM,OAAM,UAAU,IAAI,KAL5B,OAMf;AAAA,KACF;AAEJ;;;ADvDQ,SAGM,OAAAE,OAHN,QAAAC,cAAA;AApBR,IAAM,gCAAgC,CAAC,iBAAuC;AAC5E,QAAM,SAA0B,CAAC;AACjC,WAAS,IAAI,GAAG,IAAI,aAAa,UAAU,QAAQ,KAAK;AACtD,WAAO,KAAK;AAAA,MACV,SAAS,aAAa,UAAU,CAAC;AAAA,MACjC,eAAe,aAAa,kBAAkB,CAAC;AAAA,MAC/C,WAAW,aAAa,cAAc,CAAC,KAAK,CAAC;AAAA,IAC/C,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAGO,IAAM,6BAAwE,CAAC,EAAE,OAAO,GAAG,MAAM,MAAM;AAC5G,QAAM,gBAAgB,QAAQ,8BAA8B,KAAK,IAAI,CAAC;AACtE,QAAM,WAAW,mBAAmB,KAAK;AAEzC,SACE,gBAAAA,OAACC,UAAA,EAAS,GAAG,OACX;AAAA,oBAAAF,MAACG,YAAA,EACC,0BAAAF,OAACG,WAAA,EACC;AAAA,sBAAAJ,MAACK,cAAA,EAAY,OAAM,QACjB,0BAAAL,MAACM,aAAA,EAAW,SAAQ,WAClB,0BAAAN,MAAC,YAAO,qBAAO,GACjB,GACF;AAAA,MACA,gBAAAA;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,IAAI,EAAE,SAAS,EAAE,IAAI,cAAc,IAAI,OAAO,EAAE;AAAA,UAChD,OAAM;AAAA,UACN,OAAM;AAAA,UAEN,0BAAAL,MAACM,aAAA,EAAW,SAAQ,WAClB,0BAAAN,MAAC,YAAO,sBAAQ,GAClB;AAAA;AAAA,MACF;AAAA,MACA,gBAAAA;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,IAAI,EAAE,SAAS,EAAE,IAAI,cAAc,IAAI,OAAO,EAAE;AAAA,UAChD,OAAM;AAAA,UACN,OAAM;AAAA,UAEN,0BAAAL,MAACM,aAAA,EAAW,SAAQ,WAClB,0BAAAN,MAAC,YAAO,uBAAS,GACnB;AAAA;AAAA,MACF;AAAA,MACA,gBAAAA,MAACK,cAAA,EAAY,OAAM,UAAS,OAAM,QAChC,0BAAAL,MAACM,aAAA,EAAW,SAAQ,WAClB,0BAAAN,MAAC,YAAO,mBAAK,GACf,GACF;AAAA,OACF,GACF;AAAA,IACA,gBAAAC,OAACM,YAAA,EACE;AAAA,OAAC,iBAAiB,cAAc,WAAW,IACxC,gBAAAP,MAACQ,iBAAA,EAAe,iBAAiB,GAAG,IACpC;AAAA,MACH,cAAc,IAAI,CAAC,SAAS;AAC3B,eACE,gBAAAR;AAAA,UAAC;AAAA;AAAA,YAEC,SAAS,KAAK;AAAA,YACd,cAAc,KAAK;AAAA,YACnB;AAAA,YACA,WAAW,KAAK;AAAA,YAChB,iBAAiB,CAAC,SAAS;AAAA;AAAA,UALtB,GAAG,KAAK,SAAS,IAAI,KAAK,aAAa;AAAA,QAM9C;AAAA,MAEJ,CAAC;AAAA,OACH;AAAA,KACF;AAEJ;;;ADzEM,gBAAAS,aAAA;AAPC,IAAM,+BAA4E,CAAC,EAAE,OAAO,GAAG,MAAM,MAAM;AAChH,MAAI,YAAY;AAChB,MAAI,MAAM,OAAO;AACf,iBAAa,MAAM,aAAa;AAAA,EAClC;AACA,SACE,gBAAAA,MAACC,gBAAA,EAAc,YAAY,EAAE,UAAU,GAAG,OAAM,cAAa,KAAI,yCAAyC,GAAG,OAC3G,0BAAAD,MAAC,8BAA2B,OAAc,GAC5C;AAEJ;;;AGvBA,SAAS,YAAY;;;ACDrB,SAAS,aAAAE,kBAAiB;AAE1B,SAAS,QAAQ,mBAAmB;AACpC;AAAA,EACE,mBAAAC;AAAA,EAAiB,UAAAC;AAAA,EAAQ,YAAAC;AAAA,OACpB;AAyBG,gBAAAC,aAAA;AAhBH,IAAM,qBAAwD,CAAC;AAAA,EACpE;AAAA,EAAW,aAAa;AAAA,EAAG,GAAG;AAChC,MAAM;AACJ,QAAM,MAAMF,QAA8B,IAAI;AAC9C,QAAM,CAAC,MAAM,OAAO,IAAIC,UAAiB;AAEzC,EAAAF,iBAAgB,MAAM;AACpB,QAAI,IAAI,SAAS;AACf,cAAQ,IAAI,QAAQ,cAAc,IAAI;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SACE,gBAAAG,MAAC,eAAY,KAAK,YAAY,OAAO,WAAW,QAAS,GAAG,OACzD,qBAAW,IAAI,aACd,gBAAAA,MAAC,UAAqB,OAAO,SAAS,KAAU,IAAI,EAAE,SAAS,mBAAmB,GAChF,0BAAAA;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP;AAAA,MACA,IAAI;AAAA,QACF,UAAU;AAAA,QACV,GAAG;AAAA,QACH,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA;AAAA,EACF,KAZW,OAab,CACD,GACH;AAEJ;;;AC9CA,SAAS,eAAe;AACxB,SAAS,UAAAK,eAAc;AAIhB,IAAM,kBAAkEA,QAAO,SAAS,EAAE,MAAM,kBAAkB,CAAC,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAC1I,CAAC,2CAA2C,GAAG,EAAE,UAAU,MAAM;AAAA,EACjE,UAAU;AAAA,EACV,QAAQ,MAAM,QAAQ,CAAC;AACzB,EAAE;;;ACRF,SAAS,UAAAC,SAAQ,cAAAC,mBAAkB;AAUkC,gBAAAC,aAAA;AAN9D,IAAM,kBAAqEF,QAAOC,aAAY,EAAE,MAAM,kBAAkB,CAAC,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAChJ,OAAO,MAAM,KAAK,QAAQ,KAAK;AAAA,EAC/B,YAAY;AACd,EAAE;AAGK,IAAM,oBAA+C,WAAS,gBAAAC,MAAC,mBAAiB,GAAG,OAAO;;;ACXjG,SAAS,gBAAgB;AACzB,SAAS,aAAa,UAAAC,eAAc;AAS7B,IAAM,kBAETA,QAAO,aAAa,EAAE,MAAM,mBAAmB,mBAAmB,UAAQ,SAAS,SAAS,CAAC;AAAA,EAC/F,CAAC,EAAE,OAAO,OAAO,OAAO;AAAA,IACtB,CAAC,aAAa,GAAG,EAAE,eAAe,MAAM,QAAQ,CAAC,EAAE;AAAA,IACnD,GAAI,UAAU,EAAE,YAAY,SAAS,MAAM,KAAK,QAAQ,UAAU,MAAM,IAAI,EAAE;AAAA,IAC9E,SAAS;AAAA,IACT,eAAe;AAAA,IACf,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,QAAQ,MAAM,QAAQ,CAAC;AAAA,EACzB;AACF;;;ACrBA,SAAS,UAAAC,SAAQ,eAAAC,oBAAmB;AAEpC,SAAS,sBAAAC,2BAA0B;AACnC,SAAgB,mBAAmB;AACnC,SAAS,iBAAiB,0BAA0B;AAEpD,SAAS,sCAAsC;AAiBrC,gBAAAC,aAAA;AATH,IAAM,oBAAsD,CAAC;AAAA,EAClE;AAAA,EAAS,aAAa;AAAA,EAAG,GAAG;AAC9B,MAAM;AACJ,QAAM,EAAE,SAAS,IAAI,+BAA+B;AAEpD,QAAM,sBAAsB;AAAA,IAC1B,CAAC,QAAgB,UAAkB;AACjC,YAAM,eAAe,UAAU,QAAQ,EAAE,OAAO,CAAC,GAAG,WAAW,OAAO;AACtE,aAAO,eACH,gBAAAA,MAAC,kBAAkB,QAAQ,MAAQ,IAEjC,gBAAAA;AAAA,QAACH;AAAA,QAAA;AAAA,UAEC,OAAO;AAAA,UACP,IAAI,EAAE,SAAS,gBAAgB,OAAO,uBAAuB;AAAA,UAE5D,qBAAWE,sBACR,gBAAAC,MAAC,mBAAgB,IACjB,gBAAAA,MAAC,sBAAmB;AAAA;AAAA,QANnB,QAAQ;AAAA,MAOf;AAAA,IAER;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,SACE,gBAAAA,MAACF,cAAA,EAAY,KAAK,YAAY,OAAO,SAAS,QAAS,GAAG,OACvD,mBAAS,IAAI,CAAC,QAAQ,UAAU,oBAAoB,QAAQ,KAAK,CAAC,GACrE;AAEJ;;;ACrBM,SACE,OAAAG,OADF,QAAAC,cAAA;AAPC,IAAM,0BAA0B,CAAC;AAAA,EACtC;AAAA,EAAK;AAAA,EAAS;AAAA,EAAQ,GAAG;AAC3B,MAAiF;AAC/E,QAAM,eAAe;AAErB,SACE,gBAAAA,OAAC,mBAAgB,KAAU,QAAiB,GAAG,OAC7C;AAAA,oBAAAA,OAAC,mBACC;AAAA,sBAAAD,MAAC,qBAAkB,sBAAQ;AAAA,MAC3B,gBAAAA,MAAC,qBAAkB,SAAS,cAAc,iBAAiB;AAAA,OAC7D;AAAA,IACA,gBAAAC,OAAC,mBACC;AAAA,sBAAAD,MAAC,qBAAkB,qBAAO;AAAA,MAC1B,gBAAAA,MAAC,sBAAmB,WAAW,cAAc,WAAW;AAAA,OAC1D;AAAA,KACF;AAEJ;AAEA,wBAAwB,cAAc;;;ACpCtC,SAAS,aAAAE,kBAAiB;AAE1B;AAAA,EACE;AAAA,EACA,UAAAC;AAAA,EAAQ,YAAAC;AAAA,OACH;AAKP,SAAS,kBAAAC,uBAAsB;AAgCnB,gBAAAC,aAAA;AAhBL,IAAM,yBAAyB,CAAC;AAAA,EACrC;AAAA,EAAK,SAAS;AAAA,EAAO,gBAAgB;AAAA,EAAM;AAAA,EAAmB;AAAA,EAAgB;AAAA,EAAkB;AAAA,EAAgB;AAAA,EAAS,GAAG;AAC9H,MAAgF;AAC9E,QAAM,eAAe;AACrB,QAAM,QAAQC,UAAS;AACvB,QAAM,OAAOC,gBAAe,YAAY;AAExC,SACE,gBAAAF;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,OACE,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS;AAAA,UACT,eACE,gBAAAA;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAM,OAAO,SAAS,MAAM,QAAQ,GAAG,EAAE,QAAQ,MAAM,EAAE,CAAC;AAAA,cAC1D,OAAO;AAAA,cACP,IAAI;AAAA,gBACF,GAAG;AAAA,gBACH,YAAY,MAAM,KAAK,QAAQ,WAAW;AAAA,cAC5C;AAAA;AAAA,UACF;AAAA;AAAA,MAEJ;AAAA,MAEF,QACE,gBAAAH;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,MAED,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,uBAAuB,cAAc;AAOrC,IAAM,iBAAiBI,QAAO,YAAY;AAAA,EACxC,MAAM;AAAA,EACN,mBAAmB,UAAQ,CAAC,CAAC,UAAU,eAAe,EAAE,SAAS,IAAc;AACjF,CAAC,EAAuB,CAAC;AAAA,EACvB;AAAA,EAAO;AAAA,EAAQ;AACjB,OAAO;AAAA,EACL,2BAA2B;AAAA,IACzB,cAAc;AAAA,IACd,WAAW;AAAA,EACb;AAAA,EACA,4BAA4B,EAAE,UAAU,UAAU;AAAA,EAClD,wBAAwB;AAAA,IACtB,GAAI,UAAU,iBAAiB,EAAE,iBAAiB,MAAM,KAAK,QAAQ,KAAK;AAAA,IAC1E,cAAc,aAAa,MAAM,KAAK,QAAQ,OAAO;AAAA,IACrD,eAAe,MAAM,QAAQ,CAAC;AAAA,IAC9B,YAAY,MAAM,QAAQ,CAAC;AAAA,EAC7B;AAAA,EACA,WAAW,GAAG,MAAM,QAAQ,GAAG,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC;AACtD,EAAE;;;APvEE,SACE,OAAAC,OADF,QAAAC,cAAA;AANG,IAAM,2BAA4D,CAAC;AAAA,EACxE;AAAA,EAAS;AAAA,EAAQ,GAAG;AACtB,MAAM;AACJ,QAAM,eAAe;AAErB,SACE,gBAAAA,OAAC,QAAM,GAAG,OACR;AAAA,oBAAAD,MAAC,0BAAuB,SAAS,cAAc,QAAgB,gBAAc,MAAC,kBAAgB,MAAC,gBAAc,MAAC;AAAA,IAC9G,gBAAAA,MAAC,2BAAwB,SAAS,cAAc,QAAgB;AAAA,KAClE;AAEJ;;;AQzBA,SAAS,WAAAE,gBAAe;AACxB,SAAS,eAAe;AAExB,SAAS,sBAAAC,2BAA0B;AACnC,SAAgB,WAAAC,gBAAe;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,mBAAAC,kBAAiB,sBAAAC,2BAA0B;AAGpD,SAAS,kBAAAC,uBAAsB;AAC/B,SAAS,2BAA2B;AAe9B,gBAAAC,OA6BA,QAAAC,cA7BA;AAHN,IAAM,yBAAiF,CAAC,EAAE,aAAa,GAAG,MAAM,MAAM;AACpH,SACE,gBAAAD,MAAC,uBAAoB,oBAAoB,aAAa,gBAAgB,GACpE,0BAAAA,MAAC,+BAA6B,GAAG,OAAO,GAC1C;AAEJ;AAEA,uBAAuB,cAAc;AAErC,IAAM,8BAAkF,CAAC,EAAE,SAAS,GAAG,MAAM,MAAM;AACjH,QAAM,eAAe;AACrB,QAAM,sBAAsB;AAC5B,QAAM,OAAOE,gBAAe,OAAO;AAEnC,QAAM,gBAAgBC,SAAQ,MAAO,sBAAsB,oBAAoB,iBAAiB,SAASC,mBAAkB,IAAI,OAAQ,CAAC,mBAAmB,CAAC;AAE5J,SACE,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,IAAI,CAAC;AAAA,QACH,YAAY;AAAA,QACZ,QAAQ;AAAA,MACV,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAEvD;AAAA,wBAAAL;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AAAA,YAC3B,cAAc,gBAAAA,MAAC,aAAU,cAAc,cAAc;AAAA,YACrD,gBAAgB,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG;AAAA;AAAA,QAC9C;AAAA,QACA,gBAAAA,MAAC,WAAQ,UAAQ,MAAC;AAAA,QAClB,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,QAAQ;AAAA,cACR,IAAI;AAAA,YACN;AAAA,YAEA;AAAA,8BAAAL,MAAC,gBAAa,eAAe,gBAAAA,MAACM,qBAAA,EAAmB,GAAI,SAAQ,YAAW;AAAA,cACxE,gBAAAN,MAAC,6BAA0B,cAAc,cAAc;AAAA;AAAA;AAAA,QACzD;AAAA,QACC,gBAEK,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,QAAQ;AAAA,cACR,IAAI;AAAA,YACN;AAAA,YAEA;AAAA,8BAAAL,MAAC,gBAAa,eAAe,gBAAAA,MAACO,kBAAA,EAAgB,GAAI,SAAQ,mBAAkB;AAAA,cAC5E,gBAAAP,MAAC,mCAAgC,cAAc,cAAc;AAAA;AAAA;AAAA,QAC/D,IAEF;AAAA,QACJ,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,QAAQ;AAAA,cACR,IAAI;AAAA,YACN;AAAA,YAEA;AAAA,8BAAAL,MAAC,gBAAa,eAAe,gBAAAA,MAAC,eAAY,GAAI,SAAQ,cAAa;AAAA,cACnE,gBAAAA,MAAC,8BAA2B,OAAO,cAAc;AAAA;AAAA;AAAA,QACnD;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,4BAA4B,cAAc;;;ACzF1C,SAAS,uBAAAQ,4BAA2B;;;ACJpC,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB,uBAAuB,qBAAqB,6BAA6B;AAEvG;AAAA,EACE,QAAAC;AAAA,EACA,WAAAC;AAAA,EAAS;AAAA,OACJ;;;ACNP,SAAS,aAAa,WAAAC,gBAAe;AACrC,SAAS,YAAAC,iBAAgB;AAGzB,SAAgB,YAAAC,iBAAgB;AAGhC,SAAS,qBAAqB;AAC9B,SAAS,kBAAAC,uBAAsB;;;ACP/B;AAAA,EACE;AAAA,EAAkB;AAAA,EAClB,UAAAC;AAAA,OACK;AAEP,SAAS,sBAAAC,2BAA0B;AAKnC,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,mBAAAC,kBAAiB,sBAAAC,2BAA0B;AAkBhD,SAUqE,OAAAC,OAVrE,QAAAC,cAAA;AARJ,IAAM,+BAA+B,CAAC;AAAA,EACpC;AAAA,EAAK,YAAY;AAAA,EAAG;AAAA,EAAc;AAAA,EAAc,GAAG;AACrD,MAAsF;AACpF,QAAM,eAAe,cAAc,gBAAgB,OAAO,YAAU,WAAWL,mBAAkB,EAAE,UAAU;AAC7G,QAAM,oBAAoB,cAAc,gBAAgB,OAAO,YAAU,WAAWA,mBAAkB,EAAE,UAAU;AAClH,QAAM,UAAU,cAAc,UAAU,UAAU;AAElD,SACE,gBAAAK;AAAA,IAAC;AAAA;AAAA,MACC,YAAU;AAAA,MACV,OAAO;AAAA,MAEP,UAAU,CAAC,QAAwB,aAAqB;AACtD,uBAAe,QAAQ;AAAA,MACzB;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,wBAAAD,MAAC,0BAAuB,OAAO,cAAc,YAAY,IAAI,MAAM,gBAAAA,MAACD,qBAAA,EAAmB,GAAI;AAAA,QAC3F,gBAAAC,MAAC,0BAAuB,OAAO,qBAAqB,iBAAiB,IAAI,MAAM,gBAAAA,MAACF,kBAAA,EAAgB,GAAI;AAAA,QACpG,gBAAAE,MAAC,0BAAuB,OAAO,gBAAgB,OAAO,IAAI,MAAM,gBAAAA,MAACH,cAAA,EAAY,GAAI;AAAA;AAAA;AAAA,EACnF;AAEJ;AAEA,6BAA6B,cAAc;AAG3C,IAAM,yBAAyBK,QAAO,kBAAkB,EAAE,MAAM,yBAAyB,CAAC,EAAE,OAAO,EAAE,YAAY,UAAU,EAAE;;;ACjD7H;AAAA,EACE,SAAAC;AAAA,EAAO;AAAA,EAAK;AAAA,EACZ,YAAAC;AAAA,OACK;AAEP,SAAS,sBAAAC,2BAA0B;AAKnC,SAAS,eAAAC,oBAAmB;AAC5B,SAAS,mBAAAC,kBAAiB,sBAAAC,2BAA0B;AA8BhD,SACkH,OAAAC,OADlH,QAAAC,cAAA;AApBG,IAAM,mBAA+C,CAAC;AAAA,EAC3D;AAAA,EAAU;AAAA,EAAO;AAAA,EAAc,GAAG;AACpC,MAAM;AACJ,QAAM,eAAe,cAAc,gBAAgB,OAAO,YAAU,WAAWL,mBAAkB,EAAE,UAAU;AAC7G,QAAM,oBAAoB,cAAc,gBAAgB,OAAO,YAAU,WAAWA,mBAAkB,EAAE,UAAU;AAClH,QAAM,UAAU,cAAc,UAAU,UAAU;AAClD,QAAM,QAAQD,UAAS;AAEvB,QAAM,eAAe,CAAC,QAAwB,aAAqB;AACjE,eAAW,QAAQ;AAAA,EACrB;AAEA,QAAM,WAAqB;AAAA,IACzB,cAAc;AAAA,IACd,IAAI;AAAA,MACF,WAAW;AAAA,MAAQ,UAAU,MAAM,QAAQ,IAAI;AAAA,MAAG,gBAAgB;AAAA,MAAS,YAAY;AAAA,MAAG,WAAW;AAAA,MAAG,UAAU;AAAA,IACpH;AAAA,EACF;AAEA,SACE,gBAAAM,OAAC,QAAK,aAAY,YAAW,OAAc,UAAU,cAAc,cAAW,oBAAoB,GAAG,OACnG;AAAA,oBAAAD,MAAC,OAAI,WAAWN,QAAO,WAAW,UAAU,IAAI,IAAI,GAAI,GAAG,UAAU,OAAO,cAAc,YAAY,IAAI,MAAM,gBAAAM,MAACD,qBAAA,EAAmB,GAAI;AAAA,IACxI,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC,WAAWN;AAAA,QACX,WAAW,UAAU,IAAI,IAAI;AAAA,QAC5B,GAAG;AAAA,QACJ,OAAO,qBAAqB,iBAAiB;AAAA,QAC7C,MAAM,gBAAAM,MAACF,kBAAA,EAAgB;AAAA;AAAA,IACzB;AAAA,IACA,gBAAAE,MAAC,OAAI,WAAWN,QAAO,WAAW,UAAU,IAAI,IAAI,GAAI,GAAG,UAAU,OAAO,gBAAgB,OAAO,IAAI,MAAM,gBAAAM,MAACH,cAAA,EAAY,GAAI;AAAA,KAChI;AAEJ;;;AFPY,gBAAAK,OACA,QAAAC,cADA;AAxBL,IAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EAAK;AAAA,EAAW;AAAA,EAAc;AAAA,EAAc,GAAG;AACjD,MAA4E;AAC1E,QAAM,EAAE,OAAO,IAAIC,gBAAe;AAClC,QAAM,CAAC,WAAW,YAAY,IAAIC,UAAS,CAAC;AAE5C,SACE,gBAAAF,OAAC,iBAAc,eAAa,MAC1B;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,IAAI;AAAA,UACF,YAAY;AAAA,UACZ,QAAQ,WAAW,UAAa,YAAY,SAAS;AAAA,UACrD,gBAAgB;AAAA,QAClB;AAAA,QAEA,0BAAAA,MAACI,WAAA,EAAS,IAAI,WACZ,0BAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACE,GAAG;AAAA,YACJ,IAAI,CAAC;AAAA,cACH,YAAY;AAAA,cACZ,QAAQ,WAAW,UAAa,YAAY,SAAS;AAAA,YACvD,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,YAEvD;AAAA,8BAAAL,MAAC,oBAAiB,OAAO,WAAW,UAAU,cAAc,cAAc,cAAc;AAAA,cACxF,gBAAAC;AAAA,gBAAC;AAAA;AAAA,kBACC,IAAI;AAAA,oBACF,gBAAgB;AAAA,oBAChB,UAAU;AAAA,oBACV,YAAY;AAAA,oBACZ,iBAAiB;AAAA,kBACnB;AAAA,kBAEC;AAAA,kCAAc,IACX,gBAAAD,MAAC,6BAA0B,cAA4B,SAAQ,cAAa,IAC5E;AAAA,oBACH,cAAc,IACX,gBAAAA,MAAC,mCAAgC,cAA4B,SAAQ,cAAa,IAClF;AAAA,oBACH,cAAc,IACX,gBAAAA,MAAC,8BAA2B,OAAO,cAAc,SAAQ,cAAa,IACtE;AAAA;AAAA;AAAA,cACN;AAAA;AAAA;AAAA,QACF,GACF;AAAA;AAAA,IACF;AAAA,IACA,gBAAAA,MAACI,WAAA,EAAS,IAAI,CAAC,WAAW,eAAa,MACrC,0BAAAJ;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM,eAAe,IAAI;AAAA,QAClC;AAAA,QACA;AAAA,QACA,cAAc;AAAA;AAAA,IAChB,GACF;AAAA,KACF;AAEJ;AAEA,mBAAmB,cAAc;;;ADjDvB,qBAAAM,WACE,OAAAC,OADF,QAAAC,cAAA;AAhBV,IAAM,+BAA+B,CAAC;AAAA,EACpC;AAAA,EAAK;AAAA,EAAS;AAAA,EAAQ,GAAG;AAC3B,MAA0F;AACxF,QAAM,eAAe;AACrB,QAAM,CAAC,WAAW,YAAY,IAAI,cAAuB,CAAC,MAAM;AAEhE,SACE,gBAAAA,OAACC,OAAA,EAAK,KAAW,GAAG,OAClB;AAAA,oBAAAF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,QAClB,mBACE,gBAAAC,OAAAF,WAAA,EACE;AAAA,0BAAAC;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAQ;AAAA,cACR,aAAY;AAAA,cACZ,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;AAAA;AAAA,UACrB;AAAA,UACA,gBAAAH,MAAC,cAAW,SAAS,MAAM,aAAa,CAAC,SAAS,GAC/C,sBACG,gBAAAA,MAAC,yBAAsB,IACvB,gBAAAA,MAAC,yBAAsB,GAC7B;AAAA,WACF;AAAA,QAEF,IAAI,EAAE,WAAW,EAAE;AAAA;AAAA,IACrB;AAAA,IACA,gBAAAA,MAAC,sBAAmB,cAA4B,WAAsB,cAA4B,KAAU;AAAA,KAC9G;AAEJ;AAEA,6BAA6B,cAAc;;;ADtCrC,gBAAAI,aAAA;AALN,IAAM,0BAA0B,CAAC;AAAA,EAC/B;AAAA,EAAK;AAAA,EAAa,GAAG;AACvB,MAA8F;AAC5F,SACE,gBAAAA,MAACC,sBAAA,EAAoB,oBAAoB,aAAa,gBAAgB,GACpE,0BAAAD,MAAC,gCAA6B,KAAW,GAAG,OAAO,GACrD;AAEJ;AAEA,wBAAwB,cAAc;;;AKlBtC,SAAS,WAAAE,gBAAe;AAMxB,SAAS,oBAAoB,0BAA0B;;;ACPvD,SAAS,WAAAC,gBAAe;AACxB,SAAS,cAAAC,mBAAkB;AAC3B,SAAS,cAAAC,mBAAkB;AAE3B,SAAS,yBAAAC,8BAA6B;AAItC,SAAS,UAAU,iBAAAC,sBAAqB;AA2Bb,gBAAAC,aAAA;AAnBpB,IAAM,gCAA8E,CAAC,EAAE,OAAO,GAAG,MAAM,MAAM;AAClH,QAAM,CAAC,SAAS,CAAC,CAAC,IAAIJ,YAAW,YAAY,OAAO,QAAQ,IAAIE,uBAAsB,KAAK,EAAE,SAAS,IAAI,SAAY,CAAC,KAAK,CAAC;AAE7H,MAAI,YAAY;AAChB,MAAI,MAAM,OAAO;AACf,iBAAa,MAAM,aAAa;AAAA,EAClC;AAEA,SACE,gBAAAE,MAACD,gBAAA,EAAc,YAAY,EAAE,UAAU,GAAG,OAAM,cAAa,KAAI,yCAAyC,GAAG,OAC3G,0BAAAC;AAAA,IAAC;AAAA;AAAA,MACC,YAAY,EAAE,UAAU;AAAA,MACxB,OAAM;AAAA,MACN,OAAO,OAAO,WAAW,IAAI,SAAS;AAAA,MACtC,KACE,OAAO,SAAS,IAEV,gBAAAA,MAACL,UAAA,EAAQ,IAAI,EAAE,UAAU,OAAO,GAC7B,iBAAO,IAAI,CAAC,UAAU;AACrB,eAAO,gBAAAK,MAACH,aAAA,EAA6B,gBAAM,SAAS,KAA5B,MAAM,IAAwB;AAAA,MACxD,CAAC,GACH,IAEF,gBAAAG,MAACH,aAAA,EAAW,uBAAS;AAAA,MAE3B,IAAI,EAAE,UAAU,EAAE;AAAA;AAAA,EACpB,GACF;AAEJ;;;ADpBI,SASE,OAAAI,OATF,QAAAC,cAAA;AALJ,IAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EAAK;AAAA,EAAO;AAAA,EAAS;AAAA,EAAU,GAAG;AACpC,MAAsE;AACpE,QAAM,eAAe;AACrB,SACE,gBAAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,IAAI,CAAC;AAAA,QACH,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,KAAK;AAAA,MACP,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAEvD;AAAA,wBAAAF,MAAC,sBAAmB,OAAc,SAAS,cAAc,MAAK,SAAQ,OAAK,MAAC;AAAA,QAC5E,gBAAAA,MAAC,wBAAqB,OAAc,SAAS,cAAc;AAAA,QAC3D,gBAAAA,MAAC,gCAA6B,OAAc,OAAO,cAAc;AAAA,QACjE,gBAAAA,MAAC,iCAA8B,OAAc,OAAO,cAAc;AAAA,QAClE,gBAAAA,MAAC,sBAAmB,OAAc,SAAS,cAAc;AAAA,QACxD;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,oBAAoB,cAAc;;;AEzClC,SAAS,iCAAiC;AAOnC,IAAM,2BAAgD;AAAA,EAC3D,GAAG,0BAA0B;AAAA,IAC3B,WAAW,CAAC,YAAsB,SAAS,WAAW;AAAA,IACtD,YAAY;AAAA,MACV,KAAK,EAAE,YAAY,uBAAuB;AAAA,MAC1C,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACH;",
  "names": ["ellipsize", "FlexRow", "QuickTipButton", "useState", "DialogContent", "jsx", "jsxs", "jsx", "jsxs", "useState", "jsx", "jsx", "jsx", "jsxs", "FlexRow", "QuickTipButton", "ellipsize", "ellipsize", "ListItemIcon", "MenuItem", "useState", "usePayloadHash", "Fragment", "jsx", "jsxs", "usePayloadHash", "useState", "ellipsize", "MenuItem", "ListItemIcon", "FlexGrowRow", "EllipsizeBox", "jsx", "jsxs", "size", "jsx", "jsx", "Link", "jsx", "jsxs", "useMemo", "jsx", "useMemo", "styled", "TableRow", "jsx", "jsxs", "jsx", "jsxs", "jsx", "PropertyGroup", "TableBody", "TableHead", "TableRow", "Typography", "TableRowNoData", "TableCellEx", "TableEx", "ellipsize", "usePromise", "Link", "TableCell", "TableRow", "Typography", "BoundWitnessValidator", "useEvent", "jsx", "jsxs", "jsx", "jsxs", "TableEx", "TableHead", "TableRow", "TableCellEx", "Typography", "TableBody", "TableRowNoData", "jsx", "PropertyGroup", "Identicon", "useLayoutEffect", "useRef", "useState", "jsx", "styled", "styled", "Typography", "jsx", "styled", "Avatar", "AvatarGroup", "BoundWitnessSchema", "jsx", "jsx", "jsxs", "Identicon", "styled", "useTheme", "usePayloadHash", "jsx", "useTheme", "usePayloadHash", "Identicon", "styled", "jsx", "jsxs", "FlexCol", "BoundWitnessSchema", "useMemo", "VscSymbolMethod", "VscSymbolNamespace", "usePayloadHash", "jsx", "jsxs", "usePayloadHash", "useMemo", "BoundWitnessSchema", "FlexCol", "VscSymbolNamespace", "VscSymbolMethod", "TableHeightProvider", "Card", "Divider", "FlexRow", "Collapse", "useState", "useTableHeight", "styled", "BoundWitnessSchema", "FaSignature", "VscSymbolMethod", "VscSymbolNamespace", "jsx", "jsxs", "styled", "Paper", "useTheme", "BoundWitnessSchema", "FaSignature", "VscSymbolMethod", "VscSymbolNamespace", "jsx", "jsxs", "jsx", "jsxs", "useTableHeight", "useState", "Collapse", "FlexRow", "Fragment", "jsx", "jsxs", "Card", "Divider", "jsx", "TableHeightProvider", "FlexCol", "FlexCol", "usePromise", "Typography", "BoundWitnessValidator", "PropertyGroup", "jsx", "jsx", "jsxs", "FlexCol"]
}
