@bsuite/data-grid 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../src/DataGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAwBf,OAAO,KAAK,EAMV,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAw0BpB,eAAO,MAAM,QAAQ,EAAgC,CAAC,IAAI,EACxD,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAC7D,YAAY,CAAC"}
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../src/DataGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAaL,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AA0Bf,OAAO,KAAK,EAMV,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAq/BpB,eAAO,MAAM,QAAQ,EAAgC,CAAC,IAAI,EACxD,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAC7D,YAAY,CAAC"}
package/dist/DataGrid.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef, useState, } from 'react';
3
- import { getCoreRowModel, getSortedRowModel, useReactTable, } from '@tanstack/react-table';
3
+ import { getCoreRowModel, getFilteredRowModel, getSortedRowModel, useReactTable, } from '@tanstack/react-table';
4
4
  import { useVirtualizer } from '@tanstack/react-virtual';
5
5
  import { DndContext, PointerSensor, useSensor, useSensors } from '@dnd-kit/core';
6
6
  import { SortableContext, arrayMove, horizontalListSortingStrategy } from '@dnd-kit/sortable';
@@ -40,7 +40,7 @@ function editorFor(column) {
40
40
  }
41
41
  }
42
42
  function DataGridInner(props, ref) {
43
- const { columns, data, getRowId, onCellsEdited, onError, frozenFirstColumn = true, rowHeight = DEFAULT_ROW_HEIGHT, headerHeight = DEFAULT_HEADER_HEIGHT, height = '100%', className, undoLimit = DEFAULT_UNDO_LIMIT, emptyState, } = props;
43
+ const { columns, data, getRowId, onCellsEdited, onError, frozenFirstColumn = true, rowHeight = DEFAULT_ROW_HEIGHT, headerHeight = DEFAULT_HEADER_HEIGHT, height = '100%', className, undoLimit = DEFAULT_UNDO_LIMIT, emptyState, onRowClick, columnVisibility: columnVisibilityProp, onColumnVisibilityChange, globalFilter, onLinkEdit, } = props;
44
44
  const scrollRef = useRef(null);
45
45
  const columnConfigById = useMemo(() => new Map(columns.map((c) => [c.id, c])), [columns]);
46
46
  const tableColumns = useMemo(() => columns.map((col) => ({
@@ -55,6 +55,21 @@ function DataGridInner(props, ref) {
55
55
  const [sorting, setSorting] = useState([]);
56
56
  const [columnOrder, setColumnOrder] = useState(() => columns.map((c) => c.id));
57
57
  const [columnSizing, setColumnSizing] = useState({});
58
+ /*
59
+ * Column visibility is CONTROLLED when the page supplies a change handler,
60
+ * so the reader's choice can be persisted, and uncontrolled otherwise. The
61
+ * uncontrolled copy still exists rather than being skipped: a grid that only
62
+ * hides columns when its host bothers to wire persistence would be a
63
+ * capability nobody gets by default.
64
+ */
65
+ const [ownColumnVisibility, setOwnColumnVisibility] = useState({});
66
+ const columnVisibility = columnVisibilityProp ?? ownColumnVisibility;
67
+ const setColumnVisibility = useCallback((next) => {
68
+ if (onColumnVisibilityChange)
69
+ onColumnVisibilityChange(next);
70
+ else
71
+ setOwnColumnVisibility(next);
72
+ }, [onColumnVisibilityChange]);
58
73
  // Keep columnOrder in sync if the `columns` prop's identity set changes
59
74
  // (columns added/removed) without discarding the user's chosen order.
60
75
  useEffect(() => {
@@ -70,15 +85,40 @@ function DataGridInner(props, ref) {
70
85
  const table = useReactTable({
71
86
  data,
72
87
  columns: tableColumns,
73
- state: { sorting, columnOrder, columnSizing },
88
+ state: { sorting, columnOrder, columnSizing, columnVisibility, globalFilter },
74
89
  onSortingChange: setSorting,
75
90
  onColumnOrderChange: setColumnOrder,
76
91
  onColumnSizingChange: setColumnSizing,
92
+ onColumnVisibilityChange: (updater) => setColumnVisibility(typeof updater === 'function' ? updater(columnVisibility) : updater),
93
+ onGlobalFilterChange: () => {
94
+ /* filter text is owned by the host; this exists so the table does not
95
+ warn about an uncontrolled state field. */
96
+ },
97
+ /*
98
+ * Filter the FORMATTED value, not the raw one.
99
+ *
100
+ * The reader filters what they can SEE. A date stored `2026-08-23` and
101
+ * shown `23/08/2026` must match a search for "23/08" — matching the raw
102
+ * value would silently return nothing for the string on screen.
103
+ */
104
+ globalFilterFn: (row, _columnId, value) => {
105
+ const needle = String(value ?? '').toLowerCase();
106
+ if (!needle)
107
+ return true;
108
+ return columns.some((col) => {
109
+ if (columnVisibility[col.id] === false)
110
+ return false;
111
+ const raw = col.accessor(row.original);
112
+ const shown = col.formatValue ? col.formatValue(raw, row.original) : formatCellValue(raw, col.dataType);
113
+ return String(shown).toLowerCase().includes(needle);
114
+ });
115
+ },
77
116
  columnResizeMode: 'onChange',
78
117
  enableColumnResizing: true,
79
118
  getRowId,
80
119
  getCoreRowModel: getCoreRowModel(),
81
120
  getSortedRowModel: getSortedRowModel(),
121
+ getFilteredRowModel: getFilteredRowModel(),
82
122
  });
83
123
  const rows = table.getRowModel().rows;
84
124
  const visibleColumns = table.getVisibleLeafColumns();
@@ -425,12 +465,39 @@ function DataGridInner(props, ref) {
425
465
  };
426
466
  }, []);
427
467
  // ── Cell interaction ------------------------------------------------
468
+ /*
469
+ * A linked column with no `renderEditor` must NEVER open a text editor.
470
+ *
471
+ * Falling back to free text is the single worst failure available here: the
472
+ * cell looks editable, someone types a host name, and the row now holds a
473
+ * string where every other row holds a reference — the exact divergence the
474
+ * link exists to make unrepresentable. Refusing the edit is loud and
475
+ * recoverable; a silent text box is neither.
476
+ */
477
+ function canEditColumn(columnId) {
478
+ const config = columnConfigById.get(columnId);
479
+ if (!config)
480
+ return false;
481
+ if (config.editable === false)
482
+ return false;
483
+ if (config.link && !config.renderEditor) {
484
+ onError({
485
+ message: `column "${columnId}" declares link entity "${config.link.entity}" but supplies no renderEditor. ` +
486
+ 'A linked cell must be edited through the app\'s own entity selector — the same one the form uses ' +
487
+ '(select, or add new). Refusing rather than falling back to a text input, which would let a name be ' +
488
+ 'typed into one row while every other row holds a reference.',
489
+ phase: 'edit',
490
+ edits: [],
491
+ });
492
+ return false;
493
+ }
494
+ return true;
495
+ }
428
496
  function beginEditing(pos, seedChar) {
429
497
  const column = visibleColumns[pos.col];
430
498
  if (!column)
431
499
  return;
432
- const config = columnConfigById.get(column.id);
433
- if (config?.editable === false)
500
+ if (!canEditColumn(column.id))
434
501
  return;
435
502
  setEditSeedChar(seedChar);
436
503
  setEditingCell(pos);
@@ -448,8 +515,74 @@ function DataGridInner(props, ref) {
448
515
  const previousValue = getEffectiveValue(row.index, column.id);
449
516
  if (Object.is(previousValue, nextValue))
450
517
  return;
518
+ /*
519
+ * A LINKED cell stores a REFERENCE, so committing it re-points this row at
520
+ * a different record. It never writes a name.
521
+ *
522
+ * The value arriving from the editor is a record id, because the editor
523
+ * for a linked column is a picker over `options` and free text is refused.
524
+ * That refusal is the whole one-shot mechanism: a host name cannot be
525
+ * mistyped into a row, so two rows cannot hold different spellings of the
526
+ * same host, and correcting the host's name is done once on the record
527
+ * that owns it — every row follows because every row only ever held a
528
+ * pointer.
529
+ */
530
+ const config = columnConfigById.get(column.id);
531
+ if (config?.link) {
532
+ void commitLinkEdit({
533
+ entity: config.link.entity,
534
+ columnId: column.id,
535
+ rowIndex: row.index,
536
+ row: data[row.index],
537
+ previousRefId: config.link.refId(data[row.index]),
538
+ refId: nextValue === null || nextValue === undefined ? null : String(nextValue),
539
+ });
540
+ return;
541
+ }
451
542
  void commitEdits([{ rowIndex: row.index, columnId: column.id, previousValue, value: nextValue, row: data[row.index] }], 'edit');
452
543
  }
544
+ /*
545
+ * Persist a re-link, optimistically showing it first.
546
+ *
547
+ * A single row changes, because a link lives on the row. The referenced
548
+ * record is untouched — editing IT is the job of the surface that owns it,
549
+ * which is exactly why one correction there reaches every row here without
550
+ * this package propagating anything.
551
+ */
552
+ async function commitLinkEdit(edit) {
553
+ setOverlay((prev) => {
554
+ const next = new Map(prev);
555
+ next.set(overlayKey(edit.rowIndex, edit.columnId), edit.refId);
556
+ return next;
557
+ });
558
+ try {
559
+ if (!onLinkEdit) {
560
+ throw new Error(`column "${edit.columnId}" declares link entity "${edit.entity}" but no onLinkEdit handler was supplied`);
561
+ }
562
+ await onLinkEdit(edit);
563
+ }
564
+ catch (err) {
565
+ setOverlay((prev) => {
566
+ const next = new Map(prev);
567
+ next.delete(overlayKey(edit.rowIndex, edit.columnId));
568
+ return next;
569
+ });
570
+ onError({
571
+ message: err instanceof Error ? err.message : String(err),
572
+ cause: err,
573
+ phase: 'edit',
574
+ edits: [
575
+ {
576
+ rowIndex: edit.rowIndex,
577
+ columnId: edit.columnId,
578
+ previousValue: edit.previousRefId,
579
+ value: edit.refId,
580
+ row: edit.row,
581
+ },
582
+ ],
583
+ });
584
+ }
585
+ }
453
586
  function handleEditorCancel() {
454
587
  setEditingCell(null);
455
588
  setEditSeedChar(undefined);
@@ -601,7 +734,42 @@ function DataGridInner(props, ref) {
601
734
  })] }) }), virtualRows.map((vr) => {
602
735
  const row = rows[vr.index];
603
736
  const rowTop = headerHeight + vr.start;
604
- return (_jsxs("div", { role: "row", className: "absolute left-0 flex", style: { top: rowTop, width: totalWidth, height: vr.size }, children: [frozenColumn && (_jsx(GridCellRenderer, { gridRow: vr.index, gridCol: 0, frozen: true, style: { position: 'sticky', left: 0, zIndex: 10, width: frozenWidth, height: vr.size }, column: columnConfigById.get(frozenColumn.id), row: row.original, rowIndex: row.index, value: getEffectiveValue(row.index, frozenColumn.id), isSelected: Boolean(normalizedSelection && isCellInRange({ row: vr.index, col: 0 }, normalizedSelection)), isActive: Boolean(selection && selection.focus.row === vr.index && selection.focus.col === 0), isEditing: Boolean(editingCell && editingCell.row === vr.index && editingCell.col === 0), editSeedChar: editSeedChar, onCommit: handleEditorCommit, onCancel: handleEditorCancel, onMouseDown: (e) => handleCellMouseDown({ row: vr.index, col: 0 }, e), onMouseEnter: () => handleCellMouseEnter({ row: vr.index, col: 0 }), onDoubleClick: () => beginEditing({ row: vr.index, col: 0 }) })), virtualColumns.map((vc) => {
737
+ return (_jsxs("div", { role: "row", className: cn('absolute left-0 flex', onRowClick && 'cursor-pointer hover:bg-muted/40'), style: { top: rowTop, width: totalWidth, height: vr.size },
738
+ /*
739
+ * A row opens its record, WITHOUT stealing the spreadsheet's
740
+ * own click behaviour.
741
+ *
742
+ * Skipped when: a cell is being edited (the click is going to
743
+ * an input), the click carries a modifier (ctrl/cmd/shift
744
+ * already mean "extend the selection"), or the reader has
745
+ * dragged out a multi-cell range (they were selecting, not
746
+ * navigating). Without those guards this handler would fire on
747
+ * every range-select and make the grid unusable as a grid.
748
+ */
749
+ onClick: (event) => {
750
+ if (!onRowClick)
751
+ return;
752
+ if (editingCell)
753
+ return;
754
+ if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey)
755
+ return;
756
+ if (normalizedSelection) {
757
+ const multiCell = normalizedSelection.startRow !== normalizedSelection.endRow ||
758
+ normalizedSelection.startCol !== normalizedSelection.endCol;
759
+ if (multiCell)
760
+ return;
761
+ }
762
+ onRowClick(row.original, row.index);
763
+ }, onKeyDown: (event) => {
764
+ // Keyboard parity: a row you can click is a row you can open
765
+ // from the keyboard. Enter is already the grid's "edit" key
766
+ // on an editable cell, so this only fires when nothing is
767
+ // being edited.
768
+ if (!onRowClick || editingCell)
769
+ return;
770
+ if (event.key === 'Enter' && !event.shiftKey)
771
+ onRowClick(row.original, row.index);
772
+ }, children: [frozenColumn && (_jsx(GridCellRenderer, { gridRow: vr.index, gridCol: 0, frozen: true, style: { position: 'sticky', left: 0, zIndex: 10, width: frozenWidth, height: vr.size }, column: columnConfigById.get(frozenColumn.id), row: row.original, rowIndex: row.index, value: getEffectiveValue(row.index, frozenColumn.id), isSelected: Boolean(normalizedSelection && isCellInRange({ row: vr.index, col: 0 }, normalizedSelection)), isActive: Boolean(selection && selection.focus.row === vr.index && selection.focus.col === 0), isEditing: Boolean(editingCell && editingCell.row === vr.index && editingCell.col === 0), editSeedChar: editSeedChar, onCommit: handleEditorCommit, onCancel: handleEditorCancel, onMouseDown: (e) => handleCellMouseDown({ row: vr.index, col: 0 }, e), onMouseEnter: () => handleCellMouseEnter({ row: vr.index, col: 0 }), onDoubleClick: () => beginEditing({ row: vr.index, col: 0 }) })), virtualColumns.map((vc) => {
605
773
  const column = scrollableColumns[vc.index];
606
774
  const gridCol = vc.index + (frozenFirstColumn ? 1 : 0);
607
775
  const config = columnConfigById.get(column.id);
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../src/DataGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../src/DataGrid.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,GAMT,MAAM,OAAO,CAAC;AACf,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GAId,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAqB,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAE9F,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAmB,MAAM,eAAe,CAAC;AAChH,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAqC,MAAM,oBAAoB,CAAC;AAEpH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAW1C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,SAAS,UAAU,CAAC,QAAgB,EAAE,QAAgB;IACpD,OAAO,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,SAAS,CAAO,MAA4B;IACnD,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,MAAM,CAAC,YAA8D,CAAC;IACtG,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,YAAyE,CAAC;QACnF,KAAK,MAAM;YACT,OAAO,UAAuE,CAAC;QACjF,KAAK,SAAS;YACZ,OAAO,aAA0E,CAAC;QACpF,KAAK,QAAQ;YACX,OAAO,YAAyE,CAAC;QACnF;YACE,OAAO,UAAuE,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAO,KAA0B,EAAE,GAA8B;IACrF,MAAM,EACJ,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,OAAO,EACP,iBAAiB,GAAG,IAAI,EACxB,SAAS,GAAG,kBAAkB,EAC9B,YAAY,GAAG,qBAAqB,EACpC,MAAM,GAAG,MAAM,EACf,SAAS,EACT,SAAS,GAAG,kBAAkB,EAC9B,UAAU,EACV,UAAU,EACV,gBAAgB,EAAE,oBAAoB,EACtC,wBAAwB,EACxB,YAAY,EACZ,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnG,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,CAAC,GAAS,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5C,aAAa,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;QACnC,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,oBAAoB;QACvC,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,wBAAwB;QACjD,OAAO,EAAE,GAAG,CAAC,QAAQ;KACtB,CAAC,CAAC,EACL,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IACxE;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,oBAAoB,IAAI,mBAAmB,CAAC;IACrE,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,IAA6B,EAAE,EAAE;QAChC,IAAI,wBAAwB;YAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;;YACxD,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IAEF,wEAAwE;IACxE,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,aAAa,CAAC;QAC1B,IAAI;QACJ,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE;QAC7E,eAAe,EAAE,UAAU;QAC3B,mBAAmB,EAAE,cAAc;QACnC,oBAAoB,EAAE,eAAe;QACrC,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpC,mBAAmB,CAAC,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1F,oBAAoB,EAAE,GAAG,EAAE;YACzB;yDAC6C;QAC/C,CAAC;QACD;;;;;;WAMG;QACH,cAAc,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACrD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,EAAE,UAAU;QAC5B,oBAAoB,EAAE,IAAI;QAC1B,QAAQ;QACR,eAAe,EAAE,eAAe,EAAE;QAClC,iBAAiB,EAAE,iBAAiB,EAAE;QACtC,mBAAmB,EAAE,mBAAmB,EAAE;KAC3C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;IACtC,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAC9D,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IACvF,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAuB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9E,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,QAAgB,EAAE,QAAgB,EAAW,EAAE;QAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAClC,CAAC;IAEF,2EAA2E;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CACxC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAChH,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAsB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAChF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAC;IAExE,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,SAAS,CAAmB,SAAS,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,cAAc,CAAC;QACpC,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO;QACzC,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;QAC7B,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,cAAc,CAAC;QACvC,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,iBAAiB,CAAC,MAAM;QAC/B,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO;QACzC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,oBAAoB;QACpF,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC5B,uDAAuD;IACzD,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,GAAG,CAAC;YACnB,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;QACnD,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE;QACjG,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,UAAU,GAAG,WAAW,GAAG,oBAAoB,CAAC;IACtD,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;IAEjE,MAAM,UAAU,GAAe,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IAE9I,SAAS,QAAQ,CAAC,GAAiB;QACjC,MAAM,GAAG,GAAG,YAAY,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC;QAC/C,IAAI,iBAAiB,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACjE,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/G,CAAC;IAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,OAAe;QAChE,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzE,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC;QAC9C,MAAM,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;QAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC;QAC/B,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,QAAgB,CAAC;QACrB,IAAI,iBAAiB,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YAC1C,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;YAC3B,IAAI,GAAG,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;oBAC1B,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBACZ,MAAM;gBACR,CAAC;YACH,CAAC;YACD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACvB,QAAQ,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,SAAS,kBAAkB,CAAC,GAAiB;QAC3C,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,SAAS,IAAI,CAAC;YAAE,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,2EAA2E;IAE3E,KAAK,UAAU,WAAW,CACxB,KAAuB,EACvB,KAAyB,EACzB,IAAiC;QAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;YACxB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;gBACxB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACpF,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,WAAW,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,YAAY;gBAAE,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5D,iEAAiE;YACjE,iEAAiE;YACjE,gEAAgE;YAChE,MAAM,KAAK,GAAwB;gBACjC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;gBACxE,KAAK,EAAE,GAAG;gBACV,KAAK;gBACL,KAAK;aACN,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,KAAK;oBAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChF,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAS,EAAE;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,WAAW,EAAE,CAAC;QACd,KAAK,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,uDAAuD;IACzD,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAS,EAAE;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,WAAW,EAAE,CAAC;QACd,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,uDAAuD;IACzD,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAmB,EAAE;QACvD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACtD,OAAO,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1F,KAAK,UAAU,SAAS;QACtB,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,UAAU,oBAAoB;QACjC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBAAE,SAAS;YAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK;gBAAE,SAAS;YACzC,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,aAAa,IAAI,IAAI,IAAI,aAAa,KAAK,EAAE;gBAAE,SAAS;YAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,WAAW;QACxB,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACtG,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAiB;YAC9B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YACxD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;SACzD,CAAC;QACF,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE;YAChD,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,gCAAgC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAE9E,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,IAAI,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC;QAC/B,IAAI,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBAAE,SAAS;YAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK;gBAAE,SAAS;YACzC,MAAM,MAAM,GAAG,MAAM,EAAE,UAAU;gBAC/B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7G,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClC,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,SAAS,eAAe,CAAC,MAAiB,EAAE,MAAkB;QAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3E,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;gBAAE,SAAS;YACzE,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,MAAM,EAAE,QAAQ,KAAK,KAAK;gBAAE,SAAS;YACzC,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChC,YAAY,CAAC;gBACX,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClE,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,qBAAqB;QAC5B,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,MAAM,SAAS,GAAG,qBAAqB,CAAC;YACtC,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC/B,IAAI,OAAO,IAAI,IAAI;oBAAE,OAAO,KAAK,CAAC;gBAClC,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC1D,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACnC,CAAC;SACF,CAAC,CAAC;QACH,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO;QACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,wEAAwE;IACxE,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,iBAAiB,GAAG,MAAM,CAA4B,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,MAAM,CAA4B,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEpE,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAe,EAAQ,EAAE;QACpD,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,wBAAwB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,GAAG;gBAAE,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,IAAI,iBAAiB,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,wBAAwB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,GAAG;gBAAE,cAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC;IAEF,eAAe,CAAC,OAAO,GAAG,GAAS,EAAE;QACnC,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC;YACrC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7B,IAAI,MAAM,IAAI,WAAW;gBAAE,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAChE,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,CAAC,CAAe,EAAQ,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,EAAE,GAAG,CAAC,CAAe,EAAQ,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,uEAAuE;IAEvE;;;;;;;;OAQG;IACH,SAAS,aAAa,CAAC,QAAgB;QACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,OAAO,CAAC;gBACN,OAAO,EACL,WAAW,QAAQ,2BAA2B,MAAM,CAAC,IAAI,CAAC,MAAM,kCAAkC;oBAClG,mGAAmG;oBACnG,qGAAqG;oBACrG,6DAA6D;gBAC/D,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,EAAE;aACV,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,YAAY,CAAC,GAAiB,EAAE,QAAiB;QACxD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO;QACtC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1B,cAAc,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,kBAAkB,CAAC,SAAkB;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC;QACxB,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO;QAC5B,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;YAAE,OAAO;QAEhD;;;;;;;;;;;WAWG;QACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;YACjB,KAAK,cAAc,CAAC;gBAClB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;gBAC1B,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE,GAAG,CAAC,KAAK;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBACpB,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjD,KAAK,EAAE,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;aAChF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,KAAK,WAAW,CACd,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EACrG,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,cAAc,CAAC,IAAoB;QAChD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,QAAQ,2BAA2B,IAAI,CAAC,MAAM,0CAA0C,CACzG,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO,CAAC;gBACN,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACzD,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE;oBACL;wBACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,aAAa,EAAE,IAAI,CAAC,aAAa;wBACjC,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd;iBACF;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,kBAAkB;QACzB,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,mBAAmB,CAAC,GAAiB,EAAE,CAAkC;QAChF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3B,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,QAAQ,CAAC,aAAoC,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1C,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED,SAAS,oBAAoB,CAAC,GAAiB;QAC7C,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,SAAS,aAAa,CAAC,CAAqC;QAC1D,IAAI,WAAW;YAAE,OAAO,CAAC,8CAA8C;QAEvE,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;QAClC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;QAEzC,MAAM,WAAW,GAAG,CAAC,GAAiB,EAAW,EAAE;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;YACrC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC5C,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACnC,CAAC,CAAC;QAEF,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAC5D,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9F,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7C,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,KAAK,UAAU,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7C,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,KAAK,SAAS,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7C,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,KAAK,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;YACpG,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC1F,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxD,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAChD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,KAAK,oBAAoB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,kEAAkE;YAClE,iEAAiE;YACjE,kEAAkE;YAClE,oDAAoD;YACpD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAmB;QAC9C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YAAE,OAAO;QAC3C,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,0CAA0C;YAC3F,OAAO,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAEnG,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7C,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,aAAa,EAAE,UAAU;KAC1B,CAAC,EACF,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAChD,CAAC;IAEF,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjG,MAAM,YAAY,GAAG,WAAW,IAAI,WAAW,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhG,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;IACrD,MAAM,cAAc,GAAG,iBAAiB,CAAC,eAAe,EAAE,CAAC;IAE3D,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,CAAC;IAExC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACpC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,gFAAgF,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,YAC1H,UAAU,GACP,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,UAAU,IAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,YAC7D,cACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,MAAM,mBACI,IAAI,CAAC,MAAM,mBACX,cAAc,CAAC,MAAM,EACpC,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,EAAE,CACX,mIAAmI,EACnI,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEZ,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,aAEvF,cACE,IAAI,EAAC,KAAK,EACV,SAAS,EAAC,uDAAuD,EACjE,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,YAElD,MAAC,eAAe,IAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,6BAA6B,aAChG,YAAY,IAAI,CAAC,GAAG,EAAE;oCACrB,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;oCAC9E,OAAO,YAAY,CAAC,CAAC,CAAC,CACpB,KAAC,gBAAgB,IACf,MAAM,EAAE,YAAY,EACpB,MAAM,QACN,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAC5F,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;gCACX,CAAC,CAAC,EAAE,EACH,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oCACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oCAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;oCAClE,IAAI,CAAC,MAAM;wCAAE,OAAO,IAAI,CAAC;oCACzB,OAAO,CACL,KAAC,gBAAgB,IAEf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;4CACL,QAAQ,EAAE,UAAU;4CACpB,IAAI,EAAE,WAAW,GAAG,EAAE,CAAC,KAAK;4CAC5B,GAAG,EAAE,CAAC;4CACN,KAAK,EAAE,EAAE,CAAC,IAAI;4CACd,MAAM,EAAE,YAAY;yCACrB,IARI,MAAM,CAAC,EAAE,CASd,CACH,CAAC;gCACJ,CAAC,CAAC,IACc,GACd,EAGL,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;wBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBAC3B,MAAM,MAAM,GAAG,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC;wBACvC,OAAO,CACL,eAEE,IAAI,EAAC,KAAK,EACV,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,UAAU,IAAI,kCAAkC,CAAC,EACvF,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE;4BAC1D;;;;;;;;;;+BAUG;4BACH,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gCACjB,IAAI,CAAC,UAAU;oCAAE,OAAO;gCACxB,IAAI,WAAW;oCAAE,OAAO;gCACxB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM;oCAAE,OAAO;gCAC7E,IAAI,mBAAmB,EAAE,CAAC;oCACxB,MAAM,SAAS,GACb,mBAAmB,CAAC,QAAQ,KAAK,mBAAmB,CAAC,MAAM;wCAC3D,mBAAmB,CAAC,QAAQ,KAAK,mBAAmB,CAAC,MAAM,CAAC;oCAC9D,IAAI,SAAS;wCAAE,OAAO;gCACxB,CAAC;gCACD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;4BACtC,CAAC,EACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gCACnB,6DAA6D;gCAC7D,4DAA4D;gCAC5D,0DAA0D;gCAC1D,gBAAgB;gCAChB,IAAI,CAAC,UAAU,IAAI,WAAW;oCAAE,OAAO;gCACvC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;oCAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;4BACpF,CAAC,aAEA,YAAY,IAAI,CACf,KAAC,gBAAgB,IACf,OAAO,EAAE,EAAE,CAAC,KAAK,EACjB,OAAO,EAAE,CAAC,EACV,MAAM,QACN,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EACvF,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAE,EAC9C,GAAG,EAAE,GAAG,CAAC,QAAQ,EACjB,QAAQ,EAAE,GAAG,CAAC,KAAK,EACnB,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,EACpD,UAAU,EAAE,OAAO,CAAC,mBAAmB,IAAI,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,EACzG,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,EAC7F,SAAS,EAAE,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,EACxF,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EACrE,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EACnE,aAAa,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAC5D,CACH,EACA,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oCACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oCAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oCACvD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oCAC/C,IAAI,CAAC,MAAM;wCAAE,OAAO,IAAI,CAAC;oCACzB,OAAO,CACL,KAAC,gBAAgB,IAEf,OAAO,EAAE,EAAE,CAAC,KAAK,EACjB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EACtG,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,CAAC,QAAQ,EACjB,QAAQ,EAAE,GAAG,CAAC,KAAK,EACnB,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAC9C,UAAU,EAAE,OAAO,CAAC,mBAAmB,IAAI,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC,EAC/G,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,EACnG,SAAS,EAAE,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC,EAC9F,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAC3E,YAAY,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EACzE,aAAa,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,IAhB7D,MAAM,CAAC,EAAE,CAiBd,CACH,CAAC;gCACJ,CAAC,CAAC,KAnFG,GAAG,CAAC,EAAE,CAoFP,CACP,CAAC;oBACJ,CAAC,CAAC,EAGD,mBAAmB,IAAI,CAAC,WAAW,IAAI,CACtC,KAAC,gBAAgB,IACf,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAC1C,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,EAChC,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE;4BACvB,CAAC,CAAC,cAAc,EAAE,CAAC;4BACnB,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;4BACjC,aAAa,CAAC,OAAO,GAAG,mBAAmB,CAAC;wBAC9C,CAAC,EACD,iBAAiB,EAAE,qBAAqB,GACxC,CACH,IACG,GACF,GACK,CACd,CAAC;AACJ,CAAC;AAsBD,SAAS,gBAAgB,CAAO,SAAsC;IACpE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;IAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU;QAC/B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC7B,CAAC,CAAC,CACE,gBAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,QAAC,QAAQ,QAAC,SAAS,EAAC,6CAA6C,GAAG,CAC7H;YACH,CAAC,CAAC,MAAM,CAAC,WAAW;gBAClB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;gBAChC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO,CACL,KAAC,QAAQ,OACH,IAAI,EACR,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACd,CACH,CAAC;AACJ,CAAC;AAUD,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IACnF,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAClE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAElE,OAAO,CACL,8BACE,mCAEE,SAAS,EAAE,EAAE,CAAC,sDAAsD,EAAE,SAAS,IAAI,0BAA0B,CAAC,EAC9G,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAC/C,EACD,CAAC,SAAS,IAAI,CACb,KAAC,UAAU,IACT,IAAI,EAAE,IAAI,GAAG,KAAK,EAClB,GAAG,EAAE,GAAG,GAAG,MAAM,EACjB,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,GAChC,CACH,IACA,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAE/B,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { DataGridColumn } from '../types.js';
3
+ /**
4
+ * Row heights, named for what the reader is trying to do rather than in px.
5
+ *
6
+ * "Nothing vertically truncated" is the operator's requirement, and it is a
7
+ * property of the CONTENT, not a number — a cell holding a wrapped address
8
+ * needs a taller row than one holding a date. Naming the steps lets the reader
9
+ * pick by intent; the px values are an implementation detail they never see.
10
+ */
11
+ export declare const ROW_HEIGHTS: {
12
+ readonly compact: 32;
13
+ readonly comfortable: 48;
14
+ readonly tall: 72;
15
+ readonly 'extra tall': 112;
16
+ };
17
+ export type RowHeightName = keyof typeof ROW_HEIGHTS;
18
+ export declare function rowHeightNameFor(px: number): RowHeightName;
19
+ export interface DataGridToolbarProps<TRow> {
20
+ columns: DataGridColumn<TRow>[];
21
+ /** Free-text filter. Matches the FORMATTED value of visible columns. */
22
+ filter: string;
23
+ onFilterChange: (next: string) => void;
24
+ /** Column id -> shown. Absent id = shown. */
25
+ columnVisibility: Record<string, boolean>;
26
+ onColumnVisibilityChange: (next: Record<string, boolean>) => void;
27
+ rowHeight: number;
28
+ onRowHeightChange: (next: number) => void;
29
+ /** Row count AFTER filtering, so the reader can see the filter working. */
30
+ visibleRowCount?: number;
31
+ totalRowCount?: number;
32
+ /** Anything the page wants on the same line — a "New" button, usually. */
33
+ children?: ReactNode;
34
+ className?: string;
35
+ }
36
+ export declare function DataGridToolbar<TRow>({ columns, filter, onFilterChange, columnVisibility, onColumnVisibilityChange, rowHeight, onRowHeightChange, visibleRowCount, totalRowCount, children, className, }: DataGridToolbarProps<TRow>): import("react").JSX.Element;
37
+ //# sourceMappingURL=DataGridToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGridToolbar.d.ts","sourceRoot":"","sources":["../../src/components/DataGridToolbar.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAM1D;AAED,MAAM,WAAW,oBAAoB,CAAC,IAAI;IACxC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,wBAAwB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,EACpC,OAAO,EACP,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,GACV,EAAE,oBAAoB,CAAC,IAAI,CAAC,+BAoH5B"}
@@ -0,0 +1,74 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /*
3
+ * DataGridToolbar — the reader's controls for a list.
4
+ *
5
+ * The grid gained filtering, column visibility and an adjustable row height as
6
+ * PROPS. Props are not a capability: a reader cannot pass a prop. Precedent
7
+ * 20260824__zero_consumer_is_not_done — "a package, token, hook, RPC,
8
+ * component, column or endpoint shipping with ZERO CONSUMERS is NOT done" —
9
+ * so the controls ship with the surface that reaches them.
10
+ *
11
+ * WHY A SEPARATE COMPONENT rather than baked into DataGrid: a page already
12
+ * owns a header, and several already have their own search box. Forcing a
13
+ * second toolbar inside the grid would put two search inputs on the same
14
+ * screen. This one is opt-in and composable, and a page that already has a
15
+ * filter can wire `globalFilter` straight to its own input instead.
16
+ *
17
+ * Every control is CONTROLLED. The page owns the state, so it can persist the
18
+ * reader's choice per user and per surface — which is what "on users
19
+ * preference" requires. An uncontrolled toolbar would reset on every reload
20
+ * and be a demo rather than a preference.
21
+ */
22
+ import { useId, useState } from 'react';
23
+ import { cn } from '../cn.js';
24
+ /**
25
+ * Row heights, named for what the reader is trying to do rather than in px.
26
+ *
27
+ * "Nothing vertically truncated" is the operator's requirement, and it is a
28
+ * property of the CONTENT, not a number — a cell holding a wrapped address
29
+ * needs a taller row than one holding a date. Naming the steps lets the reader
30
+ * pick by intent; the px values are an implementation detail they never see.
31
+ */
32
+ export const ROW_HEIGHTS = {
33
+ compact: 32,
34
+ comfortable: 48,
35
+ tall: 72,
36
+ 'extra tall': 112,
37
+ };
38
+ export function rowHeightNameFor(px) {
39
+ const entries = Object.entries(ROW_HEIGHTS);
40
+ // Nearest named step, so a persisted value from an older release still maps.
41
+ return entries.reduce((best, [name, value]) => Math.abs(value - px) < Math.abs(ROW_HEIGHTS[best] - px) ? name : best, entries[0][0]);
42
+ }
43
+ export function DataGridToolbar({ columns, filter, onFilterChange, columnVisibility, onColumnVisibilityChange, rowHeight, onRowHeightChange, visibleRowCount, totalRowCount, children, className, }) {
44
+ const [columnsOpen, setColumnsOpen] = useState(false);
45
+ const filterId = useId();
46
+ const panelId = useId();
47
+ const hiddenCount = columns.filter((c) => columnVisibility[c.id] === false).length;
48
+ const filtering = filter.trim().length > 0;
49
+ return (_jsxs("div", { className: cn('flex flex-wrap items-center gap-2 pb-2', className), children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("label", { htmlFor: filterId, className: "sr-only", children: "Filter rows" }), _jsx("input", { id: filterId, type: "search", value: filter, onChange: (e) => onFilterChange(e.target.value), placeholder: "Filter\u2026", className: "h-8 w-48 rounded-md border border-border bg-background px-2 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" }), filtering && visibleRowCount !== undefined && totalRowCount !== undefined && (_jsxs("output", { className: "text-sm text-muted-foreground", "aria-live": "polite", children: [visibleRowCount, " of ", totalRowCount] }))] }), _jsxs("div", { className: "relative", children: [_jsx("button", { type: "button", "aria-expanded": columnsOpen, "aria-controls": panelId, onClick: () => setColumnsOpen((o) => !o), className: "h-8 rounded-md border border-border px-2 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: hiddenCount > 0 ? `Columns (${hiddenCount} hidden)` : 'Columns' }), columnsOpen && (_jsx("div", { id: panelId, role: "group", "aria-label": "Choose columns", className: "absolute z-50 mt-1 max-h-72 w-56 overflow-y-auto rounded-md border border-border bg-card p-2 shadow-lg", children: columns.map((col) => {
50
+ const shown = columnVisibility[col.id] !== false;
51
+ const isLast = shown && columns.filter((c) => columnVisibility[c.id] !== false).length === 1;
52
+ return (_jsxs("label", { className: cn('flex items-center gap-2 rounded px-1 py-1 text-sm', isLast ? 'opacity-50' : 'cursor-pointer hover:bg-muted'), children: [_jsx("input", { type: "checkbox", checked: shown,
53
+ /*
54
+ * The last visible column cannot be hidden. An empty grid
55
+ * is not a preference, it is a dead end the reader has to
56
+ * guess their way out of.
57
+ *
58
+ * GUARDED TWICE, deliberately. `disabled` is a UI hint,
59
+ * not an enforcement: a click dispatched around it — by a
60
+ * test, a script, or a browser quirk — still reached this
61
+ * handler and produced `{host: false, started: false}`,
62
+ * hiding every column. Measured, not theorised: that is
63
+ * exactly how the first version of this failed its own
64
+ * test. The state change is refused where the state is
65
+ * actually written.
66
+ */
67
+ disabled: isLast, onChange: (e) => {
68
+ if (isLast && !e.target.checked)
69
+ return;
70
+ onColumnVisibilityChange({ ...columnVisibility, [col.id]: e.target.checked });
71
+ } }), _jsx("span", { children: col.header })] }, col.id));
72
+ }) }))] }), _jsxs("label", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "text-sm text-muted-foreground", children: "Rows" }), _jsx("select", { value: rowHeightNameFor(rowHeight), onChange: (e) => onRowHeightChange(ROW_HEIGHTS[e.target.value]), "aria-label": "Row height", className: "h-8 rounded-md border border-border bg-background px-2 text-sm text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: Object.keys(ROW_HEIGHTS).map((name) => (_jsx("option", { value: name, children: name }, name))) })] }), children] }));
73
+ }
74
+ //# sourceMappingURL=DataGridToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGridToolbar.js","sourceRoot":"","sources":["../../src/components/DataGridToolbar.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -17,4 +17,7 @@ export { formatCellValue, parseCellValue } from './formatting.js';
17
17
  export { cn } from './cn.js';
18
18
  export type { ColumnDataType, SelectOption, CellEditorProps, CellRendererProps, DataGridColumn, CellEdit, DataGridErrorPhase, DataGridError, DataGridHandle, DataGridProps, } from './types.js';
19
19
  export type { CellPosition, CellRange } from './lib/selection.js';
20
+ export { DataGridToolbar, ROW_HEIGHTS, rowHeightNameFor } from './components/DataGridToolbar.js';
21
+ export type { DataGridToolbarProps, RowHeightName } from './components/DataGridToolbar.js';
22
+ export type { LinkEdit } from './types.js';
20
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,YAAY,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,YAAY,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC3F,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -15,4 +15,5 @@ export { DataGrid } from './DataGrid.js';
15
15
  export { TextEditor, NumberEditor, DateEditor, BooleanEditor, SelectEditor, } from './editors/index.js';
16
16
  export { formatCellValue, parseCellValue } from './formatting.js';
17
17
  export { cn } from './cn.js';
18
+ export { DataGridToolbar, ROW_HEIGHTS, rowHeightNameFor } from './components/DataGridToolbar.js';
18
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAgB7B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -45,6 +45,54 @@ export interface DataGridColumn<TRow = unknown> {
45
45
  sortable?: boolean;
46
46
  /** Default true. Set false for a computed/read-only column. */
47
47
  editable?: boolean;
48
+ /**
49
+ * This cell is a LINK to another record, not a value typed into this row.
50
+ *
51
+ * Operator, 2026-08-28: "it was always meant to be applied to a cell. e.g.
52
+ * link a host to a placement it comes from linking and selecting the hosts
53
+ * record i dont type the same host name everytime. this is the oneshot
54
+ * policy."
55
+ *
56
+ * The estate's one-shot doctrine gives every entity exactly one owning
57
+ * surface for create/edit. A linked cell stores a REFERENCE; the text on
58
+ * screen is derived from the referenced record. Two consequences follow, and
59
+ * the grid enforces both rather than documenting them:
60
+ *
61
+ * 1. TYPING FILTERS, IT DOES NOT ENTER. The editor is a searchable picker:
62
+ * you type to narrow the list of records — operator, 2026-08-28: "you
63
+ * can type it to filter though" — and only a SELECTED record commits. An
64
+ * arbitrary string is refused, so a host name cannot be mistyped into a
65
+ * row and two rows cannot hold different spellings of the same host.
66
+ *
67
+ * 2. A TYPO IS FIXED ONCE, AT SOURCE, AND EVERY ROW FOLLOWS. Not because
68
+ * the grid propagates anything — because there is only one copy. Three
69
+ * placements showing the same host all change when the host record
70
+ * changes, and no code in this package is involved.
71
+ *
72
+ * Fill-down IS allowed here and copies the REFERENCE, which is the ordinary
73
+ * "point these three placements at the same host" gesture. What it can never
74
+ * do is copy a string.
75
+ *
76
+ * `renderEditor` IS REQUIRED alongside this, and the grid refuses to edit the
77
+ * cell without it. The editor is the APP'S OWN entity selector — the same
78
+ * component the placement form uses to choose a host, with the same
79
+ * select-and-add-new behaviour (operator, 2026-08-28: "same as selecting a
80
+ * host record when entering the host on a placement form. same principle.
81
+ * select, add new."). crm7 ships 31 of these plus quick-create dialogs.
82
+ *
83
+ * This package deliberately does NOT implement a picker of its own. A second
84
+ * picker would be a second create/edit surface for the same entity, which is
85
+ * the one-shot violation this whole mechanism exists to prevent — and the
86
+ * failure mode if it were optional is the worst one available: the cell
87
+ * would silently fall back to a TEXT INPUT, and the first person to type a
88
+ * host name would reintroduce exactly the divergence the link prevents.
89
+ */
90
+ link?: {
91
+ /** The owning entity, for the audit trail and the host's dispatch. */
92
+ entity: string;
93
+ /** Which record this row currently points at. `null` = unlinked. */
94
+ refId: (row: TRow) => string | null;
95
+ };
48
96
  /** Escape hatch for a fully custom inline editor (e.g. an FK-lookup
49
97
  * picker). Not implemented in this package by design. */
50
98
  renderEditor?: (props: CellEditorProps<TRow>) => ReactNode;
@@ -55,6 +103,21 @@ export interface DataGridColumn<TRow = unknown> {
55
103
  * type-aware (see parseCellValue). */
56
104
  parseValue?: (raw: string, row: TRow) => unknown;
57
105
  }
106
+ /**
107
+ * A row was pointed at a different record.
108
+ *
109
+ * This is a re-LINK, never a rename: the referenced record's own fields are
110
+ * edited on the surface that owns it, which is what makes one fix reach every
111
+ * row without this package doing anything.
112
+ */
113
+ export interface LinkEdit<TRow = unknown> {
114
+ entity: string;
115
+ columnId: string;
116
+ rowIndex: number;
117
+ row: TRow;
118
+ previousRefId: string | null;
119
+ refId: string | null;
120
+ }
58
121
  export interface CellEdit<TRow = unknown> {
59
122
  rowIndex: number;
60
123
  columnId: string;
@@ -115,5 +178,48 @@ export interface DataGridProps<TRow = unknown> {
115
178
  /** Max entries retained in the undo stack. Default 200. */
116
179
  undoLimit?: number;
117
180
  emptyState?: ReactNode;
181
+ /**
182
+ * Open the record behind a row.
183
+ *
184
+ * Operator, 2026-08-28: "each row clickable and live". A listing whose rows
185
+ * do not open the record is a report, not a list — the reader has to go find
186
+ * the thing they were just looking at.
187
+ *
188
+ * Fires on a plain single click on a NON-editing cell. It deliberately does
189
+ * NOT fire while a cell is being edited, nor on a range-select drag, nor on
190
+ * a modified click (ctrl/cmd/shift) — those already mean "select cells", and
191
+ * stealing them would break the spreadsheet behaviour this grid exists for.
192
+ */
193
+ onRowClick?: (row: TRow, index: number) => void;
194
+ /**
195
+ * A row was pointed at a different record. REQUIRED if any column declares
196
+ * `link` — a grid that lets you re-link and then drops the write is worse
197
+ * than one that refuses the edit, because the screen shows the new host and
198
+ * the database keeps the old one.
199
+ */
200
+ onLinkEdit?: (edit: LinkEdit<TRow>) => void | Promise<void>;
201
+ /**
202
+ * Which columns are shown, by column id. Absent id = visible.
203
+ *
204
+ * Controlled when `onColumnVisibilityChange` is supplied, so a page can
205
+ * persist the reader's choice; uncontrolled otherwise.
206
+ */
207
+ columnVisibility?: Record<string, boolean>;
208
+ onColumnVisibilityChange?: (next: Record<string, boolean>) => void;
209
+ /**
210
+ * Free-text filter across every visible column's FORMATTED value.
211
+ *
212
+ * Formatted, not raw: the reader filters what they can see. A date shown as
213
+ * `23/08/2026` must match "23/08", which its ISO storage value would not.
214
+ */
215
+ globalFilter?: string;
216
+ /**
217
+ * Row height in px. Supply `onRowHeightChange` to let the reader adjust it.
218
+ *
219
+ * Operator, 2026-08-28: "row height adjustible so nothing vertically
220
+ * truncated". A fixed 32px row silently clips a cell whose content wraps,
221
+ * and the reader has no way to see what was cut.
222
+ */
223
+ onRowHeightChange?: (next: number) => void;
118
224
  }
119
225
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B;;4EAEwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB,CAAC,IAAI,GAAG,OAAO;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc,CAAC,IAAI,GAAG,OAAO;IAC5C;uCACmC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,yDAAyD;IACzD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,IAAI,CAAC,EAAE;QACL,sEAAsE;QACtE,MAAM,EAAE,MAAM,CAAC;QACf,oEAAoE;QACpE,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;KACrC,CAAC;IACF;6DACyD;IACzD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IAC3D,6EAA6E;IAC7E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IACpD;0CACsC;IACtC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC;CAClD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ,CAAC,IAAI,GAAG,OAAO;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,IAAI,CAAC;IACV,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ,CAAC,IAAI,GAAG,OAAO;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAErG;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC;IACrC,cAAc,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1C,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO;IAC3C,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,IAAI,EAAE,IAAI,EAAE,CAAC;IACb;2CACuC;IACvC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,gDAAgD;IAChD,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC9C,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnE;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsuite/data-grid",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Virtualized, spreadsheet-feel data grid for BSuite apps \u2014 cell range selection, keyboard grid navigation, TSV clipboard round-trip, fill handle, undo/redo. Built on @tanstack/react-table + @tanstack/react-virtual.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",