qBitrr2 4.10.15__py3-none-any.whl → 5.4.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. qBitrr/arss.py +2127 -850
  2. qBitrr/auto_update.py +382 -0
  3. qBitrr/bundled_data.py +3 -2
  4. qBitrr/config.py +20 -3
  5. qBitrr/db_lock.py +79 -0
  6. qBitrr/env_config.py +19 -7
  7. qBitrr/gen_config.py +286 -26
  8. qBitrr/logger.py +87 -3
  9. qBitrr/main.py +453 -101
  10. qBitrr/search_activity_store.py +88 -0
  11. qBitrr/static/assets/ArrView.js +2 -0
  12. qBitrr/static/assets/ArrView.js.map +1 -0
  13. qBitrr/static/assets/ConfigView.js +4 -0
  14. qBitrr/static/assets/ConfigView.js.map +1 -0
  15. qBitrr/static/assets/LogsView.js +230 -0
  16. qBitrr/static/assets/LogsView.js.map +1 -0
  17. qBitrr/static/assets/ProcessesView.js +2 -0
  18. qBitrr/static/assets/ProcessesView.js.map +1 -0
  19. qBitrr/static/assets/app.css +1 -0
  20. qBitrr/static/assets/app.js +11 -0
  21. qBitrr/static/assets/app.js.map +1 -0
  22. qBitrr/static/assets/build.svg +3 -0
  23. qBitrr/static/assets/check-mark.svg +5 -0
  24. qBitrr/static/assets/close.svg +4 -0
  25. qBitrr/static/assets/download.svg +5 -0
  26. qBitrr/static/assets/gear.svg +5 -0
  27. qBitrr/static/assets/lidarr.svg +1 -0
  28. qBitrr/static/assets/live-streaming.svg +8 -0
  29. qBitrr/static/assets/log.svg +3 -0
  30. qBitrr/static/assets/plus.svg +4 -0
  31. qBitrr/static/assets/process.svg +15 -0
  32. qBitrr/static/assets/react-select.esm.js +14 -0
  33. qBitrr/static/assets/react-select.esm.js.map +1 -0
  34. qBitrr/static/assets/refresh-arrow.svg +3 -0
  35. qBitrr/static/assets/table.js +23 -0
  36. qBitrr/static/assets/table.js.map +1 -0
  37. qBitrr/static/assets/trash.svg +8 -0
  38. qBitrr/static/assets/up-arrow.svg +3 -0
  39. qBitrr/static/assets/useInterval.js +2 -0
  40. qBitrr/static/assets/useInterval.js.map +1 -0
  41. qBitrr/static/assets/vendor.js +33 -0
  42. qBitrr/static/assets/vendor.js.map +1 -0
  43. qBitrr/static/assets/visibility.svg +9 -0
  44. qBitrr/static/index.html +47 -0
  45. qBitrr/static/manifest.json +23 -0
  46. qBitrr/static/sw.js +105 -0
  47. qBitrr/static/vite.svg +1 -0
  48. qBitrr/tables.py +44 -0
  49. qBitrr/utils.py +82 -15
  50. qBitrr/versioning.py +136 -0
  51. qBitrr/webui.py +2612 -0
  52. qbitrr2-5.4.5.dist-info/METADATA +1116 -0
  53. qbitrr2-5.4.5.dist-info/RECORD +61 -0
  54. {qbitrr2-4.10.15.dist-info → qbitrr2-5.4.5.dist-info}/WHEEL +1 -1
  55. qbitrr2-4.10.15.dist-info/METADATA +0 -239
  56. qbitrr2-4.10.15.dist-info/RECORD +0 -19
  57. {qbitrr2-4.10.15.dist-info → qbitrr2-5.4.5.dist-info}/entry_points.txt +0 -0
  58. {qbitrr2-4.10.15.dist-info → qbitrr2-5.4.5.dist-info/licenses}/LICENSE +0 -0
  59. {qbitrr2-4.10.15.dist-info → qbitrr2-5.4.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sources":["../../../webui/node_modules/@tanstack/table-core/build/lib/index.mjs","../../../webui/node_modules/@tanstack/react-table/build/lib/index.mjs"],"sourcesContent":["/**\n * table-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// createdAt: Date\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nfunction createColumnHelper() {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function' ? {\n ...column,\n accessorFn: accessor\n } : {\n ...column,\n accessorKey: accessor\n };\n },\n display: column => column,\n group: column => column\n };\n}\n\n// Is this type a tuple?\n\n// If this type is a tuple, what indices are allowed?\n\n///\n\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction noop() {\n //\n}\nfunction makeStateUpdater(key, instance) {\n return updater => {\n instance.setState(old => {\n return {\n ...old,\n [key]: functionalUpdate(updater, old[key])\n };\n });\n };\n}\nfunction isFunction(d) {\n return d instanceof Function;\n}\nfunction isNumberArray(d) {\n return Array.isArray(d) && d.every(val => typeof val === 'number');\n}\nfunction flattenBy(arr, getChildren) {\n const flat = [];\n const recurse = subArr => {\n subArr.forEach(item => {\n flat.push(item);\n const children = getChildren(item);\n if (children != null && children.length) {\n recurse(children);\n }\n });\n };\n recurse(arr);\n return flat;\n}\nfunction memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return depArgs => {\n let depTime;\n if (opts.key && opts.debug) depTime = Date.now();\n const newDeps = getDeps(depArgs);\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null || opts.onChange == null || opts.onChange(result);\n if (opts.key && opts.debug) {\n if (opts != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120))}deg 100% 31%);`, opts == null ? void 0 : opts.key);\n }\n }\n return result;\n };\n}\nfunction getMemoOptions(tableOptions, debugLevel, key, onChange) {\n return {\n debug: () => {\n var _tableOptions$debugAl;\n return (_tableOptions$debugAl = tableOptions == null ? void 0 : tableOptions.debugAll) != null ? _tableOptions$debugAl : tableOptions[debugLevel];\n },\n key: process.env.NODE_ENV === 'development' && key,\n onChange\n };\n}\n\nfunction createCell(table, row, column, columnId) {\n const getRenderValue = () => {\n var _cell$getValue;\n return (_cell$getValue = cell.getValue()) != null ? _cell$getValue : table.options.renderFallbackValue;\n };\n const cell = {\n id: `${row.id}_${column.id}`,\n row,\n column,\n getValue: () => row.getValue(columnId),\n renderValue: getRenderValue,\n getContext: memo(() => [table, column, row, cell], (table, column, row, cell) => ({\n table,\n column,\n row,\n cell: cell,\n getValue: cell.getValue,\n renderValue: cell.renderValue\n }), getMemoOptions(table.options, 'debugCells', 'cell.getContext'))\n };\n table._features.forEach(feature => {\n feature.createCell == null || feature.createCell(cell, column, row, table);\n }, {});\n return cell;\n}\n\nfunction createColumn(table, columnDef, depth, parent) {\n var _ref, _resolvedColumnDef$id;\n const defaultColumn = table._getDefaultColumnDef();\n const resolvedColumnDef = {\n ...defaultColumn,\n ...columnDef\n };\n const accessorKey = resolvedColumnDef.accessorKey;\n let id = (_ref = (_resolvedColumnDef$id = resolvedColumnDef.id) != null ? _resolvedColumnDef$id : accessorKey ? typeof String.prototype.replaceAll === 'function' ? accessorKey.replaceAll('.', '_') : accessorKey.replace(/\\./g, '_') : undefined) != null ? _ref : typeof resolvedColumnDef.header === 'string' ? resolvedColumnDef.header : undefined;\n let accessorFn;\n if (resolvedColumnDef.accessorFn) {\n accessorFn = resolvedColumnDef.accessorFn;\n } else if (accessorKey) {\n // Support deep accessor keys\n if (accessorKey.includes('.')) {\n accessorFn = originalRow => {\n let result = originalRow;\n for (const key of accessorKey.split('.')) {\n var _result;\n result = (_result = result) == null ? void 0 : _result[key];\n if (process.env.NODE_ENV !== 'production' && result === undefined) {\n console.warn(`\"${key}\" in deeply nested key \"${accessorKey}\" returned undefined.`);\n }\n }\n return result;\n };\n } else {\n accessorFn = originalRow => originalRow[resolvedColumnDef.accessorKey];\n }\n }\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(resolvedColumnDef.accessorFn ? `Columns require an id when using an accessorFn` : `Columns require an id when using a non-string header`);\n }\n throw new Error();\n }\n let column = {\n id: `${String(id)}`,\n accessorFn,\n parent: parent,\n depth,\n columnDef: resolvedColumnDef,\n columns: [],\n getFlatColumns: memo(() => [true], () => {\n var _column$columns;\n return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];\n }, getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')),\n getLeafColumns: memo(() => [table._getOrderColumnsFn()], orderColumns => {\n var _column$columns2;\n if ((_column$columns2 = column.columns) != null && _column$columns2.length) {\n let leafColumns = column.columns.flatMap(column => column.getLeafColumns());\n return orderColumns(leafColumns);\n }\n return [column];\n }, getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns'))\n };\n for (const feature of table._features) {\n feature.createColumn == null || feature.createColumn(column, table);\n }\n\n // Yes, we have to convert table to unknown, because we know more than the compiler here.\n return column;\n}\n\nconst debug = 'debugHeaders';\n//\n\nfunction createHeader(table, column, options) {\n var _options$id;\n const id = (_options$id = options.id) != null ? _options$id : column.id;\n let header = {\n id,\n column,\n index: options.index,\n isPlaceholder: !!options.isPlaceholder,\n placeholderId: options.placeholderId,\n depth: options.depth,\n subHeaders: [],\n colSpan: 0,\n rowSpan: 0,\n headerGroup: null,\n getLeafHeaders: () => {\n const leafHeaders = [];\n const recurseHeader = h => {\n if (h.subHeaders && h.subHeaders.length) {\n h.subHeaders.map(recurseHeader);\n }\n leafHeaders.push(h);\n };\n recurseHeader(header);\n return leafHeaders;\n },\n getContext: () => ({\n table,\n header: header,\n column\n })\n };\n table._features.forEach(feature => {\n feature.createHeader == null || feature.createHeader(header, table);\n });\n return header;\n}\nconst Headers = {\n createTable: table => {\n // Header Groups\n\n table.getHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {\n var _left$map$filter, _right$map$filter;\n const leftColumns = (_left$map$filter = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter : [];\n const rightColumns = (_right$map$filter = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter : [];\n const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));\n const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);\n return headerGroups;\n }, getMemoOptions(table.options, debug, 'getHeaderGroups'));\n table.getCenterHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {\n leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));\n return buildHeaderGroups(allColumns, leafColumns, table, 'center');\n }, getMemoOptions(table.options, debug, 'getCenterHeaderGroups'));\n table.getLeftHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {\n var _left$map$filter2;\n const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');\n }, getMemoOptions(table.options, debug, 'getLeftHeaderGroups'));\n table.getRightHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {\n var _right$map$filter2;\n const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];\n return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');\n }, getMemoOptions(table.options, debug, 'getRightHeaderGroups'));\n\n // Footer Groups\n\n table.getFooterGroups = memo(() => [table.getHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getFooterGroups'));\n table.getLeftFooterGroups = memo(() => [table.getLeftHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getLeftFooterGroups'));\n table.getCenterFooterGroups = memo(() => [table.getCenterHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getCenterFooterGroups'));\n table.getRightFooterGroups = memo(() => [table.getRightHeaderGroups()], headerGroups => {\n return [...headerGroups].reverse();\n }, getMemoOptions(table.options, debug, 'getRightFooterGroups'));\n\n // Flat Headers\n\n table.getFlatHeaders = memo(() => [table.getHeaderGroups()], headerGroups => {\n return headerGroups.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getFlatHeaders'));\n table.getLeftFlatHeaders = memo(() => [table.getLeftHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getLeftFlatHeaders'));\n table.getCenterFlatHeaders = memo(() => [table.getCenterHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getCenterFlatHeaders'));\n table.getRightFlatHeaders = memo(() => [table.getRightHeaderGroups()], left => {\n return left.map(headerGroup => {\n return headerGroup.headers;\n }).flat();\n }, getMemoOptions(table.options, debug, 'getRightFlatHeaders'));\n\n // Leaf Headers\n\n table.getCenterLeafHeaders = memo(() => [table.getCenterFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders;\n return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);\n });\n }, getMemoOptions(table.options, debug, 'getCenterLeafHeaders'));\n table.getLeftLeafHeaders = memo(() => [table.getLeftFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders2;\n return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);\n });\n }, getMemoOptions(table.options, debug, 'getLeftLeafHeaders'));\n table.getRightLeafHeaders = memo(() => [table.getRightFlatHeaders()], flatHeaders => {\n return flatHeaders.filter(header => {\n var _header$subHeaders3;\n return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);\n });\n }, getMemoOptions(table.options, debug, 'getRightLeafHeaders'));\n table.getLeafHeaders = memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {\n var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;\n return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {\n return header.getLeafHeaders();\n }).flat();\n }, getMemoOptions(table.options, debug, 'getLeafHeaders'));\n }\n};\nfunction buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {\n var _headerGroups$0$heade, _headerGroups$;\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0;\n const findMaxDepth = function (columns, depth) {\n if (depth === void 0) {\n depth = 1;\n }\n maxDepth = Math.max(maxDepth, depth);\n columns.filter(column => column.getIsVisible()).forEach(column => {\n var _column$columns;\n if ((_column$columns = column.columns) != null && _column$columns.length) {\n findMaxDepth(column.columns, depth + 1);\n }\n }, 0);\n };\n findMaxDepth(allColumns);\n let headerGroups = [];\n const createHeaderGroup = (headersToGroup, depth) => {\n // The header group we are creating\n const headerGroup = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: []\n };\n\n // The parent columns we're going to scan next\n const pendingParentHeaders = [];\n\n // Scan each column for parents\n headersToGroup.forEach(headerToGroup => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;\n let column;\n let isPlaceholder = false;\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent;\n } else {\n // The parent header is repeated\n column = headerToGroup.column;\n isPlaceholder = true;\n }\n if (latestPendingParentHeader && (latestPendingParentHeader == null ? void 0 : latestPendingParentHeader.column) === column) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup);\n } else {\n // This is a new header. Let's create it\n const header = createHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup == null ? void 0 : headerToGroup.id].filter(Boolean).join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder ? `${pendingParentHeaders.filter(d => d.column === column).length}` : undefined,\n depth,\n index: pendingParentHeaders.length\n });\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup);\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header);\n }\n headerGroup.headers.push(headerToGroup);\n headerToGroup.headerGroup = headerGroup;\n });\n headerGroups.push(headerGroup);\n if (depth > 0) {\n createHeaderGroup(pendingParentHeaders, depth - 1);\n }\n };\n const bottomHeaders = columnsToGroup.map((column, index) => createHeader(table, column, {\n depth: maxDepth,\n index\n }));\n createHeaderGroup(bottomHeaders, maxDepth - 1);\n headerGroups.reverse();\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = headers => {\n const filteredHeaders = headers.filter(header => header.column.getIsVisible());\n return filteredHeaders.map(header => {\n let colSpan = 0;\n let rowSpan = 0;\n let childRowSpans = [0];\n if (header.subHeaders && header.subHeaders.length) {\n childRowSpans = [];\n recurseHeadersForSpans(header.subHeaders).forEach(_ref => {\n let {\n colSpan: childColSpan,\n rowSpan: childRowSpan\n } = _ref;\n colSpan += childColSpan;\n childRowSpans.push(childRowSpan);\n });\n } else {\n colSpan = 1;\n }\n const minChildRowSpan = Math.min(...childRowSpans);\n rowSpan = rowSpan + minChildRowSpan;\n header.colSpan = colSpan;\n header.rowSpan = rowSpan;\n return {\n colSpan,\n rowSpan\n };\n });\n };\n recurseHeadersForSpans((_headerGroups$0$heade = (_headerGroups$ = headerGroups[0]) == null ? void 0 : _headerGroups$.headers) != null ? _headerGroups$0$heade : []);\n return headerGroups;\n}\n\nconst createRow = (table, id, original, rowIndex, depth, subRows, parentId) => {\n let row = {\n id,\n index: rowIndex,\n original,\n depth,\n parentId,\n _valuesCache: {},\n _uniqueValuesCache: {},\n getValue: columnId => {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.accessorFn)) {\n return undefined;\n }\n row._valuesCache[columnId] = column.accessorFn(row.original, rowIndex);\n return row._valuesCache[columnId];\n },\n getUniqueValues: columnId => {\n if (row._uniqueValuesCache.hasOwnProperty(columnId)) {\n return row._uniqueValuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.accessorFn)) {\n return undefined;\n }\n if (!column.columnDef.getUniqueValues) {\n row._uniqueValuesCache[columnId] = [row.getValue(columnId)];\n return row._uniqueValuesCache[columnId];\n }\n row._uniqueValuesCache[columnId] = column.columnDef.getUniqueValues(row.original, rowIndex);\n return row._uniqueValuesCache[columnId];\n },\n renderValue: columnId => {\n var _row$getValue;\n return (_row$getValue = row.getValue(columnId)) != null ? _row$getValue : table.options.renderFallbackValue;\n },\n subRows: subRows != null ? subRows : [],\n getLeafRows: () => flattenBy(row.subRows, d => d.subRows),\n getParentRow: () => row.parentId ? table.getRow(row.parentId, true) : undefined,\n getParentRows: () => {\n let parentRows = [];\n let currentRow = row;\n while (true) {\n const parentRow = currentRow.getParentRow();\n if (!parentRow) break;\n parentRows.push(parentRow);\n currentRow = parentRow;\n }\n return parentRows.reverse();\n },\n getAllCells: memo(() => [table.getAllLeafColumns()], leafColumns => {\n return leafColumns.map(column => {\n return createCell(table, row, column, column.id);\n });\n }, getMemoOptions(table.options, 'debugRows', 'getAllCells')),\n _getAllCellsByColumnId: memo(() => [row.getAllCells()], allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.column.id] = cell;\n return acc;\n }, {});\n }, getMemoOptions(table.options, 'debugRows', 'getAllCellsByColumnId'))\n };\n for (let i = 0; i < table._features.length; i++) {\n const feature = table._features[i];\n feature == null || feature.createRow == null || feature.createRow(row, table);\n }\n return row;\n};\n\n//\n\nconst ColumnFaceting = {\n createColumn: (column, table) => {\n column._getFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, column.id);\n column.getFacetedRowModel = () => {\n if (!column._getFacetedRowModel) {\n return table.getPreFilteredRowModel();\n }\n return column._getFacetedRowModel();\n };\n column._getFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, column.id);\n column.getFacetedUniqueValues = () => {\n if (!column._getFacetedUniqueValues) {\n return new Map();\n }\n return column._getFacetedUniqueValues();\n };\n column._getFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, column.id);\n column.getFacetedMinMaxValues = () => {\n if (!column._getFacetedMinMaxValues) {\n return undefined;\n }\n return column._getFacetedMinMaxValues();\n };\n }\n};\n\nconst includesString = (row, columnId, filterValue) => {\n var _filterValue$toString, _row$getValue;\n const search = filterValue == null || (_filterValue$toString = filterValue.toString()) == null ? void 0 : _filterValue$toString.toLowerCase();\n return Boolean((_row$getValue = row.getValue(columnId)) == null || (_row$getValue = _row$getValue.toString()) == null || (_row$getValue = _row$getValue.toLowerCase()) == null ? void 0 : _row$getValue.includes(search));\n};\nincludesString.autoRemove = val => testFalsey(val);\nconst includesStringSensitive = (row, columnId, filterValue) => {\n var _row$getValue2;\n return Boolean((_row$getValue2 = row.getValue(columnId)) == null || (_row$getValue2 = _row$getValue2.toString()) == null ? void 0 : _row$getValue2.includes(filterValue));\n};\nincludesStringSensitive.autoRemove = val => testFalsey(val);\nconst equalsString = (row, columnId, filterValue) => {\n var _row$getValue3;\n return ((_row$getValue3 = row.getValue(columnId)) == null || (_row$getValue3 = _row$getValue3.toString()) == null ? void 0 : _row$getValue3.toLowerCase()) === (filterValue == null ? void 0 : filterValue.toLowerCase());\n};\nequalsString.autoRemove = val => testFalsey(val);\nconst arrIncludes = (row, columnId, filterValue) => {\n var _row$getValue4;\n return (_row$getValue4 = row.getValue(columnId)) == null ? void 0 : _row$getValue4.includes(filterValue);\n};\narrIncludes.autoRemove = val => testFalsey(val);\nconst arrIncludesAll = (row, columnId, filterValue) => {\n return !filterValue.some(val => {\n var _row$getValue5;\n return !((_row$getValue5 = row.getValue(columnId)) != null && _row$getValue5.includes(val));\n });\n};\narrIncludesAll.autoRemove = val => testFalsey(val) || !(val != null && val.length);\nconst arrIncludesSome = (row, columnId, filterValue) => {\n return filterValue.some(val => {\n var _row$getValue6;\n return (_row$getValue6 = row.getValue(columnId)) == null ? void 0 : _row$getValue6.includes(val);\n });\n};\narrIncludesSome.autoRemove = val => testFalsey(val) || !(val != null && val.length);\nconst equals = (row, columnId, filterValue) => {\n return row.getValue(columnId) === filterValue;\n};\nequals.autoRemove = val => testFalsey(val);\nconst weakEquals = (row, columnId, filterValue) => {\n return row.getValue(columnId) == filterValue;\n};\nweakEquals.autoRemove = val => testFalsey(val);\nconst inNumberRange = (row, columnId, filterValue) => {\n let [min, max] = filterValue;\n const rowValue = row.getValue(columnId);\n return rowValue >= min && rowValue <= max;\n};\ninNumberRange.resolveFilterValue = val => {\n let [unsafeMin, unsafeMax] = val;\n let parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;\n let parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;\n let min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;\n if (min > max) {\n const temp = min;\n min = max;\n max = temp;\n }\n return [min, max];\n};\ninNumberRange.autoRemove = val => testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);\n\n// Export\n\nconst filterFns = {\n includesString,\n includesStringSensitive,\n equalsString,\n arrIncludes,\n arrIncludesAll,\n arrIncludesSome,\n equals,\n weakEquals,\n inNumberRange\n};\n// Utils\n\nfunction testFalsey(val) {\n return val === undefined || val === null || val === '';\n}\n\n//\n\nconst ColumnFiltering = {\n getDefaultColumnDef: () => {\n return {\n filterFn: 'auto'\n };\n },\n getInitialState: state => {\n return {\n columnFilters: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', table),\n filterFromLeafRows: false,\n maxLeafRowFilterDepth: 100\n };\n },\n createColumn: (column, table) => {\n column.getAutoFilterFn = () => {\n const firstRow = table.getCoreRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'string') {\n return filterFns.includesString;\n }\n if (typeof value === 'number') {\n return filterFns.inNumberRange;\n }\n if (typeof value === 'boolean') {\n return filterFns.equals;\n }\n if (value !== null && typeof value === 'object') {\n return filterFns.equals;\n }\n if (Array.isArray(value)) {\n return filterFns.arrIncludes;\n }\n return filterFns.weakEquals;\n };\n column.getFilterFn = () => {\n var _table$options$filter, _table$options$filter2;\n return isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : // @ts-ignore\n (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[column.columnDef.filterFn]) != null ? _table$options$filter : filterFns[column.columnDef.filterFn];\n };\n column.getCanFilter = () => {\n var _column$columnDef$ena, _table$options$enable, _table$options$enable2;\n return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnFilters) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && !!column.accessorFn;\n };\n column.getIsFiltered = () => column.getFilterIndex() > -1;\n column.getFilterValue = () => {\n var _table$getState$colum;\n return (_table$getState$colum = table.getState().columnFilters) == null || (_table$getState$colum = _table$getState$colum.find(d => d.id === column.id)) == null ? void 0 : _table$getState$colum.value;\n };\n column.getFilterIndex = () => {\n var _table$getState$colum2, _table$getState$colum3;\n return (_table$getState$colum2 = (_table$getState$colum3 = table.getState().columnFilters) == null ? void 0 : _table$getState$colum3.findIndex(d => d.id === column.id)) != null ? _table$getState$colum2 : -1;\n };\n column.setFilterValue = value => {\n table.setColumnFilters(old => {\n const filterFn = column.getFilterFn();\n const previousFilter = old == null ? void 0 : old.find(d => d.id === column.id);\n const newFilter = functionalUpdate(value, previousFilter ? previousFilter.value : undefined);\n\n //\n if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {\n var _old$filter;\n return (_old$filter = old == null ? void 0 : old.filter(d => d.id !== column.id)) != null ? _old$filter : [];\n }\n const newFilterObj = {\n id: column.id,\n value: newFilter\n };\n if (previousFilter) {\n var _old$map;\n return (_old$map = old == null ? void 0 : old.map(d => {\n if (d.id === column.id) {\n return newFilterObj;\n }\n return d;\n })) != null ? _old$map : [];\n }\n if (old != null && old.length) {\n return [...old, newFilterObj];\n }\n return [newFilterObj];\n });\n };\n },\n createRow: (row, _table) => {\n row.columnFilters = {};\n row.columnFiltersMeta = {};\n },\n createTable: table => {\n table.setColumnFilters = updater => {\n const leafColumns = table.getAllLeafColumns();\n const updateFn = old => {\n var _functionalUpdate;\n return (_functionalUpdate = functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id);\n if (column) {\n const filterFn = column.getFilterFn();\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false;\n }\n }\n return true;\n });\n };\n table.options.onColumnFiltersChange == null || table.options.onColumnFiltersChange(updateFn);\n };\n table.resetColumnFilters = defaultState => {\n var _table$initialState$c, _table$initialState;\n table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []);\n };\n table.getPreFilteredRowModel = () => table.getCoreRowModel();\n table.getFilteredRowModel = () => {\n if (!table._getFilteredRowModel && table.options.getFilteredRowModel) {\n table._getFilteredRowModel = table.options.getFilteredRowModel(table);\n }\n if (table.options.manualFiltering || !table._getFilteredRowModel) {\n return table.getPreFilteredRowModel();\n }\n return table._getFilteredRowModel();\n };\n }\n};\nfunction shouldAutoRemoveFilter(filterFn, value, column) {\n return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;\n}\n\nconst sum = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId);\n return sum + (typeof nextValue === 'number' ? nextValue : 0);\n }, 0);\n};\nconst min = (columnId, _leafRows, childRows) => {\n let min;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null && (min > value || min === undefined && value >= value)) {\n min = value;\n }\n });\n return min;\n};\nconst max = (columnId, _leafRows, childRows) => {\n let max;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n });\n return max;\n};\nconst extent = (columnId, _leafRows, childRows) => {\n let min;\n let max;\n childRows.forEach(row => {\n const value = row.getValue(columnId);\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n });\n return [min, max];\n};\nconst mean = (columnId, leafRows) => {\n let count = 0;\n let sum = 0;\n leafRows.forEach(row => {\n let value = row.getValue(columnId);\n if (value != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n });\n if (count) return sum / count;\n return;\n};\nconst median = (columnId, leafRows) => {\n if (!leafRows.length) {\n return;\n }\n const values = leafRows.map(row => row.getValue(columnId));\n if (!isNumberArray(values)) {\n return;\n }\n if (values.length === 1) {\n return values[0];\n }\n const mid = Math.floor(values.length / 2);\n const nums = values.sort((a, b) => a - b);\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;\n};\nconst unique = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values());\n};\nconst uniqueCount = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size;\n};\nconst count = (_columnId, leafRows) => {\n return leafRows.length;\n};\nconst aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count\n};\n\n//\n\nconst ColumnGrouping = {\n getDefaultColumnDef: () => {\n return {\n aggregatedCell: props => {\n var _toString, _props$getValue;\n return (_toString = (_props$getValue = props.getValue()) == null || _props$getValue.toString == null ? void 0 : _props$getValue.toString()) != null ? _toString : null;\n },\n aggregationFn: 'auto'\n };\n },\n getInitialState: state => {\n return {\n grouping: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onGroupingChange: makeStateUpdater('grouping', table),\n groupedColumnMode: 'reorder'\n };\n },\n createColumn: (column, table) => {\n column.toggleGrouping = () => {\n table.setGrouping(old => {\n // Find any existing grouping for this column\n if (old != null && old.includes(column.id)) {\n return old.filter(d => d !== column.id);\n }\n return [...(old != null ? old : []), column.id];\n });\n };\n column.getCanGroup = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGrouping) != null ? _table$options$enable : true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue);\n };\n column.getIsGrouped = () => {\n var _table$getState$group;\n return (_table$getState$group = table.getState().grouping) == null ? void 0 : _table$getState$group.includes(column.id);\n };\n column.getGroupedIndex = () => {\n var _table$getState$group2;\n return (_table$getState$group2 = table.getState().grouping) == null ? void 0 : _table$getState$group2.indexOf(column.id);\n };\n column.getToggleGroupingHandler = () => {\n const canGroup = column.getCanGroup();\n return () => {\n if (!canGroup) return;\n column.toggleGrouping();\n };\n };\n column.getAutoAggregationFn = () => {\n const firstRow = table.getCoreRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'number') {\n return aggregationFns.sum;\n }\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns.extent;\n }\n };\n column.getAggregationFn = () => {\n var _table$options$aggreg, _table$options$aggreg2;\n if (!column) {\n throw new Error();\n }\n return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : (_table$options$aggreg = (_table$options$aggreg2 = table.options.aggregationFns) == null ? void 0 : _table$options$aggreg2[column.columnDef.aggregationFn]) != null ? _table$options$aggreg : aggregationFns[column.columnDef.aggregationFn];\n };\n },\n createTable: table => {\n table.setGrouping = updater => table.options.onGroupingChange == null ? void 0 : table.options.onGroupingChange(updater);\n table.resetGrouping = defaultState => {\n var _table$initialState$g, _table$initialState;\n table.setGrouping(defaultState ? [] : (_table$initialState$g = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.grouping) != null ? _table$initialState$g : []);\n };\n table.getPreGroupedRowModel = () => table.getFilteredRowModel();\n table.getGroupedRowModel = () => {\n if (!table._getGroupedRowModel && table.options.getGroupedRowModel) {\n table._getGroupedRowModel = table.options.getGroupedRowModel(table);\n }\n if (table.options.manualGrouping || !table._getGroupedRowModel) {\n return table.getPreGroupedRowModel();\n }\n return table._getGroupedRowModel();\n };\n },\n createRow: (row, table) => {\n row.getIsGrouped = () => !!row.groupingColumnId;\n row.getGroupingValue = columnId => {\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId];\n }\n const column = table.getColumn(columnId);\n if (!(column != null && column.columnDef.getGroupingValue)) {\n return row.getValue(columnId);\n }\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original);\n return row._groupingValuesCache[columnId];\n };\n row._groupingValuesCache = {};\n },\n createCell: (cell, column, row, table) => {\n cell.getIsGrouped = () => column.getIsGrouped() && column.id === row.groupingColumnId;\n cell.getIsPlaceholder = () => !cell.getIsGrouped() && column.getIsGrouped();\n cell.getIsAggregated = () => {\n var _row$subRows;\n return !cell.getIsGrouped() && !cell.getIsPlaceholder() && !!((_row$subRows = row.subRows) != null && _row$subRows.length);\n };\n }\n};\nfunction orderColumns(leafColumns, grouping, groupedColumnMode) {\n if (!(grouping != null && grouping.length) || !groupedColumnMode) {\n return leafColumns;\n }\n const nonGroupingColumns = leafColumns.filter(col => !grouping.includes(col.id));\n if (groupedColumnMode === 'remove') {\n return nonGroupingColumns;\n }\n const groupingColumns = grouping.map(g => leafColumns.find(col => col.id === g)).filter(Boolean);\n return [...groupingColumns, ...nonGroupingColumns];\n}\n\n//\n\nconst ColumnOrdering = {\n getInitialState: state => {\n return {\n columnOrder: [],\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table)\n };\n },\n createColumn: (column, table) => {\n column.getIndex = memo(position => [_getVisibleLeafColumns(table, position)], columns => columns.findIndex(d => d.id === column.id), getMemoOptions(table.options, 'debugColumns', 'getIndex'));\n column.getIsFirstColumn = position => {\n var _columns$;\n const columns = _getVisibleLeafColumns(table, position);\n return ((_columns$ = columns[0]) == null ? void 0 : _columns$.id) === column.id;\n };\n column.getIsLastColumn = position => {\n var _columns;\n const columns = _getVisibleLeafColumns(table, position);\n return ((_columns = columns[columns.length - 1]) == null ? void 0 : _columns.id) === column.id;\n };\n },\n createTable: table => {\n table.setColumnOrder = updater => table.options.onColumnOrderChange == null ? void 0 : table.options.onColumnOrderChange(updater);\n table.resetColumnOrder = defaultState => {\n var _table$initialState$c;\n table.setColumnOrder(defaultState ? [] : (_table$initialState$c = table.initialState.columnOrder) != null ? _table$initialState$c : []);\n };\n table._getOrderColumnsFn = memo(() => [table.getState().columnOrder, table.getState().grouping, table.options.groupedColumnMode], (columnOrder, grouping, groupedColumnMode) => columns => {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n let orderedColumns = [];\n\n // If there is no order, return the normal columns\n if (!(columnOrder != null && columnOrder.length)) {\n orderedColumns = columns;\n } else {\n const columnOrderCopy = [...columnOrder];\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns];\n\n // And make a new ordered array of the columns\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift();\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId);\n if (foundIndex > -1) {\n orderedColumns.push(columnsCopy.splice(foundIndex, 1)[0]);\n }\n }\n\n // If there are any columns left, add them to the end\n orderedColumns = [...orderedColumns, ...columnsCopy];\n }\n return orderColumns(orderedColumns, grouping, groupedColumnMode);\n }, getMemoOptions(table.options, 'debugTable', '_getOrderColumnsFn'));\n }\n};\n\n//\n\nconst getDefaultColumnPinningState = () => ({\n left: [],\n right: []\n});\nconst ColumnPinning = {\n getInitialState: state => {\n return {\n columnPinning: getDefaultColumnPinningState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnPinningChange: makeStateUpdater('columnPinning', table)\n };\n },\n createColumn: (column, table) => {\n column.pin = position => {\n const columnIds = column.getLeafColumns().map(d => d.id).filter(Boolean);\n table.setColumnPinning(old => {\n var _old$left3, _old$right3;\n if (position === 'right') {\n var _old$left, _old$right;\n return {\n left: ((_old$left = old == null ? void 0 : old.left) != null ? _old$left : []).filter(d => !(columnIds != null && columnIds.includes(d))),\n right: [...((_old$right = old == null ? void 0 : old.right) != null ? _old$right : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds]\n };\n }\n if (position === 'left') {\n var _old$left2, _old$right2;\n return {\n left: [...((_old$left2 = old == null ? void 0 : old.left) != null ? _old$left2 : []).filter(d => !(columnIds != null && columnIds.includes(d))), ...columnIds],\n right: ((_old$right2 = old == null ? void 0 : old.right) != null ? _old$right2 : []).filter(d => !(columnIds != null && columnIds.includes(d)))\n };\n }\n return {\n left: ((_old$left3 = old == null ? void 0 : old.left) != null ? _old$left3 : []).filter(d => !(columnIds != null && columnIds.includes(d))),\n right: ((_old$right3 = old == null ? void 0 : old.right) != null ? _old$right3 : []).filter(d => !(columnIds != null && columnIds.includes(d)))\n };\n });\n };\n column.getCanPin = () => {\n const leafColumns = column.getLeafColumns();\n return leafColumns.some(d => {\n var _d$columnDef$enablePi, _ref, _table$options$enable;\n return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_ref = (_table$options$enable = table.options.enableColumnPinning) != null ? _table$options$enable : table.options.enablePinning) != null ? _ref : true);\n });\n };\n column.getIsPinned = () => {\n const leafColumnIds = column.getLeafColumns().map(d => d.id);\n const {\n left,\n right\n } = table.getState().columnPinning;\n const isLeft = leafColumnIds.some(d => left == null ? void 0 : left.includes(d));\n const isRight = leafColumnIds.some(d => right == null ? void 0 : right.includes(d));\n return isLeft ? 'left' : isRight ? 'right' : false;\n };\n column.getPinnedIndex = () => {\n var _table$getState$colum, _table$getState$colum2;\n const position = column.getIsPinned();\n return position ? (_table$getState$colum = (_table$getState$colum2 = table.getState().columnPinning) == null || (_table$getState$colum2 = _table$getState$colum2[position]) == null ? void 0 : _table$getState$colum2.indexOf(column.id)) != null ? _table$getState$colum : -1 : 0;\n };\n },\n createRow: (row, table) => {\n row.getCenterVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {\n const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];\n return allCells.filter(d => !leftAndRight.includes(d.column.id));\n }, getMemoOptions(table.options, 'debugRows', 'getCenterVisibleCells'));\n row.getLeftVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left], (allCells, left) => {\n const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({\n ...d,\n position: 'left'\n }));\n return cells;\n }, getMemoOptions(table.options, 'debugRows', 'getLeftVisibleCells'));\n row.getRightVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {\n const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({\n ...d,\n position: 'right'\n }));\n return cells;\n }, getMemoOptions(table.options, 'debugRows', 'getRightVisibleCells'));\n },\n createTable: table => {\n table.setColumnPinning = updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater);\n table.resetColumnPinning = defaultState => {\n var _table$initialState$c, _table$initialState;\n return table.setColumnPinning(defaultState ? getDefaultColumnPinningState() : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnPinning) != null ? _table$initialState$c : getDefaultColumnPinningState());\n };\n table.getIsSomeColumnsPinned = position => {\n var _pinningState$positio;\n const pinningState = table.getState().columnPinning;\n if (!position) {\n var _pinningState$left, _pinningState$right;\n return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));\n }\n return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);\n };\n table.getLeftLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {\n return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);\n }, getMemoOptions(table.options, 'debugColumns', 'getLeftLeafColumns'));\n table.getRightLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {\n return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);\n }, getMemoOptions(table.options, 'debugColumns', 'getRightLeafColumns'));\n table.getCenterLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {\n const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];\n return allColumns.filter(d => !leftAndRight.includes(d.id));\n }, getMemoOptions(table.options, 'debugColumns', 'getCenterLeafColumns'));\n }\n};\n\nfunction safelyAccessDocument(_document) {\n return _document || (typeof document !== 'undefined' ? document : null);\n}\n\n//\n\n//\n\nconst defaultColumnSizing = {\n size: 150,\n minSize: 20,\n maxSize: Number.MAX_SAFE_INTEGER\n};\nconst getDefaultColumnSizingInfoState = () => ({\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: []\n});\nconst ColumnSizing = {\n getDefaultColumnDef: () => {\n return defaultColumnSizing;\n },\n getInitialState: state => {\n return {\n columnSizing: {},\n columnSizingInfo: getDefaultColumnSizingInfoState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n columnResizeMode: 'onEnd',\n columnResizeDirection: 'ltr',\n onColumnSizingChange: makeStateUpdater('columnSizing', table),\n onColumnSizingInfoChange: makeStateUpdater('columnSizingInfo', table)\n };\n },\n createColumn: (column, table) => {\n column.getSize = () => {\n var _column$columnDef$min, _ref, _column$columnDef$max;\n const columnSize = table.getState().columnSizing[column.id];\n return Math.min(Math.max((_column$columnDef$min = column.columnDef.minSize) != null ? _column$columnDef$min : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.columnDef.size) != null ? _ref : defaultColumnSizing.size), (_column$columnDef$max = column.columnDef.maxSize) != null ? _column$columnDef$max : defaultColumnSizing.maxSize);\n };\n column.getStart = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(0, column.getIndex(position)).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getStart'));\n column.getAfter = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(column.getIndex(position) + 1).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getAfter'));\n column.resetSize = () => {\n table.setColumnSizing(_ref2 => {\n let {\n [column.id]: _,\n ...rest\n } = _ref2;\n return rest;\n });\n };\n column.getCanResize = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableResizing) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableColumnResizing) != null ? _table$options$enable : true);\n };\n column.getIsResizing = () => {\n return table.getState().columnSizingInfo.isResizingColumn === column.id;\n };\n },\n createHeader: (header, table) => {\n header.getSize = () => {\n let sum = 0;\n const recurse = header => {\n if (header.subHeaders.length) {\n header.subHeaders.forEach(recurse);\n } else {\n var _header$column$getSiz;\n sum += (_header$column$getSiz = header.column.getSize()) != null ? _header$column$getSiz : 0;\n }\n };\n recurse(header);\n return sum;\n };\n header.getStart = () => {\n if (header.index > 0) {\n const prevSiblingHeader = header.headerGroup.headers[header.index - 1];\n return prevSiblingHeader.getStart() + prevSiblingHeader.getSize();\n }\n return 0;\n };\n header.getResizeHandler = _contextDocument => {\n const column = table.getColumn(header.column.id);\n const canResize = column == null ? void 0 : column.getCanResize();\n return e => {\n if (!column || !canResize) {\n return;\n }\n e.persist == null || e.persist();\n if (isTouchStartEvent(e)) {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return;\n }\n }\n const startSize = header.getSize();\n const columnSizingStart = header ? header.getLeafHeaders().map(d => [d.column.id, d.column.getSize()]) : [[column.id, column.getSize()]];\n const clientX = isTouchStartEvent(e) ? Math.round(e.touches[0].clientX) : e.clientX;\n const newColumnSizing = {};\n const updateOffset = (eventType, clientXPos) => {\n if (typeof clientXPos !== 'number') {\n return;\n }\n table.setColumnSizingInfo(old => {\n var _old$startOffset, _old$startSize;\n const deltaDirection = table.options.columnResizeDirection === 'rtl' ? -1 : 1;\n const deltaOffset = (clientXPos - ((_old$startOffset = old == null ? void 0 : old.startOffset) != null ? _old$startOffset : 0)) * deltaDirection;\n const deltaPercentage = Math.max(deltaOffset / ((_old$startSize = old == null ? void 0 : old.startSize) != null ? _old$startSize : 0), -0.999999);\n old.columnSizingStart.forEach(_ref3 => {\n let [columnId, headerSize] = _ref3;\n newColumnSizing[columnId] = Math.round(Math.max(headerSize + headerSize * deltaPercentage, 0) * 100) / 100;\n });\n return {\n ...old,\n deltaOffset,\n deltaPercentage\n };\n });\n if (table.options.columnResizeMode === 'onChange' || eventType === 'end') {\n table.setColumnSizing(old => ({\n ...old,\n ...newColumnSizing\n }));\n }\n };\n const onMove = clientXPos => updateOffset('move', clientXPos);\n const onEnd = clientXPos => {\n updateOffset('end', clientXPos);\n table.setColumnSizingInfo(old => ({\n ...old,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n columnSizingStart: []\n }));\n };\n const contextDocument = safelyAccessDocument(_contextDocument);\n const mouseEvents = {\n moveHandler: e => onMove(e.clientX),\n upHandler: e => {\n contextDocument == null || contextDocument.removeEventListener('mousemove', mouseEvents.moveHandler);\n contextDocument == null || contextDocument.removeEventListener('mouseup', mouseEvents.upHandler);\n onEnd(e.clientX);\n }\n };\n const touchEvents = {\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n onMove(e.touches[0].clientX);\n return false;\n },\n upHandler: e => {\n var _e$touches$;\n contextDocument == null || contextDocument.removeEventListener('touchmove', touchEvents.moveHandler);\n contextDocument == null || contextDocument.removeEventListener('touchend', touchEvents.upHandler);\n if (e.cancelable) {\n e.preventDefault();\n e.stopPropagation();\n }\n onEnd((_e$touches$ = e.touches[0]) == null ? void 0 : _e$touches$.clientX);\n }\n };\n const passiveIfSupported = passiveEventSupported() ? {\n passive: false\n } : false;\n if (isTouchStartEvent(e)) {\n contextDocument == null || contextDocument.addEventListener('touchmove', touchEvents.moveHandler, passiveIfSupported);\n contextDocument == null || contextDocument.addEventListener('touchend', touchEvents.upHandler, passiveIfSupported);\n } else {\n contextDocument == null || contextDocument.addEventListener('mousemove', mouseEvents.moveHandler, passiveIfSupported);\n contextDocument == null || contextDocument.addEventListener('mouseup', mouseEvents.upHandler, passiveIfSupported);\n }\n table.setColumnSizingInfo(old => ({\n ...old,\n startOffset: clientX,\n startSize,\n deltaOffset: 0,\n deltaPercentage: 0,\n columnSizingStart,\n isResizingColumn: column.id\n }));\n };\n };\n },\n createTable: table => {\n table.setColumnSizing = updater => table.options.onColumnSizingChange == null ? void 0 : table.options.onColumnSizingChange(updater);\n table.setColumnSizingInfo = updater => table.options.onColumnSizingInfoChange == null ? void 0 : table.options.onColumnSizingInfoChange(updater);\n table.resetColumnSizing = defaultState => {\n var _table$initialState$c;\n table.setColumnSizing(defaultState ? {} : (_table$initialState$c = table.initialState.columnSizing) != null ? _table$initialState$c : {});\n };\n table.resetHeaderSizeInfo = defaultState => {\n var _table$initialState$c2;\n table.setColumnSizingInfo(defaultState ? getDefaultColumnSizingInfoState() : (_table$initialState$c2 = table.initialState.columnSizingInfo) != null ? _table$initialState$c2 : getDefaultColumnSizingInfoState());\n };\n table.getTotalSize = () => {\n var _table$getHeaderGroup, _table$getHeaderGroup2;\n return (_table$getHeaderGroup = (_table$getHeaderGroup2 = table.getHeaderGroups()[0]) == null ? void 0 : _table$getHeaderGroup2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getHeaderGroup : 0;\n };\n table.getLeftTotalSize = () => {\n var _table$getLeftHeaderG, _table$getLeftHeaderG2;\n return (_table$getLeftHeaderG = (_table$getLeftHeaderG2 = table.getLeftHeaderGroups()[0]) == null ? void 0 : _table$getLeftHeaderG2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getLeftHeaderG : 0;\n };\n table.getCenterTotalSize = () => {\n var _table$getCenterHeade, _table$getCenterHeade2;\n return (_table$getCenterHeade = (_table$getCenterHeade2 = table.getCenterHeaderGroups()[0]) == null ? void 0 : _table$getCenterHeade2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getCenterHeade : 0;\n };\n table.getRightTotalSize = () => {\n var _table$getRightHeader, _table$getRightHeader2;\n return (_table$getRightHeader = (_table$getRightHeader2 = table.getRightHeaderGroups()[0]) == null ? void 0 : _table$getRightHeader2.headers.reduce((sum, header) => {\n return sum + header.getSize();\n }, 0)) != null ? _table$getRightHeader : 0;\n };\n }\n};\nlet passiveSupported = null;\nfunction passiveEventSupported() {\n if (typeof passiveSupported === 'boolean') return passiveSupported;\n let supported = false;\n try {\n const options = {\n get passive() {\n supported = true;\n return false;\n }\n };\n const noop = () => {};\n window.addEventListener('test', noop, options);\n window.removeEventListener('test', noop);\n } catch (err) {\n supported = false;\n }\n passiveSupported = supported;\n return passiveSupported;\n}\nfunction isTouchStartEvent(e) {\n return e.type === 'touchstart';\n}\n\n//\n\nconst ColumnVisibility = {\n getInitialState: state => {\n return {\n columnVisibility: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', table)\n };\n },\n createColumn: (column, table) => {\n column.toggleVisibility = value => {\n if (column.getCanHide()) {\n table.setColumnVisibility(old => ({\n ...old,\n [column.id]: value != null ? value : !column.getIsVisible()\n }));\n }\n };\n column.getIsVisible = () => {\n var _ref, _table$getState$colum;\n const childColumns = column.columns;\n return (_ref = childColumns.length ? childColumns.some(c => c.getIsVisible()) : (_table$getState$colum = table.getState().columnVisibility) == null ? void 0 : _table$getState$colum[column.id]) != null ? _ref : true;\n };\n column.getCanHide = () => {\n var _column$columnDef$ena, _table$options$enable;\n return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableHiding) != null ? _table$options$enable : true);\n };\n column.getToggleVisibilityHandler = () => {\n return e => {\n column.toggleVisibility == null || column.toggleVisibility(e.target.checked);\n };\n };\n },\n createRow: (row, table) => {\n row._getAllVisibleCells = memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {\n return cells.filter(cell => cell.column.getIsVisible());\n }, getMemoOptions(table.options, 'debugRows', '_getAllVisibleCells'));\n row.getVisibleCells = memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], getMemoOptions(table.options, 'debugRows', 'getVisibleCells'));\n },\n createTable: table => {\n const makeVisibleColumnsMethod = (key, getColumns) => {\n return memo(() => [getColumns(), getColumns().filter(d => d.getIsVisible()).map(d => d.id).join('_')], columns => {\n return columns.filter(d => d.getIsVisible == null ? void 0 : d.getIsVisible());\n }, getMemoOptions(table.options, 'debugColumns', key));\n };\n table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns());\n table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns());\n table.getLeftVisibleLeafColumns = makeVisibleColumnsMethod('getLeftVisibleLeafColumns', () => table.getLeftLeafColumns());\n table.getRightVisibleLeafColumns = makeVisibleColumnsMethod('getRightVisibleLeafColumns', () => table.getRightLeafColumns());\n table.getCenterVisibleLeafColumns = makeVisibleColumnsMethod('getCenterVisibleLeafColumns', () => table.getCenterLeafColumns());\n table.setColumnVisibility = updater => table.options.onColumnVisibilityChange == null ? void 0 : table.options.onColumnVisibilityChange(updater);\n table.resetColumnVisibility = defaultState => {\n var _table$initialState$c;\n table.setColumnVisibility(defaultState ? {} : (_table$initialState$c = table.initialState.columnVisibility) != null ? _table$initialState$c : {});\n };\n table.toggleAllColumnsVisible = value => {\n var _value;\n value = (_value = value) != null ? _value : !table.getIsAllColumnsVisible();\n table.setColumnVisibility(table.getAllLeafColumns().reduce((obj, column) => ({\n ...obj,\n [column.id]: !value ? !(column.getCanHide != null && column.getCanHide()) : value\n }), {}));\n };\n table.getIsAllColumnsVisible = () => !table.getAllLeafColumns().some(column => !(column.getIsVisible != null && column.getIsVisible()));\n table.getIsSomeColumnsVisible = () => table.getAllLeafColumns().some(column => column.getIsVisible == null ? void 0 : column.getIsVisible());\n table.getToggleAllColumnsVisibilityHandler = () => {\n return e => {\n var _target;\n table.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);\n };\n };\n }\n};\nfunction _getVisibleLeafColumns(table, position) {\n return !position ? table.getVisibleLeafColumns() : position === 'center' ? table.getCenterVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns();\n}\n\n//\n\nconst GlobalFaceting = {\n createTable: table => {\n table._getGlobalFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__');\n table.getGlobalFacetedRowModel = () => {\n if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {\n return table.getPreFilteredRowModel();\n }\n return table._getGlobalFacetedRowModel();\n };\n table._getGlobalFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, '__global__');\n table.getGlobalFacetedUniqueValues = () => {\n if (!table._getGlobalFacetedUniqueValues) {\n return new Map();\n }\n return table._getGlobalFacetedUniqueValues();\n };\n table._getGlobalFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, '__global__');\n table.getGlobalFacetedMinMaxValues = () => {\n if (!table._getGlobalFacetedMinMaxValues) {\n return;\n }\n return table._getGlobalFacetedMinMaxValues();\n };\n }\n};\n\n//\n\nconst GlobalFiltering = {\n getInitialState: state => {\n return {\n globalFilter: undefined,\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onGlobalFilterChange: makeStateUpdater('globalFilter', table),\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n var _table$getCoreRowMode;\n const value = (_table$getCoreRowMode = table.getCoreRowModel().flatRows[0]) == null || (_table$getCoreRowMode = _table$getCoreRowMode._getAllCellsByColumnId()[column.id]) == null ? void 0 : _table$getCoreRowMode.getValue();\n return typeof value === 'string' || typeof value === 'number';\n }\n };\n },\n createColumn: (column, table) => {\n column.getCanGlobalFilter = () => {\n var _column$columnDef$ena, _table$options$enable, _table$options$enable2, _table$options$getCol;\n return ((_column$columnDef$ena = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena : true) && ((_table$options$enable = table.options.enableGlobalFilter) != null ? _table$options$enable : true) && ((_table$options$enable2 = table.options.enableFilters) != null ? _table$options$enable2 : true) && ((_table$options$getCol = table.options.getColumnCanGlobalFilter == null ? void 0 : table.options.getColumnCanGlobalFilter(column)) != null ? _table$options$getCol : true) && !!column.accessorFn;\n };\n },\n createTable: table => {\n table.getGlobalAutoFilterFn = () => {\n return filterFns.includesString;\n };\n table.getGlobalFilterFn = () => {\n var _table$options$filter, _table$options$filter2;\n const {\n globalFilterFn: globalFilterFn\n } = table.options;\n return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[globalFilterFn]) != null ? _table$options$filter : filterFns[globalFilterFn];\n };\n table.setGlobalFilter = updater => {\n table.options.onGlobalFilterChange == null || table.options.onGlobalFilterChange(updater);\n };\n table.resetGlobalFilter = defaultState => {\n table.setGlobalFilter(defaultState ? undefined : table.initialState.globalFilter);\n };\n }\n};\n\n//\n\nconst RowExpanding = {\n getInitialState: state => {\n return {\n expanded: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onExpandedChange: makeStateUpdater('expanded', table),\n paginateExpandedRows: true\n };\n },\n createTable: table => {\n let registered = false;\n let queued = false;\n table._autoResetExpanded = () => {\n var _ref, _table$options$autoRe;\n if (!registered) {\n table._queue(() => {\n registered = true;\n });\n return;\n }\n if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetExpanded) != null ? _ref : !table.options.manualExpanding) {\n if (queued) return;\n queued = true;\n table._queue(() => {\n table.resetExpanded();\n queued = false;\n });\n }\n };\n table.setExpanded = updater => table.options.onExpandedChange == null ? void 0 : table.options.onExpandedChange(updater);\n table.toggleAllRowsExpanded = expanded => {\n if (expanded != null ? expanded : !table.getIsAllRowsExpanded()) {\n table.setExpanded(true);\n } else {\n table.setExpanded({});\n }\n };\n table.resetExpanded = defaultState => {\n var _table$initialState$e, _table$initialState;\n table.setExpanded(defaultState ? {} : (_table$initialState$e = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.expanded) != null ? _table$initialState$e : {});\n };\n table.getCanSomeRowsExpand = () => {\n return table.getPrePaginationRowModel().flatRows.some(row => row.getCanExpand());\n };\n table.getToggleAllRowsExpandedHandler = () => {\n return e => {\n e.persist == null || e.persist();\n table.toggleAllRowsExpanded();\n };\n };\n table.getIsSomeRowsExpanded = () => {\n const expanded = table.getState().expanded;\n return expanded === true || Object.values(expanded).some(Boolean);\n };\n table.getIsAllRowsExpanded = () => {\n const expanded = table.getState().expanded;\n\n // If expanded is true, save some cycles and return true\n if (typeof expanded === 'boolean') {\n return expanded === true;\n }\n if (!Object.keys(expanded).length) {\n return false;\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {\n return false;\n }\n\n // They must all be expanded :shrug:\n return true;\n };\n table.getExpandedDepth = () => {\n let maxDepth = 0;\n const rowIds = table.getState().expanded === true ? Object.keys(table.getRowModel().rowsById) : Object.keys(table.getState().expanded);\n rowIds.forEach(id => {\n const splitId = id.split('.');\n maxDepth = Math.max(maxDepth, splitId.length);\n });\n return maxDepth;\n };\n table.getPreExpandedRowModel = () => table.getSortedRowModel();\n table.getExpandedRowModel = () => {\n if (!table._getExpandedRowModel && table.options.getExpandedRowModel) {\n table._getExpandedRowModel = table.options.getExpandedRowModel(table);\n }\n if (table.options.manualExpanding || !table._getExpandedRowModel) {\n return table.getPreExpandedRowModel();\n }\n return table._getExpandedRowModel();\n };\n },\n createRow: (row, table) => {\n row.toggleExpanded = expanded => {\n table.setExpanded(old => {\n var _expanded;\n const exists = old === true ? true : !!(old != null && old[row.id]);\n let oldExpanded = {};\n if (old === true) {\n Object.keys(table.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true;\n });\n } else {\n oldExpanded = old;\n }\n expanded = (_expanded = expanded) != null ? _expanded : !exists;\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [row.id]: true\n };\n }\n if (exists && !expanded) {\n const {\n [row.id]: _,\n ...rest\n } = oldExpanded;\n return rest;\n }\n return old;\n });\n };\n row.getIsExpanded = () => {\n var _table$options$getIsR;\n const expanded = table.getState().expanded;\n return !!((_table$options$getIsR = table.options.getIsRowExpanded == null ? void 0 : table.options.getIsRowExpanded(row)) != null ? _table$options$getIsR : expanded === true || (expanded == null ? void 0 : expanded[row.id]));\n };\n row.getCanExpand = () => {\n var _table$options$getRow, _table$options$enable, _row$subRows;\n return (_table$options$getRow = table.options.getRowCanExpand == null ? void 0 : table.options.getRowCanExpand(row)) != null ? _table$options$getRow : ((_table$options$enable = table.options.enableExpanding) != null ? _table$options$enable : true) && !!((_row$subRows = row.subRows) != null && _row$subRows.length);\n };\n row.getIsAllParentsExpanded = () => {\n let isFullyExpanded = true;\n let currentRow = row;\n while (isFullyExpanded && currentRow.parentId) {\n currentRow = table.getRow(currentRow.parentId, true);\n isFullyExpanded = currentRow.getIsExpanded();\n }\n return isFullyExpanded;\n };\n row.getToggleExpandedHandler = () => {\n const canExpand = row.getCanExpand();\n return () => {\n if (!canExpand) return;\n row.toggleExpanded();\n };\n };\n }\n};\n\n//\n\nconst defaultPageIndex = 0;\nconst defaultPageSize = 10;\nconst getDefaultPaginationState = () => ({\n pageIndex: defaultPageIndex,\n pageSize: defaultPageSize\n});\nconst RowPagination = {\n getInitialState: state => {\n return {\n ...state,\n pagination: {\n ...getDefaultPaginationState(),\n ...(state == null ? void 0 : state.pagination)\n }\n };\n },\n getDefaultOptions: table => {\n return {\n onPaginationChange: makeStateUpdater('pagination', table)\n };\n },\n createTable: table => {\n let registered = false;\n let queued = false;\n table._autoResetPageIndex = () => {\n var _ref, _table$options$autoRe;\n if (!registered) {\n table._queue(() => {\n registered = true;\n });\n return;\n }\n if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetPageIndex) != null ? _ref : !table.options.manualPagination) {\n if (queued) return;\n queued = true;\n table._queue(() => {\n table.resetPageIndex();\n queued = false;\n });\n }\n };\n table.setPagination = updater => {\n const safeUpdater = old => {\n let newState = functionalUpdate(updater, old);\n return newState;\n };\n return table.options.onPaginationChange == null ? void 0 : table.options.onPaginationChange(safeUpdater);\n };\n table.resetPagination = defaultState => {\n var _table$initialState$p;\n table.setPagination(defaultState ? getDefaultPaginationState() : (_table$initialState$p = table.initialState.pagination) != null ? _table$initialState$p : getDefaultPaginationState());\n };\n table.setPageIndex = updater => {\n table.setPagination(old => {\n let pageIndex = functionalUpdate(updater, old.pageIndex);\n const maxPageIndex = typeof table.options.pageCount === 'undefined' || table.options.pageCount === -1 ? Number.MAX_SAFE_INTEGER : table.options.pageCount - 1;\n pageIndex = Math.max(0, Math.min(pageIndex, maxPageIndex));\n return {\n ...old,\n pageIndex\n };\n });\n };\n table.resetPageIndex = defaultState => {\n var _table$initialState$p2, _table$initialState;\n table.setPageIndex(defaultState ? defaultPageIndex : (_table$initialState$p2 = (_table$initialState = table.initialState) == null || (_table$initialState = _table$initialState.pagination) == null ? void 0 : _table$initialState.pageIndex) != null ? _table$initialState$p2 : defaultPageIndex);\n };\n table.resetPageSize = defaultState => {\n var _table$initialState$p3, _table$initialState2;\n table.setPageSize(defaultState ? defaultPageSize : (_table$initialState$p3 = (_table$initialState2 = table.initialState) == null || (_table$initialState2 = _table$initialState2.pagination) == null ? void 0 : _table$initialState2.pageSize) != null ? _table$initialState$p3 : defaultPageSize);\n };\n table.setPageSize = updater => {\n table.setPagination(old => {\n const pageSize = Math.max(1, functionalUpdate(updater, old.pageSize));\n const topRowIndex = old.pageSize * old.pageIndex;\n const pageIndex = Math.floor(topRowIndex / pageSize);\n return {\n ...old,\n pageIndex,\n pageSize\n };\n });\n };\n //deprecated\n table.setPageCount = updater => table.setPagination(old => {\n var _table$options$pageCo;\n let newPageCount = functionalUpdate(updater, (_table$options$pageCo = table.options.pageCount) != null ? _table$options$pageCo : -1);\n if (typeof newPageCount === 'number') {\n newPageCount = Math.max(-1, newPageCount);\n }\n return {\n ...old,\n pageCount: newPageCount\n };\n });\n table.getPageOptions = memo(() => [table.getPageCount()], pageCount => {\n let pageOptions = [];\n if (pageCount && pageCount > 0) {\n pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i);\n }\n return pageOptions;\n }, getMemoOptions(table.options, 'debugTable', 'getPageOptions'));\n table.getCanPreviousPage = () => table.getState().pagination.pageIndex > 0;\n table.getCanNextPage = () => {\n const {\n pageIndex\n } = table.getState().pagination;\n const pageCount = table.getPageCount();\n if (pageCount === -1) {\n return true;\n }\n if (pageCount === 0) {\n return false;\n }\n return pageIndex < pageCount - 1;\n };\n table.previousPage = () => {\n return table.setPageIndex(old => old - 1);\n };\n table.nextPage = () => {\n return table.setPageIndex(old => {\n return old + 1;\n });\n };\n table.firstPage = () => {\n return table.setPageIndex(0);\n };\n table.lastPage = () => {\n return table.setPageIndex(table.getPageCount() - 1);\n };\n table.getPrePaginationRowModel = () => table.getExpandedRowModel();\n table.getPaginationRowModel = () => {\n if (!table._getPaginationRowModel && table.options.getPaginationRowModel) {\n table._getPaginationRowModel = table.options.getPaginationRowModel(table);\n }\n if (table.options.manualPagination || !table._getPaginationRowModel) {\n return table.getPrePaginationRowModel();\n }\n return table._getPaginationRowModel();\n };\n table.getPageCount = () => {\n var _table$options$pageCo2;\n return (_table$options$pageCo2 = table.options.pageCount) != null ? _table$options$pageCo2 : Math.ceil(table.getRowCount() / table.getState().pagination.pageSize);\n };\n table.getRowCount = () => {\n var _table$options$rowCou;\n return (_table$options$rowCou = table.options.rowCount) != null ? _table$options$rowCou : table.getPrePaginationRowModel().rows.length;\n };\n }\n};\n\n//\n\nconst getDefaultRowPinningState = () => ({\n top: [],\n bottom: []\n});\nconst RowPinning = {\n getInitialState: state => {\n return {\n rowPinning: getDefaultRowPinningState(),\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onRowPinningChange: makeStateUpdater('rowPinning', table)\n };\n },\n createRow: (row, table) => {\n row.pin = (position, includeLeafRows, includeParentRows) => {\n const leafRowIds = includeLeafRows ? row.getLeafRows().map(_ref => {\n let {\n id\n } = _ref;\n return id;\n }) : [];\n const parentRowIds = includeParentRows ? row.getParentRows().map(_ref2 => {\n let {\n id\n } = _ref2;\n return id;\n }) : [];\n const rowIds = new Set([...parentRowIds, row.id, ...leafRowIds]);\n table.setRowPinning(old => {\n var _old$top3, _old$bottom3;\n if (position === 'bottom') {\n var _old$top, _old$bottom;\n return {\n top: ((_old$top = old == null ? void 0 : old.top) != null ? _old$top : []).filter(d => !(rowIds != null && rowIds.has(d))),\n bottom: [...((_old$bottom = old == null ? void 0 : old.bottom) != null ? _old$bottom : []).filter(d => !(rowIds != null && rowIds.has(d))), ...Array.from(rowIds)]\n };\n }\n if (position === 'top') {\n var _old$top2, _old$bottom2;\n return {\n top: [...((_old$top2 = old == null ? void 0 : old.top) != null ? _old$top2 : []).filter(d => !(rowIds != null && rowIds.has(d))), ...Array.from(rowIds)],\n bottom: ((_old$bottom2 = old == null ? void 0 : old.bottom) != null ? _old$bottom2 : []).filter(d => !(rowIds != null && rowIds.has(d)))\n };\n }\n return {\n top: ((_old$top3 = old == null ? void 0 : old.top) != null ? _old$top3 : []).filter(d => !(rowIds != null && rowIds.has(d))),\n bottom: ((_old$bottom3 = old == null ? void 0 : old.bottom) != null ? _old$bottom3 : []).filter(d => !(rowIds != null && rowIds.has(d)))\n };\n });\n };\n row.getCanPin = () => {\n var _ref3;\n const {\n enableRowPinning,\n enablePinning\n } = table.options;\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row);\n }\n return (_ref3 = enableRowPinning != null ? enableRowPinning : enablePinning) != null ? _ref3 : true;\n };\n row.getIsPinned = () => {\n const rowIds = [row.id];\n const {\n top,\n bottom\n } = table.getState().rowPinning;\n const isTop = rowIds.some(d => top == null ? void 0 : top.includes(d));\n const isBottom = rowIds.some(d => bottom == null ? void 0 : bottom.includes(d));\n return isTop ? 'top' : isBottom ? 'bottom' : false;\n };\n row.getPinnedIndex = () => {\n var _ref4, _visiblePinnedRowIds$;\n const position = row.getIsPinned();\n if (!position) return -1;\n const visiblePinnedRowIds = (_ref4 = position === 'top' ? table.getTopRows() : table.getBottomRows()) == null ? void 0 : _ref4.map(_ref5 => {\n let {\n id\n } = _ref5;\n return id;\n });\n return (_visiblePinnedRowIds$ = visiblePinnedRowIds == null ? void 0 : visiblePinnedRowIds.indexOf(row.id)) != null ? _visiblePinnedRowIds$ : -1;\n };\n },\n createTable: table => {\n table.setRowPinning = updater => table.options.onRowPinningChange == null ? void 0 : table.options.onRowPinningChange(updater);\n table.resetRowPinning = defaultState => {\n var _table$initialState$r, _table$initialState;\n return table.setRowPinning(defaultState ? getDefaultRowPinningState() : (_table$initialState$r = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.rowPinning) != null ? _table$initialState$r : getDefaultRowPinningState());\n };\n table.getIsSomeRowsPinned = position => {\n var _pinningState$positio;\n const pinningState = table.getState().rowPinning;\n if (!position) {\n var _pinningState$top, _pinningState$bottom;\n return Boolean(((_pinningState$top = pinningState.top) == null ? void 0 : _pinningState$top.length) || ((_pinningState$bottom = pinningState.bottom) == null ? void 0 : _pinningState$bottom.length));\n }\n return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);\n };\n table._getPinnedRows = (visibleRows, pinnedRowIds, position) => {\n var _table$options$keepPi;\n const rows = ((_table$options$keepPi = table.options.keepPinnedRows) != null ? _table$options$keepPi : true) ?\n //get all rows that are pinned even if they would not be otherwise visible\n //account for expanded parent rows, but not pagination or filtering\n (pinnedRowIds != null ? pinnedRowIds : []).map(rowId => {\n const row = table.getRow(rowId, true);\n return row.getIsAllParentsExpanded() ? row : null;\n }) :\n //else get only visible rows that are pinned\n (pinnedRowIds != null ? pinnedRowIds : []).map(rowId => visibleRows.find(row => row.id === rowId));\n return rows.filter(Boolean).map(d => ({\n ...d,\n position\n }));\n };\n table.getTopRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.top], (allRows, topPinnedRowIds) => table._getPinnedRows(allRows, topPinnedRowIds, 'top'), getMemoOptions(table.options, 'debugRows', 'getTopRows'));\n table.getBottomRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.bottom], (allRows, bottomPinnedRowIds) => table._getPinnedRows(allRows, bottomPinnedRowIds, 'bottom'), getMemoOptions(table.options, 'debugRows', 'getBottomRows'));\n table.getCenterRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.top, table.getState().rowPinning.bottom], (allRows, top, bottom) => {\n const topAndBottom = new Set([...(top != null ? top : []), ...(bottom != null ? bottom : [])]);\n return allRows.filter(d => !topAndBottom.has(d.id));\n }, getMemoOptions(table.options, 'debugRows', 'getCenterRows'));\n }\n};\n\n//\n\nconst RowSelection = {\n getInitialState: state => {\n return {\n rowSelection: {},\n ...state\n };\n },\n getDefaultOptions: table => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n };\n },\n createTable: table => {\n table.setRowSelection = updater => table.options.onRowSelectionChange == null ? void 0 : table.options.onRowSelectionChange(updater);\n table.resetRowSelection = defaultState => {\n var _table$initialState$r;\n return table.setRowSelection(defaultState ? {} : (_table$initialState$r = table.initialState.rowSelection) != null ? _table$initialState$r : {});\n };\n table.toggleAllRowsSelected = value => {\n table.setRowSelection(old => {\n value = typeof value !== 'undefined' ? value : !table.getIsAllRowsSelected();\n const rowSelection = {\n ...old\n };\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach(row => {\n if (!row.getCanSelect()) {\n return;\n }\n rowSelection[row.id] = true;\n });\n } else {\n preGroupedFlatRows.forEach(row => {\n delete rowSelection[row.id];\n });\n }\n return rowSelection;\n });\n };\n table.toggleAllPageRowsSelected = value => table.setRowSelection(old => {\n const resolvedValue = typeof value !== 'undefined' ? value : !table.getIsAllPageRowsSelected();\n const rowSelection = {\n ...old\n };\n table.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table);\n });\n return rowSelection;\n });\n\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = table\n\n // const findSelectedRow = (rows: Row[]) => {\n // let found\n // rows.find(d => {\n // if (d.getIsSelected()) {\n // found = d\n // return true\n // }\n // const subFound = findSelectedRow(d.subRows || [])\n // if (subFound) {\n // found = subFound\n // return true\n // }\n // return false\n // })\n // return found\n // }\n\n // const firstRow = findSelectedRow(rows) || rows[0]\n // const lastRow = rowsById[rowId]\n\n // let include = false\n // const selectedRowIds = {}\n\n // const addRow = (row: Row) => {\n // mutateRowIsSelected(selectedRowIds, row.id, true, {\n // rowsById,\n // selectGroupingRows: selectGroupingRows!,\n // selectSubRows: selectSubRows!,\n // })\n // }\n\n // table.rows.forEach(row => {\n // const isFirstRow = row.id === firstRow.id\n // const isLastRow = row.id === lastRow.id\n\n // if (isFirstRow || isLastRow) {\n // if (!include) {\n // include = true\n // } else if (include) {\n // addRow(row)\n // include = false\n // }\n // }\n\n // if (include) {\n // addRow(row)\n // }\n // })\n\n // table.setRowSelection(selectedRowIds)\n // },\n table.getPreSelectedRowModel = () => table.getCoreRowModel();\n table.getSelectedRowModel = memo(() => [table.getState().rowSelection, table.getCoreRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getSelectedRowModel'));\n table.getFilteredSelectedRowModel = memo(() => [table.getState().rowSelection, table.getFilteredRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getFilteredSelectedRowModel'));\n table.getGroupedSelectedRowModel = memo(() => [table.getState().rowSelection, table.getSortedRowModel()], (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n }\n return selectRowsFn(table, rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getGroupedSelectedRowModel'));\n\n ///\n\n // getGroupingRowCanSelect: rowId => {\n // const row = table.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof table.options.enableGroupingRowSelection === 'function') {\n // return table.options.enableGroupingRowSelection(row)\n // }\n\n // return table.options.enableGroupingRowSelection ?? false\n // },\n\n table.getIsAllRowsSelected = () => {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows;\n const {\n rowSelection\n } = table.getState();\n let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);\n if (isAllRowsSelected) {\n if (preGroupedFlatRows.some(row => row.getCanSelect() && !rowSelection[row.id])) {\n isAllRowsSelected = false;\n }\n }\n return isAllRowsSelected;\n };\n table.getIsAllPageRowsSelected = () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows.filter(row => row.getCanSelect());\n const {\n rowSelection\n } = table.getState();\n let isAllPageRowsSelected = !!paginationFlatRows.length;\n if (isAllPageRowsSelected && paginationFlatRows.some(row => !rowSelection[row.id])) {\n isAllPageRowsSelected = false;\n }\n return isAllPageRowsSelected;\n };\n table.getIsSomeRowsSelected = () => {\n var _table$getState$rowSe;\n const totalSelected = Object.keys((_table$getState$rowSe = table.getState().rowSelection) != null ? _table$getState$rowSe : {}).length;\n return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;\n };\n table.getIsSomePageRowsSelected = () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows;\n return table.getIsAllPageRowsSelected() ? false : paginationFlatRows.filter(row => row.getCanSelect()).some(d => d.getIsSelected() || d.getIsSomeSelected());\n };\n table.getToggleAllRowsSelectedHandler = () => {\n return e => {\n table.toggleAllRowsSelected(e.target.checked);\n };\n };\n table.getToggleAllPageRowsSelectedHandler = () => {\n return e => {\n table.toggleAllPageRowsSelected(e.target.checked);\n };\n };\n },\n createRow: (row, table) => {\n row.toggleSelected = (value, opts) => {\n const isSelected = row.getIsSelected();\n table.setRowSelection(old => {\n var _opts$selectChildren;\n value = typeof value !== 'undefined' ? value : !isSelected;\n if (row.getCanSelect() && isSelected === value) {\n return old;\n }\n const selectedRowIds = {\n ...old\n };\n mutateRowIsSelected(selectedRowIds, row.id, value, (_opts$selectChildren = opts == null ? void 0 : opts.selectChildren) != null ? _opts$selectChildren : true, table);\n return selectedRowIds;\n });\n };\n row.getIsSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isRowSelected(row, rowSelection);\n };\n row.getIsSomeSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isSubRowSelected(row, rowSelection) === 'some';\n };\n row.getIsAllSubRowsSelected = () => {\n const {\n rowSelection\n } = table.getState();\n return isSubRowSelected(row, rowSelection) === 'all';\n };\n row.getCanSelect = () => {\n var _table$options$enable;\n if (typeof table.options.enableRowSelection === 'function') {\n return table.options.enableRowSelection(row);\n }\n return (_table$options$enable = table.options.enableRowSelection) != null ? _table$options$enable : true;\n };\n row.getCanSelectSubRows = () => {\n var _table$options$enable2;\n if (typeof table.options.enableSubRowSelection === 'function') {\n return table.options.enableSubRowSelection(row);\n }\n return (_table$options$enable2 = table.options.enableSubRowSelection) != null ? _table$options$enable2 : true;\n };\n row.getCanMultiSelect = () => {\n var _table$options$enable3;\n if (typeof table.options.enableMultiRowSelection === 'function') {\n return table.options.enableMultiRowSelection(row);\n }\n return (_table$options$enable3 = table.options.enableMultiRowSelection) != null ? _table$options$enable3 : true;\n };\n row.getToggleSelectedHandler = () => {\n const canSelect = row.getCanSelect();\n return e => {\n var _target;\n if (!canSelect) return;\n row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);\n };\n };\n }\n};\nconst mutateRowIsSelected = (selectedRowIds, id, value, includeChildren, table) => {\n var _row$subRows;\n const row = table.getRow(id, true);\n\n // const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && table.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n if (!row.getCanMultiSelect()) {\n Object.keys(selectedRowIds).forEach(key => delete selectedRowIds[key]);\n }\n if (row.getCanSelect()) {\n selectedRowIds[id] = true;\n }\n } else {\n delete selectedRowIds[id];\n }\n // }\n\n if (includeChildren && (_row$subRows = row.subRows) != null && _row$subRows.length && row.getCanSelectSubRows()) {\n row.subRows.forEach(row => mutateRowIsSelected(selectedRowIds, row.id, value, includeChildren, table));\n }\n};\nfunction selectRowsFn(table, rowModel) {\n const rowSelection = table.getState().rowSelection;\n const newSelectedFlatRows = [];\n const newSelectedRowsById = {};\n\n // Filters top level and nested rows\n const recurseRows = function (rows, depth) {\n return rows.map(row => {\n var _row$subRows2;\n const isSelected = isRowSelected(row, rowSelection);\n if (isSelected) {\n newSelectedFlatRows.push(row);\n newSelectedRowsById[row.id] = row;\n }\n if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows)\n };\n }\n if (isSelected) {\n return row;\n }\n }).filter(Boolean);\n };\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById\n };\n}\nfunction isRowSelected(row, selection) {\n var _selection$row$id;\n return (_selection$row$id = selection[row.id]) != null ? _selection$row$id : false;\n}\nfunction isSubRowSelected(row, selection, table) {\n var _row$subRows3;\n if (!((_row$subRows3 = row.subRows) != null && _row$subRows3.length)) return false;\n let allChildrenSelected = true;\n let someSelected = false;\n row.subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n if (subRow.getCanSelect()) {\n if (isRowSelected(subRow, selection)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n }\n\n // Check row selection of nested subrows\n if (subRow.subRows && subRow.subRows.length) {\n const subRowChildrenSelected = isSubRowSelected(subRow, selection);\n if (subRowChildrenSelected === 'all') {\n someSelected = true;\n } else if (subRowChildrenSelected === 'some') {\n someSelected = true;\n allChildrenSelected = false;\n } else {\n allChildrenSelected = false;\n }\n }\n });\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false;\n}\n\nconst reSplitAlphaNumeric = /([0-9]+)/gm;\nconst alphanumeric = (rowA, rowB, columnId) => {\n return compareAlphanumeric(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());\n};\nconst alphanumericCaseSensitive = (rowA, rowB, columnId) => {\n return compareAlphanumeric(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));\n};\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst text = (rowA, rowB, columnId) => {\n return compareBasic(toString(rowA.getValue(columnId)).toLowerCase(), toString(rowB.getValue(columnId)).toLowerCase());\n};\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nconst textCaseSensitive = (rowA, rowB, columnId) => {\n return compareBasic(toString(rowA.getValue(columnId)), toString(rowB.getValue(columnId)));\n};\nconst datetime = (rowA, rowB, columnId) => {\n const a = rowA.getValue(columnId);\n const b = rowB.getValue(columnId);\n\n // Can handle nullish values\n // Use > and < because == (and ===) doesn't work with\n // Date objects (would require calling getTime()).\n return a > b ? 1 : a < b ? -1 : 0;\n};\nconst basic = (rowA, rowB, columnId) => {\n return compareBasic(rowA.getValue(columnId), rowB.getValue(columnId));\n};\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1;\n}\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return '';\n }\n return String(a);\n }\n if (typeof a === 'string') {\n return a;\n }\n return '';\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr, bStr) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean);\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean);\n\n // While\n while (a.length && b.length) {\n const aa = a.shift();\n const bb = b.shift();\n const an = parseInt(aa, 10);\n const bn = parseInt(bb, 10);\n const combo = [an, bn].sort();\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1;\n }\n if (bb > aa) {\n return -1;\n }\n continue;\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1;\n }\n\n // Both are numbers\n if (an > bn) {\n return 1;\n }\n if (bn > an) {\n return -1;\n }\n }\n return a.length - b.length;\n}\n\n// Exports\n\nconst sortingFns = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic\n};\n\n//\n\nconst RowSorting = {\n getInitialState: state => {\n return {\n sorting: [],\n ...state\n };\n },\n getDefaultColumnDef: () => {\n return {\n sortingFn: 'auto',\n sortUndefined: 1\n };\n },\n getDefaultOptions: table => {\n return {\n onSortingChange: makeStateUpdater('sorting', table),\n isMultiSortEvent: e => {\n return e.shiftKey;\n }\n };\n },\n createColumn: (column, table) => {\n column.getAutoSortingFn = () => {\n const firstRows = table.getFilteredRowModel().flatRows.slice(10);\n let isString = false;\n for (const row of firstRows) {\n const value = row == null ? void 0 : row.getValue(column.id);\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return sortingFns.datetime;\n }\n if (typeof value === 'string') {\n isString = true;\n if (value.split(reSplitAlphaNumeric).length > 1) {\n return sortingFns.alphanumeric;\n }\n }\n }\n if (isString) {\n return sortingFns.text;\n }\n return sortingFns.basic;\n };\n column.getAutoSortDir = () => {\n const firstRow = table.getFilteredRowModel().flatRows[0];\n const value = firstRow == null ? void 0 : firstRow.getValue(column.id);\n if (typeof value === 'string') {\n return 'asc';\n }\n return 'desc';\n };\n column.getSortingFn = () => {\n var _table$options$sortin, _table$options$sortin2;\n if (!column) {\n throw new Error();\n }\n return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : (_table$options$sortin = (_table$options$sortin2 = table.options.sortingFns) == null ? void 0 : _table$options$sortin2[column.columnDef.sortingFn]) != null ? _table$options$sortin : sortingFns[column.columnDef.sortingFn];\n };\n column.toggleSorting = (desc, multi) => {\n // if (column.columns.length) {\n // column.columns.forEach((c, i) => {\n // if (c.id) {\n // table.toggleColumnSorting(c.id, undefined, multi || !!i)\n // }\n // })\n // return\n // }\n\n // this needs to be outside of table.setSorting to be in sync with rerender\n const nextSortingOrder = column.getNextSortingOrder();\n const hasManualValue = typeof desc !== 'undefined' && desc !== null;\n table.setSorting(old => {\n // Find any existing sorting for this column\n const existingSorting = old == null ? void 0 : old.find(d => d.id === column.id);\n const existingIndex = old == null ? void 0 : old.findIndex(d => d.id === column.id);\n let newSorting = [];\n\n // What should we do with this sort action?\n let sortAction;\n let nextDesc = hasManualValue ? desc : nextSortingOrder === 'desc';\n\n // Multi-mode\n if (old != null && old.length && column.getCanMultiSort() && multi) {\n if (existingSorting) {\n sortAction = 'toggle';\n } else {\n sortAction = 'add';\n }\n } else {\n // Normal mode\n if (old != null && old.length && existingIndex !== old.length - 1) {\n sortAction = 'replace';\n } else if (existingSorting) {\n sortAction = 'toggle';\n } else {\n sortAction = 'replace';\n }\n }\n\n // Handle toggle states that will remove the sorting\n if (sortAction === 'toggle') {\n // If we are \"actually\" toggling (not a manual set value), should we remove the sorting?\n if (!hasManualValue) {\n // Is our intention to remove?\n if (!nextSortingOrder) {\n sortAction = 'remove';\n }\n }\n }\n if (sortAction === 'add') {\n var _table$options$maxMul;\n newSorting = [...old, {\n id: column.id,\n desc: nextDesc\n }];\n // Take latest n columns\n newSorting.splice(0, newSorting.length - ((_table$options$maxMul = table.options.maxMultiSortColCount) != null ? _table$options$maxMul : Number.MAX_SAFE_INTEGER));\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSorting = old.map(d => {\n if (d.id === column.id) {\n return {\n ...d,\n desc: nextDesc\n };\n }\n return d;\n });\n } else if (sortAction === 'remove') {\n newSorting = old.filter(d => d.id !== column.id);\n } else {\n newSorting = [{\n id: column.id,\n desc: nextDesc\n }];\n }\n return newSorting;\n });\n };\n column.getFirstSortDir = () => {\n var _ref, _column$columnDef$sor;\n const sortDescFirst = (_ref = (_column$columnDef$sor = column.columnDef.sortDescFirst) != null ? _column$columnDef$sor : table.options.sortDescFirst) != null ? _ref : column.getAutoSortDir() === 'desc';\n return sortDescFirst ? 'desc' : 'asc';\n };\n column.getNextSortingOrder = multi => {\n var _table$options$enable, _table$options$enable2;\n const firstSortDirection = column.getFirstSortDir();\n const isSorted = column.getIsSorted();\n if (!isSorted) {\n return firstSortDirection;\n }\n if (isSorted !== firstSortDirection && ((_table$options$enable = table.options.enableSortingRemoval) != null ? _table$options$enable : true) && (\n // If enableSortRemove, enable in general\n multi ? (_table$options$enable2 = table.options.enableMultiRemove) != null ? _table$options$enable2 : true : true) // If multi, don't allow if enableMultiRemove))\n ) {\n return false;\n }\n return isSorted === 'desc' ? 'asc' : 'desc';\n };\n column.getCanSort = () => {\n var _column$columnDef$ena, _table$options$enable3;\n return ((_column$columnDef$ena = column.columnDef.enableSorting) != null ? _column$columnDef$ena : true) && ((_table$options$enable3 = table.options.enableSorting) != null ? _table$options$enable3 : true) && !!column.accessorFn;\n };\n column.getCanMultiSort = () => {\n var _ref2, _column$columnDef$ena2;\n return (_ref2 = (_column$columnDef$ena2 = column.columnDef.enableMultiSort) != null ? _column$columnDef$ena2 : table.options.enableMultiSort) != null ? _ref2 : !!column.accessorFn;\n };\n column.getIsSorted = () => {\n var _table$getState$sorti;\n const columnSort = (_table$getState$sorti = table.getState().sorting) == null ? void 0 : _table$getState$sorti.find(d => d.id === column.id);\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc';\n };\n column.getSortIndex = () => {\n var _table$getState$sorti2, _table$getState$sorti3;\n return (_table$getState$sorti2 = (_table$getState$sorti3 = table.getState().sorting) == null ? void 0 : _table$getState$sorti3.findIndex(d => d.id === column.id)) != null ? _table$getState$sorti2 : -1;\n };\n column.clearSorting = () => {\n //clear sorting for just 1 column\n table.setSorting(old => old != null && old.length ? old.filter(d => d.id !== column.id) : []);\n };\n column.getToggleSortingHandler = () => {\n const canSort = column.getCanSort();\n return e => {\n if (!canSort) return;\n e.persist == null || e.persist();\n column.toggleSorting == null || column.toggleSorting(undefined, column.getCanMultiSort() ? table.options.isMultiSortEvent == null ? void 0 : table.options.isMultiSortEvent(e) : false);\n };\n };\n },\n createTable: table => {\n table.setSorting = updater => table.options.onSortingChange == null ? void 0 : table.options.onSortingChange(updater);\n table.resetSorting = defaultState => {\n var _table$initialState$s, _table$initialState;\n table.setSorting(defaultState ? [] : (_table$initialState$s = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.sorting) != null ? _table$initialState$s : []);\n };\n table.getPreSortedRowModel = () => table.getGroupedRowModel();\n table.getSortedRowModel = () => {\n if (!table._getSortedRowModel && table.options.getSortedRowModel) {\n table._getSortedRowModel = table.options.getSortedRowModel(table);\n }\n if (table.options.manualSorting || !table._getSortedRowModel) {\n return table.getPreSortedRowModel();\n }\n return table._getSortedRowModel();\n };\n }\n};\n\nconst builtInFeatures = [Headers, ColumnVisibility, ColumnOrdering, ColumnPinning, ColumnFaceting, ColumnFiltering, GlobalFaceting,\n//depends on ColumnFaceting\nGlobalFiltering,\n//depends on ColumnFiltering\nRowSorting, ColumnGrouping,\n//depends on RowSorting\nRowExpanding, RowPagination, RowPinning, RowSelection, ColumnSizing];\n\n//\n\nfunction createTable(options) {\n var _options$_features, _options$initialState;\n if (process.env.NODE_ENV !== 'production' && (options.debugAll || options.debugTable)) {\n console.info('Creating Table Instance...');\n }\n const _features = [...builtInFeatures, ...((_options$_features = options._features) != null ? _options$_features : [])];\n let table = {\n _features\n };\n const defaultOptions = table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(table));\n }, {});\n const mergeOptions = options => {\n if (table.options.mergeOptions) {\n return table.options.mergeOptions(defaultOptions, options);\n }\n return {\n ...defaultOptions,\n ...options\n };\n };\n const coreInitialState = {};\n let initialState = {\n ...coreInitialState,\n ...((_options$initialState = options.initialState) != null ? _options$initialState : {})\n };\n table._features.forEach(feature => {\n var _feature$getInitialSt;\n initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;\n });\n const queued = [];\n let queuedTimeout = false;\n const coreInstance = {\n _features,\n options: {\n ...defaultOptions,\n ...options\n },\n initialState,\n _queue: cb => {\n queued.push(cb);\n if (!queuedTimeout) {\n queuedTimeout = true;\n\n // Schedule a microtask to run the queued callbacks after\n // the current call stack (render, etc) has finished.\n Promise.resolve().then(() => {\n while (queued.length) {\n queued.shift()();\n }\n queuedTimeout = false;\n }).catch(error => setTimeout(() => {\n throw error;\n }));\n }\n },\n reset: () => {\n table.setState(table.initialState);\n },\n setOptions: updater => {\n const newOptions = functionalUpdate(updater, table.options);\n table.options = mergeOptions(newOptions);\n },\n getState: () => {\n return table.options.state;\n },\n setState: updater => {\n table.options.onStateChange == null || table.options.onStateChange(updater);\n },\n _getRowId: (row, index, parent) => {\n var _table$options$getRow;\n return (_table$options$getRow = table.options.getRowId == null ? void 0 : table.options.getRowId(row, index, parent)) != null ? _table$options$getRow : `${parent ? [parent.id, index].join('.') : index}`;\n },\n getCoreRowModel: () => {\n if (!table._getCoreRowModel) {\n table._getCoreRowModel = table.options.getCoreRowModel(table);\n }\n return table._getCoreRowModel();\n },\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return table.getPaginationRowModel();\n },\n //in next version, we should just pass in the row model as the optional 2nd arg\n getRow: (id, searchAll) => {\n let row = (searchAll ? table.getPrePaginationRowModel() : table.getRowModel()).rowsById[id];\n if (!row) {\n row = table.getCoreRowModel().rowsById[id];\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow could not find row with ID: ${id}`);\n }\n throw new Error();\n }\n }\n return row;\n },\n _getDefaultColumnDef: memo(() => [table.options.defaultColumn], defaultColumn => {\n var _defaultColumn;\n defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};\n return {\n header: props => {\n const resolvedColumnDef = props.header.column.columnDef;\n if (resolvedColumnDef.accessorKey) {\n return resolvedColumnDef.accessorKey;\n }\n if (resolvedColumnDef.accessorFn) {\n return resolvedColumnDef.id;\n }\n return null;\n },\n // footer: props => props.header.column.id,\n cell: props => {\n var _props$renderValue$to, _props$renderValue;\n return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null || _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;\n },\n ...table._features.reduce((obj, feature) => {\n return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());\n }, {}),\n ...defaultColumn\n };\n }, getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')),\n _getColumnDefs: () => table.options.columns,\n getAllColumns: memo(() => [table._getColumnDefs()], columnDefs => {\n const recurseColumns = function (columnDefs, parent, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n return columnDefs.map(columnDef => {\n const column = createColumn(table, columnDef, depth, parent);\n const groupingColumnDef = columnDef;\n column.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column, depth + 1) : [];\n return column;\n });\n };\n return recurseColumns(columnDefs);\n }, getMemoOptions(options, 'debugColumns', 'getAllColumns')),\n getAllFlatColumns: memo(() => [table.getAllColumns()], allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns();\n });\n }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')),\n _getAllFlatColumnsById: memo(() => [table.getAllFlatColumns()], flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column;\n return acc;\n }, {});\n }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')),\n getAllLeafColumns: memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns());\n return orderColumns(leafColumns);\n }, getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')),\n getColumn: columnId => {\n const column = table._getAllFlatColumnsById()[columnId];\n if (process.env.NODE_ENV !== 'production' && !column) {\n console.error(`[Table] Column with id '${columnId}' does not exist.`);\n }\n return column;\n }\n };\n Object.assign(table, coreInstance);\n for (let index = 0; index < table._features.length; index++) {\n const feature = table._features[index];\n feature == null || feature.createTable == null || feature.createTable(table);\n }\n return table;\n}\n\nfunction getCoreRowModel() {\n return table => memo(() => [table.options.data], data => {\n const rowModel = {\n rows: [],\n flatRows: [],\n rowsById: {}\n };\n const accessRows = function (originalRows, depth, parentRow) {\n if (depth === void 0) {\n depth = 0;\n }\n const rows = [];\n for (let i = 0; i < originalRows.length; i++) {\n // This could be an expensive check at scale, so we should move it somewhere else, but where?\n // if (!id) {\n // if (process.env.NODE_ENV !== 'production') {\n // throw new Error(`getRowId expected an ID, but got ${id}`)\n // }\n // }\n\n // Make the row\n const row = createRow(table, table._getRowId(originalRows[i], i, parentRow), originalRows[i], i, depth, undefined, parentRow == null ? void 0 : parentRow.id);\n\n // Keep track of every row in a flat array\n rowModel.flatRows.push(row);\n // Also keep track of every row by its ID\n rowModel.rowsById[row.id] = row;\n // Push table row into parent\n rows.push(row);\n\n // Get the original subrows\n if (table.options.getSubRows) {\n var _row$originalSubRows;\n row.originalSubRows = table.options.getSubRows(originalRows[i], i);\n\n // Then recursively access them\n if ((_row$originalSubRows = row.originalSubRows) != null && _row$originalSubRows.length) {\n row.subRows = accessRows(row.originalSubRows, depth + 1, row);\n }\n }\n }\n return rows;\n };\n rowModel.rows = accessRows(data);\n return rowModel;\n }, getMemoOptions(table.options, 'debugTable', 'getRowModel', () => table._autoResetPageIndex()));\n}\n\nfunction getExpandedRowModel() {\n return table => memo(() => [table.getState().expanded, table.getPreExpandedRowModel(), table.options.paginateExpandedRows], (expanded, rowModel, paginateExpandedRows) => {\n if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {\n return rowModel;\n }\n if (!paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel;\n }\n return expandRows(rowModel);\n }, getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel'));\n}\nfunction expandRows(rowModel) {\n const expandedRows = [];\n const handleRow = row => {\n var _row$subRows;\n expandedRows.push(row);\n if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {\n row.subRows.forEach(handleRow);\n }\n };\n rowModel.rows.forEach(handleRow);\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById\n };\n}\n\nfunction getFacetedMinMaxValues() {\n return (table, columnId) => memo(() => {\n var _table$getColumn;\n return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];\n }, facetedRowModel => {\n if (!facetedRowModel) return undefined;\n const uniqueValues = facetedRowModel.flatRows.flatMap(flatRow => {\n var _flatRow$getUniqueVal;\n return (_flatRow$getUniqueVal = flatRow.getUniqueValues(columnId)) != null ? _flatRow$getUniqueVal : [];\n }).map(Number).filter(value => !Number.isNaN(value));\n if (!uniqueValues.length) return;\n let facetedMinValue = uniqueValues[0];\n let facetedMaxValue = uniqueValues[uniqueValues.length - 1];\n for (const value of uniqueValues) {\n if (value < facetedMinValue) facetedMinValue = value;else if (value > facetedMaxValue) facetedMaxValue = value;\n }\n return [facetedMinValue, facetedMaxValue];\n }, getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues'));\n}\n\nfunction filterRows(rows, filterRowImpl, table) {\n if (table.options.filterFromLeafRows) {\n return filterRowModelFromLeafs(rows, filterRowImpl, table);\n }\n return filterRowModelFromRoot(rows, filterRowImpl, table);\n}\nfunction filterRowModelFromLeafs(rowsToFilter, filterRow, table) {\n var _table$options$maxLea;\n const newFilteredFlatRows = [];\n const newFilteredRowsById = {};\n const maxDepth = (_table$options$maxLea = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea : 100;\n const recurseFilterRows = function (rowsToFilter, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n const rows = [];\n\n // Filter from children up first\n for (let i = 0; i < rowsToFilter.length; i++) {\n var _row$subRows;\n let row = rowsToFilter[i];\n const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId);\n newRow.columnFilters = row.columnFilters;\n if ((_row$subRows = row.subRows) != null && _row$subRows.length && depth < maxDepth) {\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1);\n row = newRow;\n if (filterRow(row) && !newRow.subRows.length) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n continue;\n }\n if (filterRow(row) || newRow.subRows.length) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n continue;\n }\n } else {\n row = newRow;\n if (filterRow(row)) {\n rows.push(row);\n newFilteredRowsById[row.id] = row;\n newFilteredFlatRows.push(row);\n }\n }\n }\n return rows;\n };\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById\n };\n}\nfunction filterRowModelFromRoot(rowsToFilter, filterRow, table) {\n var _table$options$maxLea2;\n const newFilteredFlatRows = [];\n const newFilteredRowsById = {};\n const maxDepth = (_table$options$maxLea2 = table.options.maxLeafRowFilterDepth) != null ? _table$options$maxLea2 : 100;\n\n // Filters top level and nested rows\n const recurseFilterRows = function (rowsToFilter, depth) {\n if (depth === void 0) {\n depth = 0;\n }\n // Filter from parents downward first\n\n const rows = [];\n\n // Apply the filter to any subRows\n for (let i = 0; i < rowsToFilter.length; i++) {\n let row = rowsToFilter[i];\n const pass = filterRow(row);\n if (pass) {\n var _row$subRows2;\n if ((_row$subRows2 = row.subRows) != null && _row$subRows2.length && depth < maxDepth) {\n const newRow = createRow(table, row.id, row.original, row.index, row.depth, undefined, row.parentId);\n newRow.subRows = recurseFilterRows(row.subRows, depth + 1);\n row = newRow;\n }\n rows.push(row);\n newFilteredFlatRows.push(row);\n newFilteredRowsById[row.id] = row;\n }\n }\n return rows;\n };\n return {\n rows: recurseFilterRows(rowsToFilter),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById\n };\n}\n\nfunction getFacetedRowModel() {\n return (table, columnId) => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter, table.getFilteredRowModel()], (preRowModel, columnFilters, globalFilter) => {\n if (!preRowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {\n return preRowModel;\n }\n const filterableIds = [...columnFilters.map(d => d.id).filter(d => d !== columnId), globalFilter ? '__global__' : undefined].filter(Boolean);\n const filterRowsImpl = row => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]] === false) {\n return false;\n }\n }\n return true;\n };\n return filterRows(preRowModel.rows, filterRowsImpl, table);\n }, getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel'));\n}\n\nfunction getFacetedUniqueValues() {\n return (table, columnId) => memo(() => {\n var _table$getColumn;\n return [(_table$getColumn = table.getColumn(columnId)) == null ? void 0 : _table$getColumn.getFacetedRowModel()];\n }, facetedRowModel => {\n if (!facetedRowModel) return new Map();\n let facetedUniqueValues = new Map();\n for (let i = 0; i < facetedRowModel.flatRows.length; i++) {\n const values = facetedRowModel.flatRows[i].getUniqueValues(columnId);\n for (let j = 0; j < values.length; j++) {\n const value = values[j];\n if (facetedUniqueValues.has(value)) {\n var _facetedUniqueValues$;\n facetedUniqueValues.set(value, ((_facetedUniqueValues$ = facetedUniqueValues.get(value)) != null ? _facetedUniqueValues$ : 0) + 1);\n } else {\n facetedUniqueValues.set(value, 1);\n }\n }\n }\n return facetedUniqueValues;\n }, getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`));\n}\n\nfunction getFilteredRowModel() {\n return table => memo(() => [table.getPreFilteredRowModel(), table.getState().columnFilters, table.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {\n if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {\n for (let i = 0; i < rowModel.flatRows.length; i++) {\n rowModel.flatRows[i].columnFilters = {};\n rowModel.flatRows[i].columnFiltersMeta = {};\n }\n return rowModel;\n }\n const resolvedColumnFilters = [];\n const resolvedGlobalFilters = [];\n (columnFilters != null ? columnFilters : []).forEach(d => {\n var _filterFn$resolveFilt;\n const column = table.getColumn(d.id);\n if (!column) {\n return;\n }\n const filterFn = column.getFilterFn();\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find a valid 'column.filterFn' for column with the ID: ${column.id}.`);\n }\n return;\n }\n resolvedColumnFilters.push({\n id: d.id,\n filterFn,\n resolvedValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value\n });\n });\n const filterableIds = (columnFilters != null ? columnFilters : []).map(d => d.id);\n const globalFilterFn = table.getGlobalFilterFn();\n const globallyFilterableColumns = table.getAllLeafColumns().filter(column => column.getCanGlobalFilter());\n if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {\n filterableIds.push('__global__');\n globallyFilterableColumns.forEach(column => {\n var _globalFilterFn$resol;\n resolvedGlobalFilters.push({\n id: column.id,\n filterFn: globalFilterFn,\n resolvedValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter\n });\n });\n }\n let currentColumnFilter;\n let currentGlobalFilter;\n\n // Flag the prefiltered row model with each filter state\n for (let j = 0; j < rowModel.flatRows.length; j++) {\n const row = rowModel.flatRows[j];\n row.columnFilters = {};\n if (resolvedColumnFilters.length) {\n for (let i = 0; i < resolvedColumnFilters.length; i++) {\n currentColumnFilter = resolvedColumnFilters[i];\n const id = currentColumnFilter.id;\n\n // Tag the row with the column filter state\n row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, filterMeta => {\n row.columnFiltersMeta[id] = filterMeta;\n });\n }\n }\n if (resolvedGlobalFilters.length) {\n for (let i = 0; i < resolvedGlobalFilters.length; i++) {\n currentGlobalFilter = resolvedGlobalFilters[i];\n const id = currentGlobalFilter.id;\n // Tag the row with the first truthy global filter state\n if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, filterMeta => {\n row.columnFiltersMeta[id] = filterMeta;\n })) {\n row.columnFilters.__global__ = true;\n break;\n }\n }\n if (row.columnFilters.__global__ !== true) {\n row.columnFilters.__global__ = false;\n }\n }\n }\n const filterRowsImpl = row => {\n // Horizontally filter rows through each column\n for (let i = 0; i < filterableIds.length; i++) {\n if (row.columnFilters[filterableIds[i]] === false) {\n return false;\n }\n }\n return true;\n };\n\n // Filter final rows using all of the active filters\n return filterRows(rowModel.rows, filterRowsImpl, table);\n }, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));\n}\n\nfunction getGroupedRowModel() {\n return table => memo(() => [table.getState().grouping, table.getPreGroupedRowModel()], (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n rowModel.rows.forEach(row => {\n row.depth = 0;\n row.parentId = undefined;\n });\n return rowModel;\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId => table.getColumn(columnId));\n const groupedFlatRows = [];\n const groupedRowsById = {};\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = function (rows, depth, parentId) {\n if (depth === void 0) {\n depth = 0;\n }\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map(row => {\n row.depth = depth;\n groupedFlatRows.push(row);\n groupedRowsById[row.id] = row;\n if (row.subRows) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);\n }\n return row;\n });\n }\n const columnId = existingGrouping[depth];\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId);\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map((_ref, index) => {\n let [groupingValue, groupedRows] = _ref;\n let id = `${columnId}:${groupingValue}`;\n id = parentId ? `${parentId}>${id}` : id;\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id);\n subRows.forEach(subRow => {\n subRow.parentId = id;\n });\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth ? flattenBy(groupedRows, row => row.subRows) : groupedRows;\n const row = createRow(table, id, leafRows[0].original, index, depth, undefined, parentId);\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: columnId => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row._valuesCache.hasOwnProperty(columnId)) {\n return row._valuesCache[columnId];\n }\n if (groupedRows[0]) {\n var _groupedRows$0$getVal;\n row._valuesCache[columnId] = (_groupedRows$0$getVal = groupedRows[0].getValue(columnId)) != null ? _groupedRows$0$getVal : undefined;\n }\n return row._valuesCache[columnId];\n }\n if (row._groupingValuesCache.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId];\n }\n\n // Aggregate the values\n const column = table.getColumn(columnId);\n const aggregateFn = column == null ? void 0 : column.getAggregationFn();\n if (aggregateFn) {\n row._groupingValuesCache[columnId] = aggregateFn(columnId, leafRows, groupedRows);\n return row._groupingValuesCache[columnId];\n }\n }\n });\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n });\n return row;\n });\n return aggregatedGroupedRows;\n };\n const groupedRows = groupUpRecursively(rowModel.rows, 0);\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow);\n groupedRowsById[subRow.id] = subRow;\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n });\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById\n };\n }, getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {\n table._queue(() => {\n table._autoResetExpanded();\n table._autoResetPageIndex();\n });\n }));\n}\nfunction groupBy(rows, columnId) {\n const groupMap = new Map();\n return rows.reduce((map, row) => {\n const resKey = `${row.getGroupingValue(columnId)}`;\n const previous = map.get(resKey);\n if (!previous) {\n map.set(resKey, [row]);\n } else {\n previous.push(row);\n }\n return map;\n }, groupMap);\n}\n\nfunction getPaginationRowModel(opts) {\n return table => memo(() => [table.getState().pagination, table.getPrePaginationRowModel(), table.options.paginateExpandedRows ? undefined : table.getState().expanded], (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel;\n }\n const {\n pageSize,\n pageIndex\n } = pagination;\n let {\n rows,\n flatRows,\n rowsById\n } = rowModel;\n const pageStart = pageSize * pageIndex;\n const pageEnd = pageStart + pageSize;\n rows = rows.slice(pageStart, pageEnd);\n let paginatedRowModel;\n if (!table.options.paginateExpandedRows) {\n paginatedRowModel = expandRows({\n rows,\n flatRows,\n rowsById\n });\n } else {\n paginatedRowModel = {\n rows,\n flatRows,\n rowsById\n };\n }\n paginatedRowModel.flatRows = [];\n const handleRow = row => {\n paginatedRowModel.flatRows.push(row);\n if (row.subRows.length) {\n row.subRows.forEach(handleRow);\n }\n };\n paginatedRowModel.rows.forEach(handleRow);\n return paginatedRowModel;\n }, getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel'));\n}\n\nfunction getSortedRowModel() {\n return table => memo(() => [table.getState().sorting, table.getPreSortedRowModel()], (sorting, rowModel) => {\n if (!rowModel.rows.length || !(sorting != null && sorting.length)) {\n return rowModel;\n }\n const sortingState = table.getState().sorting;\n const sortedFlatRows = [];\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort => {\n var _table$getColumn;\n return (_table$getColumn = table.getColumn(sort.id)) == null ? void 0 : _table$getColumn.getCanSort();\n });\n const columnInfoById = {};\n availableSorting.forEach(sortEntry => {\n const column = table.getColumn(sortEntry.id);\n if (!column) return;\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortingFn: column.getSortingFn()\n };\n });\n const sortData = rows => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.map(row => ({\n ...row\n }));\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n var _sortEntry$desc;\n const sortEntry = availableSorting[i];\n const columnInfo = columnInfoById[sortEntry.id];\n const sortUndefined = columnInfo.sortUndefined;\n const isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;\n let sortInt = 0;\n\n // All sorting ints should always return in ascending order\n if (sortUndefined) {\n const aValue = rowA.getValue(sortEntry.id);\n const bValue = rowB.getValue(sortEntry.id);\n const aUndefined = aValue === undefined;\n const bUndefined = bValue === undefined;\n if (aUndefined || bUndefined) {\n if (sortUndefined === 'first') return aUndefined ? -1 : 1;\n if (sortUndefined === 'last') return aUndefined ? 1 : -1;\n sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;\n }\n }\n if (sortInt === 0) {\n sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);\n }\n\n // If sorting is non-zero, take care of desc and inversion\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1;\n }\n if (columnInfo.invertSorting) {\n sortInt *= -1;\n }\n return sortInt;\n }\n }\n return rowA.index - rowB.index;\n });\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n var _row$subRows;\n sortedFlatRows.push(row);\n if ((_row$subRows = row.subRows) != null && _row$subRows.length) {\n row.subRows = sortData(row.subRows);\n }\n });\n return sortedData;\n };\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById\n };\n }, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));\n}\n\nexport { ColumnFaceting, ColumnFiltering, ColumnGrouping, ColumnOrdering, ColumnPinning, ColumnSizing, ColumnVisibility, GlobalFaceting, GlobalFiltering, Headers, RowExpanding, RowPagination, RowPinning, RowSelection, RowSorting, _getVisibleLeafColumns, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, createRow, createTable, defaultColumnSizing, expandRows, filterFns, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getMemoOptions, getPaginationRowModel, getSortedRowModel, isFunction, isNumberArray, isRowSelected, isSubRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, reSplitAlphaNumeric, selectRowsFn, shouldAutoRemoveFilter, sortingFns };\n//# sourceMappingURL=index.mjs.map\n","/**\n * react-table\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { createTable } from '@tanstack/table-core';\nexport * from '@tanstack/table-core';\n\n//\n\n/**\n * If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.\n */\nfunction flexRender(Comp, props) {\n return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React.createElement(Comp, props) : Comp;\n}\nfunction isReactComponent(component) {\n return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);\n}\nfunction isClassComponent(component) {\n return typeof component === 'function' && (() => {\n const proto = Object.getPrototypeOf(component);\n return proto.prototype && proto.prototype.isReactComponent;\n })();\n}\nfunction isExoticComponent(component) {\n return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);\n}\nfunction useReactTable(options) {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n state: {},\n // Dummy state\n onStateChange: () => {},\n // noop\n renderFallbackValue: null,\n ...options\n };\n\n // Create a new table and store it in state\n const [tableRef] = React.useState(() => ({\n current: createTable(resolvedOptions)\n }));\n\n // By default, manage table state here using the table's initial state\n const [state, setState] = React.useState(() => tableRef.current.initialState);\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n tableRef.current.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater);\n options.onStateChange == null || options.onStateChange(updater);\n }\n }));\n return tableRef.current;\n}\n\nexport { flexRender, useReactTable };\n//# sourceMappingURL=index.mjs.map\n"],"names":["functionalUpdate","updater","input","makeStateUpdater","key","instance","old","isFunction","d","isNumberArray","val","flattenBy","arr","getChildren","flat","recurse","subArr","item","children","memo","getDeps","fn","opts","deps","result","depArgs","depTime","newDeps","dep","index","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","str","num","getMemoOptions","tableOptions","debugLevel","onChange","_tableOptions$debugAl","createCell","table","row","column","columnId","getRenderValue","_cell$getValue","cell","feature","createColumn","columnDef","depth","parent","_ref","_resolvedColumnDef$id","resolvedColumnDef","accessorKey","id","accessorFn","originalRow","_result","_column$columns","orderColumns","_column$columns2","leafColumns","debug","createHeader","options","_options$id","header","leafHeaders","recurseHeader","h","Headers","allColumns","left","right","_left$map$filter","_right$map$filter","leftColumns","rightColumns","centerColumns","buildHeaderGroups","_left$map$filter2","orderedLeafColumns","_right$map$filter2","headerGroups","headerGroup","flatHeaders","_header$subHeaders","_header$subHeaders2","_header$subHeaders3","center","_left$0$headers","_left$","_center$0$headers","_center$","_right$0$headers","_right$","columnsToGroup","headerFamily","_headerGroups$0$heade","_headerGroups$","maxDepth","findMaxDepth","columns","createHeaderGroup","headersToGroup","pendingParentHeaders","headerToGroup","latestPendingParentHeader","isLeafHeader","isPlaceholder","bottomHeaders","recurseHeadersForSpans","headers","colSpan","rowSpan","childRowSpans","childColSpan","childRowSpan","minChildRowSpan","createRow","original","rowIndex","subRows","parentId","_row$getValue","parentRows","currentRow","parentRow","allCells","acc","i","ColumnFaceting","includesString","filterValue","_filterValue$toString","search","testFalsey","includesStringSensitive","_row$getValue2","equalsString","_row$getValue3","arrIncludes","_row$getValue4","arrIncludesAll","_row$getValue5","arrIncludesSome","_row$getValue6","equals","weakEquals","inNumberRange","min","max","rowValue","unsafeMin","unsafeMax","parsedMin","parsedMax","temp","filterFns","ColumnFiltering","state","firstRow","value","_table$options$filter","_table$options$filter2","_column$columnDef$ena","_table$options$enable","_table$options$enable2","_table$getState$colum","_table$getState$colum2","_table$getState$colum3","filterFn","previousFilter","newFilter","shouldAutoRemoveFilter","_old$filter","newFilterObj","_old$map","_table","updateFn","_functionalUpdate","filter","defaultState","_table$initialState$c","_table$initialState","sum","_leafRows","childRows","next","nextValue","extent","mean","leafRows","count","median","values","mid","nums","a","b","unique","uniqueCount","_columnId","aggregationFns","ColumnGrouping","props","_toString","_props$getValue","_table$getState$group","_table$getState$group2","canGroup","_table$options$aggreg","_table$options$aggreg2","_table$initialState$g","_row$subRows","grouping","groupedColumnMode","nonGroupingColumns","col","g","ColumnOrdering","position","_getVisibleLeafColumns","_columns$","_columns","columnOrder","orderedColumns","columnOrderCopy","columnsCopy","targetColumnId","foundIndex","getDefaultColumnPinningState","ColumnPinning","columnIds","_old$left3","_old$right3","_old$left","_old$right","_old$left2","_old$right2","_d$columnDef$enablePi","leafColumnIds","isLeft","isRight","leftAndRight","_pinningState$positio","pinningState","_pinningState$left","_pinningState$right","safelyAccessDocument","_document","defaultColumnSizing","getDefaultColumnSizingInfoState","ColumnSizing","_column$columnDef$min","_column$columnDef$max","columnSize","_ref2","_","rest","_header$column$getSiz","prevSiblingHeader","_contextDocument","canResize","e","isTouchStartEvent","startSize","columnSizingStart","clientX","newColumnSizing","updateOffset","eventType","clientXPos","_old$startOffset","_old$startSize","deltaDirection","deltaOffset","deltaPercentage","_ref3","headerSize","onMove","onEnd","contextDocument","mouseEvents","touchEvents","_e$touches$","passiveIfSupported","passiveEventSupported","_table$initialState$c2","_table$getHeaderGroup","_table$getHeaderGroup2","_table$getLeftHeaderG","_table$getLeftHeaderG2","_table$getCenterHeade","_table$getCenterHeade2","_table$getRightHeader","_table$getRightHeader2","passiveSupported","supported","noop","ColumnVisibility","childColumns","c","cells","makeVisibleColumnsMethod","getColumns","_value","obj","_target","GlobalFaceting","GlobalFiltering","_table$getCoreRowMode","_table$options$getCol","globalFilterFn","RowExpanding","registered","queued","_table$options$autoRe","expanded","_table$initialState$e","splitId","_expanded","exists","oldExpanded","rowId","_table$options$getIsR","_table$options$getRow","isFullyExpanded","canExpand","defaultPageIndex","defaultPageSize","getDefaultPaginationState","RowPagination","safeUpdater","_table$initialState$p","pageIndex","maxPageIndex","_table$initialState$p2","_table$initialState$p3","_table$initialState2","pageSize","topRowIndex","_table$options$pageCo","newPageCount","pageCount","pageOptions","_table$options$pageCo2","_table$options$rowCou","getDefaultRowPinningState","RowPinning","includeLeafRows","includeParentRows","leafRowIds","parentRowIds","rowIds","_old$top3","_old$bottom3","_old$top","_old$bottom","_old$top2","_old$bottom2","enableRowPinning","enablePinning","top","bottom","isTop","isBottom","_ref4","_visiblePinnedRowIds$","visiblePinnedRowIds","_ref5","_table$initialState$r","_pinningState$top","_pinningState$bottom","visibleRows","pinnedRowIds","_table$options$keepPi","allRows","topPinnedRowIds","bottomPinnedRowIds","topAndBottom","RowSelection","rowSelection","preGroupedFlatRows","resolvedValue","mutateRowIsSelected","rowModel","selectRowsFn","isAllRowsSelected","paginationFlatRows","isAllPageRowsSelected","_table$getState$rowSe","totalSelected","isSelected","_opts$selectChildren","selectedRowIds","isRowSelected","isSubRowSelected","_table$options$enable3","canSelect","includeChildren","newSelectedFlatRows","newSelectedRowsById","recurseRows","rows","_row$subRows2","selection","_selection$row$id","_row$subRows3","allChildrenSelected","someSelected","subRow","subRowChildrenSelected","reSplitAlphaNumeric","alphanumeric","rowA","rowB","compareAlphanumeric","toString","alphanumericCaseSensitive","text","compareBasic","textCaseSensitive","datetime","basic","aStr","bStr","aa","bb","an","bn","combo","sortingFns","RowSorting","firstRows","isString","_table$options$sortin","_table$options$sortin2","desc","multi","nextSortingOrder","hasManualValue","existingSorting","existingIndex","newSorting","sortAction","nextDesc","_table$options$maxMul","_column$columnDef$sor","firstSortDirection","isSorted","_column$columnDef$ena2","_table$getState$sorti","columnSort","_table$getState$sorti2","_table$getState$sorti3","canSort","_table$initialState$s","builtInFeatures","createTable","_options$_features","_options$initialState","_features","defaultOptions","mergeOptions","initialState","_feature$getInitialSt","queuedTimeout","coreInstance","cb","error","newOptions","searchAll","defaultColumn","_defaultColumn","_props$renderValue$to","_props$renderValue","columnDefs","recurseColumns","groupingColumnDef","flatColumns","getCoreRowModel","data","accessRows","originalRows","_row$originalSubRows","getExpandedRowModel","paginateExpandedRows","expandRows","expandedRows","handleRow","getPaginationRowModel","pagination","flatRows","rowsById","pageStart","pageEnd","paginatedRowModel","getSortedRowModel","sorting","sortingState","sortedFlatRows","availableSorting","sort","_table$getColumn","columnInfoById","sortEntry","sortData","sortedData","_sortEntry$desc","columnInfo","sortUndefined","isDesc","sortInt","aValue","bValue","aUndefined","bUndefined","flexRender","Comp","isReactComponent","React.createElement","component","isClassComponent","isExoticComponent","proto","useReactTable","resolvedOptions","tableRef","React.useState","setState","prev"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512">
3
+ <path d="M0 0 C1.24311943 -0.00706559 2.48623886 -0.01413118 3.76702857 -0.02141088 C5.14891704 -0.01915946 6.5308052 -0.01671295 7.91269302 -0.01409245 C9.37887542 -0.01854389 10.8450554 -0.02385763 12.31123185 -0.02996117 C16.34572831 -0.04416296 20.38014782 -0.04580405 24.4146657 -0.04536426 C28.76381689 -0.04701056 33.11293619 -0.06007358 37.46207047 -0.07155704 C46.97446361 -0.09442093 56.48683447 -0.10232917 65.99925137 -0.10738349 C71.93789312 -0.11063893 77.87652839 -0.11716049 83.81516647 -0.12438488 C100.25487815 -0.14395272 116.69458379 -0.16035582 133.13430786 -0.16326141 C134.18662449 -0.16344898 135.23894111 -0.16363655 136.32314612 -0.16382981 C138.45648845 -0.16419606 140.58983078 -0.16455976 142.72317311 -0.16492092 C143.78218014 -0.16510373 144.84118716 -0.16528654 145.93228531 -0.16547489 C147.52273286 -0.16574572 147.52273286 -0.16574572 149.14531067 -0.16602201 C166.32773542 -0.169564 183.51003487 -0.1965871 200.69241616 -0.23397278 C218.3298217 -0.27204166 235.96716504 -0.29141879 253.60461259 -0.29172093 C263.50881879 -0.29230582 273.41287554 -0.30081845 283.3170433 -0.32971859 C291.75037444 -0.35421351 300.18350161 -0.36152817 308.61685869 -0.34647106 C312.91969302 -0.33929436 317.22212445 -0.34019209 321.52491379 -0.36288166 C325.46558022 -0.38346257 329.40553376 -0.38088019 333.34619239 -0.36000682 C334.770168 -0.35651016 336.19419495 -0.36142958 337.61810324 -0.37571125 C345.62995702 -0.45087707 351.81178424 -0.2653568 357.97037125 5.26006222 C362.73132542 10.39688119 364.26024883 14.12211234 364.28287125 21.13506222 C364.29962906 22.32873409 364.31638687 23.52240597 364.3336525 24.75224972 C363.67617795 31.10076738 360.77245905 35.20496585 355.97037125 39.26006222 C348.84684888 43.81978462 342.78254707 43.74755296 334.47037125 43.51006222 C333.26638687 43.49201534 332.0624025 43.47396847 330.82193375 43.45537472 C327.8705752 43.40852776 324.92090089 43.34294226 321.97037125 43.26006222 C321.97313663 44.37821284 321.975902 45.49636347 321.97875118 46.64839745 C322.04547778 73.90977017 322.09470913 101.17113224 322.12580776 128.4325695 C322.14124822 141.61622624 322.16228363 154.79982888 322.19668961 167.98345089 C322.22667851 179.4800702 322.24596673 190.97665032 322.25263673 202.47330767 C322.25653294 208.55543724 322.26563038 214.63745473 322.28756142 220.71954823 C322.30807672 226.45604483 322.3141749 232.19238426 322.30969429 237.92891407 C322.31051281 240.02294427 322.31638806 242.11698028 322.32798767 244.21097851 C322.47064502 271.31660543 317.46638564 294.40827319 298.97037125 315.26006222 C298.04804703 316.32547237 298.04804703 316.32547237 297.10709 317.41240597 C283.54514634 332.07789108 262.61759781 340.64202506 242.97037125 342.26006222 C238.41252565 342.41133054 233.85686218 342.4171886 229.29678726 342.42119503 C227.92419173 342.42583169 226.55159747 342.43085747 225.17900467 342.4362402 C221.46771196 342.44928934 217.75643728 342.45579508 214.04512525 342.46025085 C211.71790217 342.46319528 209.39068386 342.4673027 207.06346321 342.47175503 C199.75760981 342.4854137 192.4517675 342.49508686 185.14590222 342.49895692 C176.75873617 342.50342604 168.37173403 342.52092735 159.98461777 342.54995751 C153.47213945 342.5717033 146.95970679 342.58166811 140.44719261 342.58299804 C136.57175775 342.58403741 132.69647726 342.58975643 128.82108116 342.60781765 C98.5282312 342.74082985 72.64686181 340.26165156 48.97037125 319.26006222 C47.90496109 318.337738 47.90496109 318.337738 46.8180275 317.39678097 C32.17364033 303.85434769 22.73556422 281.96759819 21.8800658 262.17027962 C21.8449924 259.78902767 21.84185366 257.40976393 21.85011673 255.02826595 C21.8492623 254.11981991 21.84840788 253.21137386 21.84752756 252.27539915 C21.84588547 249.24300416 21.8513733 246.21066497 21.85684586 243.17827511 C21.85712803 240.9999304 21.85696941 238.82158559 21.85640335 236.64324093 C21.85611655 230.73681068 21.86199443 224.83040076 21.86897731 218.92397523 C21.87523027 212.74868736 21.87581619 206.57339903 21.87700272 200.39810848 C21.88011029 188.7075263 21.88831597 177.01695348 21.89835221 165.32637542 C21.90953113 152.01570555 21.91502828 138.70503618 21.92004764 125.39436257 C21.93049905 98.01625727 21.94808741 70.63816027 21.97037125 43.26006222 C20.86749771 43.29933834 20.86749771 43.29933834 19.7423439 43.33940792 C16.36024346 43.44435134 12.9784869 43.50869542 9.59537125 43.57256222 C8.43908218 43.61445675 7.28279312 43.65635128 6.091465 43.69951534 C-1.66211136 43.80902913 -7.62324424 42.84495494 -14.02962875 38.26006222 C-19.92265133 32.05386319 -20.43677453 26.02245668 -20.377285 17.78740597 C-19.75684903 11.49242074 -16.98190382 8.06948789 -12.46712875 3.88506222 C-8.09004799 0.96700838 -5.33358594 0.00967416 0 0 Z " fill="#E63946" transform="translate(84.02962875366211,127.7399377822876)"/>
4
+ <path d="M0 0 C1.24311943 -0.00706559 2.48623886 -0.01413118 3.76702857 -0.02141088 C5.14891704 -0.01915946 6.5308052 -0.01671295 7.91269302 -0.01409245 C9.37887542 -0.01854389 10.8450554 -0.02385763 12.31123185 -0.02996117 C16.34572831 -0.04416296 20.38014782 -0.04580405 24.4146657 -0.04536426 C28.76381689 -0.04701056 33.11293619 -0.06007358 37.46207047 -0.07155704 C46.97446361 -0.09442093 56.48683447 -0.10232917 65.99925137 -0.10738349 C71.93789312 -0.11063893 77.87652839 -0.11716049 83.81516647 -0.12438488 C100.25487815 -0.14395272 116.69458379 -0.16035582 133.13430786 -0.16326141 C134.18662449 -0.16344898 135.23894111 -0.16363655 136.32314612 -0.16382981 C138.45648845 -0.16419606 140.58983078 -0.16455976 142.72317311 -0.16492092 C143.78218014 -0.16510373 144.84118716 -0.16528654 145.93228531 -0.16547489 C147.52273286 -0.16574572 147.52273286 -0.16574572 149.14531067 -0.16602201 C166.32773542 -0.169564 183.51003487 -0.1965871 200.69241616 -0.23397278 C218.3298217 -0.27204166 235.96716504 -0.29141879 253.60461259 -0.29172093 C263.50881879 -0.29230582 273.41287554 -0.30081845 283.3170433 -0.32971859 C291.75037444 -0.35421351 300.18350161 -0.36152817 308.61685869 -0.34647106 C312.91969302 -0.33929436 317.22212445 -0.34019209 321.52491379 -0.36288166 C325.46558022 -0.38346257 329.40553376 -0.38088019 333.34619239 -0.36000682 C334.770168 -0.35651016 336.19419495 -0.36142958 337.61810324 -0.37571125 C345.62995702 -0.45087707 351.81178424 -0.2653568 357.97037125 5.26006222 C362.73132542 10.39688119 364.26024883 14.12211234 364.28287125 21.13506222 C364.29962906 22.32873409 364.31638687 23.52240597 364.3336525 24.75224972 C363.67617795 31.10076738 360.77245905 35.20496585 355.97037125 39.26006222 C348.73235164 43.92344784 342.13231939 43.82873581 333.71234512 43.77472591 C332.26063071 43.78005567 330.80892182 43.78712382 329.35722339 43.79577297 C325.38113109 43.81437083 321.40541198 43.80810529 317.42930436 43.79761994 C313.13606555 43.79061972 308.84290278 43.80663216 304.54968643 43.81961727 C296.14389061 43.8412493 287.73823022 43.84113233 279.33241571 43.83299173 C272.49915456 43.82668914 265.66593286 43.82783114 258.83267212 43.8342638 C257.37323811 43.83561628 257.37323811 43.83561628 255.88432058 43.83699609 C253.90768615 43.83884732 251.93105174 43.84070988 249.95441733 43.84258365 C231.42198994 43.85915958 212.88963869 43.85044492 194.35721587 43.83359807 C177.40918103 43.81890387 160.46132352 43.83352594 143.51331152 43.86236823 C126.10401957 43.89177449 108.69480943 43.90273076 91.28549373 43.89318603 C89.31556314 43.8921635 87.34563253 43.89116889 85.3757019 43.89020252 C84.40650211 43.88972613 83.43730232 43.88924974 82.43873284 43.88875892 C75.61649515 43.88659627 68.79433505 43.896391 61.97211456 43.91097355 C53.65383574 43.92850609 45.33578291 43.9283664 37.01751293 43.90562189 C32.77517184 43.89448762 28.53322878 43.89129848 24.290905 43.9099226 C20.40331529 43.92676946 16.51646946 43.92032028 12.62892757 43.89570581 C11.22657868 43.89083578 9.8241693 43.89430204 8.4218712 43.90719325 C-0.05613005 43.97947406 -6.99200169 43.33666809 -14.02962875 38.26006222 C-19.91976083 32.04842702 -20.43680215 26.02627961 -20.377285 17.78740597 C-19.75684903 11.49242074 -16.98190382 8.06948789 -12.46712875 3.88506222 C-8.09004799 0.96700838 -5.33358594 0.00967416 0 0 Z " fill="#C9273A" transform="translate(84.02962875366211,127.7399377822876)"/>
5
+ <path d="M0 0 C1.13826233 -0.00571014 2.27652466 -0.01142029 3.44927979 -0.01730347 C4.69403076 -0.01842133 5.93878174 -0.01953918 7.22125244 -0.02069092 C8.5354718 -0.02565582 9.84969116 -0.03062073 11.20373535 -0.03573608 C14.80722601 -0.04883914 18.41069804 -0.05530109 22.01420879 -0.05974674 C24.26763597 -0.06268119 26.5210581 -0.06678673 28.77448273 -0.07125092 C35.83098315 -0.08492109 42.887472 -0.09458977 49.94398475 -0.09845281 C58.07829072 -0.10293082 66.21242844 -0.1204687 74.34668326 -0.1494534 C80.64153248 -0.17110185 86.93633446 -0.18115879 93.23122048 -0.18249393 C96.98738089 -0.1835398 100.74338302 -0.18940101 104.49950409 -0.20731354 C108.03556809 -0.22384884 111.57135577 -0.22592351 115.10744476 -0.21717453 C117.01433835 -0.21604276 118.92122298 -0.2297184 120.82806396 -0.243927 C129.55858533 -0.20163048 136.93812384 0.66883673 143.409729 7.14044189 C147.65007741 13.27175648 149.15172573 18.70698381 148.409729 26.14044189 C146.74392804 33.26272477 143.21792941 37.07727425 137.347229 41.39044189 C133.06028586 43.94436547 129.77162031 44.26598642 124.81945801 44.28088379 C123.11206451 44.28944901 123.11206451 44.28944901 121.37017822 44.29818726 C120.12542725 44.29930511 118.88067627 44.30042297 117.59820557 44.30157471 C116.28398621 44.30653961 114.96976685 44.31150452 113.61572266 44.31661987 C110.012232 44.32972293 106.40875996 44.33618488 102.80524921 44.34063053 C100.55182204 44.34356498 98.29839991 44.34767052 96.04497528 44.3521347 C88.98847485 44.36580488 81.93198601 44.37547356 74.87547326 44.3793366 C66.74116728 44.38381461 58.60702957 44.40135249 50.47277474 44.43033719 C44.17792553 44.45198564 37.88312355 44.46204258 31.58823752 44.46337771 C27.83207712 44.46442359 24.07607499 44.47028479 20.31995392 44.48819733 C16.78388992 44.50473263 13.24810224 44.5068073 9.71201324 44.49805832 C7.80511966 44.49692655 5.89823503 44.51060219 3.99139404 44.52481079 C-4.73912732 44.48251427 -12.11866583 43.61204706 -18.590271 37.14044189 C-22.82558163 31.01641165 -24.34515962 25.56800676 -23.590271 18.14044189 C-22.17459113 12.48813182 -19.84229897 7.38950797 -14.918396 3.98419189 C-9.77246905 0.90543219 -5.90939657 0.01777698 0 0 Z " fill="#E63845" transform="translate(193.59027099609375,41.85955810546875)"/>
6
+ <path d="M0 0 C4.82337995 3.96589018 8.54114848 8.52731455 9.37184143 14.81417465 C9.52073033 18.3216734 9.54029851 21.80918604 9.51757812 25.31982422 C9.52300508 26.66585037 9.53013095 28.01187058 9.53881836 29.35787964 C9.55699047 32.99859848 9.55000893 36.63886183 9.53730202 40.27958822 C9.52713824 44.10039545 9.53657742 47.92116503 9.54284668 51.74197388 C9.55011507 58.15927084 9.54055859 64.57638341 9.52148438 70.99365234 C9.4997356 78.39586311 9.5067555 85.79763279 9.52879 93.1998328 C9.54698938 99.57037608 9.54947969 105.94078717 9.53903532 112.31134808 C9.53282282 116.10942181 9.53190205 119.90728881 9.54518127 123.70534897 C9.55680493 127.2793358 9.54859688 130.85275889 9.52560425 134.42668533 C9.51786045 136.35122164 9.52961864 138.27580606 9.54211426 140.20031738 C9.4664265 148.0071713 8.73943783 154.90139526 3.29181671 160.87225151 C-2.16119122 165.99297796 -7.93539738 167.60181939 -15.3359375 167.4453125 C-21.62574942 166.39393631 -26.53812106 162.7908017 -30.5 157.9375 C-32.92238584 153.19366106 -34.2493383 149.6225245 -34.26742554 144.25151062 C-34.28022049 142.5294339 -34.28022049 142.5294339 -34.29327393 140.77256775 C-34.29236755 139.52206131 -34.29146118 138.27155487 -34.29052734 136.9831543 C-34.29651534 135.64565659 -34.30332151 134.30816234 -34.31088257 132.97067261 C-34.32852356 129.34449557 -34.33323717 125.71841298 -34.33451414 122.09219718 C-34.33593752 119.82418386 -34.34021069 117.55619441 -34.34550858 115.28818703 C-34.36400345 107.3686229 -34.37217998 99.44912602 -34.37060547 91.52954102 C-34.36940462 84.15919037 -34.39049709 76.78913283 -34.4220928 69.41885632 C-34.44828765 63.08151398 -34.45897141 56.74426717 -34.45769465 50.40687114 C-34.4571859 46.6260944 -34.4628203 42.84557816 -34.48405075 39.06485558 C-34.50348726 35.50653812 -34.50352129 31.94872819 -34.48901749 28.3903923 C-34.48594635 26.4715757 -34.50256849 24.55275876 -34.51989746 22.63401794 C-34.46122702 14.54566771 -33.51627509 9.01260816 -28.03515625 2.7578125 C-18.72588218 -4.94768564 -10.64771235 -6.24176241 0 0 Z " fill="#ECE9E8" transform="translate(311,217)"/>
7
+ <path d="M0 0 C2.72405554 1.65564989 4.50774957 3.16429293 6.55859375 5.58203125 C7.1309375 6.23945313 7.70328125 6.896875 8.29296875 7.57421875 C11.24420293 11.72724417 12.05909932 15.39397353 12.08274841 20.44206238 C12.09771111 22.15980362 12.09771111 22.15980362 12.11297607 23.9122467 C12.11364075 25.15961105 12.11430542 26.4069754 12.11499023 27.69213867 C12.12261654 29.02639223 12.13104484 30.3606414 12.14021301 31.69488525 C12.16212329 35.31292237 12.17095264 38.93087498 12.17603946 42.54897094 C12.17968827 44.8129798 12.18593117 47.07696671 12.19304085 49.34096718 C12.2175269 57.24986361 12.23058463 65.15869457 12.23413086 73.06762695 C12.23776166 80.42209242 12.26762618 87.77613943 12.30953544 95.13047713 C12.34431806 101.4576602 12.3596807 107.78470517 12.36037689 114.11198312 C12.36116725 117.88506912 12.36979283 121.65772895 12.39837456 125.43071556 C12.42469159 128.98419212 12.42668588 132.53689344 12.41071892 136.09042358 C12.40806082 138.00172328 12.42999691 139.9130088 12.45291138 141.82417297 C12.38813934 149.51470839 11.15662646 155.26888237 6.80859375 161.70703125 C4.45703125 163.9609375 4.45703125 163.9609375 2.18359375 165.26953125 C1.42820313 165.72457031 0.6728125 166.17960938 -0.10546875 166.6484375 C-5.52575522 169.39918213 -11.57771046 169.76129048 -17.4140625 168.05859375 C-23.38260044 165.36757665 -27.88650405 161.09980187 -30.25093174 154.95224476 C-31.18654862 151.72379303 -31.4499962 149.1554074 -31.46556091 145.80705261 C-31.47553604 144.65065781 -31.48551117 143.494263 -31.49578857 142.30282593 C-31.49645325 141.04813507 -31.49711792 139.79344421 -31.49780273 138.50073242 C-31.50543129 137.15485681 -31.51385998 135.80898553 -31.52302551 134.46311951 C-31.54490858 130.81835013 -31.553761 127.17366461 -31.55885196 123.52883697 C-31.56250281 121.24824715 -31.56874662 118.96767905 -31.57585335 116.68709755 C-31.60032613 108.72099473 -31.61339508 100.75495684 -31.61694336 92.78881836 C-31.62057719 85.37921419 -31.65046684 77.97002458 -31.69234794 70.56054705 C-31.72710905 64.18580155 -31.7424928 57.81119308 -31.74318939 51.4363535 C-31.74398022 47.63481112 -31.7526285 43.83369146 -31.78118706 40.03224754 C-31.80746841 36.45413903 -31.80951799 32.87680073 -31.79353142 29.2986393 C-31.79086841 27.3716508 -31.81283176 25.44467662 -31.83572388 23.51782227 C-31.76326627 14.87324452 -30.03612798 8.99508074 -24.2265625 2.515625 C-17.00090174 -2.50656693 -8.20100174 -3.32256007 0 0 Z " fill="#ECE9E8" transform="translate(223.19140625,215.29296875)"/>
8
+ </svg>