material-react-table 0.9.2 → 0.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"material-react-table.esm.js","sources":["../src/localization.ts","../src/icons.ts","../src/buttons/MRT_ExpandAllButton.tsx","../src/buttons/MRT_ExpandButton.tsx","../src/enums.ts","../src/filtersFNs.ts","../src/menus/MRT_FilterOptionMenu.tsx","../src/buttons/MRT_ColumnPinningButtons.tsx","../src/buttons/MRT_GrabHandleButton.tsx","../src/utils.ts","../src/menus/MRT_ShowHideColumnsMenuItems.tsx","../src/menus/MRT_ShowHideColumnsMenu.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/menus/MRT_RowActionMenu.tsx","../src/buttons/MRT_EditActionButtons.tsx","../src/buttons/MRT_ToggleRowActionMenuButton.tsx","../src/inputs/MRT_SelectCheckbox.tsx","../src/buttons/MRT_FullScreenToggleButton.tsx","../src/buttons/MRT_ShowHideColumnsButton.tsx","../src/buttons/MRT_ToggleDensePaddingButton.tsx","../src/buttons/MRT_ToggleFiltersButton.tsx","../src/buttons/MRT_ToggleGlobalFilterButton.tsx","../src/inputs/MRT_SearchTextField.tsx","../src/toolbar/MRT_ToolbarInternalButtons.tsx","../src/toolbar/MRT_TablePagination.tsx","../src/toolbar/MRT_ToolbarAlertBanner.tsx","../src/toolbar/MRT_LinearProgressBar.tsx","../src/toolbar/MRT_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/inputs/MRT_FilterRangeFields.tsx","../src/head/MRT_TableHeadCellFilterContainer.tsx","../src/head/MRT_TableHeadCellFilterLabel.tsx","../src/head/MRT_TableHeadCellResizeHandle.tsx","../src/head/MRT_TableHeadCellSortLabel.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/head/MRT_DraggableTableHeadCell.tsx","../src/head/MRT_TableHeadRow.tsx","../src/head/MRT_TableHead.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/buttons/MRT_CopyButton.tsx","../src/body/MRT_TableBodyCell.tsx","../src/body/MRT_TableDetailPanel.tsx","../src/body/MRT_TableBodyRow.tsx","../src/body/MRT_TableBody.tsx","../src/footer/MRT_TableFooterCell.tsx","../src/footer/MRT_TableFooterRow.tsx","../src/footer/MRT_TableFooter.tsx","../src/table/MRT_Table.tsx","../src/table/MRT_TableContainer.tsx","../src/table/MRT_TablePaper.tsx","../src/table/MRT_TableRoot.tsx","../src/MaterialReactTable.tsx"],"sourcesContent":["export interface MRT_Localization {\n actions: string;\n and: string;\n cancel: string;\n changeFilterMode: string;\n changeSearchMode: string;\n clearFilter: string;\n clearSearch: string;\n clearSort: string;\n clickToCopy: string;\n columnActions: string;\n copiedToClipboard: string;\n edit: string;\n expand: string;\n expandAll: string;\n filterBetween: string;\n filterByColumn: string;\n filterContains: string;\n filterEmpty: string;\n filterEndsWith: string;\n filterEquals: string;\n filterFuzzy: string;\n filterGreaterThan: string;\n filterLessThan: string;\n filterMode: string;\n filterNotEmpty: string;\n filterNotEquals: string;\n filterStartsWith: string;\n filteringByColumn: string;\n grab: string;\n groupByColumn: string;\n groupedBy: string;\n hideAll: string;\n hideColumn: string;\n max: string;\n min: string;\n pinToLeft: string;\n pinToRight: string;\n resetColumnSize: string;\n resetOrder: string;\n rowActions: string;\n rowNumber: string;\n rowNumbers: string;\n save: string;\n search: string;\n select: string;\n selectedCountOfRowCountRowsSelected: string;\n showAll: string;\n showAllColumns: string;\n showHideColumns: string;\n showHideFilters: string;\n showHideSearch: string;\n sortByColumnAsc: string;\n sortByColumnDesc: string;\n sortedByColumnAsc: string;\n sortedByColumnDesc: string;\n thenBy: string;\n to: string;\n toggleDensePadding: string;\n toggleFullScreen: string;\n toggleSelectAll: string;\n toggleSelectRow: string;\n ungroupByColumn: string;\n unpin: string;\n unpinAll: string;\n unsorted: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actions: 'Actions',\n and: 'and',\n cancel: 'Cancel',\n changeFilterMode: 'Change filter mode',\n changeSearchMode: 'Change search mode',\n clearFilter: 'Clear filter',\n clearSearch: 'Clear search',\n clearSort: 'Clear sort',\n clickToCopy: 'Click to copy',\n columnActions: 'Column Actions',\n copiedToClipboard: 'Copied to clipboard',\n edit: 'Edit',\n expand: 'Expand',\n expandAll: 'Expand all',\n filterBetween: 'Between',\n filterByColumn: 'Filter by {column}',\n filterContains: 'Contains',\n filterEmpty: 'Empty',\n filterEndsWith: 'Ends With',\n filterEquals: 'Equals',\n filterFuzzy: 'Fuzzy',\n filterGreaterThan: 'Greater Than',\n filterLessThan: 'Less Than',\n filterMode: 'Filter Mode: {filterType}',\n filterNotEmpty: 'Not Empty',\n filterNotEquals: 'Not Equals',\n filterStartsWith: 'Starts With',\n filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',\n grab: 'Grab',\n groupByColumn: 'Group by {column}',\n groupedBy: 'Grouped by ',\n hideAll: 'Hide all',\n hideColumn: 'Hide {column} column',\n max: 'Max',\n min: 'Min',\n pinToLeft: 'Pin to left',\n pinToRight: 'Pin to right',\n resetColumnSize: 'Reset column size',\n resetOrder: 'Reset order',\n rowActions: 'Row Actions',\n rowNumber: '#',\n rowNumbers: 'Row Numbers',\n save: 'Save',\n search: 'Search',\n selectedCountOfRowCountRowsSelected:\n '{selectedCount} of {rowCount} row(s) selected',\n select: 'Select',\n showAll: 'Show all',\n showAllColumns: 'Show all columns',\n showHideColumns: 'Show/Hide columns',\n showHideFilters: 'Show/Hide filters',\n showHideSearch: 'Show/Hide search',\n sortByColumnAsc: 'Sort by {column} ascending',\n sortByColumnDesc: 'Sort by {column} descending',\n sortedByColumnAsc: 'Sorted by {column} ascending',\n sortedByColumnDesc: 'Sorted by {column} descending',\n thenBy: ', then by ',\n to: 'to',\n toggleDensePadding: 'Toggle dense padding',\n toggleFullScreen: 'Toggle full screen',\n toggleSelectAll: 'Toggle select all',\n toggleSelectRow: 'Toggle select row',\n ungroupByColumn: 'Ungroup by {column}',\n unpin: 'Unpin',\n unpinAll: 'Unpin all',\n unsorted: 'Unsorted',\n};\n","import {\n ArrowRight,\n Cancel,\n CheckBox,\n ClearAll,\n Close,\n DensityMedium,\n DensitySmall,\n KeyboardDoubleArrowDown,\n DragHandle,\n DynamicFeed,\n Edit,\n ExpandLess,\n ExpandMore,\n FilterAlt,\n FilterAltOff,\n FilterList,\n FilterListOff,\n FullscreenExit,\n Fullscreen,\n MoreHoriz,\n MoreVert,\n PushPin,\n RestartAlt,\n Save,\n Search,\n SearchOff,\n Sort,\n ViewColumn,\n VisibilityOff,\n} from '@mui/icons-material';\n\nexport interface MRT_Icons {\n ArrowRightIcon: any;\n CancelIcon: any;\n CheckBoxIcon: any;\n ClearAllIcon: any;\n CloseIcon: any;\n DensityMediumIcon: any;\n DensitySmallIcon: any;\n KeyboardDoubleArrowDownIcon: any;\n DragHandleIcon: any;\n DynamicFeedIcon: any;\n EditIcon: any;\n ExpandLessIcon: any;\n ExpandMoreIcon: any;\n FilterAltIcon: any;\n FilterAltOffIcon: any;\n FilterListIcon: any;\n FilterListOffIcon: any;\n FullscreenExitIcon: any;\n FullscreenIcon: any;\n MoreHorizIcon: any;\n MoreVertIcon: any;\n PushPinIcon: any;\n RestartAltIcon: any;\n SaveIcon: any;\n SearchIcon: any;\n SearchOffIcon: any;\n SortIcon: any;\n ViewColumnIcon: any;\n VisibilityOffIcon: any;\n}\n\nexport const MRT_Default_Icons: MRT_Icons = {\n ArrowRightIcon: ArrowRight,\n CancelIcon: Cancel,\n CheckBoxIcon: CheckBox,\n ClearAllIcon: ClearAll,\n CloseIcon: Close,\n DensityMediumIcon: DensityMedium,\n DensitySmallIcon: DensitySmall,\n KeyboardDoubleArrowDownIcon: KeyboardDoubleArrowDown,\n DragHandleIcon: DragHandle,\n DynamicFeedIcon: DynamicFeed,\n EditIcon: Edit,\n ExpandLessIcon: ExpandLess,\n ExpandMoreIcon: ExpandMore,\n FilterAltIcon: FilterAlt,\n FilterAltOffIcon: FilterAltOff,\n FilterListIcon: FilterList,\n FilterListOffIcon: FilterListOff,\n FullscreenExitIcon: FullscreenExit,\n FullscreenIcon: Fullscreen,\n MoreHorizIcon: MoreHoriz,\n MoreVertIcon: MoreVert,\n PushPinIcon: PushPin,\n RestartAltIcon: RestartAlt,\n SaveIcon: Save,\n SearchIcon: Search,\n SearchOffIcon: SearchOff,\n SortIcon: Sort,\n ViewColumnIcon: ViewColumn,\n VisibilityOffIcon: VisibilityOff,\n};\n","import React, { FC } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandAllButton: FC<Props> = ({ tableInstance }) => {\n const {\n getIsAllRowsExpanded,\n getIsSomeRowsExpanded,\n getCanSomeRowsExpand,\n getState,\n options: {\n icons: { KeyboardDoubleArrowDownIcon },\n localization,\n renderDetailPanel,\n },\n toggleAllRowsExpanded,\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.expandAll}\n >\n <IconButton\n aria-label={localization.expandAll}\n disabled={!getCanSomeRowsExpand() && !renderDetailPanel}\n onClick={() => toggleAllRowsExpanded(!getIsAllRowsExpanded())}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <KeyboardDoubleArrowDownIcon\n style={{\n transform: `rotate(${\n getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { ExpandMoreIcon },\n localization,\n onMrtRowExpandChange,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {\n row.toggleExpanded();\n onMrtRowExpandChange?.({ event, row, tableInstance });\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.expand}\n >\n <IconButton\n aria-label={localization.expand}\n disabled={!row.getCanExpand() && !renderDetailPanel}\n onClick={handleToggleExpand}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <ExpandMoreIcon\n style={{\n transform: `rotate(${\n !row.getCanExpand() && !renderDetailPanel\n ? -90\n : row.getIsExpanded()\n ? -180\n : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n </Tooltip>\n );\n};\n","export enum MRT_FILTER_OPTION {\n BETWEEN = 'between',\n CONTAINS = 'contains',\n EMPTY = 'empty',\n ENDS_WITH = 'endsWith',\n EQUALS = 'equals',\n FUZZY = 'fuzzy',\n GREATER_THAN = 'greaterThan',\n LESS_THAN = 'lessThan',\n NOT_EMPTY = 'notEmpty',\n NOT_EQUALS = 'notEquals',\n STARTS_WITH = 'startsWith',\n}\n","import { rankItem, rankings, RankingInfo } from '@tanstack/match-sorter-utils';\nimport { MRT_Row } from '.';\n\nexport const fuzzy = (\n row: MRT_Row,\n columnId: string,\n value: string,\n addMeta: (item: RankingInfo) => void,\n) => {\n const itemRank = rankItem(row.getValue(columnId), value, {\n threshold: rankings.MATCHES,\n });\n addMeta(itemRank);\n return itemRank.passed;\n};\n\nfuzzy.autoRemove = (val: any) => !val;\n\nexport const contains = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row\n .getValue(id)\n .toString()\n .toLowerCase()\n .trim()\n .includes(filterValue.toString().toLowerCase().trim());\n\ncontains.autoRemove = (val: any) => !val;\n\nexport const startsWith = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row\n .getValue(id)\n .toString()\n .toLowerCase()\n .trim()\n .startsWith(filterValue.toString().toLowerCase().trim());\n\nstartsWith.autoRemove = (val: any) => !val;\n\nexport const endsWith = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row\n .getValue(id)\n .toString()\n .toLowerCase()\n .trim()\n .endsWith(filterValue.toString().toLowerCase().trim());\n\nendsWith.autoRemove = (val: any) => !val;\n\nexport const equals = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row.getValue(id).toString().toLowerCase().trim() ===\n filterValue.toString().toLowerCase().trim();\n\nequals.autoRemove = (val: any) => !val;\n\nexport const notEquals = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row.getValue(id).toString().toLowerCase().trim() !==\n filterValue.toString().toLowerCase().trim();\n\nnotEquals.autoRemove = (val: any) => !val;\n\nexport const greaterThan = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n !isNaN(+filterValue) && !isNaN(+row.getValue(id))\n ? +row.getValue(id) >= +filterValue\n : row.getValue(id).toString().toLowerCase().trim() >\n filterValue.toString().toLowerCase().trim();\n\ngreaterThan.autoRemove = (val: any) => !val;\n\nexport const lessThan = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n !isNaN(+filterValue) && !isNaN(+row.getValue(id))\n ? +row.getValue(id) <= +filterValue\n : row.getValue(id).toString().toLowerCase().trim() <\n filterValue.toString().toLowerCase().trim();\n\nlessThan.autoRemove = (val: any) => !val;\n\nexport const between = (\n row: MRT_Row,\n id: string,\n filterValues: [string | number, string | number],\n) =>\n ((['', undefined] as any[]).includes(filterValues[0]) ||\n greaterThan(row, id, filterValues[0])) &&\n ((!isNaN(+filterValues[0]) &&\n !isNaN(+filterValues[1]) &&\n +filterValues[0] > +filterValues[1]) ||\n (['', undefined] as any[]).includes(filterValues[1]) ||\n lessThan(row, id, filterValues[1]));\n\nbetween.autoRemove = (val: any) => !val;\n\nexport const empty = (\n row: MRT_Row,\n id: string,\n _filterValue: string | number,\n) => !row.getValue(id).toString().trim();\n\nempty.autoRemove = (val: any) => !val;\n\nexport const notEmpty = (\n row: MRT_Row,\n id: string,\n _filterValue: string | number,\n) => !!row.getValue(id).toString().trim();\n\nnotEmpty.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n between,\n contains,\n empty,\n endsWith,\n equals,\n fuzzy,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n};\n","import React, { FC, useMemo } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport type { MRT_FilterFn, MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FILTER_OPTION } from '../enums';\nimport {\n between,\n contains,\n empty,\n endsWith,\n equals,\n fuzzy,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n} from '../filtersFNs';\n\nconst commonMenuItemStyles = {\n py: '6px',\n my: 0,\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header?: MRT_Header;\n onSelect?: () => void;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterOptionMenu: FC<Props> = ({\n anchorEl,\n header,\n onSelect,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: { enabledGlobalFilterOptions, localization },\n setCurrentFilterFns,\n setCurrentGlobalFilterFn,\n } = tableInstance;\n\n const { isDensePadding, currentFilterFns, currentGlobalFilterFn } =\n getState();\n\n const { column } = header ?? {};\n\n const { columnDef } = column ?? {};\n\n const filterOptions: {\n option: MRT_FILTER_OPTION;\n label: string;\n divider: boolean;\n fn: Function;\n }[] = useMemo(\n () =>\n [\n {\n option: MRT_FILTER_OPTION.FUZZY,\n label: localization.filterFuzzy,\n divider: false,\n fn: fuzzy,\n },\n {\n option: MRT_FILTER_OPTION.CONTAINS,\n label: localization.filterContains,\n divider: false,\n fn: contains,\n },\n {\n option: MRT_FILTER_OPTION.STARTS_WITH,\n label: localization.filterStartsWith,\n divider: false,\n fn: startsWith,\n },\n {\n option: MRT_FILTER_OPTION.ENDS_WITH,\n label: localization.filterEndsWith,\n divider: true,\n fn: endsWith,\n },\n {\n option: MRT_FILTER_OPTION.EQUALS,\n label: localization.filterEquals,\n divider: false,\n fn: equals,\n },\n {\n option: MRT_FILTER_OPTION.NOT_EQUALS,\n label: localization.filterNotEquals,\n divider: true,\n fn: notEquals,\n },\n {\n option: MRT_FILTER_OPTION.BETWEEN,\n label: localization.filterBetween,\n divider: false,\n fn: between,\n },\n {\n option: MRT_FILTER_OPTION.GREATER_THAN,\n label: localization.filterGreaterThan,\n divider: false,\n fn: greaterThan,\n },\n {\n option: MRT_FILTER_OPTION.LESS_THAN,\n label: localization.filterLessThan,\n divider: true,\n fn: lessThan,\n },\n {\n option: MRT_FILTER_OPTION.EMPTY,\n label: localization.filterEmpty,\n divider: false,\n fn: empty,\n },\n {\n option: MRT_FILTER_OPTION.NOT_EMPTY,\n label: localization.filterNotEmpty,\n divider: false,\n fn: notEmpty,\n },\n ].filter((filterType) =>\n columnDef\n ? !columnDef.enabledColumnFilterOptions ||\n columnDef.enabledColumnFilterOptions.includes(filterType.option)\n : (!enabledGlobalFilterOptions ||\n enabledGlobalFilterOptions.includes(filterType.option)) &&\n [MRT_FILTER_OPTION.FUZZY, MRT_FILTER_OPTION.CONTAINS].includes(\n filterType.option,\n ),\n ),\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FILTER_OPTION) => {\n if (header && column) {\n setCurrentFilterFns((prev: { [key: string]: MRT_FilterFn }) => ({\n ...prev,\n [header.id]: value,\n }));\n if (\n [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)\n ) {\n column.setFilterValue(' ');\n } else if (value === MRT_FILTER_OPTION.BETWEEN) {\n column.setFilterValue(['', '']);\n } else {\n column.setFilterValue('');\n }\n } else {\n setCurrentGlobalFilterFn(value);\n }\n setAnchorEl(null);\n onSelect?.();\n };\n\n const filterOption = !!header\n ? currentFilterFns[header.id]\n : currentGlobalFilterFn;\n\n return (\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'center', horizontal: 'right' }}\n onClose={() => setAnchorEl(null)}\n open={!!anchorEl}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {filterOptions.map(({ option, label, divider, fn }, index) => (\n <MenuItem\n divider={divider}\n key={index}\n onClick={() => handleSelectFilterType(option)}\n selected={option === filterOption || fn === filterOption}\n sx={commonMenuItemStyles}\n value={option}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n column: MRT_Column;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ColumnPinningButtons: FC<Props> = ({\n column,\n tableInstance,\n}) => {\n const {\n options: {\n icons: { PushPinIcon },\n localization,\n },\n } = tableInstance;\n\n const handlePinColumn = (pinDirection: 'left' | 'right' | false) => {\n column.pin(pinDirection);\n };\n\n return (\n <Box sx={{ minWidth: '70px', textAlign: 'center' }}>\n {column.getIsPinned() ? (\n <Tooltip arrow title={localization.unpin}>\n <IconButton onClick={() => handlePinColumn(false)} size=\"small\">\n <PushPinIcon />\n </IconButton>\n </Tooltip>\n ) : (\n <>\n <Tooltip arrow title={localization.pinToLeft}>\n <IconButton onClick={() => handlePinColumn('left')} size=\"small\">\n <PushPinIcon\n style={{\n transform: 'rotate(90deg)',\n }}\n />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.pinToRight}>\n <IconButton onClick={() => handlePinColumn('right')} size=\"small\">\n <PushPinIcon\n style={{\n transform: 'rotate(-90deg)',\n }}\n />\n </IconButton>\n </Tooltip>\n </>\n )}\n </Box>\n );\n};\n","import { IconButton, Tooltip } from '@mui/material';\nimport React, { FC, forwardRef, Ref } from 'react';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n ref: Ref<HTMLButtonElement>;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_GrabHandleButton: FC<Props> = forwardRef(\n ({ tableInstance }, ref) => {\n const {\n options: {\n icons: { DragHandleIcon },\n localization,\n },\n } = tableInstance;\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.grab}\n >\n <IconButton\n disableRipple\n ref={ref}\n size=\"small\"\n sx={{\n cursor: 'grab',\n m: 0,\n opacity: 0.5,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 1,\n },\n '&:active': {\n cursor: 'grabbing',\n },\n }}\n >\n <DragHandleIcon />\n </IconButton>\n </Tooltip>\n );\n },\n);\n","import {\n ColumnDef,\n ColumnOrderState,\n Table,\n Updater,\n} from '@tanstack/react-table';\nimport { MRT_Column, MRT_ColumnDef, MRT_FilterFn } from '.';\nimport { MRT_FILTER_OPTION } from './enums';\nimport { defaultFilterFNs } from './filtersFNs';\n\nexport const getAllLeafColumnDefs = (\n columns: MRT_ColumnDef[],\n): MRT_ColumnDef[] => {\n let lowestLevelColumns: MRT_ColumnDef[] = columns;\n let currentCols: MRT_ColumnDef[] | undefined = columns;\n while (!!currentCols?.length && currentCols.some((col) => col.columns)) {\n const nextCols: MRT_ColumnDef[] = currentCols\n .filter((col) => !!col.columns)\n .map((col) => col.columns)\n .flat() as MRT_ColumnDef[];\n if (nextCols.every((col) => !col?.columns)) {\n lowestLevelColumns = [...lowestLevelColumns, ...nextCols];\n }\n currentCols = nextCols;\n }\n return lowestLevelColumns.filter((col) => !col.columns);\n};\n\nexport const createGroup = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnDef<D>,\n currentFilterFns: { [key: string]: MRT_FilterFn },\n): ColumnDef<D> =>\n table.createGroup({\n ...column,\n columns: column?.columns?.map?.((col) =>\n col.columns\n ? createGroup<D>(table, col, currentFilterFns)\n : createDataColumn(table, col, currentFilterFns),\n ),\n } as any);\n\nexport const createDataColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnDef<D>,\n currentFilterFns: { [key: string]: MRT_FilterFn },\n): ColumnDef<D> => // @ts-ignore\n table.createDataColumn(column.id, {\n filterFn:\n currentFilterFns[column.id] instanceof Function\n ? currentFilterFns[column.id]\n : defaultFilterFNs[currentFilterFns[column.id] as MRT_FILTER_OPTION],\n ...column,\n }) as any;\n\nexport const createDisplayColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: Omit<MRT_ColumnDef<D>, 'header'> & { header?: string },\n): ColumnDef<D> => table.createDisplayColumn(column as ColumnDef<D>);\n\nexport const reorderColumn = (\n movingColumn: MRT_Column,\n receivingColumn: MRT_Column,\n columnOrder: ColumnOrderState,\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void,\n) => {\n if (movingColumn.getCanPin()) {\n movingColumn.pin(receivingColumn.getIsPinned());\n }\n columnOrder.splice(\n columnOrder.indexOf(receivingColumn.id),\n 0,\n columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0],\n );\n setColumnOrder([...columnOrder]);\n};\n","import React, { FC, Ref } from 'react';\nimport { useDrag, useDrop } from 'react-dnd';\nimport { Box, FormControlLabel, MenuItem, Switch } from '@mui/material';\nimport { MRT_ColumnPinningButtons } from '../buttons/MRT_ColumnPinningButtons';\nimport { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';\nimport { reorderColumn } from '../utils';\nimport type { MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n allColumns: MRT_Column[];\n column: MRT_Column;\n isSubMenu?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenuItems: FC<Props> = ({\n allColumns,\n column,\n isSubMenu,\n tableInstance,\n}) => {\n const {\n getState,\n options: { enableColumnOrdering, onMrtToggleColumnVisibility },\n setColumnOrder,\n } = tableInstance;\n\n const { columnOrder, columnVisibility } = getState();\n\n const { columnDef, columnDefType } = column;\n\n const [, dropRef] = useDrop({\n accept: 'column',\n drop: (movingColumn: MRT_Column) =>\n reorderColumn(movingColumn, column, columnOrder, setColumnOrder),\n });\n\n const [, dragRef, previewRef] = useDrag({\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n item: () => column,\n type: 'column',\n });\n\n const switchChecked =\n (columnDefType !== 'group' && column.getIsVisible()) ||\n (columnDefType === 'group' &&\n column.getLeafColumns().some((col) => col.getIsVisible()));\n\n const handleToggleColumnHidden = (column: MRT_Column) => {\n if (columnDefType === 'group') {\n column?.columns?.forEach?.((childColumn: MRT_Column) => {\n childColumn.toggleVisibility(!switchChecked);\n });\n } else {\n column.toggleVisibility();\n }\n onMrtToggleColumnVisibility?.({\n column,\n columnVisibility,\n tableInstance,\n });\n };\n\n return (\n <>\n <MenuItem\n ref={columnDefType === 'data' ? dropRef : undefined}\n sx={{\n alignItems: 'center',\n justifyContent: 'flex-start',\n my: 0,\n pl: `${(column.depth + 0.5) * 2}rem`,\n py: '6px',\n }}\n >\n <Box\n ref={previewRef}\n sx={{\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '8px',\n }}\n >\n {columnDefType !== 'group' &&\n enableColumnOrdering &&\n columnDef.enableColumnOrdering !== false &&\n !allColumns.some((col) => col.columnDefType === 'group') && (\n <MRT_GrabHandleButton\n ref={dragRef as Ref<HTMLButtonElement>}\n tableInstance={tableInstance}\n />\n )}\n {!isSubMenu && column.getCanPin() && (\n <MRT_ColumnPinningButtons\n column={column}\n tableInstance={tableInstance}\n />\n )}\n <FormControlLabel\n componentsProps={{\n typography: {\n sx: {\n mb: 0,\n opacity: columnDefType !== 'display' ? 1 : 0.5,\n },\n },\n }}\n checked={switchChecked}\n control={<Switch />}\n disabled={\n (isSubMenu && switchChecked) ||\n !column.getCanHide() ||\n column.getIsGrouped()\n }\n label={columnDef.header}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </Box>\n </MenuItem>\n {column.columns?.map((c: MRT_Column, i) => (\n <MRT_ShowHideColumnsMenuItems\n allColumns={allColumns}\n key={`${i}-${c.id}`}\n column={c}\n isSubMenu={isSubMenu}\n tableInstance={tableInstance}\n />\n ))}\n </>\n );\n};\n","import React, { FC, useMemo } from 'react';\nimport { Button, Menu, Divider, Box } from '@mui/material';\nimport { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';\nimport type { MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n isSubMenu?: boolean;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({\n anchorEl,\n isSubMenu,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getAllColumns,\n getAllLeafColumns,\n getCenterLeafColumns,\n getIsAllColumnsVisible,\n getIsSomeColumnsPinned,\n getIsSomeColumnsVisible,\n getLeftLeafColumns,\n getRightLeafColumns,\n getState,\n toggleAllColumnsVisible,\n options: { localization, enablePinning, enableColumnOrdering },\n } = tableInstance;\n\n const { isDensePadding, columnOrder, columnPinning } = getState();\n\n const hideAllColumns = () => {\n getAllLeafColumns()\n .filter((col) => col.columnDef.enableHiding !== false)\n .forEach((col) => col.toggleVisibility(false));\n };\n\n const allColumns = useMemo(() => {\n const columns = getAllColumns();\n if (\n columnOrder.length > 0 &&\n !columns.some((col) => col.columnDefType === 'group')\n ) {\n return [\n ...getLeftLeafColumns(),\n ...Array.from(new Set(columnOrder)).map((colId) =>\n getCenterLeafColumns().find((col) => col?.id === colId),\n ),\n ...getRightLeafColumns(),\n ].filter(Boolean);\n }\n return columns;\n }, [\n columnOrder,\n columnPinning,\n getAllColumns(),\n getCenterLeafColumns(),\n getLeftLeafColumns(),\n getRightLeafColumns(),\n ]) as MRT_Column[];\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: isSubMenu ? 'center' : 'space-between',\n p: '0.5rem',\n pt: 0,\n }}\n >\n {!isSubMenu && (\n <Button\n disabled={!getIsSomeColumnsVisible()}\n onClick={hideAllColumns}\n >\n {localization.hideAll}\n </Button>\n )}\n {!isSubMenu && enableColumnOrdering && (\n <Button onClick={() => tableInstance.resetColumnOrder()}>\n {localization.resetOrder}\n </Button>\n )}\n {!isSubMenu && enablePinning && (\n <Button\n disabled={!getIsSomeColumnsPinned()}\n onClick={() => tableInstance.resetColumnPinning(true)}\n >\n {localization.unpinAll}\n </Button>\n )}\n <Button\n disabled={getIsAllColumnsVisible()}\n onClick={() => toggleAllColumnsVisible(true)}\n >\n {localization.showAll}\n </Button>\n </Box>\n <Divider />\n {allColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n allColumns={allColumns}\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n </Menu>\n );\n};\n","import React, { FC, useState } from 'react';\nimport { Box, IconButton, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterOptionMenu } from './MRT_FilterOptionMenu';\nimport { MRT_ShowHideColumnsMenu } from './MRT_ShowHideColumnsMenu';\n\nexport const commonMenuItemStyles = {\n py: '6px',\n my: 0,\n justifyContent: 'space-between',\n alignItems: 'center',\n};\n\nexport const commonListItemStyles = {\n display: 'flex',\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header: MRT_Header;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ColumnActionMenu: FC<Props> = ({\n anchorEl,\n header,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n toggleAllColumnsVisible,\n setColumnOrder,\n options: {\n enableColumnFilters,\n enableColumnResizing,\n enableGrouping,\n enableHiding,\n enablePinning,\n enableSorting,\n icons: {\n ArrowRightIcon,\n ClearAllIcon,\n ViewColumnIcon,\n DynamicFeedIcon,\n FilterListIcon,\n FilterListOffIcon,\n PushPinIcon,\n SortIcon,\n RestartAltIcon,\n VisibilityOffIcon,\n },\n tableId,\n localization,\n },\n setShowFilters,\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const { columnSizing, columnVisibility, isDensePadding } = getState();\n\n const [filterMenuAnchorEl, setFilterMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const [showHideColumnsMenuAnchorEl, setShowHideColumnsMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const handleClearSort = () => {\n column.clearSorting();\n setAnchorEl(null);\n };\n\n const handleSortAsc = () => {\n column.toggleSorting(false);\n setAnchorEl(null);\n };\n\n const handleSortDesc = () => {\n column.toggleSorting(true);\n setAnchorEl(null);\n };\n\n const handleResetColumnSize = () => {\n column.resetSize();\n setAnchorEl(null);\n };\n\n const handleHideColumn = () => {\n column.toggleVisibility(false);\n setAnchorEl(null);\n };\n\n const handlePinColumn = (pinDirection: 'left' | 'right' | false) => {\n column.pin(pinDirection);\n setAnchorEl(null);\n };\n\n const handleGroupByColumn = () => {\n column.toggleGrouping();\n setColumnOrder((old) => ['mrt-expand', ...old]);\n setAnchorEl(null);\n };\n\n const handleClearFilter = () => {\n column.setFilterValue('');\n setAnchorEl(null);\n };\n\n const handleFilterByColumn = () => {\n setShowFilters(true);\n setTimeout(\n () =>\n document\n .getElementById(\n // @ts-ignore\n header.muiTableHeadCellFilterTextFieldProps?.id ??\n `mrt-${tableId}-${header.id}-filter-text-field`,\n )\n ?.focus(),\n 200,\n );\n setAnchorEl(null);\n };\n\n const handleShowAllColumns = () => {\n toggleAllColumnsVisible(true);\n setAnchorEl(null);\n };\n\n const handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(event.currentTarget);\n };\n\n const handleOpenShowHideColumnsMenu = (\n event: React.MouseEvent<HTMLElement>,\n ) => {\n event.stopPropagation();\n setShowHideColumnsMenuAnchorEl(event.currentTarget);\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableSorting &&\n column.getCanSort() && [\n <MenuItem\n disabled={!column.getIsSorted()}\n key={0}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ClearAllIcon />\n </ListItemIcon>\n {localization.clearSort}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsSorted() === 'asc'}\n key={1}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon />\n </ListItemIcon>\n {localization.sortByColumnAsc?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableColumnFilters || enableGrouping || enableHiding}\n key={2}\n disabled={column.getIsSorted() === 'desc'}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n </ListItemIcon>\n {localization.sortByColumnDesc?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnFilters &&\n column.getCanFilter() && [\n <MenuItem\n disabled={!column.getFilterValue()}\n key={0}\n onClick={handleClearFilter}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListOffIcon />\n </ListItemIcon>\n {localization.clearFilter}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableGrouping || enableHiding}\n key={1}\n onClick={handleFilterByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListIcon />\n </ListItemIcon>\n {localization.filterByColumn?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n {!columnDef.filterSelectOptions && (\n <IconButton\n onClick={handleOpenFilterModeMenu}\n onMouseEnter={handleOpenFilterModeMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </MenuItem>,\n <MRT_FilterOptionMenu\n anchorEl={filterMenuAnchorEl}\n header={header}\n key={2}\n onSelect={handleFilterByColumn}\n setAnchorEl={setFilterMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n {enableGrouping &&\n column.getCanGroup() && [\n <MenuItem\n divider={enablePinning}\n key={0}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <DynamicFeedIcon />\n </ListItemIcon>\n {localization[\n column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn'\n ]?.replace('{column}', String(columnDef.header))}\n </Box>\n </MenuItem>,\n ]}\n {enablePinning &&\n column.getCanPin() && [\n <MenuItem\n disabled={column.getIsPinned() === 'left' || !column.getCanPin()}\n key={0}\n onClick={() => handlePinColumn('left')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(90deg)' }} />\n </ListItemIcon>\n {localization.pinToLeft}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsPinned() === 'right' || !column.getCanPin()}\n key={1}\n onClick={() => handlePinColumn('right')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(-90deg)' }} />\n </ListItemIcon>\n {localization.pinToRight}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={!column.getIsPinned()}\n divider={enableHiding}\n key={2}\n onClick={() => handlePinColumn(false)}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon />\n </ListItemIcon>\n {localization.unpin}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnResizing && [\n <MenuItem\n disabled={!column.getCanResize() || !columnSizing[column.id]}\n key={0}\n onClick={handleResetColumnSize}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <RestartAltIcon />\n </ListItemIcon>\n {localization.resetColumnSize}\n </Box>\n </MenuItem>,\n ]}\n {enableHiding && [\n <MenuItem\n disabled={columnDef.enableHiding === false}\n key={0}\n onClick={handleHideColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <VisibilityOffIcon />\n </ListItemIcon>\n {localization.hideColumn?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={\n !Object.values(columnVisibility).filter((visible) => !visible)\n .length\n }\n key={1}\n onClick={handleShowAllColumns}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ViewColumnIcon />\n </ListItemIcon>\n {localization.showAllColumns?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n <IconButton\n onClick={handleOpenShowHideColumnsMenu}\n onMouseEnter={handleOpenShowHideColumnsMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n </MenuItem>,\n <MRT_ShowHideColumnsMenu\n anchorEl={showHideColumnsMenuAnchorEl}\n isSubMenu\n key={2}\n setAnchorEl={setShowHideColumnsMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\nimport {\n commonListItemStyles,\n commonMenuItemStyles,\n} from './MRT_ColumnActionMenu';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n handleEdit: () => void;\n row: MRT_Row;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_RowActionMenu: FC<Props> = ({\n anchorEl,\n handleEdit,\n row,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { EditIcon },\n enableEditing,\n localization,\n renderRowActionMenuItems,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableEditing && (\n <MenuItem onClick={handleEdit} sx={commonMenuItemStyles}>\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <EditIcon />\n </ListItemIcon>\n {localization.edit}\n </Box>\n </MenuItem>\n )}\n {renderRowActionMenuItems?.({\n row,\n tableInstance,\n closeMenu: () => setAnchorEl(null),\n })}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditActionButtons: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { CancelIcon, SaveIcon },\n localization,\n onMrtEditRowSubmit,\n },\n setCurrentEditingRow,\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const handleCancel = () => {\n row._valuesCache = row.original ?? {};\n setCurrentEditingRow(null);\n };\n\n const handleSave = () => {\n onMrtEditRowSubmit?.({ row: currentEditingRow ?? row, tableInstance });\n setCurrentEditingRow(null);\n };\n\n return (\n <Box sx={{ display: 'flex', gap: '0.75rem' }}>\n <Tooltip arrow title={localization.cancel}>\n <IconButton aria-label={localization.cancel} onClick={handleCancel}>\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.save}>\n <IconButton\n aria-label={localization.save}\n color=\"info\"\n onClick={handleSave}\n >\n <SaveIcon />\n </IconButton>\n </Tooltip>\n </Box>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';\nimport { MRT_EditActionButtons } from './MRT_EditActionButtons';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\nconst commonIconButtonStyles = {\n height: '2rem',\n ml: '10px',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n};\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleRowActionMenuButton: FC<Props> = ({\n row,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enableEditing,\n icons: { EditIcon, MoreHorizIcon },\n localization,\n renderRowActionMenuItems,\n renderRowActions,\n },\n setCurrentEditingRow,\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleOpenRowActionMenu = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const handleStartEditMode = () => {\n setCurrentEditingRow({ ...row });\n setAnchorEl(null);\n };\n\n return (\n <>\n {renderRowActions ? (\n <>{renderRowActions({ row, tableInstance })}</>\n ) : row.id === currentEditingRow?.id ? (\n <MRT_EditActionButtons row={row} tableInstance={tableInstance} />\n ) : !renderRowActionMenuItems && enableEditing ? (\n <Tooltip placement=\"right\" arrow title={localization.edit}>\n <IconButton sx={commonIconButtonStyles} onClick={handleStartEditMode}>\n <EditIcon />\n </IconButton>\n </Tooltip>\n ) : renderRowActionMenuItems ? (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.rowActions}\n >\n <IconButton\n aria-label={localization.rowActions}\n onClick={handleOpenRowActionMenu}\n size=\"small\"\n sx={commonIconButtonStyles}\n >\n <MoreHorizIcon />\n </IconButton>\n </Tooltip>\n <MRT_RowActionMenu\n anchorEl={anchorEl}\n handleEdit={handleStartEditMode}\n row={row}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n ) : null}\n </>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({\n row,\n selectAll,\n tableInstance,\n}) => {\n const {\n getRowModel,\n getSelectedRowModel,\n getState,\n options: {\n localization,\n muiSelectCheckboxProps,\n onMrtSelectRowChange,\n onMrtSelectAllChange,\n selectAllMode,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n if (selectAllMode === 'all') {\n tableInstance.getToggleAllRowsSelectedHandler()(event as any);\n } else if (selectAllMode === 'page') {\n tableInstance.getToggleAllPageRowsSelectedHandler()(event as any);\n }\n onMrtSelectAllChange?.({\n event,\n selectedRows: event.target.checked ? getRowModel().flatRows : [],\n tableInstance,\n });\n } else if (row) {\n row?.getToggleSelectedHandler()(event as any);\n onMrtSelectRowChange?.({\n event,\n row,\n selectedRows: event.target.checked\n ? [...getSelectedRowModel().flatRows, row]\n : getSelectedRowModel().flatRows.filter(\n (selectedRow) => selectedRow.id !== row.id,\n ),\n tableInstance,\n });\n }\n };\n\n const checkboxProps =\n muiSelectCheckboxProps instanceof Function\n ? muiSelectCheckboxProps({ isSelectAll: !!selectAll, row, tableInstance })\n : muiSelectCheckboxProps;\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll ? localization.toggleSelectAll : localization.toggleSelectRow\n }\n >\n <Checkbox\n checked={\n selectAll\n ? tableInstance.getIsAllRowsSelected()\n : row?.getIsSelected()\n }\n indeterminate={\n selectAll\n ? tableInstance.getIsSomeRowsSelected()\n : row?.getIsSomeSelected()\n }\n inputProps={{\n 'aria-label': selectAll\n ? localization.toggleSelectAll\n : localization.toggleSelectRow,\n }}\n onChange={handleSelectChange}\n size={isDensePadding ? 'small' : 'medium'}\n {...checkboxProps}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n ...checkboxProps?.sx,\n }}\n />\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FullScreenToggleButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FullscreenExitIcon, FullscreenIcon },\n localization,\n onMrtToggleFullScreen,\n },\n setIsFullScreen,\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const handleToggleFullScreen = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleFullScreen?.({\n event,\n isFullScreen: !isFullScreen,\n tableInstance,\n });\n setIsFullScreen(!isFullScreen);\n };\n\n return (\n <Tooltip arrow title={localization.toggleFullScreen}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={handleToggleFullScreen}\n {...rest}\n >\n {isFullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip, IconButtonProps } from '@mui/material';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n options: {\n icons: { ViewColumnIcon },\n localization,\n },\n } = tableInstance;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n return (\n <>\n <Tooltip arrow title={localization.showHideColumns}>\n <IconButton\n aria-label={localization.showHideColumns}\n onClick={handleClick}\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\n <MRT_ShowHideColumnsMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleDensePaddingButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { DensityMediumIcon, DensitySmallIcon },\n localization,\n onMrtToggleDensePadding,\n },\n setIsDensePadding,\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleToggleDensePadding = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleDensePadding?.({\n event,\n isDensePadding: !isDensePadding,\n tableInstance,\n });\n setIsDensePadding(!isDensePadding);\n };\n\n return (\n <Tooltip arrow title={localization.toggleDensePadding}>\n <IconButton\n aria-label={localization.toggleDensePadding}\n onClick={handleToggleDensePadding}\n {...rest}\n >\n {isDensePadding ? <DensitySmallIcon /> : <DensityMediumIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleFiltersButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, FilterListOffIcon },\n localization,\n onMrtToggleShowFilters,\n },\n setShowFilters,\n } = tableInstance;\n\n const { showFilters } = getState();\n\n const handleToggleShowFilters = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleShowFilters?.({\n event,\n showFilters: !showFilters,\n tableInstance,\n });\n setShowFilters(!showFilters);\n };\n\n return (\n <Tooltip arrow title={localization.showHideFilters}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={handleToggleShowFilters}\n {...rest}\n >\n {showFilters ? <FilterListOffIcon /> : <FilterListIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleGlobalFilterButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { SearchIcon, SearchOffIcon },\n tableId,\n localization,\n muiSearchTextFieldProps,\n onMrtToggleShowGlobalFilter,\n },\n setShowGlobalFilter,\n } = tableInstance;\n\n const { showGlobalFilter } = getState();\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n const handleToggleSearch = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleShowGlobalFilter?.({\n event,\n showGlobalFilter: !showGlobalFilter,\n tableInstance,\n });\n setShowGlobalFilter(!showGlobalFilter);\n setTimeout(\n () =>\n document\n .getElementById(\n textFieldProps?.id ?? `mrt-${tableId}-search-text-field`,\n )\n ?.focus(),\n 200,\n );\n };\n\n return (\n <Tooltip arrow title={localization.showHideSearch}>\n <IconButton onClick={handleToggleSearch} {...rest}>\n {showGlobalFilter ? <SearchOffIcon /> : <SearchIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Collapse,\n debounce,\n IconButton,\n InputAdornment,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n setGlobalFilter,\n options: {\n icons: { SearchIcon, CloseIcon },\n tableId,\n localization,\n muiSearchTextFieldProps,\n onMrtGlobalFilterValueChange,\n },\n } = tableInstance;\n\n const { globalFilter, showGlobalFilter } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [searchValue, setSearchValue] = useState(globalFilter ?? '');\n\n const handleChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n setGlobalFilter(event.target.value ?? undefined);\n onMrtGlobalFilterValueChange?.({ event, tableInstance });\n }, 200),\n [],\n );\n\n const handleGlobalFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setSearchValue('');\n setGlobalFilter(undefined);\n };\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n return (\n <Collapse in={showGlobalFilter} orientation=\"horizontal\">\n <TextField\n id={`mrt-${tableId}-search-text-field`}\n placeholder={localization.search}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setSearchValue(event.target.value);\n handleChange(event);\n }}\n value={searchValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeSearchMode}>\n <span>\n <IconButton\n aria-label={localization.changeSearchMode}\n onClick={handleGlobalFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <SearchIcon />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.clearSearch}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.clearSearch}\n >\n <CloseIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{ justifySelf: 'end', ...textFieldProps?.sx }}\n />\n <MRT_FilterOptionMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FullScreenToggleButton } from '../buttons/MRT_FullScreenToggleButton';\nimport { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton';\nimport { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingButton';\nimport { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';\nimport { MRT_ToggleGlobalFilterButton } from '../buttons/MRT_ToggleGlobalFilterButton';\nimport { MRT_TableInstance } from '..';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarInternalButtons: FC<Props> = ({ tableInstance }) => {\n const {\n options: {\n enableColumnFilters,\n enableDensePaddingToggle,\n enableFilters,\n enableFullScreenToggle,\n enableGlobalFilter,\n enableHiding,\n positionGlobalFilter,\n renderToolbarInternalActions,\n },\n } = tableInstance;\n\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n zIndex: 3,\n }}\n >\n {renderToolbarInternalActions?.({\n MRT_FullScreenToggleButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_ToggleFiltersButton,\n MRT_ToggleGlobalFilterButton,\n tableInstance,\n }) ?? (\n <>\n {enableGlobalFilter && positionGlobalFilter === 'right' && (\n <MRT_SearchTextField tableInstance={tableInstance} />\n )}\n {enableFilters && enableGlobalFilter && (\n <MRT_ToggleGlobalFilterButton tableInstance={tableInstance} />\n )}\n {enableFilters && enableColumnFilters && (\n <MRT_ToggleFiltersButton tableInstance={tableInstance} />\n )}\n {enableHiding && (\n <MRT_ShowHideColumnsButton tableInstance={tableInstance} />\n )}\n {enableDensePaddingToggle && (\n <MRT_ToggleDensePaddingButton tableInstance={tableInstance} />\n )}\n {enableFullScreenToggle && (\n <MRT_FullScreenToggleButton tableInstance={tableInstance} />\n )}\n </>\n )}\n </Box>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { TablePagination } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePagination: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getState,\n setPageIndex,\n setPageSize,\n options: { muiTablePaginationProps },\n } = tableInstance;\n\n const {\n pagination: { pageSize = 10, pageIndex = 0 },\n } = getState();\n\n const tablePaginationProps =\n muiTablePaginationProps instanceof Function\n ? muiTablePaginationProps({ tableInstance })\n : muiTablePaginationProps;\n\n const handleChangeRowsPerPage = (event: ChangeEvent<HTMLInputElement>) => {\n setPageSize(+event.target.value);\n };\n\n const showFirstLastPageButtons =\n getPrePaginationRowModel().rows.length / pageSize > 2;\n\n return (\n <TablePagination\n SelectProps={{\n sx: { m: '0 1rem 0 1ch' },\n MenuProps: { MenuListProps: { disablePadding: true } },\n }}\n component=\"div\"\n count={getPrePaginationRowModel().rows.length}\n onPageChange={(_: any, newPage: number) => setPageIndex(newPage)}\n onRowsPerPageChange={handleChangeRowsPerPage}\n page={pageIndex}\n rowsPerPage={pageSize}\n rowsPerPageOptions={[5, 10, 15, 20, 25, 30, 50, 100]}\n showFirstButton={showFirstLastPageButtons}\n showLastButton={showFirstLastPageButtons}\n {...tablePaginationProps}\n sx={{\n m: '0 0.5rem',\n position: 'relative',\n zIndex: 2,\n ...tablePaginationProps?.sx,\n }}\n />\n );\n};\n","import React, { FC, Fragment } from 'react';\nimport { Alert, Box, Chip, Collapse } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n stackAlertBanner?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarAlertBanner: FC<Props> = ({\n stackAlertBanner,\n tableInstance,\n}) => {\n const {\n getPrePaginationRowModel,\n getSelectedRowModel,\n getState,\n options: { localization, muiTableToolbarAlertBannerProps },\n } = tableInstance;\n\n const { grouping } = getState();\n\n const alertProps =\n muiTableToolbarAlertBannerProps instanceof Function\n ? muiTableToolbarAlertBannerProps({ tableInstance })\n : muiTableToolbarAlertBannerProps;\n\n const selectMessage =\n getSelectedRowModel().rows.length > 0\n ? localization.selectedCountOfRowCountRowsSelected\n ?.replace(\n '{selectedCount}',\n getSelectedRowModel().rows.length.toString(),\n )\n ?.replace(\n '{rowCount}',\n getPrePaginationRowModel().rows.length.toString(),\n )\n : null;\n\n const groupedByMessage =\n grouping.length > 0 ? (\n <span>\n {localization.groupedBy}{' '}\n {grouping.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.thenBy : ''}\n <Chip\n color=\"secondary\"\n label={tableInstance.getColumn(columnId).columnDef.header}\n onDelete={() =>\n tableInstance.getColumn(columnId).toggleGrouping()\n }\n />\n </Fragment>\n ))}\n </span>\n ) : null;\n\n return (\n <Collapse\n in={!!selectMessage || !!groupedByMessage}\n timeout={stackAlertBanner ? 200 : 0}\n >\n <Alert\n color=\"info\"\n icon={false}\n sx={{\n borderRadius: 0,\n fontSize: '1rem',\n left: 0,\n p: 0,\n position: 'relative',\n right: 0,\n top: 0,\n width: '100%',\n zIndex: 2,\n ...alertProps?.sx,\n }}\n {...alertProps}\n >\n <Box sx={{ p: '0.5rem 1rem' }}>\n {selectMessage}\n {selectMessage && groupedByMessage && <br />}\n {groupedByMessage}\n </Box>\n </Alert>\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse, LinearProgress } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n alignTo: 'bottom' | 'top';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_LinearProgressBar: FC<Props> = ({\n alignTo,\n tableInstance,\n}) => {\n const {\n options: { muiLinearProgressProps },\n getState,\n } = tableInstance;\n\n const { isLoading, showProgressBars } = getState();\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps({ tableInstance })\n : muiLinearProgressProps;\n\n return (\n <Collapse\n in={isLoading || showProgressBars}\n mountOnEnter\n unmountOnExit\n sx={{\n bottom: alignTo === 'bottom' ? 0 : undefined,\n position: 'absolute',\n top: alignTo === 'top' ? 0 : undefined,\n width: '100%',\n }}\n >\n <LinearProgress\n aria-label=\"Loading\"\n aria-busy=\"true\"\n sx={{ position: 'relative' }}\n {...linearProgressProps}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, lighten, Theme, Toolbar, useMediaQuery } from '@mui/material';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { MRT_TableInstance } from '..';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\n\nexport const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({\n backgroundColor: lighten(theme.palette.background.default, 0.04),\n backgroundImage: 'none',\n display: 'grid',\n minHeight: '3.5rem',\n overflow: 'hidden',\n p: '0 !important',\n transition: 'all 0.2s ease-in-out',\n width: '100%',\n zIndex: 1,\n});\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n enableGlobalFilter,\n enablePagination,\n enableToolbarInternalActions,\n tableId,\n muiTableToolbarTopProps,\n positionPagination,\n positionGlobalFilter,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { isFullScreen, showGlobalFilter } = getState();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const toolbarProps =\n muiTableToolbarTopProps instanceof Function\n ? muiTableToolbarTopProps({ tableInstance })\n : muiTableToolbarTopProps;\n\n const stackAlertBanner =\n isMobile ||\n (positionToolbarAlertBanner === 'top' &&\n (!!renderToolbarCustomActions || showGlobalFilter));\n\n return (\n <Toolbar\n id={`mrt-${tableId}-toolbar-top`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n position: isFullScreen ? 'sticky' : undefined,\n top: isFullScreen ? '0' : undefined,\n ...commonToolbarStyles({ theme }),\n ...toolbarProps?.sx,\n } as any)\n }\n >\n {positionToolbarAlertBanner === 'top' && (\n <MRT_ToolbarAlertBanner\n stackAlertBanner={stackAlertBanner}\n tableInstance={tableInstance}\n />\n )}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n p: '0.5rem',\n position: stackAlertBanner ? 'relative' : 'absolute',\n right: 0,\n top: 0,\n width: renderToolbarCustomActions ? '100%' : undefined,\n }}\n >\n {enableGlobalFilter && positionGlobalFilter === 'left' && (\n <MRT_SearchTextField tableInstance={tableInstance} />\n )}\n {renderToolbarCustomActions?.({ tableInstance }) ?? <span />}\n {enableToolbarInternalActions && positionToolbarActions === 'top' && (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n )}\n </Box>\n <div>\n {enablePagination &&\n ['top', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </div>\n <MRT_LinearProgressBar alignTo=\"bottom\" tableInstance={tableInstance} />\n </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Toolbar, useMediaQuery } from '@mui/material';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { commonToolbarStyles } from './MRT_ToolbarTop';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n enableToolbarInternalActions,\n tableId,\n enablePagination,\n muiTableToolbarBottomProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const toolbarProps =\n muiTableToolbarBottomProps instanceof Function\n ? muiTableToolbarBottomProps({ tableInstance })\n : muiTableToolbarBottomProps;\n\n const stackAlertBanner =\n isMobile ||\n (positionToolbarAlertBanner === 'bottom' &&\n positionToolbarActions === 'bottom') ||\n (positionToolbarAlertBanner === 'bottom' &&\n !!renderToolbarCustomActions &&\n positionToolbarActions === 'bottom');\n\n return (\n <Toolbar\n id={`mrt-${tableId}-toolbar-bottom`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n ...commonToolbarStyles({ theme }),\n bottom: isFullScreen ? '0' : undefined,\n boxShadow: `-3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n position: isFullScreen ? 'fixed' : 'relative',\n ...toolbarProps?.sx,\n } as any)\n }\n >\n <MRT_LinearProgressBar alignTo='top' tableInstance={tableInstance} />\n {positionToolbarAlertBanner === 'bottom' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n position: stackAlertBanner ? 'relative' : 'absolute',\n right: 0,\n top: 0,\n }}\n >\n {enableToolbarInternalActions && positionToolbarActions === 'bottom' ? (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n ) : (\n <span />\n )}\n {enablePagination &&\n ['bottom', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </Box>\n </Toolbar>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Chip,\n debounce,\n IconButton,\n InputAdornment,\n MenuItem,\n TextField,\n TextFieldProps,\n Tooltip,\n} from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';\nimport { MRT_FILTER_OPTION } from '../enums';\n\ninterface Props {\n header: MRT_Header;\n inputIndex?: number;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTextField: FC<Props> = ({\n header,\n inputIndex,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, CloseIcon },\n tableId,\n localization,\n muiTableHeadCellFilterTextFieldProps,\n },\n setCurrentFilterFns,\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const { currentFilterFns } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const mTableHeadCellFilterTextFieldProps =\n muiTableHeadCellFilterTextFieldProps instanceof Function\n ? muiTableHeadCellFilterTextFieldProps({ column, tableInstance })\n : muiTableHeadCellFilterTextFieldProps;\n\n const mcTableHeadCellFilterTextFieldProps =\n columnDef.muiTableHeadCellFilterTextFieldProps instanceof Function\n ? columnDef.muiTableHeadCellFilterTextFieldProps({\n column,\n tableInstance,\n })\n : columnDef.muiTableHeadCellFilterTextFieldProps;\n\n const textFieldProps = {\n ...mTableHeadCellFilterTextFieldProps,\n ...mcTableHeadCellFilterTextFieldProps,\n } as TextFieldProps;\n\n const [filterValue, setFilterValue] = useState<string>(() =>\n inputIndex !== undefined\n ? (column.getFilterValue() as [string, string])?.[inputIndex] ?? ''\n : (column.getFilterValue() as string) ?? '',\n );\n\n const handleChangeDebounced = useCallback(\n debounce(\n (event: ChangeEvent<HTMLInputElement>) =>\n inputIndex !== undefined\n ? column.setFilterValue((old: [string, string]) => {\n const newFilterValues = old ?? ['', ''];\n newFilterValues[inputIndex] = event.target.value;\n return newFilterValues;\n })\n : column.setFilterValue(event.target.value ?? undefined),\n 150,\n ),\n [],\n );\n\n const handleFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setFilterValue('');\n if (inputIndex !== undefined) {\n column.setFilterValue((old: [string | undefined, string | undefined]) => {\n const newFilterValues = old ?? ['', ''];\n newFilterValues[inputIndex] = undefined;\n return newFilterValues;\n });\n } else {\n column.setFilterValue(undefined);\n }\n };\n\n const handleClearFilterChip = () => {\n setFilterValue('');\n column.setFilterValue(undefined);\n setCurrentFilterFns((prev) => ({\n ...prev,\n [header.id]: MRT_FILTER_OPTION.FUZZY,\n }));\n };\n\n if (columnDef.Filter) {\n return <>{columnDef.Filter?.({ header, tableInstance })}</>;\n }\n\n const filterId = `mrt-${tableId}-${header.id}-filter-text-field${\n inputIndex ?? ''\n }`;\n const filterFn = currentFilterFns?.[header.id];\n const isSelectFilter = !!columnDef.filterSelectOptions;\n const filterChipLabel =\n !(filterFn instanceof Function) &&\n [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(\n filterFn as MRT_FILTER_OPTION,\n )\n ? //@ts-ignore\n localization[\n `filter${filterFn.charAt(0).toUpperCase() + filterFn.slice(1)}`\n ]\n : '';\n const filterPlaceholder =\n inputIndex === undefined\n ? localization.filterByColumn?.replace(\n '{column}',\n String(columnDef.header),\n )\n : inputIndex === 0\n ? localization.min\n : inputIndex === 1\n ? localization.max\n : '';\n\n return (\n <>\n <TextField\n fullWidth\n id={filterId}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n helperText={\n !inputIndex ? (\n <label htmlFor={filterId}>\n {filterFn instanceof Function\n ? localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterFn.name.charAt(0).toUpperCase() +\n filterFn.name.slice(1)\n }`\n ] ?? '',\n ) ?? ''\n : localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterFn.charAt(0).toUpperCase() + filterFn.slice(1)\n }`\n ],\n )}\n </label>\n ) : null\n }\n FormHelperTextProps={{\n sx: {\n fontSize: '0.6rem',\n lineHeight: '0.8rem',\n whiteSpace: 'nowrap',\n },\n }}\n label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}\n margin=\"none\"\n placeholder={\n filterChipLabel || isSelectFilter ? undefined : filterPlaceholder\n }\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n handleChangeDebounced(event);\n }}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n select={isSelectFilter}\n value={filterValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: !isSelectFilter && !inputIndex && (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeFilterMode}>\n <span>\n <IconButton\n aria-label={localization.changeFilterMode}\n onClick={handleFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <FilterListIcon />\n </IconButton>\n </span>\n </Tooltip>\n {filterChipLabel && (\n <Chip\n onDelete={handleClearFilterChip}\n label={filterChipLabel}\n />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n disableHoverListener={isSelectFilter}\n placement=\"right\"\n title={localization.clearFilter ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.clearFilter}\n disabled={!filterValue?.length}\n onClick={handleClear}\n size=\"small\"\n sx={{\n height: '1.75rem',\n width: '1.75rem',\n }}\n >\n <CloseIcon />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{\n m: '-0.25rem',\n p: 0,\n minWidth: !filterChipLabel ? '8rem' : 'auto',\n width: 'calc(100% + 0.5rem)',\n mt: isSelectFilter && !filterValue ? '-1rem' : undefined,\n '&\t.MuiSelect-icon': {\n mr: '1.5rem',\n },\n ...textFieldProps?.sx,\n }}\n >\n {isSelectFilter && (\n <MenuItem divider disabled={!filterValue} value=\"\">\n {localization.clearFilter}\n </MenuItem>\n )}\n {columnDef?.filterSelectOptions?.map((option) => {\n let value;\n let text;\n if (typeof option === 'string') {\n value = option;\n text = option;\n } else if (typeof option === 'object') {\n value = option.value;\n text = option.text;\n }\n return (\n <MenuItem key={value} value={value}>\n {text}\n </MenuItem>\n );\n })}\n </TextField>\n <MRT_FilterOptionMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FilterTextField } from './MRT_FilterTextField';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterRangeFields: FC<Props> = ({ header, tableInstance }) => {\n const {\n options: { localization },\n } = tableInstance;\n\n return (\n <Box sx={{ display: 'grid', gridTemplateColumns: '6fr auto 5fr' }}>\n <MRT_FilterTextField\n header={header}\n inputIndex={0}\n tableInstance={tableInstance}\n />\n <Box\n sx={{\n width: '100%',\n minWidth: '5ch',\n textAlign: 'center',\n }}\n >\n {localization.to}\n </Box>\n <MRT_FilterTextField\n header={header}\n inputIndex={1}\n tableInstance={tableInstance}\n />\n </Box>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse } from '@mui/material';\nimport { MRT_FilterRangeFields } from '../inputs/MRT_FilterRangeFields';\nimport { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';\nimport { MRT_FILTER_OPTION } from '../enums';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellFilterContainer: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const { getState } = tableInstance;\n\n const { currentFilterFns, showFilters } = getState();\n\n const { column } = header;\n\n return (\n <Collapse in={showFilters} mountOnEnter unmountOnExit>\n {currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? (\n <MRT_FilterRangeFields header={header} tableInstance={tableInstance} />\n ) : (\n <MRT_FilterTextField header={header} tableInstance={tableInstance} />\n )}\n </Collapse>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellFilterLabel: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { FilterAltIcon, FilterAltOffIcon },\n localization,\n },\n setShowFilters,\n } = tableInstance;\n\n const { showFilters } = getState();\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const filterFn = getState()?.currentFilterFns?.[header.id];\n\n const filterTooltip = !!column.getFilterValue()\n ? localization.filteringByColumn\n .replace('{column}', String(columnDef.header))\n .replace(\n '{filterType}',\n filterFn instanceof Function\n ? ''\n : // @ts-ignore\n localization[\n `filter${filterFn.charAt(0).toUpperCase() + filterFn.slice(1)}`\n ],\n )\n .replace(\n '{filterValue}',\n `\"${\n Array.isArray(column.getFilterValue())\n ? (column.getFilterValue() as [string, string]).join(\n `\" ${localization.and} \"`,\n )\n : (column.getFilterValue() as string)\n }\"`,\n )\n .replace('\" \"', '')\n : localization.showHideFilters;\n\n return (\n <Tooltip arrow placement=\"top\" title={filterTooltip}>\n <IconButton\n disableRipple\n onClick={(event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n setShowFilters(!showFilters);\n }}\n size=\"small\"\n sx={{\n m: 0,\n opacity: !!column.getFilterValue() || showFilters ? 0.8 : 0,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n transform: 'scale(0.66)',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 0.8,\n },\n }}\n >\n {showFilters && !column.getFilterValue() ? (\n <FilterAltOffIcon />\n ) : (\n <FilterAltIcon />\n )}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { Divider, Theme } from '@mui/material';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellResizeHandle: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const { getState } = tableInstance;\n\n const { showFilters } = getState();\n\n const { column } = header;\n\n const { columnDefType } = column;\n\n return (\n <Divider\n flexItem\n orientation=\"vertical\"\n onDoubleClick={() => column.resetSize()}\n sx={(theme: Theme) => ({\n borderRadius: '2px',\n borderRightWidth: '2px',\n cursor: 'col-resize',\n height: showFilters && columnDefType === 'data' ? '4rem' : '2rem',\n opacity: 0.8,\n position: 'absolute',\n right: '1px',\n touchAction: 'none',\n transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',\n userSelect: 'none',\n zIndex: 2000,\n '&:active': {\n backgroundColor: theme.palette.info.main,\n opacity: 1,\n },\n })}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n style={{\n transform: column.getIsResizing()\n ? `translateX(${getState().columnSizingInfo.deltaOffset}px)`\n : 'none',\n }}\n />\n );\n};\n","import React, { FC } from 'react';\nimport { TableSortLabel, Tooltip } from '@mui/material';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellSortLabel: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n options: { localization },\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const sortTooltip = !!column.getIsSorted()\n ? column.getIsSorted() === 'desc'\n ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)\n : localization.sortedByColumnAsc.replace('{column}', columnDef.header)\n : localization.unsorted;\n\n return (\n <Tooltip arrow placement=\"top\" title={sortTooltip}>\n <TableSortLabel\n aria-label={sortTooltip}\n active={!!column.getIsSorted()}\n direction={\n column.getIsSorted()\n ? (column.getIsSorted() as 'asc' | 'desc')\n : undefined\n }\n />\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleColumnActionMenuButton: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n options: {\n icons: { MoreVertIcon },\n localization,\n muiTableHeadCellColumnActionsButtonProps,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const mTableHeadCellColumnActionsButtonProps =\n muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? muiTableHeadCellColumnActionsButtonProps({ column, tableInstance })\n : muiTableHeadCellColumnActionsButtonProps;\n\n const mcTableHeadCellColumnActionsButtonProps =\n columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? columnDef.muiTableHeadCellColumnActionsButtonProps({\n column,\n tableInstance,\n })\n : columnDef.muiTableHeadCellColumnActionsButtonProps;\n\n const iconButtonProps = {\n ...mTableHeadCellColumnActionsButtonProps,\n ...mcTableHeadCellColumnActionsButtonProps,\n };\n\n return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.columnActions}\n >\n <IconButton\n aria-label={localization.columnActions}\n onClick={handleClick}\n size=\"small\"\n {...iconButtonProps}\n sx={{\n height: '2rem',\n mr: '2px',\n mt: '-0.2rem',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n ...iconButtonProps.sx,\n }}\n >\n <MoreVertIcon />\n </IconButton>\n </Tooltip>\n <MRT_ColumnActionMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, ReactNode, Ref } from 'react';\nimport { Box, TableCell, Theme, alpha, lighten } from '@mui/material';\nimport { MRT_TableHeadCellFilterContainer } from './MRT_TableHeadCellFilterContainer';\nimport { MRT_TableHeadCellFilterLabel } from './MRT_TableHeadCellFilterLabel';\nimport { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';\nimport { MRT_TableHeadCellResizeHandle } from './MRT_TableHeadCellResizeHandle';\nimport { MRT_TableHeadCellSortLabel } from './MRT_TableHeadCellSortLabel';\nimport { MRT_ToggleColumnActionMenuButton } from '../buttons/MRT_ToggleColumnActionMenuButton';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n dragRef?: Ref<HTMLButtonElement>;\n dropRef?: Ref<HTMLDivElement>;\n header: MRT_Header;\n isDragging?: boolean;\n previewRef?: Ref<HTMLTableCellElement>;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCell: FC<Props> = ({\n dragRef,\n dropRef,\n header,\n isDragging,\n previewRef,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enableColumnActions,\n enableColumnFilters,\n enableColumnOrdering,\n enableColumnResizing,\n enableGrouping,\n muiTableHeadCellProps,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const { column } = header;\n\n const { columnDef, columnDefType } = column;\n\n const mTableHeadCellProps =\n muiTableHeadCellProps instanceof Function\n ? muiTableHeadCellProps({ column, tableInstance })\n : muiTableHeadCellProps;\n\n const mcTableHeadCellProps =\n columnDef.muiTableHeadCellProps instanceof Function\n ? columnDef.muiTableHeadCellProps({ column, tableInstance })\n : columnDef.muiTableHeadCellProps;\n\n const tableCellProps = {\n ...mTableHeadCellProps,\n ...mcTableHeadCellProps,\n };\n\n const headerElement = ((columnDef?.Header instanceof Function\n ? columnDef?.Header?.({\n header,\n tableInstance,\n })\n : columnDef?.Header) ??\n header.renderHeader() ??\n columnDef.header) as ReactNode;\n\n const getIsLastLeftPinnedColumn = () => {\n return (\n column.getIsPinned() === 'left' &&\n tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex()\n );\n };\n\n const getIsFirstRightPinnedColumn = () => {\n return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;\n };\n\n const getTotalRight = () => {\n return (\n (tableInstance.getRightLeafHeaders().length -\n 1 -\n column.getPinnedIndex()) *\n 150\n );\n };\n\n return (\n <TableCell\n align={columnDefType === 'group' ? 'center' : 'left'}\n colSpan={header.colSpan}\n {...tableCellProps}\n ref={\n columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined\n }\n sx={(theme: Theme) => ({\n backgroundColor:\n column.getIsPinned() && columnDefType !== 'group'\n ? alpha(lighten(theme.palette.background.default, 0.04), 0.95)\n : 'inherit',\n backgroundImage: 'inherit',\n boxShadow: getIsLastLeftPinnedColumn()\n ? `4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : getIsFirstRightPinnedColumn()\n ? `-4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : undefined,\n fontWeight: 'bold',\n height: '100%',\n left:\n column.getIsPinned() === 'left'\n ? `${column.getStart('left')}px`\n : undefined,\n overflow: 'visible',\n p: isDensePadding\n ? columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pb: columnDefType === 'display' ? 0 : undefined,\n position:\n column.getIsPinned() && columnDefType !== 'group'\n ? 'sticky'\n : undefined,\n pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.75rem',\n right:\n column.getIsPinned() === 'right' ? `${getTotalRight()}px` : undefined,\n transition: `all ${enableColumnResizing ? 0 : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n zIndex: column.getIsResizing()\n ? 3\n : column.getIsPinned() && columnDefType !== 'group'\n ? 2\n : 1,\n ...(tableCellProps?.sx as any),\n })}\n style={{\n maxWidth: `min(${column.getSize()}px, fit-content)`,\n minWidth: `max(${column.getSize()}px, ${columnDef.minSize ?? 30}px)`,\n width: header.getSize(),\n }}\n >\n {header.isPlaceholder ? null : columnDefType === 'display' ? (\n headerElement\n ) : (\n <Box\n ref={previewRef}\n sx={{\n alignItems: 'flex-start',\n display: 'flex',\n justifyContent:\n columnDefType === 'group' ? 'center' : 'space-between',\n opacity: isDragging ? 0.5 : 1,\n width: '100%',\n }}\n >\n <Box\n onClick={() => column.toggleSorting()}\n sx={{\n alignItems: 'center',\n cursor:\n column.getCanSort() && columnDefType !== 'group'\n ? 'pointer'\n : undefined,\n display: 'flex',\n flexWrap: 'nowrap',\n whiteSpace:\n (columnDef.header?.length ?? 0) < 24 ? 'nowrap' : 'normal',\n }}\n >\n {headerElement}\n {columnDefType === 'data' && column.getCanSort() && (\n <MRT_TableHeadCellSortLabel\n header={header}\n tableInstance={tableInstance}\n />\n )}\n {columnDefType === 'data' &&\n enableColumnFilters &&\n column.getCanFilter() && (\n <MRT_TableHeadCellFilterLabel\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </Box>\n <Box sx={{ whiteSpace: 'nowrap' }}>\n {columnDefType === 'data' &&\n ((enableColumnOrdering &&\n columnDef.enableColumnOrdering !== false) ||\n (enableGrouping && columnDef.enableGrouping !== false)) && (\n <MRT_GrabHandleButton\n ref={dragRef as Ref<HTMLButtonElement>}\n tableInstance={tableInstance}\n />\n )}\n {(enableColumnActions || columnDef.enableColumnActions) &&\n columnDef.enableColumnActions !== false &&\n columnDefType !== 'group' && (\n <MRT_ToggleColumnActionMenuButton\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </Box>\n {column.getCanResize() && (\n <MRT_TableHeadCellResizeHandle\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </Box>\n )}\n {columnDefType === 'data' && column.getCanFilter() && (\n <MRT_TableHeadCellFilterContainer\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { useDrag, useDrop } from 'react-dnd';\nimport { MRT_TableHeadCell } from './MRT_TableHeadCell';\nimport type { MRT_Column, MRT_Header, MRT_TableInstance } from '..';\nimport { reorderColumn } from '../utils';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_DraggableTableHeadCell: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n getState,\n options: {},\n setColumnOrder,\n } = tableInstance;\n\n const { columnOrder } = getState();\n\n const { column } = header;\n\n const [, dropRef] = useDrop({\n accept: 'column',\n drop: (movingColumn: MRT_Column) =>\n reorderColumn(movingColumn, column, columnOrder, setColumnOrder),\n });\n\n const [{ isDragging }, dragRef, previewRef] = useDrag({\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n item: () => column,\n type: 'column',\n });\n\n return (\n <MRT_TableHeadCell\n dragRef={dragRef}\n dropRef={dropRef}\n header={header}\n isDragging={isDragging}\n previewRef={previewRef}\n tableInstance={tableInstance}\n />\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, lighten, TableRow } from '@mui/material';\nimport { MRT_TableHeadCell } from './MRT_TableHeadCell';\nimport { MRT_DraggableTableHeadCell } from './MRT_DraggableTableHeadCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n headerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadRow: FC<Props> = ({ headerGroup, tableInstance }) => {\n const {\n options: { enableColumnOrdering, enableGrouping, muiTableHeadRowProps },\n } = tableInstance;\n\n const tableRowProps =\n muiTableHeadRowProps instanceof Function\n ? muiTableHeadRowProps({ headerGroup, tableInstance })\n : muiTableHeadRowProps;\n\n return (\n <TableRow\n {...tableRowProps}\n sx={(theme) => ({\n boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`,\n backgroundColor: lighten(theme.palette.background.default, 0.04),\n ...(tableRowProps?.sx as any),\n })}\n >\n {headerGroup.headers.map((header: MRT_Header, index) =>\n enableColumnOrdering || enableGrouping ? (\n <MRT_DraggableTableHeadCell\n header={header}\n key={header.id || index}\n tableInstance={tableInstance}\n />\n ) : (\n <MRT_TableHeadCell\n header={header}\n key={header.id || index}\n tableInstance={tableInstance}\n />\n ),\n )}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableHead } from '@mui/material';\nimport { MRT_TableHeadRow } from './MRT_TableHeadRow';\nimport type { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHead: FC<Props> = ({ tableInstance }) => {\n const {\n getHeaderGroups,\n options: { muiTableHeadProps },\n } = tableInstance;\n\n const tableHeadProps =\n muiTableHeadProps instanceof Function\n ? muiTableHeadProps({ tableInstance })\n : muiTableHeadProps;\n\n return (\n <TableHead {...tableHeadProps}>\n {getHeaderGroups().map((headerGroup) => (\n <MRT_TableHeadRow\n headerGroup={headerGroup as any}\n key={headerGroup.id}\n tableInstance={tableInstance}\n />\n ))}\n </TableHead>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n FocusEvent,\n MouseEvent,\n useState,\n} from 'react';\nimport { TextField } from '@mui/material';\nimport type { MRT_Cell, MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getState,\n options: {\n tableId,\n enableEditing,\n muiTableBodyCellEditTextFieldProps,\n onMrtCellEditBlur,\n onMrtCellEditChange,\n },\n setCurrentEditingCell,\n setCurrentEditingRow,\n } = tableInstance;\n\n const [value, setValue] = useState(cell.getValue());\n\n const { column, row } = cell;\n\n const { columnDef } = column;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n columnDef.onMrtCellEditChange?.({ event, cell, tableInstance });\n onMrtCellEditChange?.({ event, cell, tableInstance });\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (getState().currentEditingRow) {\n if (!row._valuesCache) row._valuesCache = {};\n (row._valuesCache as Record<string, any>)[column.id] = value;\n setCurrentEditingRow({ ...getState().currentEditingRow } as MRT_Row);\n }\n setCurrentEditingCell(null);\n columnDef.onMrtCellEditBlur?.({ event, cell, tableInstance });\n onMrtCellEditBlur?.({ event, cell, tableInstance });\n };\n\n const mTableBodyCellEditTextFieldProps =\n muiTableBodyCellEditTextFieldProps instanceof Function\n ? muiTableBodyCellEditTextFieldProps({ cell, tableInstance })\n : muiTableBodyCellEditTextFieldProps;\n\n const mcTableBodyCellEditTextFieldProps =\n columnDef.muiTableBodyCellEditTextFieldProps instanceof Function\n ? columnDef.muiTableBodyCellEditTextFieldProps({\n cell,\n tableInstance,\n })\n : columnDef.muiTableBodyCellEditTextFieldProps;\n\n const textFieldProps = {\n ...mTableBodyCellEditTextFieldProps,\n ...mcTableBodyCellEditTextFieldProps,\n };\n\n if (enableEditing && columnDef.enableEditing !== false && columnDef.Edit) {\n return <>{columnDef.Edit?.({ cell, tableInstance })}</>;\n }\n\n return (\n <TextField\n id={`mrt-${tableId}-edit-cell-text-field-${cell.id}`}\n margin=\"dense\"\n onBlur={handleBlur}\n onChange={handleChange}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n placeholder={columnDef.header}\n value={value}\n variant=\"standard\"\n {...textFieldProps}\n />\n );\n};\n","import React, { FC, ReactNode, useState } from 'react';\nimport { Button, Tooltip } from '@mui/material';\nimport { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n children: ReactNode;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_CopyButton: FC<Props> = ({\n cell,\n children,\n tableInstance,\n}) => {\n const {\n options: { localization, muiTableBodyCellCopyButtonProps },\n } = tableInstance;\n\n const { column } = cell;\n\n const { columnDef } = column;\n\n const [copied, setCopied] = useState(false);\n\n const handleCopy = (text: unknown) => {\n navigator.clipboard.writeText(text as string);\n setCopied(true);\n setTimeout(() => setCopied(false), 4000);\n };\n\n const mTableBodyCellCopyButtonProps =\n muiTableBodyCellCopyButtonProps instanceof Function\n ? muiTableBodyCellCopyButtonProps({ cell, tableInstance })\n : muiTableBodyCellCopyButtonProps;\n\n const mcTableBodyCellCopyButtonProps =\n columnDef.muiTableBodyCellCopyButtonProps instanceof Function\n ? columnDef.muiTableBodyCellCopyButtonProps({\n cell,\n tableInstance,\n })\n : columnDef.muiTableBodyCellCopyButtonProps;\n\n const buttonProps = {\n ...mTableBodyCellCopyButtonProps,\n ...mcTableBodyCellCopyButtonProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={copied ? localization.copiedToClipboard : localization.clickToCopy}\n >\n <Button\n aria-label={localization.clickToCopy}\n onClick={() => handleCopy(cell.getValue())}\n size=\"small\"\n type=\"button\"\n variant=\"text\"\n {...buttonProps}\n sx={{\n backgroundColor: 'transparent',\n border: 'none',\n color: 'inherit',\n cursor: 'copy',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n letterSpacing: 'inherit',\n m: '-0.25rem',\n minWidth: 'unset',\n textAlign: 'inherit',\n textTransform: 'inherit',\n ...buttonProps?.sx,\n }}\n >\n {children}\n </Button>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useMemo } from 'react';\nimport { useDrop } from 'react-dnd';\nimport { alpha, darken, lighten, Skeleton, TableCell } from '@mui/material';\nimport { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';\nimport { MRT_CopyButton } from '../buttons/MRT_CopyButton';\nimport { reorderColumn } from '../utils';\nimport type { MRT_Cell, MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n enableHover?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyCell: FC<Props> = ({\n cell,\n enableHover,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n editingMode,\n enableClickToCopy,\n enableColumnOrdering,\n enableEditing,\n tableId,\n muiTableBodyCellProps,\n muiTableBodyCellSkeletonProps,\n onMrtCellClick,\n },\n setColumnOrder,\n setCurrentEditingCell,\n } = tableInstance;\n\n const {\n columnOrder,\n currentEditingCell,\n currentEditingRow,\n isDensePadding,\n isLoading,\n showSkeletons,\n } = getState();\n\n const { column, row } = cell;\n\n const { columnDef, columnDefType } = column;\n\n const [, dropRef] = useDrop({\n accept: 'column',\n drop: (movingColumn: MRT_Column) =>\n reorderColumn(movingColumn, column, columnOrder, setColumnOrder),\n });\n\n const mTableCellBodyProps =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps({ cell, tableInstance })\n : muiTableBodyCellProps;\n\n const mcTableCellBodyProps =\n columnDef.muiTableBodyCellProps instanceof Function\n ? columnDef.muiTableBodyCellProps({ cell, tableInstance })\n : columnDef.muiTableBodyCellProps;\n\n const tableCellProps = {\n ...mTableCellBodyProps,\n ...mcTableCellBodyProps,\n };\n\n const skeletonWidth = useMemo(\n () =>\n columnDefType === 'display'\n ? column.getSize() / 2\n : Math.random() * (column.getSize() - column.getSize() / 3) +\n column.getSize() / 3,\n [columnDefType, column.getSize()],\n );\n\n const isEditable =\n (enableEditing || columnDef.enableEditing) &&\n columnDef.enableEditing !== false;\n\n const isEditing =\n isEditable &&\n (editingMode === 'table' ||\n currentEditingRow?.id === row.id ||\n currentEditingCell?.id === cell.id);\n\n const handleDoubleClick = (_event: MouseEvent<HTMLTableCellElement>) => {\n if (\n (enableEditing || columnDef.enableEditing) &&\n columnDef.enableEditing !== false &&\n editingMode === 'cell'\n ) {\n setCurrentEditingCell(cell);\n setTimeout(() => {\n const textField = document.getElementById(\n `mrt-${tableId}-edit-cell-text-field-${cell.id}`,\n ) as HTMLInputElement;\n if (textField) {\n textField.focus();\n textField.select();\n }\n }, 200);\n }\n };\n\n const getIsLastLeftPinnedColumn = () => {\n return (\n column.getIsPinned() === 'left' &&\n tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex()\n );\n };\n\n const getIsFirstRightPinnedColumn = () => {\n return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;\n };\n\n const getTotalRight = () => {\n return (\n (tableInstance.getRightLeafHeaders().length -\n 1 -\n column.getPinnedIndex()) *\n 150\n );\n };\n\n return (\n <TableCell\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onMrtCellClick?.({ event, cell, tableInstance })\n }\n onDoubleClick={handleDoubleClick}\n {...tableCellProps}\n ref={\n columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined\n }\n sx={(theme) => ({\n backgroundColor: column.getIsPinned()\n ? alpha(lighten(theme.palette.background.default, 0.04), 0.95)\n : undefined,\n boxShadow: getIsLastLeftPinnedColumn()\n ? `4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : getIsFirstRightPinnedColumn()\n ? `-4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : undefined,\n cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',\n left:\n column.getIsPinned() === 'left'\n ? `${column.getStart('left')}px`\n : undefined,\n p: isDensePadding\n ? columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pl:\n column.id === 'mrt-expand'\n ? `${row.depth + (isDensePadding ? 0.5 : 0.75)}rem`\n : undefined,\n position: column.getIsPinned() ? 'sticky' : 'relative',\n right:\n column.getIsPinned() === 'right' ? `${getTotalRight()}px` : undefined,\n transition: 'all 0.2s ease-in-out',\n whiteSpace: isDensePadding ? 'nowrap' : 'normal',\n zIndex: column.getIsPinned() ? 1 : undefined,\n '&:hover': {\n backgroundColor:\n enableHover && enableEditing && editingMode !== 'row'\n ? theme.palette.mode === 'dark'\n ? `${lighten(\n theme.palette.background.default,\n 0.13,\n )} !important`\n : `${darken(theme.palette.background.default, 0.07)} !important`\n : undefined,\n },\n ...(tableCellProps?.sx as any),\n })}\n style={{\n maxWidth: `min(${column.getSize()}px, fit-content)`,\n minWidth: `max(${column.getSize()}px, ${columnDef.minSize ?? 30}px)`,\n width: column.getSize(),\n }}\n >\n <>\n {isLoading || showSkeletons ? (\n <Skeleton\n animation=\"wave\"\n height={20}\n width={skeletonWidth}\n {...muiTableBodyCellSkeletonProps}\n />\n ) : columnDefType === 'display' ? (\n columnDef.Cell?.({ cell, tableInstance })\n ) : cell.getIsPlaceholder() ||\n (row.getIsGrouped() &&\n column.id !==\n row.groupingColumnId) ? null : cell.getIsAggregated() ? (\n cell.renderAggregatedCell()\n ) : isEditing ? (\n <MRT_EditCellTextField cell={cell} tableInstance={tableInstance} />\n ) : (enableClickToCopy || columnDef.enableClickToCopy) &&\n columnDef.enableClickToCopy !== false ? (\n <>\n <MRT_CopyButton cell={cell} tableInstance={tableInstance}>\n <>\n {columnDef?.Cell?.({ cell, tableInstance }) ??\n cell.renderCell()}\n </>\n </MRT_CopyButton>\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n ) : (\n <>\n {columnDef?.Cell?.({ cell, tableInstance }) ?? cell.renderCell()}\n {row.getIsGrouped() && <> ({row.subRows?.length ?? ''})</>}\n </>\n )}\n </>\n </TableCell>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { Collapse, TableCell, TableRow } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableDetailPanel: FC<Props> = ({ row, tableInstance }) => {\n const {\n getVisibleFlatColumns,\n options: {\n muiTableBodyRowProps,\n muiTableDetailPanelProps,\n onMrtDetailPanelClick,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n const tableCellProps =\n muiTableDetailPanelProps instanceof Function\n ? muiTableDetailPanelProps({ row, tableInstance })\n : muiTableDetailPanelProps;\n\n return (\n <TableRow {...tableRowProps}>\n <TableCell\n colSpan={getVisibleFlatColumns().length + 10}\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onMrtDetailPanelClick?.({ event, row, tableInstance })\n }\n {...tableCellProps}\n sx={{\n borderBottom: !row.getIsExpanded() ? 'none' : undefined,\n pb: row.getIsExpanded() ? '1rem' : 0,\n pt: row.getIsExpanded() ? '1rem' : 0,\n transition: 'all 0.2s ease-in-out',\n ...tableCellProps?.sx,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n {renderDetailPanel?.({ row, tableInstance })}\n </Collapse>\n </TableCell>\n </TableRow>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { darken, lighten, TableRow } from '@mui/material';\nimport { MRT_TableBodyCell } from './MRT_TableBodyCell';\nimport { MRT_TableDetailPanel } from './MRT_TableDetailPanel';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyRow: FC<Props> = ({ row, tableInstance }) => {\n const {\n getIsSomeColumnsPinned,\n options: { muiTableBodyRowProps, onMrtRowClick, renderDetailPanel },\n } = tableInstance;\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n return (\n <>\n <TableRow\n hover\n onClick={(event: MouseEvent<HTMLTableRowElement>) =>\n onMrtRowClick?.({ event, row, tableInstance })\n }\n selected={row.getIsSelected()}\n {...tableRowProps}\n sx={(theme) => ({\n backgroundColor: lighten(theme.palette.background.default, 0.06),\n transition: 'all 0.2s ease-in-out',\n '&:hover td': {\n backgroundColor:\n tableRowProps?.hover !== false && getIsSomeColumnsPinned()\n ? theme.palette.mode === 'dark'\n ? `${lighten(theme.palette.background.default, 0.12)}`\n : `${darken(theme.palette.background.default, 0.05)}`\n : undefined,\n },\n ...(tableRowProps?.sx as any),\n })}\n >\n {row.getVisibleCells().map((cell) => (\n <MRT_TableBodyCell\n cell={cell}\n key={cell.id}\n enableHover={tableRowProps?.hover !== false}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n {renderDetailPanel && !row.getIsGrouped() && (\n <MRT_TableDetailPanel row={row} tableInstance={tableInstance} />\n )}\n </>\n );\n};\n","import React, { FC, RefObject } from 'react';\nimport { TableBody } from '@mui/material';\nimport { MRT_TableBodyRow } from './MRT_TableBodyRow';\nimport { MRT_Row, MRT_TableInstance } from '..';\nimport { useVirtual } from 'react-virtual';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n tableContainerRef: RefObject<HTMLDivElement>;\n}\n\nexport const MRT_TableBody: FC<Props> = ({\n tableInstance,\n tableContainerRef,\n}) => {\n const {\n getPaginationRowModel,\n getPrePaginationRowModel,\n getState,\n options: { enablePagination, enableRowVirtualization, muiTableBodyProps },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const tableBodyProps =\n muiTableBodyProps instanceof Function\n ? muiTableBodyProps({ tableInstance })\n : muiTableBodyProps;\n\n const rows = enablePagination\n ? getPaginationRowModel().rows\n : getPrePaginationRowModel().rows;\n\n const rowVirtualizer = useVirtual({\n overscan: isDensePadding ? 15 : 5,\n size: rows.length,\n parentRef: tableContainerRef,\n });\n\n const { virtualItems: virtualRows } = rowVirtualizer;\n const paddingTop = virtualRows.length > 0 ? virtualRows[0].start : 0;\n const paddingBottom =\n virtualRows.length > 0\n ? rowVirtualizer.totalSize - virtualRows[virtualRows.length - 1].end\n : 0;\n\n return (\n <TableBody {...tableBodyProps}>\n {enableRowVirtualization && paddingTop > 0 && (\n <tr>\n <td style={{ height: `${paddingTop}px` }} />\n </tr>\n )}\n {/* @ts-ignore */}\n {(enableRowVirtualization ? virtualRows : rows).map(\n (rowOrVirtualRow: any) => {\n const row = enableRowVirtualization\n ? (rows[rowOrVirtualRow.index] as MRT_Row)\n : (rowOrVirtualRow as MRT_Row);\n return (\n <MRT_TableBodyRow\n key={row.id}\n row={row}\n tableInstance={tableInstance}\n />\n );\n },\n )}\n {enableRowVirtualization && paddingBottom > 0 && (\n <tr>\n <td style={{ height: `${paddingBottom}px` }} />\n </tr>\n )}\n </TableBody>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, TableCell } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n footer: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterCell: FC<Props> = ({ footer, tableInstance }) => {\n const {\n getState,\n options: { muiTableFooterCellProps, enableColumnResizing },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const { column } = footer;\n\n const { columnDef, columnDefType } = column;\n\n const mTableFooterCellProps =\n muiTableFooterCellProps instanceof Function\n ? muiTableFooterCellProps({ column, tableInstance })\n : muiTableFooterCellProps;\n\n const mcTableFooterCellProps =\n columnDef.muiTableFooterCellProps instanceof Function\n ? columnDef.muiTableFooterCellProps({ column, tableInstance })\n : columnDef.muiTableFooterCellProps;\n\n const tableCellProps = {\n ...mTableFooterCellProps,\n ...mcTableFooterCellProps,\n };\n\n return (\n <TableCell\n align={columnDefType === 'group' ? 'center' : 'left'}\n colSpan={footer.colSpan}\n variant=\"head\"\n {...tableCellProps}\n sx={(theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n fontWeight: 'bold',\n maxWidth: `${column.getSize()}px`,\n minWidth: `${column.getSize()}px`,\n p: isDensePadding ? '0.5rem' : '1rem',\n transition: `all ${enableColumnResizing ? '10ms' : '0.2s'} ease-in-out`,\n width: column.getSize(),\n verticalAlign: 'text-top',\n ...(tableCellProps?.sx as any),\n })}\n >\n <>\n {footer.isPlaceholder\n ? null\n : (columnDef.Footer instanceof Function\n ? columnDef.Footer?.({\n footer,\n tableInstance,\n })\n : columnDef.Footer) ??\n columnDef.footer ??\n footer.renderFooter() ??\n null}\n </>\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableFooterCell } from './MRT_TableFooterCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n footerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterRow: FC<Props> = ({\n footerGroup,\n tableInstance,\n}) => {\n const {\n options: { muiTableFooterRowProps },\n } = tableInstance;\n\n // if no content in row, skip row\n if (\n !footerGroup.headers?.some(\n (header) =>\n (typeof header.column.columnDef.footer === 'string' &&\n !!header.column.columnDef.footer) ||\n header.column.columnDef.Footer,\n )\n )\n return null;\n\n const tableRowProps =\n muiTableFooterRowProps instanceof Function\n ? muiTableFooterRowProps({ footerGroup, tableInstance })\n : muiTableFooterRowProps;\n\n return (\n <TableRow {...tableRowProps}>\n {footerGroup.headers.map((footer: MRT_Header) => (\n <MRT_TableFooterCell\n footer={footer}\n key={footer.id}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableFooter } from '@mui/material';\nimport { MRT_TableFooterRow } from './MRT_TableFooterRow';\nimport type { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooter: FC<Props> = ({ tableInstance }) => {\n const {\n getFooterGroups,\n\n options: { muiTableFooterProps },\n } = tableInstance;\n\n const tableFooterProps =\n muiTableFooterProps instanceof Function\n ? muiTableFooterProps({ tableInstance })\n : muiTableFooterProps;\n\n return (\n <TableFooter {...tableFooterProps}>\n {getFooterGroups().map((footerGroup) => (\n <MRT_TableFooterRow\n footerGroup={footerGroup as any}\n key={footerGroup.id}\n tableInstance={tableInstance}\n />\n ))}\n </TableFooter>\n );\n};\n","import React, { FC, RefObject } from 'react';\nimport { Table } from '@mui/material';\nimport { MRT_TableHead } from '../head/MRT_TableHead';\nimport { MRT_TableBody } from '../body/MRT_TableBody';\nimport { MRT_TableFooter } from '../footer/MRT_TableFooter';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableContainerRef: RefObject<HTMLDivElement>;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_Table: FC<Props> = ({\n tableContainerRef,\n tableInstance\n}) => {\n const {\n options: {\n enableStickyHeader,\n enableTableFooter,\n enableTableHead,\n muiTableProps,\n },\n } = tableInstance;\n\n const tableProps =\n muiTableProps instanceof Function\n ? muiTableProps({ tableInstance })\n : muiTableProps;\n\n return (\n <Table stickyHeader={enableStickyHeader} {...tableProps}>\n {enableTableHead && <MRT_TableHead tableInstance={tableInstance} />}\n <MRT_TableBody\n tableContainerRef={tableContainerRef}\n tableInstance={tableInstance}\n />\n {enableTableFooter && <MRT_TableFooter tableInstance={tableInstance} />}\n </Table>\n );\n};\n","import React, { FC, useEffect, useLayoutEffect, useState } from 'react';\nimport { TableContainer } from '@mui/material';\nimport { MRT_Table } from './MRT_Table';\nimport type { MRT_TableInstance } from '..';\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableContainer: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: { enableStickyHeader, muiTableContainerProps, tableId },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps({ tableInstance })\n : muiTableContainerProps;\n\n useIsomorphicLayoutEffect(() => {\n const topToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${tableId}-toolbar-top`)\n ?.offsetHeight ?? 0\n : 0;\n\n const bottomToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${tableId}-toolbar-bottom`)\n ?.offsetHeight ?? 0\n : 0;\n\n setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);\n });\n\n const tableContainerRef = React.useRef<HTMLDivElement>(null);\n\n return (\n <TableContainer\n {...tableContainerProps}\n ref={tableContainerRef}\n sx={{\n maxWidth: '100%',\n maxHeight: enableStickyHeader\n ? `clamp(350px, calc(100vh - ${totalToolbarHeight}px), 2000px)`\n : undefined,\n overflow: 'auto',\n ...tableContainerProps?.sx,\n }}\n style={{\n maxHeight: isFullScreen\n ? `calc(100vh - ${totalToolbarHeight}px)`\n : undefined,\n }}\n >\n <MRT_Table\n tableContainerRef={tableContainerRef}\n tableInstance={tableInstance}\n />\n </TableContainer>\n );\n};\n","import React, { FC, useEffect } from 'react';\nimport { Paper } from '@mui/material';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { MRT_ToolbarTop } from '../toolbar/MRT_ToolbarTop';\nimport { MRT_ToolbarBottom } from '../toolbar/MRT_ToolbarBottom';\nimport { MRT_TableContainer } from './MRT_TableContainer';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: { enableToolbarBottom, enableToolbarTop, muiTablePaperProps },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (isFullScreen) {\n document.body.style.overflow = 'hidden';\n document.body.style.height = '100vh';\n } else {\n document.body.style.overflow = 'auto';\n document.body.style.height = 'auto';\n }\n }\n }, [isFullScreen]);\n\n const tablePaperProps =\n muiTablePaperProps instanceof Function\n ? muiTablePaperProps({ tableInstance })\n : muiTablePaperProps;\n\n return (\n <DndProvider backend={HTML5Backend}>\n <Paper\n elevation={2}\n {...tablePaperProps}\n sx={{\n transition: 'all 0.2s ease-in-out',\n ...tablePaperProps?.sx,\n }}\n style={{\n height: isFullScreen ? '100vh' : undefined,\n margin: isFullScreen ? '0' : undefined,\n maxHeight: isFullScreen ? '100vh' : undefined,\n maxWidth: isFullScreen ? '100vw' : undefined,\n padding: isFullScreen ? '0' : undefined,\n width: isFullScreen ? '100vw' : undefined,\n }}\n >\n {enableToolbarTop && <MRT_ToolbarTop tableInstance={tableInstance} />}\n <MRT_TableContainer tableInstance={tableInstance} />\n {enableToolbarBottom && (\n <MRT_ToolbarBottom tableInstance={tableInstance} />\n )}\n </Paper>\n </DndProvider>\n );\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport {\n FilterFn,\n createTable,\n getExpandedRowModel,\n getPaginationRowModel,\n useTableInstance,\n getGroupedRowModel,\n getSortedRowModel,\n getCoreRowModel,\n getFilteredRowModel,\n ReactTableGenerics,\n getFacetedRowModel,\n TableState,\n Table,\n} from '@tanstack/react-table';\nimport {\n MRT_Cell,\n MRT_ColumnDef,\n MRT_FilterFn,\n MRT_Row,\n MRT_TableInstance,\n MRT_TableState,\n} from '..';\nimport { MRT_ExpandAllButton } from '../buttons/MRT_ExpandAllButton';\nimport { MRT_ExpandButton } from '../buttons/MRT_ExpandButton';\nimport { MRT_ToggleRowActionMenuButton } from '../buttons/MRT_ToggleRowActionMenuButton';\nimport { MRT_SelectCheckbox } from '../inputs/MRT_SelectCheckbox';\nimport { MaterialReactTableProps } from '../MaterialReactTable';\nimport { MRT_TablePaper } from './MRT_TablePaper';\nimport {\n createDataColumn,\n createDisplayColumn,\n createGroup,\n getAllLeafColumnDefs,\n} from '../utils';\nimport { defaultFilterFNs } from '../filtersFNs';\nimport { MRT_FILTER_OPTION } from '../enums';\nimport { Box, Dialog, Grow } from '@mui/material';\n\nexport const MRT_TableRoot = <D extends Record<string, any> = {}>(\n props: MaterialReactTableProps<D>,\n) => {\n const [tableId, setIdPrefix] = useState(props.tableId);\n useEffect(\n () =>\n setIdPrefix(props.tableId ?? Math.random().toString(36).substring(2, 9)),\n [props.tableId],\n );\n\n const showActionColumn =\n props.enableRowActions ||\n (props.enableEditing && props.editingMode === 'row');\n\n const showExpandColumn = props.enableExpanding || props.enableGrouping;\n\n const initialState: Partial<MRT_TableState<D>> = useMemo(() => {\n const initState = props.initialState ?? {};\n\n initState.columnOrder =\n initState?.columnOrder ??\n (props.enableColumnOrdering || props.enableGrouping)\n ? ([\n showActionColumn && 'mrt-row-actions',\n showExpandColumn && 'mrt-expand',\n props.enableRowSelection && 'mrt-select',\n props.enableRowNumbers && 'mrt-row-numbers',\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnDef[]).map(\n (c) => c.id,\n ),\n ].filter(Boolean) as string[])\n : [];\n\n if (!props.enablePersistentState || !props.tableId) {\n return initState;\n }\n if (typeof window === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n 'The MRT Persistent Table State feature is not supported if using SSR, but you can wrap your <MaterialReactTable /> in a MUI <NoSsr> tags to let it work',\n );\n }\n return initState;\n }\n const storedState =\n props.persistentStateMode === 'localStorage'\n ? localStorage.getItem(`mrt-${tableId}-table-state`)\n : props.persistentStateMode === 'sessionStorage'\n ? sessionStorage.getItem(`mrt-${tableId}-table-state`)\n : '{}';\n if (storedState) {\n const parsedState = JSON.parse(storedState);\n if (parsedState) {\n return { ...initState, ...parsedState };\n }\n }\n return initState;\n }, []);\n\n const [currentEditingCell, setCurrentEditingCell] =\n useState<MRT_Cell<D> | null>(initialState?.currentEditingCell ?? null);\n const [currentEditingRow, setCurrentEditingRow] = useState<MRT_Row<D> | null>(\n initialState?.currentEditingRow ?? null,\n );\n const [isDensePadding, setIsDensePadding] = useState(\n initialState?.isDensePadding ?? false,\n );\n const [isFullScreen, setIsFullScreen] = useState(\n initialState?.isFullScreen ?? false,\n );\n const [showFilters, setShowFilters] = useState(\n initialState?.showFilters ?? false,\n );\n const [showGlobalFilter, setShowGlobalFilter] = useState(\n initialState?.showGlobalFilter ?? false,\n );\n\n const [currentFilterFns, setCurrentFilterFns] = useState<{\n [key: string]: MRT_FilterFn;\n }>(() =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnDef[]).map((c) => ({\n [c.id as string]:\n c.filterFn ??\n initialState?.currentFilterFns?.[c.id] ??\n (!!c.filterSelectOptions?.length\n ? MRT_FILTER_OPTION.EQUALS\n : MRT_FILTER_OPTION.FUZZY),\n })),\n ),\n );\n\n const [currentGlobalFilterFn, setCurrentGlobalFilterFn] = useState<\n MRT_FILTER_OPTION | FilterFn<ReactTableGenerics> | string | number | symbol\n >(props.globalFilterFn ?? MRT_FILTER_OPTION.FUZZY);\n\n const table = useMemo(\n () =>\n // @ts-ignore\n createTable().setOptions({\n //@ts-ignore\n filterFns: defaultFilterFNs,\n getCoreRowModel: getCoreRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getGroupedRowModel: getGroupedRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getSubRows: (row) => (row as MRT_Row)?.subRows,\n tableId,\n initialState,\n }) as Table<D>,\n [],\n );\n\n const displayColumns = useMemo(\n () =>\n [\n showActionColumn &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ToggleRowActionMenuButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n header: props.localization?.actions,\n id: 'mrt-row-actions',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 60,\n }),\n showExpandColumn &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ExpandButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableExpandAll ? (\n <MRT_ExpandAllButton tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.expand,\n id: 'mrt-expand',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 50,\n }),\n props.enableRowSelection &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_SelectCheckbox\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableSelectAll ? (\n <MRT_SelectCheckbox selectAll tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.select,\n id: 'mrt-select',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 50,\n }),\n props.enableRowNumbers &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => cell.row.index + 1,\n Header: () => props.localization?.rowNumber,\n header: props.localization?.rowNumbers,\n id: 'mrt-row-numbers',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 50,\n }),\n ].filter(Boolean),\n [\n props.editingMode,\n props.enableEditing,\n props.enableExpandAll,\n props.enableExpanding,\n props.enableGrouping,\n props.enableRowActions,\n props.enableRowNumbers,\n props.enableRowSelection,\n props.enableSelectAll,\n props.localization,\n table,\n ],\n );\n\n const columns = useMemo(\n () => [\n ...displayColumns,\n ...props.columns.map((column) =>\n column.columns\n ? createGroup(table, column as any, currentFilterFns)\n : createDataColumn(table, column as any, currentFilterFns),\n ),\n ],\n [table, props.columns, currentFilterFns],\n );\n\n const data: D[] = useMemo(\n () =>\n (props.state?.isLoading || props.state?.showSkeletons) &&\n !props.data.length\n ? [...Array(10).fill(null)].map(() =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnDef[]).map(\n (c) => ({\n [c.id]: null,\n }),\n ),\n ),\n )\n : props.data,\n [props.data, props.state?.isLoading, props.state?.showSkeletons],\n );\n\n //@ts-ignore\n const tableInstance = {\n //@ts-ignore\n ...useTableInstance(table, {\n ...props,\n //@ts-ignore\n columns,\n data,\n //@ts-ignore\n globalFilterFn: currentGlobalFilterFn,\n state: {\n currentEditingCell,\n currentEditingRow,\n currentFilterFns,\n currentGlobalFilterFn,\n isDensePadding,\n isFullScreen,\n showFilters,\n showGlobalFilter,\n ...props.state,\n } as TableState,\n }),\n setCurrentEditingCell,\n setCurrentEditingRow,\n setCurrentFilterFns,\n setCurrentGlobalFilterFn,\n setIsDensePadding,\n setIsFullScreen,\n setShowFilters,\n setShowGlobalFilter,\n } as MRT_TableInstance;\n\n useEffect(() => {\n if (typeof window === 'undefined' || !props.enablePersistentState) {\n return;\n }\n if (!props.tableId && process.env.NODE_ENV !== 'production') {\n console.warn(\n 'a unique tableId prop is required for persistent table state to work',\n );\n return;\n }\n const itemArgs: [string, string] = [\n `mrt-${tableId}-table-state`,\n JSON.stringify(tableInstance.getState()),\n ];\n if (props.persistentStateMode === 'localStorage') {\n localStorage.setItem(...itemArgs);\n } else if (props.persistentStateMode === 'sessionStorage') {\n sessionStorage.setItem(...itemArgs);\n }\n }, [\n props.enablePersistentState,\n props.tableId,\n props.persistentStateMode,\n tableInstance,\n ]);\n\n return (\n <>\n <Dialog\n PaperComponent={Box}\n TransitionComponent={Grow}\n disablePortal\n fullScreen\n keepMounted={false}\n onClose={() => setIsFullScreen(false)}\n open={isFullScreen}\n transitionDuration={400}\n >\n <MRT_TablePaper tableInstance={tableInstance} />\n </Dialog>\n {!isFullScreen && <MRT_TablePaper tableInstance={tableInstance} />}\n </>\n );\n};\n","import React, {\n ChangeEvent,\n Dispatch,\n FC,\n FocusEvent,\n MouseEvent,\n ReactNode,\n SetStateAction,\n} from 'react';\nimport {\n AlertProps,\n ButtonProps,\n CheckboxProps,\n IconButtonProps,\n LinearProgressProps,\n PaperProps,\n SkeletonProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableFooterProps,\n TableHeadProps,\n TablePaginationProps,\n TableProps,\n TableRowProps,\n TextFieldProps,\n ToolbarProps,\n} from '@mui/material';\nimport {\n Cell,\n Column,\n ColumnDef,\n FilterFn,\n FilterFnOption,\n Header,\n HeaderGroup,\n Overwrite,\n ReactTableGenerics,\n Row,\n TableGenerics,\n TableInstance,\n TableState,\n UseTableInstanceOptions,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';\nimport { MRT_Default_Icons, MRT_Icons } from './icons';\nimport { MRT_FILTER_OPTION } from './enums';\nimport { MRT_TableRoot } from './table/MRT_TableRoot';\n\nexport type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<\n Omit<\n UseTableInstanceOptions<ReactTableGenerics>,\n 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn' | 'filterFns'\n >\n> & {\n columns: MRT_ColumnDef<D>[];\n data: D[];\n expandRowsFn?: (dataRow: D) => D[];\n filterFns?: MRT_FILTER_OPTION | FilterFn<D> | string | number | symbol;\n initialState?: Partial<MRT_TableState<D>>;\n state?: Partial<MRT_TableState<D>>;\n};\n\nexport interface MRT_RowModel<D extends Record<string, any> = {}> {\n flatRows: MRT_Row<D>[];\n rows: MRT_Row<D>[];\n rowsById: { [key: string]: MRT_Row<D> };\n}\n\nexport type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<\n TableInstance<\n Overwrite<\n Partial<TableGenerics>,\n {\n Row: D;\n }\n >\n >,\n | 'getAllColumns'\n | 'getAllFlatColumns'\n | 'getAllLeafColumns'\n | 'getCenterLeafColumns'\n | 'getColumn'\n | 'getExpandedRowModel'\n | 'getFlatHeaders'\n | 'getLeftLeafColumns'\n | 'getPaginationRowModel'\n | 'getPrePaginationRowModel'\n | 'getRightLeafColumns'\n | 'getRowModel'\n | 'getSelectedRowModel'\n | 'getState'\n | 'options'\n> & {\n getAllColumns: () => MRT_Column<D>[];\n getAllFlatColumns: () => MRT_Column<D>[];\n getAllLeafColumns: () => MRT_Column<D>[];\n getCenterLeafColumns: () => MRT_Column<D>[];\n getColumn: (columnId: string) => MRT_Column<D>;\n getExpandedRowModel: () => MRT_RowModel<D>;\n getFlatHeaders: () => MRT_Header<D>[];\n getLeftLeafColumns: () => MRT_Column<D>[];\n getPaginationRowModel: () => MRT_RowModel<D>;\n getPrePaginationRowModel: () => MRT_RowModel<D>;\n getRightLeafColumns: () => MRT_Column<D>[];\n getRowModel: () => MRT_RowModel<D>;\n getSelectedRowModel: () => MRT_RowModel<D>;\n getState: () => MRT_TableState<D>;\n options: MaterialReactTableProps<D> & {\n icons: MRT_Icons;\n tableId: string;\n localization: MRT_Localization;\n };\n setCurrentEditingCell: Dispatch<SetStateAction<MRT_Cell | null>>;\n setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row | null>>;\n setCurrentFilterFns: Dispatch<\n SetStateAction<{\n [key: string]: MRT_FilterFn;\n }>\n >;\n setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn<D>>>;\n setIsDensePadding: Dispatch<SetStateAction<boolean>>;\n setIsFullScreen: Dispatch<SetStateAction<boolean>>;\n setShowFilters: Dispatch<SetStateAction<boolean>>;\n setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;\n};\n\nexport type MRT_TableState<D extends Record<string, any> = {}> = TableState & {\n currentEditingCell: MRT_Cell<D> | null;\n currentEditingRow: MRT_Row<D> | null;\n currentFilterFns: Record<string, string | Function>;\n currentGlobalFilterFn: Record<string, string | Function>;\n isDensePadding: boolean;\n isLoading: boolean;\n isFullScreen: boolean;\n showFilters: boolean;\n showGlobalFilter: boolean;\n showProgressBars: boolean;\n showSkeletons: boolean;\n};\n\nexport type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<\n ColumnDef<D>,\n 'accessorFN' | 'header' | 'footer' | 'columns' | 'filterFn'\n> & {\n Cell?: ({\n cell,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Edit?: ({\n cell,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Filter?: ({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Footer?:\n | ReactNode\n | (({\n footer,\n tableInstance,\n }: {\n footer: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode);\n Header?:\n | ReactNode\n | (({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode);\n accessorFN?: (row: D) => any;\n columns?: MRT_ColumnDef<D>[];\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableColumnOrdering?: boolean;\n enableEditing?: boolean;\n enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];\n filterFn?: MRT_FilterFn;\n filterSelectOptions?: (string | { text: string; value: string })[];\n footer?: string;\n header: string;\n id: keyof D | string;\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n onMrtCellEditBlur?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: FocusEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtCellEditChange?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtFilterValueChange?: ({\n column,\n event,\n filterValue,\n }: {\n column: MRT_Column<D>;\n event: ChangeEvent<HTMLInputElement>;\n filterValue: any;\n }) => void;\n};\n\nexport type MRT_Column<D extends Record<string, any> = {}> = Omit<\n Column<D>,\n 'header' | 'footer' | 'columns'\n> & {\n columns?: MRT_Column<D>[];\n columnDef: MRT_ColumnDef<D>;\n header: string;\n footer: string;\n};\n\nexport type MRT_Header<D extends Record<string, any> = {}> = Omit<\n Header<D>,\n 'column'\n> & {\n column: MRT_Column<D>;\n};\n\nexport type MRT_HeaderGroup<D extends Record<string, any> = {}> = Omit<\n HeaderGroup<D>,\n 'headers'\n> & {\n headers: MRT_Header<D>[];\n};\n\nexport type MRT_Row<D extends Record<string, any> = {}> = Omit<\n Row<D>,\n 'getVisibleCells' | 'getAllCells' | 'subRows' | 'original' | '_valuesCache'\n> & {\n getAllCells: () => MRT_Cell<D>[];\n getVisibleCells: () => MRT_Cell<D>[];\n subRows?: MRT_Row<D>[];\n original: D;\n _valuesCache?: D;\n};\n\nexport type MRT_Cell<D extends Record<string, any> = {}> = Omit<\n Cell<D>,\n 'column' | 'row'\n> & {\n column: MRT_Column<D>;\n row: MRT_Row<D>;\n};\n\nexport type MRT_FilterFn<D extends Record<string, any> = {}> =\n | FilterFn<TableGenerics>\n | FilterFnOption<D>\n | MRT_FILTER_OPTION\n | number\n | string\n | symbol;\n\nexport type MaterialReactTableProps<D extends Record<string, any> = {}> =\n MRT_TableOptions<D> & {\n editingMode?: 'table' | 'row' | 'cell';\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableColumnOrdering?: boolean;\n enableDensePaddingToggle?: boolean;\n enableEditing?: boolean;\n enableExpandAll?: boolean;\n enableFullScreenToggle?: boolean;\n enablePagination?: boolean;\n enablePersistentState?: boolean;\n enableRowActions?: boolean;\n enableRowNumbers?: boolean;\n enableRowVirtualization?: boolean;\n enableSelectAll?: boolean;\n enableStickyHeader?: boolean;\n enableTableFooter?: boolean;\n enableTableHead?: boolean;\n enableToolbarBottom?: boolean;\n enableToolbarInternalActions?: boolean;\n enableToolbarTop?: boolean;\n enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];\n enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[];\n icons?: Partial<MRT_Icons>;\n localization?: Partial<MRT_Localization>;\n muiLinearProgressProps?:\n | LinearProgressProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => LinearProgressProps);\n muiSearchTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TextFieldProps);\n muiSelectCheckboxProps?:\n | CheckboxProps\n | (({\n tableInstance,\n isSelectAll,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n isSelectAll: boolean;\n row?: MRT_Row<D>;\n }) => CheckboxProps);\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableBodyCellSkeletonProps?:\n | SkeletonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => SkeletonProps);\n muiTableBodyProps?:\n | TableBodyProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableBodyProps);\n muiTableBodyRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableRowProps);\n muiTableContainerProps?:\n | TableContainerProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableContainerProps);\n muiTableDetailPanelProps?:\n | TableCellProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n muiTableFooterProps?:\n | TableFooterProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableFooterProps);\n muiTableFooterRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n footerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n footerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n muiTableHeadProps?:\n | TableHeadProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableHeadProps);\n muiTableHeadRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n headerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n headerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTablePaginationProps?:\n | Partial<TablePaginationProps>\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => Partial<TablePaginationProps>);\n muiTablePaperProps?:\n | PaperProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => PaperProps);\n muiTableProps?:\n | TableProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableProps);\n muiTableToolbarAlertBannerProps?:\n | AlertProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => AlertProps);\n muiTableToolbarBottomProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n muiTableToolbarTopProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n onMrtCellClick?: ({\n cell,\n event,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n event: MouseEvent<HTMLTableCellElement>;\n }) => void;\n onMrtCellEditBlur?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: FocusEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtCellEditChange?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtDetailPanelClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableCellElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtEditRowSubmit?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => Promise<void> | void;\n onMrtFilterValueChange?: ({\n column,\n event,\n filterValue,\n }: {\n column: MRT_Column<D>;\n event: ChangeEvent<HTMLInputElement>;\n filterValue: any;\n }) => void;\n onMrtGlobalFilterValueChange?: ({\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtRowClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableRowElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtRowExpandChange?: ({\n event,\n row,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtSelectAllChange?: ({\n event,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtSelectRowChange?: ({\n event,\n row,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n row: MRT_Row<D>;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleColumnVisibility?: ({\n column,\n columnVisibility,\n tableInstance,\n }: {\n column: MRT_Column<D>;\n columnVisibility: VisibilityState;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleDensePadding?: ({\n event,\n isDensePadding,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n isDensePadding: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleFullScreen?: ({\n event,\n isFullScreen,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n isFullScreen: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleShowFilters?: ({\n event,\n showFilters,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n showFilters: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleShowGlobalFilter?: ({\n event,\n showGlobalFilter,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n showGlobalFilter: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n persistentStateMode?: 'localStorage' | 'sessionStorage';\n positionActionsColumn?: 'first' | 'last';\n positionPagination?: 'bottom' | 'top' | 'both';\n positionGlobalFilter?: 'left' | 'right';\n positionToolbarActions?: 'bottom' | 'top';\n positionToolbarAlertBanner?: 'bottom' | 'top';\n renderDetailPanel?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderRowActionMenuItems?: ({\n closeMenu,\n row,\n tableInstance,\n }: {\n closeMenu: () => void;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode[];\n renderRowActions?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarCustomActions?: ({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarInternalActions?: ({\n tableInstance,\n MRT_ToggleGlobalFilterButton,\n MRT_ToggleFiltersButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_FullScreenToggleButton,\n }: {\n tableInstance: MRT_TableInstance<D>;\n MRT_ToggleGlobalFilterButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleFiltersButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ShowHideColumnsButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleDensePaddingButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_FullScreenToggleButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n }) => ReactNode;\n selectAllMode?: 'all' | 'page';\n tableId?: string;\n };\n\nexport default <D extends Record<string, any> = {}>({\n autoResetExpanded = false,\n columnResizeMode = 'onEnd',\n defaultColumn = { minSize: 50, maxSize: 1000, size: 150 },\n editingMode = 'row',\n enableColumnActions = true,\n enableColumnFilters = true,\n enableColumnOrdering = false,\n enableColumnResizing = false,\n enableDensePaddingToggle = true,\n enableExpandAll = true,\n enableFilters = true,\n enableFullScreenToggle = true,\n enableGlobalFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableMultiRowSelection = true,\n enablePagination = true,\n enablePinning = false,\n enableSelectAll = true,\n enableSorting = true,\n enableStickyHeader = true,\n enableTableFooter = true,\n enableTableHead = true,\n enableToolbarBottom = true,\n enableToolbarInternalActions = true,\n enableToolbarTop = true,\n icons,\n localization,\n persistentStateMode = 'sessionStorage',\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionGlobalFilter = 'right',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n selectAllMode = 'all',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MRT_TableRoot\n autoResetExpanded={autoResetExpanded}\n columnResizeMode={columnResizeMode}\n defaultColumn={defaultColumn}\n editingMode={editingMode}\n enableColumnActions={enableColumnActions}\n enableColumnFilters={enableColumnFilters}\n enableColumnOrdering={enableColumnOrdering}\n enableColumnResizing={enableColumnResizing}\n enableDensePaddingToggle={enableDensePaddingToggle}\n enableExpandAll={enableExpandAll}\n enableFilters={enableFilters}\n enableFullScreenToggle={enableFullScreenToggle}\n enableGlobalFilter={enableGlobalFilter}\n enableGrouping={enableGrouping}\n enableHiding={enableHiding}\n enableMultiRowSelection={enableMultiRowSelection}\n enablePagination={enablePagination}\n enablePinning={enablePinning}\n enableSelectAll={enableSelectAll}\n enableSorting={enableSorting}\n enableStickyHeader={enableStickyHeader}\n enableTableFooter={enableTableFooter}\n enableTableHead={enableTableHead}\n enableToolbarBottom={enableToolbarBottom}\n enableToolbarInternalActions={enableToolbarInternalActions}\n enableToolbarTop={enableToolbarTop}\n icons={{ ...MRT_Default_Icons, ...icons }}\n localization={{ ...MRT_DefaultLocalization_EN, ...localization }}\n persistentStateMode={persistentStateMode}\n positionActionsColumn={positionActionsColumn}\n positionGlobalFilter={positionGlobalFilter}\n positionPagination={positionPagination}\n positionToolbarActions={positionToolbarActions}\n positionToolbarAlertBanner={positionToolbarAlertBanner}\n selectAllMode={selectAllMode}\n {...rest}\n />\n);\n"],"names":["MRT_DefaultLocalization_EN","actions","and","cancel","changeFilterMode","changeSearchMode","clearFilter","clearSearch","clearSort","clickToCopy","columnActions","copiedToClipboard","edit","expand","expandAll","filterBetween","filterByColumn","filterContains","filterEmpty","filterEndsWith","filterEquals","filterFuzzy","filterGreaterThan","filterLessThan","filterMode","filterNotEmpty","filterNotEquals","filterStartsWith","filteringByColumn","grab","groupByColumn","groupedBy","hideAll","hideColumn","max","min","pinToLeft","pinToRight","resetColumnSize","resetOrder","rowActions","rowNumber","rowNumbers","save","search","selectedCountOfRowCountRowsSelected","select","showAll","showAllColumns","showHideColumns","showHideFilters","showHideSearch","sortByColumnAsc","sortByColumnDesc","sortedByColumnAsc","sortedByColumnDesc","thenBy","to","toggleDensePadding","toggleFullScreen","toggleSelectAll","toggleSelectRow","ungroupByColumn","unpin","unpinAll","unsorted","MRT_Default_Icons","ArrowRightIcon","ArrowRight","CancelIcon","Cancel","CheckBoxIcon","CheckBox","ClearAllIcon","ClearAll","CloseIcon","Close","DensityMediumIcon","DensityMedium","DensitySmallIcon","DensitySmall","KeyboardDoubleArrowDownIcon","KeyboardDoubleArrowDown","DragHandleIcon","DragHandle","DynamicFeedIcon","DynamicFeed","EditIcon","Edit","ExpandLessIcon","ExpandLess","ExpandMoreIcon","ExpandMore","FilterAltIcon","FilterAlt","FilterAltOffIcon","FilterAltOff","FilterListIcon","FilterList","FilterListOffIcon","FilterListOff","FullscreenExitIcon","FullscreenExit","FullscreenIcon","Fullscreen","MoreHorizIcon","MoreHoriz","MoreVertIcon","MoreVert","PushPinIcon","PushPin","RestartAltIcon","RestartAlt","SaveIcon","Save","SearchIcon","Search","SearchOffIcon","SearchOff","SortIcon","Sort","ViewColumnIcon","ViewColumn","VisibilityOffIcon","VisibilityOff","MRT_ExpandAllButton","tableInstance","getIsAllRowsExpanded","getIsSomeRowsExpanded","getCanSomeRowsExpand","getState","options","icons","localization","renderDetailPanel","toggleAllRowsExpanded","isDensePadding","React","Tooltip","arrow","enterDelay","enterNextDelay","title","IconButton","disabled","onClick","sx","height","width","style","transform","transition","MRT_ExpandButton","row","onMrtRowExpandChange","handleToggleExpand","event","toggleExpanded","getCanExpand","getIsExpanded","MRT_FILTER_OPTION","fuzzy","columnId","value","addMeta","itemRank","rankItem","getValue","threshold","rankings","MATCHES","passed","autoRemove","val","contains","id","filterValue","toString","toLowerCase","trim","includes","startsWith","endsWith","equals","notEquals","greaterThan","isNaN","lessThan","between","filterValues","undefined","empty","_filterValue","notEmpty","defaultFilterFNs","commonMenuItemStyles","py","my","alignItems","MRT_FilterOptionMenu","anchorEl","header","onSelect","setAnchorEl","enabledGlobalFilterOptions","setCurrentFilterFns","setCurrentGlobalFilterFn","currentFilterFns","currentGlobalFilterFn","column","columnDef","filterOptions","useMemo","option","FUZZY","label","divider","fn","CONTAINS","STARTS_WITH","ENDS_WITH","EQUALS","NOT_EQUALS","BETWEEN","GREATER_THAN","LESS_THAN","EMPTY","NOT_EMPTY","filter","filterType","enabledColumnFilterOptions","handleSelectFilterType","prev","setFilterValue","filterOption","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","map","index","MenuItem","key","selected","MRT_ColumnPinningButtons","handlePinColumn","pinDirection","pin","Box","minWidth","textAlign","getIsPinned","size","MRT_GrabHandleButton","forwardRef","ref","placement","disableRipple","cursor","m","opacity","p","backgroundColor","getAllLeafColumnDefs","columns","lowestLevelColumns","currentCols","length","some","col","nextCols","flat","every","createGroup","table","createDataColumn","filterFn","Function","createDisplayColumn","reorderColumn","movingColumn","receivingColumn","columnOrder","setColumnOrder","getCanPin","splice","indexOf","MRT_ShowHideColumnsMenuItems","allColumns","isSubMenu","enableColumnOrdering","onMrtToggleColumnVisibility","columnVisibility","columnDefType","useDrop","accept","drop","dropRef","useDrag","collect","monitor","isDragging","item","type","dragRef","previewRef","switchChecked","getIsVisible","getLeafColumns","handleToggleColumnHidden","forEach","childColumn","toggleVisibility","justifyContent","pl","depth","display","flexWrap","gap","FormControlLabel","componentsProps","typography","mb","checked","control","Switch","getCanHide","getIsGrouped","onChange","c","i","MRT_ShowHideColumnsMenu","getAllColumns","getAllLeafColumns","getCenterLeafColumns","getIsAllColumnsVisible","getIsSomeColumnsPinned","getIsSomeColumnsVisible","getLeftLeafColumns","getRightLeafColumns","toggleAllColumnsVisible","enablePinning","columnPinning","hideAllColumns","enableHiding","Array","from","Set","colId","find","Boolean","pt","Button","resetColumnOrder","resetColumnPinning","Divider","commonListItemStyles","MRT_ColumnActionMenu","enableColumnFilters","enableColumnResizing","enableGrouping","enableSorting","tableId","setShowFilters","columnSizing","useState","filterMenuAnchorEl","setFilterMenuAnchorEl","showHideColumnsMenuAnchorEl","setShowHideColumnsMenuAnchorEl","handleClearSort","clearSorting","handleSortAsc","toggleSorting","handleSortDesc","handleResetColumnSize","resetSize","handleHideColumn","handleGroupByColumn","toggleGrouping","old","handleClearFilter","handleFilterByColumn","setTimeout","document","getElementById","muiTableHeadCellFilterTextFieldProps","focus","handleShowAllColumns","handleOpenFilterModeMenu","stopPropagation","currentTarget","handleOpenShowHideColumnsMenu","getCanSort","getIsSorted","ListItemIcon","replace","String","getCanFilter","getFilterValue","filterSelectOptions","onMouseEnter","getCanGroup","getCanResize","Object","values","visible","MRT_RowActionMenu","handleEdit","enableEditing","renderRowActionMenuItems","closeMenu","MRT_EditActionButtons","onMrtEditRowSubmit","setCurrentEditingRow","currentEditingRow","handleCancel","_valuesCache","original","handleSave","color","commonIconButtonStyles","ml","MRT_ToggleRowActionMenuButton","renderRowActions","handleOpenRowActionMenu","preventDefault","handleStartEditMode","MRT_SelectCheckbox","selectAll","getRowModel","getSelectedRowModel","muiSelectCheckboxProps","onMrtSelectRowChange","onMrtSelectAllChange","selectAllMode","handleSelectChange","getToggleAllRowsSelectedHandler","getToggleAllPageRowsSelectedHandler","selectedRows","target","flatRows","getToggleSelectedHandler","selectedRow","checkboxProps","isSelectAll","Checkbox","getIsAllRowsSelected","getIsSelected","indeterminate","getIsSomeRowsSelected","getIsSomeSelected","inputProps","MRT_FullScreenToggleButton","rest","onMrtToggleFullScreen","setIsFullScreen","isFullScreen","handleToggleFullScreen","MRT_ShowHideColumnsButton","handleClick","MRT_ToggleDensePaddingButton","onMrtToggleDensePadding","setIsDensePadding","handleToggleDensePadding","MRT_ToggleFiltersButton","onMrtToggleShowFilters","showFilters","handleToggleShowFilters","MRT_ToggleGlobalFilterButton","muiSearchTextFieldProps","onMrtToggleShowGlobalFilter","setShowGlobalFilter","showGlobalFilter","textFieldProps","handleToggleSearch","MRT_SearchTextField","setGlobalFilter","onMrtGlobalFilterValueChange","globalFilter","searchValue","setSearchValue","handleChange","useCallback","debounce","handleGlobalFilterMenuOpen","handleClear","Collapse","orientation","TextField","placeholder","variant","InputProps","startAdornment","InputAdornment","position","endAdornment","justifySelf","MRT_ToolbarInternalButtons","enableDensePaddingToggle","enableFilters","enableFullScreenToggle","enableGlobalFilter","positionGlobalFilter","renderToolbarInternalActions","zIndex","MRT_TablePagination","getPrePaginationRowModel","setPageIndex","setPageSize","muiTablePaginationProps","pagination","pageSize","pageIndex","tablePaginationProps","handleChangeRowsPerPage","showFirstLastPageButtons","rows","TablePagination","SelectProps","MenuProps","disablePadding","component","count","onPageChange","_","newPage","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","showFirstButton","showLastButton","MRT_ToolbarAlertBanner","stackAlertBanner","muiTableToolbarAlertBannerProps","grouping","alertProps","selectMessage","groupedByMessage","Fragment","Chip","getColumn","onDelete","timeout","Alert","icon","borderRadius","fontSize","left","right","top","MRT_LinearProgressBar","alignTo","muiLinearProgressProps","isLoading","showProgressBars","linearProgressProps","mountOnEnter","unmountOnExit","bottom","LinearProgress","commonToolbarStyles","theme","lighten","palette","background","backgroundImage","minHeight","overflow","MRT_ToolbarTop","enablePagination","enableToolbarInternalActions","muiTableToolbarTopProps","positionPagination","positionToolbarActions","positionToolbarAlertBanner","renderToolbarCustomActions","isMobile","useMediaQuery","toolbarProps","Toolbar","MRT_ToolbarBottom","muiTableToolbarBottomProps","boxShadow","alpha","common","black","MRT_FilterTextField","inputIndex","mTableHeadCellFilterTextFieldProps","mcTableHeadCellFilterTextFieldProps","handleChangeDebounced","newFilterValues","handleFilterMenuOpen","handleClearFilterChip","Filter","filterId","isSelectFilter","filterChipLabel","charAt","toUpperCase","slice","filterPlaceholder","fullWidth","textOverflow","helperText","htmlFor","name","FormHelperTextProps","lineHeight","whiteSpace","margin","e","disableHoverListener","mt","mr","text","MRT_FilterRangeFields","gridTemplateColumns","MRT_TableHeadCellFilterContainer","MRT_TableHeadCellFilterLabel","filterTooltip","isArray","join","MRT_TableHeadCellResizeHandle","flexItem","onDoubleClick","borderRightWidth","touchAction","getIsResizing","userSelect","info","main","onMouseDown","getResizeHandler","onTouchStart","columnSizingInfo","deltaOffset","MRT_TableHeadCellSortLabel","sortTooltip","TableSortLabel","active","direction","MRT_ToggleColumnActionMenuButton","muiTableHeadCellColumnActionsButtonProps","mTableHeadCellColumnActionsButtonProps","mcTableHeadCellColumnActionsButtonProps","iconButtonProps","MRT_TableHeadCell","enableColumnActions","muiTableHeadCellProps","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","headerElement","Header","renderHeader","getIsLastLeftPinnedColumn","getLeftLeafHeaders","getPinnedIndex","getIsFirstRightPinnedColumn","getTotalRight","getRightLeafHeaders","TableCell","align","colSpan","fontWeight","getStart","pb","verticalAlign","maxWidth","getSize","minSize","isPlaceholder","MRT_DraggableTableHeadCell","MRT_TableHeadRow","headerGroup","muiTableHeadRowProps","tableRowProps","TableRow","headers","MRT_TableHead","getHeaderGroups","muiTableHeadProps","tableHeadProps","TableHead","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","onMrtCellEditBlur","onMrtCellEditChange","setCurrentEditingCell","setValue","handleBlur","mTableBodyCellEditTextFieldProps","mcTableBodyCellEditTextFieldProps","onBlur","MRT_CopyButton","children","muiTableBodyCellCopyButtonProps","copied","setCopied","handleCopy","navigator","clipboard","writeText","mTableBodyCellCopyButtonProps","mcTableBodyCellCopyButtonProps","buttonProps","border","fontFamily","letterSpacing","textTransform","MRT_TableBodyCell","enableHover","editingMode","enableClickToCopy","muiTableBodyCellProps","muiTableBodyCellSkeletonProps","onMrtCellClick","currentEditingCell","showSkeletons","mTableCellBodyProps","mcTableCellBodyProps","skeletonWidth","Math","random","isEditable","isEditing","handleDoubleClick","_event","textField","mode","darken","Skeleton","animation","Cell","getIsPlaceholder","groupingColumnId","getIsAggregated","renderAggregatedCell","renderCell","subRows","MRT_TableDetailPanel","getVisibleFlatColumns","muiTableBodyRowProps","muiTableDetailPanelProps","onMrtDetailPanelClick","borderBottom","MRT_TableBodyRow","onMrtRowClick","hover","getVisibleCells","MRT_TableBody","tableContainerRef","getPaginationRowModel","enableRowVirtualization","muiTableBodyProps","tableBodyProps","rowVirtualizer","useVirtual","overscan","parentRef","virtualRows","virtualItems","paddingTop","start","paddingBottom","totalSize","end","TableBody","rowOrVirtualRow","MRT_TableFooterCell","footer","muiTableFooterCellProps","mTableFooterCellProps","mcTableFooterCellProps","white","Footer","renderFooter","MRT_TableFooterRow","footerGroup","muiTableFooterRowProps","MRT_TableFooter","getFooterGroups","muiTableFooterProps","tableFooterProps","TableFooter","MRT_Table","enableStickyHeader","enableTableFooter","enableTableHead","muiTableProps","tableProps","Table","stickyHeader","useIsomorphicLayoutEffect","window","useLayoutEffect","useEffect","MRT_TableContainer","muiTableContainerProps","totalToolbarHeight","setTotalToolbarHeight","tableContainerProps","topToolbarHeight","offsetHeight","bottomToolbarHeight","useRef","TableContainer","maxHeight","MRT_TablePaper","enableToolbarBottom","enableToolbarTop","muiTablePaperProps","body","tablePaperProps","DndProvider","backend","HTML5Backend","Paper","elevation","padding","MRT_TableRoot","props","setIdPrefix","substring","showActionColumn","enableRowActions","showExpandColumn","enableExpanding","initialState","initState","enableRowSelection","enableRowNumbers","enablePersistentState","process","env","NODE_ENV","console","error","storedState","persistentStateMode","localStorage","getItem","sessionStorage","parsedState","JSON","parse","assign","globalFilterFn","createTable","setOptions","filterFns","getCoreRowModel","getExpandedRowModel","getFacetedRowModel","getFilteredRowModel","getGroupedRowModel","getSortedRowModel","getSubRows","displayColumns","enableExpandAll","enableSelectAll","data","state","fill","useTableInstance","warn","itemArgs","stringify","setItem","Dialog","PaperComponent","TransitionComponent","Grow","disablePortal","fullScreen","keepMounted","transitionDuration","autoResetExpanded","columnResizeMode","defaultColumn","maxSize","enableMultiRowSelection","positionActionsColumn"],"mappings":"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"}
1
+ {"version":3,"file":"material-react-table.esm.js","sources":["../src/localization.ts","../src/icons.ts","../src/buttons/MRT_ExpandAllButton.tsx","../src/buttons/MRT_ExpandButton.tsx","../src/enums.ts","../src/filtersFNs.ts","../src/menus/MRT_FilterOptionMenu.tsx","../src/buttons/MRT_ColumnPinningButtons.tsx","../src/buttons/MRT_GrabHandleButton.tsx","../src/utils.ts","../src/menus/MRT_ShowHideColumnsMenuItems.tsx","../src/menus/MRT_ShowHideColumnsMenu.tsx","../src/menus/MRT_ColumnActionMenu.tsx","../src/menus/MRT_RowActionMenu.tsx","../src/buttons/MRT_EditActionButtons.tsx","../src/buttons/MRT_ToggleRowActionMenuButton.tsx","../src/inputs/MRT_SelectCheckbox.tsx","../src/buttons/MRT_FullScreenToggleButton.tsx","../src/buttons/MRT_ShowHideColumnsButton.tsx","../src/buttons/MRT_ToggleDensePaddingButton.tsx","../src/buttons/MRT_ToggleFiltersButton.tsx","../src/buttons/MRT_ToggleGlobalFilterButton.tsx","../src/inputs/MRT_SearchTextField.tsx","../src/toolbar/MRT_ToolbarInternalButtons.tsx","../src/toolbar/MRT_TablePagination.tsx","../src/toolbar/MRT_ToolbarAlertBanner.tsx","../src/toolbar/MRT_LinearProgressBar.tsx","../src/toolbar/MRT_ToolbarTop.tsx","../src/toolbar/MRT_ToolbarBottom.tsx","../src/inputs/MRT_FilterTextField.tsx","../src/inputs/MRT_FilterRangeFields.tsx","../src/head/MRT_TableHeadCellFilterContainer.tsx","../src/head/MRT_TableHeadCellFilterLabel.tsx","../src/head/MRT_TableHeadCellResizeHandle.tsx","../src/head/MRT_TableHeadCellSortLabel.tsx","../src/buttons/MRT_ToggleColumnActionMenuButton.tsx","../src/head/MRT_TableHeadCell.tsx","../src/head/MRT_DraggableTableHeadCell.tsx","../src/head/MRT_TableHeadRow.tsx","../src/head/MRT_TableHead.tsx","../src/inputs/MRT_EditCellTextField.tsx","../src/buttons/MRT_CopyButton.tsx","../src/body/MRT_TableBodyCell.tsx","../src/body/MRT_TableDetailPanel.tsx","../src/body/MRT_TableBodyRow.tsx","../src/body/MRT_TableBody.tsx","../src/footer/MRT_TableFooterCell.tsx","../src/footer/MRT_TableFooterRow.tsx","../src/footer/MRT_TableFooter.tsx","../src/table/MRT_Table.tsx","../src/table/MRT_TableContainer.tsx","../src/table/MRT_TablePaper.tsx","../src/table/MRT_TableRoot.tsx","../src/MaterialReactTable.tsx"],"sourcesContent":["export interface MRT_Localization {\n actions: string;\n and: string;\n cancel: string;\n changeFilterMode: string;\n changeSearchMode: string;\n clearFilter: string;\n clearSearch: string;\n clearSort: string;\n clickToCopy: string;\n columnActions: string;\n copiedToClipboard: string;\n edit: string;\n expand: string;\n expandAll: string;\n filterBetween: string;\n filterByColumn: string;\n filterContains: string;\n filterEmpty: string;\n filterEndsWith: string;\n filterEquals: string;\n filterFuzzy: string;\n filterGreaterThan: string;\n filterLessThan: string;\n filterMode: string;\n filterNotEmpty: string;\n filterNotEquals: string;\n filterStartsWith: string;\n filteringByColumn: string;\n grab: string;\n groupByColumn: string;\n groupedBy: string;\n hideAll: string;\n hideColumn: string;\n max: string;\n min: string;\n pinToLeft: string;\n pinToRight: string;\n resetColumnSize: string;\n resetOrder: string;\n rowActions: string;\n rowNumber: string;\n rowNumbers: string;\n save: string;\n search: string;\n select: string;\n selectedCountOfRowCountRowsSelected: string;\n showAll: string;\n showAllColumns: string;\n showHideColumns: string;\n showHideFilters: string;\n showHideSearch: string;\n sortByColumnAsc: string;\n sortByColumnDesc: string;\n sortedByColumnAsc: string;\n sortedByColumnDesc: string;\n thenBy: string;\n to: string;\n toggleDensePadding: string;\n toggleFullScreen: string;\n toggleSelectAll: string;\n toggleSelectRow: string;\n ungroupByColumn: string;\n unpin: string;\n unpinAll: string;\n unsorted: string;\n}\n\nexport const MRT_DefaultLocalization_EN: MRT_Localization = {\n actions: 'Actions',\n and: 'and',\n cancel: 'Cancel',\n changeFilterMode: 'Change filter mode',\n changeSearchMode: 'Change search mode',\n clearFilter: 'Clear filter',\n clearSearch: 'Clear search',\n clearSort: 'Clear sort',\n clickToCopy: 'Click to copy',\n columnActions: 'Column Actions',\n copiedToClipboard: 'Copied to clipboard',\n edit: 'Edit',\n expand: 'Expand',\n expandAll: 'Expand all',\n filterBetween: 'Between',\n filterByColumn: 'Filter by {column}',\n filterContains: 'Contains',\n filterEmpty: 'Empty',\n filterEndsWith: 'Ends With',\n filterEquals: 'Equals',\n filterFuzzy: 'Fuzzy',\n filterGreaterThan: 'Greater Than',\n filterLessThan: 'Less Than',\n filterMode: 'Filter Mode: {filterType}',\n filterNotEmpty: 'Not Empty',\n filterNotEquals: 'Not Equals',\n filterStartsWith: 'Starts With',\n filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',\n grab: 'Grab',\n groupByColumn: 'Group by {column}',\n groupedBy: 'Grouped by ',\n hideAll: 'Hide all',\n hideColumn: 'Hide {column} column',\n max: 'Max',\n min: 'Min',\n pinToLeft: 'Pin to left',\n pinToRight: 'Pin to right',\n resetColumnSize: 'Reset column size',\n resetOrder: 'Reset order',\n rowActions: 'Row Actions',\n rowNumber: '#',\n rowNumbers: 'Row Numbers',\n save: 'Save',\n search: 'Search',\n selectedCountOfRowCountRowsSelected:\n '{selectedCount} of {rowCount} row(s) selected',\n select: 'Select',\n showAll: 'Show all',\n showAllColumns: 'Show all columns',\n showHideColumns: 'Show/Hide columns',\n showHideFilters: 'Show/Hide filters',\n showHideSearch: 'Show/Hide search',\n sortByColumnAsc: 'Sort by {column} ascending',\n sortByColumnDesc: 'Sort by {column} descending',\n sortedByColumnAsc: 'Sorted by {column} ascending',\n sortedByColumnDesc: 'Sorted by {column} descending',\n thenBy: ', then by ',\n to: 'to',\n toggleDensePadding: 'Toggle dense padding',\n toggleFullScreen: 'Toggle full screen',\n toggleSelectAll: 'Toggle select all',\n toggleSelectRow: 'Toggle select row',\n ungroupByColumn: 'Ungroup by {column}',\n unpin: 'Unpin',\n unpinAll: 'Unpin all',\n unsorted: 'Unsorted',\n};\n","import {\n ArrowRight,\n Cancel,\n CheckBox,\n ClearAll,\n Close,\n DensityMedium,\n DensitySmall,\n KeyboardDoubleArrowDown,\n DragHandle,\n DynamicFeed,\n Edit,\n ExpandLess,\n ExpandMore,\n FilterAlt,\n FilterAltOff,\n FilterList,\n FilterListOff,\n FullscreenExit,\n Fullscreen,\n MoreHoriz,\n MoreVert,\n PushPin,\n RestartAlt,\n Save,\n Search,\n SearchOff,\n Sort,\n ViewColumn,\n VisibilityOff,\n} from '@mui/icons-material';\n\nexport interface MRT_Icons {\n ArrowRightIcon: any;\n CancelIcon: any;\n CheckBoxIcon: any;\n ClearAllIcon: any;\n CloseIcon: any;\n DensityMediumIcon: any;\n DensitySmallIcon: any;\n KeyboardDoubleArrowDownIcon: any;\n DragHandleIcon: any;\n DynamicFeedIcon: any;\n EditIcon: any;\n ExpandLessIcon: any;\n ExpandMoreIcon: any;\n FilterAltIcon: any;\n FilterAltOffIcon: any;\n FilterListIcon: any;\n FilterListOffIcon: any;\n FullscreenExitIcon: any;\n FullscreenIcon: any;\n MoreHorizIcon: any;\n MoreVertIcon: any;\n PushPinIcon: any;\n RestartAltIcon: any;\n SaveIcon: any;\n SearchIcon: any;\n SearchOffIcon: any;\n SortIcon: any;\n ViewColumnIcon: any;\n VisibilityOffIcon: any;\n}\n\nexport const MRT_Default_Icons: MRT_Icons = {\n ArrowRightIcon: ArrowRight,\n CancelIcon: Cancel,\n CheckBoxIcon: CheckBox,\n ClearAllIcon: ClearAll,\n CloseIcon: Close,\n DensityMediumIcon: DensityMedium,\n DensitySmallIcon: DensitySmall,\n KeyboardDoubleArrowDownIcon: KeyboardDoubleArrowDown,\n DragHandleIcon: DragHandle,\n DynamicFeedIcon: DynamicFeed,\n EditIcon: Edit,\n ExpandLessIcon: ExpandLess,\n ExpandMoreIcon: ExpandMore,\n FilterAltIcon: FilterAlt,\n FilterAltOffIcon: FilterAltOff,\n FilterListIcon: FilterList,\n FilterListOffIcon: FilterListOff,\n FullscreenExitIcon: FullscreenExit,\n FullscreenIcon: Fullscreen,\n MoreHorizIcon: MoreHoriz,\n MoreVertIcon: MoreVert,\n PushPinIcon: PushPin,\n RestartAltIcon: RestartAlt,\n SaveIcon: Save,\n SearchIcon: Search,\n SearchOffIcon: SearchOff,\n SortIcon: Sort,\n ViewColumnIcon: ViewColumn,\n VisibilityOffIcon: VisibilityOff,\n};\n","import React, { FC } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandAllButton: FC<Props> = ({ tableInstance }) => {\n const {\n getIsAllRowsExpanded,\n getIsSomeRowsExpanded,\n getCanSomeRowsExpand,\n getState,\n options: {\n icons: { KeyboardDoubleArrowDownIcon },\n localization,\n renderDetailPanel,\n },\n toggleAllRowsExpanded,\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.expandAll}\n >\n <IconButton\n aria-label={localization.expandAll}\n disabled={!getCanSomeRowsExpand() && !renderDetailPanel}\n onClick={() => toggleAllRowsExpanded(!getIsAllRowsExpanded())}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <KeyboardDoubleArrowDownIcon\n style={{\n transform: `rotate(${\n getIsAllRowsExpanded() ? -180 : getIsSomeRowsExpanded() ? -90 : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ExpandButton: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { ExpandMoreIcon },\n localization,\n onMrtRowExpandChange,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {\n row.toggleExpanded();\n onMrtRowExpandChange?.({ event, row, tableInstance });\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.expand}\n >\n <IconButton\n aria-label={localization.expand}\n disabled={!row.getCanExpand() && !renderDetailPanel}\n onClick={handleToggleExpand}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n }}\n >\n <ExpandMoreIcon\n style={{\n transform: `rotate(${\n !row.getCanExpand() && !renderDetailPanel\n ? -90\n : row.getIsExpanded()\n ? -180\n : 0\n }deg)`,\n transition: 'transform 0.2s',\n }}\n />\n </IconButton>\n </Tooltip>\n );\n};\n","export enum MRT_FILTER_OPTION {\n BETWEEN = 'between',\n CONTAINS = 'contains',\n EMPTY = 'empty',\n ENDS_WITH = 'endsWith',\n EQUALS = 'equals',\n FUZZY = 'fuzzy',\n GREATER_THAN = 'greaterThan',\n LESS_THAN = 'lessThan',\n NOT_EMPTY = 'notEmpty',\n NOT_EQUALS = 'notEquals',\n STARTS_WITH = 'startsWith',\n}\n","import { rankItem, rankings, RankingInfo } from '@tanstack/match-sorter-utils';\nimport { MRT_Row } from '.';\n\nexport const fuzzy = (\n row: MRT_Row,\n columnId: string,\n value: string,\n addMeta: (item: RankingInfo) => void,\n) => {\n const itemRank = rankItem(row.getValue(columnId), value, {\n threshold: rankings.MATCHES,\n });\n addMeta(itemRank);\n return itemRank.passed;\n};\n\nfuzzy.autoRemove = (val: any) => !val;\n\nexport const contains = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row\n .getValue(id)\n .toString()\n .toLowerCase()\n .trim()\n .includes(filterValue.toString().toLowerCase().trim());\n\ncontains.autoRemove = (val: any) => !val;\n\nexport const startsWith = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row\n .getValue(id)\n .toString()\n .toLowerCase()\n .trim()\n .startsWith(filterValue.toString().toLowerCase().trim());\n\nstartsWith.autoRemove = (val: any) => !val;\n\nexport const endsWith = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row\n .getValue(id)\n .toString()\n .toLowerCase()\n .trim()\n .endsWith(filterValue.toString().toLowerCase().trim());\n\nendsWith.autoRemove = (val: any) => !val;\n\nexport const equals = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row.getValue(id).toString().toLowerCase().trim() ===\n filterValue.toString().toLowerCase().trim();\n\nequals.autoRemove = (val: any) => !val;\n\nexport const notEquals = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n row.getValue(id).toString().toLowerCase().trim() !==\n filterValue.toString().toLowerCase().trim();\n\nnotEquals.autoRemove = (val: any) => !val;\n\nexport const greaterThan = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n !isNaN(+filterValue) && !isNaN(+row.getValue(id))\n ? +row.getValue(id) >= +filterValue\n : row.getValue(id).toString().toLowerCase().trim() >\n filterValue.toString().toLowerCase().trim();\n\ngreaterThan.autoRemove = (val: any) => !val;\n\nexport const lessThan = (\n row: MRT_Row,\n id: string,\n filterValue: string | number,\n) =>\n !isNaN(+filterValue) && !isNaN(+row.getValue(id))\n ? +row.getValue(id) <= +filterValue\n : row.getValue(id).toString().toLowerCase().trim() <\n filterValue.toString().toLowerCase().trim();\n\nlessThan.autoRemove = (val: any) => !val;\n\nexport const between = (\n row: MRT_Row,\n id: string,\n filterValues: [string | number, string | number],\n) =>\n ((['', undefined] as any[]).includes(filterValues[0]) ||\n greaterThan(row, id, filterValues[0])) &&\n ((!isNaN(+filterValues[0]) &&\n !isNaN(+filterValues[1]) &&\n +filterValues[0] > +filterValues[1]) ||\n (['', undefined] as any[]).includes(filterValues[1]) ||\n lessThan(row, id, filterValues[1]));\n\nbetween.autoRemove = (val: any) => !val;\n\nexport const empty = (\n row: MRT_Row,\n id: string,\n _filterValue: string | number,\n) => !row.getValue(id).toString().trim();\n\nempty.autoRemove = (val: any) => !val;\n\nexport const notEmpty = (\n row: MRT_Row,\n id: string,\n _filterValue: string | number,\n) => !!row.getValue(id).toString().trim();\n\nnotEmpty.autoRemove = (val: any) => !val;\n\nexport const defaultFilterFNs = {\n between,\n contains,\n empty,\n endsWith,\n equals,\n fuzzy,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n};\n","import React, { FC, useMemo } from 'react';\nimport { Menu, MenuItem } from '@mui/material';\nimport type { MRT_FilterFn, MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FILTER_OPTION } from '../enums';\nimport {\n between,\n contains,\n empty,\n endsWith,\n equals,\n fuzzy,\n greaterThan,\n lessThan,\n notEmpty,\n notEquals,\n startsWith,\n} from '../filtersFNs';\n\nconst commonMenuItemStyles = {\n py: '6px',\n my: 0,\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header?: MRT_Header;\n onSelect?: () => void;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterOptionMenu: FC<Props> = ({\n anchorEl,\n header,\n onSelect,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: { enabledGlobalFilterOptions, localization },\n setCurrentFilterFns,\n setCurrentGlobalFilterFn,\n } = tableInstance;\n\n const { isDensePadding, currentFilterFns, currentGlobalFilterFn } =\n getState();\n\n const { column } = header ?? {};\n\n const { columnDef } = column ?? {};\n\n const filterOptions: {\n option: MRT_FILTER_OPTION;\n label: string;\n divider: boolean;\n fn: Function;\n }[] = useMemo(\n () =>\n [\n {\n option: MRT_FILTER_OPTION.FUZZY,\n label: localization.filterFuzzy,\n divider: false,\n fn: fuzzy,\n },\n {\n option: MRT_FILTER_OPTION.CONTAINS,\n label: localization.filterContains,\n divider: false,\n fn: contains,\n },\n {\n option: MRT_FILTER_OPTION.STARTS_WITH,\n label: localization.filterStartsWith,\n divider: false,\n fn: startsWith,\n },\n {\n option: MRT_FILTER_OPTION.ENDS_WITH,\n label: localization.filterEndsWith,\n divider: true,\n fn: endsWith,\n },\n {\n option: MRT_FILTER_OPTION.EQUALS,\n label: localization.filterEquals,\n divider: false,\n fn: equals,\n },\n {\n option: MRT_FILTER_OPTION.NOT_EQUALS,\n label: localization.filterNotEquals,\n divider: true,\n fn: notEquals,\n },\n {\n option: MRT_FILTER_OPTION.BETWEEN,\n label: localization.filterBetween,\n divider: false,\n fn: between,\n },\n {\n option: MRT_FILTER_OPTION.GREATER_THAN,\n label: localization.filterGreaterThan,\n divider: false,\n fn: greaterThan,\n },\n {\n option: MRT_FILTER_OPTION.LESS_THAN,\n label: localization.filterLessThan,\n divider: true,\n fn: lessThan,\n },\n {\n option: MRT_FILTER_OPTION.EMPTY,\n label: localization.filterEmpty,\n divider: false,\n fn: empty,\n },\n {\n option: MRT_FILTER_OPTION.NOT_EMPTY,\n label: localization.filterNotEmpty,\n divider: false,\n fn: notEmpty,\n },\n ].filter((filterType) =>\n columnDef\n ? !columnDef.enabledColumnFilterOptions ||\n columnDef.enabledColumnFilterOptions.includes(filterType.option)\n : (!enabledGlobalFilterOptions ||\n enabledGlobalFilterOptions.includes(filterType.option)) &&\n [MRT_FILTER_OPTION.FUZZY, MRT_FILTER_OPTION.CONTAINS].includes(\n filterType.option,\n ),\n ),\n [],\n );\n\n const handleSelectFilterType = (value: MRT_FILTER_OPTION) => {\n if (header && column) {\n setCurrentFilterFns((prev: { [key: string]: MRT_FilterFn }) => ({\n ...prev,\n [header.id]: value,\n }));\n if (\n [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(value)\n ) {\n column.setFilterValue(' ');\n } else if (value === MRT_FILTER_OPTION.BETWEEN) {\n column.setFilterValue(['', '']);\n } else {\n column.setFilterValue('');\n }\n } else {\n setCurrentGlobalFilterFn(value);\n }\n setAnchorEl(null);\n onSelect?.();\n };\n\n const filterOption = !!header\n ? currentFilterFns[header.id]\n : currentGlobalFilterFn;\n\n return (\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ vertical: 'center', horizontal: 'right' }}\n onClose={() => setAnchorEl(null)}\n open={!!anchorEl}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {filterOptions.map(({ option, label, divider, fn }, index) => (\n <MenuItem\n divider={divider}\n key={index}\n onClick={() => handleSelectFilterType(option)}\n selected={option === filterOption || fn === filterOption}\n sx={commonMenuItemStyles}\n value={option}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n column: MRT_Column;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ColumnPinningButtons: FC<Props> = ({\n column,\n tableInstance,\n}) => {\n const {\n options: {\n icons: { PushPinIcon },\n localization,\n },\n } = tableInstance;\n\n const handlePinColumn = (pinDirection: 'left' | 'right' | false) => {\n column.pin(pinDirection);\n };\n\n return (\n <Box sx={{ minWidth: '70px', textAlign: 'center' }}>\n {column.getIsPinned() ? (\n <Tooltip arrow title={localization.unpin}>\n <IconButton onClick={() => handlePinColumn(false)} size=\"small\">\n <PushPinIcon />\n </IconButton>\n </Tooltip>\n ) : (\n <>\n <Tooltip arrow title={localization.pinToLeft}>\n <IconButton onClick={() => handlePinColumn('left')} size=\"small\">\n <PushPinIcon\n style={{\n transform: 'rotate(90deg)',\n }}\n />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.pinToRight}>\n <IconButton onClick={() => handlePinColumn('right')} size=\"small\">\n <PushPinIcon\n style={{\n transform: 'rotate(-90deg)',\n }}\n />\n </IconButton>\n </Tooltip>\n </>\n )}\n </Box>\n );\n};\n","import { IconButton, Tooltip } from '@mui/material';\nimport React, { FC, forwardRef, Ref } from 'react';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n ref: Ref<HTMLButtonElement>;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_GrabHandleButton: FC<Props> = forwardRef(\n ({ tableInstance }, ref) => {\n const {\n options: {\n icons: { DragHandleIcon },\n localization,\n },\n } = tableInstance;\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.grab}\n >\n <IconButton\n disableRipple\n ref={ref}\n size=\"small\"\n sx={{\n cursor: 'grab',\n m: 0,\n opacity: 0.5,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 1,\n },\n '&:active': {\n cursor: 'grabbing',\n },\n }}\n >\n <DragHandleIcon />\n </IconButton>\n </Tooltip>\n );\n },\n);\n","import {\n ColumnDef,\n ColumnOrderState,\n Table,\n Updater,\n} from '@tanstack/react-table';\nimport { MRT_Column, MRT_ColumnDef, MRT_FilterFn } from '.';\nimport { MRT_FILTER_OPTION } from './enums';\nimport { defaultFilterFNs } from './filtersFNs';\n\nexport const getAllLeafColumnDefs = (\n columns: MRT_ColumnDef[],\n): MRT_ColumnDef[] => {\n let lowestLevelColumns: MRT_ColumnDef[] = columns;\n let currentCols: MRT_ColumnDef[] | undefined = columns;\n while (!!currentCols?.length && currentCols.some((col) => col.columns)) {\n const nextCols: MRT_ColumnDef[] = currentCols\n .filter((col) => !!col.columns)\n .map((col) => col.columns)\n .flat() as MRT_ColumnDef[];\n if (nextCols.every((col) => !col?.columns)) {\n lowestLevelColumns = [...lowestLevelColumns, ...nextCols];\n }\n currentCols = nextCols;\n }\n return lowestLevelColumns.filter((col) => !col.columns);\n};\n\nexport const createGroup = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnDef<D>,\n currentFilterFns: { [key: string]: MRT_FilterFn },\n): ColumnDef<D> =>\n table.createGroup({\n ...column,\n columns: column?.columns?.map?.((col) =>\n col.columns\n ? createGroup<D>(table, col, currentFilterFns)\n : createDataColumn(table, col, currentFilterFns),\n ),\n } as any);\n\nexport const createDataColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: MRT_ColumnDef<D>,\n currentFilterFns: { [key: string]: MRT_FilterFn },\n): ColumnDef<D> => // @ts-ignore\n table.createDataColumn(column.id, {\n filterFn:\n currentFilterFns[column.id] instanceof Function\n ? currentFilterFns[column.id]\n : defaultFilterFNs[currentFilterFns[column.id] as MRT_FILTER_OPTION],\n ...column,\n }) as any;\n\nexport const createDisplayColumn = <D extends Record<string, any> = {}>(\n table: Table<D>,\n column: Omit<MRT_ColumnDef<D>, 'header'> & { header?: string },\n): ColumnDef<D> => table.createDisplayColumn(column as ColumnDef<D>);\n\nexport const reorderColumn = (\n movingColumn: MRT_Column,\n receivingColumn: MRT_Column,\n columnOrder: ColumnOrderState,\n setColumnOrder: (updater: Updater<ColumnOrderState>) => void,\n) => {\n if (movingColumn.getCanPin()) {\n movingColumn.pin(receivingColumn.getIsPinned());\n }\n columnOrder.splice(\n columnOrder.indexOf(receivingColumn.id),\n 0,\n columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0],\n );\n setColumnOrder([...columnOrder]);\n};\n","import React, { FC, Ref } from 'react';\nimport { useDrag, useDrop } from 'react-dnd';\nimport { Box, FormControlLabel, MenuItem, Switch } from '@mui/material';\nimport { MRT_ColumnPinningButtons } from '../buttons/MRT_ColumnPinningButtons';\nimport { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';\nimport { reorderColumn } from '../utils';\nimport type { MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n allColumns: MRT_Column[];\n column: MRT_Column;\n isSubMenu?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenuItems: FC<Props> = ({\n allColumns,\n column,\n isSubMenu,\n tableInstance,\n}) => {\n const {\n getState,\n options: { enableColumnOrdering, onMrtToggleColumnVisibility },\n setColumnOrder,\n } = tableInstance;\n\n const { columnOrder, columnVisibility } = getState();\n\n const { columnDef, columnDefType } = column;\n\n const [, dropRef] = useDrop({\n accept: 'column',\n drop: (movingColumn: MRT_Column) =>\n reorderColumn(movingColumn, column, columnOrder, setColumnOrder),\n });\n\n const [, dragRef, previewRef] = useDrag({\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n item: () => column,\n type: 'column',\n });\n\n const switchChecked =\n (columnDefType !== 'group' && column.getIsVisible()) ||\n (columnDefType === 'group' &&\n column.getLeafColumns().some((col) => col.getIsVisible()));\n\n const handleToggleColumnHidden = (column: MRT_Column) => {\n if (columnDefType === 'group') {\n column?.columns?.forEach?.((childColumn: MRT_Column) => {\n childColumn.toggleVisibility(!switchChecked);\n });\n } else {\n column.toggleVisibility();\n }\n onMrtToggleColumnVisibility?.({\n column,\n columnVisibility,\n tableInstance,\n });\n };\n\n return (\n <>\n <MenuItem\n ref={columnDefType === 'data' ? dropRef : undefined}\n sx={{\n alignItems: 'center',\n justifyContent: 'flex-start',\n my: 0,\n pl: `${(column.depth + 0.5) * 2}rem`,\n py: '6px',\n }}\n >\n <Box\n ref={previewRef}\n sx={{\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '8px',\n }}\n >\n {columnDefType !== 'group' &&\n enableColumnOrdering &&\n columnDef.enableColumnOrdering !== false &&\n !allColumns.some((col) => col.columnDefType === 'group') && (\n <MRT_GrabHandleButton\n ref={dragRef as Ref<HTMLButtonElement>}\n tableInstance={tableInstance}\n />\n )}\n {!isSubMenu && column.getCanPin() && (\n <MRT_ColumnPinningButtons\n column={column}\n tableInstance={tableInstance}\n />\n )}\n <FormControlLabel\n componentsProps={{\n typography: {\n sx: {\n mb: 0,\n opacity: columnDefType !== 'display' ? 1 : 0.5,\n },\n },\n }}\n checked={switchChecked}\n control={<Switch />}\n disabled={\n (isSubMenu && switchChecked) ||\n !column.getCanHide() ||\n column.getIsGrouped()\n }\n label={columnDef.header}\n onChange={() => handleToggleColumnHidden(column)}\n />\n </Box>\n </MenuItem>\n {column.columns?.map((c: MRT_Column, i) => (\n <MRT_ShowHideColumnsMenuItems\n allColumns={allColumns}\n key={`${i}-${c.id}`}\n column={c}\n isSubMenu={isSubMenu}\n tableInstance={tableInstance}\n />\n ))}\n </>\n );\n};\n","import React, { FC, useMemo } from 'react';\nimport { Button, Menu, Divider, Box } from '@mui/material';\nimport { MRT_ShowHideColumnsMenuItems } from './MRT_ShowHideColumnsMenuItems';\nimport type { MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n isSubMenu?: boolean;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsMenu: FC<Props> = ({\n anchorEl,\n isSubMenu,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getAllColumns,\n getAllLeafColumns,\n getCenterLeafColumns,\n getIsAllColumnsVisible,\n getIsSomeColumnsPinned,\n getIsSomeColumnsVisible,\n getLeftLeafColumns,\n getRightLeafColumns,\n getState,\n toggleAllColumnsVisible,\n options: { localization, enablePinning, enableColumnOrdering },\n } = tableInstance;\n\n const { isDensePadding, columnOrder, columnPinning } = getState();\n\n const hideAllColumns = () => {\n getAllLeafColumns()\n .filter((col) => col.columnDef.enableHiding !== false)\n .forEach((col) => col.toggleVisibility(false));\n };\n\n const allColumns = useMemo(() => {\n const columns = getAllColumns();\n if (\n columnOrder.length > 0 &&\n !columns.some((col) => col.columnDefType === 'group')\n ) {\n return [\n ...getLeftLeafColumns(),\n ...Array.from(new Set(columnOrder)).map((colId) =>\n getCenterLeafColumns().find((col) => col?.id === colId),\n ),\n ...getRightLeafColumns(),\n ].filter(Boolean);\n }\n return columns;\n }, [\n columnOrder,\n columnPinning,\n getAllColumns(),\n getCenterLeafColumns(),\n getLeftLeafColumns(),\n getRightLeafColumns(),\n ]) as MRT_Column[];\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: isSubMenu ? 'center' : 'space-between',\n p: '0.5rem',\n pt: 0,\n }}\n >\n {!isSubMenu && (\n <Button\n disabled={!getIsSomeColumnsVisible()}\n onClick={hideAllColumns}\n >\n {localization.hideAll}\n </Button>\n )}\n {!isSubMenu && enableColumnOrdering && (\n <Button onClick={() => tableInstance.resetColumnOrder()}>\n {localization.resetOrder}\n </Button>\n )}\n {!isSubMenu && enablePinning && (\n <Button\n disabled={!getIsSomeColumnsPinned()}\n onClick={() => tableInstance.resetColumnPinning(true)}\n >\n {localization.unpinAll}\n </Button>\n )}\n <Button\n disabled={getIsAllColumnsVisible()}\n onClick={() => toggleAllColumnsVisible(true)}\n >\n {localization.showAll}\n </Button>\n </Box>\n <Divider />\n {allColumns.map((column, index) => (\n <MRT_ShowHideColumnsMenuItems\n allColumns={allColumns}\n column={column}\n isSubMenu={isSubMenu}\n key={`${index}-${column.id}`}\n tableInstance={tableInstance}\n />\n ))}\n </Menu>\n );\n};\n","import React, { FC, useState } from 'react';\nimport { Box, IconButton, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterOptionMenu } from './MRT_FilterOptionMenu';\nimport { MRT_ShowHideColumnsMenu } from './MRT_ShowHideColumnsMenu';\n\nexport const commonMenuItemStyles = {\n py: '6px',\n my: 0,\n justifyContent: 'space-between',\n alignItems: 'center',\n};\n\nexport const commonListItemStyles = {\n display: 'flex',\n alignItems: 'center',\n};\n\ninterface Props {\n anchorEl: HTMLElement | null;\n header: MRT_Header;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ColumnActionMenu: FC<Props> = ({\n anchorEl,\n header,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n toggleAllColumnsVisible,\n setColumnOrder,\n options: {\n enableColumnFilters,\n enableColumnResizing,\n enableGrouping,\n enableHiding,\n enablePinning,\n enableSorting,\n icons: {\n ArrowRightIcon,\n ClearAllIcon,\n ViewColumnIcon,\n DynamicFeedIcon,\n FilterListIcon,\n FilterListOffIcon,\n PushPinIcon,\n SortIcon,\n RestartAltIcon,\n VisibilityOffIcon,\n },\n tableId,\n localization,\n },\n setShowFilters,\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const { columnSizing, columnVisibility, isDensePadding } = getState();\n\n const [filterMenuAnchorEl, setFilterMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const [showHideColumnsMenuAnchorEl, setShowHideColumnsMenuAnchorEl] =\n useState<null | HTMLElement>(null);\n\n const handleClearSort = () => {\n column.clearSorting();\n setAnchorEl(null);\n };\n\n const handleSortAsc = () => {\n column.toggleSorting(false);\n setAnchorEl(null);\n };\n\n const handleSortDesc = () => {\n column.toggleSorting(true);\n setAnchorEl(null);\n };\n\n const handleResetColumnSize = () => {\n column.resetSize();\n setAnchorEl(null);\n };\n\n const handleHideColumn = () => {\n column.toggleVisibility(false);\n setAnchorEl(null);\n };\n\n const handlePinColumn = (pinDirection: 'left' | 'right' | false) => {\n column.pin(pinDirection);\n setAnchorEl(null);\n };\n\n const handleGroupByColumn = () => {\n column.toggleGrouping();\n setColumnOrder((old) => ['mrt-expand', ...old]);\n setAnchorEl(null);\n };\n\n const handleClearFilter = () => {\n column.setFilterValue('');\n setAnchorEl(null);\n };\n\n const handleFilterByColumn = () => {\n setShowFilters(true);\n setTimeout(\n () =>\n document\n .getElementById(\n // @ts-ignore\n header.muiTableHeadCellFilterTextFieldProps?.id ??\n `mrt-${tableId}-${header.id}-filter-text-field`,\n )\n ?.focus(),\n 200,\n );\n setAnchorEl(null);\n };\n\n const handleShowAllColumns = () => {\n toggleAllColumnsVisible(true);\n setAnchorEl(null);\n };\n\n const handleOpenFilterModeMenu = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n setFilterMenuAnchorEl(event.currentTarget);\n };\n\n const handleOpenShowHideColumnsMenu = (\n event: React.MouseEvent<HTMLElement>,\n ) => {\n event.stopPropagation();\n setShowHideColumnsMenuAnchorEl(event.currentTarget);\n };\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableSorting &&\n column.getCanSort() && [\n <MenuItem\n disabled={!column.getIsSorted()}\n key={0}\n onClick={handleClearSort}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ClearAllIcon />\n </ListItemIcon>\n {localization.clearSort}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsSorted() === 'asc'}\n key={1}\n onClick={handleSortAsc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon />\n </ListItemIcon>\n {localization.sortByColumnAsc?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableColumnFilters || enableGrouping || enableHiding}\n key={2}\n disabled={column.getIsSorted() === 'desc'}\n onClick={handleSortDesc}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <SortIcon style={{ transform: 'rotate(180deg) scaleX(-1)' }} />\n </ListItemIcon>\n {localization.sortByColumnDesc?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnFilters &&\n column.getCanFilter() && [\n <MenuItem\n disabled={!column.getFilterValue()}\n key={0}\n onClick={handleClearFilter}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListOffIcon />\n </ListItemIcon>\n {localization.clearFilter}\n </Box>\n </MenuItem>,\n <MenuItem\n divider={enableGrouping || enableHiding}\n key={1}\n onClick={handleFilterByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <FilterListIcon />\n </ListItemIcon>\n {localization.filterByColumn?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n {!columnDef.filterSelectOptions && (\n <IconButton\n onClick={handleOpenFilterModeMenu}\n onMouseEnter={handleOpenFilterModeMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n )}\n </MenuItem>,\n <MRT_FilterOptionMenu\n anchorEl={filterMenuAnchorEl}\n header={header}\n key={2}\n onSelect={handleFilterByColumn}\n setAnchorEl={setFilterMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n {enableGrouping &&\n column.getCanGroup() && [\n <MenuItem\n divider={enablePinning}\n key={0}\n onClick={handleGroupByColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <DynamicFeedIcon />\n </ListItemIcon>\n {localization[\n column.getIsGrouped() ? 'ungroupByColumn' : 'groupByColumn'\n ]?.replace('{column}', String(columnDef.header))}\n </Box>\n </MenuItem>,\n ]}\n {enablePinning &&\n column.getCanPin() && [\n <MenuItem\n disabled={column.getIsPinned() === 'left' || !column.getCanPin()}\n key={0}\n onClick={() => handlePinColumn('left')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(90deg)' }} />\n </ListItemIcon>\n {localization.pinToLeft}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={column.getIsPinned() === 'right' || !column.getCanPin()}\n key={1}\n onClick={() => handlePinColumn('right')}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon style={{ transform: 'rotate(-90deg)' }} />\n </ListItemIcon>\n {localization.pinToRight}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={!column.getIsPinned()}\n divider={enableHiding}\n key={2}\n onClick={() => handlePinColumn(false)}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <PushPinIcon />\n </ListItemIcon>\n {localization.unpin}\n </Box>\n </MenuItem>,\n ]}\n {enableColumnResizing && [\n <MenuItem\n disabled={!column.getCanResize() || !columnSizing[column.id]}\n key={0}\n onClick={handleResetColumnSize}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <RestartAltIcon />\n </ListItemIcon>\n {localization.resetColumnSize}\n </Box>\n </MenuItem>,\n ]}\n {enableHiding && [\n <MenuItem\n disabled={columnDef.enableHiding === false}\n key={0}\n onClick={handleHideColumn}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <VisibilityOffIcon />\n </ListItemIcon>\n {localization.hideColumn?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n </MenuItem>,\n <MenuItem\n disabled={\n !Object.values(columnVisibility).filter((visible) => !visible)\n .length\n }\n key={1}\n onClick={handleShowAllColumns}\n sx={commonMenuItemStyles}\n >\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <ViewColumnIcon />\n </ListItemIcon>\n {localization.showAllColumns?.replace(\n '{column}',\n String(columnDef.header),\n )}\n </Box>\n <IconButton\n onClick={handleOpenShowHideColumnsMenu}\n onMouseEnter={handleOpenShowHideColumnsMenu}\n size=\"small\"\n sx={{ p: 0 }}\n >\n <ArrowRightIcon />\n </IconButton>\n </MenuItem>,\n <MRT_ShowHideColumnsMenu\n anchorEl={showHideColumnsMenuAnchorEl}\n isSubMenu\n key={2}\n setAnchorEl={setShowHideColumnsMenuAnchorEl}\n tableInstance={tableInstance}\n />,\n ]}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, ListItemIcon, Menu, MenuItem } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\nimport {\n commonListItemStyles,\n commonMenuItemStyles,\n} from './MRT_ColumnActionMenu';\n\ninterface Props {\n anchorEl: HTMLElement | null;\n handleEdit: () => void;\n row: MRT_Row;\n setAnchorEl: (anchorEl: HTMLElement | null) => void;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_RowActionMenu: FC<Props> = ({\n anchorEl,\n handleEdit,\n row,\n setAnchorEl,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { EditIcon },\n enableEditing,\n localization,\n renderRowActionMenuItems,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n return (\n <Menu\n anchorEl={anchorEl}\n open={!!anchorEl}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n dense: isDensePadding,\n }}\n >\n {enableEditing && (\n <MenuItem onClick={handleEdit} sx={commonMenuItemStyles}>\n <Box sx={commonListItemStyles}>\n <ListItemIcon>\n <EditIcon />\n </ListItemIcon>\n {localization.edit}\n </Box>\n </MenuItem>\n )}\n {renderRowActionMenuItems?.({\n row,\n tableInstance,\n closeMenu: () => setAnchorEl(null),\n })}\n </Menu>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, IconButton, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditActionButtons: FC<Props> = ({ row, tableInstance }) => {\n const {\n getState,\n options: {\n icons: { CancelIcon, SaveIcon },\n localization,\n onMrtEditRowSubmit,\n },\n setCurrentEditingRow,\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const handleCancel = () => {\n row._valuesCache = row.original ?? {};\n setCurrentEditingRow(null);\n };\n\n const handleSave = () => {\n onMrtEditRowSubmit?.({ row: currentEditingRow ?? row, tableInstance });\n setCurrentEditingRow(null);\n };\n\n return (\n <Box sx={{ display: 'flex', gap: '0.75rem' }}>\n <Tooltip arrow title={localization.cancel}>\n <IconButton aria-label={localization.cancel} onClick={handleCancel}>\n <CancelIcon />\n </IconButton>\n </Tooltip>\n <Tooltip arrow title={localization.save}>\n <IconButton\n aria-label={localization.save}\n color=\"info\"\n onClick={handleSave}\n >\n <SaveIcon />\n </IconButton>\n </Tooltip>\n </Box>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_RowActionMenu } from '../menus/MRT_RowActionMenu';\nimport { MRT_EditActionButtons } from './MRT_EditActionButtons';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\nconst commonIconButtonStyles = {\n height: '2rem',\n ml: '10px',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n};\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleRowActionMenuButton: FC<Props> = ({\n row,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enableEditing,\n icons: { EditIcon, MoreHorizIcon },\n localization,\n renderRowActionMenuItems,\n renderRowActions,\n },\n setCurrentEditingRow,\n } = tableInstance;\n\n const { currentEditingRow } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleOpenRowActionMenu = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const handleStartEditMode = () => {\n setCurrentEditingRow({ ...row });\n setAnchorEl(null);\n };\n\n return (\n <>\n {renderRowActions ? (\n <>{renderRowActions({ row, tableInstance })}</>\n ) : row.id === currentEditingRow?.id ? (\n <MRT_EditActionButtons row={row} tableInstance={tableInstance} />\n ) : !renderRowActionMenuItems && enableEditing ? (\n <Tooltip placement=\"right\" arrow title={localization.edit}>\n <IconButton sx={commonIconButtonStyles} onClick={handleStartEditMode}>\n <EditIcon />\n </IconButton>\n </Tooltip>\n ) : renderRowActionMenuItems ? (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={localization.rowActions}\n >\n <IconButton\n aria-label={localization.rowActions}\n onClick={handleOpenRowActionMenu}\n size=\"small\"\n sx={commonIconButtonStyles}\n >\n <MoreHorizIcon />\n </IconButton>\n </Tooltip>\n <MRT_RowActionMenu\n anchorEl={anchorEl}\n handleEdit={handleStartEditMode}\n row={row}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n ) : null}\n </>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { Checkbox, Tooltip } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row?: MRT_Row;\n selectAll?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SelectCheckbox: FC<Props> = ({\n row,\n selectAll,\n tableInstance,\n}) => {\n const {\n getRowModel,\n getSelectedRowModel,\n getState,\n options: {\n localization,\n muiSelectCheckboxProps,\n onMrtSelectRowChange,\n onMrtSelectAllChange,\n selectAllMode,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleSelectChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (selectAll) {\n if (selectAllMode === 'all') {\n tableInstance.getToggleAllRowsSelectedHandler()(event as any);\n } else if (selectAllMode === 'page') {\n tableInstance.getToggleAllPageRowsSelectedHandler()(event as any);\n }\n onMrtSelectAllChange?.({\n event,\n selectedRows: event.target.checked ? getRowModel().flatRows : [],\n tableInstance,\n });\n } else if (row) {\n row?.getToggleSelectedHandler()(event as any);\n onMrtSelectRowChange?.({\n event,\n row,\n selectedRows: event.target.checked\n ? [...getSelectedRowModel().flatRows, row]\n : getSelectedRowModel().flatRows.filter(\n (selectedRow) => selectedRow.id !== row.id,\n ),\n tableInstance,\n });\n }\n };\n\n const checkboxProps =\n muiSelectCheckboxProps instanceof Function\n ? muiSelectCheckboxProps({ isSelectAll: !!selectAll, row, tableInstance })\n : muiSelectCheckboxProps;\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n title={\n selectAll ? localization.toggleSelectAll : localization.toggleSelectRow\n }\n >\n <Checkbox\n checked={\n selectAll\n ? tableInstance.getIsAllRowsSelected()\n : row?.getIsSelected()\n }\n indeterminate={\n selectAll\n ? tableInstance.getIsSomeRowsSelected()\n : row?.getIsSomeSelected()\n }\n inputProps={{\n 'aria-label': selectAll\n ? localization.toggleSelectAll\n : localization.toggleSelectRow,\n }}\n onChange={handleSelectChange}\n size={isDensePadding ? 'small' : 'medium'}\n {...checkboxProps}\n sx={{\n height: isDensePadding ? '1.75rem' : '2.25rem',\n width: isDensePadding ? '1.75rem' : '2.25rem',\n ...checkboxProps?.sx,\n }}\n />\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FullScreenToggleButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FullscreenExitIcon, FullscreenIcon },\n localization,\n onMrtToggleFullScreen,\n },\n setIsFullScreen,\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const handleToggleFullScreen = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleFullScreen?.({\n event,\n isFullScreen: !isFullScreen,\n tableInstance,\n });\n setIsFullScreen(!isFullScreen);\n };\n\n return (\n <Tooltip arrow title={localization.toggleFullScreen}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={handleToggleFullScreen}\n {...rest}\n >\n {isFullScreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip, IconButtonProps } from '@mui/material';\nimport { MRT_ShowHideColumnsMenu } from '../menus/MRT_ShowHideColumnsMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ShowHideColumnsButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n options: {\n icons: { ViewColumnIcon },\n localization,\n },\n } = tableInstance;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n return (\n <>\n <Tooltip arrow title={localization.showHideColumns}>\n <IconButton\n aria-label={localization.showHideColumns}\n onClick={handleClick}\n {...rest}\n >\n <ViewColumnIcon />\n </IconButton>\n </Tooltip>\n <MRT_ShowHideColumnsMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleDensePaddingButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { DensityMediumIcon, DensitySmallIcon },\n localization,\n onMrtToggleDensePadding,\n },\n setIsDensePadding,\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const handleToggleDensePadding = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleDensePadding?.({\n event,\n isDensePadding: !isDensePadding,\n tableInstance,\n });\n setIsDensePadding(!isDensePadding);\n };\n\n return (\n <Tooltip arrow title={localization.toggleDensePadding}>\n <IconButton\n aria-label={localization.toggleDensePadding}\n onClick={handleToggleDensePadding}\n {...rest}\n >\n {isDensePadding ? <DensitySmallIcon /> : <DensityMediumIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleFiltersButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, FilterListOffIcon },\n localization,\n onMrtToggleShowFilters,\n },\n setShowFilters,\n } = tableInstance;\n\n const { showFilters } = getState();\n\n const handleToggleShowFilters = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleShowFilters?.({\n event,\n showFilters: !showFilters,\n tableInstance,\n });\n setShowFilters(!showFilters);\n };\n\n return (\n <Tooltip arrow title={localization.showHideFilters}>\n <IconButton\n aria-label={localization.showHideFilters}\n onClick={handleToggleShowFilters}\n {...rest}\n >\n {showFilters ? <FilterListOffIcon /> : <FilterListIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props extends IconButtonProps {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleGlobalFilterButton: FC<Props> = ({\n tableInstance,\n ...rest\n}) => {\n const {\n getState,\n options: {\n icons: { SearchIcon, SearchOffIcon },\n tableId,\n localization,\n muiSearchTextFieldProps,\n onMrtToggleShowGlobalFilter,\n },\n setShowGlobalFilter,\n } = tableInstance;\n\n const { showGlobalFilter } = getState();\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n const handleToggleSearch = (event: MouseEvent<HTMLButtonElement>) => {\n onMrtToggleShowGlobalFilter?.({\n event,\n showGlobalFilter: !showGlobalFilter,\n tableInstance,\n });\n setShowGlobalFilter(!showGlobalFilter);\n setTimeout(\n () =>\n document\n .getElementById(\n textFieldProps?.id ?? `mrt-${tableId}-search-text-field`,\n )\n ?.focus(),\n 200,\n );\n };\n\n return (\n <Tooltip arrow title={localization.showHideSearch}>\n <IconButton onClick={handleToggleSearch} {...rest}>\n {showGlobalFilter ? <SearchOffIcon /> : <SearchIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Collapse,\n debounce,\n IconButton,\n InputAdornment,\n TextField,\n Tooltip,\n} from '@mui/material';\nimport { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n setGlobalFilter,\n options: {\n icons: { SearchIcon, CloseIcon },\n tableId,\n localization,\n muiSearchTextFieldProps,\n onMrtGlobalFilterValueChange,\n },\n } = tableInstance;\n\n const { globalFilter, showGlobalFilter } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [searchValue, setSearchValue] = useState(globalFilter ?? '');\n\n const handleChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n setGlobalFilter(event.target.value ?? undefined);\n onMrtGlobalFilterValueChange?.({ event, tableInstance });\n }, 200),\n [],\n );\n\n const handleGlobalFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setSearchValue('');\n setGlobalFilter(undefined);\n };\n\n const textFieldProps =\n muiSearchTextFieldProps instanceof Function\n ? muiSearchTextFieldProps({ tableInstance })\n : muiSearchTextFieldProps;\n\n return (\n <Collapse in={showGlobalFilter} orientation=\"horizontal\">\n <TextField\n id={`mrt-${tableId}-search-text-field`}\n placeholder={localization.search}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setSearchValue(event.target.value);\n handleChange(event);\n }}\n value={searchValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeSearchMode}>\n <span>\n <IconButton\n aria-label={localization.changeSearchMode}\n onClick={handleGlobalFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <SearchIcon />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={localization.clearSearch}\n disabled={searchValue?.length === 0}\n onClick={handleClear}\n size=\"small\"\n title={localization.clearSearch}\n >\n <CloseIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{ justifySelf: 'end', ...textFieldProps?.sx }}\n />\n <MRT_FilterOptionMenu\n anchorEl={anchorEl}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FullScreenToggleButton } from '../buttons/MRT_FullScreenToggleButton';\nimport { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton';\nimport { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingButton';\nimport { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton';\nimport { MRT_ToggleGlobalFilterButton } from '../buttons/MRT_ToggleGlobalFilterButton';\nimport { MRT_TableInstance } from '..';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarInternalButtons: FC<Props> = ({ tableInstance }) => {\n const {\n options: {\n enableColumnFilters,\n enableDensePaddingToggle,\n enableFilters,\n enableFullScreenToggle,\n enableGlobalFilter,\n enableHiding,\n positionGlobalFilter,\n renderToolbarInternalActions,\n },\n } = tableInstance;\n\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n zIndex: 3,\n }}\n >\n {renderToolbarInternalActions?.({\n MRT_FullScreenToggleButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_ToggleFiltersButton,\n MRT_ToggleGlobalFilterButton,\n tableInstance,\n }) ?? (\n <>\n {enableGlobalFilter && positionGlobalFilter === 'right' && (\n <MRT_SearchTextField tableInstance={tableInstance} />\n )}\n {enableFilters && enableGlobalFilter && (\n <MRT_ToggleGlobalFilterButton tableInstance={tableInstance} />\n )}\n {enableFilters && enableColumnFilters && (\n <MRT_ToggleFiltersButton tableInstance={tableInstance} />\n )}\n {enableHiding && (\n <MRT_ShowHideColumnsButton tableInstance={tableInstance} />\n )}\n {enableDensePaddingToggle && (\n <MRT_ToggleDensePaddingButton tableInstance={tableInstance} />\n )}\n {enableFullScreenToggle && (\n <MRT_FullScreenToggleButton tableInstance={tableInstance} />\n )}\n </>\n )}\n </Box>\n );\n};\n","import React, { ChangeEvent, FC } from 'react';\nimport { TablePagination } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePagination: FC<Props> = ({ tableInstance }) => {\n const {\n getPrePaginationRowModel,\n getState,\n setPageIndex,\n setPageSize,\n options: { muiTablePaginationProps },\n } = tableInstance;\n\n const {\n pagination: { pageSize = 10, pageIndex = 0 },\n } = getState();\n\n const tablePaginationProps =\n muiTablePaginationProps instanceof Function\n ? muiTablePaginationProps({ tableInstance })\n : muiTablePaginationProps;\n\n const handleChangeRowsPerPage = (event: ChangeEvent<HTMLInputElement>) => {\n setPageSize(+event.target.value);\n };\n\n const showFirstLastPageButtons =\n getPrePaginationRowModel().rows.length / pageSize > 2;\n\n return (\n <TablePagination\n SelectProps={{\n sx: { m: '0 1rem 0 1ch' },\n MenuProps: { MenuListProps: { disablePadding: true } },\n }}\n component=\"div\"\n count={getPrePaginationRowModel().rows.length}\n onPageChange={(_: any, newPage: number) => setPageIndex(newPage)}\n onRowsPerPageChange={handleChangeRowsPerPage}\n page={pageIndex}\n rowsPerPage={pageSize}\n rowsPerPageOptions={[5, 10, 15, 20, 25, 30, 50, 100]}\n showFirstButton={showFirstLastPageButtons}\n showLastButton={showFirstLastPageButtons}\n {...tablePaginationProps}\n sx={{\n m: '0 0.5rem',\n position: 'relative',\n zIndex: 2,\n ...tablePaginationProps?.sx,\n }}\n />\n );\n};\n","import React, { FC, Fragment } from 'react';\nimport { Alert, Box, Chip, Collapse } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n stackAlertBanner?: boolean;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarAlertBanner: FC<Props> = ({\n stackAlertBanner,\n tableInstance,\n}) => {\n const {\n getPrePaginationRowModel,\n getSelectedRowModel,\n getState,\n options: { localization, muiTableToolbarAlertBannerProps },\n } = tableInstance;\n\n const { grouping } = getState();\n\n const alertProps =\n muiTableToolbarAlertBannerProps instanceof Function\n ? muiTableToolbarAlertBannerProps({ tableInstance })\n : muiTableToolbarAlertBannerProps;\n\n const selectMessage =\n getSelectedRowModel().rows.length > 0\n ? localization.selectedCountOfRowCountRowsSelected\n ?.replace(\n '{selectedCount}',\n getSelectedRowModel().rows.length.toString(),\n )\n ?.replace(\n '{rowCount}',\n getPrePaginationRowModel().rows.length.toString(),\n )\n : null;\n\n const groupedByMessage =\n grouping.length > 0 ? (\n <span>\n {localization.groupedBy}{' '}\n {grouping.map((columnId, index) => (\n <Fragment key={`${index}-${columnId}`}>\n {index > 0 ? localization.thenBy : ''}\n <Chip\n color=\"secondary\"\n label={tableInstance.getColumn(columnId).columnDef.header}\n onDelete={() =>\n tableInstance.getColumn(columnId).toggleGrouping()\n }\n />\n </Fragment>\n ))}\n </span>\n ) : null;\n\n return (\n <Collapse\n in={!!selectMessage || !!groupedByMessage}\n timeout={stackAlertBanner ? 200 : 0}\n >\n <Alert\n color=\"info\"\n icon={false}\n sx={{\n borderRadius: 0,\n fontSize: '1rem',\n left: 0,\n p: 0,\n position: 'relative',\n right: 0,\n top: 0,\n width: '100%',\n zIndex: 2,\n ...alertProps?.sx,\n }}\n {...alertProps}\n >\n <Box sx={{ p: '0.5rem 1rem' }}>\n {selectMessage}\n {selectMessage && groupedByMessage && <br />}\n {groupedByMessage}\n </Box>\n </Alert>\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse, LinearProgress } from '@mui/material';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n alignTo: 'bottom' | 'top';\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_LinearProgressBar: FC<Props> = ({\n alignTo,\n tableInstance,\n}) => {\n const {\n options: { muiLinearProgressProps },\n getState,\n } = tableInstance;\n\n const { isLoading, showProgressBars } = getState();\n\n const linearProgressProps =\n muiLinearProgressProps instanceof Function\n ? muiLinearProgressProps({ tableInstance })\n : muiLinearProgressProps;\n\n return (\n <Collapse\n in={isLoading || showProgressBars}\n mountOnEnter\n unmountOnExit\n sx={{\n bottom: alignTo === 'bottom' ? 0 : undefined,\n position: 'absolute',\n top: alignTo === 'top' ? 0 : undefined,\n width: '100%',\n }}\n >\n <LinearProgress\n aria-label=\"Loading\"\n aria-busy=\"true\"\n sx={{ position: 'relative' }}\n {...linearProgressProps}\n />\n </Collapse>\n );\n};\n","import React, { FC } from 'react';\nimport { Box, lighten, Theme, Toolbar, useMediaQuery } from '@mui/material';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { MRT_TableInstance } from '..';\nimport { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';\n\nexport const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({\n backgroundColor: lighten(theme.palette.background.default, 0.04),\n backgroundImage: 'none',\n display: 'grid',\n minHeight: '3.5rem',\n overflow: 'hidden',\n p: '0 !important',\n transition: 'all 0.2s ease-in-out',\n width: '100%',\n zIndex: 1,\n});\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n enableGlobalFilter,\n enablePagination,\n enableToolbarInternalActions,\n tableId,\n muiTableToolbarTopProps,\n positionPagination,\n positionGlobalFilter,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { isFullScreen, showGlobalFilter } = getState();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const toolbarProps =\n muiTableToolbarTopProps instanceof Function\n ? muiTableToolbarTopProps({ tableInstance })\n : muiTableToolbarTopProps;\n\n const stackAlertBanner =\n isMobile ||\n (positionToolbarAlertBanner === 'top' &&\n (!!renderToolbarCustomActions || showGlobalFilter));\n\n return (\n <Toolbar\n id={`mrt-${tableId}-toolbar-top`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n position: isFullScreen ? 'sticky' : undefined,\n top: isFullScreen ? '0' : undefined,\n ...commonToolbarStyles({ theme }),\n ...toolbarProps?.sx,\n } as any)\n }\n >\n {positionToolbarAlertBanner === 'top' && (\n <MRT_ToolbarAlertBanner\n stackAlertBanner={stackAlertBanner}\n tableInstance={tableInstance}\n />\n )}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n p: '0.5rem',\n position: stackAlertBanner ? 'relative' : 'absolute',\n right: 0,\n top: 0,\n width: renderToolbarCustomActions ? '100%' : undefined,\n }}\n >\n {enableGlobalFilter && positionGlobalFilter === 'left' && (\n <MRT_SearchTextField tableInstance={tableInstance} />\n )}\n {renderToolbarCustomActions?.({ tableInstance }) ?? <span />}\n {enableToolbarInternalActions && positionToolbarActions === 'top' && (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n )}\n </Box>\n <div>\n {enablePagination &&\n ['top', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </div>\n <MRT_LinearProgressBar alignTo=\"bottom\" tableInstance={tableInstance} />\n </Toolbar>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, Box, Toolbar, useMediaQuery } from '@mui/material';\nimport { MRT_TablePagination } from './MRT_TablePagination';\nimport { MRT_ToolbarInternalButtons } from './MRT_ToolbarInternalButtons';\nimport { MRT_ToolbarAlertBanner } from './MRT_ToolbarAlertBanner';\nimport { MRT_LinearProgressBar } from './MRT_LinearProgressBar';\nimport { commonToolbarStyles } from './MRT_ToolbarTop';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: {\n enableToolbarInternalActions,\n tableId,\n enablePagination,\n muiTableToolbarBottomProps,\n positionPagination,\n positionToolbarActions,\n positionToolbarAlertBanner,\n renderToolbarCustomActions,\n },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const isMobile = useMediaQuery('(max-width:720px)');\n\n const toolbarProps =\n muiTableToolbarBottomProps instanceof Function\n ? muiTableToolbarBottomProps({ tableInstance })\n : muiTableToolbarBottomProps;\n\n const stackAlertBanner =\n isMobile ||\n (positionToolbarAlertBanner === 'bottom' &&\n positionToolbarActions === 'bottom') ||\n (positionToolbarAlertBanner === 'bottom' &&\n !!renderToolbarCustomActions &&\n positionToolbarActions === 'bottom');\n\n return (\n <Toolbar\n id={`mrt-${tableId}-toolbar-bottom`}\n variant=\"dense\"\n {...toolbarProps}\n sx={(theme) =>\n ({\n ...commonToolbarStyles({ theme }),\n bottom: isFullScreen ? '0' : undefined,\n boxShadow: `-3px 0 6px ${alpha(theme.palette.common.black, 0.1)}`,\n position: isFullScreen ? 'fixed' : 'relative',\n ...toolbarProps?.sx,\n } as any)\n }\n >\n <MRT_LinearProgressBar alignTo=\"top\" tableInstance={tableInstance} />\n {positionToolbarAlertBanner === 'bottom' && (\n <MRT_ToolbarAlertBanner tableInstance={tableInstance} />\n )}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n position: stackAlertBanner ? 'relative' : 'absolute',\n right: 0,\n top: 0,\n }}\n >\n {enableToolbarInternalActions && positionToolbarActions === 'bottom' ? (\n <MRT_ToolbarInternalButtons tableInstance={tableInstance} />\n ) : (\n <span />\n )}\n {enablePagination &&\n ['bottom', 'both'].includes(positionPagination ?? '') && (\n <MRT_TablePagination tableInstance={tableInstance} />\n )}\n </Box>\n </Toolbar>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n MouseEvent,\n useCallback,\n useState,\n} from 'react';\nimport {\n Chip,\n debounce,\n IconButton,\n InputAdornment,\n MenuItem,\n TextField,\n TextFieldProps,\n Tooltip,\n} from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\nimport { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';\nimport { MRT_FILTER_OPTION } from '../enums';\n\ninterface Props {\n header: MRT_Header;\n inputIndex?: number;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterTextField: FC<Props> = ({\n header,\n inputIndex,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { FilterListIcon, CloseIcon },\n tableId,\n localization,\n muiTableHeadCellFilterTextFieldProps,\n },\n setCurrentFilterFns,\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const { currentFilterFns } = getState();\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const mTableHeadCellFilterTextFieldProps =\n muiTableHeadCellFilterTextFieldProps instanceof Function\n ? muiTableHeadCellFilterTextFieldProps({ column, tableInstance })\n : muiTableHeadCellFilterTextFieldProps;\n\n const mcTableHeadCellFilterTextFieldProps =\n columnDef.muiTableHeadCellFilterTextFieldProps instanceof Function\n ? columnDef.muiTableHeadCellFilterTextFieldProps({\n column,\n tableInstance,\n })\n : columnDef.muiTableHeadCellFilterTextFieldProps;\n\n const textFieldProps = {\n ...mTableHeadCellFilterTextFieldProps,\n ...mcTableHeadCellFilterTextFieldProps,\n } as TextFieldProps;\n\n const [filterValue, setFilterValue] = useState<string>(() =>\n inputIndex !== undefined\n ? (column.getFilterValue() as [string, string])?.[inputIndex] ?? ''\n : (column.getFilterValue() as string) ?? '',\n );\n\n const handleChangeDebounced = useCallback(\n debounce(\n (event: ChangeEvent<HTMLInputElement>) =>\n inputIndex !== undefined\n ? column.setFilterValue((old: [string, string]) => {\n const newFilterValues = old ?? ['', ''];\n newFilterValues[inputIndex] = event.target.value;\n return newFilterValues;\n })\n : column.setFilterValue(event.target.value ?? undefined),\n 150,\n ),\n [],\n );\n\n const handleFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClear = () => {\n setFilterValue('');\n if (inputIndex !== undefined) {\n column.setFilterValue((old: [string | undefined, string | undefined]) => {\n const newFilterValues = old ?? ['', ''];\n newFilterValues[inputIndex] = undefined;\n return newFilterValues;\n });\n } else {\n column.setFilterValue(undefined);\n }\n };\n\n const handleClearFilterChip = () => {\n setFilterValue('');\n column.setFilterValue(undefined);\n setCurrentFilterFns((prev) => ({\n ...prev,\n [header.id]: MRT_FILTER_OPTION.FUZZY,\n }));\n };\n\n if (columnDef.Filter) {\n return <>{columnDef.Filter?.({ header, tableInstance })}</>;\n }\n\n const filterId = `mrt-${tableId}-${header.id}-filter-text-field${\n inputIndex ?? ''\n }`;\n const filterFn = currentFilterFns?.[header.id];\n const isSelectFilter = !!columnDef.filterSelectOptions;\n const filterChipLabel =\n !(filterFn instanceof Function) &&\n [MRT_FILTER_OPTION.EMPTY, MRT_FILTER_OPTION.NOT_EMPTY].includes(\n filterFn as MRT_FILTER_OPTION,\n )\n ? //@ts-ignore\n localization[\n `filter${filterFn.charAt(0).toUpperCase() + filterFn.slice(1)}`\n ]\n : '';\n const filterPlaceholder =\n inputIndex === undefined\n ? localization.filterByColumn?.replace(\n '{column}',\n String(columnDef.header),\n )\n : inputIndex === 0\n ? localization.min\n : inputIndex === 1\n ? localization.max\n : '';\n\n return (\n <>\n <TextField\n fullWidth\n id={filterId}\n inputProps={{\n disabled: !!filterChipLabel,\n sx: {\n textOverflow: 'ellipsis',\n width: filterChipLabel ? 0 : undefined,\n },\n title: filterPlaceholder,\n }}\n helperText={\n !inputIndex ? (\n <label htmlFor={filterId}>\n {filterFn instanceof Function\n ? localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterFn.name.charAt(0).toUpperCase() +\n filterFn.name.slice(1)\n }`\n ] ?? '',\n ) ?? ''\n : localization.filterMode.replace(\n '{filterType}',\n // @ts-ignore\n localization[\n `filter${\n filterFn.charAt(0).toUpperCase() + filterFn.slice(1)\n }`\n ],\n )}\n </label>\n ) : null\n }\n FormHelperTextProps={{\n sx: {\n fontSize: '0.6rem',\n lineHeight: '0.8rem',\n whiteSpace: 'nowrap',\n },\n }}\n label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}\n margin=\"none\"\n placeholder={\n filterChipLabel || isSelectFilter ? undefined : filterPlaceholder\n }\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n handleChangeDebounced(event);\n }}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n select={isSelectFilter}\n value={filterValue ?? ''}\n variant=\"standard\"\n InputProps={{\n startAdornment: !isSelectFilter && !inputIndex && (\n <InputAdornment position=\"start\">\n <Tooltip arrow title={localization.changeFilterMode}>\n <span>\n <IconButton\n aria-label={localization.changeFilterMode}\n onClick={handleFilterMenuOpen}\n size=\"small\"\n sx={{ height: '1.75rem', width: '1.75rem' }}\n >\n <FilterListIcon />\n </IconButton>\n </span>\n </Tooltip>\n {filterChipLabel && (\n <Chip\n onDelete={handleClearFilterChip}\n label={filterChipLabel}\n />\n )}\n </InputAdornment>\n ),\n endAdornment: !filterChipLabel && (\n <InputAdornment position=\"end\">\n <Tooltip\n arrow\n disableHoverListener={isSelectFilter}\n placement=\"right\"\n title={localization.clearFilter ?? ''}\n >\n <span>\n <IconButton\n aria-label={localization.clearFilter}\n disabled={!filterValue?.length}\n onClick={handleClear}\n size=\"small\"\n sx={{\n height: '1.75rem',\n width: '1.75rem',\n }}\n >\n <CloseIcon />\n </IconButton>\n </span>\n </Tooltip>\n </InputAdornment>\n ),\n }}\n {...textFieldProps}\n sx={{\n m: '-0.25rem',\n p: 0,\n minWidth: !filterChipLabel ? '8rem' : 'auto',\n width: 'calc(100% + 0.5rem)',\n mt: isSelectFilter && !filterValue ? '-1rem' : undefined,\n '&\t.MuiSelect-icon': {\n mr: '1.5rem',\n },\n ...textFieldProps?.sx,\n }}\n >\n {isSelectFilter && (\n <MenuItem divider disabled={!filterValue} value=\"\">\n {localization.clearFilter}\n </MenuItem>\n )}\n {columnDef?.filterSelectOptions?.map((option) => {\n let value;\n let text;\n if (typeof option === 'string') {\n value = option;\n text = option;\n } else if (typeof option === 'object') {\n value = option.value;\n text = option.text;\n }\n return (\n <MenuItem key={value} value={value}>\n {text}\n </MenuItem>\n );\n })}\n </TextField>\n <MRT_FilterOptionMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC } from 'react';\nimport { Box } from '@mui/material';\nimport { MRT_FilterTextField } from './MRT_FilterTextField';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_FilterRangeFields: FC<Props> = ({ header, tableInstance }) => {\n const {\n options: { localization },\n } = tableInstance;\n\n return (\n <Box sx={{ display: 'grid', gridTemplateColumns: '6fr auto 5fr' }}>\n <MRT_FilterTextField\n header={header}\n inputIndex={0}\n tableInstance={tableInstance}\n />\n <Box\n sx={{\n width: '100%',\n minWidth: '5ch',\n textAlign: 'center',\n }}\n >\n {localization.to}\n </Box>\n <MRT_FilterTextField\n header={header}\n inputIndex={1}\n tableInstance={tableInstance}\n />\n </Box>\n );\n};\n","import React, { FC } from 'react';\nimport { Collapse } from '@mui/material';\nimport { MRT_FilterRangeFields } from '../inputs/MRT_FilterRangeFields';\nimport { MRT_FilterTextField } from '../inputs/MRT_FilterTextField';\nimport { MRT_FILTER_OPTION } from '../enums';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellFilterContainer: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const { getState } = tableInstance;\n\n const { currentFilterFns, showFilters } = getState();\n\n const { column } = header;\n\n return (\n <Collapse in={showFilters} mountOnEnter unmountOnExit>\n {currentFilterFns[column.id] === MRT_FILTER_OPTION.BETWEEN ? (\n <MRT_FilterRangeFields header={header} tableInstance={tableInstance} />\n ) : (\n <MRT_FilterTextField header={header} tableInstance={tableInstance} />\n )}\n </Collapse>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellFilterLabel: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n icons: { FilterAltIcon, FilterAltOffIcon },\n localization,\n },\n setShowFilters,\n } = tableInstance;\n\n const { showFilters } = getState();\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const filterFn = getState()?.currentFilterFns?.[header.id];\n\n const filterTooltip = !!column.getFilterValue()\n ? localization.filteringByColumn\n .replace('{column}', String(columnDef.header))\n .replace(\n '{filterType}',\n filterFn instanceof Function\n ? ''\n : // @ts-ignore\n localization[\n `filter${filterFn.charAt(0).toUpperCase() + filterFn.slice(1)}`\n ],\n )\n .replace(\n '{filterValue}',\n `\"${\n Array.isArray(column.getFilterValue())\n ? (column.getFilterValue() as [string, string]).join(\n `\" ${localization.and} \"`,\n )\n : (column.getFilterValue() as string)\n }\"`,\n )\n .replace('\" \"', '')\n : localization.showHideFilters;\n\n return (\n <Tooltip arrow placement=\"top\" title={filterTooltip}>\n <IconButton\n disableRipple\n onClick={(event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n setShowFilters(!showFilters);\n }}\n size=\"small\"\n sx={{\n m: 0,\n opacity: !!column.getFilterValue() || showFilters ? 0.8 : 0,\n p: '2px',\n transition: 'all 0.2s ease-in-out',\n transform: 'scale(0.66)',\n '&:hover': {\n backgroundColor: 'transparent',\n opacity: 0.8,\n },\n }}\n >\n {showFilters && !column.getFilterValue() ? (\n <FilterAltOffIcon />\n ) : (\n <FilterAltIcon />\n )}\n </IconButton>\n </Tooltip>\n );\n};\n","import React, { FC } from 'react';\nimport { Divider, Theme } from '@mui/material';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellResizeHandle: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const { getState } = tableInstance;\n\n const { showFilters } = getState();\n\n const { column } = header;\n\n const { columnDefType } = column;\n\n return (\n <Divider\n flexItem\n orientation=\"vertical\"\n onDoubleClick={() => column.resetSize()}\n sx={(theme: Theme) => ({\n borderRadius: '2px',\n borderRightWidth: '2px',\n cursor: 'col-resize',\n height: showFilters && columnDefType === 'data' ? '4rem' : '2rem',\n opacity: 0.8,\n position: 'absolute',\n right: '1px',\n touchAction: 'none',\n transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',\n userSelect: 'none',\n zIndex: 2000,\n '&:active': {\n backgroundColor: theme.palette.info.main,\n opacity: 1,\n },\n })}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n style={{\n transform: column.getIsResizing()\n ? `translateX(${getState().columnSizingInfo.deltaOffset}px)`\n : 'none',\n }}\n />\n );\n};\n","import React, { FC } from 'react';\nimport { TableSortLabel, Tooltip } from '@mui/material';\nimport { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCellSortLabel: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n options: { localization },\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const sortTooltip = !!column.getIsSorted()\n ? column.getIsSorted() === 'desc'\n ? localization.sortedByColumnDesc.replace('{column}', columnDef.header)\n : localization.sortedByColumnAsc.replace('{column}', columnDef.header)\n : localization.unsorted;\n\n return (\n <Tooltip arrow placement=\"top\" title={sortTooltip}>\n <TableSortLabel\n aria-label={sortTooltip}\n active={!!column.getIsSorted()}\n direction={\n column.getIsSorted()\n ? (column.getIsSorted() as 'asc' | 'desc')\n : undefined\n }\n />\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useState } from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport { MRT_ColumnActionMenu } from '../menus/MRT_ColumnActionMenu';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_ToggleColumnActionMenuButton: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n options: {\n icons: { MoreVertIcon },\n localization,\n muiTableHeadCellColumnActionsButtonProps,\n },\n } = tableInstance;\n\n const { column } = header;\n\n const { columnDef } = column;\n\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n event.preventDefault();\n setAnchorEl(event.currentTarget);\n };\n\n const mTableHeadCellColumnActionsButtonProps =\n muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? muiTableHeadCellColumnActionsButtonProps({ column, tableInstance })\n : muiTableHeadCellColumnActionsButtonProps;\n\n const mcTableHeadCellColumnActionsButtonProps =\n columnDef.muiTableHeadCellColumnActionsButtonProps instanceof Function\n ? columnDef.muiTableHeadCellColumnActionsButtonProps({\n column,\n tableInstance,\n })\n : columnDef.muiTableHeadCellColumnActionsButtonProps;\n\n const iconButtonProps = {\n ...mTableHeadCellColumnActionsButtonProps,\n ...mcTableHeadCellColumnActionsButtonProps,\n };\n\n return (\n <>\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={localization.columnActions}\n >\n <IconButton\n aria-label={localization.columnActions}\n onClick={handleClick}\n size=\"small\"\n {...iconButtonProps}\n sx={{\n height: '2rem',\n mr: '2px',\n mt: '-0.2rem',\n opacity: 0.5,\n transition: 'opacity 0.2s',\n width: '2rem',\n '&:hover': {\n opacity: 1,\n },\n ...iconButtonProps.sx,\n }}\n >\n <MoreVertIcon />\n </IconButton>\n </Tooltip>\n <MRT_ColumnActionMenu\n anchorEl={anchorEl}\n header={header}\n setAnchorEl={setAnchorEl}\n tableInstance={tableInstance}\n />\n </>\n );\n};\n","import React, { FC, ReactNode, Ref } from 'react';\nimport { Box, TableCell, Theme, alpha, lighten } from '@mui/material';\nimport { MRT_TableHeadCellFilterContainer } from './MRT_TableHeadCellFilterContainer';\nimport { MRT_TableHeadCellFilterLabel } from './MRT_TableHeadCellFilterLabel';\nimport { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';\nimport { MRT_TableHeadCellResizeHandle } from './MRT_TableHeadCellResizeHandle';\nimport { MRT_TableHeadCellSortLabel } from './MRT_TableHeadCellSortLabel';\nimport { MRT_ToggleColumnActionMenuButton } from '../buttons/MRT_ToggleColumnActionMenuButton';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n dragRef?: Ref<HTMLButtonElement>;\n dropRef?: Ref<HTMLDivElement>;\n header: MRT_Header;\n isDragging?: boolean;\n previewRef?: Ref<HTMLTableCellElement>;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadCell: FC<Props> = ({\n dragRef,\n dropRef,\n header,\n isDragging,\n previewRef,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n enableColumnActions,\n enableColumnFilters,\n enableColumnOrdering,\n enableColumnResizing,\n enableGrouping,\n muiTableHeadCellProps,\n },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const { column } = header;\n\n const { columnDef, columnDefType } = column;\n\n const mTableHeadCellProps =\n muiTableHeadCellProps instanceof Function\n ? muiTableHeadCellProps({ column, tableInstance })\n : muiTableHeadCellProps;\n\n const mcTableHeadCellProps =\n columnDef.muiTableHeadCellProps instanceof Function\n ? columnDef.muiTableHeadCellProps({ column, tableInstance })\n : columnDef.muiTableHeadCellProps;\n\n const tableCellProps = {\n ...mTableHeadCellProps,\n ...mcTableHeadCellProps,\n };\n\n const headerElement = ((columnDef?.Header instanceof Function\n ? columnDef?.Header?.({\n header,\n tableInstance,\n })\n : columnDef?.Header) ??\n header.renderHeader() ??\n columnDef.header) as ReactNode;\n\n const getIsLastLeftPinnedColumn = () => {\n return (\n column.getIsPinned() === 'left' &&\n tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex()\n );\n };\n\n const getIsFirstRightPinnedColumn = () => {\n return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;\n };\n\n const getTotalRight = () => {\n return (\n (tableInstance.getRightLeafHeaders().length -\n 1 -\n column.getPinnedIndex()) *\n 150\n );\n };\n\n return (\n <TableCell\n align={columnDefType === 'group' ? 'center' : 'left'}\n colSpan={header.colSpan}\n {...tableCellProps}\n ref={\n columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined\n }\n sx={(theme: Theme) => ({\n backgroundColor:\n column.getIsPinned() && columnDefType !== 'group'\n ? alpha(lighten(theme.palette.background.default, 0.04), 0.95)\n : 'inherit',\n backgroundImage: 'inherit',\n boxShadow: getIsLastLeftPinnedColumn()\n ? `4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : getIsFirstRightPinnedColumn()\n ? `-4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : undefined,\n fontWeight: 'bold',\n height: '100%',\n left:\n column.getIsPinned() === 'left'\n ? `${column.getStart('left')}px`\n : undefined,\n overflow: 'visible',\n p: isDensePadding\n ? columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pb: columnDefType === 'display' ? 0 : undefined,\n position:\n column.getIsPinned() && columnDefType !== 'group'\n ? 'sticky'\n : undefined,\n pt: columnDefType !== 'data' ? 0 : isDensePadding ? '0.25' : '.75rem',\n right:\n column.getIsPinned() === 'right' ? `${getTotalRight()}px` : undefined,\n transition: `all ${enableColumnResizing ? 0 : '0.2s'} ease-in-out`,\n verticalAlign: 'text-top',\n zIndex: column.getIsResizing()\n ? 3\n : column.getIsPinned() && columnDefType !== 'group'\n ? 2\n : 1,\n ...(tableCellProps?.sx as any),\n })}\n style={{\n maxWidth: `min(${column.getSize()}px, fit-content)`,\n minWidth: `max(${column.getSize()}px, ${columnDef.minSize ?? 30}px)`,\n width: header.getSize(),\n }}\n >\n {header.isPlaceholder ? null : columnDefType === 'display' ? (\n headerElement\n ) : (\n <Box\n ref={previewRef}\n sx={{\n alignItems: 'flex-start',\n display: 'flex',\n justifyContent:\n columnDefType === 'group' ? 'center' : 'space-between',\n opacity: isDragging ? 0.5 : 1,\n width: '100%',\n }}\n >\n <Box\n onClick={() => column.toggleSorting()}\n sx={{\n alignItems: 'center',\n cursor:\n column.getCanSort() && columnDefType !== 'group'\n ? 'pointer'\n : undefined,\n display: 'flex',\n flexWrap: 'nowrap',\n whiteSpace:\n (columnDef.header?.length ?? 0) < 24 ? 'nowrap' : 'normal',\n }}\n >\n {headerElement}\n {columnDefType === 'data' && column.getCanSort() && (\n <MRT_TableHeadCellSortLabel\n header={header}\n tableInstance={tableInstance}\n />\n )}\n {columnDefType === 'data' &&\n enableColumnFilters &&\n column.getCanFilter() && (\n <MRT_TableHeadCellFilterLabel\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </Box>\n <Box sx={{ whiteSpace: 'nowrap' }}>\n {columnDefType === 'data' &&\n ((enableColumnOrdering &&\n columnDef.enableColumnOrdering !== false) ||\n (enableGrouping && columnDef.enableGrouping !== false)) && (\n <MRT_GrabHandleButton\n ref={dragRef as Ref<HTMLButtonElement>}\n tableInstance={tableInstance}\n />\n )}\n {(enableColumnActions || columnDef.enableColumnActions) &&\n columnDef.enableColumnActions !== false &&\n columnDefType !== 'group' && (\n <MRT_ToggleColumnActionMenuButton\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </Box>\n {column.getCanResize() && (\n <MRT_TableHeadCellResizeHandle\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </Box>\n )}\n {columnDefType === 'data' && column.getCanFilter() && (\n <MRT_TableHeadCellFilterContainer\n header={header}\n tableInstance={tableInstance}\n />\n )}\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { useDrag, useDrop } from 'react-dnd';\nimport { MRT_TableHeadCell } from './MRT_TableHeadCell';\nimport type { MRT_Column, MRT_Header, MRT_TableInstance } from '..';\nimport { reorderColumn } from '../utils';\n\ninterface Props {\n header: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_DraggableTableHeadCell: FC<Props> = ({\n header,\n tableInstance,\n}) => {\n const {\n getState,\n options: {},\n setColumnOrder,\n } = tableInstance;\n\n const { columnOrder } = getState();\n\n const { column } = header;\n\n const [, dropRef] = useDrop({\n accept: 'column',\n drop: (movingColumn: MRT_Column) =>\n reorderColumn(movingColumn, column, columnOrder, setColumnOrder),\n });\n\n const [{ isDragging }, dragRef, previewRef] = useDrag({\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n item: () => column,\n type: 'column',\n });\n\n return (\n <MRT_TableHeadCell\n dragRef={dragRef}\n dropRef={dropRef}\n header={header}\n isDragging={isDragging}\n previewRef={previewRef}\n tableInstance={tableInstance}\n />\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, lighten, TableRow } from '@mui/material';\nimport { MRT_TableHeadCell } from './MRT_TableHeadCell';\nimport { MRT_DraggableTableHeadCell } from './MRT_DraggableTableHeadCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n headerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHeadRow: FC<Props> = ({ headerGroup, tableInstance }) => {\n const {\n options: { enableColumnOrdering, enableGrouping, muiTableHeadRowProps },\n } = tableInstance;\n\n const tableRowProps =\n muiTableHeadRowProps instanceof Function\n ? muiTableHeadRowProps({ headerGroup, tableInstance })\n : muiTableHeadRowProps;\n\n return (\n <TableRow\n {...tableRowProps}\n sx={(theme) => ({\n boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`,\n backgroundColor: lighten(theme.palette.background.default, 0.04),\n ...(tableRowProps?.sx as any),\n })}\n >\n {headerGroup.headers.map((header: MRT_Header, index) =>\n enableColumnOrdering || enableGrouping ? (\n <MRT_DraggableTableHeadCell\n header={header}\n key={header.id || index}\n tableInstance={tableInstance}\n />\n ) : (\n <MRT_TableHeadCell\n header={header}\n key={header.id || index}\n tableInstance={tableInstance}\n />\n ),\n )}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableHead } from '@mui/material';\nimport { MRT_TableHeadRow } from './MRT_TableHeadRow';\nimport type { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableHead: FC<Props> = ({ tableInstance }) => {\n const {\n getHeaderGroups,\n options: { muiTableHeadProps },\n } = tableInstance;\n\n const tableHeadProps =\n muiTableHeadProps instanceof Function\n ? muiTableHeadProps({ tableInstance })\n : muiTableHeadProps;\n\n return (\n <TableHead {...tableHeadProps}>\n {getHeaderGroups().map((headerGroup) => (\n <MRT_TableHeadRow\n headerGroup={headerGroup as any}\n key={headerGroup.id}\n tableInstance={tableInstance}\n />\n ))}\n </TableHead>\n );\n};\n","import React, {\n ChangeEvent,\n FC,\n FocusEvent,\n MouseEvent,\n useState,\n} from 'react';\nimport { TextField } from '@mui/material';\nimport type { MRT_Cell, MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_EditCellTextField: FC<Props> = ({ cell, tableInstance }) => {\n const {\n getState,\n options: {\n tableId,\n enableEditing,\n muiTableBodyCellEditTextFieldProps,\n onMrtCellEditBlur,\n onMrtCellEditChange,\n },\n setCurrentEditingCell,\n setCurrentEditingRow,\n } = tableInstance;\n\n const [value, setValue] = useState(cell.getValue());\n\n const { column, row } = cell;\n\n const { columnDef } = column;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n columnDef.onMrtCellEditChange?.({ event, cell, tableInstance });\n onMrtCellEditChange?.({ event, cell, tableInstance });\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (getState().currentEditingRow) {\n if (!row._valuesCache) row._valuesCache = {};\n (row._valuesCache as Record<string, any>)[column.id] = value;\n setCurrentEditingRow({ ...getState().currentEditingRow } as MRT_Row);\n }\n setCurrentEditingCell(null);\n columnDef.onMrtCellEditBlur?.({ event, cell, tableInstance });\n onMrtCellEditBlur?.({ event, cell, tableInstance });\n };\n\n const mTableBodyCellEditTextFieldProps =\n muiTableBodyCellEditTextFieldProps instanceof Function\n ? muiTableBodyCellEditTextFieldProps({ cell, tableInstance })\n : muiTableBodyCellEditTextFieldProps;\n\n const mcTableBodyCellEditTextFieldProps =\n columnDef.muiTableBodyCellEditTextFieldProps instanceof Function\n ? columnDef.muiTableBodyCellEditTextFieldProps({\n cell,\n tableInstance,\n })\n : columnDef.muiTableBodyCellEditTextFieldProps;\n\n const textFieldProps = {\n ...mTableBodyCellEditTextFieldProps,\n ...mcTableBodyCellEditTextFieldProps,\n };\n\n if (enableEditing && columnDef.enableEditing !== false && columnDef.Edit) {\n return <>{columnDef.Edit?.({ cell, tableInstance })}</>;\n }\n\n return (\n <TextField\n id={`mrt-${tableId}-edit-cell-text-field-${cell.id}`}\n margin=\"dense\"\n onBlur={handleBlur}\n onChange={handleChange}\n onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}\n placeholder={columnDef.header}\n value={value}\n variant=\"standard\"\n {...textFieldProps}\n />\n );\n};\n","import React, { FC, ReactNode, useState } from 'react';\nimport { Button, Tooltip } from '@mui/material';\nimport { MRT_Cell, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n children: ReactNode;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_CopyButton: FC<Props> = ({\n cell,\n children,\n tableInstance,\n}) => {\n const {\n options: { localization, muiTableBodyCellCopyButtonProps },\n } = tableInstance;\n\n const { column } = cell;\n\n const { columnDef } = column;\n\n const [copied, setCopied] = useState(false);\n\n const handleCopy = (text: unknown) => {\n navigator.clipboard.writeText(text as string);\n setCopied(true);\n setTimeout(() => setCopied(false), 4000);\n };\n\n const mTableBodyCellCopyButtonProps =\n muiTableBodyCellCopyButtonProps instanceof Function\n ? muiTableBodyCellCopyButtonProps({ cell, tableInstance })\n : muiTableBodyCellCopyButtonProps;\n\n const mcTableBodyCellCopyButtonProps =\n columnDef.muiTableBodyCellCopyButtonProps instanceof Function\n ? columnDef.muiTableBodyCellCopyButtonProps({\n cell,\n tableInstance,\n })\n : columnDef.muiTableBodyCellCopyButtonProps;\n\n const buttonProps = {\n ...mTableBodyCellCopyButtonProps,\n ...mcTableBodyCellCopyButtonProps,\n };\n\n return (\n <Tooltip\n arrow\n enterDelay={1000}\n enterNextDelay={1000}\n placement=\"top\"\n title={copied ? localization.copiedToClipboard : localization.clickToCopy}\n >\n <Button\n aria-label={localization.clickToCopy}\n onClick={() => handleCopy(cell.getValue())}\n size=\"small\"\n type=\"button\"\n variant=\"text\"\n {...buttonProps}\n sx={{\n backgroundColor: 'transparent',\n border: 'none',\n color: 'inherit',\n cursor: 'copy',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n letterSpacing: 'inherit',\n m: '-0.25rem',\n minWidth: 'unset',\n textAlign: 'inherit',\n textTransform: 'inherit',\n ...buttonProps?.sx,\n }}\n >\n {children}\n </Button>\n </Tooltip>\n );\n};\n","import React, { FC, MouseEvent, useMemo } from 'react';\nimport { useDrop } from 'react-dnd';\nimport { alpha, darken, lighten, Skeleton, TableCell } from '@mui/material';\nimport { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';\nimport { MRT_CopyButton } from '../buttons/MRT_CopyButton';\nimport { reorderColumn } from '../utils';\nimport type { MRT_Cell, MRT_Column, MRT_TableInstance } from '..';\n\ninterface Props {\n cell: MRT_Cell;\n enableHover?: boolean;\n rowIndex: number;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyCell: FC<Props> = ({\n cell,\n enableHover,\n rowIndex,\n tableInstance,\n}) => {\n const {\n getState,\n options: {\n editingMode,\n enableClickToCopy,\n enableColumnOrdering,\n enableEditing,\n enableRowNumbers,\n muiTableBodyCellProps,\n muiTableBodyCellSkeletonProps,\n onMrtCellClick,\n rowNumberMode,\n tableId,\n },\n setColumnOrder,\n setCurrentEditingCell,\n } = tableInstance;\n\n const {\n columnOrder,\n currentEditingCell,\n currentEditingRow,\n isDensePadding,\n isLoading,\n showSkeletons,\n } = getState();\n\n const { column, row } = cell;\n\n const { columnDef, columnDefType } = column;\n\n const [, dropRef] = useDrop({\n accept: 'column',\n drop: (movingColumn: MRT_Column) =>\n reorderColumn(movingColumn, column, columnOrder, setColumnOrder),\n });\n\n const mTableCellBodyProps =\n muiTableBodyCellProps instanceof Function\n ? muiTableBodyCellProps({ cell, tableInstance })\n : muiTableBodyCellProps;\n\n const mcTableCellBodyProps =\n columnDef.muiTableBodyCellProps instanceof Function\n ? columnDef.muiTableBodyCellProps({ cell, tableInstance })\n : columnDef.muiTableBodyCellProps;\n\n const tableCellProps = {\n ...mTableCellBodyProps,\n ...mcTableCellBodyProps,\n };\n\n const skeletonWidth = useMemo(\n () =>\n columnDefType === 'display'\n ? column.getSize() / 2\n : Math.random() * (column.getSize() - column.getSize() / 3) +\n column.getSize() / 3,\n [columnDefType, column.getSize()],\n );\n\n const isEditable =\n (enableEditing || columnDef.enableEditing) &&\n columnDef.enableEditing !== false;\n\n const isEditing =\n isEditable &&\n (editingMode === 'table' ||\n currentEditingRow?.id === row.id ||\n currentEditingCell?.id === cell.id);\n\n const handleDoubleClick = (_event: MouseEvent<HTMLTableCellElement>) => {\n if (\n (enableEditing || columnDef.enableEditing) &&\n columnDef.enableEditing !== false &&\n editingMode === 'cell'\n ) {\n setCurrentEditingCell(cell);\n setTimeout(() => {\n const textField = document.getElementById(\n `mrt-${tableId}-edit-cell-text-field-${cell.id}`,\n ) as HTMLInputElement;\n if (textField) {\n textField.focus();\n textField.select();\n }\n }, 200);\n }\n };\n\n const getIsLastLeftPinnedColumn = () => {\n return (\n column.getIsPinned() === 'left' &&\n tableInstance.getLeftLeafHeaders().length - 1 === column.getPinnedIndex()\n );\n };\n\n const getIsFirstRightPinnedColumn = () => {\n return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;\n };\n\n const getTotalRight = () => {\n return (\n (tableInstance.getRightLeafHeaders().length -\n 1 -\n column.getPinnedIndex()) *\n 150\n );\n };\n\n return (\n <TableCell\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onMrtCellClick?.({ event, cell, tableInstance })\n }\n onDoubleClick={handleDoubleClick}\n {...tableCellProps}\n ref={\n columnDefType === 'data' && enableColumnOrdering ? dropRef : undefined\n }\n sx={(theme) => ({\n backgroundColor: column.getIsPinned()\n ? alpha(lighten(theme.palette.background.default, 0.04), 0.95)\n : undefined,\n boxShadow: getIsLastLeftPinnedColumn()\n ? `4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : getIsFirstRightPinnedColumn()\n ? `-4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`\n : undefined,\n cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',\n left:\n column.getIsPinned() === 'left'\n ? `${column.getStart('left')}px`\n : undefined,\n overflow: 'hidden',\n p: isDensePadding\n ? columnDefType === 'display'\n ? '0 0.5rem'\n : '0.5rem'\n : columnDefType === 'display'\n ? '0.5rem 0.75rem'\n : '1rem',\n pl:\n column.id === 'mrt-expand'\n ? `${row.depth + (isDensePadding ? 0.5 : 0.75)}rem`\n : undefined,\n position: column.getIsPinned() ? 'sticky' : 'relative',\n right:\n column.getIsPinned() === 'right' ? `${getTotalRight()}px` : undefined,\n textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,\n transition: 'all 0.2s ease-in-out',\n whiteSpace: isDensePadding ? 'nowrap' : 'normal',\n zIndex: column.getIsPinned() ? 1 : undefined,\n '&:hover': {\n backgroundColor:\n enableHover && enableEditing && editingMode !== 'row'\n ? theme.palette.mode === 'dark'\n ? `${lighten(\n theme.palette.background.default,\n 0.13,\n )} !important`\n : `${darken(theme.palette.background.default, 0.07)} !important`\n : undefined,\n },\n ...(tableCellProps?.sx as any),\n })}\n style={{\n maxWidth: `min(${column.getSize()}px, fit-content)`,\n minWidth: `max(${column.getSize()}px, ${columnDef.minSize ?? 30}px)`,\n width: column.getSize(),\n }}\n >\n <>\n {isLoading || showSkeletons ? (\n <Skeleton\n animation=\"wave\"\n height={20}\n width={skeletonWidth}\n {...muiTableBodyCellSkeletonProps}\n />\n ) : enableRowNumbers &&\n rowNumberMode === 'static' &&\n column.id === 'mrt-row-numbers' ? (\n rowIndex + 1\n ) : columnDefType === 'display' ? (\n columnDef.Cell?.({ cell, tableInstance })\n ) : cell.getIsPlaceholder() ||\n (row.getIsGrouped() &&\n column.id !==\n row.groupingColumnId) ? null : cell.getIsAggregated() ? (\n cell.renderAggregatedCell()\n ) : isEditing ? (\n <MRT_EditCellTextField cell={cell} tableInstance={tableInstance} />\n ) : (enableClickToCopy || columnDef.enableClickToCopy) &&\n columnDef.enableClickToCopy !== false ? (\n <>\n <MRT_CopyButton cell={cell} tableInstance={tableInstance}>\n <>\n {columnDef?.Cell?.({ cell, tableInstance }) ??\n cell.renderCell()}\n </>\n </MRT_CopyButton>\n {row.getIsGrouped() && <> ({row.subRows?.length})</>}\n </>\n ) : (\n <>\n {columnDef?.Cell?.({ cell, tableInstance }) ?? cell.renderCell()}\n {row.getIsGrouped() && <> ({row.subRows?.length ?? ''})</>}\n </>\n )}\n </>\n </TableCell>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { Collapse, TableCell, TableRow } from '@mui/material';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableDetailPanel: FC<Props> = ({ row, tableInstance }) => {\n const {\n getVisibleFlatColumns,\n options: {\n muiTableBodyRowProps,\n muiTableDetailPanelProps,\n onMrtDetailPanelClick,\n renderDetailPanel,\n },\n } = tableInstance;\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n const tableCellProps =\n muiTableDetailPanelProps instanceof Function\n ? muiTableDetailPanelProps({ row, tableInstance })\n : muiTableDetailPanelProps;\n\n return (\n <TableRow {...tableRowProps}>\n <TableCell\n colSpan={getVisibleFlatColumns().length + 10}\n onClick={(event: MouseEvent<HTMLTableCellElement>) =>\n onMrtDetailPanelClick?.({ event, row, tableInstance })\n }\n {...tableCellProps}\n sx={{\n borderBottom: !row.getIsExpanded() ? 'none' : undefined,\n pb: row.getIsExpanded() ? '1rem' : 0,\n pt: row.getIsExpanded() ? '1rem' : 0,\n transition: 'all 0.2s ease-in-out',\n ...tableCellProps?.sx,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n {renderDetailPanel?.({ row, tableInstance })}\n </Collapse>\n </TableCell>\n </TableRow>\n );\n};\n","import React, { FC, MouseEvent } from 'react';\nimport { darken, lighten, TableRow } from '@mui/material';\nimport { MRT_TableBodyCell } from './MRT_TableBodyCell';\nimport { MRT_TableDetailPanel } from './MRT_TableDetailPanel';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n row: MRT_Row;\n rowIndex: number;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableBodyRow: FC<Props> = ({ row, rowIndex, tableInstance }) => {\n const {\n getIsSomeColumnsPinned,\n options: { muiTableBodyRowProps, onMrtRowClick, renderDetailPanel },\n } = tableInstance;\n\n const tableRowProps =\n muiTableBodyRowProps instanceof Function\n ? muiTableBodyRowProps({ row, tableInstance })\n : muiTableBodyRowProps;\n\n return (\n <>\n <TableRow\n hover\n onClick={(event: MouseEvent<HTMLTableRowElement>) =>\n onMrtRowClick?.({ event, row, tableInstance })\n }\n selected={row.getIsSelected()}\n {...tableRowProps}\n sx={(theme) => ({\n backgroundColor: lighten(theme.palette.background.default, 0.06),\n transition: 'all 0.2s ease-in-out',\n '&:hover td': {\n backgroundColor:\n tableRowProps?.hover !== false && getIsSomeColumnsPinned()\n ? theme.palette.mode === 'dark'\n ? `${lighten(theme.palette.background.default, 0.12)}`\n : `${darken(theme.palette.background.default, 0.05)}`\n : undefined,\n },\n ...(tableRowProps?.sx as any),\n })}\n >\n {row.getVisibleCells().map((cell) => (\n <MRT_TableBodyCell\n cell={cell}\n key={cell.id}\n enableHover={tableRowProps?.hover !== false}\n rowIndex={rowIndex}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n {renderDetailPanel && !row.getIsGrouped() && (\n <MRT_TableDetailPanel row={row} tableInstance={tableInstance} />\n )}\n </>\n );\n};\n","import React, { FC, RefObject } from 'react';\nimport { useVirtual } from 'react-virtual';\nimport { TableBody } from '@mui/material';\nimport { MRT_TableBodyRow } from './MRT_TableBodyRow';\nimport type { MRT_Row, MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n tableContainerRef: RefObject<HTMLDivElement>;\n}\n\nexport const MRT_TableBody: FC<Props> = ({\n tableInstance,\n tableContainerRef,\n}) => {\n const {\n getPaginationRowModel,\n getPrePaginationRowModel,\n getState,\n options: { enablePagination, enableRowVirtualization, muiTableBodyProps },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const tableBodyProps =\n muiTableBodyProps instanceof Function\n ? muiTableBodyProps({ tableInstance })\n : muiTableBodyProps;\n\n const rows = enablePagination\n ? getPaginationRowModel().rows\n : getPrePaginationRowModel().rows;\n\n const rowVirtualizer = enableRowVirtualization\n ? useVirtual({\n overscan: isDensePadding ? 15 : 5,\n size: rows.length,\n parentRef: tableContainerRef,\n })\n : ({} as any);\n\n const { virtualItems: virtualRows } = rowVirtualizer;\n const paddingTop = virtualRows?.length > 0 ? virtualRows[0].start : 0;\n const paddingBottom =\n virtualRows?.length > 0\n ? rowVirtualizer.totalSize - virtualRows[virtualRows.length - 1].end\n : 0;\n\n return (\n <TableBody {...tableBodyProps}>\n {enableRowVirtualization && paddingTop > 0 && (\n <tr>\n <td style={{ height: `${paddingTop}px` }} />\n </tr>\n )}\n {/* @ts-ignore */}\n {(enableRowVirtualization ? virtualRows : rows).map(\n (rowOrVirtualRow: any, rowIndex: number) => {\n const row = enableRowVirtualization\n ? (rows[rowOrVirtualRow.index] as MRT_Row)\n : (rowOrVirtualRow as MRT_Row);\n return (\n <MRT_TableBodyRow\n key={row.id}\n row={row}\n rowIndex={\n enableRowVirtualization ? rowOrVirtualRow.index : rowIndex\n }\n tableInstance={tableInstance}\n />\n );\n },\n )}\n {enableRowVirtualization && paddingBottom > 0 && (\n <tr>\n <td style={{ height: `${paddingBottom}px` }} />\n </tr>\n )}\n </TableBody>\n );\n};\n","import React, { FC } from 'react';\nimport { alpha, TableCell } from '@mui/material';\nimport type { MRT_Header, MRT_TableInstance } from '..';\n\ninterface Props {\n footer: MRT_Header;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterCell: FC<Props> = ({ footer, tableInstance }) => {\n const {\n getState,\n options: { muiTableFooterCellProps, enableColumnResizing },\n } = tableInstance;\n\n const { isDensePadding } = getState();\n\n const { column } = footer;\n\n const { columnDef, columnDefType } = column;\n\n const mTableFooterCellProps =\n muiTableFooterCellProps instanceof Function\n ? muiTableFooterCellProps({ column, tableInstance })\n : muiTableFooterCellProps;\n\n const mcTableFooterCellProps =\n columnDef.muiTableFooterCellProps instanceof Function\n ? columnDef.muiTableFooterCellProps({ column, tableInstance })\n : columnDef.muiTableFooterCellProps;\n\n const tableCellProps = {\n ...mTableFooterCellProps,\n ...mcTableFooterCellProps,\n };\n\n return (\n <TableCell\n align={columnDefType === 'group' ? 'center' : 'left'}\n colSpan={footer.colSpan}\n variant=\"head\"\n {...tableCellProps}\n sx={(theme) => ({\n backgroundColor: theme.palette.background.default,\n backgroundImage: `linear-gradient(${alpha(\n theme.palette.common.white,\n 0.05,\n )},${alpha(theme.palette.common.white, 0.05)})`,\n fontWeight: 'bold',\n maxWidth: `${column.getSize()}px`,\n minWidth: `${column.getSize()}px`,\n p: isDensePadding ? '0.5rem' : '1rem',\n transition: `all ${enableColumnResizing ? '10ms' : '0.2s'} ease-in-out`,\n width: column.getSize(),\n verticalAlign: 'text-top',\n ...(tableCellProps?.sx as any),\n })}\n >\n <>\n {footer.isPlaceholder\n ? null\n : (columnDef.Footer instanceof Function\n ? columnDef.Footer?.({\n footer,\n tableInstance,\n })\n : columnDef.Footer) ??\n columnDef.footer ??\n footer.renderFooter() ??\n null}\n </>\n </TableCell>\n );\n};\n","import React, { FC } from 'react';\nimport { TableRow } from '@mui/material';\nimport { MRT_TableFooterCell } from './MRT_TableFooterCell';\nimport type { MRT_Header, MRT_HeaderGroup, MRT_TableInstance } from '..';\n\ninterface Props {\n footerGroup: MRT_HeaderGroup;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooterRow: FC<Props> = ({\n footerGroup,\n tableInstance,\n}) => {\n const {\n options: { muiTableFooterRowProps },\n } = tableInstance;\n\n // if no content in row, skip row\n if (\n !footerGroup.headers?.some(\n (header) =>\n (typeof header.column.columnDef.footer === 'string' &&\n !!header.column.columnDef.footer) ||\n header.column.columnDef.Footer,\n )\n )\n return null;\n\n const tableRowProps =\n muiTableFooterRowProps instanceof Function\n ? muiTableFooterRowProps({ footerGroup, tableInstance })\n : muiTableFooterRowProps;\n\n return (\n <TableRow {...tableRowProps}>\n {footerGroup.headers.map((footer: MRT_Header) => (\n <MRT_TableFooterCell\n footer={footer}\n key={footer.id}\n tableInstance={tableInstance}\n />\n ))}\n </TableRow>\n );\n};\n","import React, { FC } from 'react';\nimport { TableFooter } from '@mui/material';\nimport { MRT_TableFooterRow } from './MRT_TableFooterRow';\nimport type { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableFooter: FC<Props> = ({ tableInstance }) => {\n const {\n getFooterGroups,\n\n options: { muiTableFooterProps },\n } = tableInstance;\n\n const tableFooterProps =\n muiTableFooterProps instanceof Function\n ? muiTableFooterProps({ tableInstance })\n : muiTableFooterProps;\n\n return (\n <TableFooter {...tableFooterProps}>\n {getFooterGroups().map((footerGroup) => (\n <MRT_TableFooterRow\n footerGroup={footerGroup as any}\n key={footerGroup.id}\n tableInstance={tableInstance}\n />\n ))}\n </TableFooter>\n );\n};\n","import React, { FC, RefObject } from 'react';\nimport { Table } from '@mui/material';\nimport { MRT_TableHead } from '../head/MRT_TableHead';\nimport { MRT_TableBody } from '../body/MRT_TableBody';\nimport { MRT_TableFooter } from '../footer/MRT_TableFooter';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableContainerRef: RefObject<HTMLDivElement>;\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_Table: FC<Props> = ({ tableContainerRef, tableInstance }) => {\n const {\n options: {\n enableColumnResizing,\n enableRowVirtualization,\n enableStickyHeader,\n enableTableFooter,\n enableTableHead,\n muiTableProps,\n },\n } = tableInstance;\n\n const tableProps =\n muiTableProps instanceof Function\n ? muiTableProps({ tableInstance })\n : muiTableProps;\n\n return (\n <Table\n stickyHeader={enableStickyHeader}\n {...tableProps}\n sx={{\n tableLayout:\n enableColumnResizing || enableRowVirtualization ? 'fixed' : undefined,\n ...tableProps?.sx,\n }}\n >\n {enableTableHead && <MRT_TableHead tableInstance={tableInstance} />}\n <MRT_TableBody\n tableContainerRef={tableContainerRef}\n tableInstance={tableInstance}\n />\n {enableTableFooter && <MRT_TableFooter tableInstance={tableInstance} />}\n </Table>\n );\n};\n","import React, { FC, useEffect, useLayoutEffect, useState } from 'react';\nimport { TableContainer } from '@mui/material';\nimport { MRT_Table } from './MRT_Table';\nimport type { MRT_TableInstance } from '..';\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TableContainer: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: { enableStickyHeader, muiTableContainerProps, tableId },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n const [totalToolbarHeight, setTotalToolbarHeight] = useState(0);\n\n const tableContainerProps =\n muiTableContainerProps instanceof Function\n ? muiTableContainerProps({ tableInstance })\n : muiTableContainerProps;\n\n useIsomorphicLayoutEffect(() => {\n const topToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${tableId}-toolbar-top`)\n ?.offsetHeight ?? 0\n : 0;\n\n const bottomToolbarHeight =\n typeof document !== 'undefined'\n ? document?.getElementById(`mrt-${tableId}-toolbar-bottom`)\n ?.offsetHeight ?? 0\n : 0;\n\n setTotalToolbarHeight(topToolbarHeight + bottomToolbarHeight);\n });\n\n const tableContainerRef = React.useRef<HTMLDivElement>(null);\n\n return (\n <TableContainer\n {...tableContainerProps}\n ref={tableContainerRef}\n sx={{\n maxWidth: '100%',\n maxHeight: enableStickyHeader\n ? `clamp(350px, calc(100vh - ${totalToolbarHeight}px), 2000px)`\n : undefined,\n overflow: 'auto',\n ...tableContainerProps?.sx,\n }}\n style={{\n maxHeight: isFullScreen\n ? `calc(100vh - ${totalToolbarHeight}px)`\n : undefined,\n }}\n >\n <MRT_Table\n tableContainerRef={tableContainerRef}\n tableInstance={tableInstance}\n />\n </TableContainer>\n );\n};\n","import React, { FC, useEffect } from 'react';\nimport { Paper } from '@mui/material';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { MRT_ToolbarTop } from '../toolbar/MRT_ToolbarTop';\nimport { MRT_ToolbarBottom } from '../toolbar/MRT_ToolbarBottom';\nimport { MRT_TableContainer } from './MRT_TableContainer';\nimport { MRT_TableInstance } from '..';\n\ninterface Props {\n tableInstance: MRT_TableInstance;\n}\n\nexport const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {\n const {\n getState,\n options: { enableToolbarBottom, enableToolbarTop, muiTablePaperProps },\n } = tableInstance;\n\n const { isFullScreen } = getState();\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n if (isFullScreen) {\n document.body.style.overflow = 'hidden';\n document.body.style.height = '100vh';\n } else {\n document.body.style.overflow = 'auto';\n document.body.style.height = 'auto';\n }\n }\n }, [isFullScreen]);\n\n const tablePaperProps =\n muiTablePaperProps instanceof Function\n ? muiTablePaperProps({ tableInstance })\n : muiTablePaperProps;\n\n return (\n <DndProvider backend={HTML5Backend}>\n <Paper\n elevation={2}\n {...tablePaperProps}\n sx={{\n transition: 'all 0.2s ease-in-out',\n ...tablePaperProps?.sx,\n }}\n style={{\n height: isFullScreen ? '100vh' : undefined,\n margin: isFullScreen ? '0' : undefined,\n maxHeight: isFullScreen ? '100vh' : undefined,\n maxWidth: isFullScreen ? '100vw' : undefined,\n padding: isFullScreen ? '0' : undefined,\n width: isFullScreen ? '100vw' : undefined,\n }}\n >\n {enableToolbarTop && <MRT_ToolbarTop tableInstance={tableInstance} />}\n <MRT_TableContainer tableInstance={tableInstance} />\n {enableToolbarBottom && (\n <MRT_ToolbarBottom tableInstance={tableInstance} />\n )}\n </Paper>\n </DndProvider>\n );\n};\n","import React, { useEffect, useMemo, useState } from 'react';\nimport {\n FilterFn,\n createTable,\n getExpandedRowModel,\n getPaginationRowModel,\n useTableInstance,\n getGroupedRowModel,\n getSortedRowModel,\n getCoreRowModel,\n getFilteredRowModel,\n ReactTableGenerics,\n getFacetedRowModel,\n TableState,\n Table,\n} from '@tanstack/react-table';\nimport {\n MRT_Cell,\n MRT_ColumnDef,\n MRT_FilterFn,\n MRT_Row,\n MRT_TableInstance,\n MRT_TableState,\n} from '..';\nimport { MRT_ExpandAllButton } from '../buttons/MRT_ExpandAllButton';\nimport { MRT_ExpandButton } from '../buttons/MRT_ExpandButton';\nimport { MRT_ToggleRowActionMenuButton } from '../buttons/MRT_ToggleRowActionMenuButton';\nimport { MRT_SelectCheckbox } from '../inputs/MRT_SelectCheckbox';\nimport { MaterialReactTableProps } from '../MaterialReactTable';\nimport { MRT_TablePaper } from './MRT_TablePaper';\nimport {\n createDataColumn,\n createDisplayColumn,\n createGroup,\n getAllLeafColumnDefs,\n} from '../utils';\nimport { defaultFilterFNs } from '../filtersFNs';\nimport { MRT_FILTER_OPTION } from '../enums';\nimport { Box, Dialog, Grow } from '@mui/material';\n\nexport const MRT_TableRoot = <D extends Record<string, any> = {}>(\n props: MaterialReactTableProps<D>,\n) => {\n const [tableId, setIdPrefix] = useState(props.tableId);\n useEffect(\n () =>\n setIdPrefix(props.tableId ?? Math.random().toString(36).substring(2, 9)),\n [props.tableId],\n );\n\n const showActionColumn =\n props.enableRowActions ||\n (props.enableEditing && props.editingMode === 'row');\n\n const showExpandColumn = props.enableExpanding || props.enableGrouping;\n\n const initialState: Partial<MRT_TableState<D>> = useMemo(() => {\n const initState = props.initialState ?? {};\n\n initState.columnOrder =\n initState?.columnOrder ??\n (props.enableColumnOrdering || props.enableGrouping)\n ? ([\n showActionColumn && 'mrt-row-actions',\n showExpandColumn && 'mrt-expand',\n props.enableRowSelection && 'mrt-select',\n props.enableRowNumbers && 'mrt-row-numbers',\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnDef[]).map(\n (c) => c.id,\n ),\n ].filter(Boolean) as string[])\n : [];\n\n if (!props.enablePersistentState || !props.tableId) {\n return initState;\n }\n if (typeof window === 'undefined') {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n 'The MRT Persistent Table State feature is not supported if using SSR, but you can wrap your <MaterialReactTable /> in a MUI <NoSsr> tags to let it work',\n );\n }\n return initState;\n }\n const storedState =\n props.persistentStateMode === 'localStorage'\n ? localStorage.getItem(`mrt-${tableId}-table-state`)\n : props.persistentStateMode === 'sessionStorage'\n ? sessionStorage.getItem(`mrt-${tableId}-table-state`)\n : '{}';\n if (storedState) {\n const parsedState = JSON.parse(storedState);\n if (parsedState) {\n return { ...initState, ...parsedState };\n }\n }\n return initState;\n }, []);\n\n const [currentEditingCell, setCurrentEditingCell] =\n useState<MRT_Cell<D> | null>(initialState?.currentEditingCell ?? null);\n const [currentEditingRow, setCurrentEditingRow] = useState<MRT_Row<D> | null>(\n initialState?.currentEditingRow ?? null,\n );\n const [isDensePadding, setIsDensePadding] = useState(\n initialState?.isDensePadding ?? false,\n );\n const [isFullScreen, setIsFullScreen] = useState(\n initialState?.isFullScreen ?? false,\n );\n const [showFilters, setShowFilters] = useState(\n initialState?.showFilters ?? false,\n );\n const [showGlobalFilter, setShowGlobalFilter] = useState(\n initialState?.showGlobalFilter ?? false,\n );\n\n const [currentFilterFns, setCurrentFilterFns] = useState<{\n [key: string]: MRT_FilterFn;\n }>(() =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnDef[]).map((c) => ({\n [c.id as string]:\n c.filterFn ??\n initialState?.currentFilterFns?.[c.id] ??\n (!!c.filterSelectOptions?.length\n ? MRT_FILTER_OPTION.EQUALS\n : MRT_FILTER_OPTION.FUZZY),\n })),\n ),\n );\n\n const [currentGlobalFilterFn, setCurrentGlobalFilterFn] = useState<\n MRT_FILTER_OPTION | FilterFn<ReactTableGenerics> | string | number | symbol\n >(props.globalFilterFn ?? MRT_FILTER_OPTION.FUZZY);\n\n const table = useMemo(\n () =>\n // @ts-ignore\n createTable().setOptions({\n //@ts-ignore\n filterFns: defaultFilterFNs,\n getCoreRowModel: getCoreRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getGroupedRowModel: getGroupedRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getSubRows: (row) => (row as MRT_Row)?.subRows,\n tableId,\n initialState,\n }) as Table<D>,\n [],\n );\n\n const displayColumns = useMemo(\n () =>\n [\n showActionColumn &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ToggleRowActionMenuButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n header: props.localization?.actions,\n id: 'mrt-row-actions',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 60,\n }),\n showExpandColumn &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_ExpandButton\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableExpandAll ? (\n <MRT_ExpandAllButton tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.expand,\n id: 'mrt-expand',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 50,\n }),\n props.enableRowSelection &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => (\n <MRT_SelectCheckbox\n row={cell.row as any}\n tableInstance={tableInstance}\n />\n ),\n Header: () =>\n props.enableSelectAll ? (\n <MRT_SelectCheckbox selectAll tableInstance={tableInstance} />\n ) : null,\n header: props.localization?.select,\n id: 'mrt-select',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 50,\n }),\n props.enableRowNumbers &&\n createDisplayColumn(table, {\n Cell: ({ cell }) => cell.row.index + 1,\n Header: () => props.localization?.rowNumber,\n header: props.localization?.rowNumbers,\n id: 'mrt-row-numbers',\n muiTableBodyCellProps: props.muiTableBodyCellProps,\n muiTableHeadCellProps: props.muiTableHeadCellProps,\n size: 50,\n }),\n ].filter(Boolean),\n [\n props.editingMode,\n props.enableEditing,\n props.enableExpandAll,\n props.enableExpanding,\n props.enableGrouping,\n props.enableRowActions,\n props.enableRowNumbers,\n props.enableRowSelection,\n props.enableSelectAll,\n props.localization,\n table,\n ],\n );\n\n const columns = useMemo(\n () => [\n ...displayColumns,\n ...props.columns.map((column) =>\n column.columns\n ? createGroup(table, column as any, currentFilterFns)\n : createDataColumn(table, column as any, currentFilterFns),\n ),\n ],\n [table, props.columns, currentFilterFns],\n );\n\n const data: D[] = useMemo(\n () =>\n (props.state?.isLoading || props.state?.showSkeletons) &&\n !props.data.length\n ? [...Array(10).fill(null)].map(() =>\n Object.assign(\n {},\n ...getAllLeafColumnDefs(props.columns as MRT_ColumnDef[]).map(\n (c) => ({\n [c.id]: null,\n }),\n ),\n ),\n )\n : props.data,\n [props.data, props.state?.isLoading, props.state?.showSkeletons],\n );\n\n //@ts-ignore\n const tableInstance = {\n //@ts-ignore\n ...useTableInstance(table, {\n ...props,\n //@ts-ignore\n columns,\n data,\n //@ts-ignore\n globalFilterFn: currentGlobalFilterFn,\n state: {\n currentEditingCell,\n currentEditingRow,\n currentFilterFns,\n currentGlobalFilterFn,\n isDensePadding,\n isFullScreen,\n showFilters,\n showGlobalFilter,\n ...props.state,\n } as TableState,\n }),\n setCurrentEditingCell,\n setCurrentEditingRow,\n setCurrentFilterFns,\n setCurrentGlobalFilterFn,\n setIsDensePadding,\n setIsFullScreen,\n setShowFilters,\n setShowGlobalFilter,\n } as MRT_TableInstance;\n\n useEffect(() => {\n if (typeof window === 'undefined' || !props.enablePersistentState) {\n return;\n }\n if (!props.tableId && process.env.NODE_ENV !== 'production') {\n console.warn(\n 'a unique tableId prop is required for persistent table state to work',\n );\n return;\n }\n const itemArgs: [string, string] = [\n `mrt-${tableId}-table-state`,\n JSON.stringify(tableInstance.getState()),\n ];\n if (props.persistentStateMode === 'localStorage') {\n localStorage.setItem(...itemArgs);\n } else if (props.persistentStateMode === 'sessionStorage') {\n sessionStorage.setItem(...itemArgs);\n }\n }, [\n props.enablePersistentState,\n props.tableId,\n props.persistentStateMode,\n tableInstance,\n ]);\n\n return (\n <>\n <Dialog\n PaperComponent={Box}\n TransitionComponent={Grow}\n disablePortal\n fullScreen\n keepMounted={false}\n onClose={() => setIsFullScreen(false)}\n open={isFullScreen}\n transitionDuration={400}\n >\n <MRT_TablePaper tableInstance={tableInstance} />\n </Dialog>\n {!isFullScreen && <MRT_TablePaper tableInstance={tableInstance} />}\n </>\n );\n};\n","import React, {\n ChangeEvent,\n Dispatch,\n FC,\n FocusEvent,\n MouseEvent,\n ReactNode,\n SetStateAction,\n} from 'react';\nimport {\n AlertProps,\n ButtonProps,\n CheckboxProps,\n IconButtonProps,\n LinearProgressProps,\n PaperProps,\n SkeletonProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableFooterProps,\n TableHeadProps,\n TablePaginationProps,\n TableProps,\n TableRowProps,\n TextFieldProps,\n ToolbarProps,\n} from '@mui/material';\nimport {\n Cell,\n Column,\n ColumnDef,\n FilterFn,\n FilterFnOption,\n Header,\n HeaderGroup,\n Overwrite,\n ReactTableGenerics,\n Row,\n TableGenerics,\n TableInstance,\n TableState,\n UseTableInstanceOptions,\n VisibilityState,\n} from '@tanstack/react-table';\nimport { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';\nimport { MRT_Default_Icons, MRT_Icons } from './icons';\nimport { MRT_FILTER_OPTION } from './enums';\nimport { MRT_TableRoot } from './table/MRT_TableRoot';\n\nexport type MRT_TableOptions<D extends Record<string, any> = {}> = Partial<\n Omit<\n UseTableInstanceOptions<ReactTableGenerics>,\n 'columns' | 'data' | 'initialState' | 'state' | 'expandRowsFn' | 'filterFns'\n >\n> & {\n columns: MRT_ColumnDef<D>[];\n data: D[];\n expandRowsFn?: (dataRow: D) => D[];\n filterFns?: MRT_FILTER_OPTION | FilterFn<D> | string | number | symbol;\n initialState?: Partial<MRT_TableState<D>>;\n state?: Partial<MRT_TableState<D>>;\n};\n\nexport interface MRT_RowModel<D extends Record<string, any> = {}> {\n flatRows: MRT_Row<D>[];\n rows: MRT_Row<D>[];\n rowsById: { [key: string]: MRT_Row<D> };\n}\n\nexport type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<\n TableInstance<\n Overwrite<\n Partial<TableGenerics>,\n {\n Row: D;\n }\n >\n >,\n | 'getAllColumns'\n | 'getAllFlatColumns'\n | 'getAllLeafColumns'\n | 'getCenterLeafColumns'\n | 'getColumn'\n | 'getExpandedRowModel'\n | 'getFlatHeaders'\n | 'getLeftLeafColumns'\n | 'getPaginationRowModel'\n | 'getPrePaginationRowModel'\n | 'getRightLeafColumns'\n | 'getRowModel'\n | 'getSelectedRowModel'\n | 'getState'\n | 'options'\n> & {\n getAllColumns: () => MRT_Column<D>[];\n getAllFlatColumns: () => MRT_Column<D>[];\n getAllLeafColumns: () => MRT_Column<D>[];\n getCenterLeafColumns: () => MRT_Column<D>[];\n getColumn: (columnId: string) => MRT_Column<D>;\n getExpandedRowModel: () => MRT_RowModel<D>;\n getFlatHeaders: () => MRT_Header<D>[];\n getLeftLeafColumns: () => MRT_Column<D>[];\n getPaginationRowModel: () => MRT_RowModel<D>;\n getPrePaginationRowModel: () => MRT_RowModel<D>;\n getRightLeafColumns: () => MRT_Column<D>[];\n getRowModel: () => MRT_RowModel<D>;\n getSelectedRowModel: () => MRT_RowModel<D>;\n getState: () => MRT_TableState<D>;\n options: MaterialReactTableProps<D> & {\n icons: MRT_Icons;\n tableId: string;\n localization: MRT_Localization;\n };\n setCurrentEditingCell: Dispatch<SetStateAction<MRT_Cell | null>>;\n setCurrentEditingRow: Dispatch<SetStateAction<MRT_Row | null>>;\n setCurrentFilterFns: Dispatch<\n SetStateAction<{\n [key: string]: MRT_FilterFn;\n }>\n >;\n setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn<D>>>;\n setIsDensePadding: Dispatch<SetStateAction<boolean>>;\n setIsFullScreen: Dispatch<SetStateAction<boolean>>;\n setShowFilters: Dispatch<SetStateAction<boolean>>;\n setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;\n};\n\nexport type MRT_TableState<D extends Record<string, any> = {}> = TableState & {\n currentEditingCell: MRT_Cell<D> | null;\n currentEditingRow: MRT_Row<D> | null;\n currentFilterFns: Record<string, string | Function>;\n currentGlobalFilterFn: Record<string, string | Function>;\n isDensePadding: boolean;\n isLoading: boolean;\n isFullScreen: boolean;\n showFilters: boolean;\n showGlobalFilter: boolean;\n showProgressBars: boolean;\n showSkeletons: boolean;\n};\n\nexport type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<\n ColumnDef<D>,\n 'accessorFN' | 'header' | 'footer' | 'columns' | 'filterFn'\n> & {\n Cell?: ({\n cell,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Edit?: ({\n cell,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Filter?: ({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n Footer?:\n | ReactNode\n | (({\n footer,\n tableInstance,\n }: {\n footer: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode);\n Header?:\n | ReactNode\n | (({\n header,\n tableInstance,\n }: {\n header: MRT_Header<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode);\n accessorFN?: (row: D) => any;\n columns?: MRT_ColumnDef<D>[];\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableColumnOrdering?: boolean;\n enableEditing?: boolean;\n enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];\n filterFn?: MRT_FilterFn;\n filterSelectOptions?: (string | { text: string; value: string })[];\n footer?: string;\n header: string;\n id: keyof D | string;\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n onMrtCellEditBlur?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: FocusEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtCellEditChange?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtFilterValueChange?: ({\n column,\n event,\n filterValue,\n }: {\n column: MRT_Column<D>;\n event: ChangeEvent<HTMLInputElement>;\n filterValue: any;\n }) => void;\n};\n\nexport type MRT_Column<D extends Record<string, any> = {}> = Omit<\n Column<D>,\n 'header' | 'footer' | 'columns'\n> & {\n columns?: MRT_Column<D>[];\n columnDef: MRT_ColumnDef<D>;\n header: string;\n footer: string;\n};\n\nexport type MRT_Header<D extends Record<string, any> = {}> = Omit<\n Header<D>,\n 'column'\n> & {\n column: MRT_Column<D>;\n};\n\nexport type MRT_HeaderGroup<D extends Record<string, any> = {}> = Omit<\n HeaderGroup<D>,\n 'headers'\n> & {\n headers: MRT_Header<D>[];\n};\n\nexport type MRT_Row<D extends Record<string, any> = {}> = Omit<\n Row<D>,\n 'getVisibleCells' | 'getAllCells' | 'subRows' | 'original' | '_valuesCache'\n> & {\n getAllCells: () => MRT_Cell<D>[];\n getVisibleCells: () => MRT_Cell<D>[];\n subRows?: MRT_Row<D>[];\n original: D;\n _valuesCache?: D;\n};\n\nexport type MRT_Cell<D extends Record<string, any> = {}> = Omit<\n Cell<D>,\n 'column' | 'row'\n> & {\n column: MRT_Column<D>;\n row: MRT_Row<D>;\n};\n\nexport type MRT_FilterFn<D extends Record<string, any> = {}> =\n | FilterFn<TableGenerics>\n | FilterFnOption<D>\n | MRT_FILTER_OPTION\n | number\n | string\n | symbol;\n\nexport type MaterialReactTableProps<D extends Record<string, any> = {}> =\n MRT_TableOptions<D> & {\n editingMode?: 'table' | 'row' | 'cell';\n enableClickToCopy?: boolean;\n enableColumnActions?: boolean;\n enableColumnOrdering?: boolean;\n enableDensePaddingToggle?: boolean;\n enableEditing?: boolean;\n enableExpandAll?: boolean;\n enableFullScreenToggle?: boolean;\n enablePagination?: boolean;\n enablePersistentState?: boolean;\n enableRowActions?: boolean;\n enableRowNumbers?: boolean;\n enableRowVirtualization?: boolean;\n enableSelectAll?: boolean;\n enableStickyHeader?: boolean;\n enableTableFooter?: boolean;\n enableTableHead?: boolean;\n enableToolbarBottom?: boolean;\n enableToolbarInternalActions?: boolean;\n enableToolbarTop?: boolean;\n enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];\n enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[];\n icons?: Partial<MRT_Icons>;\n localization?: Partial<MRT_Localization>;\n muiLinearProgressProps?:\n | LinearProgressProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => LinearProgressProps);\n muiSearchTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TextFieldProps);\n muiSelectCheckboxProps?:\n | CheckboxProps\n | (({\n tableInstance,\n isSelectAll,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n isSelectAll: boolean;\n row?: MRT_Row<D>;\n }) => CheckboxProps);\n muiTableBodyCellCopyButtonProps?:\n | ButtonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => ButtonProps);\n muiTableBodyCellEditTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TextFieldProps);\n muiTableBodyCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => TableCellProps);\n muiTableBodyCellSkeletonProps?:\n | SkeletonProps\n | (({\n tableInstance,\n cell,\n }: {\n tableInstance: MRT_TableInstance;\n cell: MRT_Cell<D>;\n }) => SkeletonProps);\n muiTableBodyProps?:\n | TableBodyProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableBodyProps);\n muiTableBodyRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableRowProps);\n muiTableContainerProps?:\n | TableContainerProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableContainerProps);\n muiTableDetailPanelProps?:\n | TableCellProps\n | (({\n tableInstance,\n row,\n }: {\n tableInstance: MRT_TableInstance;\n row: MRT_Row<D>;\n }) => TableCellProps);\n muiTableFooterCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n muiTableFooterProps?:\n | TableFooterProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableFooterProps);\n muiTableFooterRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n footerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n footerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTableHeadCellColumnActionsButtonProps?:\n | IconButtonProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => IconButtonProps);\n muiTableHeadCellFilterTextFieldProps?:\n | TextFieldProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TextFieldProps);\n muiTableHeadCellProps?:\n | TableCellProps\n | (({\n tableInstance,\n column,\n }: {\n tableInstance: MRT_TableInstance;\n column: MRT_Column<D>;\n }) => TableCellProps);\n muiTableHeadProps?:\n | TableHeadProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableHeadProps);\n muiTableHeadRowProps?:\n | TableRowProps\n | (({\n tableInstance,\n headerGroup,\n }: {\n tableInstance: MRT_TableInstance;\n headerGroup: MRT_HeaderGroup<D>;\n }) => TableRowProps);\n muiTablePaginationProps?:\n | Partial<TablePaginationProps>\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => Partial<TablePaginationProps>);\n muiTablePaperProps?:\n | PaperProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => PaperProps);\n muiTableProps?:\n | TableProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => TableProps);\n muiTableToolbarAlertBannerProps?:\n | AlertProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => AlertProps);\n muiTableToolbarBottomProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n muiTableToolbarTopProps?:\n | ToolbarProps\n | (({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance;\n }) => ToolbarProps);\n onMrtCellClick?: ({\n cell,\n event,\n tableInstance,\n }: {\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n event: MouseEvent<HTMLTableCellElement>;\n }) => void;\n onMrtCellEditBlur?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: FocusEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtCellEditChange?: ({\n cell,\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n cell: MRT_Cell<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtDetailPanelClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableCellElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtEditRowSubmit?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => Promise<void> | void;\n onMrtFilterValueChange?: ({\n column,\n event,\n filterValue,\n }: {\n column: MRT_Column<D>;\n event: ChangeEvent<HTMLInputElement>;\n filterValue: any;\n }) => void;\n onMrtGlobalFilterValueChange?: ({\n event,\n tableInstance,\n }: {\n event: ChangeEvent<HTMLInputElement>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtRowClick?: ({\n event,\n row,\n tableInstance,\n }: {\n event: MouseEvent<HTMLTableRowElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtRowExpandChange?: ({\n event,\n row,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtSelectAllChange?: ({\n event,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtSelectRowChange?: ({\n event,\n row,\n selectedRows,\n tableInstance,\n }: {\n event: ChangeEvent;\n row: MRT_Row<D>;\n selectedRows: MRT_Row<D>[];\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleColumnVisibility?: ({\n column,\n columnVisibility,\n tableInstance,\n }: {\n column: MRT_Column<D>;\n columnVisibility: VisibilityState;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleDensePadding?: ({\n event,\n isDensePadding,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n isDensePadding: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleFullScreen?: ({\n event,\n isFullScreen,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n isFullScreen: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleShowFilters?: ({\n event,\n showFilters,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n showFilters: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n onMrtToggleShowGlobalFilter?: ({\n event,\n showGlobalFilter,\n tableInstance,\n }: {\n event: MouseEvent<HTMLButtonElement>;\n showGlobalFilter: boolean;\n tableInstance: MRT_TableInstance<D>;\n }) => void;\n persistentStateMode?: 'localStorage' | 'sessionStorage';\n positionActionsColumn?: 'first' | 'last';\n positionPagination?: 'bottom' | 'top' | 'both';\n positionGlobalFilter?: 'left' | 'right';\n positionToolbarActions?: 'bottom' | 'top';\n positionToolbarAlertBanner?: 'bottom' | 'top';\n renderDetailPanel?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderRowActionMenuItems?: ({\n closeMenu,\n row,\n tableInstance,\n }: {\n closeMenu: () => void;\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode[];\n renderRowActions?: ({\n row,\n tableInstance,\n }: {\n row: MRT_Row<D>;\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarCustomActions?: ({\n tableInstance,\n }: {\n tableInstance: MRT_TableInstance<D>;\n }) => ReactNode;\n renderToolbarInternalActions?: ({\n tableInstance,\n MRT_ToggleGlobalFilterButton,\n MRT_ToggleFiltersButton,\n MRT_ShowHideColumnsButton,\n MRT_ToggleDensePaddingButton,\n MRT_FullScreenToggleButton,\n }: {\n tableInstance: MRT_TableInstance<D>;\n MRT_ToggleGlobalFilterButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleFiltersButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ShowHideColumnsButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_ToggleDensePaddingButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n MRT_FullScreenToggleButton: FC<\n IconButtonProps & { tableInstance: MRT_TableInstance<D> }\n >;\n }) => ReactNode;\n rowNumberMode?: 'original' | 'static';\n selectAllMode?: 'all' | 'page';\n tableId?: string;\n };\n\nexport default <D extends Record<string, any> = {}>({\n autoResetExpanded = false,\n columnResizeMode = 'onEnd',\n defaultColumn = { minSize: 30, maxSize: 1000, size: 180 },\n editingMode = 'row',\n enableColumnActions = true,\n enableColumnFilters = true,\n enableColumnOrdering = false,\n enableColumnResizing = false,\n enableDensePaddingToggle = true,\n enableExpandAll = true,\n enableFilters = true,\n enableFullScreenToggle = true,\n enableGlobalFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableMultiRowSelection = true,\n enablePagination = true,\n enablePinning = false,\n enableSelectAll = true,\n enableSorting = true,\n enableStickyHeader = true,\n enableTableFooter = true,\n enableTableHead = true,\n enableToolbarBottom = true,\n enableToolbarInternalActions = true,\n enableToolbarTop = true,\n icons,\n localization,\n persistentStateMode = 'sessionStorage',\n positionActionsColumn = 'first',\n positionPagination = 'bottom',\n positionGlobalFilter = 'right',\n positionToolbarActions = 'top',\n positionToolbarAlertBanner = 'top',\n rowNumberMode = 'original',\n selectAllMode = 'all',\n ...rest\n}: MaterialReactTableProps<D>) => (\n <MRT_TableRoot\n autoResetExpanded={autoResetExpanded}\n columnResizeMode={columnResizeMode}\n defaultColumn={defaultColumn}\n editingMode={editingMode}\n enableColumnActions={enableColumnActions}\n enableColumnFilters={enableColumnFilters}\n enableColumnOrdering={enableColumnOrdering}\n enableColumnResizing={enableColumnResizing}\n enableDensePaddingToggle={enableDensePaddingToggle}\n enableExpandAll={enableExpandAll}\n enableFilters={enableFilters}\n enableFullScreenToggle={enableFullScreenToggle}\n enableGlobalFilter={enableGlobalFilter}\n enableGrouping={enableGrouping}\n enableHiding={enableHiding}\n enableMultiRowSelection={enableMultiRowSelection}\n enablePagination={enablePagination}\n enablePinning={enablePinning}\n enableSelectAll={enableSelectAll}\n enableSorting={enableSorting}\n enableStickyHeader={enableStickyHeader}\n enableTableFooter={enableTableFooter}\n enableTableHead={enableTableHead}\n enableToolbarBottom={enableToolbarBottom}\n enableToolbarInternalActions={enableToolbarInternalActions}\n enableToolbarTop={enableToolbarTop}\n icons={{ ...MRT_Default_Icons, ...icons }}\n localization={{ ...MRT_DefaultLocalization_EN, ...localization }}\n persistentStateMode={persistentStateMode}\n positionActionsColumn={positionActionsColumn}\n positionGlobalFilter={positionGlobalFilter}\n positionPagination={positionPagination}\n positionToolbarActions={positionToolbarActions}\n positionToolbarAlertBanner={positionToolbarAlertBanner}\n rowNumberMode={rowNumberMode}\n selectAllMode={selectAllMode}\n {...rest}\n />\n);\n"],"names":["MRT_DefaultLocalization_EN","actions","and","cancel","changeFilterMode","changeSearchMode","clearFilter","clearSearch","clearSort","clickToCopy","columnActions","copiedToClipboard","edit","expand","expandAll","filterBetween","filterByColumn","filterContains","filterEmpty","filterEndsWith","filterEquals","filterFuzzy","filterGreaterThan","filterLessThan","filterMode","filterNotEmpty","filterNotEquals","filterStartsWith","filteringByColumn","grab","groupByColumn","groupedBy","hideAll","hideColumn","max","min","pinToLeft","pinToRight","resetColumnSize","resetOrder","rowActions","rowNumber","rowNumbers","save","search","selectedCountOfRowCountRowsSelected","select","showAll","showAllColumns","showHideColumns","showHideFilters","showHideSearch","sortByColumnAsc","sortByColumnDesc","sortedByColumnAsc","sortedByColumnDesc","thenBy","to","toggleDensePadding","toggleFullScreen","toggleSelectAll","toggleSelectRow","ungroupByColumn","unpin","unpinAll","unsorted","MRT_Default_Icons","ArrowRightIcon","ArrowRight","CancelIcon","Cancel","CheckBoxIcon","CheckBox","ClearAllIcon","ClearAll","CloseIcon","Close","DensityMediumIcon","DensityMedium","DensitySmallIcon","DensitySmall","KeyboardDoubleArrowDownIcon","KeyboardDoubleArrowDown","DragHandleIcon","DragHandle","DynamicFeedIcon","DynamicFeed","EditIcon","Edit","ExpandLessIcon","ExpandLess","ExpandMoreIcon","ExpandMore","FilterAltIcon","FilterAlt","FilterAltOffIcon","FilterAltOff","FilterListIcon","FilterList","FilterListOffIcon","FilterListOff","FullscreenExitIcon","FullscreenExit","FullscreenIcon","Fullscreen","MoreHorizIcon","MoreHoriz","MoreVertIcon","MoreVert","PushPinIcon","PushPin","RestartAltIcon","RestartAlt","SaveIcon","Save","SearchIcon","Search","SearchOffIcon","SearchOff","SortIcon","Sort","ViewColumnIcon","ViewColumn","VisibilityOffIcon","VisibilityOff","MRT_ExpandAllButton","tableInstance","getIsAllRowsExpanded","getIsSomeRowsExpanded","getCanSomeRowsExpand","getState","options","icons","localization","renderDetailPanel","toggleAllRowsExpanded","isDensePadding","React","Tooltip","arrow","enterDelay","enterNextDelay","title","IconButton","disabled","onClick","sx","height","width","style","transform","transition","MRT_ExpandButton","row","onMrtRowExpandChange","handleToggleExpand","event","toggleExpanded","getCanExpand","getIsExpanded","MRT_FILTER_OPTION","fuzzy","columnId","value","addMeta","itemRank","rankItem","getValue","threshold","rankings","MATCHES","passed","autoRemove","val","contains","id","filterValue","toString","toLowerCase","trim","includes","startsWith","endsWith","equals","notEquals","greaterThan","isNaN","lessThan","between","filterValues","undefined","empty","_filterValue","notEmpty","defaultFilterFNs","commonMenuItemStyles","py","my","alignItems","MRT_FilterOptionMenu","anchorEl","header","onSelect","setAnchorEl","enabledGlobalFilterOptions","setCurrentFilterFns","setCurrentGlobalFilterFn","currentFilterFns","currentGlobalFilterFn","column","columnDef","filterOptions","useMemo","option","FUZZY","label","divider","fn","CONTAINS","STARTS_WITH","ENDS_WITH","EQUALS","NOT_EQUALS","BETWEEN","GREATER_THAN","LESS_THAN","EMPTY","NOT_EMPTY","filter","filterType","enabledColumnFilterOptions","handleSelectFilterType","prev","setFilterValue","filterOption","Menu","anchorOrigin","vertical","horizontal","onClose","open","MenuListProps","dense","map","index","MenuItem","key","selected","MRT_ColumnPinningButtons","handlePinColumn","pinDirection","pin","Box","minWidth","textAlign","getIsPinned","size","MRT_GrabHandleButton","forwardRef","ref","placement","disableRipple","cursor","m","opacity","p","backgroundColor","getAllLeafColumnDefs","columns","lowestLevelColumns","currentCols","length","some","col","nextCols","flat","every","createGroup","table","createDataColumn","filterFn","Function","createDisplayColumn","reorderColumn","movingColumn","receivingColumn","columnOrder","setColumnOrder","getCanPin","splice","indexOf","MRT_ShowHideColumnsMenuItems","allColumns","isSubMenu","enableColumnOrdering","onMrtToggleColumnVisibility","columnVisibility","columnDefType","useDrop","accept","drop","dropRef","useDrag","collect","monitor","isDragging","item","type","dragRef","previewRef","switchChecked","getIsVisible","getLeafColumns","handleToggleColumnHidden","forEach","childColumn","toggleVisibility","justifyContent","pl","depth","display","flexWrap","gap","FormControlLabel","componentsProps","typography","mb","checked","control","Switch","getCanHide","getIsGrouped","onChange","c","i","MRT_ShowHideColumnsMenu","getAllColumns","getAllLeafColumns","getCenterLeafColumns","getIsAllColumnsVisible","getIsSomeColumnsPinned","getIsSomeColumnsVisible","getLeftLeafColumns","getRightLeafColumns","toggleAllColumnsVisible","enablePinning","columnPinning","hideAllColumns","enableHiding","Array","from","Set","colId","find","Boolean","pt","Button","resetColumnOrder","resetColumnPinning","Divider","commonListItemStyles","MRT_ColumnActionMenu","enableColumnFilters","enableColumnResizing","enableGrouping","enableSorting","tableId","setShowFilters","columnSizing","useState","filterMenuAnchorEl","setFilterMenuAnchorEl","showHideColumnsMenuAnchorEl","setShowHideColumnsMenuAnchorEl","handleClearSort","clearSorting","handleSortAsc","toggleSorting","handleSortDesc","handleResetColumnSize","resetSize","handleHideColumn","handleGroupByColumn","toggleGrouping","old","handleClearFilter","handleFilterByColumn","setTimeout","document","getElementById","muiTableHeadCellFilterTextFieldProps","focus","handleShowAllColumns","handleOpenFilterModeMenu","stopPropagation","currentTarget","handleOpenShowHideColumnsMenu","getCanSort","getIsSorted","ListItemIcon","replace","String","getCanFilter","getFilterValue","filterSelectOptions","onMouseEnter","getCanGroup","getCanResize","Object","values","visible","MRT_RowActionMenu","handleEdit","enableEditing","renderRowActionMenuItems","closeMenu","MRT_EditActionButtons","onMrtEditRowSubmit","setCurrentEditingRow","currentEditingRow","handleCancel","_valuesCache","original","handleSave","color","commonIconButtonStyles","ml","MRT_ToggleRowActionMenuButton","renderRowActions","handleOpenRowActionMenu","preventDefault","handleStartEditMode","MRT_SelectCheckbox","selectAll","getRowModel","getSelectedRowModel","muiSelectCheckboxProps","onMrtSelectRowChange","onMrtSelectAllChange","selectAllMode","handleSelectChange","getToggleAllRowsSelectedHandler","getToggleAllPageRowsSelectedHandler","selectedRows","target","flatRows","getToggleSelectedHandler","selectedRow","checkboxProps","isSelectAll","Checkbox","getIsAllRowsSelected","getIsSelected","indeterminate","getIsSomeRowsSelected","getIsSomeSelected","inputProps","MRT_FullScreenToggleButton","rest","onMrtToggleFullScreen","setIsFullScreen","isFullScreen","handleToggleFullScreen","MRT_ShowHideColumnsButton","handleClick","MRT_ToggleDensePaddingButton","onMrtToggleDensePadding","setIsDensePadding","handleToggleDensePadding","MRT_ToggleFiltersButton","onMrtToggleShowFilters","showFilters","handleToggleShowFilters","MRT_ToggleGlobalFilterButton","muiSearchTextFieldProps","onMrtToggleShowGlobalFilter","setShowGlobalFilter","showGlobalFilter","textFieldProps","handleToggleSearch","MRT_SearchTextField","setGlobalFilter","onMrtGlobalFilterValueChange","globalFilter","searchValue","setSearchValue","handleChange","useCallback","debounce","handleGlobalFilterMenuOpen","handleClear","Collapse","orientation","TextField","placeholder","variant","InputProps","startAdornment","InputAdornment","position","endAdornment","justifySelf","MRT_ToolbarInternalButtons","enableDensePaddingToggle","enableFilters","enableFullScreenToggle","enableGlobalFilter","positionGlobalFilter","renderToolbarInternalActions","zIndex","MRT_TablePagination","getPrePaginationRowModel","setPageIndex","setPageSize","muiTablePaginationProps","pagination","pageSize","pageIndex","tablePaginationProps","handleChangeRowsPerPage","showFirstLastPageButtons","rows","TablePagination","SelectProps","MenuProps","disablePadding","component","count","onPageChange","_","newPage","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","showFirstButton","showLastButton","MRT_ToolbarAlertBanner","stackAlertBanner","muiTableToolbarAlertBannerProps","grouping","alertProps","selectMessage","groupedByMessage","Fragment","Chip","getColumn","onDelete","timeout","Alert","icon","borderRadius","fontSize","left","right","top","MRT_LinearProgressBar","alignTo","muiLinearProgressProps","isLoading","showProgressBars","linearProgressProps","mountOnEnter","unmountOnExit","bottom","LinearProgress","commonToolbarStyles","theme","lighten","palette","background","backgroundImage","minHeight","overflow","MRT_ToolbarTop","enablePagination","enableToolbarInternalActions","muiTableToolbarTopProps","positionPagination","positionToolbarActions","positionToolbarAlertBanner","renderToolbarCustomActions","isMobile","useMediaQuery","toolbarProps","Toolbar","MRT_ToolbarBottom","muiTableToolbarBottomProps","boxShadow","alpha","common","black","MRT_FilterTextField","inputIndex","mTableHeadCellFilterTextFieldProps","mcTableHeadCellFilterTextFieldProps","handleChangeDebounced","newFilterValues","handleFilterMenuOpen","handleClearFilterChip","Filter","filterId","isSelectFilter","filterChipLabel","charAt","toUpperCase","slice","filterPlaceholder","fullWidth","textOverflow","helperText","htmlFor","name","FormHelperTextProps","lineHeight","whiteSpace","margin","e","disableHoverListener","mt","mr","text","MRT_FilterRangeFields","gridTemplateColumns","MRT_TableHeadCellFilterContainer","MRT_TableHeadCellFilterLabel","filterTooltip","isArray","join","MRT_TableHeadCellResizeHandle","flexItem","onDoubleClick","borderRightWidth","touchAction","getIsResizing","userSelect","info","main","onMouseDown","getResizeHandler","onTouchStart","columnSizingInfo","deltaOffset","MRT_TableHeadCellSortLabel","sortTooltip","TableSortLabel","active","direction","MRT_ToggleColumnActionMenuButton","muiTableHeadCellColumnActionsButtonProps","mTableHeadCellColumnActionsButtonProps","mcTableHeadCellColumnActionsButtonProps","iconButtonProps","MRT_TableHeadCell","enableColumnActions","muiTableHeadCellProps","mTableHeadCellProps","mcTableHeadCellProps","tableCellProps","headerElement","Header","renderHeader","getIsLastLeftPinnedColumn","getLeftLeafHeaders","getPinnedIndex","getIsFirstRightPinnedColumn","getTotalRight","getRightLeafHeaders","TableCell","align","colSpan","fontWeight","getStart","pb","verticalAlign","maxWidth","getSize","minSize","isPlaceholder","MRT_DraggableTableHeadCell","MRT_TableHeadRow","headerGroup","muiTableHeadRowProps","tableRowProps","TableRow","headers","MRT_TableHead","getHeaderGroups","muiTableHeadProps","tableHeadProps","TableHead","MRT_EditCellTextField","cell","muiTableBodyCellEditTextFieldProps","onMrtCellEditBlur","onMrtCellEditChange","setCurrentEditingCell","setValue","handleBlur","mTableBodyCellEditTextFieldProps","mcTableBodyCellEditTextFieldProps","onBlur","MRT_CopyButton","children","muiTableBodyCellCopyButtonProps","copied","setCopied","handleCopy","navigator","clipboard","writeText","mTableBodyCellCopyButtonProps","mcTableBodyCellCopyButtonProps","buttonProps","border","fontFamily","letterSpacing","textTransform","MRT_TableBodyCell","enableHover","rowIndex","editingMode","enableClickToCopy","enableRowNumbers","muiTableBodyCellProps","muiTableBodyCellSkeletonProps","onMrtCellClick","rowNumberMode","currentEditingCell","showSkeletons","mTableCellBodyProps","mcTableCellBodyProps","skeletonWidth","Math","random","isEditable","isEditing","handleDoubleClick","_event","textField","mode","darken","Skeleton","animation","Cell","getIsPlaceholder","groupingColumnId","getIsAggregated","renderAggregatedCell","renderCell","subRows","MRT_TableDetailPanel","getVisibleFlatColumns","muiTableBodyRowProps","muiTableDetailPanelProps","onMrtDetailPanelClick","borderBottom","MRT_TableBodyRow","onMrtRowClick","hover","getVisibleCells","MRT_TableBody","tableContainerRef","getPaginationRowModel","enableRowVirtualization","muiTableBodyProps","tableBodyProps","rowVirtualizer","useVirtual","overscan","parentRef","virtualRows","virtualItems","paddingTop","start","paddingBottom","totalSize","end","TableBody","rowOrVirtualRow","MRT_TableFooterCell","footer","muiTableFooterCellProps","mTableFooterCellProps","mcTableFooterCellProps","white","Footer","renderFooter","MRT_TableFooterRow","footerGroup","muiTableFooterRowProps","MRT_TableFooter","getFooterGroups","muiTableFooterProps","tableFooterProps","TableFooter","MRT_Table","enableStickyHeader","enableTableFooter","enableTableHead","muiTableProps","tableProps","Table","stickyHeader","tableLayout","useIsomorphicLayoutEffect","window","useLayoutEffect","useEffect","MRT_TableContainer","muiTableContainerProps","totalToolbarHeight","setTotalToolbarHeight","tableContainerProps","topToolbarHeight","offsetHeight","bottomToolbarHeight","useRef","TableContainer","maxHeight","MRT_TablePaper","enableToolbarBottom","enableToolbarTop","muiTablePaperProps","body","tablePaperProps","DndProvider","backend","HTML5Backend","Paper","elevation","padding","MRT_TableRoot","props","setIdPrefix","substring","showActionColumn","enableRowActions","showExpandColumn","enableExpanding","initialState","initState","enableRowSelection","enablePersistentState","process","env","NODE_ENV","console","error","storedState","persistentStateMode","localStorage","getItem","sessionStorage","parsedState","JSON","parse","assign","globalFilterFn","createTable","setOptions","filterFns","getCoreRowModel","getExpandedRowModel","getFacetedRowModel","getFilteredRowModel","getGroupedRowModel","getSortedRowModel","getSubRows","displayColumns","enableExpandAll","enableSelectAll","data","state","fill","useTableInstance","warn","itemArgs","stringify","setItem","Dialog","PaperComponent","TransitionComponent","Grow","disablePortal","fullScreen","keepMounted","transitionDuration","autoResetExpanded","columnResizeMode","defaultColumn","maxSize","enableMultiRowSelection","positionActionsColumn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEO,IAAMA,0BAA0B,GAAqB;EAC1DC,OAAO,EAAE,SADiD;EAE1DC,GAAG,EAAE,KAFqD;EAG1DC,MAAM,EAAE,QAHkD;EAI1DC,gBAAgB,EAAE,oBAJwC;EAK1DC,gBAAgB,EAAE,oBALwC;EAM1DC,WAAW,EAAE,cAN6C;EAO1DC,WAAW,EAAE,cAP6C;EAQ1DC,SAAS,EAAE,YAR+C;EAS1DC,WAAW,EAAE,eAT6C;EAU1DC,aAAa,EAAE,gBAV2C;EAW1DC,iBAAiB,EAAE,qBAXuC;EAY1DC,IAAI,EAAE,MAZoD;EAa1DC,MAAM,EAAE,QAbkD;EAc1DC,SAAS,EAAE,YAd+C;EAe1DC,aAAa,EAAE,SAf2C;EAgB1DC,cAAc,EAAE,oBAhB0C;EAiB1DC,cAAc,EAAE,UAjB0C;EAkB1DC,WAAW,EAAE,OAlB6C;EAmB1DC,cAAc,EAAE,WAnB0C;EAoB1DC,YAAY,EAAE,QApB4C;EAqB1DC,WAAW,EAAE,OArB6C;EAsB1DC,iBAAiB,EAAE,cAtBuC;EAuB1DC,cAAc,EAAE,WAvB0C;EAwB1DC,UAAU,EAAE,2BAxB8C;EAyB1DC,cAAc,EAAE,WAzB0C;EA0B1DC,eAAe,EAAE,YA1ByC;EA2B1DC,gBAAgB,EAAE,aA3BwC;EA4B1DC,iBAAiB,EAAE,oDA5BuC;EA6B1DC,IAAI,EAAE,MA7BoD;EA8B1DC,aAAa,EAAE,mBA9B2C;EA+B1DC,SAAS,EAAE,aA/B+C;EAgC1DC,OAAO,EAAE,UAhCiD;EAiC1DC,UAAU,EAAE,sBAjC8C;EAkC1DC,GAAG,EAAE,KAlCqD;EAmC1DC,GAAG,EAAE,KAnCqD;EAoC1DC,SAAS,EAAE,aApC+C;EAqC1DC,UAAU,EAAE,cArC8C;EAsC1DC,eAAe,EAAE,mBAtCyC;EAuC1DC,UAAU,EAAE,aAvC8C;EAwC1DC,UAAU,EAAE,aAxC8C;EAyC1DC,SAAS,EAAE,GAzC+C;EA0C1DC,UAAU,EAAE,aA1C8C;EA2C1DC,IAAI,EAAE,MA3CoD;EA4C1DC,MAAM,EAAE,QA5CkD;EA6C1DC,mCAAmC,EACjC,+CA9CwD;EA+C1DC,MAAM,EAAE,QA/CkD;EAgD1DC,OAAO,EAAE,UAhDiD;EAiD1DC,cAAc,EAAE,kBAjD0C;EAkD1DC,eAAe,EAAE,mBAlDyC;EAmD1DC,eAAe,EAAE,mBAnDyC;EAoD1DC,cAAc,EAAE,kBApD0C;EAqD1DC,eAAe,EAAE,4BArDyC;EAsD1DC,gBAAgB,EAAE,6BAtDwC;EAuD1DC,iBAAiB,EAAE,8BAvDuC;EAwD1DC,kBAAkB,EAAE,+BAxDsC;EAyD1DC,MAAM,EAAE,YAzDkD;EA0D1DC,EAAE,EAAE,IA1DsD;EA2D1DC,kBAAkB,EAAE,sBA3DsC;EA4D1DC,gBAAgB,EAAE,oBA5DwC;EA6D1DC,eAAe,EAAE,mBA7DyC;EA8D1DC,eAAe,EAAE,mBA9DyC;EA+D1DC,eAAe,EAAE,qBA/DyC;EAgE1DC,KAAK,EAAE,OAhEmD;EAiE1DC,QAAQ,EAAE,WAjEgD;EAkE1DC,QAAQ,EAAE;AAlEgD,CAArD;;ACJA,IAAMC,iBAAiB,GAAc;EAC1CC,cAAc,EAAEC,UAD0B;EAE1CC,UAAU,EAAEC,MAF8B;EAG1CC,YAAY,EAAEC,QAH4B;EAI1CC,YAAY,EAAEC,QAJ4B;EAK1CC,SAAS,EAAEC,KAL+B;EAM1CC,iBAAiB,EAAEC,aANuB;EAO1CC,gBAAgB,EAAEC,YAPwB;EAQ1CC,2BAA2B,EAAEC,uBARa;EAS1CC,cAAc,EAAEC,UAT0B;EAU1CC,eAAe,EAAEC,WAVyB;EAW1CC,QAAQ,EAAEC,IAXgC;EAY1CC,cAAc,EAAEC,UAZ0B;EAa1CC,cAAc,EAAEC,UAb0B;EAc1CC,aAAa,EAAEC,SAd2B;EAe1CC,gBAAgB,EAAEC,YAfwB;EAgB1CC,cAAc,EAAEC,UAhB0B;EAiB1CC,iBAAiB,EAAEC,aAjBuB;EAkB1CC,kBAAkB,EAAEC,cAlBsB;EAmB1CC,cAAc,EAAEC,UAnB0B;EAoB1CC,aAAa,EAAEC,SApB2B;EAqB1CC,YAAY,EAAEC,QArB4B;EAsB1CC,WAAW,EAAEC,OAtB6B;EAuB1CC,cAAc,EAAEC,UAvB0B;EAwB1CC,QAAQ,EAAEC,IAxBgC;EAyB1CC,UAAU,EAAEC,MAzB8B;EA0B1CC,aAAa,EAAEC,SA1B2B;EA2B1CC,QAAQ,EAAEC,IA3BgC;EA4B1CC,cAAc,EAAEC,UA5B0B;EA6B1CC,iBAAiB,EAAEC;AA7BuB,CAArC;;ACxDA,IAAMC,mBAAmB,GAAc,SAAjCA,mBAAiC;MAAGC,qBAAAA;EAC/C,IACEC,oBADF,GAWID,aAXJ,CACEC,oBADF;MAEEC,qBAFF,GAWIF,aAXJ,CAEEE,qBAFF;MAGEC,oBAHF,GAWIH,aAXJ,CAGEG,oBAHF;MAIEC,QAJF,GAWIJ,aAXJ,CAIEI,QAJF;8BAWIJ,aAXJ,CAKEK,OALF;MAMalD,2BANb,yBAMImD,KANJ,CAManD,2BANb;MAOIoD,YAPJ,yBAOIA,YAPJ;MAQIC,iBARJ,yBAQIA,iBARJ;MAUEC,qBAVF,GAWIT,aAXJ,CAUES,qBAVF;;EAaA,gBAA2BL,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,OACEC,mBAAA,CAACC,OAAD;IACEC,KAAK;IACLC,UAAU,EAAE;IACZC,cAAc,EAAE;IAChBC,KAAK,EAAET,YAAY,CAACvH;GAJtB,EAME2H,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAACvH;IACzBkI,QAAQ,EAAE,CAACf,oBAAoB,EAArB,IAA2B,CAACK;IACtCW,OAAO,EAAE;MAAA,OAAMV,qBAAqB,CAAC,CAACR,oBAAoB,EAAtB,CAA3B;;IACTmB,EAAE,EAAE;MACFC,MAAM,EAAEX,cAAc,GAAG,SAAH,GAAe,SADnC;MAEFY,KAAK,EAAEZ,cAAc,GAAG,SAAH,GAAe;;GANxC,EASEC,mBAAA,CAACxD,2BAAD;IACEoE,KAAK,EAAE;MACLC,SAAS,eACPvB,oBAAoB,KAAK,CAAC,GAAN,GAAYC,qBAAqB,KAAK,CAAC,EAAN,GAAW,CADzD,UADJ;MAILuB,UAAU,EAAE;;GALhB,CATF,CANF,CADF;AA2BD,CA3CM;;ACCA,IAAMC,gBAAgB,GAAc,SAA9BA,gBAA8B;MAAGC,WAAAA;MAAK3B,qBAAAA;EACjD,IACEI,QADF,GAQIJ,aARJ,CACEI,QADF;8BAQIJ,aARJ,CAEEK,OAFF;MAGaxC,cAHb,yBAGIyC,KAHJ,CAGazC,cAHb;MAII0C,YAJJ,yBAIIA,YAJJ;MAKIqB,oBALJ,yBAKIA,oBALJ;MAMIpB,iBANJ,yBAMIA,iBANJ;;EAUA,gBAA2BJ,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,IAAMmB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD;IACzBH,GAAG,CAACI,cAAJ;IACAH,oBAAoB,QAApB,YAAAA,oBAAoB,CAAG;MAAEE,KAAK,EAALA,KAAF;MAASH,GAAG,EAAHA,GAAT;MAAc3B,aAAa,EAAbA;KAAjB,CAApB;GAFF;;EAKA,OACEW,mBAAA,CAACC,OAAD;IACEC,KAAK;IACLC,UAAU,EAAE;IACZC,cAAc,EAAE;IAChBC,KAAK,EAAET,YAAY,CAACxH;GAJtB,EAME4H,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAACxH;IACzBmI,QAAQ,EAAE,CAACS,GAAG,CAACK,YAAJ,EAAD,IAAuB,CAACxB;IAClCW,OAAO,EAAEU;IACTT,EAAE,EAAE;MACFC,MAAM,EAAEX,cAAc,GAAG,SAAH,GAAe,SADnC;MAEFY,KAAK,EAAEZ,cAAc,GAAG,SAAH,GAAe;;GANxC,EASEC,mBAAA,CAAC9C,cAAD;IACE0D,KAAK,EAAE;MACLC,SAAS,eACP,CAACG,GAAG,CAACK,YAAJ,EAAD,IAAuB,CAACxB,iBAAxB,GACI,CAAC,EADL,GAEImB,GAAG,CAACM,aAAJ,KACA,CAAC,GADD,GAEA,CALG,UADJ;MAQLR,UAAU,EAAE;;GAThB,CATF,CANF,CADF;AA+BD,CAjDM;;ACTP,IAAYS,iBAAZ;;AAAA,WAAYA;EACVA,4BAAA,YAAA;EACAA,6BAAA,aAAA;EACAA,0BAAA,UAAA;EACAA,8BAAA,aAAA;EACAA,2BAAA,WAAA;EACAA,0BAAA,UAAA;EACAA,iCAAA,gBAAA;EACAA,8BAAA,aAAA;EACAA,8BAAA,aAAA;EACAA,+BAAA,cAAA;EACAA,gCAAA,eAAA;AACD,CAZD,EAAYA,iBAAiB,KAAjBA,iBAAiB,KAAA,CAA7B;;ACGO,IAAMC,KAAK,GAAG,SAARA,KAAQ,CACnBR,GADmB,EAEnBS,QAFmB,EAGnBC,KAHmB,EAInBC,OAJmB;EAMnB,IAAMC,QAAQ,GAAGC,QAAQ,CAACb,GAAG,CAACc,QAAJ,CAAaL,QAAb,CAAD,EAAyBC,KAAzB,EAAgC;IACvDK,SAAS,EAAEC,QAAQ,CAACC;GADG,CAAzB;EAGAN,OAAO,CAACC,QAAD,CAAP;EACA,OAAOA,QAAQ,CAACM,MAAhB;AACD,CAXM;;AAaPV,KAAK,CAACW,UAAN,GAAmB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAnB;;AAEA,AAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CACtBrB,GADsB,EAEtBsB,EAFsB,EAGtBC,WAHsB;EAAA,OAKtBvB,GAAG,CACAc,QADH,CACYQ,EADZ,EAEGE,QAFH,GAGGC,WAHH,GAIGC,IAJH,GAKGC,QALH,CAKYJ,WAAW,CAACC,QAAZ,GAAuBC,WAAvB,GAAqCC,IAArC,EALZ,CALsB;AAAA,CAAjB;;AAYPL,QAAQ,CAACF,UAAT,GAAsB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAtB;;AAEA,AAAO,IAAMQ,UAAU,GAAG,SAAbA,UAAa,CACxB5B,GADwB,EAExBsB,EAFwB,EAGxBC,WAHwB;EAAA,OAKxBvB,GAAG,CACAc,QADH,CACYQ,EADZ,EAEGE,QAFH,GAGGC,WAHH,GAIGC,IAJH,GAKGE,UALH,CAKcL,WAAW,CAACC,QAAZ,GAAuBC,WAAvB,GAAqCC,IAArC,EALd,CALwB;AAAA,CAAnB;;AAYPE,UAAU,CAACT,UAAX,GAAwB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAxB;;AAEA,AAAO,IAAMS,QAAQ,GAAG,SAAXA,QAAW,CACtB7B,GADsB,EAEtBsB,EAFsB,EAGtBC,WAHsB;EAAA,OAKtBvB,GAAG,CACAc,QADH,CACYQ,EADZ,EAEGE,QAFH,GAGGC,WAHH,GAIGC,IAJH,GAKGG,QALH,CAKYN,WAAW,CAACC,QAAZ,GAAuBC,WAAvB,GAAqCC,IAArC,EALZ,CALsB;AAAA,CAAjB;;AAYPG,QAAQ,CAACV,UAAT,GAAsB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAtB;;AAEA,AAAO,IAAMU,MAAM,GAAG,SAATA,MAAS,CACpB9B,GADoB,EAEpBsB,EAFoB,EAGpBC,WAHoB;EAAA,OAKpBvB,GAAG,CAACc,QAAJ,CAAaQ,EAAb,EAAiBE,QAAjB,GAA4BC,WAA5B,GAA0CC,IAA1C,OACAH,WAAW,CAACC,QAAZ,GAAuBC,WAAvB,GAAqCC,IAArC,EANoB;AAAA,CAAf;;AAQPI,MAAM,CAACX,UAAP,GAAoB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAApB;;AAEA,AAAO,IAAMW,SAAS,GAAG,SAAZA,SAAY,CACvB/B,GADuB,EAEvBsB,EAFuB,EAGvBC,WAHuB;EAAA,OAKvBvB,GAAG,CAACc,QAAJ,CAAaQ,EAAb,EAAiBE,QAAjB,GAA4BC,WAA5B,GAA0CC,IAA1C,OACAH,WAAW,CAACC,QAAZ,GAAuBC,WAAvB,GAAqCC,IAArC,EANuB;AAAA,CAAlB;;AAQPK,SAAS,CAACZ,UAAV,GAAuB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAvB;;AAEA,AAAO,IAAMY,WAAW,GAAG,SAAdA,WAAc,CACzBhC,GADyB,EAEzBsB,EAFyB,EAGzBC,WAHyB;EAAA,OAKzB,CAACU,KAAK,CAAC,CAACV,WAAF,CAAN,IAAwB,CAACU,KAAK,CAAC,CAACjC,GAAG,CAACc,QAAJ,CAAaQ,EAAb,CAAF,CAA9B,GACI,CAACtB,GAAG,CAACc,QAAJ,CAAaQ,EAAb,CAAD,IAAqB,CAACC,WAD1B,GAEIvB,GAAG,CAACc,QAAJ,CAAaQ,EAAb,EAAiBE,QAAjB,GAA4BC,WAA5B,GAA0CC,IAA1C,KACAH,WAAW,CAACC,QAAZ,GAAuBC,WAAvB,GAAqCC,IAArC,EARqB;AAAA,CAApB;;AAUPM,WAAW,CAACb,UAAZ,GAAyB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAzB;;AAEA,AAAO,IAAMc,QAAQ,GAAG,SAAXA,QAAW,CACtBlC,GADsB,EAEtBsB,EAFsB,EAGtBC,WAHsB;EAAA,OAKtB,CAACU,KAAK,CAAC,CAACV,WAAF,CAAN,IAAwB,CAACU,KAAK,CAAC,CAACjC,GAAG,CAACc,QAAJ,CAAaQ,EAAb,CAAF,CAA9B,GACI,CAACtB,GAAG,CAACc,QAAJ,CAAaQ,EAAb,CAAD,IAAqB,CAACC,WAD1B,GAEIvB,GAAG,CAACc,QAAJ,CAAaQ,EAAb,EAAiBE,QAAjB,GAA4BC,WAA5B,GAA0CC,IAA1C,KACAH,WAAW,CAACC,QAAZ,GAAuBC,WAAvB,GAAqCC,IAArC,EARkB;AAAA,CAAjB;;AAUPQ,QAAQ,CAACf,UAAT,GAAsB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAtB;;AAEA,AAAO,IAAMe,OAAO,GAAG,SAAVA,OAAU,CACrBnC,GADqB,EAErBsB,EAFqB,EAGrBc,YAHqB;EAAA,OAKrB,CAAE,CAAC,EAAD,EAAKC,SAAL,EAA0BV,QAA1B,CAAmCS,YAAY,CAAC,CAAD,CAA/C,KACAJ,WAAW,CAAChC,GAAD,EAAMsB,EAAN,EAAUc,YAAY,CAAC,CAAD,CAAtB,CADb,MAEE,CAACH,KAAK,CAAC,CAACG,YAAY,CAAC,CAAD,CAAd,CAAN,IACA,CAACH,KAAK,CAAC,CAACG,YAAY,CAAC,CAAD,CAAd,CADN,IAEA,CAACA,YAAY,CAAC,CAAD,CAAb,GAAmB,CAACA,YAAY,CAAC,CAAD,CAFjC,IAGE,CAAC,EAAD,EAAKC,SAAL,EAA0BV,QAA1B,CAAmCS,YAAY,CAAC,CAAD,CAA/C,CAHF,IAICF,QAAQ,CAAClC,GAAD,EAAMsB,EAAN,EAAUc,YAAY,CAAC,CAAD,CAAtB,CANV,CALqB;AAAA,CAAhB;;AAaPD,OAAO,CAAChB,UAAR,GAAqB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAArB;;AAEA,AAAO,IAAMkB,KAAK,GAAG,SAARA,KAAQ,CACnBtC,GADmB,EAEnBsB,EAFmB,EAGnBiB,YAHmB;EAAA,OAIhB,CAACvC,GAAG,CAACc,QAAJ,CAAaQ,EAAb,EAAiBE,QAAjB,GAA4BE,IAA5B,EAJe;AAAA,CAAd;;AAMPY,KAAK,CAACnB,UAAN,GAAmB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAnB;;AAEA,AAAO,IAAMoB,QAAQ,GAAG,SAAXA,QAAW,CACtBxC,GADsB,EAEtBsB,EAFsB,EAGtBiB,YAHsB;EAAA,OAInB,CAAC,CAACvC,GAAG,CAACc,QAAJ,CAAaQ,EAAb,EAAiBE,QAAjB,GAA4BE,IAA5B,EAJiB;AAAA,CAAjB;;AAMPc,QAAQ,CAACrB,UAAT,GAAsB,UAACC,GAAD;EAAA,OAAc,CAACA,GAAf;AAAA,CAAtB;;AAEA,AAAO,IAAMqB,gBAAgB,GAAG;EAC9BN,OAAO,EAAPA,OAD8B;EAE9Bd,QAAQ,EAARA,QAF8B;EAG9BiB,KAAK,EAALA,KAH8B;EAI9BT,QAAQ,EAARA,QAJ8B;EAK9BC,MAAM,EAANA,MAL8B;EAM9BtB,KAAK,EAALA,KAN8B;EAO9BwB,WAAW,EAAXA,WAP8B;EAQ9BE,QAAQ,EAARA,QAR8B;EAS9BM,QAAQ,EAARA,QAT8B;EAU9BT,SAAS,EAATA,SAV8B;EAW9BH,UAAU,EAAVA;AAX8B,CAAzB;;ACrHP,IAAMc,oBAAoB,GAAG;EAC3BC,EAAE,EAAE,KADuB;EAE3BC,EAAE,EAAE,CAFuB;EAG3BC,UAAU,EAAE;AAHe,CAA7B;AAcA,AAAO,IAAMC,oBAAoB,GAAc,SAAlCA,oBAAkC;MAC7CC,gBAAAA;MACAC,cAAAA;MACAC,gBAAAA;MACAC,mBAAAA;MACA7E,qBAAAA;EAEA,IACEI,QADF,GAKIJ,aALJ,CACEI,QADF;8BAKIJ,aALJ,CAEEK,OAFF;MAEayE,0BAFb,yBAEaA,0BAFb;MAEyCvE,YAFzC,yBAEyCA,YAFzC;MAGEwE,mBAHF,GAKI/E,aALJ,CAGE+E,mBAHF;MAIEC,wBAJF,GAKIhF,aALJ,CAIEgF,wBAJF;;EAOA,gBACE5E,QAAQ,EADV;MAAQM,cAAR,aAAQA,cAAR;MAAwBuE,gBAAxB,aAAwBA,gBAAxB;MAA0CC,qBAA1C,aAA0CA,qBAA1C;;EAGA,YAAmBP,MAAnB,WAAmBA,MAAnB,GAA6B,EAA7B;MAAQQ,MAAR,SAAQA,MAAR;;EAEA,YAAsBA,MAAtB,WAAsBA,MAAtB,GAAgC,EAAhC;MAAQC,SAAR,SAAQA,SAAR;;EAEA,IAAMC,aAAa,GAKbC,OAAO,CACX;IAAA,OACE,CACE;MACEC,MAAM,EAAErD,iBAAiB,CAACsD,KAD5B;MAEEC,KAAK,EAAElF,YAAY,CAAChH,WAFtB;MAGEmM,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAExD;KALR,EAOE;MACEoD,MAAM,EAAErD,iBAAiB,CAAC0D,QAD5B;MAEEH,KAAK,EAAElF,YAAY,CAACpH,cAFtB;MAGEuM,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAE3C;KAXR,EAaE;MACEuC,MAAM,EAAErD,iBAAiB,CAAC2D,WAD5B;MAEEJ,KAAK,EAAElF,YAAY,CAAC1G,gBAFtB;MAGE6L,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAEpC;KAjBR,EAmBE;MACEgC,MAAM,EAAErD,iBAAiB,CAAC4D,SAD5B;MAEEL,KAAK,EAAElF,YAAY,CAAClH,cAFtB;MAGEqM,OAAO,EAAE,IAHX;MAIEC,EAAE,EAAEnC;KAvBR,EAyBE;MACE+B,MAAM,EAAErD,iBAAiB,CAAC6D,MAD5B;MAEEN,KAAK,EAAElF,YAAY,CAACjH,YAFtB;MAGEoM,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAElC;KA7BR,EA+BE;MACE8B,MAAM,EAAErD,iBAAiB,CAAC8D,UAD5B;MAEEP,KAAK,EAAElF,YAAY,CAAC3G,eAFtB;MAGE8L,OAAO,EAAE,IAHX;MAIEC,EAAE,EAAEjC;KAnCR,EAqCE;MACE6B,MAAM,EAAErD,iBAAiB,CAAC+D,OAD5B;MAEER,KAAK,EAAElF,YAAY,CAACtH,aAFtB;MAGEyM,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAE7B;KAzCR,EA2CE;MACEyB,MAAM,EAAErD,iBAAiB,CAACgE,YAD5B;MAEET,KAAK,EAAElF,YAAY,CAAC/G,iBAFtB;MAGEkM,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAEhC;KA/CR,EAiDE;MACE4B,MAAM,EAAErD,iBAAiB,CAACiE,SAD5B;MAEEV,KAAK,EAAElF,YAAY,CAAC9G,cAFtB;MAGEiM,OAAO,EAAE,IAHX;MAIEC,EAAE,EAAE9B;KArDR,EAuDE;MACE0B,MAAM,EAAErD,iBAAiB,CAACkE,KAD5B;MAEEX,KAAK,EAAElF,YAAY,CAACnH,WAFtB;MAGEsM,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAE1B;KA3DR,EA6DE;MACEsB,MAAM,EAAErD,iBAAiB,CAACmE,SAD5B;MAEEZ,KAAK,EAAElF,YAAY,CAAC5G,cAFtB;MAGE+L,OAAO,EAAE,KAHX;MAIEC,EAAE,EAAExB;KAjER,EAmEEmC,MAnEF,CAmES,UAACC,UAAD;MAAA,OACPnB,SAAS,GACL,CAACA,SAAS,CAACoB,0BAAX,IACApB,SAAS,CAACoB,0BAAV,CAAqClD,QAArC,CAA8CiD,UAAU,CAAChB,MAAzD,CAFK,GAGL,CAAC,CAACT,0BAAD,IACCA,0BAA0B,CAACxB,QAA3B,CAAoCiD,UAAU,CAAChB,MAA/C,CADF,KAEA,CAACrD,iBAAiB,CAACsD,KAAnB,EAA0BtD,iBAAiB,CAAC0D,QAA5C,EAAsDtC,QAAtD,CACEiD,UAAU,CAAChB,MADb,CANG;KAnET,CADF;GADW,EA+EX,EA/EW,CALb;;EAuFA,IAAMkB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACpE,KAAD;IAC7B,IAAIsC,MAAM,IAAIQ,MAAd,EAAsB;MACpBJ,mBAAmB,CAAC,UAAC2B,IAAD;QAAA;;QAAA,oBACfA,IADe,6BAEjB/B,MAAM,CAAC1B,EAFU,IAELZ,KAFK;OAAD,CAAnB;;MAIA,IACE,CAACH,iBAAiB,CAACkE,KAAnB,EAA0BlE,iBAAiB,CAACmE,SAA5C,EAAuD/C,QAAvD,CAAgEjB,KAAhE,CADF,EAEE;QACA8C,MAAM,CAACwB,cAAP,CAAsB,GAAtB;OAHF,MAIO,IAAItE,KAAK,KAAKH,iBAAiB,CAAC+D,OAAhC,EAAyC;QAC9Cd,MAAM,CAACwB,cAAP,CAAsB,CAAC,EAAD,EAAK,EAAL,CAAtB;OADK,MAEA;QACLxB,MAAM,CAACwB,cAAP,CAAsB,EAAtB;;KAZJ,MAcO;MACL3B,wBAAwB,CAAC3C,KAAD,CAAxB;;;IAEFwC,WAAW,CAAC,IAAD,CAAX;IACAD,QAAQ,QAAR,YAAAA,QAAQ;GAnBV;;EAsBA,IAAMgC,YAAY,GAAG,CAAC,CAACjC,MAAF,GACjBM,gBAAgB,CAACN,MAAM,CAAC1B,EAAR,CADC,GAEjBiC,qBAFJ;EAIA,OACEvE,mBAAA,CAACkG,IAAD;IACEnC,QAAQ,EAAEA;IACVoC,YAAY,EAAE;MAAEC,QAAQ,EAAE,QAAZ;MAAsBC,UAAU,EAAE;;IAChDC,OAAO,EAAE;MAAA,OAAMpC,WAAW,CAAC,IAAD,CAAjB;;IACTqC,IAAI,EAAE,CAAC,CAACxC;IACRyC,aAAa,EAAE;MACbC,KAAK,EAAE1G;;GANX,EASG2E,aAAa,CAACgC,GAAd,CAAkB,iBAAiCC,KAAjC;IAAA,IAAG/B,MAAH,SAAGA,MAAH;QAAWE,KAAX,SAAWA,KAAX;QAAkBC,OAAlB,SAAkBA,OAAlB;QAA2BC,EAA3B,SAA2BA,EAA3B;IAAA,OACjBhF,mBAAA,CAAC4G,QAAD;MACE7B,OAAO,EAAEA;MACT8B,GAAG,EAAEF;MACLnG,OAAO,EAAE;QAAA,OAAMsF,sBAAsB,CAAClB,MAAD,CAA5B;;MACTkC,QAAQ,EAAElC,MAAM,KAAKqB,YAAX,IAA2BjB,EAAE,KAAKiB;MAC5CxF,EAAE,EAAEiD;MACJhC,KAAK,EAAEkD;KANT,EAQGE,KARH,CADiB;GAAlB,CATH,CADF;AAwBD,CA9JM;;ACvBA,IAAMiC,wBAAwB,GAAc,SAAtCA,wBAAsC;MACjDvC,cAAAA;MACAnF,qBAAAA;EAEA,4BAKIA,aALJ,CACEK,OADF;MAEatB,WAFb,yBAEIuB,KAFJ,CAEavB,WAFb;MAGIwB,YAHJ,yBAGIA,YAHJ;;EAOA,IAAMoH,eAAe,GAAG,SAAlBA,eAAkB,CAACC,YAAD;IACtBzC,MAAM,CAAC0C,GAAP,CAAWD,YAAX;GADF;;EAIA,OACEjH,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAE;MAAE2G,QAAQ,EAAE,MAAZ;MAAoBC,SAAS,EAAE;;GAAxC,EACG7C,MAAM,CAAC8C,WAAP,KACCtH,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAACtE;GAAnC,EACE0E,mBAAA,CAACM,UAAD;IAAYE,OAAO,EAAE;MAAA,OAAMwG,eAAe,CAAC,KAAD,CAArB;;IAA8BO,IAAI,EAAC;GAAxD,EACEvH,mBAAA,CAAC5B,WAAD,MAAA,CADF,CADF,CADD,GAOC4B,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAACjG;GAAnC,EACEqG,mBAAA,CAACM,UAAD;IAAYE,OAAO,EAAE;MAAA,OAAMwG,eAAe,CAAC,MAAD,CAArB;;IAA+BO,IAAI,EAAC;GAAzD,EACEvH,mBAAA,CAAC5B,WAAD;IACEwC,KAAK,EAAE;MACLC,SAAS,EAAE;;GAFf,CADF,CADF,CADF,EAUEb,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAAChG;GAAnC,EACEoG,mBAAA,CAACM,UAAD;IAAYE,OAAO,EAAE;MAAA,OAAMwG,eAAe,CAAC,OAAD,CAArB;;IAAgCO,IAAI,EAAC;GAA1D,EACEvH,mBAAA,CAAC5B,WAAD;IACEwC,KAAK,EAAE;MACLC,SAAS,EAAE;;GAFf,CADF,CADF,CAVF,CARJ,CADF;AAgCD,CA/CM;;ACAA,IAAM2G,oBAAoB,gBAAcC,UAAU,CACvD,gBAAoBC,GAApB;MAAGrI,qBAAAA;EACD,4BAKIA,aALJ,CACEK,OADF;MAEahD,cAFb,yBAEIiD,KAFJ,CAEajD,cAFb;MAGIkD,YAHJ,yBAGIA,YAHJ;EAOA,OACEI,mBAAA,CAACC,OAAD;IACEC,KAAK;IACLC,UAAU,EAAE;IACZC,cAAc,EAAE;IAChBuH,SAAS,EAAC;IACVtH,KAAK,EAAET,YAAY,CAACxG;GALtB,EAOE4G,mBAAA,CAACM,UAAD;IACEsH,aAAa;IACbF,GAAG,EAAEA;IACLH,IAAI,EAAC;IACL9G,EAAE,EAAE;MACFoH,MAAM,EAAE,MADN;MAEFC,CAAC,EAAE,CAFD;MAGFC,OAAO,EAAE,GAHP;MAIFC,CAAC,EAAE,KAJD;MAKFlH,UAAU,EAAE,sBALV;MAMF,WAAW;QACTmH,eAAe,EAAE,aADR;QAETF,OAAO,EAAE;OART;MAUF,YAAY;QACVF,MAAM,EAAE;;;GAfd,EAmBE7H,mBAAA,CAACtD,cAAD,MAAA,CAnBF,CAPF,CADF;AA+BD,CAxCsD,CAAlD;;ACCA,IAAMwL,oBAAoB,GAAG,SAAvBA,oBAAuB,CAClCC,OADkC;EAGlC,IAAIC,kBAAkB,GAAoBD,OAA1C;EACA,IAAIE,WAAW,GAAgCF,OAA/C;;EACA,OAAO,CAAC,kBAACE,WAAD,aAAC,aAAaC,MAAd,CAAD,IAAyBD,WAAW,CAACE,IAAZ,CAAiB,UAACC,GAAD;IAAA,OAASA,GAAG,CAACL,OAAb;GAAjB,CAAhC,EAAwE;IAAA;;IACtE,IAAMM,QAAQ,GAAoBJ,WAAW,CAC1C1C,MAD+B,CACxB,UAAC6C,GAAD;MAAA,OAAS,CAAC,CAACA,GAAG,CAACL,OAAf;KADwB,EAE/BzB,GAF+B,CAE3B,UAAC8B,GAAD;MAAA,OAASA,GAAG,CAACL,OAAb;KAF2B,EAG/BO,IAH+B,EAAlC;;IAIA,IAAID,QAAQ,CAACE,KAAT,CAAe,UAACH,GAAD;MAAA,OAAS,EAACA,GAAD,YAACA,GAAG,CAAEL,OAAN,CAAT;KAAf,CAAJ,EAA4C;MAC1CC,kBAAkB,aAAOA,kBAAP,EAA8BK,QAA9B,CAAlB;;;IAEFJ,WAAW,GAAGI,QAAd;;;EAEF,OAAOL,kBAAkB,CAACzC,MAAnB,CAA0B,UAAC6C,GAAD;IAAA,OAAS,CAACA,GAAG,CAACL,OAAd;GAA1B,CAAP;AACD,CAhBM;AAkBP,AAAO,IAAMS,WAAW,GAAG,SAAdA,WAAc,CACzBC,KADyB,EAEzBrE,MAFyB,EAGzBF,gBAHyB;EAAA;;EAAA,OAKzBuE,KAAK,CAACD,WAAN,cACKpE,MADL;IAEE2D,OAAO,EAAE3D,MAAF,uCAAEA,MAAM,CAAE2D,OAAV,qBAAE,gBAAiBzB,GAAnB,oBAAE,gBAAiBA,GAAjB,CAAuB,UAAC8B,GAAD;MAAA,OAC9BA,GAAG,CAACL,OAAJ,GACIS,WAAW,CAAIC,KAAJ,EAAWL,GAAX,EAAgBlE,gBAAhB,CADf,GAEIwE,gBAAgB,CAACD,KAAD,EAAQL,GAAR,EAAalE,gBAAb,CAHU;KAAvB;KAPc;AAAA,CAApB;AAcP,AAAO,IAAMwE,gBAAgB,GAAG,SAAnBA,gBAAmB,CAC9BD,KAD8B,EAE9BrE,MAF8B,EAG9BF,gBAH8B;EAAA;IAK9BuE,KAAK,CAACC,gBAAN,CAAuBtE,MAAM,CAAClC,EAA9B;MACEyG,QAAQ,EACNzE,gBAAgB,CAACE,MAAM,CAAClC,EAAR,CAAhB,YAAuC0G,QAAvC,GACI1E,gBAAgB,CAACE,MAAM,CAAClC,EAAR,CADpB,GAEImB,gBAAgB,CAACa,gBAAgB,CAACE,MAAM,CAAClC,EAAR,CAAjB;OACnBkC,MALL;;AAL8B,CAAzB;AAaP,AAAO,IAAMyE,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCJ,KADiC,EAEjCrE,MAFiC;EAAA,OAGhBqE,KAAK,CAACI,mBAAN,CAA0BzE,MAA1B,CAHgB;AAAA,CAA5B;AAKP,AAAO,IAAM0E,aAAa,GAAG,SAAhBA,aAAgB,CAC3BC,YAD2B,EAE3BC,eAF2B,EAG3BC,WAH2B,EAI3BC,cAJ2B;EAM3B,IAAIH,YAAY,CAACI,SAAb,EAAJ,EAA8B;IAC5BJ,YAAY,CAACjC,GAAb,CAAiBkC,eAAe,CAAC9B,WAAhB,EAAjB;;;EAEF+B,WAAW,CAACG,MAAZ,CACEH,WAAW,CAACI,OAAZ,CAAoBL,eAAe,CAAC9G,EAApC,CADF,EAEE,CAFF,EAGE+G,WAAW,CAACG,MAAZ,CAAmBH,WAAW,CAACI,OAAZ,CAAoBN,YAAY,CAAC7G,EAAjC,CAAnB,EAAyD,CAAzD,EAA4D,CAA5D,CAHF;EAKAgH,cAAc,WAAKD,WAAL,EAAd;AACD,CAfM;;AC7CA,IAAMK,4BAA4B,GAAc,SAA1CA,4BAA0C;;;MACrDC,kBAAAA;MACAnF,cAAAA;MACAoF,iBAAAA;MACAvK,qBAAAA;EAEA,IACEI,QADF,GAIIJ,aAJJ,CACEI,QADF;8BAIIJ,aAJJ,CAEEK,OAFF;MAEamK,oBAFb,yBAEaA,oBAFb;MAEmCC,2BAFnC,yBAEmCA,2BAFnC;MAGER,cAHF,GAIIjK,aAJJ,CAGEiK,cAHF;;EAMA,gBAA0C7J,QAAQ,EAAlD;MAAQ4J,WAAR,aAAQA,WAAR;MAAqBU,gBAArB,aAAqBA,gBAArB;;EAEA,IAAQtF,SAAR,GAAqCD,MAArC,CAAQC,SAAR;MAAmBuF,aAAnB,GAAqCxF,MAArC,CAAmBwF,aAAnB;;EAEA,eAAoBC,OAAO,CAAC;IAC1BC,MAAM,EAAE,QADkB;IAE1BC,IAAI,EAAE,cAAChB,YAAD;MAAA,OACJD,aAAa,CAACC,YAAD,EAAe3E,MAAf,EAAuB6E,WAAvB,EAAoCC,cAApC,CADT;;GAFmB,CAA3B;MAASc,OAAT;;EAMA,eAAgCC,OAAO,CAAC;IACtCC,OAAO,EAAE,iBAACC,OAAD;MAAA,OAAc;QACrBC,UAAU,EAAED,OAAO,CAACC,UAAR;OADL;KAD6B;IAItCC,IAAI,EAAE;MAAA,OAAMjG,MAAN;KAJgC;IAKtCkG,IAAI,EAAE;GAL+B,CAAvC;MAASC,OAAT;MAAkBC,UAAlB;;EAQA,IAAMC,aAAa,GAChBb,aAAa,KAAK,OAAlB,IAA6BxF,MAAM,CAACsG,YAAP,EAA9B,IACCd,aAAa,KAAK,OAAlB,IACCxF,MAAM,CAACuG,cAAP,GAAwBxC,IAAxB,CAA6B,UAACC,GAAD;IAAA,OAASA,GAAG,CAACsC,YAAJ,EAAT;GAA7B,CAHJ;;EAKA,IAAME,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACxG,MAAD;IAC/B,IAAIwF,aAAa,KAAK,OAAtB,EAA+B;MAAA;;MAC7BxF,MAAM,QAAN,+BAAAA,MAAM,CAAE2D,OAAR,qCAAiB8C,OAAjB,oCAAiBA,OAAjB,CAA2B,UAACC,WAAD;QACzBA,WAAW,CAACC,gBAAZ,CAA6B,CAACN,aAA9B;OADF;KADF,MAIO;MACLrG,MAAM,CAAC2G,gBAAP;;;IAEFrB,2BAA2B,QAA3B,YAAAA,2BAA2B,CAAG;MAC5BtF,MAAM,EAANA,MAD4B;MAE5BuF,gBAAgB,EAAhBA,gBAF4B;MAG5B1K,aAAa,EAAbA;KAHyB,CAA3B;GARF;;EAeA,OACEW,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAAC4G,QAAD;IACEc,GAAG,EAAEsC,aAAa,KAAK,MAAlB,GAA2BI,OAA3B,GAAqC/G;IAC1C5C,EAAE,EAAE;MACFoD,UAAU,EAAE,QADV;MAEFuH,cAAc,EAAE,YAFd;MAGFxH,EAAE,EAAE,CAHF;MAIFyH,EAAE,EAAK,CAAC7G,MAAM,CAAC8G,KAAP,GAAe,GAAhB,IAAuB,CAA5B,QAJA;MAKF3H,EAAE,EAAE;;GAPR,EAUE3D,mBAAA,CAACmH,GAAD;IACEO,GAAG,EAAEkD;IACLnK,EAAE,EAAE;MACF8K,OAAO,EAAE,MADP;MAEFC,QAAQ,EAAE,QAFR;MAGFC,GAAG,EAAE;;GALT,EAQGzB,aAAa,KAAK,OAAlB,IACCH,oBADD,IAECpF,SAAS,CAACoF,oBAAV,KAAmC,KAFpC,IAGC,CAACF,UAAU,CAACpB,IAAX,CAAgB,UAACC,GAAD;IAAA,OAASA,GAAG,CAACwB,aAAJ,KAAsB,OAA/B;GAAhB,CAHF,IAIGhK,mBAAA,CAACwH,oBAAD;IACEE,GAAG,EAAEiD;IACLtL,aAAa,EAAEA;GAFjB,CAZN,EAiBG,CAACuK,SAAD,IAAcpF,MAAM,CAAC+E,SAAP,EAAd,IACCvJ,mBAAA,CAAC+G,wBAAD;IACEvC,MAAM,EAAEA;IACRnF,aAAa,EAAEA;GAFjB,CAlBJ,EAuBEW,mBAAA,CAAC0L,gBAAD;IACEC,eAAe,EAAE;MACfC,UAAU,EAAE;QACVnL,EAAE,EAAE;UACFoL,EAAE,EAAE,CADF;UAEF9D,OAAO,EAAEiC,aAAa,KAAK,SAAlB,GAA8B,CAA9B,GAAkC;;;;IAIjD8B,OAAO,EAAEjB;IACTkB,OAAO,EAAE/L,mBAAA,CAACgM,MAAD,MAAA;IACTzL,QAAQ,EACLqJ,SAAS,IAAIiB,aAAd,IACA,CAACrG,MAAM,CAACyH,UAAP,EADD,IAEAzH,MAAM,CAAC0H,YAAP;IAEFpH,KAAK,EAAEL,SAAS,CAACT;IACjBmI,QAAQ,EAAE;MAAA,OAAMnB,wBAAwB,CAACxG,MAAD,CAA9B;;GAjBZ,CAvBF,CAVF,CADF,sBAuDGA,MAAM,CAAC2D,OAvDV,qBAuDG,iBAAgBzB,GAAhB,CAAoB,UAAC0F,CAAD,EAAgBC,CAAhB;IAAA,OACnBrM,mBAAA,CAAC0J,4BAAD;MACEC,UAAU,EAAEA;MACZ9C,GAAG,EAAKwF,CAAL,SAAUD,CAAC,CAAC9J;MACfkC,MAAM,EAAE4H;MACRxC,SAAS,EAAEA;MACXvK,aAAa,EAAEA;KALjB,CADmB;GAApB,CAvDH,CADF;AAmED,CArHM;;ACHA,IAAMiN,uBAAuB,GAAc,SAArCA,uBAAqC;MAChDvI,gBAAAA;MACA6F,iBAAAA;MACA1F,mBAAAA;MACA7E,qBAAAA;EAEA,IACEkN,aADF,GAYIlN,aAZJ,CACEkN,aADF;MAEEC,iBAFF,GAYInN,aAZJ,CAEEmN,iBAFF;MAGEC,oBAHF,GAYIpN,aAZJ,CAGEoN,oBAHF;MAIEC,sBAJF,GAYIrN,aAZJ,CAIEqN,sBAJF;MAKEC,sBALF,GAYItN,aAZJ,CAKEsN,sBALF;MAMEC,uBANF,GAYIvN,aAZJ,CAMEuN,uBANF;MAOEC,kBAPF,GAYIxN,aAZJ,CAOEwN,kBAPF;MAQEC,mBARF,GAYIzN,aAZJ,CAQEyN,mBARF;MASErN,QATF,GAYIJ,aAZJ,CASEI,QATF;MAUEsN,uBAVF,GAYI1N,aAZJ,CAUE0N,uBAVF;8BAYI1N,aAZJ,CAWEK,OAXF;MAWaE,YAXb,yBAWaA,YAXb;MAW2BoN,aAX3B,yBAW2BA,aAX3B;MAW0CnD,oBAX1C,yBAW0CA,oBAX1C;;EAcA,gBAAuDpK,QAAQ,EAA/D;MAAQM,cAAR,aAAQA,cAAR;MAAwBsJ,WAAxB,aAAwBA,WAAxB;MAAqC4D,aAArC,aAAqCA,aAArC;;EAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB;IACrBV,iBAAiB,GACd7G,MADH,CACU,UAAC6C,GAAD;MAAA,OAASA,GAAG,CAAC/D,SAAJ,CAAc0I,YAAd,KAA+B,KAAxC;KADV,EAEGlC,OAFH,CAEW,UAACzC,GAAD;MAAA,OAASA,GAAG,CAAC2C,gBAAJ,CAAqB,KAArB,CAAT;KAFX;GADF;;EAMA,IAAMxB,UAAU,GAAGhF,OAAO,CAAC;IACzB,IAAMwD,OAAO,GAAGoE,aAAa,EAA7B;;IACA,IACElD,WAAW,CAACf,MAAZ,GAAqB,CAArB,IACA,CAACH,OAAO,CAACI,IAAR,CAAa,UAACC,GAAD;MAAA,OAASA,GAAG,CAACwB,aAAJ,KAAsB,OAA/B;KAAb,CAFH,EAGE;MACA,OAAO,UACF6C,kBAAkB,EADhB,EAEFO,KAAK,CAACC,IAAN,CAAW,IAAIC,GAAJ,CAAQjE,WAAR,CAAX,EAAiC3C,GAAjC,CAAqC,UAAC6G,KAAD;QAAA,OACtCd,oBAAoB,GAAGe,IAAvB,CAA4B,UAAChF,GAAD;UAAA,OAAS,CAAAA,GAAG,QAAH,YAAAA,GAAG,CAAElG,EAAL,MAAYiL,KAArB;SAA5B,CADsC;OAArC,CAFE,EAKFT,mBAAmB,EALjB,EAMLnH,MANK,CAME8H,OANF,CAAP;;;IAQF,OAAOtF,OAAP;GAdwB,EAevB,CACDkB,WADC,EAED4D,aAFC,EAGDV,aAAa,EAHZ,EAIDE,oBAAoB,EAJnB,EAKDI,kBAAkB,EALjB,EAMDC,mBAAmB,EANlB,CAfuB,CAA1B;EAwBA,OACE9M,mBAAA,CAACkG,IAAD;IACEnC,QAAQ,EAAEA;IACVwC,IAAI,EAAE,CAAC,CAACxC;IACRuC,OAAO,EAAE;MAAA,OAAMpC,WAAW,CAAC,IAAD,CAAjB;;IACTsC,aAAa,EAAE;MACbC,KAAK,EAAE1G;;GALX,EAQEC,mBAAA,CAACmH,GAAD;IACE1G,EAAE,EAAE;MACF8K,OAAO,EAAE,MADP;MAEFH,cAAc,EAAExB,SAAS,GAAG,QAAH,GAAc,eAFrC;MAGF5B,CAAC,EAAE,QAHD;MAIF0F,EAAE,EAAE;;GALR,EAQG,CAAC9D,SAAD,IACC5J,mBAAA,CAAC2N,MAAD;IACEpN,QAAQ,EAAE,CAACqM,uBAAuB;IAClCpM,OAAO,EAAE0M;GAFX,EAIGtN,YAAY,CAACrG,OAJhB,CATJ,EAgBG,CAACqQ,SAAD,IAAcC,oBAAd,IACC7J,mBAAA,CAAC2N,MAAD;IAAQnN,OAAO,EAAE;MAAA,OAAMnB,aAAa,CAACuO,gBAAd,EAAN;;GAAjB,EACGhO,YAAY,CAAC9F,UADhB,CAjBJ,EAqBG,CAAC8P,SAAD,IAAcoD,aAAd,IACChN,mBAAA,CAAC2N,MAAD;IACEpN,QAAQ,EAAE,CAACoM,sBAAsB;IACjCnM,OAAO,EAAE;MAAA,OAAMnB,aAAa,CAACwO,kBAAd,CAAiC,IAAjC,CAAN;;GAFX,EAIGjO,YAAY,CAACrE,QAJhB,CAtBJ,EA6BEyE,mBAAA,CAAC2N,MAAD;IACEpN,QAAQ,EAAEmM,sBAAsB;IAChClM,OAAO,EAAE;MAAA,OAAMuM,uBAAuB,CAAC,IAAD,CAA7B;;GAFX,EAIGnN,YAAY,CAACtF,OAJhB,CA7BF,CARF,EA4CE0F,mBAAA,CAAC8N,OAAD,MAAA,CA5CF,EA6CGnE,UAAU,CAACjD,GAAX,CAAe,UAAClC,MAAD,EAASmC,KAAT;IAAA,OACd3G,mBAAA,CAAC0J,4BAAD;MACEC,UAAU,EAAEA;MACZnF,MAAM,EAAEA;MACRoF,SAAS,EAAEA;MACX/C,GAAG,EAAKF,KAAL,SAAcnC,MAAM,CAAClC;MACxBjD,aAAa,EAAEA;KALjB,CADc;GAAf,CA7CH,CADF;AAyDD,CA7GM;;ACNA,IAAMqE,sBAAoB,GAAG;EAClCC,EAAE,EAAE,KAD8B;EAElCC,EAAE,EAAE,CAF8B;EAGlCwH,cAAc,EAAE,eAHkB;EAIlCvH,UAAU,EAAE;AAJsB,CAA7B;AAOP,AAAO,IAAMkK,oBAAoB,GAAG;EAClCxC,OAAO,EAAE,MADyB;EAElC1H,UAAU,EAAE;AAFsB,CAA7B;AAYP,AAAO,IAAMmK,oBAAoB,GAAc,SAAlCA,oBAAkC;;;MAC7CjK,gBAAAA;MACAC,cAAAA;MACAE,mBAAAA;MACA7E,qBAAAA;EAEA,IACEI,QADF,GA2BIJ,aA3BJ,CACEI,QADF;MAEEsN,uBAFF,GA2BI1N,aA3BJ,CAEE0N,uBAFF;MAGEzD,cAHF,GA2BIjK,aA3BJ,CAGEiK,cAHF;8BA2BIjK,aA3BJ,CAIEK,OAJF;MAKIuO,mBALJ,yBAKIA,mBALJ;MAMIC,oBANJ,yBAMIA,oBANJ;MAOIC,cAPJ,yBAOIA,cAPJ;MAQIhB,YARJ,yBAQIA,YARJ;MASIH,aATJ,yBASIA,aATJ;MAUIoB,aAVJ,yBAUIA,aAVJ;qDAWIzO,KAXJ;MAYMjE,cAZN,0BAYMA,cAZN;MAaMM,YAbN,0BAaMA,YAbN;MAcMgD,cAdN,0BAcMA,cAdN;MAeMpC,eAfN,0BAeMA,eAfN;MAgBMY,cAhBN,0BAgBMA,cAhBN;MAiBME,iBAjBN,0BAiBMA,iBAjBN;MAkBMU,WAlBN,0BAkBMA,WAlBN;MAmBMU,QAnBN,0BAmBMA,QAnBN;MAoBMR,cApBN,0BAoBMA,cApBN;MAqBMY,iBArBN,0BAqBMA,iBArBN;MAuBImP,OAvBJ,yBAuBIA,OAvBJ;MAwBIzO,YAxBJ,yBAwBIA,YAxBJ;MA0BE0O,cA1BF,GA2BIjP,aA3BJ,CA0BEiP,cA1BF;EA6BA,IAAQ9J,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;;EAEA,gBAA2DhF,QAAQ,EAAnE;MAAQ8O,YAAR,aAAQA,YAAR;MAAsBxE,gBAAtB,aAAsBA,gBAAtB;MAAwChK,cAAxC,aAAwCA,cAAxC;;EAEA,gBACEyO,QAAQ,CAAqB,IAArB,CADV;MAAOC,kBAAP;MAA2BC,qBAA3B;;EAGA,iBACEF,QAAQ,CAAqB,IAArB,CADV;MAAOG,2BAAP;MAAoCC,8BAApC;;EAGA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;IACtBrK,MAAM,CAACsK,YAAP;IACA5K,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAM6K,aAAa,GAAG,SAAhBA,aAAgB;IACpBvK,MAAM,CAACwK,aAAP,CAAqB,KAArB;IACA9K,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAM+K,cAAc,GAAG,SAAjBA,cAAiB;IACrBzK,MAAM,CAACwK,aAAP,CAAqB,IAArB;IACA9K,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAMgL,qBAAqB,GAAG,SAAxBA,qBAAwB;IAC5B1K,MAAM,CAAC2K,SAAP;IACAjL,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAMkL,gBAAgB,GAAG,SAAnBA,gBAAmB;IACvB5K,MAAM,CAAC2G,gBAAP,CAAwB,KAAxB;IACAjH,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAM8C,eAAe,GAAG,SAAlBA,eAAkB,CAACC,YAAD;IACtBzC,MAAM,CAAC0C,GAAP,CAAWD,YAAX;IACA/C,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAMmL,mBAAmB,GAAG,SAAtBA,mBAAsB;IAC1B7K,MAAM,CAAC8K,cAAP;IACAhG,cAAc,CAAC,UAACiG,GAAD;MAAA,QAAU,YAAV,SAA2BA,GAA3B;KAAD,CAAd;IACArL,WAAW,CAAC,IAAD,CAAX;GAHF;;EAMA,IAAMsL,iBAAiB,GAAG,SAApBA,iBAAoB;IACxBhL,MAAM,CAACwB,cAAP,CAAsB,EAAtB;IACA9B,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAMuL,oBAAoB,GAAG,SAAvBA,oBAAuB;IAC3BnB,cAAc,CAAC,IAAD,CAAd;IACAoB,UAAU,CACR;MAAA;;MAAA,gCACEC,QAAQ,CACLC,cADH;MAAA,mDAGI5L,MAAM,CAAC6L,oCAHX,qBAGI,uBAA6CvN,EAHjD,6CAIa+L,OAJb,SAIwBrK,MAAM,CAAC1B,EAJ/B,wBADF,qBACE,sBAMIwN,KANJ,EADF;KADQ,EASR,GATQ,CAAV;IAWA5L,WAAW,CAAC,IAAD,CAAX;GAbF;;EAgBA,IAAM6L,oBAAoB,GAAG,SAAvBA,oBAAuB;IAC3BhD,uBAAuB,CAAC,IAAD,CAAvB;IACA7I,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,IAAM8L,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAC7O,KAAD;IAC/BA,KAAK,CAAC8O,eAAN;IACAvB,qBAAqB,CAACvN,KAAK,CAAC+O,aAAP,CAArB;GAFF;;EAKA,IAAMC,6BAA6B,GAAG,SAAhCA,6BAAgC,CACpChP,KADoC;IAGpCA,KAAK,CAAC8O,eAAN;IACArB,8BAA8B,CAACzN,KAAK,CAAC+O,aAAP,CAA9B;GAJF;;EAOA,OACElQ,mBAAA,CAACkG,IAAD;IACEnC,QAAQ,EAAEA;IACVwC,IAAI,EAAE,CAAC,CAACxC;IACRuC,OAAO,EAAE;MAAA,OAAMpC,WAAW,CAAC,IAAD,CAAjB;;IACTsC,aAAa,EAAE;MACbC,KAAK,EAAE1G;;GALX,EAQGqO,aAAa,IACZ5J,MAAM,CAAC4L,UAAP,EADD,IACwB,CACrBpQ,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAE,CAACiE,MAAM,CAAC6L,WAAP;IACXxJ,GAAG,EAAE;IACLrG,OAAO,EAAEqO;IACTpO,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAChE,YAAD,MAAA,CADF,CADF,EAIG4D,YAAY,CAAC7H,SAJhB,CANF,CADqB,EAcrBiI,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAEiE,MAAM,CAAC6L,WAAP,OAAyB;IACnCxJ,GAAG,EAAE;IACLrG,OAAO,EAAEuO;IACTtO,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAClB,QAAD,MAAA,CADF,CADF,2BAIGc,YAAY,CAACjF,eAJhB,qBAIG,sBAA8B4V,OAA9B,CACC,UADD,EAECC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAFP,CAJH,CANF,CAdqB,EA8BrBhE,mBAAA,CAAC4G,QAAD;IACE7B,OAAO,EAAEkJ,mBAAmB,IAAIE,cAAvB,IAAyChB;IAClDtG,GAAG,EAAE;IACLtG,QAAQ,EAAEiE,MAAM,CAAC6L,WAAP,OAAyB;IACnC7P,OAAO,EAAEyO;IACTxO,EAAE,EAAEiD;GALN,EAOE1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAClB,QAAD;IAAU8B,KAAK,EAAE;MAAEC,SAAS,EAAE;;GAA9B,CADF,CADF,4BAIGjB,YAAY,CAAChF,gBAJhB,qBAIG,uBAA+B2V,OAA/B,CACC,UADD,EAECC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAFP,CAJH,CAPF,CA9BqB,CAT3B,EAyDGiK,mBAAmB,IAClBzJ,MAAM,CAACiM,YAAP,EADD,IAC0B,CACvBzQ,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAE,CAACiE,MAAM,CAACkM,cAAP;IACX7J,GAAG,EAAE;IACLrG,OAAO,EAAEgP;IACT/O,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAACtC,iBAAD,MAAA,CADF,CADF,EAIGkC,YAAY,CAAC/H,WAJhB,CANF,CADuB,EAcvBmI,mBAAA,CAAC4G,QAAD;IACE7B,OAAO,EAAEoJ,cAAc,IAAIhB;IAC3BtG,GAAG,EAAE;IACLrG,OAAO,EAAEiP;IACThP,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAACxC,cAAD,MAAA,CADF,CADF,2BAIGoC,YAAY,CAACrH,cAJhB,qBAIG,sBAA6BgY,OAA7B,CACC,UADD,EAECC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAFP,CAJH,CANF,EAeG,CAACS,SAAS,CAACkM,mBAAX,IACC3Q,mBAAA,CAACM,UAAD;IACEE,OAAO,EAAEwP;IACTY,YAAY,EAAEZ;IACdzI,IAAI,EAAC;IACL9G,EAAE,EAAE;MAAEuH,CAAC,EAAE;;GAJX,EAMEhI,mBAAA,CAACtE,cAAD,MAAA,CANF,CAhBJ,CAduB,EAwCvBsE,mBAAA,CAAC8D,oBAAD;IACEC,QAAQ,EAAE0K;IACVzK,MAAM,EAAEA;IACR6C,GAAG,EAAE;IACL5C,QAAQ,EAAEwL;IACVvL,WAAW,EAAEwK;IACbrP,aAAa,EAAEA;GANjB,CAxCuB,CA1D7B,EA2GG8O,cAAc,IACb3J,MAAM,CAACqM,WAAP,EADD,IACyB,CACtB7Q,mBAAA,CAAC4G,QAAD;IACE7B,OAAO,EAAEiI;IACTnG,GAAG,EAAE;IACLrG,OAAO,EAAE6O;IACT5O,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAACpD,eAAD,MAAA,CADF,CADF,mBAIGgD,YAAY,CACX4E,MAAM,CAAC0H,YAAP,KAAwB,iBAAxB,GAA4C,eADjC,CAJf,qBAIG,cAEEqE,OAFF,CAEU,UAFV,EAEsBC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAF5B,CAJH,CANF,CADsB,CA5G5B,EA6HGgJ,aAAa,IACZxI,MAAM,CAAC+E,SAAP,EADD,IACuB,CACpBvJ,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAEiE,MAAM,CAAC8C,WAAP,OAAyB,MAAzB,IAAmC,CAAC9C,MAAM,CAAC+E,SAAP;IAC9C1C,GAAG,EAAE;IACLrG,OAAO,EAAE;MAAA,OAAMwG,eAAe,CAAC,MAAD,CAArB;;IACTvG,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAC5B,WAAD;IAAawC,KAAK,EAAE;MAAEC,SAAS,EAAE;;GAAjC,CADF,CADF,EAIGjB,YAAY,CAACjG,SAJhB,CANF,CADoB,EAcpBqG,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAEiE,MAAM,CAAC8C,WAAP,OAAyB,OAAzB,IAAoC,CAAC9C,MAAM,CAAC+E,SAAP;IAC/C1C,GAAG,EAAE;IACLrG,OAAO,EAAE;MAAA,OAAMwG,eAAe,CAAC,OAAD,CAArB;;IACTvG,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAC5B,WAAD;IAAawC,KAAK,EAAE;MAAEC,SAAS,EAAE;;GAAjC,CADF,CADF,EAIGjB,YAAY,CAAChG,UAJhB,CANF,CAdoB,EA2BpBoG,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAE,CAACiE,MAAM,CAAC8C,WAAP;IACXvC,OAAO,EAAEoI;IACTtG,GAAG,EAAE;IACLrG,OAAO,EAAE;MAAA,OAAMwG,eAAe,CAAC,KAAD,CAArB;;IACTvG,EAAE,EAAEiD;GALN,EAOE1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAC5B,WAAD,MAAA,CADF,CADF,EAIGwB,YAAY,CAACtE,KAJhB,CAPF,CA3BoB,CA9H1B,EAwKG4S,oBAAoB,IAAI,CACvBlO,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAE,CAACiE,MAAM,CAACsM,YAAP,EAAD,IAA0B,CAACvC,YAAY,CAAC/J,MAAM,CAAClC,EAAR;IACjDuE,GAAG,EAAE;IACLrG,OAAO,EAAE0O;IACTzO,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAC1B,cAAD,MAAA,CADF,CADF,EAIGsB,YAAY,CAAC/F,eAJhB,CANF,CADuB,CAxK3B,EAuLGsT,YAAY,IAAI,CACfnN,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EAAEkE,SAAS,CAAC0I,YAAV,KAA2B;IACrCtG,GAAG,EAAE;IACLrG,OAAO,EAAE4O;IACT3O,EAAE,EAAEiD;GAJN,EAME1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAACd,iBAAD,MAAA,CADF,CADF,2BAIGU,YAAY,CAACpG,UAJhB,qBAIG,sBAAyB+W,OAAzB,CACC,UADD,EAECC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAFP,CAJH,CANF,CADe,EAiBfhE,mBAAA,CAAC4G,QAAD;IACErG,QAAQ,EACN,CAACwQ,MAAM,CAACC,MAAP,CAAcjH,gBAAd,EAAgCpE,MAAhC,CAAuC,UAACsL,OAAD;MAAA,OAAa,CAACA,OAAd;KAAvC,EACE3I;IAELzB,GAAG,EAAE;IACLrG,OAAO,EAAEuP;IACTtP,EAAE,EAAEiD;GAPN,EASE1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAChB,cAAD,MAAA,CADF,CADF,2BAIGY,YAAY,CAACrF,cAJhB,qBAIG,sBAA6BgW,OAA7B,CACC,UADD,EAECC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAFP,CAJH,CATF,EAkBEhE,mBAAA,CAACM,UAAD;IACEE,OAAO,EAAE2P;IACTS,YAAY,EAAET;IACd5I,IAAI,EAAC;IACL9G,EAAE,EAAE;MAAEuH,CAAC,EAAE;;GAJX,EAMEhI,mBAAA,CAACtE,cAAD,MAAA,CANF,CAlBF,CAjBe,EA4CfsE,mBAAA,CAACsM,uBAAD;IACEvI,QAAQ,EAAE4K;IACV/E,SAAS;IACT/C,GAAG,EAAE;IACL3C,WAAW,EAAE0K;IACbvP,aAAa,EAAEA;GALjB,CA5Ce,CAvLnB,CADF;AA8OD,CAvWM;;ACTA,IAAM6R,iBAAiB,GAAc,SAA/BA,iBAA+B;MAC1CnN,gBAAAA;MACAoN,kBAAAA;MACAnQ,WAAAA;MACAkD,mBAAAA;MACA7E,qBAAAA;EAEA,IACEI,QADF,GAQIJ,aARJ,CACEI,QADF;8BAQIJ,aARJ,CAEEK,OAFF;MAGa5C,QAHb,yBAGI6C,KAHJ,CAGa7C,QAHb;MAIIsU,aAJJ,yBAIIA,aAJJ;MAKIxR,YALJ,yBAKIA,YALJ;MAMIyR,wBANJ,yBAMIA,wBANJ;;EAUA,gBAA2B5R,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,OACEC,mBAAA,CAACkG,IAAD;IACEnC,QAAQ,EAAEA;IACVwC,IAAI,EAAE,CAAC,CAACxC;IACRuC,OAAO,EAAE;MAAA,OAAMpC,WAAW,CAAC,IAAD,CAAjB;;IACTsC,aAAa,EAAE;MACbC,KAAK,EAAE1G;;GALX,EAQGqR,aAAa,IACZpR,mBAAA,CAAC4G,QAAD;IAAUpG,OAAO,EAAE2Q;IAAY1Q,EAAE,EAAEiD;GAAnC,EACE1D,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAEsN;GAAT,EACE/N,mBAAA,CAACsQ,YAAD,MAAA,EACEtQ,mBAAA,CAAClD,QAAD,MAAA,CADF,CADF,EAIG8C,YAAY,CAACzH,IAJhB,CADF,CATJ,EAkBGkZ,wBAlBH,oBAkBGA,wBAAwB,CAAG;IAC1BrQ,GAAG,EAAHA,GAD0B;IAE1B3B,aAAa,EAAbA,aAF0B;IAG1BiS,SAAS,EAAE;MAAA,OAAMpN,WAAW,CAAC,IAAD,CAAjB;;GAHY,CAlB3B,CADF;AA0BD,CA7CM;;ACPA,IAAMqN,qBAAqB,GAAc,SAAnCA,qBAAmC;MAAGvQ,WAAAA;MAAK3B,qBAAAA;EACtD,IACEI,QADF,GAQIJ,aARJ,CACEI,QADF;8BAQIJ,aARJ,CAEEK,OAFF;qDAGIC,KAHJ;MAGa/D,UAHb,0BAGaA,UAHb;MAGyB4C,QAHzB,0BAGyBA,QAHzB;MAIIoB,YAJJ,yBAIIA,YAJJ;MAKI4R,kBALJ,yBAKIA,kBALJ;MAOEC,oBAPF,GAQIpS,aARJ,CAOEoS,oBAPF;;EAUA,gBAA8BhS,QAAQ,EAAtC;MAAQiS,iBAAR,aAAQA,iBAAR;;EAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe;;;IACnB3Q,GAAG,CAAC4Q,YAAJ,oBAAmB5Q,GAAG,CAAC6Q,QAAvB,4BAAmC,EAAnC;IACAJ,oBAAoB,CAAC,IAAD,CAApB;GAFF;;EAKA,IAAMK,UAAU,GAAG,SAAbA,UAAa;IACjBN,kBAAkB,QAAlB,YAAAA,kBAAkB,CAAG;MAAExQ,GAAG,EAAE0Q,iBAAF,WAAEA,iBAAF,GAAuB1Q,GAA5B;MAAiC3B,aAAa,EAAbA;KAApC,CAAlB;IACAoS,oBAAoB,CAAC,IAAD,CAApB;GAFF;;EAKA,OACEzR,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAE;MAAE8K,OAAO,EAAE,MAAX;MAAmBE,GAAG,EAAE;;GAAjC,EACEzL,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAAClI;GAAnC,EACEsI,mBAAA,CAACM,UAAD;kBAAwBV,YAAY,CAAClI;IAAQ8I,OAAO,EAAEmR;GAAtD,EACE3R,mBAAA,CAACpE,UAAD,MAAA,CADF,CADF,CADF,EAMEoE,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAAC1F;GAAnC,EACE8F,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAAC1F;IACzB6X,KAAK,EAAC;IACNvR,OAAO,EAAEsR;GAHX,EAKE9R,mBAAA,CAACxB,QAAD,MAAA,CALF,CADF,CANF,CADF;AAkBD,CAzCM;;ACHP,IAAMwT,sBAAsB,GAAG;EAC7BtR,MAAM,EAAE,MADqB;EAE7BuR,EAAE,EAAE,MAFyB;EAG7BlK,OAAO,EAAE,GAHoB;EAI7BjH,UAAU,EAAE,cAJiB;EAK7BH,KAAK,EAAE,MALsB;EAM7B,WAAW;IACToH,OAAO,EAAE;;AAPkB,CAA/B;AAgBA,AAAO,IAAMmK,6BAA6B,GAAc,SAA3CA,6BAA2C;MACtDlR,WAAAA;MACA3B,qBAAAA;EAEA,IACEI,QADF,GAUIJ,aAVJ,CACEI,QADF;8BAUIJ,aAVJ,CAEEK,OAFF;MAGI0R,aAHJ,yBAGIA,aAHJ;qDAIIzR,KAJJ;MAIa7C,QAJb,0BAIaA,QAJb;MAIuBkB,aAJvB,0BAIuBA,aAJvB;MAKI4B,YALJ,yBAKIA,YALJ;MAMIyR,wBANJ,yBAMIA,wBANJ;MAOIc,gBAPJ,yBAOIA,gBAPJ;MASEV,oBATF,GAUIpS,aAVJ,CASEoS,oBATF;;EAYA,gBAA8BhS,QAAQ,EAAtC;MAAQiS,iBAAR,aAAQA,iBAAR;;EAEA,gBAAgClD,QAAQ,CAAqB,IAArB,CAAxC;MAAOzK,QAAP;MAAiBG,WAAjB;;EAEA,IAAMkO,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACjR,KAAD;IAC9BA,KAAK,CAAC8O,eAAN;IACA9O,KAAK,CAACkR,cAAN;IACAnO,WAAW,CAAC/C,KAAK,CAAC+O,aAAP,CAAX;GAHF;;EAMA,IAAMoC,mBAAmB,GAAG,SAAtBA,mBAAsB;IAC1Bb,oBAAoB,cAAMzQ,GAAN,EAApB;IACAkD,WAAW,CAAC,IAAD,CAAX;GAFF;;EAKA,OACElE,mBAAA,eAAA,MAAA,EACGmS,gBAAgB,GACfnS,mBAAA,eAAA,MAAA,EAAGmS,gBAAgB,CAAC;IAAEnR,GAAG,EAAHA,GAAF;IAAO3B,aAAa,EAAbA;GAAR,CAAnB,CADe,GAEb2B,GAAG,CAACsB,EAAJ,MAAWoP,iBAAX,oBAAWA,iBAAiB,CAAEpP,EAA9B,IACFtC,mBAAA,CAACuR,qBAAD;IAAuBvQ,GAAG,EAAEA;IAAK3B,aAAa,EAAEA;GAAhD,CADE,GAEA,CAACgS,wBAAD,IAA6BD,aAA7B,GACFpR,mBAAA,CAACC,OAAD;IAAS0H,SAAS,EAAC;IAAQzH,KAAK;IAACG,KAAK,EAAET,YAAY,CAACzH;GAArD,EACE6H,mBAAA,CAACM,UAAD;IAAYG,EAAE,EAAEuR;IAAwBxR,OAAO,EAAE8R;GAAjD,EACEtS,mBAAA,CAAClD,QAAD,MAAA,CADF,CADF,CADE,GAMAuU,wBAAwB,GAC1BrR,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACC,OAAD;IACEC,KAAK;IACLC,UAAU,EAAE;IACZC,cAAc,EAAE;IAChBC,KAAK,EAAET,YAAY,CAAC7F;GAJtB,EAMEiG,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAAC7F;IACzByG,OAAO,EAAE4R;IACT7K,IAAI,EAAC;IACL9G,EAAE,EAAEuR;GAJN,EAMEhS,mBAAA,CAAChC,aAAD,MAAA,CANF,CANF,CADF,EAgBEgC,mBAAA,CAACkR,iBAAD;IACEnN,QAAQ,EAAEA;IACVoN,UAAU,EAAEmB;IACZtR,GAAG,EAAEA;IACLkD,WAAW,EAAEA;IACb7E,aAAa,EAAEA;GALjB,CAhBF,CAD0B,GAyBxB,IApCN,CADF;AAwCD,CAvEM;;ACZA,IAAMkT,kBAAkB,GAAc,SAAhCA,kBAAgC;MAC3CvR,WAAAA;MACAwR,iBAAAA;MACAnT,qBAAAA;EAEA,IACEoT,WADF,GAWIpT,aAXJ,CACEoT,WADF;MAEEC,mBAFF,GAWIrT,aAXJ,CAEEqT,mBAFF;MAGEjT,QAHF,GAWIJ,aAXJ,CAGEI,QAHF;8BAWIJ,aAXJ,CAIEK,OAJF;MAKIE,YALJ,yBAKIA,YALJ;MAMI+S,sBANJ,yBAMIA,sBANJ;MAOIC,oBAPJ,yBAOIA,oBAPJ;MAQIC,oBARJ,yBAQIA,oBARJ;MASIC,aATJ,yBASIA,aATJ;;EAaA,gBAA2BrT,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,IAAMgT,kBAAkB,GAAG,SAArBA,kBAAqB,CAAC5R,KAAD;IACzB,IAAIqR,SAAJ,EAAe;MACb,IAAIM,aAAa,KAAK,KAAtB,EAA6B;QAC3BzT,aAAa,CAAC2T,+BAAd,GAAgD7R,KAAhD;OADF,MAEO,IAAI2R,aAAa,KAAK,MAAtB,EAA8B;QACnCzT,aAAa,CAAC4T,mCAAd,GAAoD9R,KAApD;;;MAEF0R,oBAAoB,QAApB,YAAAA,oBAAoB,CAAG;QACrB1R,KAAK,EAALA,KADqB;QAErB+R,YAAY,EAAE/R,KAAK,CAACgS,MAAN,CAAarH,OAAb,GAAuB2G,WAAW,GAAGW,QAArC,GAAgD,EAFzC;QAGrB/T,aAAa,EAAbA;OAHkB,CAApB;KANF,MAWO,IAAI2B,GAAJ,EAAS;MACdA,GAAG,QAAH,YAAAA,GAAG,CAAEqS,wBAAL,GAAgClS,KAAhC;MACAyR,oBAAoB,QAApB,YAAAA,oBAAoB,CAAG;QACrBzR,KAAK,EAALA,KADqB;QAErBH,GAAG,EAAHA,GAFqB;QAGrBkS,YAAY,EAAE/R,KAAK,CAACgS,MAAN,CAAarH,OAAb,aACN4G,mBAAmB,GAAGU,QADhB,GAC0BpS,GAD1B,KAEV0R,mBAAmB,GAAGU,QAAtB,CAA+BzN,MAA/B,CACE,UAAC2N,WAAD;UAAA,OAAiBA,WAAW,CAAChR,EAAZ,KAAmBtB,GAAG,CAACsB,EAAxC;SADF,CALiB;QAQrBjD,aAAa,EAAbA;OARkB,CAApB;;GAdJ;;EA2BA,IAAMkU,aAAa,GACjBZ,sBAAsB,YAAY3J,QAAlC,GACI2J,sBAAsB,CAAC;IAAEa,WAAW,EAAE,CAAC,CAAChB,SAAjB;IAA4BxR,GAAG,EAAHA,GAA5B;IAAiC3B,aAAa,EAAbA;GAAlC,CAD1B,GAEIsT,sBAHN;EAKA,OACE3S,mBAAA,CAACC,OAAD;IACEC,KAAK;IACLC,UAAU,EAAE;IACZC,cAAc,EAAE;IAChBC,KAAK,EACHmS,SAAS,GAAG5S,YAAY,CAACzE,eAAhB,GAAkCyE,YAAY,CAACxE;GAL5D,EAQE4E,mBAAA,CAACyT,QAAD;IACE3H,OAAO,EACL0G,SAAS,GACLnT,aAAa,CAACqU,oBAAd,EADK,GAEL1S,GAFK,oBAELA,GAAG,CAAE2S,aAAL;IAENC,aAAa,EACXpB,SAAS,GACLnT,aAAa,CAACwU,qBAAd,EADK,GAEL7S,GAFK,oBAELA,GAAG,CAAE8S,iBAAL;IAENC,UAAU,EAAE;MACV,cAAcvB,SAAS,GACnB5S,YAAY,CAACzE,eADM,GAEnByE,YAAY,CAACxE;;IAEnB+Q,QAAQ,EAAE4G;IACVxL,IAAI,EAAExH,cAAc,GAAG,OAAH,GAAa;KAC7BwT;IACJ9S,EAAE;MACAC,MAAM,EAAEX,cAAc,GAAG,SAAH,GAAe,SADrC;MAEAY,KAAK,EAAEZ,cAAc,GAAG,SAAH,GAAe;OACjCwT,aAHH,oBAGGA,aAAa,CAAE9S,EAHlB;IAnBJ,CARF,CADF;AAoCD,CAxFM;;;ACVP,AAQO,IAAMuT,0BAA0B,GAAc,SAAxCA,0BAAwC;MACnD3U,qBAAAA;MACG4U;;EAEH,IACExU,QADF,GAQIJ,aARJ,CACEI,QADF;8BAQIJ,aARJ,CAEEK,OAFF;qDAGIC,KAHJ;MAGa/B,kBAHb,0BAGaA,kBAHb;MAGiCE,cAHjC,0BAGiCA,cAHjC;MAII8B,YAJJ,yBAIIA,YAJJ;MAKIsU,qBALJ,yBAKIA,qBALJ;MAOEC,eAPF,GAQI9U,aARJ,CAOE8U,eAPF;;EAUA,gBAAyB1U,QAAQ,EAAjC;MAAQ2U,YAAR,aAAQA,YAAR;;EAEA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAClT,KAAD;IAC7B+S,qBAAqB,QAArB,YAAAA,qBAAqB,CAAG;MACtB/S,KAAK,EAALA,KADsB;MAEtBiT,YAAY,EAAE,CAACA,YAFO;MAGtB/U,aAAa,EAAbA;KAHmB,CAArB;IAKA8U,eAAe,CAAC,CAACC,YAAF,CAAf;GANF;;EASA,OACEpU,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAAC1E;GAAnC,EACE8E,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAACnF;IACzB+F,OAAO,EAAE6T;KACLJ,KAHN,EAKGG,YAAY,GAAGpU,mBAAA,CAACpC,kBAAD,MAAA,CAAH,GAA4BoC,mBAAA,CAAClC,cAAD,MAAA,CAL3C,CADF,CADF;AAWD,CApCM;;;ACRP,AASO,IAAMwW,yBAAyB,GAAc,SAAvCA,yBAAuC;MAClDjV,qBAAAA;MACG4U;;EAEH,4BAKI5U,aALJ,CACEK,OADF;MAEaV,cAFb,yBAEIW,KAFJ,CAEaX,cAFb;MAGIY,YAHJ,yBAGIA,YAHJ;;EAOA,gBAAgC4O,QAAQ,CAAqB,IAArB,CAAxC;MAAOzK,QAAP;MAAiBG,WAAjB;;EAEA,IAAMqQ,WAAW,GAAG,SAAdA,WAAc,CAACpT,KAAD;IAClB+C,WAAW,CAAC/C,KAAK,CAAC+O,aAAP,CAAX;GADF;;EAIA,OACElQ,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAACpF;GAAnC,EACEwF,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAACpF;IACzBgG,OAAO,EAAE+T;KACLN,KAHN,EAKEjU,mBAAA,CAAChB,cAAD,MAAA,CALF,CADF,CADF,EAUEgB,mBAAA,CAACsM,uBAAD;IACEvI,QAAQ,EAAEA;IACVG,WAAW,EAAEA;IACb7E,aAAa,EAAEA;GAHjB,CAVF,CADF;AAkBD,CAnCM;;;ACTP,AAQO,IAAMmV,4BAA4B,GAAc,SAA1CA,4BAA0C;MACrDnV,qBAAAA;MACG4U;;EAEH,IACExU,QADF,GAQIJ,aARJ,CACEI,QADF;8BAQIJ,aARJ,CAEEK,OAFF;qDAGIC,KAHJ;MAGavD,iBAHb,0BAGaA,iBAHb;MAGgCE,gBAHhC,0BAGgCA,gBAHhC;MAIIsD,YAJJ,yBAIIA,YAJJ;MAKI6U,uBALJ,yBAKIA,uBALJ;MAOEC,iBAPF,GAQIrV,aARJ,CAOEqV,iBAPF;;EAUA,gBAA2BjV,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,IAAM4U,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACxT,KAAD;IAC/BsT,uBAAuB,QAAvB,YAAAA,uBAAuB,CAAG;MACxBtT,KAAK,EAALA,KADwB;MAExBpB,cAAc,EAAE,CAACA,cAFO;MAGxBV,aAAa,EAAbA;KAHqB,CAAvB;IAKAqV,iBAAiB,CAAC,CAAC3U,cAAF,CAAjB;GANF;;EASA,OACEC,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAAC3E;GAAnC,EACE+E,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAAC3E;IACzBuF,OAAO,EAAEmU;KACLV,KAHN,EAKGlU,cAAc,GAAGC,mBAAA,CAAC1D,gBAAD,MAAA,CAAH,GAA0B0D,mBAAA,CAAC5D,iBAAD,MAAA,CAL3C,CADF,CADF;AAWD,CApCM;;;ACRP,AAQO,IAAMwY,uBAAuB,GAAc,SAArCA,uBAAqC;MAChDvV,qBAAAA;MACG4U;;EAEH,IACExU,QADF,GAQIJ,aARJ,CACEI,QADF;8BAQIJ,aARJ,CAEEK,OAFF;qDAGIC,KAHJ;MAGanC,cAHb,0BAGaA,cAHb;MAG6BE,iBAH7B,0BAG6BA,iBAH7B;MAIIkC,YAJJ,yBAIIA,YAJJ;MAKIiV,sBALJ,yBAKIA,sBALJ;MAOEvG,cAPF,GAQIjP,aARJ,CAOEiP,cAPF;;EAUA,gBAAwB7O,QAAQ,EAAhC;MAAQqV,WAAR,aAAQA,WAAR;;EAEA,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAC5T,KAAD;IAC9B0T,sBAAsB,QAAtB,YAAAA,sBAAsB,CAAG;MACvB1T,KAAK,EAALA,KADuB;MAEvB2T,WAAW,EAAE,CAACA,WAFS;MAGvBzV,aAAa,EAAbA;KAHoB,CAAtB;IAKAiP,cAAc,CAAC,CAACwG,WAAF,CAAd;GANF;;EASA,OACE9U,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAACnF;GAAnC,EACEuF,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAACnF;IACzB+F,OAAO,EAAEuU;KACLd,KAHN,EAKGa,WAAW,GAAG9U,mBAAA,CAACtC,iBAAD,MAAA,CAAH,GAA2BsC,mBAAA,CAACxC,cAAD,MAAA,CALzC,CADF,CADF;AAWD,CApCM;;;ACRP,AAQO,IAAMwX,4BAA4B,GAAc,SAA1CA,4BAA0C;MACrD3V,qBAAAA;MACG4U;;EAEH,IACExU,QADF,GAUIJ,aAVJ,CACEI,QADF;8BAUIJ,aAVJ,CAEEK,OAFF;qDAGIC,KAHJ;MAGajB,UAHb,0BAGaA,UAHb;MAGyBE,aAHzB,0BAGyBA,aAHzB;MAIIyP,OAJJ,yBAIIA,OAJJ;MAKIzO,YALJ,yBAKIA,YALJ;MAMIqV,uBANJ,yBAMIA,uBANJ;MAOIC,2BAPJ,yBAOIA,2BAPJ;MASEC,mBATF,GAUI9V,aAVJ,CASE8V,mBATF;;EAYA,gBAA6B1V,QAAQ,EAArC;MAAQ2V,gBAAR,aAAQA,gBAAR;;EAEA,IAAMC,cAAc,GAClBJ,uBAAuB,YAAYjM,QAAnC,GACIiM,uBAAuB,CAAC;IAAE5V,aAAa,EAAbA;GAAH,CAD3B,GAEI4V,uBAHN;;EAKA,IAAMK,kBAAkB,GAAG,SAArBA,kBAAqB,CAACnU,KAAD;IACzB+T,2BAA2B,QAA3B,YAAAA,2BAA2B,CAAG;MAC5B/T,KAAK,EAALA,KAD4B;MAE5BiU,gBAAgB,EAAE,CAACA,gBAFS;MAG5B/V,aAAa,EAAbA;KAHyB,CAA3B;IAKA8V,mBAAmB,CAAC,CAACC,gBAAF,CAAnB;IACA1F,UAAU,CACR;MAAA;;MAAA,gCACEC,QAAQ,CACLC,cADH,uBAEIyF,cAFJ,oBAEIA,cAAc,CAAE/S,EAFpB,0CAEiC+L,OAFjC,wBADF,qBACE,sBAIIyB,KAJJ,EADF;KADQ,EAOR,GAPQ,CAAV;GAPF;;EAkBA,OACE9P,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACG,KAAK,EAAET,YAAY,CAAClF;GAAnC,EACEsF,mBAAA,CAACM,UAAD;IAAYE,OAAO,EAAE8U;KAAwBrB,KAA7C,EACGmB,gBAAgB,GAAGpV,mBAAA,CAACpB,aAAD,MAAA,CAAH,GAAuBoB,mBAAA,CAACtB,UAAD,MAAA,CAD1C,CADF,CADF;AAOD,CAhDM;;ACcA,IAAM6W,mBAAmB,GAAc,SAAjCA,mBAAiC;MAAGlW,qBAAAA;EAC/C,IACEI,QADF,GAUIJ,aAVJ,CACEI,QADF;MAEE+V,eAFF,GAUInW,aAVJ,CAEEmW,eAFF;8BAUInW,aAVJ,CAGEK,OAHF;qDAIIC,KAJJ;MAIajB,UAJb,0BAIaA,UAJb;MAIyBxC,SAJzB,0BAIyBA,SAJzB;MAKImS,OALJ,yBAKIA,OALJ;MAMIzO,YANJ,yBAMIA,YANJ;MAOIqV,uBAPJ,yBAOIA,uBAPJ;MAQIQ,4BARJ,yBAQIA,4BARJ;;EAYA,gBAA2ChW,QAAQ,EAAnD;MAAQiW,YAAR,aAAQA,YAAR;MAAsBN,gBAAtB,aAAsBA,gBAAtB;;EAEA,gBAAgC5G,QAAQ,CAAqB,IAArB,CAAxC;MAAOzK,QAAP;MAAiBG,WAAjB;;EACA,iBAAsCsK,QAAQ,CAACkH,YAAD,WAACA,YAAD,GAAiB,EAAjB,CAA9C;MAAOC,WAAP;MAAoBC,cAApB;;EAEA,IAAMC,YAAY,GAAGC,WAAW,CAC9BC,QAAQ,CAAC,UAAC5U,KAAD;;;IACPqU,eAAe,wBAACrU,KAAK,CAACgS,MAAN,CAAazR,KAAd,kCAAuB2B,SAAvB,CAAf;IACAoS,4BAA4B,QAA5B,YAAAA,4BAA4B,CAAG;MAAEtU,KAAK,EAALA,KAAF;MAAS9B,aAAa,EAAbA;KAAZ,CAA5B;GAFM,EAGL,GAHK,CADsB,EAK9B,EAL8B,CAAhC;;EAQA,IAAM2W,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAC7U,KAAD;IACjC+C,WAAW,CAAC/C,KAAK,CAAC+O,aAAP,CAAX;GADF;;EAIA,IAAM+F,WAAW,GAAG,SAAdA,WAAc;IAClBL,cAAc,CAAC,EAAD,CAAd;IACAJ,eAAe,CAACnS,SAAD,CAAf;GAFF;;EAKA,IAAMgS,cAAc,GAClBJ,uBAAuB,YAAYjM,QAAnC,GACIiM,uBAAuB,CAAC;IAAE5V,aAAa,EAAbA;GAAH,CAD3B,GAEI4V,uBAHN;EAKA,OACEjV,mBAAA,CAACkW,QAAD;IAAU,MAAId;IAAkBe,WAAW,EAAC;GAA5C,EACEnW,mBAAA,CAACoW,SAAD;IACE9T,EAAE,WAAS+L,OAAT;IACFgI,WAAW,EAAEzW,YAAY,CAACzF;IAC1BgS,QAAQ,EAAE,kBAAChL,KAAD;MACRyU,cAAc,CAACzU,KAAK,CAACgS,MAAN,CAAazR,KAAd,CAAd;MACAmU,YAAY,CAAC1U,KAAD,CAAZ;;IAEFO,KAAK,EAAEiU,WAAF,WAAEA,WAAF,GAAiB;IACtBW,OAAO,EAAC;IACRC,UAAU,EAAE;MACVC,cAAc,EACZxW,mBAAA,CAACyW,cAAD;QAAgBC,QAAQ,EAAC;OAAzB,EACE1W,mBAAA,CAACC,OAAD;QAASC,KAAK;QAACG,KAAK,EAAET,YAAY,CAAChI;OAAnC,EACEoI,mBAAA,OAAA,MAAA,EACEA,mBAAA,CAACM,UAAD;sBACcV,YAAY,CAAChI;QACzB4I,OAAO,EAAEwV;QACTzO,IAAI,EAAC;QACL9G,EAAE,EAAE;UAAEC,MAAM,EAAE,SAAV;UAAqBC,KAAK,EAAE;;OAJlC,EAMEX,mBAAA,CAACtB,UAAD,MAAA,CANF,CADF,CADF,CADF,CAFQ;MAiBViY,YAAY,EACV3W,mBAAA,CAACyW,cAAD;QAAgBC,QAAQ,EAAC;OAAzB,EACE1W,mBAAA,CAACM,UAAD;sBACcV,YAAY,CAAC9H;QACzByI,QAAQ,EAAE,CAAAoV,WAAW,QAAX,YAAAA,WAAW,CAAErN,MAAb,MAAwB;QAClC9H,OAAO,EAAEyV;QACT1O,IAAI,EAAC;QACLlH,KAAK,EAAET,YAAY,CAAC9H;OALtB,EAOEkI,mBAAA,CAAC9D,SAAD,MAAA,CAPF,CADF;;KAaAmZ;IACJ5U,EAAE;MAAImW,WAAW,EAAE;OAAUvB,cAA3B,oBAA2BA,cAAc,CAAE5U,EAA3C;IAzCJ,CADF,EA4CET,mBAAA,CAAC8D,oBAAD;IACEC,QAAQ,EAAEA;IACVG,WAAW,EAAEA;IACb7E,aAAa,EAAEA;GAHjB,CA5CF,CADF;AAoDD,CA5FM;;ACRA,IAAMwX,0BAA0B,GAAc,SAAxCA,0BAAwC;;;MAAGxX,qBAAAA;EACtD,4BAWIA,aAXJ,CACEK,OADF;MAEIuO,mBAFJ,yBAEIA,mBAFJ;MAGI6I,wBAHJ,yBAGIA,wBAHJ;MAIIC,aAJJ,yBAIIA,aAJJ;MAKIC,sBALJ,yBAKIA,sBALJ;MAMIC,kBANJ,yBAMIA,kBANJ;MAOI9J,YAPJ,yBAOIA,YAPJ;MAQI+J,oBARJ,yBAQIA,oBARJ;MASIC,4BATJ,yBASIA,4BATJ;EAaA,OACEnX,mBAAA,CAACmH,GAAD;IACE1G,EAAE,EAAE;MACF8K,OAAO,EAAE,MADP;MAEF1H,UAAU,EAAE,QAFV;MAGFuT,MAAM,EAAE;;GAJZ,2BAOGD,4BAPH,oBAOGA,4BAA4B,CAAG;IAC9BnD,0BAA0B,EAA1BA,0BAD8B;IAE9BM,yBAAyB,EAAzBA,yBAF8B;IAG9BE,4BAA4B,EAA5BA,4BAH8B;IAI9BI,uBAAuB,EAAvBA,uBAJ8B;IAK9BI,4BAA4B,EAA5BA,4BAL8B;IAM9B3V,aAAa,EAAbA;GAN2B,CAP/B,oCAeIW,mBAAA,eAAA,MAAA,EACGiX,kBAAkB,IAAIC,oBAAoB,KAAK,OAA/C,IACClX,mBAAA,CAACuV,mBAAD;IAAqBlW,aAAa,EAAEA;GAApC,CAFJ,EAIG0X,aAAa,IAAIE,kBAAjB,IACCjX,mBAAA,CAACgV,4BAAD;IAA8B3V,aAAa,EAAEA;GAA7C,CALJ,EAOG0X,aAAa,IAAI9I,mBAAjB,IACCjO,mBAAA,CAAC4U,uBAAD;IAAyBvV,aAAa,EAAEA;GAAxC,CARJ,EAUG8N,YAAY,IACXnN,mBAAA,CAACsU,yBAAD;IAA2BjV,aAAa,EAAEA;GAA1C,CAXJ,EAaGyX,wBAAwB,IACvB9W,mBAAA,CAACwU,4BAAD;IAA8BnV,aAAa,EAAEA;GAA7C,CAdJ,EAgBG2X,sBAAsB,IACrBhX,mBAAA,CAACgU,0BAAD;IAA4B3U,aAAa,EAAEA;GAA3C,CAjBJ,CAfJ,CADF;AAuCD,CArDM;;ACNA,IAAMgY,mBAAmB,GAAc,SAAjCA,mBAAiC;MAAGhY,qBAAAA;EAC/C,IACEiY,wBADF,GAMIjY,aANJ,CACEiY,wBADF;MAEE7X,QAFF,GAMIJ,aANJ,CAEEI,QAFF;MAGE8X,YAHF,GAMIlY,aANJ,CAGEkY,YAHF;MAIEC,WAJF,GAMInY,aANJ,CAIEmY,WAJF;MAKaC,uBALb,GAMIpY,aANJ,CAKEK,OALF,CAKa+X,uBALb;;EAQA,gBAEIhY,QAAQ,EAFZ;uCACEiY,UADF;mDACgBC,QADhB;MACgBA,QADhB,sCAC2B,EAD3B;oDAC+BC,SAD/B;MAC+BA,SAD/B,uCAC2C,CAD3C;;EAIA,IAAMC,oBAAoB,GACxBJ,uBAAuB,YAAYzO,QAAnC,GACIyO,uBAAuB,CAAC;IAAEpY,aAAa,EAAbA;GAAH,CAD3B,GAEIoY,uBAHN;;EAKA,IAAMK,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAC3W,KAAD;IAC9BqW,WAAW,CAAC,CAACrW,KAAK,CAACgS,MAAN,CAAazR,KAAf,CAAX;GADF;;EAIA,IAAMqW,wBAAwB,GAC5BT,wBAAwB,GAAGU,IAA3B,CAAgC1P,MAAhC,GAAyCqP,QAAzC,GAAoD,CADtD;EAGA,OACE3X,mBAAA,CAACiY,eAAD;IACEC,WAAW,EAAE;MACXzX,EAAE,EAAE;QAAEqH,CAAC,EAAE;OADE;MAEXqQ,SAAS,EAAE;QAAE3R,aAAa,EAAE;UAAE4R,cAAc,EAAE;;;;IAEhDC,SAAS,EAAC;IACVC,KAAK,EAAEhB,wBAAwB,GAAGU,IAA3B,CAAgC1P;IACvCiQ,YAAY,EAAE,sBAACC,CAAD,EAASC,OAAT;MAAA,OAA6BlB,YAAY,CAACkB,OAAD,CAAzC;;IACdC,mBAAmB,EAAEZ;IACrBa,IAAI,EAAEf;IACNgB,WAAW,EAAEjB;IACbkB,kBAAkB,EAAE,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,EAAY,EAAZ,EAAgB,EAAhB,EAAoB,EAApB,EAAwB,EAAxB,EAA4B,GAA5B;IACpBC,eAAe,EAAEf;IACjBgB,cAAc,EAAEhB;KACZF;IACJpX,EAAE;MACAqH,CAAC,EAAE,UADH;MAEA4O,QAAQ,EAAE,UAFV;MAGAU,MAAM,EAAE;OACLS,oBAJH,oBAIGA,oBAAoB,CAAEpX,EAJzB;IAfJ,CADF;AAwBD,CAjDM;;ACCA,IAAMuY,sBAAsB,GAAc,SAApCA,sBAAoC;;;MAC/CC,wBAAAA;MACA5Z,qBAAAA;EAEA,IACEiY,wBADF,GAKIjY,aALJ,CACEiY,wBADF;MAEE5E,mBAFF,GAKIrT,aALJ,CAEEqT,mBAFF;MAGEjT,QAHF,GAKIJ,aALJ,CAGEI,QAHF;8BAKIJ,aALJ,CAIEK,OAJF;MAIaE,YAJb,yBAIaA,YAJb;MAI2BsZ,+BAJ3B,yBAI2BA,+BAJ3B;;EAOA,gBAAqBzZ,QAAQ,EAA7B;MAAQ0Z,QAAR,aAAQA,QAAR;;EAEA,IAAMC,UAAU,GACdF,+BAA+B,YAAYlQ,QAA3C,GACIkQ,+BAA+B,CAAC;IAAE7Z,aAAa,EAAbA;GAAH,CADnC,GAEI6Z,+BAHN;EAKA,IAAMG,aAAa,GACjB3G,mBAAmB,GAAGsF,IAAtB,CAA2B1P,MAA3B,GAAoC,CAApC,4BACI1I,YAAY,CAACxF,mCADjB,+CACI,sBACImW,OADJ,CAEI,iBAFJ,EAGImC,mBAAmB,GAAGsF,IAAtB,CAA2B1P,MAA3B,CAAkC9F,QAAlC,EAHJ,CADJ,qBACI,uBAKI+N,OALJ,CAMI,YANJ,EAOI+G,wBAAwB,GAAGU,IAA3B,CAAgC1P,MAAhC,CAAuC9F,QAAvC,EAPJ,CADJ,GAUI,IAXN;EAaA,IAAM8W,gBAAgB,GACpBH,QAAQ,CAAC7Q,MAAT,GAAkB,CAAlB,GACEtI,mBAAA,OAAA,MAAA,EACGJ,YAAY,CAACtG,SADhB,EAC2B,GAD3B,EAEG6f,QAAQ,CAACzS,GAAT,CAAa,UAACjF,QAAD,EAAWkF,KAAX;IAAA,OACZ3G,mBAAA,CAACuZ,QAAD;MAAU1S,GAAG,EAAKF,KAAL,SAAclF;KAA3B,EACGkF,KAAK,GAAG,CAAR,GAAY/G,YAAY,CAAC7E,MAAzB,GAAkC,EADrC,EAEEiF,mBAAA,CAACwZ,IAAD;MACEzH,KAAK,EAAC;MACNjN,KAAK,EAAEzF,aAAa,CAACoa,SAAd,CAAwBhY,QAAxB,EAAkCgD,SAAlC,CAA4CT;MACnD0V,QAAQ,EAAE;QAAA,OACRra,aAAa,CAACoa,SAAd,CAAwBhY,QAAxB,EAAkC6N,cAAlC,EADQ;;KAHZ,CAFF,CADY;GAAb,CAFH,CADF,GAgBI,IAjBN;EAmBA,OACEtP,mBAAA,CAACkW,QAAD;IACE,MAAI,CAAC,CAACmD,aAAF,IAAmB,CAAC,CAACC;IACzBK,OAAO,EAAEV,gBAAgB,GAAG,GAAH,GAAS;GAFpC,EAIEjZ,mBAAA,CAAC4Z,KAAD;IACE7H,KAAK,EAAC;IACN8H,IAAI,EAAE;IACNpZ,EAAE;MACAqZ,YAAY,EAAE,CADd;MAEAC,QAAQ,EAAE,MAFV;MAGAC,IAAI,EAAE,CAHN;MAIAhS,CAAC,EAAE,CAJH;MAKA0O,QAAQ,EAAE,UALV;MAMAuD,KAAK,EAAE,CANP;MAOAC,GAAG,EAAE,CAPL;MAQAvZ,KAAK,EAAE,MARP;MASAyW,MAAM,EAAE;OACLgC,UAVH,oBAUGA,UAAU,CAAE3Y,EAVf;KAYE2Y,WAfN,EAiBEpZ,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAE;MAAEuH,CAAC,EAAE;;GAAd,EACGqR,aADH,EAEGA,aAAa,IAAIC,gBAAjB,IAAqCtZ,mBAAA,KAAA,MAAA,CAFxC,EAGGsZ,gBAHH,CAjBF,CAJF,CADF;AA8BD,CAhFM;;ACAA,IAAMa,qBAAqB,GAAc,SAAnCA,qBAAmC;MAC9CC,eAAAA;MACA/a,qBAAAA;EAEA,IACagb,sBADb,GAGIhb,aAHJ,CACEK,OADF,CACa2a,sBADb;MAEE5a,QAFF,GAGIJ,aAHJ,CAEEI,QAFF;;EAKA,gBAAwCA,QAAQ,EAAhD;MAAQ6a,SAAR,aAAQA,SAAR;MAAmBC,gBAAnB,aAAmBA,gBAAnB;;EAEA,IAAMC,mBAAmB,GACvBH,sBAAsB,YAAYrR,QAAlC,GACIqR,sBAAsB,CAAC;IAAEhb,aAAa,EAAbA;GAAH,CAD1B,GAEIgb,sBAHN;EAKA,OACEra,mBAAA,CAACkW,QAAD;IACE,MAAIoE,SAAS,IAAIC;IACjBE,YAAY;IACZC,aAAa;IACbja,EAAE,EAAE;MACFka,MAAM,EAAEP,OAAO,KAAK,QAAZ,GAAuB,CAAvB,GAA2B/W,SADjC;MAEFqT,QAAQ,EAAE,UAFR;MAGFwD,GAAG,EAAEE,OAAO,KAAK,KAAZ,GAAoB,CAApB,GAAwB/W,SAH3B;MAIF1C,KAAK,EAAE;;GARX,EAWEX,mBAAA,CAAC4a,cAAD;kBACa;iBACD;IACVna,EAAE,EAAE;MAAEiW,QAAQ,EAAE;;KACZ8D,oBAJN,CAXF,CADF;AAoBD,CApCM;;ACAA,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,OAAkC;IACnE7S,eAAe,EAAE8S,OAAO,CAACD,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC,CAD2C;IAEnEC,eAAe,EAAE,MAFkD;IAGnE3P,OAAO,EAAE,MAH0D;IAInE4P,SAAS,EAAE,QAJwD;IAKnEC,QAAQ,EAAE,QALyD;IAMnEpT,CAAC,EAAE,cANgE;IAOnElH,UAAU,EAAE,sBAPuD;IAQnEH,KAAK,EAAE,MAR4D;IASnEyW,MAAM,EAAE;GATyB;AAAA,CAA5B;AAgBP,AAAO,IAAMiE,cAAc,GAAc,SAA5BA,cAA4B;;;MAAGhc,sBAAAA;EAC1C,IACEI,QADF,GAcIJ,aAdJ,CACEI,QADF;8BAcIJ,aAdJ,CAEEK,OAFF;MAGIuX,kBAHJ,yBAGIA,kBAHJ;MAIIqE,gBAJJ,yBAIIA,gBAJJ;MAKIC,4BALJ,yBAKIA,4BALJ;MAMIlN,OANJ,yBAMIA,OANJ;MAOImN,uBAPJ,yBAOIA,uBAPJ;MAQIC,kBARJ,yBAQIA,kBARJ;MASIvE,oBATJ,yBASIA,oBATJ;MAUIwE,sBAVJ,yBAUIA,sBAVJ;MAWIC,0BAXJ,yBAWIA,0BAXJ;MAYIC,0BAZJ,yBAYIA,0BAZJ;;EAgBA,gBAA2Cnc,QAAQ,EAAnD;MAAQ2U,YAAR,aAAQA,YAAR;MAAsBgB,gBAAtB,aAAsBA,gBAAtB;;EAEA,IAAMyG,QAAQ,GAAGC,aAAa,CAAC,mBAAD,CAA9B;EAEA,IAAMC,YAAY,GAChBP,uBAAuB,YAAYxS,QAAnC,GACIwS,uBAAuB,CAAC;IAAEnc,aAAa,EAAbA;GAAH,CAD3B,GAEImc,uBAHN;EAKA,IAAMvC,gBAAgB,GACpB4C,QAAQ,IACPF,0BAA0B,KAAK,KAA/B,KACE,CAAC,CAACC,0BAAF,IAAgCxG,gBADlC,CAFH;EAKA,OACEpV,mBAAA,CAACgc,OAAD;IACE1Z,EAAE,WAAS+L,OAAT;IACFiI,OAAO,EAAC;KACJyF;IACJtb,EAAE,EAAE,YAACqa,KAAD;MAAA;QAEApE,QAAQ,EAAEtC,YAAY,GAAG,QAAH,GAAc/Q,SAFpC;QAGA6W,GAAG,EAAE9F,YAAY,GAAG,GAAH,GAAS/Q;SACvBwX,mBAAmB,CAAC;QAAEC,KAAK,EAALA;OAAH,CAJtB,EAKGiB,YALH,oBAKGA,YAAY,CAAEtb,EALjB;;IAJN,EAaGkb,0BAA0B,KAAK,KAA/B,IACC3b,mBAAA,CAACgZ,sBAAD;IACEC,gBAAgB,EAAEA;IAClB5Z,aAAa,EAAEA;GAFjB,CAdJ,EAmBEW,mBAAA,CAACmH,GAAD;IACE1G,EAAE,EAAE;MACF8K,OAAO,EAAE,MADP;MAEFH,cAAc,EAAE,eAFd;MAGFpD,CAAC,EAAE,QAHD;MAIF0O,QAAQ,EAAEuC,gBAAgB,GAAG,UAAH,GAAgB,UAJxC;MAKFgB,KAAK,EAAE,CALL;MAMFC,GAAG,EAAE,CANH;MAOFvZ,KAAK,EAAEib,0BAA0B,GAAG,MAAH,GAAYvY;;GARjD,EAWG4T,kBAAkB,IAAIC,oBAAoB,KAAK,MAA/C,IACClX,mBAAA,CAACuV,mBAAD;IAAqBlW,aAAa,EAAEA;GAApC,CAZJ,2BAcGuc,0BAdH,oBAcGA,0BAA0B,CAAG;IAAEvc,aAAa,EAAbA;GAAL,CAd7B,oCAcsDW,mBAAA,OAAA,MAAA,CAdtD,EAeGub,4BAA4B,IAAIG,sBAAsB,KAAK,KAA3D,IACC1b,mBAAA,CAAC6W,0BAAD;IAA4BxX,aAAa,EAAEA;GAA3C,CAhBJ,CAnBF,EAsCEW,mBAAA,MAAA,MAAA,EACGsb,gBAAgB,IACf,CAAC,KAAD,EAAQ,MAAR,EAAgB3Y,QAAhB,CAAyB8Y,kBAAzB,WAAyBA,kBAAzB,GAA+C,EAA/C,CADD,IAEGzb,mBAAA,CAACqX,mBAAD;IAAqBhY,aAAa,EAAEA;GAApC,CAHN,CAtCF,EA4CEW,mBAAA,CAACma,qBAAD;IAAuBC,OAAO,EAAC;IAAS/a,aAAa,EAAEA;GAAvD,CA5CF,CADF;AAgDD,CA/EM;;ACZA,IAAM4c,iBAAiB,GAAc,SAA/BA,iBAA+B;MAAG5c,qBAAAA;EAC7C,IACEI,QADF,GAYIJ,aAZJ,CACEI,QADF;8BAYIJ,aAZJ,CAEEK,OAFF;MAGI6b,4BAHJ,yBAGIA,4BAHJ;MAIIlN,OAJJ,yBAIIA,OAJJ;MAKIiN,gBALJ,yBAKIA,gBALJ;MAMIY,0BANJ,yBAMIA,0BANJ;MAOIT,kBAPJ,yBAOIA,kBAPJ;MAQIC,sBARJ,yBAQIA,sBARJ;MASIC,0BATJ,yBASIA,0BATJ;MAUIC,0BAVJ,yBAUIA,0BAVJ;;EAcA,gBAAyBnc,QAAQ,EAAjC;MAAQ2U,YAAR,aAAQA,YAAR;;EAEA,IAAMyH,QAAQ,GAAGC,aAAa,CAAC,mBAAD,CAA9B;EAEA,IAAMC,YAAY,GAChBG,0BAA0B,YAAYlT,QAAtC,GACIkT,0BAA0B,CAAC;IAAE7c,aAAa,EAAbA;GAAH,CAD9B,GAEI6c,0BAHN;EAKA,IAAMjD,gBAAgB,GACpB4C,QAAQ,IACPF,0BAA0B,KAAK,QAA/B,IACCD,sBAAsB,KAAK,QAF7B,IAGCC,0BAA0B,KAAK,QAA/B,IACC,CAAC,CAACC,0BADH,IAECF,sBAAsB,KAAK,QAN/B;EAQA,OACE1b,mBAAA,CAACgc,OAAD;IACE1Z,EAAE,WAAS+L,OAAT;IACFiI,OAAO,EAAC;KACJyF;IACJtb,EAAE,EAAE,YAACqa,KAAD;MAAA,oBAEGD,mBAAmB,CAAC;QAAEC,KAAK,EAALA;OAAH,CAFtB;QAGAH,MAAM,EAAEvG,YAAY,GAAG,GAAH,GAAS/Q,SAH7B;QAIA8Y,SAAS,kBAAgBC,KAAK,CAACtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBC,KAAtB,EAA6B,GAA7B,CAJ9B;QAKA5F,QAAQ,EAAEtC,YAAY,GAAG,OAAH,GAAa;SAChC2H,YANH,oBAMGA,YAAY,CAAEtb,EANjB;;IAJN,EAcET,mBAAA,CAACma,qBAAD;IAAuBC,OAAO,EAAC;IAAM/a,aAAa,EAAEA;GAApD,CAdF,EAeGsc,0BAA0B,KAAK,QAA/B,IACC3b,mBAAA,CAACgZ,sBAAD;IAAwB3Z,aAAa,EAAEA;GAAvC,CAhBJ,EAkBEW,mBAAA,CAACmH,GAAD;IACE1G,EAAE,EAAE;MACF8K,OAAO,EAAE,MADP;MAEFH,cAAc,EAAE,eAFd;MAGFzK,KAAK,EAAE,MAHL;MAIF+V,QAAQ,EAAEuC,gBAAgB,GAAG,UAAH,GAAgB,UAJxC;MAKFgB,KAAK,EAAE,CALL;MAMFC,GAAG,EAAE;;GAPT,EAUGqB,4BAA4B,IAAIG,sBAAsB,KAAK,QAA3D,GACC1b,mBAAA,CAAC6W,0BAAD;IAA4BxX,aAAa,EAAEA;GAA3C,CADD,GAGCW,mBAAA,OAAA,MAAA,CAbJ,EAeGsb,gBAAgB,IACf,CAAC,QAAD,EAAW,MAAX,EAAmB3Y,QAAnB,CAA4B8Y,kBAA5B,WAA4BA,kBAA5B,GAAkD,EAAlD,CADD,IAEGzb,mBAAA,CAACqX,mBAAD;IAAqBhY,aAAa,EAAEA;GAApC,CAjBN,CAlBF,CADF;AAyCD,CAzEM;;ACcA,IAAMkd,mBAAmB,GAAc,SAAjCA,mBAAiC;;;MAC5CvY,cAAAA;MACAwY,kBAAAA;MACAnd,qBAAAA;EAEA,IACEI,QADF,GASIJ,aATJ,CACEI,QADF;8BASIJ,aATJ,CAEEK,OAFF;qDAGIC,KAHJ;MAGanC,cAHb,0BAGaA,cAHb;MAG6BtB,SAH7B,0BAG6BA,SAH7B;MAIImS,OAJJ,yBAIIA,OAJJ;MAKIzO,YALJ,yBAKIA,YALJ;MAMIiQ,oCANJ,yBAMIA,oCANJ;MAQEzL,mBARF,GASI/E,aATJ,CAQE+E,mBARF;EAWA,IAAQI,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;;EAEA,gBAA6BhF,QAAQ,EAArC;MAAQ6E,gBAAR,aAAQA,gBAAR;;EAEA,gBAAgCkK,QAAQ,CAAqB,IAArB,CAAxC;MAAOzK,QAAP;MAAiBG,WAAjB;;EAEA,IAAMuY,kCAAkC,GACtC5M,oCAAoC,YAAY7G,QAAhD,GACI6G,oCAAoC,CAAC;IAAErL,MAAM,EAANA,MAAF;IAAUnF,aAAa,EAAbA;GAAX,CADxC,GAEIwQ,oCAHN;EAKA,IAAM6M,mCAAmC,GACvCjY,SAAS,CAACoL,oCAAV,YAA0D7G,QAA1D,GACIvE,SAAS,CAACoL,oCAAV,CAA+C;IAC7CrL,MAAM,EAANA,MAD6C;IAE7CnF,aAAa,EAAbA;GAFF,CADJ,GAKIoF,SAAS,CAACoL,oCANhB;;EAQA,IAAMwF,cAAc,gBACfoH,kCADe,EAEfC,mCAFe,CAApB;;EAKA,iBAAsClO,QAAQ,CAAS;IAAA;;IAAA,OACrDgO,UAAU,KAAKnZ,SAAf,sDACKmB,MAAM,CAACkM,cAAP,EADL,qBACK,uBAA+C8L,UAA/C,CADL,oCACmE,EADnE,6BAEKhY,MAAM,CAACkM,cAAP,EAFL,qCAE2C,EAHU;GAAT,CAA9C;MAAOnO,WAAP;MAAoByD,cAApB;;EAMA,IAAM2W,qBAAqB,GAAG7G,WAAW,CACvCC,QAAQ,CACN,UAAC5U,KAAD;IAAA;;IAAA,OACEqb,UAAU,KAAKnZ,SAAf,GACImB,MAAM,CAACwB,cAAP,CAAsB,UAACuJ,GAAD;MACpB,IAAMqN,eAAe,GAAGrN,GAAH,WAAGA,GAAH,GAAU,CAAC,EAAD,EAAK,EAAL,CAA/B;MACAqN,eAAe,CAACJ,UAAD,CAAf,GAA8Brb,KAAK,CAACgS,MAAN,CAAazR,KAA3C;MACA,OAAOkb,eAAP;KAHF,CADJ,GAMIpY,MAAM,CAACwB,cAAP,wBAAsB7E,KAAK,CAACgS,MAAN,CAAazR,KAAnC,kCAA4C2B,SAA5C,CAPN;GADM,EASN,GATM,CAD+B,EAYvC,EAZuC,CAAzC;;EAeA,IAAMwZ,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAC1b,KAAD;IAC3B+C,WAAW,CAAC/C,KAAK,CAAC+O,aAAP,CAAX;GADF;;EAIA,IAAM+F,WAAW,GAAG,SAAdA,WAAc;IAClBjQ,cAAc,CAAC,EAAD,CAAd;;IACA,IAAIwW,UAAU,KAAKnZ,SAAnB,EAA8B;MAC5BmB,MAAM,CAACwB,cAAP,CAAsB,UAACuJ,GAAD;QACpB,IAAMqN,eAAe,GAAGrN,GAAH,WAAGA,GAAH,GAAU,CAAC,EAAD,EAAK,EAAL,CAA/B;QACAqN,eAAe,CAACJ,UAAD,CAAf,GAA8BnZ,SAA9B;QACA,OAAOuZ,eAAP;OAHF;KADF,MAMO;MACLpY,MAAM,CAACwB,cAAP,CAAsB3C,SAAtB;;GATJ;;EAaA,IAAMyZ,qBAAqB,GAAG,SAAxBA,qBAAwB;IAC5B9W,cAAc,CAAC,EAAD,CAAd;IACAxB,MAAM,CAACwB,cAAP,CAAsB3C,SAAtB;IACAe,mBAAmB,CAAC,UAAC2B,IAAD;MAAA;;MAAA,oBACfA,IADe,6BAEjB/B,MAAM,CAAC1B,EAFU,IAELf,iBAAiB,CAACsD,KAFb;KAAD,CAAnB;GAHF;;EASA,IAAIJ,SAAS,CAACsY,MAAd,EAAsB;IACpB,OAAO/c,mBAAA,eAAA,MAAA,EAAGyE,SAAS,CAACsY,MAAb,oBAAGtY,SAAS,CAACsY,MAAV,CAAmB;MAAE/Y,MAAM,EAANA,MAAF;MAAU3E,aAAa,EAAbA;KAA7B,CAAH,CAAP;;;EAGF,IAAM2d,QAAQ,YAAU3O,OAAV,SAAqBrK,MAAM,CAAC1B,EAA5B,2BACZka,UADY,WACZA,UADY,GACE,EADF,CAAd;EAGA,IAAMzT,QAAQ,GAAGzE,gBAAH,oBAAGA,gBAAgB,CAAGN,MAAM,CAAC1B,EAAV,CAAjC;EACA,IAAM2a,cAAc,GAAG,CAAC,CAACxY,SAAS,CAACkM,mBAAnC;EACA,IAAMuM,eAAe,GACnB,EAAEnU,QAAQ,YAAYC,QAAtB,KACA,CAACzH,iBAAiB,CAACkE,KAAnB,EAA0BlE,iBAAiB,CAACmE,SAA5C,EAAuD/C,QAAvD,CACEoG,QADF,CADA;EAKInJ,YAAY,aACDmJ,QAAQ,CAACoU,MAAT,CAAgB,CAAhB,EAAmBC,WAAnB,KAAmCrU,QAAQ,CAACsU,KAAT,CAAe,CAAf,CADlC,EALhB,GAQI,EATN;EAUA,IAAMC,iBAAiB,GACrBd,UAAU,KAAKnZ,SAAf,4BACIzD,YAAY,CAACrH,cADjB,qBACI,sBAA6BgY,OAA7B,CACE,UADF,EAEEC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAFR,CADJ,GAKIwY,UAAU,KAAK,CAAf,GACA5c,YAAY,CAAClG,GADb,GAEA8iB,UAAU,KAAK,CAAf,GACA5c,YAAY,CAACnG,GADb,GAEA,EAVN;EAYA,OACEuG,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACoW,SAAD;IACEmH,SAAS;IACTjb,EAAE,EAAE0a;IACJjJ,UAAU,EAAE;MACVxT,QAAQ,EAAE,CAAC,CAAC2c,eADF;MAEVzc,EAAE,EAAE;QACF+c,YAAY,EAAE,UADZ;QAEF7c,KAAK,EAAEuc,eAAe,GAAG,CAAH,GAAO7Z;OAJrB;MAMVhD,KAAK,EAAEid;;IAETG,UAAU,EACR,CAACjB,UAAD,GACExc,mBAAA,QAAA;MAAO0d,OAAO,EAAEV;KAAhB,EACGjU,QAAQ,YAAYC,QAApB,4BACGpJ,YAAY,CAAC7G,UAAb,CAAwBwX,OAAxB,CACE,cADF;IAAA,kBAGE3Q,YAAY,aAERmJ,QAAQ,CAAC4U,IAAT,CAAcR,MAAd,CAAqB,CAArB,EAAwBC,WAAxB,KACArU,QAAQ,CAAC4U,IAAT,CAAcN,KAAd,CAAoB,CAApB,CAHQ,EAHd,6BAQO,EARP,CADH,oCAUQ,EAVR,GAWGzd,YAAY,CAAC7G,UAAb,CAAwBwX,OAAxB,CACE,cADF;IAGE3Q,YAAY,aAERmJ,QAAQ,CAACoU,MAAT,CAAgB,CAAhB,EAAmBC,WAAnB,KAAmCrU,QAAQ,CAACsU,KAAT,CAAe,CAAf,CAF3B,EAHd,CAZN,CADF,GAuBI;IAENO,mBAAmB,EAAE;MACnBnd,EAAE,EAAE;QACFsZ,QAAQ,EAAE,QADR;QAEF8D,UAAU,EAAE,QAFV;QAGFC,UAAU,EAAE;;;IAGhBhZ,KAAK,EAAEmY,cAAc,IAAI,CAAC1a,WAAnB,GAAiC+a,iBAAjC,GAAqDja;IAC5D0a,MAAM,EAAC;IACP1H,WAAW,EACT6G,eAAe,IAAID,cAAnB,GAAoC5Z,SAApC,GAAgDia;IAElDnR,QAAQ,EAAE,kBAAChL,KAAD;MACR6E,cAAc,CAAC7E,KAAK,CAACgS,MAAN,CAAazR,KAAd,CAAd;MACAib,qBAAqB,CAACxb,KAAD,CAArB;;IAEFX,OAAO,EAAE,iBAACwd,CAAD;MAAA,OAAqCA,CAAC,CAAC/N,eAAF,EAArC;;IACT5V,MAAM,EAAE4iB;IACRvb,KAAK,EAAEa,WAAF,WAAEA,WAAF,GAAiB;IACtB+T,OAAO,EAAC;IACRC,UAAU,EAAE;MACVC,cAAc,EAAE,CAACyG,cAAD,IAAmB,CAACT,UAApB,IACdxc,mBAAA,CAACyW,cAAD;QAAgBC,QAAQ,EAAC;OAAzB,EACE1W,mBAAA,CAACC,OAAD;QAASC,KAAK;QAACG,KAAK,EAAET,YAAY,CAACjI;OAAnC,EACEqI,mBAAA,OAAA,MAAA,EACEA,mBAAA,CAACM,UAAD;sBACcV,YAAY,CAACjI;QACzB6I,OAAO,EAAEqc;QACTtV,IAAI,EAAC;QACL9G,EAAE,EAAE;UAAEC,MAAM,EAAE,SAAV;UAAqBC,KAAK,EAAE;;OAJlC,EAMEX,mBAAA,CAACxC,cAAD,MAAA,CANF,CADF,CADF,CADF,EAaG0f,eAAe,IACdld,mBAAA,CAACwZ,IAAD;QACEE,QAAQ,EAAEoD;QACVhY,KAAK,EAAEoY;OAFT,CAdJ,CAFQ;MAuBVvG,YAAY,EAAE,CAACuG,eAAD,IACZld,mBAAA,CAACyW,cAAD;QAAgBC,QAAQ,EAAC;OAAzB,EACE1W,mBAAA,CAACC,OAAD;QACEC,KAAK;QACL+d,oBAAoB,EAAEhB;QACtBtV,SAAS,EAAC;QACVtH,KAAK,2BAAET,YAAY,CAAC/H,WAAf,oCAA8B;OAJrC,EAMEmI,mBAAA,OAAA,MAAA,EACEA,mBAAA,CAACM,UAAD;sBACcV,YAAY,CAAC/H;QACzB0I,QAAQ,EAAE,EAACgC,WAAD,YAACA,WAAW,CAAE+F,MAAd;QACV9H,OAAO,EAAEyV;QACT1O,IAAI,EAAC;QACL9G,EAAE,EAAE;UACFC,MAAM,EAAE,SADN;UAEFC,KAAK,EAAE;;OAPX,EAUEX,mBAAA,CAAC9D,SAAD,MAAA,CAVF,CADF,CANF,CADF;;KAyBAmZ;IACJ5U,EAAE;MACAqH,CAAC,EAAE,UADH;MAEAE,CAAC,EAAE,CAFH;MAGAZ,QAAQ,EAAE,CAAC8V,eAAD,GAAmB,MAAnB,GAA4B,MAHtC;MAIAvc,KAAK,EAAE,qBAJP;MAKAud,EAAE,EAAEjB,cAAc,IAAI,CAAC1a,WAAnB,GAAiC,OAAjC,GAA2Cc,SAL/C;MAMA,qBAAqB;QACnB8a,EAAE,EAAE;;OAEH9I,cATH,oBASGA,cAAc,CAAE5U,EATnB;IA3GJ,EAuHGwc,cAAc,IACbjd,mBAAA,CAAC4G,QAAD;IAAU7B,OAAO;IAACxE,QAAQ,EAAE,CAACgC;IAAab,KAAK,EAAC;GAAhD,EACG9B,YAAY,CAAC/H,WADhB,CAxHJ,EA4HG4M,SA5HH,6CA4HGA,SAAS,CAAEkM,mBA5Hd,qBA4HG,sBAAgCjK,GAAhC,CAAoC,UAAC9B,MAAD;IACnC,IAAIlD,KAAJ;IACA,IAAI0c,IAAJ;;IACA,IAAI,OAAOxZ,MAAP,KAAkB,QAAtB,EAAgC;MAC9BlD,KAAK,GAAGkD,MAAR;MACAwZ,IAAI,GAAGxZ,MAAP;KAFF,MAGO,IAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;MACrClD,KAAK,GAAGkD,MAAM,CAAClD,KAAf;MACA0c,IAAI,GAAGxZ,MAAM,CAACwZ,IAAd;;;IAEF,OACEpe,mBAAA,CAAC4G,QAAD;MAAUC,GAAG,EAAEnF;MAAOA,KAAK,EAAEA;KAA7B,EACG0c,IADH,CADF;GAVD,CA5HH,CADF,EA8IEpe,mBAAA,CAAC8D,oBAAD;IACEC,QAAQ,EAAEA;IACVC,MAAM,EAAEA;IACRE,WAAW,EAAEA;IACb7E,aAAa,EAAEA;GAJjB,CA9IF,CADF;AAuJD,CA/QM;;ACjBA,IAAMgf,qBAAqB,GAAc,SAAnCA,qBAAmC;MAAGra,cAAAA;MAAQ3E,qBAAAA;EACzD,IACaO,YADb,GAEIP,aAFJ,CACEK,OADF,CACaE,YADb;EAIA,OACEI,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAE;MAAE8K,OAAO,EAAE,MAAX;MAAmB+S,mBAAmB,EAAE;;GAAjD,EACEte,mBAAA,CAACuc,mBAAD;IACEvY,MAAM,EAAEA;IACRwY,UAAU,EAAE;IACZnd,aAAa,EAAEA;GAHjB,CADF,EAMEW,mBAAA,CAACmH,GAAD;IACE1G,EAAE,EAAE;MACFE,KAAK,EAAE,MADL;MAEFyG,QAAQ,EAAE,KAFR;MAGFC,SAAS,EAAE;;GAJf,EAOGzH,YAAY,CAAC5E,EAPhB,CANF,EAeEgF,mBAAA,CAACuc,mBAAD;IACEvY,MAAM,EAAEA;IACRwY,UAAU,EAAE;IACZnd,aAAa,EAAEA;GAHjB,CAfF,CADF;AAuBD,CA5BM;;ACEA,IAAMkf,gCAAgC,GAAc,SAA9CA,gCAA8C;MACzDva,cAAAA;MACA3E,qBAAAA;EAEA,IAAQI,QAAR,GAAqBJ,aAArB,CAAQI,QAAR;;EAEA,gBAA0CA,QAAQ,EAAlD;MAAQ6E,gBAAR,aAAQA,gBAAR;MAA0BwQ,WAA1B,aAA0BA,WAA1B;;EAEA,IAAQtQ,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,OACExE,mBAAA,CAACkW,QAAD;IAAU,MAAIpB;IAAa2F,YAAY;IAACC,aAAa;GAArD,EACGpW,gBAAgB,CAACE,MAAM,CAAClC,EAAR,CAAhB,KAAgCf,iBAAiB,CAAC+D,OAAlD,GACCtF,mBAAA,CAACqe,qBAAD;IAAuBra,MAAM,EAAEA;IAAQ3E,aAAa,EAAEA;GAAtD,CADD,GAGCW,mBAAA,CAACuc,mBAAD;IAAqBvY,MAAM,EAAEA;IAAQ3E,aAAa,EAAEA;GAApD,CAJJ,CADF;AASD,CAnBM;;ACHA,IAAMmf,4BAA4B,GAAc,SAA1CA,4BAA0C;;;MACrDxa,cAAAA;MACA3E,qBAAAA;EAEA,IACEI,QADF,GAOIJ,aAPJ,CACEI,QADF;8BAOIJ,aAPJ,CAEEK,OAFF;qDAGIC,KAHJ;MAGavC,aAHb,0BAGaA,aAHb;MAG4BE,gBAH5B,0BAG4BA,gBAH5B;MAIIsC,YAJJ,yBAIIA,YAJJ;MAME0O,cANF,GAOIjP,aAPJ,CAMEiP,cANF;;EASA,gBAAwB7O,QAAQ,EAAhC;MAAQqV,WAAR,aAAQA,WAAR;;EAEA,IAAQtQ,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;EAEA,IAAMsE,QAAQ,iBAAGtJ,QAAQ,EAAX,8CAAG,WAAY6E,gBAAf,qBAAG,sBAA+BN,MAAM,CAAC1B,EAAtC,CAAjB;EAEA,IAAMmc,aAAa,GAAG,CAAC,CAACja,MAAM,CAACkM,cAAP,EAAF,GAClB9Q,YAAY,CAACzG,iBAAb,CACGoX,OADH,CACW,UADX,EACuBC,MAAM,CAAC/L,SAAS,CAACT,MAAX,CAD7B,EAEGuM,OAFH,CAGI,cAHJ,EAIIxH,QAAQ,YAAYC,QAApB,GACI,EADJ;EAGIpJ,YAAY,aACDmJ,QAAQ,CAACoU,MAAT,CAAgB,CAAhB,EAAmBC,WAAnB,KAAmCrU,QAAQ,CAACsU,KAAT,CAAe,CAAf,CADlC,EAPpB,EAWG9M,OAXH,CAYI,eAZJ,UAcMnD,KAAK,CAACsR,OAAN,CAAcla,MAAM,CAACkM,cAAP,EAAd,IACKlM,MAAM,CAACkM,cAAP,GAA6CiO,IAA7C,SACM/e,YAAY,CAACnI,GADnB,SADL,GAIK+M,MAAM,CAACkM,cAAP,EAlBX,UAqBGH,OArBH,CAqBW,KArBX,EAqBkB,EArBlB,CADkB,GAuBlB3Q,YAAY,CAACnF,eAvBjB;EAyBA,OACEuF,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACyH,SAAS,EAAC;IAAMtH,KAAK,EAAEoe;GAAtC,EACEze,mBAAA,CAACM,UAAD;IACEsH,aAAa;IACbpH,OAAO,EAAE,iBAACW,KAAD;MACPA,KAAK,CAAC8O,eAAN;MACA3B,cAAc,CAAC,CAACwG,WAAF,CAAd;;IAEFvN,IAAI,EAAC;IACL9G,EAAE,EAAE;MACFqH,CAAC,EAAE,CADD;MAEFC,OAAO,EAAE,CAAC,CAACvD,MAAM,CAACkM,cAAP,EAAF,IAA6BoE,WAA7B,GAA2C,GAA3C,GAAiD,CAFxD;MAGF9M,CAAC,EAAE,KAHD;MAIFlH,UAAU,EAAE,sBAJV;MAKFD,SAAS,EAAE,aALT;MAMF,WAAW;QACToH,eAAe,EAAE,aADR;QAETF,OAAO,EAAE;;;GAff,EAmBG+M,WAAW,IAAI,CAACtQ,MAAM,CAACkM,cAAP,EAAhB,GACC1Q,mBAAA,CAAC1C,gBAAD,MAAA,CADD,GAGC0C,mBAAA,CAAC5C,aAAD,MAAA,CAtBJ,CADF,CADF;AA6BD,CA3EM;;ACAA,IAAMwhB,6BAA6B,GAAc,SAA3CA,6BAA2C;MACtD5a,cAAAA;MACA3E,qBAAAA;EAEA,IAAQI,QAAR,GAAqBJ,aAArB,CAAQI,QAAR;;EAEA,gBAAwBA,QAAQ,EAAhC;MAAQqV,WAAR,aAAQA,WAAR;;EAEA,IAAQtQ,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,IAAQwF,aAAR,GAA0BxF,MAA1B,CAAQwF,aAAR;EAEA,OACEhK,mBAAA,CAAC8N,OAAD;IACE+Q,QAAQ;IACR1I,WAAW,EAAC;IACZ2I,aAAa,EAAE;MAAA,OAAMta,MAAM,CAAC2K,SAAP,EAAN;;IACf1O,EAAE,EAAE,YAACqa,KAAD;MAAA,OAAmB;QACrBhB,YAAY,EAAE,KADO;QAErBiF,gBAAgB,EAAE,KAFG;QAGrBlX,MAAM,EAAE,YAHa;QAIrBnH,MAAM,EAAEoU,WAAW,IAAI9K,aAAa,KAAK,MAAjC,GAA0C,MAA1C,GAAmD,MAJtC;QAKrBjC,OAAO,EAAE,GALY;QAMrB2O,QAAQ,EAAE,UANW;QAOrBuD,KAAK,EAAE,KAPc;QAQrB+E,WAAW,EAAE,MARQ;QASrBle,UAAU,EAAE0D,MAAM,CAACya,aAAP,KAAyB5b,SAAzB,GAAqC,sBAT5B;QAUrB6b,UAAU,EAAE,MAVS;QAWrB9H,MAAM,EAAE,IAXa;QAYrB,YAAY;UACVnP,eAAe,EAAE6S,KAAK,CAACE,OAAN,CAAcmE,IAAd,CAAmBC,IAD1B;UAEVrX,OAAO,EAAE;;OAdT;;IAiBJsX,WAAW,EAAErb,MAAM,CAACsb,gBAAP;IACbC,YAAY,EAAEvb,MAAM,CAACsb,gBAAP;IACd1e,KAAK,EAAE;MACLC,SAAS,EAAE2D,MAAM,CAACya,aAAP,qBACOxf,QAAQ,GAAG+f,gBAAX,CAA4BC,WADnC,WAEP;;GA1BR,CADF;AA+BD,CA3CM;;ACAA,IAAMC,0BAA0B,GAAc,SAAxCA,0BAAwC;MACnD1b,cAAAA;MACA3E,qBAAAA;EAEA,IACaO,YADb,GAEIP,aAFJ,CACEK,OADF,CACaE,YADb;EAIA,IAAQ4E,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;EAEA,IAAMkb,WAAW,GAAG,CAAC,CAACnb,MAAM,CAAC6L,WAAP,EAAF,GAChB7L,MAAM,CAAC6L,WAAP,OAAyB,MAAzB,GACEzQ,YAAY,CAAC9E,kBAAb,CAAgCyV,OAAhC,CAAwC,UAAxC,EAAoD9L,SAAS,CAACT,MAA9D,CADF,GAEEpE,YAAY,CAAC/E,iBAAb,CAA+B0V,OAA/B,CAAuC,UAAvC,EAAmD9L,SAAS,CAACT,MAA7D,CAHc,GAIhBpE,YAAY,CAACpE,QAJjB;EAMA,OACEwE,mBAAA,CAACC,OAAD;IAASC,KAAK;IAACyH,SAAS,EAAC;IAAMtH,KAAK,EAAEsf;GAAtC,EACE3f,mBAAA,CAAC4f,cAAD;kBACcD;IACZE,MAAM,EAAE,CAAC,CAACrb,MAAM,CAAC6L,WAAP;IACVyP,SAAS,EACPtb,MAAM,CAAC6L,WAAP,KACK7L,MAAM,CAAC6L,WAAP,EADL,GAEIhN;GANR,CADF,CADF;AAaD,CA/BM;;ACCA,IAAM0c,gCAAgC,GAAc,SAA9CA,gCAA8C;MACzD/b,cAAAA;MACA3E,qBAAAA;EAEA,4BAMIA,aANJ,CACEK,OADF;MAEaxB,YAFb,yBAEIyB,KAFJ,CAEazB,YAFb;MAGI0B,YAHJ,yBAGIA,YAHJ;MAIIogB,wCAJJ,yBAIIA,wCAJJ;EAQA,IAAQxb,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;;EAEA,gBAAgC+J,QAAQ,CAAqB,IAArB,CAAxC;MAAOzK,QAAP;MAAiBG,WAAjB;;EAEA,IAAMqQ,WAAW,GAAG,SAAdA,WAAc,CAACpT,KAAD;IAClBA,KAAK,CAAC8O,eAAN;IACA9O,KAAK,CAACkR,cAAN;IACAnO,WAAW,CAAC/C,KAAK,CAAC+O,aAAP,CAAX;GAHF;;EAMA,IAAM+P,sCAAsC,GAC1CD,wCAAwC,YAAYhX,QAApD,GACIgX,wCAAwC,CAAC;IAAExb,MAAM,EAANA,MAAF;IAAUnF,aAAa,EAAbA;GAAX,CAD5C,GAEI2gB,wCAHN;EAKA,IAAME,uCAAuC,GAC3Czb,SAAS,CAACub,wCAAV,YAA8DhX,QAA9D,GACIvE,SAAS,CAACub,wCAAV,CAAmD;IACjDxb,MAAM,EAANA,MADiD;IAEjDnF,aAAa,EAAbA;GAFF,CADJ,GAKIoF,SAAS,CAACub,wCANhB;;EAQA,IAAMG,eAAe,gBAChBF,sCADgB,EAEhBC,uCAFgB,CAArB;;EAKA,OACElgB,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACC,OAAD;IACEC,KAAK;IACLC,UAAU,EAAE;IACZC,cAAc,EAAE;IAChBuH,SAAS,EAAC;IACVtH,KAAK,EAAET,YAAY,CAAC3H;GALtB,EAOE+H,mBAAA,CAACM,UAAD;kBACcV,YAAY,CAAC3H;IACzBuI,OAAO,EAAE+T;IACThN,IAAI,EAAC;KACD4Y;IACJ1f,EAAE;MACAC,MAAM,EAAE,MADR;MAEAyd,EAAE,EAAE,KAFJ;MAGAD,EAAE,EAAE,SAHJ;MAIAnW,OAAO,EAAE,GAJT;MAKAjH,UAAU,EAAE,cALZ;MAMAH,KAAK,EAAE,MANP;MAOA,WAAW;QACToH,OAAO,EAAE;;OAERoY,eAAe,CAAC1f,EAVnB;IALJ,EAkBET,mBAAA,CAAC9B,YAAD,MAAA,CAlBF,CAPF,CADF,EA6BE8B,mBAAA,CAACgO,oBAAD;IACEjK,QAAQ,EAAEA;IACVC,MAAM,EAAEA;IACRE,WAAW,EAAEA;IACb7E,aAAa,EAAEA;GAJjB,CA7BF,CADF;AAsCD,CAhFM;;ACSA,IAAM+gB,iBAAiB,GAAc,SAA/BA,iBAA+B;;;MAC1CzV,eAAAA;MACAP,eAAAA;MACApG,cAAAA;MACAwG,kBAAAA;MACAI,kBAAAA;MACAvL,qBAAAA;EAEA,IACEI,QADF,GAUIJ,aAVJ,CACEI,QADF;8BAUIJ,aAVJ,CAEEK,OAFF;MAGI2gB,mBAHJ,yBAGIA,mBAHJ;MAIIpS,mBAJJ,yBAIIA,mBAJJ;MAKIpE,oBALJ,yBAKIA,oBALJ;MAMIqE,oBANJ,yBAMIA,oBANJ;MAOIC,cAPJ,yBAOIA,cAPJ;MAQImS,qBARJ,yBAQIA,qBARJ;;EAYA,gBAA2B7gB,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,IAAQyE,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;EAEA,IAAQC,SAAR,GAAqCD,MAArC,CAAQC,SAAR;MAAmBuF,aAAnB,GAAqCxF,MAArC,CAAmBwF,aAAnB;EAEA,IAAMuW,mBAAmB,GACvBD,qBAAqB,YAAYtX,QAAjC,GACIsX,qBAAqB,CAAC;IAAE9b,MAAM,EAANA,MAAF;IAAUnF,aAAa,EAAbA;GAAX,CADzB,GAEIihB,qBAHN;EAKA,IAAME,oBAAoB,GACxB/b,SAAS,CAAC6b,qBAAV,YAA2CtX,QAA3C,GACIvE,SAAS,CAAC6b,qBAAV,CAAgC;IAAE9b,MAAM,EAANA,MAAF;IAAUnF,aAAa,EAAbA;GAA1C,CADJ,GAEIoF,SAAS,CAAC6b,qBAHhB;;EAKA,IAAMG,cAAc,gBACfF,mBADe,EAEfC,oBAFe,CAApB;;EAKA,IAAME,aAAa,qBAAK,CAAAjc,SAAS,QAAT,YAAAA,SAAS,CAAEkc,MAAX,aAA6B3X,QAA7B,GACpBvE,SADoB,oBACpBA,SAAS,CAAEkc,MADS,oBACpBlc,SAAS,CAAEkc,MAAX,CAAoB;IAClB3c,MAAM,EAANA,MADkB;IAElB3E,aAAa,EAAbA;GAFF,CADoB,GAKpBoF,SALoB,oBAKpBA,SAAS,CAAEkc,MALI,oBAMjB3c,MAAM,CAAC4c,YAAP,EANiB,oBAOjBnc,SAAS,CAACT,MAPZ;;EASA,IAAM6c,yBAAyB,GAAG,SAA5BA,yBAA4B;IAChC,OACErc,MAAM,CAAC8C,WAAP,OAAyB,MAAzB,IACAjI,aAAa,CAACyhB,kBAAd,GAAmCxY,MAAnC,GAA4C,CAA5C,KAAkD9D,MAAM,CAACuc,cAAP,EAFpD;GADF;;EAOA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B;IAClC,OAAOxc,MAAM,CAAC8C,WAAP,OAAyB,OAAzB,IAAoC9C,MAAM,CAACuc,cAAP,OAA4B,CAAvE;GADF;;EAIA,IAAME,aAAa,GAAG,SAAhBA,aAAgB;IACpB,OACE,CAAC5hB,aAAa,CAAC6hB,mBAAd,GAAoC5Y,MAApC,GACC,CADD,GAEC9D,MAAM,CAACuc,cAAP,EAFF,IAGA,GAJF;GADF;;EASA,OACE/gB,mBAAA,CAACmhB,SAAD;IACEC,KAAK,EAAEpX,aAAa,KAAK,OAAlB,GAA4B,QAA5B,GAAuC;IAC9CqX,OAAO,EAAErd,MAAM,CAACqd;KACZZ;IACJ/Y,GAAG,EACDsC,aAAa,KAAK,MAAlB,IAA4BH,oBAA5B,GAAmDO,OAAnD,GAA6D/G;IAE/D5C,EAAE,EAAE,YAACqa,KAAD;MAAA;QACF7S,eAAe,EACbzD,MAAM,CAAC8C,WAAP,MAAwB0C,aAAa,KAAK,OAA1C,GACIoS,KAAK,CAACrB,OAAO,CAACD,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC,CAAR,EAAkD,IAAlD,CADT,GAEI,SAJJ;QAKFC,eAAe,EAAE,SALf;QAMFiB,SAAS,EAAE0E,yBAAyB,yBACdzE,KAAK,CAACtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBC,KAAtB,EAA6B,GAA7B,CADS,GAEhC0E,2BAA2B,0BACR5E,KAAK,CAACtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBC,KAAtB,EAA6B,GAA7B,CADG,GAE3BjZ,SAVF;QAWFie,UAAU,EAAE,MAXV;QAYF5gB,MAAM,EAAE,MAZN;QAaFsZ,IAAI,EACFxV,MAAM,CAAC8C,WAAP,OAAyB,MAAzB,GACO9C,MAAM,CAAC+c,QAAP,CAAgB,MAAhB,CADP,UAEIle,SAhBJ;QAiBF+X,QAAQ,EAAE,SAjBR;QAkBFpT,CAAC,EAAEjI,cAAc,GACbiK,aAAa,KAAK,SAAlB,GACE,UADF,GAEE,QAHW,GAIbA,aAAa,KAAK,SAAlB,GACA,gBADA,GAEA,MAxBF;QAyBFwX,EAAE,EAAExX,aAAa,KAAK,SAAlB,GAA8B,CAA9B,GAAkC3G,SAzBpC;QA0BFqT,QAAQ,EACNlS,MAAM,CAAC8C,WAAP,MAAwB0C,aAAa,KAAK,OAA1C,GACI,QADJ,GAEI3G,SA7BJ;QA8BFqK,EAAE,EAAE1D,aAAa,KAAK,MAAlB,GAA2B,CAA3B,GAA+BjK,cAAc,GAAG,MAAH,GAAY,QA9B3D;QA+BFka,KAAK,EACHzV,MAAM,CAAC8C,WAAP,OAAyB,OAAzB,GAAsC2Z,aAAa,EAAnD,UAA4D5d,SAhC5D;QAiCFvC,UAAU,YAASoN,oBAAoB,GAAG,CAAH,GAAO,MAApC,kBAjCR;QAkCFuT,aAAa,EAAE,UAlCb;QAmCFrK,MAAM,EAAE5S,MAAM,CAACya,aAAP,KACJ,CADI,GAEJza,MAAM,CAAC8C,WAAP,MAAwB0C,aAAa,KAAK,OAA1C,GACA,CADA,GAEA;SACAyW,cAxCF,oBAwCEA,cAAc,CAAEhgB,EAxClB;;IA0CJG,KAAK,EAAE;MACL8gB,QAAQ,WAASld,MAAM,CAACmd,OAAP,EAAT,qBADH;MAELva,QAAQ,WAAS5C,MAAM,CAACmd,OAAP,EAAT,mCAAgCld,SAAS,CAACmd,OAA1C,iCAAqD,EAArD,SAFH;MAGLjhB,KAAK,EAAEqD,MAAM,CAAC2d,OAAP;;IApDX,EAuDG3d,MAAM,CAAC6d,aAAP,GAAuB,IAAvB,GAA8B7X,aAAa,KAAK,SAAlB,GAC7B0W,aAD6B,GAG7B1gB,mBAAA,CAACmH,GAAD;IACEO,GAAG,EAAEkD;IACLnK,EAAE,EAAE;MACFoD,UAAU,EAAE,YADV;MAEF0H,OAAO,EAAE,MAFP;MAGFH,cAAc,EACZpB,aAAa,KAAK,OAAlB,GAA4B,QAA5B,GAAuC,eAJvC;MAKFjC,OAAO,EAAEyC,UAAU,GAAG,GAAH,GAAS,CAL1B;MAMF7J,KAAK,EAAE;;GARX,EAWEX,mBAAA,CAACmH,GAAD;IACE3G,OAAO,EAAE;MAAA,OAAMgE,MAAM,CAACwK,aAAP,EAAN;;IACTvO,EAAE,EAAE;MACFoD,UAAU,EAAE,QADV;MAEFgE,MAAM,EACJrD,MAAM,CAAC4L,UAAP,MAAuBpG,aAAa,KAAK,OAAzC,GACI,SADJ,GAEI3G,SALJ;MAMFkI,OAAO,EAAE,MANP;MAOFC,QAAQ,EAAE,QAPR;MAQFsS,UAAU,EACR,+CAACrZ,SAAS,CAACT,MAAX,qBAAC,kBAAkBsE,MAAnB,oCAA6B,CAA7B,IAAkC,EAAlC,GAAuC,QAAvC,GAAkD;;GAXxD,EAcGoY,aAdH,EAeG1W,aAAa,KAAK,MAAlB,IAA4BxF,MAAM,CAAC4L,UAAP,EAA5B,IACCpQ,mBAAA,CAAC0f,0BAAD;IACE1b,MAAM,EAAEA;IACR3E,aAAa,EAAEA;GAFjB,CAhBJ,EAqBG2K,aAAa,KAAK,MAAlB,IACCiE,mBADD,IAECzJ,MAAM,CAACiM,YAAP,EAFD,IAGGzQ,mBAAA,CAACwe,4BAAD;IACExa,MAAM,EAAEA;IACR3E,aAAa,EAAEA;GAFjB,CAxBN,CAXF,EAyCEW,mBAAA,CAACmH,GAAD;IAAK1G,EAAE,EAAE;MAAEqd,UAAU,EAAE;;GAAvB,EACG9T,aAAa,KAAK,MAAlB,KACGH,oBAAoB,IACpBpF,SAAS,CAACoF,oBAAV,KAAmC,KADpC,IAEEsE,cAAc,IAAI1J,SAAS,CAAC0J,cAAV,KAA6B,KAHnD,KAIGnO,mBAAA,CAACwH,oBAAD;IACEE,GAAG,EAAEiD;IACLtL,aAAa,EAAEA;GAFjB,CALN,EAUG,CAACghB,mBAAmB,IAAI5b,SAAS,CAAC4b,mBAAlC,KACC5b,SAAS,CAAC4b,mBAAV,KAAkC,KADnC,IAECrW,aAAa,KAAK,OAFnB,IAGGhK,mBAAA,CAAC+f,gCAAD;IACE/b,MAAM,EAAEA;IACR3E,aAAa,EAAEA;GAFjB,CAbN,CAzCF,EA4DGmF,MAAM,CAACsM,YAAP,MACC9Q,mBAAA,CAAC4e,6BAAD;IACE5a,MAAM,EAAEA;IACR3E,aAAa,EAAEA;GAFjB,CA7DJ,CA1DJ,EA8HG2K,aAAa,KAAK,MAAlB,IAA4BxF,MAAM,CAACiM,YAAP,EAA5B,IACCzQ,mBAAA,CAACue,gCAAD;IACEva,MAAM,EAAEA;IACR3E,aAAa,EAAEA;GAFjB,CA/HJ,CADF;AAuID,CA7MM;;ACRA,IAAMyiB,0BAA0B,GAAc,SAAxCA,0BAAwC;MACnD9d,cAAAA;MACA3E,qBAAAA;EAEA,IACEI,QADF,GAIIJ,aAJJ,CACEI,QADF;;EAAA,0BAIIJ,aAJJ,CAEEK,OAFF;;EAAA,IAGE4J,cAHF,GAIIjK,aAJJ,CAGEiK,cAHF;;EAMA,gBAAwB7J,QAAQ,EAAhC;MAAQ4J,WAAR,aAAQA,WAAR;;EAEA,IAAQ7E,MAAR,GAAmBR,MAAnB,CAAQQ,MAAR;;EAEA,eAAoByF,OAAO,CAAC;IAC1BC,MAAM,EAAE,QADkB;IAE1BC,IAAI,EAAE,cAAChB,YAAD;MAAA,OACJD,aAAa,CAACC,YAAD,EAAe3E,MAAf,EAAuB6E,WAAvB,EAAoCC,cAApC,CADT;;GAFmB,CAA3B;MAASc,OAAT;;EAMA,eAA8CC,OAAO,CAAC;IACpDC,OAAO,EAAE,iBAACC,OAAD;MAAA,OAAc;QACrBC,UAAU,EAAED,OAAO,CAACC,UAAR;OADL;KAD2C;IAIpDC,IAAI,EAAE;MAAA,OAAMjG,MAAN;KAJ8C;IAKpDkG,IAAI,EAAE;GAL6C,CAArD;MAASF,UAAT,eAASA,UAAT;MAAuBG,OAAvB;MAAgCC,UAAhC;;EAQA,OACE5K,mBAAA,CAACogB,iBAAD;IACEzV,OAAO,EAAEA;IACTP,OAAO,EAAEA;IACTpG,MAAM,EAAEA;IACRwG,UAAU,EAAEA;IACZI,UAAU,EAAEA;IACZvL,aAAa,EAAEA;GANjB,CADF;AAUD,CAtCM;;ACAA,IAAM0iB,gBAAgB,GAAc,SAA9BA,gBAA8B;MAAGC,mBAAAA;MAAa3iB,qBAAAA;EACzD,4BAEIA,aAFJ,CACEK,OADF;MACamK,oBADb,yBACaA,oBADb;MACmCsE,cADnC,yBACmCA,cADnC;MACmD8T,oBADnD,yBACmDA,oBADnD;EAIA,IAAMC,aAAa,GACjBD,oBAAoB,YAAYjZ,QAAhC,GACIiZ,oBAAoB,CAAC;IAAED,WAAW,EAAXA,WAAF;IAAe3iB,aAAa,EAAbA;GAAhB,CADxB,GAEI4iB,oBAHN;EAKA,OACEjiB,mBAAA,CAACmiB,QAAD,oBACMD;IACJzhB,EAAE,EAAE,YAACqa,KAAD;MAAA;QACFqB,SAAS,iBAAeC,KAAK,CAACtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBC,KAAtB,EAA6B,GAA7B,CAD3B;QAEFrU,eAAe,EAAE8S,OAAO,CAACD,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC;SACpBiH,aAHF,oBAGEA,aAAa,CAAEzhB,EAHjB;;IAFN,EAQGuhB,WAAW,CAACI,OAAZ,CAAoB1b,GAApB,CAAwB,UAAC1C,MAAD,EAAqB2C,KAArB;IAAA,OACvBkD,oBAAoB,IAAIsE,cAAxB,GACEnO,mBAAA,CAAC8hB,0BAAD;MACE9d,MAAM,EAAEA;MACR6C,GAAG,EAAE7C,MAAM,CAAC1B,EAAP,IAAaqE;MAClBtH,aAAa,EAAEA;KAHjB,CADF,GAOEW,mBAAA,CAACogB,iBAAD;MACEpc,MAAM,EAAEA;MACR6C,GAAG,EAAE7C,MAAM,CAAC1B,EAAP,IAAaqE;MAClBtH,aAAa,EAAEA;KAHjB,CARqB;GAAxB,CARH,CADF;AA0BD,CApCM;;ACFA,IAAMgjB,aAAa,GAAc,SAA3BA,aAA2B;MAAGhjB,qBAAAA;EACzC,IACEijB,eADF,GAGIjjB,aAHJ,CACEijB,eADF;MAEaC,iBAFb,GAGIljB,aAHJ,CAEEK,OAFF,CAEa6iB,iBAFb;EAKA,IAAMC,cAAc,GAClBD,iBAAiB,YAAYvZ,QAA7B,GACIuZ,iBAAiB,CAAC;IAAEljB,aAAa,EAAbA;GAAH,CADrB,GAEIkjB,iBAHN;EAKA,OACEviB,mBAAA,CAACyiB,SAAD,oBAAeD,eAAf,EACGF,eAAe,GAAG5b,GAAlB,CAAsB,UAACsb,WAAD;IAAA,OACrBhiB,mBAAA,CAAC+hB,gBAAD;MACEC,WAAW,EAAEA;MACbnb,GAAG,EAAEmb,WAAW,CAAC1f;MACjBjD,aAAa,EAAEA;KAHjB,CADqB;GAAtB,CADH,CADF;AAWD,CAtBM;;ACMA,IAAMqjB,qBAAqB,GAAc,SAAnCA,qBAAmC;MAAGC,YAAAA;MAAMtjB,qBAAAA;EACvD,IACEI,QADF,GAWIJ,aAXJ,CACEI,QADF;8BAWIJ,aAXJ,CAEEK,OAFF;MAGI2O,OAHJ,yBAGIA,OAHJ;MAII+C,aAJJ,yBAIIA,aAJJ;MAKIwR,kCALJ,yBAKIA,kCALJ;MAMIC,iBANJ,yBAMIA,iBANJ;MAOIC,mBAPJ,yBAOIA,mBAPJ;MASEC,qBATF,GAWI1jB,aAXJ,CASE0jB,qBATF;MAUEtR,oBAVF,GAWIpS,aAXJ,CAUEoS,oBAVF;;EAaA,gBAA0BjD,QAAQ,CAACmU,IAAI,CAAC7gB,QAAL,EAAD,CAAlC;MAAOJ,KAAP;MAAcshB,QAAd;;EAEA,IAAQxe,MAAR,GAAwBme,IAAxB,CAAQne,MAAR;MAAgBxD,GAAhB,GAAwB2hB,IAAxB,CAAgB3hB,GAAhB;EAEA,IAAQyD,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;;EAEA,IAAMoR,YAAY,GAAG,SAAfA,YAAe,CAAC1U,KAAD;IACnB6hB,QAAQ,CAAC7hB,KAAK,CAACgS,MAAN,CAAazR,KAAd,CAAR;IACA+C,SAAS,CAACqe,mBAAV,oBAAAre,SAAS,CAACqe,mBAAV,CAAgC;MAAE3hB,KAAK,EAALA,KAAF;MAASwhB,IAAI,EAAJA,IAAT;MAAetjB,aAAa,EAAbA;KAA/C;IACAyjB,mBAAmB,QAAnB,YAAAA,mBAAmB,CAAG;MAAE3hB,KAAK,EAALA,KAAF;MAASwhB,IAAI,EAAJA,IAAT;MAAetjB,aAAa,EAAbA;KAAlB,CAAnB;GAHF;;EAMA,IAAM4jB,UAAU,GAAG,SAAbA,UAAa,CAAC9hB,KAAD;IACjB,IAAI1B,QAAQ,GAAGiS,iBAAf,EAAkC;MAChC,IAAI,CAAC1Q,GAAG,CAAC4Q,YAAT,EAAuB5Q,GAAG,CAAC4Q,YAAJ,GAAmB,EAAnB;MACtB5Q,GAAG,CAAC4Q,YAAJ,CAAyCpN,MAAM,CAAClC,EAAhD,IAAsDZ,KAAtD;MACD+P,oBAAoB,cAAMhS,QAAQ,GAAGiS,iBAAjB,EAApB;;;IAEFqR,qBAAqB,CAAC,IAAD,CAArB;IACAte,SAAS,CAACoe,iBAAV,oBAAApe,SAAS,CAACoe,iBAAV,CAA8B;MAAE1hB,KAAK,EAALA,KAAF;MAASwhB,IAAI,EAAJA,IAAT;MAAetjB,aAAa,EAAbA;KAA7C;IACAwjB,iBAAiB,QAAjB,YAAAA,iBAAiB,CAAG;MAAE1hB,KAAK,EAALA,KAAF;MAASwhB,IAAI,EAAJA,IAAT;MAAetjB,aAAa,EAAbA;KAAlB,CAAjB;GARF;;EAWA,IAAM6jB,gCAAgC,GACpCN,kCAAkC,YAAY5Z,QAA9C,GACI4Z,kCAAkC,CAAC;IAAED,IAAI,EAAJA,IAAF;IAAQtjB,aAAa,EAAbA;GAAT,CADtC,GAEIujB,kCAHN;EAKA,IAAMO,iCAAiC,GACrC1e,SAAS,CAACme,kCAAV,YAAwD5Z,QAAxD,GACIvE,SAAS,CAACme,kCAAV,CAA6C;IAC3CD,IAAI,EAAJA,IAD2C;IAE3CtjB,aAAa,EAAbA;GAFF,CADJ,GAKIoF,SAAS,CAACme,kCANhB;;EAQA,IAAMvN,cAAc,gBACf6N,gCADe,EAEfC,iCAFe,CAApB;;EAKA,IAAI/R,aAAa,IAAI3M,SAAS,CAAC2M,aAAV,KAA4B,KAA7C,IAAsD3M,SAAS,CAAC1H,IAApE,EAA0E;IACxE,OAAOiD,mBAAA,eAAA,MAAA,EAAGyE,SAAS,CAAC1H,IAAb,oBAAG0H,SAAS,CAAC1H,IAAV,CAAiB;MAAE4lB,IAAI,EAAJA,IAAF;MAAQtjB,aAAa,EAAbA;KAAzB,CAAH,CAAP;;;EAGF,OACEW,mBAAA,CAACoW,SAAD;IACE9T,EAAE,WAAS+L,OAAT,8BAAyCsU,IAAI,CAACrgB;IAChDyb,MAAM,EAAC;IACPqF,MAAM,EAAEH;IACR9W,QAAQ,EAAE0J;IACVrV,OAAO,EAAE,iBAACwd,CAAD;MAAA,OAAqCA,CAAC,CAAC/N,eAAF,EAArC;;IACToG,WAAW,EAAE5R,SAAS,CAACT;IACvBtC,KAAK,EAAEA;IACP4U,OAAO,EAAC;KACJjB,eATN,CADF;AAaD,CAxEM;;ACLA,IAAMgO,cAAc,GAAc,SAA5BA,cAA4B;MACvCV,YAAAA;MACAW,gBAAAA;MACAjkB,qBAAAA;EAEA,4BAEIA,aAFJ,CACEK,OADF;MACaE,YADb,yBACaA,YADb;MAC2B2jB,+BAD3B,yBAC2BA,+BAD3B;EAIA,IAAQ/e,MAAR,GAAmBme,IAAnB,CAAQne,MAAR;EAEA,IAAQC,SAAR,GAAsBD,MAAtB,CAAQC,SAAR;;EAEA,gBAA4B+J,QAAQ,CAAC,KAAD,CAApC;MAAOgV,MAAP;MAAeC,SAAf;;EAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACtF,IAAD;IACjBuF,SAAS,CAACC,SAAV,CAAoBC,SAApB,CAA8BzF,IAA9B;IACAqF,SAAS,CAAC,IAAD,CAAT;IACA/T,UAAU,CAAC;MAAA,OAAM+T,SAAS,CAAC,KAAD,CAAf;KAAD,EAAyB,IAAzB,CAAV;GAHF;;EAMA,IAAMK,6BAA6B,GACjCP,+BAA+B,YAAYva,QAA3C,GACIua,+BAA+B,CAAC;IAAEZ,IAAI,EAAJA,IAAF;IAAQtjB,aAAa,EAAbA;GAAT,CADnC,GAEIkkB,+BAHN;EAKA,IAAMQ,8BAA8B,GAClCtf,SAAS,CAAC8e,+BAAV,YAAqDva,QAArD,GACIvE,SAAS,CAAC8e,+BAAV,CAA0C;IACxCZ,IAAI,EAAJA,IADwC;IAExCtjB,aAAa,EAAbA;GAFF,CADJ,GAKIoF,SAAS,CAAC8e,+BANhB;;EAQA,IAAMS,WAAW,gBACZF,6BADY,EAEZC,8BAFY,CAAjB;;EAKA,OACE/jB,mBAAA,CAACC,OAAD;IACEC,KAAK;IACLC,UAAU,EAAE;IACZC,cAAc,EAAE;IAChBuH,SAAS,EAAC;IACVtH,KAAK,EAAEmjB,MAAM,GAAG5jB,YAAY,CAAC1H,iBAAhB,GAAoC0H,YAAY,CAAC5H;GALhE,EAOEgI,mBAAA,CAAC2N,MAAD;kBACc/N,YAAY,CAAC5H;IACzBwI,OAAO,EAAE;MAAA,OAAMkjB,UAAU,CAACf,IAAI,CAAC7gB,QAAL,EAAD,CAAhB;;IACTyF,IAAI,EAAC;IACLmD,IAAI,EAAC;IACL4L,OAAO,EAAC;KACJ0N;IACJvjB,EAAE;MACAwH,eAAe,EAAE,aADjB;MAEAgc,MAAM,EAAE,MAFR;MAGAlS,KAAK,EAAE,SAHP;MAIAlK,MAAM,EAAE,MAJR;MAKAqc,UAAU,EAAE,SALZ;MAMAnK,QAAQ,EAAE,SANV;MAOAoK,aAAa,EAAE,SAPf;MAQArc,CAAC,EAAE,UARH;MASAV,QAAQ,EAAE,OATV;MAUAC,SAAS,EAAE,SAVX;MAWA+c,aAAa,EAAE;OACZJ,WAZH,oBAYGA,WAAW,CAAEvjB,EAZhB;IAPJ,EAsBG6iB,QAtBH,CAPF,CADF;AAkCD,CAzEM;;ACKA,IAAMe,iBAAiB,GAAc,SAA/BA,iBAA+B;;;MAC1C1B,YAAAA;MACA2B,mBAAAA;MACAC,gBAAAA;MACAllB,qBAAAA;EAEA,IACEI,QADF,GAgBIJ,aAhBJ,CACEI,QADF;8BAgBIJ,aAhBJ,CAEEK,OAFF;MAGI8kB,WAHJ,yBAGIA,WAHJ;MAIIC,iBAJJ,yBAIIA,iBAJJ;MAKI5a,oBALJ,yBAKIA,oBALJ;MAMIuH,aANJ,yBAMIA,aANJ;MAOIsT,gBAPJ,yBAOIA,gBAPJ;MAQIC,qBARJ,yBAQIA,qBARJ;MASIC,6BATJ,yBASIA,6BATJ;MAUIC,cAVJ,yBAUIA,cAVJ;MAWIC,aAXJ,yBAWIA,aAXJ;MAYIzW,OAZJ,yBAYIA,OAZJ;MAcE/E,cAdF,GAgBIjK,aAhBJ,CAcEiK,cAdF;MAeEyZ,qBAfF,GAgBI1jB,aAhBJ,CAeE0jB,qBAfF;;EAkBA,gBAOItjB,QAAQ,EAPZ;MACE4J,WADF,aACEA,WADF;MAEE0b,kBAFF,aAEEA,kBAFF;MAGErT,iBAHF,aAGEA,iBAHF;MAIE3R,cAJF,aAIEA,cAJF;MAKEua,SALF,aAKEA,SALF;MAME0K,aANF,aAMEA,aANF;;EASA,IAAQxgB,MAAR,GAAwBme,IAAxB,CAAQne,MAAR;MAAgBxD,GAAhB,GAAwB2hB,IAAxB,CAAgB3hB,GAAhB;EAEA,IAAQyD,SAAR,GAAqCD,MAArC,CAAQC,SAAR;MAAmBuF,aAAnB,GAAqCxF,MAArC,CAAmBwF,aAAnB;;EAEA,eAAoBC,OAAO,CAAC;IAC1BC,MAAM,EAAE,QADkB;IAE1BC,IAAI,EAAE,cAAChB,YAAD;MAAA,OACJD,aAAa,CAACC,YAAD,EAAe3E,MAAf,EAAuB6E,WAAvB,EAAoCC,cAApC,CADT;;GAFmB,CAA3B;MAASc,OAAT;;EAMA,IAAM6a,mBAAmB,GACvBN,qBAAqB,YAAY3b,QAAjC,GACI2b,qBAAqB,CAAC;IAAEhC,IAAI,EAAJA,IAAF;IAAQtjB,aAAa,EAAbA;GAAT,CADzB,GAEIslB,qBAHN;EAKA,IAAMO,oBAAoB,GACxBzgB,SAAS,CAACkgB,qBAAV,YAA2C3b,QAA3C,GACIvE,SAAS,CAACkgB,qBAAV,CAAgC;IAAEhC,IAAI,EAAJA,IAAF;IAAQtjB,aAAa,EAAbA;GAAxC,CADJ,GAEIoF,SAAS,CAACkgB,qBAHhB;;EAKA,IAAMlE,cAAc,gBACfwE,mBADe,EAEfC,oBAFe,CAApB;;EAKA,IAAMC,aAAa,GAAGxgB,OAAO,CAC3B;IAAA,OACEqF,aAAa,KAAK,SAAlB,GACIxF,MAAM,CAACmd,OAAP,KAAmB,CADvB,GAEIyD,IAAI,CAACC,MAAL,MAAiB7gB,MAAM,CAACmd,OAAP,KAAmBnd,MAAM,CAACmd,OAAP,KAAmB,CAAvD,IACAnd,MAAM,CAACmd,OAAP,KAAmB,CAJzB;GAD2B,EAM3B,CAAC3X,aAAD,EAAgBxF,MAAM,CAACmd,OAAP,EAAhB,CAN2B,CAA7B;EASA,IAAM2D,UAAU,GACd,CAAClU,aAAa,IAAI3M,SAAS,CAAC2M,aAA5B,KACA3M,SAAS,CAAC2M,aAAV,KAA4B,KAF9B;EAIA,IAAMmU,SAAS,GACbD,UAAU,KACTd,WAAW,KAAK,OAAhB,IACC,CAAA9S,iBAAiB,QAAjB,YAAAA,iBAAiB,CAAEpP,EAAnB,MAA0BtB,GAAG,CAACsB,EAD/B,IAEC,CAAAyiB,kBAAkB,QAAlB,YAAAA,kBAAkB,CAAEziB,EAApB,MAA2BqgB,IAAI,CAACrgB,EAHxB,CADZ;;EAMA,IAAMkjB,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD;IACxB,IACE,CAACrU,aAAa,IAAI3M,SAAS,CAAC2M,aAA5B,KACA3M,SAAS,CAAC2M,aAAV,KAA4B,KAD5B,IAEAoT,WAAW,KAAK,MAHlB,EAIE;MACAzB,qBAAqB,CAACJ,IAAD,CAArB;MACAjT,UAAU,CAAC;QACT,IAAMgW,SAAS,GAAG/V,QAAQ,CAACC,cAAT,UACTvB,OADS,8BACuBsU,IAAI,CAACrgB,EAD5B,CAAlB;;QAGA,IAAIojB,SAAJ,EAAe;UACbA,SAAS,CAAC5V,KAAV;UACA4V,SAAS,CAACrrB,MAAV;;OANM,EAQP,GARO,CAAV;;GAPJ;;EAmBA,IAAMwmB,yBAAyB,GAAG,SAA5BA,yBAA4B;IAChC,OACErc,MAAM,CAAC8C,WAAP,OAAyB,MAAzB,IACAjI,aAAa,CAACyhB,kBAAd,GAAmCxY,MAAnC,GAA4C,CAA5C,KAAkD9D,MAAM,CAACuc,cAAP,EAFpD;GADF;;EAOA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B;IAClC,OAAOxc,MAAM,CAAC8C,WAAP,OAAyB,OAAzB,IAAoC9C,MAAM,CAACuc,cAAP,OAA4B,CAAvE;GADF;;EAIA,IAAME,aAAa,GAAG,SAAhBA,aAAgB;IACpB,OACE,CAAC5hB,aAAa,CAAC6hB,mBAAd,GAAoC5Y,MAApC,GACC,CADD,GAEC9D,MAAM,CAACuc,cAAP,EAFF,IAGA,GAJF;GADF;;EASA,OACE/gB,mBAAA,CAACmhB,SAAD;IACE3gB,OAAO,EAAE,iBAACW,KAAD;MAAA,OACP0jB,cADO,oBACPA,cAAc,CAAG;QAAE1jB,KAAK,EAALA,KAAF;QAASwhB,IAAI,EAAJA,IAAT;QAAetjB,aAAa,EAAbA;OAAlB,CADP;;IAGTyf,aAAa,EAAE0G;KACX/E;IACJ/Y,GAAG,EACDsC,aAAa,KAAK,MAAlB,IAA4BH,oBAA5B,GAAmDO,OAAnD,GAA6D/G;IAE/D5C,EAAE,EAAE,YAACqa,KAAD;MAAA;QACF7S,eAAe,EAAEzD,MAAM,CAAC8C,WAAP,KACb8U,KAAK,CAACrB,OAAO,CAACD,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC,CAAR,EAAkD,IAAlD,CADQ,GAEb5X,SAHF;QAIF8Y,SAAS,EAAE0E,yBAAyB,yBACdzE,KAAK,CAACtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBC,KAAtB,EAA6B,GAA7B,CADS,GAEhC0E,2BAA2B,0BACR5E,KAAK,CAACtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBC,KAAtB,EAA6B,GAA7B,CADG,GAE3BjZ,SARF;QASFwE,MAAM,EAAEyd,UAAU,IAAId,WAAW,KAAK,MAA9B,GAAuC,SAAvC,GAAmD,MATzD;QAUFxK,IAAI,EACFxV,MAAM,CAAC8C,WAAP,OAAyB,MAAzB,GACO9C,MAAM,CAAC+c,QAAP,CAAgB,MAAhB,CADP,UAEIle,SAbJ;QAcF+X,QAAQ,EAAE,QAdR;QAeFpT,CAAC,EAAEjI,cAAc,GACbiK,aAAa,KAAK,SAAlB,GACE,UADF,GAEE,QAHW,GAIbA,aAAa,KAAK,SAAlB,GACA,gBADA,GAEA,MArBF;QAsBFqB,EAAE,EACA7G,MAAM,CAAClC,EAAP,KAAc,YAAd,GACOtB,GAAG,CAACsK,KAAJ,IAAavL,cAAc,GAAG,GAAH,GAAS,IAApC,CADP,WAEIsD,SAzBJ;QA0BFqT,QAAQ,EAAElS,MAAM,CAAC8C,WAAP,KAAuB,QAAvB,GAAkC,UA1B1C;QA2BF2S,KAAK,EACHzV,MAAM,CAAC8C,WAAP,OAAyB,OAAzB,GAAsC2Z,aAAa,EAAnD,UAA4D5d,SA5B5D;QA6BFma,YAAY,EAAExT,aAAa,KAAK,SAAlB,GAA8B,UAA9B,GAA2C3G,SA7BvD;QA8BFvC,UAAU,EAAE,sBA9BV;QA+BFgd,UAAU,EAAE/d,cAAc,GAAG,QAAH,GAAc,QA/BtC;QAgCFqX,MAAM,EAAE5S,MAAM,CAAC8C,WAAP,KAAuB,CAAvB,GAA2BjE,SAhCjC;QAiCF,WAAW;UACT4E,eAAe,EACbqc,WAAW,IAAIlT,aAAf,IAAgCoT,WAAW,KAAK,KAAhD,GACI1J,KAAK,CAACE,OAAN,CAAc2K,IAAd,KAAuB,MAAvB,GACK5K,OAAO,CACRD,KAAK,CAACE,OAAN,CAAcC,UAAd,WADQ,EAER,IAFQ,CADZ,mBAKK2K,MAAM,CAAC9K,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC,CALX,gBADJ,GAOI5X;;SAEJod,cA5CF,oBA4CEA,cAAc,CAAEhgB,EA5ClB;;IA8CJG,KAAK,EAAE;MACL8gB,QAAQ,WAASld,MAAM,CAACmd,OAAP,EAAT,qBADH;MAELva,QAAQ,WAAS5C,MAAM,CAACmd,OAAP,EAAT,mCAAgCld,SAAS,CAACmd,OAA1C,iCAAqD,EAArD,SAFH;MAGLjhB,KAAK,EAAE6D,MAAM,CAACmd,OAAP;;IA1DX,EA6DE3hB,mBAAA,eAAA,MAAA,EACGsa,SAAS,IAAI0K,aAAb,GACChlB,mBAAA,CAAC6lB,QAAD;IACEC,SAAS,EAAC;IACVplB,MAAM,EAAE;IACRC,KAAK,EAAEwkB;KACHP,8BAJN,CADD,GAOGF,gBAAgB,IAClBI,aAAa,KAAK,QADhB,IAEFtgB,MAAM,CAAClC,EAAP,KAAc,iBAFZ,GAGFiiB,QAAQ,GAAG,CAHT,GAIAva,aAAa,KAAK,SAAlB,GACFvF,SAAS,CAACshB,IADR,oBACFthB,SAAS,CAACshB,IAAV,CAAiB;IAAEpD,IAAI,EAAJA,IAAF;IAAQtjB,aAAa,EAAbA;GAAzB,CADE,GAEAsjB,IAAI,CAACqD,gBAAL,MACDhlB,GAAG,CAACkL,YAAJ,MACC1H,MAAM,CAAClC,EAAP,KACEtB,GAAG,CAACilB,gBAHN,GAG0B,IAH1B,GAGiCtD,IAAI,CAACuD,eAAL,KACnCvD,IAAI,CAACwD,oBAAL,EADmC,GAEjCZ,SAAS,GACXvlB,mBAAA,CAAC0iB,qBAAD;IAAuBC,IAAI,EAAEA;IAAMtjB,aAAa,EAAEA;GAAlD,CADW,GAET,CAAColB,iBAAiB,IAAIhgB,SAAS,CAACggB,iBAAhC,KACFhgB,SAAS,CAACggB,iBAAV,KAAgC,KAD9B,GAEFzkB,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACqjB,cAAD;IAAgBV,IAAI,EAAEA;IAAMtjB,aAAa,EAAEA;GAA3C,EACEW,mBAAA,eAAA,MAAA,qBACGyE,SADH,oBACGA,SAAS,CAAEshB,IADd,oBACGthB,SAAS,CAAEshB,IAAX,CAAkB;IAAEpD,IAAI,EAAJA,IAAF;IAAQtjB,aAAa,EAAbA;GAA1B,CADH,8BAEIsjB,IAAI,CAACyD,UAAL,EAFJ,CADF,CADF,EAOGplB,GAAG,CAACkL,YAAJ,MAAsBlM,mBAAA,eAAA,MAAA,MAAA,kBAAKgB,GAAG,CAACqlB,OAAT,qBAAK,aAAa/d,MAAlB,KAAA,CAPzB,CAFE,GAYFtI,mBAAA,eAAA,MAAA,sBACGyE,SADH,oBACGA,SAAS,CAAEshB,IADd,oBACGthB,SAAS,CAAEshB,IAAX,CAAkB;IAAEpD,IAAI,EAAJA,IAAF;IAAQtjB,aAAa,EAAbA;GAA1B,CADH,+BACiDsjB,IAAI,CAACyD,UAAL,EADjD,EAEGplB,GAAG,CAACkL,YAAJ,MAAsBlM,mBAAA,eAAA,MAAA,MAAA,0CAAKgB,GAAG,CAACqlB,OAAT,qBAAK,cAAa/d,MAAlB,kCAA4B,EAA5B,KAAA,CAFzB,CAjCJ,CA7DF,CADF;AAuGD,CA3NM;;ACNA,IAAMge,oBAAoB,GAAc,SAAlCA,oBAAkC;MAAGtlB,WAAAA;MAAK3B,qBAAAA;EACrD,IACEknB,qBADF,GAQIlnB,aARJ,CACEknB,qBADF;8BAQIlnB,aARJ,CAEEK,OAFF;MAGI8mB,oBAHJ,yBAGIA,oBAHJ;MAIIC,wBAJJ,yBAIIA,wBAJJ;MAKIC,qBALJ,yBAKIA,qBALJ;MAMI7mB,iBANJ,yBAMIA,iBANJ;EAUA,IAAMqiB,aAAa,GACjBsE,oBAAoB,YAAYxd,QAAhC,GACIwd,oBAAoB,CAAC;IAAExlB,GAAG,EAAHA,GAAF;IAAO3B,aAAa,EAAbA;GAAR,CADxB,GAEImnB,oBAHN;EAKA,IAAM/F,cAAc,GAClBgG,wBAAwB,YAAYzd,QAApC,GACIyd,wBAAwB,CAAC;IAAEzlB,GAAG,EAAHA,GAAF;IAAO3B,aAAa,EAAbA;GAAR,CAD5B,GAEIonB,wBAHN;EAKA,OACEzmB,mBAAA,CAACmiB,QAAD,oBAAcD,cAAd,EACEliB,mBAAA,CAACmhB,SAAD;IACEE,OAAO,EAAEkF,qBAAqB,GAAGje,MAAxB,GAAiC;IAC1C9H,OAAO,EAAE,iBAACW,KAAD;MAAA,OACPulB,qBADO,oBACPA,qBAAqB,CAAG;QAAEvlB,KAAK,EAALA,KAAF;QAASH,GAAG,EAAHA,GAAT;QAAc3B,aAAa,EAAbA;OAAjB,CADd;;KAGLohB;IACJhgB,EAAE;MACAkmB,YAAY,EAAE,CAAC3lB,GAAG,CAACM,aAAJ,EAAD,GAAuB,MAAvB,GAAgC+B,SAD9C;MAEAme,EAAE,EAAExgB,GAAG,CAACM,aAAJ,KAAsB,MAAtB,GAA+B,CAFnC;MAGAoM,EAAE,EAAE1M,GAAG,CAACM,aAAJ,KAAsB,MAAtB,GAA+B,CAHnC;MAIAR,UAAU,EAAE;OACT2f,cALH,oBAKGA,cAAc,CAAEhgB,EALnB;IANJ,EAcET,mBAAA,CAACkW,QAAD;IAAU,MAAIlV,GAAG,CAACM,aAAJ;GAAd,EACGzB,iBADH,oBACGA,iBAAiB,CAAG;IAAEmB,GAAG,EAAHA,GAAF;IAAO3B,aAAa,EAAbA;GAAV,CADpB,CAdF,CADF,CADF;AAsBD,CA3CM;;ACGA,IAAMunB,gBAAgB,GAAc,SAA9BA,gBAA8B;MAAG5lB,WAAAA;MAAKujB,gBAAAA;MAAUllB,qBAAAA;EAC3D,IACEsN,sBADF,GAGItN,aAHJ,CACEsN,sBADF;8BAGItN,aAHJ,CAEEK,OAFF;MAEa8mB,oBAFb,yBAEaA,oBAFb;MAEmCK,aAFnC,yBAEmCA,aAFnC;MAEkDhnB,iBAFlD,yBAEkDA,iBAFlD;EAKA,IAAMqiB,aAAa,GACjBsE,oBAAoB,YAAYxd,QAAhC,GACIwd,oBAAoB,CAAC;IAAExlB,GAAG,EAAHA,GAAF;IAAO3B,aAAa,EAAbA;GAAR,CADxB,GAEImnB,oBAHN;EAKA,OACExmB,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACmiB,QAAD;IACE2E,KAAK;IACLtmB,OAAO,EAAE,iBAACW,KAAD;MAAA,OACP0lB,aADO,oBACPA,aAAa,CAAG;QAAE1lB,KAAK,EAALA,KAAF;QAASH,GAAG,EAAHA,GAAT;QAAc3B,aAAa,EAAbA;OAAjB,CADN;;IAGTyH,QAAQ,EAAE9F,GAAG,CAAC2S,aAAJ;KACNuO;IACJzhB,EAAE,EAAE,YAACqa,KAAD;MAAA;QACF7S,eAAe,EAAE8S,OAAO,CAACD,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC,CADtB;QAEFna,UAAU,EAAE,sBAFV;QAGF,cAAc;UACZmH,eAAe,EACb,CAAAia,aAAa,QAAb,YAAAA,aAAa,CAAE4E,KAAf,MAAyB,KAAzB,IAAkCna,sBAAsB,EAAxD,GACImO,KAAK,CAACE,OAAN,CAAc2K,IAAd,KAAuB,MAAvB,QACK5K,OAAO,CAACD,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC,CADZ,QAEK2K,MAAM,CAAC9K,KAAK,CAACE,OAAN,CAAcC,UAAd,WAAD,EAAmC,IAAnC,CAHf,GAII5X;;SAEJ6e,aAXF,oBAWEA,aAAa,CAAEzhB,EAXjB;;IAPN,EAqBGO,GAAG,CAAC+lB,eAAJ,GAAsBrgB,GAAtB,CAA0B,UAACic,IAAD;IAAA,OACzB3iB,mBAAA,CAACqkB,iBAAD;MACE1B,IAAI,EAAEA;MACN9b,GAAG,EAAE8b,IAAI,CAACrgB;MACVgiB,WAAW,EAAE,CAAApC,aAAa,QAAb,YAAAA,aAAa,CAAE4E,KAAf,MAAyB;MACtCvC,QAAQ,EAAEA;MACVllB,aAAa,EAAEA;KALjB,CADyB;GAA1B,CArBH,CADF,EAgCGQ,iBAAiB,IAAI,CAACmB,GAAG,CAACkL,YAAJ,EAAtB,IACClM,mBAAA,CAACsmB,oBAAD;IAAsBtlB,GAAG,EAAEA;IAAK3B,aAAa,EAAEA;GAA/C,CAjCJ,CADF;AAsCD,CAjDM;;ACDA,IAAM2nB,aAAa,GAAc,SAA3BA,aAA2B;MACtC3nB,qBAAAA;MACA4nB,yBAAAA;EAEA,IACEC,qBADF,GAKI7nB,aALJ,CACE6nB,qBADF;MAEE5P,wBAFF,GAKIjY,aALJ,CAEEiY,wBAFF;MAGE7X,QAHF,GAKIJ,aALJ,CAGEI,QAHF;8BAKIJ,aALJ,CAIEK,OAJF;MAIa4b,gBAJb,yBAIaA,gBAJb;MAI+B6L,uBAJ/B,yBAI+BA,uBAJ/B;MAIwDC,iBAJxD,yBAIwDA,iBAJxD;;EAOA,gBAA2B3nB,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,IAAMsnB,cAAc,GAClBD,iBAAiB,YAAYpe,QAA7B,GACIoe,iBAAiB,CAAC;IAAE/nB,aAAa,EAAbA;GAAH,CADrB,GAEI+nB,iBAHN;EAKA,IAAMpP,IAAI,GAAGsD,gBAAgB,GACzB4L,qBAAqB,GAAGlP,IADC,GAEzBV,wBAAwB,GAAGU,IAF/B;EAIA,IAAMsP,cAAc,GAAGH,uBAAuB,GAC1CI,UAAU,CAAC;IACTC,QAAQ,EAAEznB,cAAc,GAAG,EAAH,GAAQ,CADvB;IAETwH,IAAI,EAAEyQ,IAAI,CAAC1P,MAFF;IAGTmf,SAAS,EAAER;GAHH,CADgC,GAMzC,EANL;EAQA,IAAsBS,WAAtB,GAAsCJ,cAAtC,CAAQK,YAAR;EACA,IAAMC,UAAU,GAAG,CAAAF,WAAW,QAAX,YAAAA,WAAW,CAAEpf,MAAb,IAAsB,CAAtB,GAA0Bof,WAAW,CAAC,CAAD,CAAX,CAAeG,KAAzC,GAAiD,CAApE;EACA,IAAMC,aAAa,GACjB,CAAAJ,WAAW,QAAX,YAAAA,WAAW,CAAEpf,MAAb,IAAsB,CAAtB,GACIgf,cAAc,CAACS,SAAf,GAA2BL,WAAW,CAACA,WAAW,CAACpf,MAAZ,GAAqB,CAAtB,CAAX,CAAoC0f,GADnE,GAEI,CAHN;EAKA,OACEhoB,mBAAA,CAACioB,SAAD,oBAAeZ,eAAf,EACGF,uBAAuB,IAAIS,UAAU,GAAG,CAAxC,IACC5nB,mBAAA,KAAA,MAAA,EACEA,mBAAA,KAAA;IAAIY,KAAK,EAAE;MAAEF,MAAM,EAAKknB,UAAL;;GAAnB,CADF,CAFJ,EAOG,CAACT,uBAAuB,GAAGO,WAAH,GAAiB1P,IAAzC,EAA+CtR,GAA/C,CACC,UAACwhB,eAAD,EAAuB3D,QAAvB;IACE,IAAMvjB,GAAG,GAAGmmB,uBAAuB,GAC9BnP,IAAI,CAACkQ,eAAe,CAACvhB,KAAjB,CAD0B,GAE9BuhB,eAFL;IAGA,OACEloB,mBAAA,CAAC4mB,gBAAD;MACE/f,GAAG,EAAE7F,GAAG,CAACsB;MACTtB,GAAG,EAAEA;MACLujB,QAAQ,EACN4C,uBAAuB,GAAGe,eAAe,CAACvhB,KAAnB,GAA2B4d;MAEpDllB,aAAa,EAAEA;KANjB,CADF;GALH,CAPH,EAwBG8nB,uBAAuB,IAAIW,aAAa,GAAG,CAA3C,IACC9nB,mBAAA,KAAA,MAAA,EACEA,mBAAA,KAAA;IAAIY,KAAK,EAAE;MAAEF,MAAM,EAAKonB,aAAL;;GAAnB,CADF,CAzBJ,CADF;AAgCD,CArEM;;ACFA,IAAMK,mBAAmB,GAAc,SAAjCA,mBAAiC;;;MAAGC,cAAAA;MAAQ/oB,qBAAAA;EACvD,IACEI,QADF,GAGIJ,aAHJ,CACEI,QADF;8BAGIJ,aAHJ,CAEEK,OAFF;MAEa2oB,uBAFb,yBAEaA,uBAFb;MAEsCna,oBAFtC,yBAEsCA,oBAFtC;;EAKA,gBAA2BzO,QAAQ,EAAnC;MAAQM,cAAR,aAAQA,cAAR;;EAEA,IAAQyE,MAAR,GAAmB4jB,MAAnB,CAAQ5jB,MAAR;EAEA,IAAQC,SAAR,GAAqCD,MAArC,CAAQC,SAAR;MAAmBuF,aAAnB,GAAqCxF,MAArC,CAAmBwF,aAAnB;EAEA,IAAMse,qBAAqB,GACzBD,uBAAuB,YAAYrf,QAAnC,GACIqf,uBAAuB,CAAC;IAAE7jB,MAAM,EAANA,MAAF;IAAUnF,aAAa,EAAbA;GAAX,CAD3B,GAEIgpB,uBAHN;EAKA,IAAME,sBAAsB,GAC1B9jB,SAAS,CAAC4jB,uBAAV,YAA6Crf,QAA7C,GACIvE,SAAS,CAAC4jB,uBAAV,CAAkC;IAAE7jB,MAAM,EAANA,MAAF;IAAUnF,aAAa,EAAbA;GAA5C,CADJ,GAEIoF,SAAS,CAAC4jB,uBAHhB;;EAKA,IAAM5H,cAAc,gBACf6H,qBADe,EAEfC,sBAFe,CAApB;;EAKA,OACEvoB,mBAAA,CAACmhB,SAAD;IACEC,KAAK,EAAEpX,aAAa,KAAK,OAAlB,GAA4B,QAA5B,GAAuC;IAC9CqX,OAAO,EAAE+G,MAAM,CAAC/G;IAChB/K,OAAO,EAAC;KACJmK;IACJhgB,EAAE,EAAE,YAACqa,KAAD;MAAA;QACF7S,eAAe,EAAE6S,KAAK,CAACE,OAAN,CAAcC,UAAd,WADf;QAEFC,eAAe,uBAAqBkB,KAAK,CACvCtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBmM,KADkB,EAEvC,IAFuC,CAA1B,SAGVpM,KAAK,CAACtB,KAAK,CAACE,OAAN,CAAcqB,MAAd,CAAqBmM,KAAtB,EAA6B,IAA7B,CAHK,MAFb;QAMFlH,UAAU,EAAE,MANV;QAOFI,QAAQ,EAAKld,MAAM,CAACmd,OAAP,EAAL,OAPN;QAQFva,QAAQ,EAAK5C,MAAM,CAACmd,OAAP,EAAL,OARN;QASF3Z,CAAC,EAAEjI,cAAc,GAAG,QAAH,GAAc,MAT7B;QAUFe,UAAU,YAASoN,oBAAoB,GAAG,MAAH,GAAY,MAAzC,kBAVR;QAWFvN,KAAK,EAAE6D,MAAM,CAACmd,OAAP,EAXL;QAYFF,aAAa,EAAE;SACXhB,cAbF,oBAaEA,cAAc,CAAEhgB,EAblB;;IALN,EAqBET,mBAAA,eAAA,MAAA,EACGooB,MAAM,CAACvG,aAAP,GACG,IADH,8BAEIpd,SAAS,CAACgkB,MAAV,YAA4Bzf,QAA5B,GACGvE,SAAS,CAACgkB,MADb,oBACGhkB,SAAS,CAACgkB,MAAV,CAAmB;IACjBL,MAAM,EAANA,MADiB;IAEjB/oB,aAAa,EAAbA;GAFF,CADH,GAKGoF,SAAS,CAACgkB,MAPjB,oBAQGhkB,SAAS,CAAC2jB,MARb,oBASGA,MAAM,CAACM,YAAP,EATH,oBAUG,IAXN,CArBF,CADF;AAqCD,CAhEM;;ACCA,IAAMC,kBAAkB,GAAc,SAAhCA,kBAAgC;;;MAC3CC,mBAAAA;MACAvpB,qBAAAA;EAEA,IACawpB,sBADb,GAEIxpB,aAFJ,CACEK,OADF,CACampB,sBADb;;EAKA,IACE,0BAACD,WAAW,CAACxG,OAAb,aAAC,qBAAqB7Z,IAArB,CACC,UAACvE,MAAD;IAAA,OACG,OAAOA,MAAM,CAACQ,MAAP,CAAcC,SAAd,CAAwB2jB,MAA/B,KAA0C,QAA1C,IACC,CAAC,CAACpkB,MAAM,CAACQ,MAAP,CAAcC,SAAd,CAAwB2jB,MAD5B,IAEApkB,MAAM,CAACQ,MAAP,CAAcC,SAAd,CAAwBgkB,MAH1B;GADD,CAAD,CADF,EAQE,OAAO,IAAP;EAEF,IAAMvG,aAAa,GACjB2G,sBAAsB,YAAY7f,QAAlC,GACI6f,sBAAsB,CAAC;IAAED,WAAW,EAAXA,WAAF;IAAevpB,aAAa,EAAbA;GAAhB,CAD1B,GAEIwpB,sBAHN;EAKA,OACE7oB,mBAAA,CAACmiB,QAAD,oBAAcD,cAAd,EACG0G,WAAW,CAACxG,OAAZ,CAAoB1b,GAApB,CAAwB,UAAC0hB,MAAD;IAAA,OACvBpoB,mBAAA,CAACmoB,mBAAD;MACEC,MAAM,EAAEA;MACRvhB,GAAG,EAAEuhB,MAAM,CAAC9lB;MACZjD,aAAa,EAAEA;KAHjB,CADuB;GAAxB,CADH,CADF;AAWD,CAnCM;;ACDA,IAAMypB,eAAe,GAAc,SAA7BA,eAA6B;MAAGzpB,qBAAAA;EAC3C,IACE0pB,eADF,GAII1pB,aAJJ,CACE0pB,eADF;MAGaC,mBAHb,GAII3pB,aAJJ,CAGEK,OAHF,CAGaspB,mBAHb;EAMA,IAAMC,gBAAgB,GACpBD,mBAAmB,YAAYhgB,QAA/B,GACIggB,mBAAmB,CAAC;IAAE3pB,aAAa,EAAbA;GAAH,CADvB,GAEI2pB,mBAHN;EAKA,OACEhpB,mBAAA,CAACkpB,WAAD,oBAAiBD,iBAAjB,EACGF,eAAe,GAAGriB,GAAlB,CAAsB,UAACkiB,WAAD;IAAA,OACrB5oB,mBAAA,CAAC2oB,kBAAD;MACEC,WAAW,EAAEA;MACb/hB,GAAG,EAAE+hB,WAAW,CAACtmB;MACjBjD,aAAa,EAAEA;KAHjB,CADqB;GAAtB,CADH,CADF;AAWD,CAvBM;;ACGA,IAAM8pB,SAAS,GAAc,SAAvBA,SAAuB;MAAGlC,yBAAAA;MAAmB5nB,qBAAAA;EACxD,4BASIA,aATJ,CACEK,OADF;MAEIwO,oBAFJ,yBAEIA,oBAFJ;MAGIiZ,uBAHJ,yBAGIA,uBAHJ;MAIIiC,kBAJJ,yBAIIA,kBAJJ;MAKIC,iBALJ,yBAKIA,iBALJ;MAMIC,eANJ,yBAMIA,eANJ;MAOIC,aAPJ,yBAOIA,aAPJ;EAWA,IAAMC,UAAU,GACdD,aAAa,YAAYvgB,QAAzB,GACIugB,aAAa,CAAC;IAAElqB,aAAa,EAAbA;GAAH,CADjB,GAEIkqB,aAHN;EAKA,OACEvpB,mBAAA,CAACypB,KAAD;IACEC,YAAY,EAAEN;KACVI;IACJ/oB,EAAE;MACAkpB,WAAW,EACTzb,oBAAoB,IAAIiZ,uBAAxB,GAAkD,OAAlD,GAA4D9jB;OAC3DmmB,UAHH,oBAGGA,UAAU,CAAE/oB,EAHf;IAHJ,EASG6oB,eAAe,IAAItpB,mBAAA,CAACqiB,aAAD;IAAehjB,aAAa,EAAEA;GAA9B,CATtB,EAUEW,mBAAA,CAACgnB,aAAD;IACEC,iBAAiB,EAAEA;IACnB5nB,aAAa,EAAEA;GAFjB,CAVF,EAcGgqB,iBAAiB,IAAIrpB,mBAAA,CAAC8oB,eAAD;IAAiBzpB,aAAa,EAAEA;GAAhC,CAdxB,CADF;AAkBD,CAnCM;;ACPP,IAAMuqB,yBAAyB,GAC7B,OAAOC,MAAP,KAAkB,WAAlB,GAAgCC,eAAhC,GAAkDC,SADpD;AAOA,AAAO,IAAMC,kBAAkB,GAAc,SAAhCA,kBAAgC;MAAG3qB,qBAAAA;EAC9C,IACEI,QADF,GAGIJ,aAHJ,CACEI,QADF;8BAGIJ,aAHJ,CAEEK,OAFF;MAEa0pB,kBAFb,yBAEaA,kBAFb;MAEiCa,sBAFjC,yBAEiCA,sBAFjC;MAEyD5b,OAFzD,yBAEyDA,OAFzD;;EAKA,gBAAyB5O,QAAQ,EAAjC;MAAQ2U,YAAR,aAAQA,YAAR;;EAEA,gBAAoD5F,QAAQ,CAAC,CAAD,CAA5D;MAAO0b,kBAAP;MAA2BC,qBAA3B;;EAEA,IAAMC,mBAAmB,GACvBH,sBAAsB,YAAYjhB,QAAlC,GACIihB,sBAAsB,CAAC;IAAE5qB,aAAa,EAAbA;GAAH,CAD1B,GAEI4qB,sBAHN;EAKAL,yBAAyB,CAAC;;;IACxB,IAAMS,gBAAgB,GACpB,OAAO1a,QAAP,KAAoB,WAApB,yCACIA,QADJ,+CACI,UAAUC,cAAV,UAAgCvB,OAAhC,kBADJ,qBACI,uBACIic,YAFR,oCAEwB,CAFxB,GAGI,CAJN;IAMA,IAAMC,mBAAmB,GACvB,OAAO5a,QAAP,KAAoB,WAApB,2CACIA,QADJ,8CACI,WAAUC,cAAV,UAAgCvB,OAAhC,qBADJ,qBACI,sBACIic,YAFR,qCAEwB,CAFxB,GAGI,CAJN;IAMAH,qBAAqB,CAACE,gBAAgB,GAAGE,mBAApB,CAArB;GAbuB,CAAzB;EAgBA,IAAMtD,iBAAiB,GAAGjnB,KAAK,CAACwqB,MAAN,CAA6B,IAA7B,CAA1B;EAEA,OACExqB,mBAAA,CAACyqB,cAAD,oBACML;IACJ1iB,GAAG,EAAEuf;IACLxmB,EAAE;MACAihB,QAAQ,EAAE,MADV;MAEAgJ,SAAS,EAAEtB,kBAAkB,kCACIc,kBADJ,oBAEzB7mB,SAJJ;MAKA+X,QAAQ,EAAE;OACPgP,mBANH,oBAMGA,mBAAmB,CAAE3pB,EANxB;IAQFG,KAAK,EAAE;MACL8pB,SAAS,EAAEtW,YAAY,qBACH8V,kBADG,WAEnB7mB;;IAdR,EAiBErD,mBAAA,CAACmpB,SAAD;IACElC,iBAAiB,EAAEA;IACnB5nB,aAAa,EAAEA;GAFjB,CAjBF,CADF;AAwBD,CAzDM;;ACCA,IAAMsrB,cAAc,GAAc,SAA5BA,cAA4B;MAAGtrB,qBAAAA;EAC1C,IACEI,QADF,GAGIJ,aAHJ,CACEI,QADF;8BAGIJ,aAHJ,CAEEK,OAFF;MAEakrB,mBAFb,yBAEaA,mBAFb;MAEkCC,gBAFlC,yBAEkCA,gBAFlC;MAEoDC,kBAFpD,yBAEoDA,kBAFpD;;EAKA,gBAAyBrrB,QAAQ,EAAjC;MAAQ2U,YAAR,aAAQA,YAAR;;EAEA2V,SAAS,CAAC;IACR,IAAI,OAAOF,MAAP,KAAkB,WAAtB,EAAmC;MACjC,IAAIzV,YAAJ,EAAkB;QAChBzE,QAAQ,CAACob,IAAT,CAAcnqB,KAAd,CAAoBwa,QAApB,GAA+B,QAA/B;QACAzL,QAAQ,CAACob,IAAT,CAAcnqB,KAAd,CAAoBF,MAApB,GAA6B,OAA7B;OAFF,MAGO;QACLiP,QAAQ,CAACob,IAAT,CAAcnqB,KAAd,CAAoBwa,QAApB,GAA+B,MAA/B;QACAzL,QAAQ,CAACob,IAAT,CAAcnqB,KAAd,CAAoBF,MAApB,GAA6B,MAA7B;;;GAPG,EAUN,CAAC0T,YAAD,CAVM,CAAT;EAYA,IAAM4W,eAAe,GACnBF,kBAAkB,YAAY9hB,QAA9B,GACI8hB,kBAAkB,CAAC;IAAEzrB,aAAa,EAAbA;GAAH,CADtB,GAEIyrB,kBAHN;EAKA,OACE9qB,mBAAA,CAACirB,WAAD;IAAaC,OAAO,EAAEC;GAAtB,EACEnrB,mBAAA,CAACorB,KAAD;IACEC,SAAS,EAAE;KACPL;IACJvqB,EAAE;MACAK,UAAU,EAAE;OACTkqB,eAFH,oBAEGA,eAAe,CAAEvqB,EAFpB;IAIFG,KAAK,EAAE;MACLF,MAAM,EAAE0T,YAAY,GAAG,OAAH,GAAa/Q,SAD5B;MAEL0a,MAAM,EAAE3J,YAAY,GAAG,GAAH,GAAS/Q,SAFxB;MAGLqnB,SAAS,EAAEtW,YAAY,GAAG,OAAH,GAAa/Q,SAH/B;MAILqe,QAAQ,EAAEtN,YAAY,GAAG,OAAH,GAAa/Q,SAJ9B;MAKLioB,OAAO,EAAElX,YAAY,GAAG,GAAH,GAAS/Q,SALzB;MAML1C,KAAK,EAAEyT,YAAY,GAAG,OAAH,GAAa/Q;;IAbpC,EAgBGwnB,gBAAgB,IAAI7qB,mBAAA,CAACqb,cAAD;IAAgBhc,aAAa,EAAEA;GAA/B,CAhBvB,EAiBEW,mBAAA,CAACgqB,kBAAD;IAAoB3qB,aAAa,EAAEA;GAAnC,CAjBF,EAkBGurB,mBAAmB,IAClB5qB,mBAAA,CAACic,iBAAD;IAAmB5c,aAAa,EAAEA;GAAlC,CAnBJ,CADF,CADF;AA0BD,CAnDM;;AC2BA,IAAMksB,aAAa,GAAG,SAAhBA,aAAgB,CAC3BC,KAD2B;;;EAG3B,gBAA+Bhd,QAAQ,CAACgd,KAAK,CAACnd,OAAP,CAAvC;MAAOA,OAAP;MAAgBod,WAAhB;;EACA1B,SAAS,CACP;IAAA;;IAAA,OACE0B,WAAW,mBAACD,KAAK,CAACnd,OAAP,6BAAkB+W,IAAI,CAACC,MAAL,GAAc7iB,QAAd,CAAuB,EAAvB,EAA2BkpB,SAA3B,CAAqC,CAArC,EAAwC,CAAxC,CAAlB,CADb;GADO,EAGP,CAACF,KAAK,CAACnd,OAAP,CAHO,CAAT;EAMA,IAAMsd,gBAAgB,GACpBH,KAAK,CAACI,gBAAN,IACCJ,KAAK,CAACpa,aAAN,IAAuBoa,KAAK,CAAChH,WAAN,KAAsB,KAFhD;EAIA,IAAMqH,gBAAgB,GAAGL,KAAK,CAACM,eAAN,IAAyBN,KAAK,CAACrd,cAAxD;EAEA,IAAM4d,YAAY,GAA+BpnB,OAAO,CAAC;;;IACvD,IAAMqnB,SAAS,0BAAGR,KAAK,CAACO,YAAT,kCAAyB,EAAxC;IAEAC,SAAS,CAAC3iB,WAAV,GACE,0BAAA2iB,SAAA,oBAAAA,SAAS,CAAE3iB,WAAX,oCACCmiB,KAAK,CAAC3hB,oBAAN,IAA8B2hB,KAAK,CAACrd,cADrC,IAEK,CACCwd,gBAAgB,IAAI,iBADrB,EAECE,gBAAgB,IAAI,YAFrB,EAGCL,KAAK,CAACS,kBAAN,IAA4B,YAH7B,EAICT,KAAK,CAAC9G,gBAAN,IAA0B,iBAJ3B,SAKIxc,oBAAoB,CAACsjB,KAAK,CAACrjB,OAAP,CAApB,CAAuDzB,GAAvD,CACD,UAAC0F,CAAD;MAAA,OAAOA,CAAC,CAAC9J,EAAT;KADC,CALJ,EAQCqD,MARD,CAQQ8H,OARR,CAFL,GAWI,EAZN;;IAcA,IAAI,CAAC+d,KAAK,CAACU,qBAAP,IAAgC,CAACV,KAAK,CAACnd,OAA3C,EAAoD;MAClD,OAAO2d,SAAP;;;IAEF,IAAI,OAAOnC,MAAP,KAAkB,WAAtB,EAAmC;MACjC,IAAIsC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;QACzCC,OAAO,CAACC,KAAR,CACE,yJADF;;;MAIF,OAAOP,SAAP;;;IAEF,IAAMQ,WAAW,GACfhB,KAAK,CAACiB,mBAAN,KAA8B,cAA9B,GACIC,YAAY,CAACC,OAAb,UAA4Bte,OAA5B,kBADJ,GAEImd,KAAK,CAACiB,mBAAN,KAA8B,gBAA9B,GACAG,cAAc,CAACD,OAAf,UAA8Bte,OAA9B,kBADA,GAEA,IALN;;IAMA,IAAIme,WAAJ,EAAiB;MACf,IAAMK,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAWP,WAAX,CAApB;;MACA,IAAIK,WAAJ,EAAiB;QACf,oBAAYb,SAAZ,EAA0Ba,WAA1B;;;;IAGJ,OAAOb,SAAP;GAxCsD,EAyCrD,EAzCqD,CAAxD;;EA2CA,iBACExd,QAAQ,0BAAqBud,YAArB,oBAAqBA,YAAY,CAAEhH,kBAAnC,oCAAyD,IAAzD,CADV;MAAOA,kBAAP;MAA2BhC,qBAA3B;;EAEA,iBAAkDvU,QAAQ,2BACxDud,YADwD,oBACxDA,YAAY,CAAEra,iBAD0C,qCACrB,IADqB,CAA1D;MAAOA,iBAAP;MAA0BD,oBAA1B;;EAGA,iBAA4CjD,QAAQ,0BAClDud,YADkD,oBAClDA,YAAY,CAAEhsB,cADoC,oCAClB,KADkB,CAApD;MAAOA,cAAP;MAAuB2U,iBAAvB;;EAGA,iBAAwClG,QAAQ,0BAC9Cud,YAD8C,oBAC9CA,YAAY,CAAE3X,YADgC,oCAChB,KADgB,CAAhD;MAAOA,YAAP;MAAqBD,eAArB;;EAGA,iBAAsC3F,QAAQ,0BAC5Cud,YAD4C,oBAC5CA,YAAY,CAAEjX,WAD8B,oCACf,KADe,CAA9C;MAAOA,WAAP;MAAoBxG,cAApB;;EAGA,iBAAgDE,QAAQ,0BACtDud,YADsD,oBACtDA,YAAY,CAAE3W,gBADwC,oCACpB,KADoB,CAAxD;MAAOA,gBAAP;MAAyBD,mBAAzB;;EAIA,iBAAgD3G,QAAQ,CAErD;IAAA,OACDuC,MAAM,CAACic,MAAP,OAAAjc,MAAM,GACJ,EADI,SAED7I,oBAAoB,CAACsjB,KAAK,CAACrjB,OAAP,CAApB,CAAuDzB,GAAvD,CAA2D,UAAC0F,CAAD;MAAA;;MAAA,yBAC3DA,CAAC,CAAC9J,EADyD,2BAE1D8J,CAAC,CAACrD,QAFwD,0BAG1DgjB,YAH0D,8CAG1DA,YAAY,CAAEznB,gBAH4C,qBAG1D,uBAAiC8H,CAAC,CAAC9J,EAAnC,CAH0D,mBAIzD,CAAC,2BAAC8J,CAAC,CAACuE,mBAAH,aAAC,sBAAuBrI,MAAxB,CAAD,GACG/G,iBAAiB,CAAC6D,MADrB,GAEG7D,iBAAiB,CAACsD,KANoC;KAA3D,CAFC,EADL;GAFqD,CAAxD;MAAOP,gBAAP;MAAyBF,mBAAzB;;EAgBA,iBAA0DoK,QAAQ,0BAEhEgd,KAAK,CAACyB,cAF0D,oCAExC1rB,iBAAiB,CAACsD,KAFsB,CAAlE;MAAON,qBAAP;MAA8BF,wBAA9B;;EAIA,IAAMwE,KAAK,GAAGlE,OAAO,CACnB;IAAA;MAEEuoB,WAAW,GAAGC,UAAd,CAAyB;;QAEvBC,SAAS,EAAE3pB,gBAFY;QAGvB4pB,eAAe,EAAEA,eAAe,EAHT;QAIvBC,mBAAmB,EAAEA,mBAAmB,EAJjB;QAKvBC,kBAAkB,EAAEA,kBAAkB,EALf;QAMvBC,mBAAmB,EAAEA,mBAAmB,EANjB;QAOvBC,kBAAkB,EAAEA,kBAAkB,EAPf;QAQvBvG,qBAAqB,EAAEA,qBAAqB,EARrB;QASvBwG,iBAAiB,EAAEA,iBAAiB,EATb;QAUvBC,UAAU,EAAE,oBAAC3sB,GAAD;UAAA,OAAUA,GAAV,oBAAUA,GAAe,CAAEqlB,OAA3B;SAVW;QAWvBhY,OAAO,EAAPA,OAXuB;QAYvB0d,YAAY,EAAZA;OAZF;;GAHiB,EAiBnB,EAjBmB,CAArB;EAoBA,IAAM6B,cAAc,GAAGjpB,OAAO,CAC5B;IAAA;;IAAA,OACE,CACEgnB,gBAAgB,IACd1iB,mBAAmB,CAACJ,KAAD,EAAQ;MACzBkd,IAAI,EAAE;QAAA,IAAGpD,IAAH,SAAGA,IAAH;QAAA,OACJ3iB,mBAAA,CAACkS,6BAAD;UACElR,GAAG,EAAE2hB,IAAI,CAAC3hB;UACV3B,aAAa,EAAEA;SAFjB,CADI;OADmB;MAOzB2E,MAAM,yBAAEwnB,KAAK,CAAC5rB,YAAR,qBAAE,oBAAoBpI,OAPH;MAQzB8K,EAAE,EAAE,iBARqB;MASzBqiB,qBAAqB,EAAE6G,KAAK,CAAC7G,qBATJ;MAUzBrE,qBAAqB,EAAEkL,KAAK,CAAClL,qBAVJ;MAWzB/Y,IAAI,EAAE;KAXW,CAFvB,EAeEskB,gBAAgB,IACd5iB,mBAAmB,CAACJ,KAAD,EAAQ;MACzBkd,IAAI,EAAE;QAAA,IAAGpD,IAAH,SAAGA,IAAH;QAAA,OACJ3iB,mBAAA,CAACe,gBAAD;UACEC,GAAG,EAAE2hB,IAAI,CAAC3hB;UACV3B,aAAa,EAAEA;SAFjB,CADI;OADmB;MAOzBshB,MAAM,EAAE;QAAA,OACN6K,KAAK,CAACqC,eAAN,GACE7tB,mBAAA,CAACZ,mBAAD;UAAqBC,aAAa,EAAEA;SAApC,CADF,GAEI,IAHE;OAPiB;MAWzB2E,MAAM,0BAAEwnB,KAAK,CAAC5rB,YAAR,qBAAE,qBAAoBxH,MAXH;MAYzBkK,EAAE,EAAE,YAZqB;MAazBqiB,qBAAqB,EAAE6G,KAAK,CAAC7G,qBAbJ;MAczBrE,qBAAqB,EAAEkL,KAAK,CAAClL,qBAdJ;MAezB/Y,IAAI,EAAE;KAfW,CAhBvB,EAiCEikB,KAAK,CAACS,kBAAN,IACEhjB,mBAAmB,CAACJ,KAAD,EAAQ;MACzBkd,IAAI,EAAE;QAAA,IAAGpD,IAAH,SAAGA,IAAH;QAAA,OACJ3iB,mBAAA,CAACuS,kBAAD;UACEvR,GAAG,EAAE2hB,IAAI,CAAC3hB;UACV3B,aAAa,EAAEA;SAFjB,CADI;OADmB;MAOzBshB,MAAM,EAAE;QAAA,OACN6K,KAAK,CAACsC,eAAN,GACE9tB,mBAAA,CAACuS,kBAAD;UAAoBC,SAAS;UAACnT,aAAa,EAAEA;SAA7C,CADF,GAEI,IAHE;OAPiB;MAWzB2E,MAAM,0BAAEwnB,KAAK,CAAC5rB,YAAR,qBAAE,qBAAoBvF,MAXH;MAYzBiI,EAAE,EAAE,YAZqB;MAazBqiB,qBAAqB,EAAE6G,KAAK,CAAC7G,qBAbJ;MAczBrE,qBAAqB,EAAEkL,KAAK,CAAClL,qBAdJ;MAezB/Y,IAAI,EAAE;KAfW,CAlCvB,EAmDEikB,KAAK,CAAC9G,gBAAN,IACEzb,mBAAmB,CAACJ,KAAD,EAAQ;MACzBkd,IAAI,EAAE;QAAA,IAAGpD,IAAH,SAAGA,IAAH;QAAA,OAAcA,IAAI,CAAC3hB,GAAL,CAAS2F,KAAT,GAAiB,CAA/B;OADmB;MAEzBga,MAAM,EAAE;QAAA;;QAAA,+BAAM6K,KAAK,CAAC5rB,YAAZ,qBAAM,qBAAoB5F,SAA1B;OAFiB;MAGzBgK,MAAM,0BAAEwnB,KAAK,CAAC5rB,YAAR,qBAAE,qBAAoB3F,UAHH;MAIzBqI,EAAE,EAAE,iBAJqB;MAKzBqiB,qBAAqB,EAAE6G,KAAK,CAAC7G,qBALJ;MAMzBrE,qBAAqB,EAAEkL,KAAK,CAAClL,qBANJ;MAOzB/Y,IAAI,EAAE;KAPW,CApDvB,EA6DE5B,MA7DF,CA6DS8H,OA7DT,CADF;GAD4B,EAgE5B,CACE+d,KAAK,CAAChH,WADR,EAEEgH,KAAK,CAACpa,aAFR,EAGEoa,KAAK,CAACqC,eAHR,EAIErC,KAAK,CAACM,eAJR,EAKEN,KAAK,CAACrd,cALR,EAMEqd,KAAK,CAACI,gBANR,EAOEJ,KAAK,CAAC9G,gBAPR,EAQE8G,KAAK,CAACS,kBARR,EASET,KAAK,CAACsC,eATR,EAUEtC,KAAK,CAAC5rB,YAVR,EAWEiJ,KAXF,CAhE4B,CAA9B;EA+EA,IAAMV,OAAO,GAAGxD,OAAO,CACrB;IAAA,iBACKipB,cADL,EAEKpC,KAAK,CAACrjB,OAAN,CAAczB,GAAd,CAAkB,UAAClC,MAAD;MAAA,OACnBA,MAAM,CAAC2D,OAAP,GACIS,WAAW,CAACC,KAAD,EAAQrE,MAAR,EAAuBF,gBAAvB,CADf,GAEIwE,gBAAgB,CAACD,KAAD,EAAQrE,MAAR,EAAuBF,gBAAvB,CAHD;KAAlB,CAFL;GADqB,EASrB,CAACuE,KAAD,EAAQ2iB,KAAK,CAACrjB,OAAd,EAAuB7D,gBAAvB,CATqB,CAAvB;EAYA,IAAMypB,IAAI,GAAQppB,OAAO,CACvB;IAAA;;IAAA,OACE,CAAC,gBAAA6mB,KAAK,CAACwC,KAAN,0BAAa1T,SAAb,qBAA0BkR,KAAK,CAACwC,KAAhC,aAA0B,cAAahJ,aAAxC,KACA,CAACwG,KAAK,CAACuC,IAAN,CAAWzlB,MADZ,GAEI,UAAI8E,KAAK,CAAC,EAAD,CAAL,CAAU6gB,IAAV,CAAe,IAAf,CAAJ,EAA0BvnB,GAA1B,CAA8B;MAAA,OAC5BqK,MAAM,CAACic,MAAP,OAAAjc,MAAM,GACJ,EADI,SAED7I,oBAAoB,CAACsjB,KAAK,CAACrjB,OAAP,CAApB,CAAuDzB,GAAvD,CACD,UAAC0F,CAAD;QAAA;;QAAA,yBACGA,CAAC,CAAC9J,EADL,IACU,IADV;OADC,CAFC,EADsB;KAA9B,CAFJ,GAYIkpB,KAAK,CAACuC,IAbZ;GADuB,EAevB,CAACvC,KAAK,CAACuC,IAAP,mBAAavC,KAAK,CAACwC,KAAnB,qBAAa,cAAa1T,SAA1B,mBAAqCkR,KAAK,CAACwC,KAA3C,qBAAqC,cAAahJ,aAAlD,CAfuB,CAAzB;;EAmBA,IAAM3lB,aAAa,gBAEd6uB,gBAAgB,CAACrlB,KAAD,eACd2iB,KADc;;IAGjBrjB,OAAO,EAAPA,OAHiB;IAIjB4lB,IAAI,EAAJA,IAJiB;;IAMjBd,cAAc,EAAE1oB,qBANC;IAOjBypB,KAAK;MACHjJ,kBAAkB,EAAlBA,kBADG;MAEHrT,iBAAiB,EAAjBA,iBAFG;MAGHpN,gBAAgB,EAAhBA,gBAHG;MAIHC,qBAAqB,EAArBA,qBAJG;MAKHxE,cAAc,EAAdA,cALG;MAMHqU,YAAY,EAAZA,YANG;MAOHU,WAAW,EAAXA,WAPG;MAQHM,gBAAgB,EAAhBA;OACGoW,KAAK,CAACwC,KATN;KATU;IAqBjBjL,qBAAqB,EAArBA,qBArBiB;IAsBjBtR,oBAAoB,EAApBA,oBAtBiB;IAuBjBrN,mBAAmB,EAAnBA,mBAvBiB;IAwBjBC,wBAAwB,EAAxBA,wBAxBiB;IAyBjBqQ,iBAAiB,EAAjBA,iBAzBiB;IA0BjBP,eAAe,EAAfA,eA1BiB;IA2BjB7F,cAAc,EAAdA,cA3BiB;IA4BjB6G,mBAAmB,EAAnBA;IA5BF;;EA+BA4U,SAAS,CAAC;IACR,IAAI,OAAOF,MAAP,KAAkB,WAAlB,IAAiC,CAAC2B,KAAK,CAACU,qBAA5C,EAAmE;MACjE;;;IAEF,IAAI,CAACV,KAAK,CAACnd,OAAP,IAAkB8d,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA/C,EAA6D;MAC3DC,OAAO,CAAC6B,IAAR,CACE,sEADF;MAGA;;;IAEF,IAAMC,QAAQ,GAAqB,UAC1B/f,OAD0B,mBAEjCye,IAAI,CAACuB,SAAL,CAAehvB,aAAa,CAACI,QAAd,EAAf,CAFiC,CAAnC;;IAIA,IAAI+rB,KAAK,CAACiB,mBAAN,KAA8B,cAAlC,EAAkD;MAAA;;MAChD,iBAAAC,YAAY,EAAC4B,OAAb,sBAAwBF,QAAxB;KADF,MAEO,IAAI5C,KAAK,CAACiB,mBAAN,KAA8B,gBAAlC,EAAoD;MAAA;;MACzD,mBAAAG,cAAc,EAAC0B,OAAf,wBAA0BF,QAA1B;;GAjBK,EAmBN,CACD5C,KAAK,CAACU,qBADL,EAEDV,KAAK,CAACnd,OAFL,EAGDmd,KAAK,CAACiB,mBAHL,EAIDptB,aAJC,CAnBM,CAAT;EA0BA,OACEW,mBAAA,eAAA,MAAA,EACEA,mBAAA,CAACuuB,MAAD;IACEC,cAAc,EAAErnB;IAChBsnB,mBAAmB,EAAEC;IACrBC,aAAa;IACbC,UAAU;IACVC,WAAW,EAAE;IACbvoB,OAAO,EAAE;MAAA,OAAM6N,eAAe,CAAC,KAAD,CAArB;;IACT5N,IAAI,EAAE6N;IACN0a,kBAAkB,EAAE;GARtB,EAUE9uB,mBAAA,CAAC2qB,cAAD;IAAgBtrB,aAAa,EAAEA;GAA/B,CAVF,CADF,EAaG,CAAC+U,YAAD,IAAiBpU,mBAAA,CAAC2qB,cAAD;IAAgBtrB,aAAa,EAAEA;GAA/B,CAbpB,CADF;AAiBD,CA7SM;;;ACxCP,AAswBA,0BAAe;EAAA,iCACb0vB,iBADa;MACbA,iBADa,sCACO,KADP;mCAEbC,gBAFa;MAEbA,gBAFa,sCAEM,OAFN;gCAGbC,aAHa;MAGbA,aAHa,mCAGG;IAAErN,OAAO,EAAE,EAAX;IAAesN,OAAO,EAAE,IAAxB;IAA8B3nB,IAAI,EAAE;GAHvC;8BAIbid,WAJa;MAIbA,WAJa,iCAIC,KAJD;mCAKbnE,mBALa;MAKbA,mBALa,sCAKS,IALT;mCAMbpS,mBANa;MAMbA,mBANa,sCAMS,IANT;mCAObpE,oBAPa;MAObA,oBAPa,sCAOU,KAPV;mCAQbqE,oBARa;MAQbA,oBARa,sCAQU,KARV;mCASb4I,wBATa;MASbA,wBATa,sCASc,IATd;kCAUb+W,eAVa;MAUbA,eAVa,qCAUK,IAVL;gCAWb9W,aAXa;MAWbA,aAXa,mCAWG,IAXH;mCAYbC,sBAZa;MAYbA,sBAZa,sCAYY,IAZZ;mCAabC,kBAba;MAabA,kBAba,sCAaQ,IAbR;iCAcb9I,cAda;MAcbA,cAda,oCAcI,KAdJ;+BAebhB,YAfa;MAebA,YAfa,kCAeE,IAfF;mCAgBbgiB,uBAhBa;MAgBbA,uBAhBa,sCAgBa,IAhBb;mCAiBb7T,gBAjBa;MAiBbA,gBAjBa,sCAiBM,IAjBN;gCAkBbtO,aAlBa;MAkBbA,aAlBa,mCAkBG,KAlBH;kCAmBb8gB,eAnBa;MAmBbA,eAnBa,qCAmBK,IAnBL;gCAoBb1f,aApBa;MAoBbA,aApBa,mCAoBG,IApBH;mCAqBbgb,kBArBa;MAqBbA,kBArBa,sCAqBQ,IArBR;mCAsBbC,iBAtBa;MAsBbA,iBAtBa,sCAsBO,IAtBP;kCAuBbC,eAvBa;MAuBbA,eAvBa,qCAuBK,IAvBL;mCAwBbsB,mBAxBa;MAwBbA,mBAxBa,sCAwBS,IAxBT;mCAyBbrP,4BAzBa;MAyBbA,4BAzBa,sCAyBkB,IAzBlB;mCA0BbsP,gBA1Ba;MA0BbA,gBA1Ba,sCA0BM,IA1BN;MA2BblrB,KA3Ba,QA2BbA,KA3Ba;MA4BbC,YA5Ba,QA4BbA,YA5Ba;mCA6Bb6sB,mBA7Ba;MA6BbA,mBA7Ba,sCA6BS,gBA7BT;mCA8Bb2C,qBA9Ba;MA8BbA,qBA9Ba,sCA8BW,OA9BX;mCA+Bb3T,kBA/Ba;MA+BbA,kBA/Ba,sCA+BQ,QA/BR;mCAgCbvE,oBAhCa;MAgCbA,oBAhCa,sCAgCU,OAhCV;mCAiCbwE,sBAjCa;MAiCbA,sBAjCa,sCAiCY,KAjCZ;oCAkCbC,0BAlCa;MAkCbA,0BAlCa,uCAkCgB,KAlChB;gCAmCbmJ,aAnCa;MAmCbA,aAnCa,mCAmCG,UAnCH;gCAoCbhS,aApCa;MAoCbA,aApCa,mCAoCG,KApCH;MAqCVmB,IArCU;;EAAA,OAuCbjU,mBAAA,CAACurB,aAAD;IACEwD,iBAAiB,EAAEA;IACnBC,gBAAgB,EAAEA;IAClBC,aAAa,EAAEA;IACfzK,WAAW,EAAEA;IACbnE,mBAAmB,EAAEA;IACrBpS,mBAAmB,EAAEA;IACrBpE,oBAAoB,EAAEA;IACtBqE,oBAAoB,EAAEA;IACtB4I,wBAAwB,EAAEA;IAC1B+W,eAAe,EAAEA;IACjB9W,aAAa,EAAEA;IACfC,sBAAsB,EAAEA;IACxBC,kBAAkB,EAAEA;IACpB9I,cAAc,EAAEA;IAChBhB,YAAY,EAAEA;IACdgiB,uBAAuB,EAAEA;IACzB7T,gBAAgB,EAAEA;IAClBtO,aAAa,EAAEA;IACf8gB,eAAe,EAAEA;IACjB1f,aAAa,EAAEA;IACfgb,kBAAkB,EAAEA;IACpBC,iBAAiB,EAAEA;IACnBC,eAAe,EAAEA;IACjBsB,mBAAmB,EAAEA;IACrBrP,4BAA4B,EAAEA;IAC9BsP,gBAAgB,EAAEA;IAClBlrB,KAAK,eAAOlE,iBAAP,EAA6BkE,KAA7B;IACLC,YAAY,eAAOrI,0BAAP,EAAsCqI,YAAtC;IACZ6sB,mBAAmB,EAAEA;IACrB2C,qBAAqB,EAAEA;IACvBlY,oBAAoB,EAAEA;IACtBuE,kBAAkB,EAAEA;IACpBC,sBAAsB,EAAEA;IACxBC,0BAA0B,EAAEA;IAC5BmJ,aAAa,EAAEA;IACfhS,aAAa,EAAEA;KACXmB,KArCN,CAvCa;AAAA,CAAf;;;;"}