@homebound/beam 3.18.0 → 3.20.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.
package/dist/index.cjs CHANGED
@@ -195,6 +195,7 @@ __export(index_exports, {
195
195
  beamNavbarLayoutHeightVar: () => beamNavbarLayoutHeightVar,
196
196
  beamPageHeaderLayoutHeightVar: () => beamPageHeaderLayoutHeightVar,
197
197
  beamSideNavLayoutWidthVar: () => beamSideNavLayoutWidthVar,
198
+ beamTableActionsHeightVar: () => beamTableActionsHeightVar,
198
199
  booleanFilter: () => booleanFilter,
199
200
  boundCheckboxField: () => boundCheckboxField,
200
201
  boundCheckboxGroupField: () => boundCheckboxGroupField,
@@ -213,6 +214,7 @@ __export(index_exports, {
213
214
  boundTextField: () => boundTextField,
214
215
  boundToggleChipGroupField: () => boundToggleChipGroupField,
215
216
  boundTreeSelectField: () => boundTreeSelectField,
217
+ calcColumnLayout: () => calcColumnLayout,
216
218
  calcColumnSizes: () => calcColumnSizes,
217
219
  cardStyle: () => cardStyle,
218
220
  checkboxFilter: () => checkboxFilter,
@@ -233,6 +235,8 @@ __export(index_exports, {
233
235
  defaultRenderFn: () => defaultRenderFn,
234
236
  defaultStyle: () => defaultStyle,
235
237
  defaultTestId: () => defaultTestId,
238
+ documentScrollChromeLeft: () => documentScrollChromeLeft,
239
+ documentScrollChromeWidth: () => documentScrollChromeWidth,
236
240
  dragHandleColumn: () => dragHandleColumn,
237
241
  emptyCell: () => emptyCell,
238
242
  ensureClientSideSortValueIsSortable: () => ensureClientSideSortValueIsSortable,
@@ -287,6 +291,7 @@ __export(index_exports, {
287
291
  px: () => px,
288
292
  recursivelyGetContainingRow: () => recursivelyGetContainingRow,
289
293
  reservedRowKinds: () => reservedRowKinds,
294
+ resolveTableContentWidth: () => resolveTableContentWidth,
290
295
  resolveTooltip: () => resolveTooltip,
291
296
  rowClickRenderFn: () => rowClickRenderFn,
292
297
  rowLinkRenderFn: () => rowLinkRenderFn,
@@ -301,6 +306,9 @@ __export(index_exports, {
301
306
  singleFilter: () => singleFilter,
302
307
  sortFn: () => sortFn,
303
308
  sortRows: () => sortRows,
309
+ stickyNavAndHeaderOffset: () => stickyNavAndHeaderOffset,
310
+ stickyTableHeaderOffset: () => stickyTableHeaderOffset,
311
+ sumColumnSizesPx: () => sumColumnSizesPx,
304
312
  switchFocusStyles: () => switchFocusStyles,
305
313
  switchHoverStyles: () => switchHoverStyles,
306
314
  switchSelectedHoverStyles: () => switchSelectedHoverStyles,
@@ -6212,9 +6220,19 @@ var beamPageHeaderLayoutHeightVar = "--beam-page-header-layout-height";
6212
6220
  var beamLayoutViewportWidthVar = "--beam-layout-viewport-width";
6213
6221
  var beamLayoutViewportHeightVar = "--beam-layout-viewport-height";
6214
6222
  var beamSideNavLayoutWidthVar = "--beam-side-nav-layout-width";
6223
+ var beamTableActionsHeightVar = "--beam-table-actions-height";
6224
+ function documentScrollChromeLeft() {
6225
+ return `var(${beamSideNavLayoutWidthVar}, 0px)`;
6226
+ }
6227
+ function documentScrollChromeWidth() {
6228
+ return `calc(var(${beamLayoutViewportWidthVar}, 100vw) - var(${beamSideNavLayoutWidthVar}, 0px))`;
6229
+ }
6215
6230
  function stickyNavAndHeaderOffset(basePx = 0) {
6216
6231
  return `calc(${basePx}px + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
6217
6232
  }
6233
+ function stickyTableHeaderOffset(basePx = 0) {
6234
+ return `calc(${basePx}px + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
6235
+ }
6218
6236
 
6219
6237
  // src/utils/zIndices.ts
6220
6238
  var zIndices = {
@@ -6223,6 +6241,7 @@ var zIndices = {
6223
6241
  tableExpandableTitle: 20,
6224
6242
  tableStickyColumn: 30,
6225
6243
  tableStickyHeader: 40,
6244
+ tableActions: 45,
6226
6245
  // Page chrome - ensure these items sit above the table
6227
6246
  scrollShadow: 50,
6228
6247
  superDrawerScrim: 50,
@@ -6389,6 +6408,9 @@ function SortHeader(props) {
6389
6408
  // src/components/Table/utils/utils.tsx
6390
6409
  var import_runtime12 = require("@homebound/truss/runtime");
6391
6410
  var import_jsx_runtime14 = require("react/jsx-runtime");
6411
+ var __maybeInc4 = (inc) => {
6412
+ return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
6413
+ };
6392
6414
  function toContent(maybeContent, isHeader, canSortColumn, isClientSideSorting, style, as, alignment, column2, isExpandableHeader, isExpandable, minStickyLeftOffset, isKeptSelectedRow) {
6393
6415
  if (isKeptSelectedRow && column2.id === "beamCollapseColumn") {
6394
6416
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_jsx_runtime14.Fragment, {});
@@ -6583,12 +6605,21 @@ function recursivelyGetContainingRow(rowId, rowArray, parent) {
6583
6605
  }
6584
6606
  return void 0;
6585
6607
  }
6586
- function getTableRefWidthStyles(isVirtual) {
6587
- return {
6588
- width: "w100",
6589
- ...isVirtual ? {
6608
+ function getTableRefWidthStyles(isVirtual, inDocumentScrollLayout = false) {
6609
+ if (inDocumentScrollLayout) {
6610
+ return {
6611
+ width: ["w_var", {
6612
+ "--width": (0, import_runtime12.maybeCssVar)(__maybeInc4(documentScrollChromeWidth()))
6613
+ }]
6614
+ };
6615
+ }
6616
+ if (isVirtual) {
6617
+ return {
6590
6618
  width: "w_calc_100_20px"
6591
- } : {}
6619
+ };
6620
+ }
6621
+ return {
6622
+ width: "w100"
6592
6623
  };
6593
6624
  }
6594
6625
 
@@ -7396,7 +7427,7 @@ function ColumnResizeHandle({
7396
7427
  var import_react25 = require("react");
7397
7428
  var import_runtime19 = require("@homebound/truss/runtime");
7398
7429
  var import_jsx_runtime27 = require("react/jsx-runtime");
7399
- var __maybeInc4 = (inc) => {
7430
+ var __maybeInc5 = (inc) => {
7400
7431
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
7401
7432
  };
7402
7433
  function KeptGroupRow(props) {
@@ -7423,7 +7454,7 @@ function KeptGroupRow(props) {
7423
7454
  ...{
7424
7455
  paddingLeft: "pl0",
7425
7456
  width: ["w_var", {
7426
- "--width": (0, import_runtime19.maybeCssVar)(__maybeInc4(`calc(${columnSizes.join(" + ")})`))
7457
+ "--width": (0, import_runtime19.maybeCssVar)(__maybeInc5(`calc(${columnSizes.join(" + ")})`))
7427
7458
  }]
7428
7459
  }
7429
7460
  }), ...as === "table" ? {
@@ -8232,7 +8263,7 @@ function isZonedDateTime(value) {
8232
8263
  var import_use_debounce2 = require("use-debounce");
8233
8264
  var import_runtime21 = require("@homebound/truss/runtime");
8234
8265
  var import_jsx_runtime28 = require("react/jsx-runtime");
8235
- var __maybeInc5 = (inc) => {
8266
+ var __maybeInc6 = (inc) => {
8236
8267
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
8237
8268
  };
8238
8269
  var __typography2 = {
@@ -8456,12 +8487,12 @@ function RowImpl(props) {
8456
8487
  },
8457
8488
  ...maybeSticky === "left" ? {
8458
8489
  left: ["left_var", {
8459
- "--left": (0, import_runtime21.maybeCssVar)(__maybeInc5(columnIndex === 0 ? `var(${beamSideNavLayoutWidthVar}, 0px)` : `calc(var(${beamSideNavLayoutWidthVar}, 0px) + (${columnSizes.slice(0, columnIndex).join(" + ")}))`))
8490
+ "--left": (0, import_runtime21.maybeCssVar)(__maybeInc6(columnIndex === 0 ? `var(${beamSideNavLayoutWidthVar}, 0px)` : `calc(var(${beamSideNavLayoutWidthVar}, 0px) + (${columnSizes.slice(0, columnIndex).join(" + ")}))`))
8460
8491
  }]
8461
8492
  } : {},
8462
8493
  ...maybeSticky === "right" ? {
8463
8494
  right: ["right_var", {
8464
- "--right": (0, import_runtime21.maybeCssVar)(__maybeInc5(columnIndex + 1 === columnSizes.length ? 0 : `calc(${columnSizes.slice(columnIndex + 1 - columnSizes.length).join(" + ")})`))
8495
+ "--right": (0, import_runtime21.maybeCssVar)(__maybeInc6(columnIndex + 1 === columnSizes.length ? 0 : `calc(${columnSizes.slice(columnIndex + 1 - columnSizes.length).join(" + ")})`))
8465
8496
  }]
8466
8497
  } : {}
8467
8498
  } : {};
@@ -8551,7 +8582,7 @@ function RowImpl(props) {
8551
8582
  // If we have a 'levelIndent' defined, then subtract that amount from the first content column's width to ensure all columns will still line up properly.
8552
8583
  ...{
8553
8584
  width: ["w_var", {
8554
- "--width": (0, import_runtime21.maybeCssVar)(__maybeInc5(`calc(${columnSizes.slice(columnIndex, columnIndex + currentColspan).join(" + ")}${applyFirstContentColumnStyles && levelIndent ? ` - ${levelIndent}px` : ""})`))
8585
+ "--width": (0, import_runtime21.maybeCssVar)(__maybeInc6(`calc(${columnSizes.slice(columnIndex, columnIndex + currentColspan).join(" + ")}${applyFirstContentColumnStyles && levelIndent ? ` - ${levelIndent}px` : ""})`))
8555
8586
  }]
8556
8587
  }
8557
8588
  };
@@ -8648,7 +8679,7 @@ function getFieldWidth(fullWidth) {
8648
8679
  // src/inputs/TextFieldBase.tsx
8649
8680
  var import_runtime23 = require("@homebound/truss/runtime");
8650
8681
  var import_jsx_runtime30 = require("react/jsx-runtime");
8651
- var __maybeInc6 = (inc) => {
8682
+ var __maybeInc7 = (inc) => {
8652
8683
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
8653
8684
  };
8654
8685
  var __typography3 = {
@@ -8822,7 +8853,7 @@ function TextFieldBase(props) {
8822
8853
  } : {},
8823
8854
  ...labelStyle === "left" ? {
8824
8855
  width: ["w_var", {
8825
- "--width": (0, import_runtime23.maybeCssVar)(__maybeInc6(labelLeftFieldWidth))
8856
+ "--width": (0, import_runtime23.maybeCssVar)(__maybeInc7(labelLeftFieldWidth))
8826
8857
  }]
8827
8858
  } : {}
8828
8859
  },
@@ -8898,7 +8929,7 @@ function TextFieldBase(props) {
8898
8929
  } : {},
8899
8930
  ...labelStyle === "left" ? {
8900
8931
  width: ["w_var", {
8901
- "--width": (0, import_runtime23.maybeCssVar)(__maybeInc6(labelLeftFieldWidth))
8932
+ "--width": (0, import_runtime23.maybeCssVar)(__maybeInc7(labelLeftFieldWidth))
8902
8933
  }]
8903
8934
  } : {}
8904
8935
  },
@@ -14013,7 +14044,7 @@ var import_react61 = require("react");
14013
14044
  var import_react_aria35 = require("react-aria");
14014
14045
  var import_runtime49 = require("@homebound/truss/runtime");
14015
14046
  var import_jsx_runtime74 = require("react/jsx-runtime");
14016
- var __maybeInc7 = (inc) => {
14047
+ var __maybeInc8 = (inc) => {
14017
14048
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
14018
14049
  };
14019
14050
  function Switch(props) {
@@ -14107,7 +14138,7 @@ function Switch(props) {
14107
14138
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { ...(0, import_runtime49.trussProps)({
14108
14139
  ...labelStyle === "left" ? {
14109
14140
  width: ["w_var", {
14110
- "--width": (0, import_runtime49.maybeCssVar)(__maybeInc7(labelLeftFieldWidth))
14141
+ "--width": (0, import_runtime49.maybeCssVar)(__maybeInc8(labelLeftFieldWidth))
14111
14142
  }]
14112
14143
  } : {}
14113
14144
  }), children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { "aria-hidden": "true", ...(0, import_runtime49.trussProps)({
@@ -14188,7 +14219,7 @@ function switchCircleDefaultStyles(isCompact) {
14188
14219
  function switchCircleSelectedStyles(isCompact) {
14189
14220
  return {
14190
14221
  left: ["left_var", {
14191
- "--left": (0, import_runtime49.maybeCssVar)(__maybeInc7(`calc(100% - ${circleDiameter(isCompact)}px - 2px)`))
14222
+ "--left": (0, import_runtime49.maybeCssVar)(__maybeInc8(`calc(100% - ${circleDiameter(isCompact)}px - 2px)`))
14192
14223
  }]
14193
14224
  };
14194
14225
  }
@@ -14441,7 +14472,7 @@ var import_react_aria39 = require("react-aria");
14441
14472
  var import_react_stately15 = require("react-stately");
14442
14473
  var import_runtime51 = require("@homebound/truss/runtime");
14443
14474
  var import_jsx_runtime78 = require("react/jsx-runtime");
14444
- var __maybeInc8 = (inc) => {
14475
+ var __maybeInc9 = (inc) => {
14445
14476
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
14446
14477
  };
14447
14478
  function ToggleChipGroup(props) {
@@ -14489,7 +14520,7 @@ function ToggleChipGroup(props) {
14489
14520
  flexWrap: "flexWrap_wrap",
14490
14521
  ...labelStyle === "left" ? {
14491
14522
  width: ["w_var", {
14492
- "--width": (0, import_runtime51.maybeCssVar)(__maybeInc8(labelLeftFieldWidth))
14523
+ "--width": (0, import_runtime51.maybeCssVar)(__maybeInc9(labelLeftFieldWidth))
14493
14524
  }]
14494
14525
  } : {}
14495
14526
  }), children: options.map((o) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(ToggleChip2, { value: o.value, groupState: state, selected: state.value.includes(o.value), label: o.label, disabled: o.disabled, readonly: o.readonly, startAdornment: o.startAdornment, xss, ...tid[o.value] }, o.value)) })
@@ -14682,16 +14713,60 @@ function nonKindDefaults() {
14682
14713
  function parseWidthToPx(widthStr, tableWidth) {
14683
14714
  if (!widthStr) return null;
14684
14715
  if (widthStr.endsWith("px")) {
14685
- const parsed = parseInt(widthStr.replace("px", ""), 10);
14716
+ const parsed = parseFloat(widthStr.replace("px", ""));
14686
14717
  return isNaN(parsed) ? null : parsed;
14687
14718
  }
14688
- if (widthStr.endsWith("%") && tableWidth) {
14719
+ if (widthStr.endsWith("%") && tableWidth !== void 0) {
14689
14720
  const percent = parseFloat(widthStr.replace("%", ""));
14690
14721
  if (isNaN(percent)) return null;
14691
14722
  return Math.round(percent / 100 * tableWidth);
14692
14723
  }
14693
14724
  return null;
14694
14725
  }
14726
+ function sumColumnSizesPx(columnSizes, tableWidth) {
14727
+ if (tableWidth === void 0) return null;
14728
+ let sum = 0;
14729
+ for (const size of columnSizes) {
14730
+ const px2 = parseWidthToPx(size, tableWidth);
14731
+ if (px2 === null) return null;
14732
+ sum += px2;
14733
+ }
14734
+ return sum;
14735
+ }
14736
+ function sumColumnSizeParts(columnSizes) {
14737
+ let pxSum = 0;
14738
+ let percentSum = 0;
14739
+ let hasCalc = false;
14740
+ for (const size of columnSizes) {
14741
+ if (size.endsWith("px")) {
14742
+ pxSum += parseFloat(size.replace("px", ""));
14743
+ } else if (size.endsWith("%")) {
14744
+ percentSum += parseFloat(size.replace("%", ""));
14745
+ } else {
14746
+ hasCalc = true;
14747
+ }
14748
+ }
14749
+ return {
14750
+ pxSum,
14751
+ percentSum,
14752
+ hasCalc
14753
+ };
14754
+ }
14755
+ function resolveTableContentWidth(tableWidth, columnSizes, minWidthPx = 0) {
14756
+ if (tableWidth === void 0) return void 0;
14757
+ const {
14758
+ pxSum,
14759
+ percentSum,
14760
+ hasCalc
14761
+ } = sumColumnSizeParts(columnSizes);
14762
+ if (!hasCalc && percentSum > 0 && percentSum < 100) {
14763
+ const selfConsistent = pxSum / (1 - percentSum / 100);
14764
+ return Math.max(tableWidth, minWidthPx, Math.ceil(selfConsistent));
14765
+ }
14766
+ const sum = sumColumnSizesPx(columnSizes, tableWidth);
14767
+ if (sum === null) return void 0;
14768
+ return Math.max(tableWidth, sum, minWidthPx);
14769
+ }
14695
14770
  function calcColumnSizes(columns, tableWidth, tableMinWidthPx = 0, expandedColumnIds, resizedWidths) {
14696
14771
  const {
14697
14772
  claimedPercentages,
@@ -14790,6 +14865,29 @@ function calcColumnSizes(columns, tableWidth, tableMinWidthPx = 0, expandedColum
14790
14865
  });
14791
14866
  return sizes2;
14792
14867
  }
14868
+ function calcColumnLayout(columns, probeWidth, tableMinWidthPx = 0, expandedColumnIds, resizedWidths, inDocumentScrollLayout) {
14869
+ if (probeWidth === void 0) {
14870
+ return {
14871
+ columnSizes: calcColumnSizes(columns, void 0, tableMinWidthPx, expandedColumnIds, resizedWidths),
14872
+ contentWidth: void 0
14873
+ };
14874
+ }
14875
+ if (!inDocumentScrollLayout) {
14876
+ return {
14877
+ columnSizes: calcColumnSizes(columns, probeWidth, tableMinWidthPx, expandedColumnIds, resizedWidths),
14878
+ contentWidth: probeWidth
14879
+ };
14880
+ }
14881
+ let columnSizes = calcColumnSizes(columns, probeWidth, tableMinWidthPx, expandedColumnIds, resizedWidths);
14882
+ const contentWidth = resolveTableContentWidth(probeWidth, columnSizes, tableMinWidthPx) ?? probeWidth;
14883
+ if (contentWidth > probeWidth + 1) {
14884
+ columnSizes = calcColumnSizes(columns, contentWidth, tableMinWidthPx, expandedColumnIds, resizedWidths);
14885
+ }
14886
+ return {
14887
+ columnSizes,
14888
+ contentWidth
14889
+ };
14890
+ }
14793
14891
  function assignDefaultColumnIds(columns) {
14794
14892
  return columns.map((c, idx) => {
14795
14893
  const {
@@ -15754,22 +15852,32 @@ function useColumnResizing(storageKey) {
15754
15852
 
15755
15853
  // src/components/Table/hooks/useSetupColumnSizes.ts
15756
15854
  var import_use_debounce5 = require("use-debounce");
15757
- function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing) {
15855
+ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing, inDocumentScrollLayout) {
15758
15856
  const { resizedWidths, setResizedWidth, setResizedWidths, resetColumnWidths } = useColumnResizing(
15759
15857
  disableColumnResizing ? void 0 : visibleColumnsStorageKey
15760
15858
  );
15761
15859
  const calculateImmediately = (0, import_react72.useRef)(true);
15762
15860
  const [tableWidth, setTableWidth] = (0, import_react72.useState)();
15763
- const prevTableWidthRef = (0, import_react72.useRef)(tableWidth);
15861
+ const [contentWidth, setContentWidth] = (0, import_react72.useState)();
15764
15862
  const [columnSizes, setColumnSizes] = (0, import_react72.useState)(
15765
- calcColumnSizes(columns, tableWidth, style.minWidthPx, expandedColumnIds, resizedWidths)
15863
+ () => calcColumnLayout(columns, void 0, style.minWidthPx, expandedColumnIds, resizedWidths, inDocumentScrollLayout).columnSizes
15766
15864
  );
15767
- const setTableAndColumnWidths = (0, import_react72.useCallback)(
15768
- (width2) => {
15769
- setTableWidth(width2);
15770
- setColumnSizes(calcColumnSizes(columns, width2, style.minWidthPx, expandedColumnIds, resizedWidths));
15865
+ const prevTableWidthRef = (0, import_react72.useRef)(tableWidth);
15866
+ const applyColumnLayout = (0, import_react72.useCallback)(
15867
+ (probeWidth) => {
15868
+ const layout = calcColumnLayout(
15869
+ columns,
15870
+ probeWidth,
15871
+ style.minWidthPx,
15872
+ expandedColumnIds,
15873
+ resizedWidths,
15874
+ inDocumentScrollLayout
15875
+ );
15876
+ setTableWidth(probeWidth);
15877
+ setContentWidth(layout.contentWidth);
15878
+ setColumnSizes(layout.columnSizes);
15771
15879
  },
15772
- [setTableWidth, setColumnSizes, columns, style, expandedColumnIds, resizedWidths]
15880
+ [columns, style.minWidthPx, expandedColumnIds, resizedWidths, inDocumentScrollLayout]
15773
15881
  );
15774
15882
  (0, import_react72.useEffect)(() => {
15775
15883
  if (!prevTableWidthRef.current) {
@@ -15798,32 +15906,40 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
15798
15906
  () => {
15799
15907
  if (!calculateImmediately.current) {
15800
15908
  const width2 = resizeRef.current?.clientWidth;
15801
- width2 && setTableAndColumnWidths(width2);
15909
+ width2 && applyColumnLayout(width2);
15802
15910
  }
15803
15911
  },
15804
15912
  // TODO: validate this eslint-disable. It was automatically ignored as part of https://app.shortcut.com/homebound-team/story/40033/enable-react-hooks-exhaustive-deps-for-react-projects
15805
15913
  // eslint-disable-next-line react-hooks/exhaustive-deps
15806
- [columns, resizedWidths, setTableAndColumnWidths]
15914
+ [columns, resizedWidths, applyColumnLayout]
15807
15915
  );
15808
- const setTableAndColumnWidthsDebounced = (0, import_use_debounce5.useDebouncedCallback)(setTableAndColumnWidths, 100);
15916
+ const applyColumnLayoutDebounced = (0, import_use_debounce5.useDebouncedCallback)(applyColumnLayout, 100);
15809
15917
  const onResize = (0, import_react72.useCallback)(
15810
15918
  () => {
15811
15919
  const target = resizeRef.current;
15812
15920
  if (target && target.clientWidth !== tableWidth) {
15813
15921
  if (calculateImmediately.current) {
15814
15922
  calculateImmediately.current = false;
15815
- setTableAndColumnWidths(target.clientWidth);
15923
+ applyColumnLayout(target.clientWidth);
15816
15924
  } else {
15817
- setTableAndColumnWidthsDebounced(target.clientWidth);
15925
+ applyColumnLayoutDebounced(target.clientWidth);
15818
15926
  }
15819
15927
  }
15820
15928
  },
15821
15929
  // TODO: validate this eslint-disable. It was automatically ignored as part of https://app.shortcut.com/homebound-team/story/40033/enable-react-hooks-exhaustive-deps-for-react-projects
15822
15930
  // eslint-disable-next-line react-hooks/exhaustive-deps
15823
- [tableWidth, setTableAndColumnWidths, setTableAndColumnWidthsDebounced]
15931
+ [tableWidth, applyColumnLayout, applyColumnLayoutDebounced]
15824
15932
  );
15825
15933
  (0, import_utils67.useResizeObserver)({ ref: resizeRef, onResize });
15826
- return { columnSizes, tableWidth, resizedWidths, setResizedWidth, setResizedWidths, resetColumnWidths };
15934
+ return {
15935
+ columnSizes,
15936
+ tableWidth,
15937
+ contentWidth,
15938
+ resizedWidths,
15939
+ setResizedWidth,
15940
+ setResizedWidths,
15941
+ resetColumnWidths
15942
+ };
15827
15943
  }
15828
15944
 
15829
15945
  // src/hooks/useRenderCount.ts
@@ -15897,7 +16013,7 @@ function DocumentScrollLayoutViewportRoot({
15897
16013
  // src/components/Table/GridTable.tsx
15898
16014
  var import_runtime53 = require("@homebound/truss/runtime");
15899
16015
  var import_jsx_runtime82 = require("react/jsx-runtime");
15900
- var __maybeInc9 = (inc) => {
16016
+ var __maybeInc10 = (inc) => {
15901
16017
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
15902
16018
  };
15903
16019
  var runningInJest = false;
@@ -15972,6 +16088,7 @@ function GridTable(props) {
15972
16088
  const {
15973
16089
  tableState
15974
16090
  } = api;
16091
+ const inDocumentScrollLayout = useDocumentScrollLayout();
15975
16092
  tableState.onRowSelect = onRowSelect;
15976
16093
  (0, import_react75.useEffect)(() => {
15977
16094
  (0, import_mobx10.runInAction)(() => {
@@ -15994,11 +16111,12 @@ function GridTable(props) {
15994
16111
  const {
15995
16112
  columnSizes,
15996
16113
  tableWidth,
16114
+ contentWidth,
15997
16115
  resizedWidths,
15998
16116
  setResizedWidth,
15999
16117
  setResizedWidths,
16000
16118
  resetColumnWidths
16001
- } = useSetupColumnSizes(style, columns, resizeTarget ?? resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing);
16119
+ } = useSetupColumnSizes(style, columns, resizeTarget ?? resizeRef, expandedColumnIds, visibleColumnsStorageKey, disableColumnResizing, inDocumentScrollLayout);
16002
16120
  (0, import_react75.useEffect)(() => {
16003
16121
  api.resetColumnWidthsFn = !disableColumnResizing ? resetColumnWidths : void 0;
16004
16122
  }, [api, resetColumnWidths, disableColumnResizing]);
@@ -16169,9 +16287,18 @@ function GridTable(props) {
16169
16287
  tableState,
16170
16288
  tableContainerRef
16171
16289
  }), [tableState, tableContainerRef]);
16290
+ const tableStyle = (0, import_react75.useMemo)(() => {
16291
+ if (!inDocumentScrollLayout || contentWidth === void 0 || tableWidth === void 0) return style;
16292
+ const minWidthPx = Math.max(style.minWidthPx ?? 0, contentWidth);
16293
+ if (minWidthPx === style.minWidthPx) return style;
16294
+ return {
16295
+ ...style,
16296
+ minWidthPx
16297
+ };
16298
+ }, [contentWidth, inDocumentScrollLayout, style, tableWidth]);
16172
16299
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
16173
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ref: resizeRef, ...(0, import_runtime53.trussProps)(getTableRefWidthStyles(as === "virtual")) }),
16174
- renders[_as](style, id, columns, visibleDataRows, keptSelectedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, tableContainerRef, persistScrollPosition)
16300
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ref: resizeRef, ...(0, import_runtime53.trussProps)(getTableRefWidthStyles(as === "virtual", inDocumentScrollLayout)) }),
16301
+ renders[_as](tableStyle, id, columns, visibleDataRows, keptSelectedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, tableContainerRef, persistScrollPosition)
16175
16302
  ] }) });
16176
16303
  }
16177
16304
  var renders = {
@@ -16199,8 +16326,9 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, firstR
16199
16326
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ...(0, import_runtime53.trussProps)({
16200
16327
  ...stickyHeader ? {
16201
16328
  position: "sticky",
16329
+ transition: "transitionTop",
16202
16330
  top: ["top_var", {
16203
- "--top": (0, import_runtime53.maybeCssVar)(__maybeInc9(stickyNavAndHeaderOffset(stickyOffset)))
16331
+ "--top": (0, import_runtime53.maybeCssVar)(__maybeInc10(stickyTableHeaderOffset(stickyOffset)))
16204
16332
  }],
16205
16333
  zIndex: ["z_var", {
16206
16334
  "--zIndex": (0, import_runtime53.maybeCssVar)(zIndices.tableStickyHeader)
@@ -16239,8 +16367,9 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, firs
16239
16367
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("thead", { ...(0, import_runtime53.trussProps)({
16240
16368
  ...stickyHeader ? {
16241
16369
  position: "sticky",
16370
+ transition: "transitionTop",
16242
16371
  top: ["top_var", {
16243
- "--top": (0, import_runtime53.maybeCssVar)(__maybeInc9(stickyNavAndHeaderOffset(stickyOffset)))
16372
+ "--top": (0, import_runtime53.maybeCssVar)(__maybeInc10(stickyTableHeaderOffset(stickyOffset)))
16244
16373
  }],
16245
16374
  zIndex: ["z_var", {
16246
16375
  "--zIndex": (0, import_runtime53.maybeCssVar)(zIndices.tableStickyHeader)
@@ -16291,11 +16420,16 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, fi
16291
16420
  components: {
16292
16421
  // zIndex keeps the pinned head above sticky columns; `top` matches the offsets used by
16293
16422
  // the div/table render paths so virtualized tables pin below the global nav + page header.
16294
- TopItemList: import_react75.default.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ...props, ref, style: {
16423
+ TopItemList: import_react75.default.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ...props, ref, ...(0, import_runtime53.mergeProps)(void 0, {
16295
16424
  ...props.style,
16425
+ ...style.minWidthPx !== void 0 ? {
16426
+ minWidth: style.minWidthPx
16427
+ } : {},
16296
16428
  zIndex: zIndices.tableStickyHeader,
16297
- top: stickyNavAndHeaderOffset(stickyOffset)
16298
- } })),
16429
+ top: stickyTableHeaderOffset(stickyOffset)
16430
+ }, {
16431
+ transition: "transitionTop"
16432
+ }) })),
16299
16433
  List: VirtualRoot(style, columns, id, xss),
16300
16434
  Footer: () => {
16301
16435
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ...(0, import_runtime53.trussProps)({
@@ -16322,7 +16456,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, fi
16322
16456
  return (
16323
16457
  // Ensure the fallback message is the same width as the table
16324
16458
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ...(0, import_runtime53.trussProps)({
16325
- ...getTableRefWidthStyles(true),
16459
+ ...getTableRefWidthStyles(true, inDocumentScrollLayout),
16326
16460
  ...keptSelectedRows.length === 0 && style.firstBodyRowCss,
16327
16461
  ...visibleDataRows.length === 0 && style.lastRowCss
16328
16462
  }), children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { ...(0, import_runtime53.trussProps)({
@@ -16481,7 +16615,7 @@ var import_react76 = require("react");
16481
16615
  var import_react_aria40 = require("react-aria");
16482
16616
  var import_runtime56 = require("@homebound/truss/runtime");
16483
16617
  var import_jsx_runtime85 = require("react/jsx-runtime");
16484
- var __maybeInc10 = (inc) => {
16618
+ var __maybeInc11 = (inc) => {
16485
16619
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
16486
16620
  };
16487
16621
  function Accordion(props) {
@@ -16628,7 +16762,7 @@ function Accordion(props) {
16628
16762
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { ...tid.details, id, "aria-hidden": !expanded, ...(0, import_runtime56.trussProps)({
16629
16763
  overflow: "oh",
16630
16764
  height: ["h_var", {
16631
- "--height": (0, import_runtime56.maybeCssVar)(__maybeInc10(contentHeight))
16765
+ "--height": (0, import_runtime56.maybeCssVar)(__maybeInc11(contentHeight))
16632
16766
  }],
16633
16767
  transition: "transition_height_250ms_ease_in_out"
16634
16768
  }), children: expanded && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { ...(0, import_runtime56.trussProps)({
@@ -16811,7 +16945,7 @@ var variantStyles2 = {
16811
16945
  };
16812
16946
 
16813
16947
  // src/components/BeamContext.tsx
16814
- var import_react106 = require("react");
16948
+ var import_react107 = require("react");
16815
16949
  var import_react_aria46 = require("react-aria");
16816
16950
 
16817
16951
  // src/components/Modal/Modal.tsx
@@ -18212,7 +18346,7 @@ function BoundTreeSelectField(props) {
18212
18346
  var import_react86 = require("react");
18213
18347
  var import_runtime63 = require("@homebound/truss/runtime");
18214
18348
  var import_jsx_runtime115 = require("react/jsx-runtime");
18215
- var __maybeInc11 = (inc) => {
18349
+ var __maybeInc12 = (inc) => {
18216
18350
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
18217
18351
  };
18218
18352
  function FormLines(props) {
@@ -18250,13 +18384,13 @@ function FormLines(props) {
18250
18384
  display: "df",
18251
18385
  flexDirection: "fdc",
18252
18386
  gap: ["gap_var", {
18253
- "--gap": (0, import_runtime63.maybeCssVar)(__maybeInc11(gap))
18387
+ "--gap": (0, import_runtime63.maybeCssVar)(__maybeInc12(gap))
18254
18388
  }],
18255
18389
  paddingBottom: ["pb_var", {
18256
- "--paddingBottom": (0, import_runtime63.maybeCssVar)(__maybeInc11(gap))
18390
+ "--paddingBottom": (0, import_runtime63.maybeCssVar)(__maybeInc12(gap))
18257
18391
  }],
18258
18392
  width: ["w_var", {
18259
- "--width": (0, import_runtime63.maybeCssVar)(__maybeInc11(sizes[width2]))
18393
+ "--width": (0, import_runtime63.maybeCssVar)(__maybeInc12(sizes[width2]))
18260
18394
  }]
18261
18395
  }), children: import_react86.Children.map(children, (child) => {
18262
18396
  if (child && typeof child === "object" && "type" in child && child.type.isFormHeading) {
@@ -19136,7 +19270,7 @@ function useActiveSection(sectionsWithRefs) {
19136
19270
  // src/components/Layout/FullBleed.tsx
19137
19271
  var import_runtime71 = require("@homebound/truss/runtime");
19138
19272
  var import_react94 = require("react");
19139
- var __maybeInc12 = (inc) => {
19273
+ var __maybeInc13 = (inc) => {
19140
19274
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
19141
19275
  };
19142
19276
  function FullBleed({
@@ -19167,17 +19301,17 @@ function FullBleed({
19167
19301
  // inverts that padding with negative margins before re-applying it to the child.
19168
19302
  {
19169
19303
  marginLeft: ["ml_var", {
19170
- "--marginLeft": (0, import_runtime71.maybeCssVar)(__maybeInc12(invertSpacing(paddingLeft)))
19304
+ "--marginLeft": (0, import_runtime71.maybeCssVar)(__maybeInc13(invertSpacing(paddingLeft)))
19171
19305
  }],
19172
19306
  marginRight: ["mr_var", {
19173
- "--marginRight": (0, import_runtime71.maybeCssVar)(__maybeInc12(invertSpacing(paddingRight)))
19307
+ "--marginRight": (0, import_runtime71.maybeCssVar)(__maybeInc13(invertSpacing(paddingRight)))
19174
19308
  }],
19175
19309
  ...!omitPadding ? {
19176
19310
  paddingLeft: ["pl_var", {
19177
- "--paddingLeft": (0, import_runtime71.maybeCssVar)(__maybeInc12(paddingLeft))
19311
+ "--paddingLeft": (0, import_runtime71.maybeCssVar)(__maybeInc13(paddingLeft))
19178
19312
  }],
19179
19313
  paddingRight: ["pr_var", {
19180
- "--paddingRight": (0, import_runtime71.maybeCssVar)(__maybeInc12(paddingRight))
19314
+ "--paddingRight": (0, import_runtime71.maybeCssVar)(__maybeInc13(paddingRight))
19181
19315
  }]
19182
19316
  } : {}
19183
19317
  }
@@ -19191,7 +19325,8 @@ function invertSpacing(value) {
19191
19325
  }
19192
19326
 
19193
19327
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
19194
- var import_react102 = __toESM(require("react"), 1);
19328
+ var import_utils117 = require("@react-aria/utils");
19329
+ var import_react103 = __toESM(require("react"), 1);
19195
19330
 
19196
19331
  // src/components/ButtonMenu.tsx
19197
19332
  var import_react95 = require("react");
@@ -20218,9 +20353,45 @@ function LoadingTable(props) {
20218
20353
  ] });
20219
20354
  }
20220
20355
 
20356
+ // src/components/Layout/GridTableLayout/usePersistedTableView.ts
20357
+ var import_react102 = require("react");
20358
+ function usePersistedTableView(defaultView, persist) {
20359
+ const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
20360
+ const [view, setView] = (0, import_react102.useState)(() => {
20361
+ if (!storageKey) return defaultView;
20362
+ try {
20363
+ return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
20364
+ } catch {
20365
+ return defaultView;
20366
+ }
20367
+ });
20368
+ const setViewAndPersist = (0, import_react102.useCallback)(
20369
+ (next) => {
20370
+ setView(next);
20371
+ if (storageKey) {
20372
+ try {
20373
+ localStorage.setItem(storageKey, next);
20374
+ } catch {
20375
+ }
20376
+ }
20377
+ },
20378
+ [storageKey]
20379
+ );
20380
+ return [view, setViewAndPersist];
20381
+ }
20382
+ function getGridTableViewStorageKey(pathname) {
20383
+ return `beam.gridTableLayout.view.${pathname}`;
20384
+ }
20385
+ function parseStoredTableView(raw) {
20386
+ return raw === "list" || raw === "card" ? raw : void 0;
20387
+ }
20388
+
20221
20389
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
20222
20390
  var import_runtime78 = require("@homebound/truss/runtime");
20223
20391
  var import_jsx_runtime148 = require("react/jsx-runtime");
20392
+ var __maybeInc14 = (inc) => {
20393
+ return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
20394
+ };
20224
20395
  function GridTableLayoutComponent(props) {
20225
20396
  const {
20226
20397
  pageTitle,
@@ -20238,47 +20409,82 @@ function GridTableLayoutComponent(props) {
20238
20409
  } = props;
20239
20410
  const tid = useTestIds(props);
20240
20411
  const columns = tableProps.columns;
20241
- const hasHideableColumns = (0, import_react102.useMemo)(() => {
20412
+ const hasHideableColumns = (0, import_react103.useMemo)(() => {
20242
20413
  if (hideEditColumns) return false;
20243
20414
  validateColumns(columns);
20244
20415
  return columns.some((c) => c.canHide);
20245
20416
  }, [columns, hideEditColumns]);
20246
- const api = (0, import_react102.useMemo)(() => tableProps.api ?? new GridTableApiImpl(), [tableProps.api]);
20247
- const [view, setView] = (0, import_react102.useState)(defaultView);
20417
+ const api = (0, import_react103.useMemo)(() => tableProps.api ?? new GridTableApiImpl(), [tableProps.api]);
20418
+ const [view, setView] = usePersistedTableView(defaultView, !!withCardView);
20248
20419
  const clientSearch = layoutState?.search === "client" ? layoutState.searchString : void 0;
20249
- const showTableActions = layoutState?.filterDefs || layoutState?.search || hasHideableColumns || !!withCardView;
20420
+ const showTableActions = !!(layoutState?.filterDefs || layoutState?.search || hasHideableColumns || withCardView);
20250
20421
  const isVirtualized = tableProps.as === "virtual";
20422
+ const inDocumentScrollLayout = useDocumentScrollLayout();
20423
+ const tableActionsRef = (0, import_react103.useRef)(null);
20424
+ const tableWrapperRef = (0, import_react103.useRef)(null);
20425
+ useSetTableActionsHeight(tableWrapperRef, tableActionsRef, inDocumentScrollLayout && showTableActions);
20251
20426
  const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
20252
- (0, import_react102.useEffect)(() => {
20427
+ (0, import_react103.useEffect)(() => {
20253
20428
  if (layoutState?.setVisibleColumnIds) {
20254
20429
  layoutState.setVisibleColumnIds(visibleColumnIds);
20255
20430
  }
20256
20431
  }, [visibleColumnIds, layoutState]);
20257
20432
  const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
20433
+ const tableActionsEl = /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(TableActions, { right: (hasHideableColumns || withCardView) && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "df gap1", children: [
20434
+ hasHideableColumns && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(EditColumnsButton, { columns, api, tooltip: "Display columns", trigger: {
20435
+ icon: "kanban",
20436
+ size: "md",
20437
+ label: "",
20438
+ variant: "secondaryBlack"
20439
+ }, ...tid.editColumnsButton }),
20440
+ withCardView && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ViewToggleButton, { view, onChange: setView })
20441
+ ] }), xss: {
20442
+ paddingTop: "pt3",
20443
+ ...inDocumentScrollLayout ? {
20444
+ paddingLeft: "pl3",
20445
+ paddingRight: "pr3"
20446
+ } : {}
20447
+ }, children: layoutState && (layoutState.filterDefs || layoutState.search) && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(_FilterDropdownMenu, { filterDefs: layoutState.filterDefs, filter: layoutState.filter, onChange: layoutState.setFilter, groupBy: layoutState.groupBy, searchProps: layoutState.search ? {
20448
+ onSearch: layoutState.setSearchString
20449
+ } : void 0 }) });
20450
+ const tableBody = /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(import_jsx_runtime148.Fragment, { children: [
20451
+ view === "card" && withCardView ? withCardView : isGridTableProps(tableProps) ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(GridTable, { ...tableProps, api, filter: clientSearch, style: {
20452
+ allWhite: true
20453
+ }, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey }) : /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(QueryTable, { ...tableProps, api, filter: clientSearch, style: {
20454
+ allWhite: true
20455
+ }, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey }),
20456
+ layoutState && totalCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(Pagination, { page: [layoutState.page, layoutState._pagination.setPage], totalCount, pageSizes: layoutState._pagination.pageSizes, ...tid.pagination })
20457
+ ] });
20458
+ const tableScrollContent = /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(import_jsx_runtime148.Fragment, { children: [
20459
+ showTableActions && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { ref: tableActionsRef, ...(0, import_runtime78.trussProps)({
20460
+ ...inDocumentScrollLayout ? {
20461
+ transition: "transitionTop",
20462
+ position: "sticky",
20463
+ top: ["top_var", {
20464
+ "--top": (0, import_runtime78.maybeCssVar)(__maybeInc14(stickyNavAndHeaderOffset()))
20465
+ }],
20466
+ left: ["left_var", {
20467
+ "--left": (0, import_runtime78.maybeCssVar)(__maybeInc14(documentScrollChromeLeft()))
20468
+ }],
20469
+ width: ["w_var", {
20470
+ "--width": (0, import_runtime78.maybeCssVar)(__maybeInc14(documentScrollChromeWidth()))
20471
+ }],
20472
+ zIndex: ["z_var", {
20473
+ "--zIndex": (0, import_runtime78.maybeCssVar)(zIndices.tableActions)
20474
+ }],
20475
+ backgroundColor: ["bgColor_var", {
20476
+ "--backgroundColor": "var(--b-surface)"
20477
+ }]
20478
+ } : {}
20479
+ }), ...tid.stickyContent, children: tableActionsEl }),
20480
+ inDocumentScrollLayout ? tableBody : /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ScrollableContent, { virtualized: isVirtualized, children: tableBody })
20481
+ ] });
20258
20482
  return /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(import_jsx_runtime148.Fragment, { children: [
20259
20483
  pageTitle && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(Header2, { pageTitle, breadCrumb, primaryAction, secondaryAction, tertiaryAction, actionMenu }),
20260
- showTableActions && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(TableActions, { right: /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "df gap1", children: [
20261
- hasHideableColumns && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(EditColumnsButton, { columns, api, tooltip: "Display columns", trigger: {
20262
- icon: "kanban",
20263
- size: "md",
20264
- label: "",
20265
- variant: "secondaryBlack"
20266
- }, ...tid.editColumnsButton }),
20267
- withCardView && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ViewToggleButton, { view, onChange: setView })
20268
- ] }), children: layoutState && (layoutState.filterDefs || layoutState.search) && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(_FilterDropdownMenu, { filterDefs: layoutState.filterDefs, filter: layoutState.filter, onChange: layoutState.setFilter, groupBy: layoutState.groupBy, searchProps: layoutState.search ? {
20269
- onSearch: layoutState.setSearchString
20270
- } : void 0 }) }),
20271
- /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(ScrollableContent, { virtualized: isVirtualized, children: [
20272
- view === "card" && withCardView ? withCardView : isGridTableProps(tableProps) ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(GridTable, { ...tableProps, api, filter: clientSearch, style: {
20273
- allWhite: true
20274
- }, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey }) : /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(QueryTable, { ...tableProps, api, filter: clientSearch, style: {
20275
- allWhite: true
20276
- }, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey }),
20277
- layoutState && totalCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(Pagination, { page: [layoutState.page, layoutState._pagination.setPage], totalCount, pageSizes: layoutState._pagination.pageSizes, ...tid.pagination })
20278
- ] })
20484
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { ref: tableWrapperRef, className: "display_contents", ...tid.tableWrapper, children: tableScrollContent })
20279
20485
  ] });
20280
20486
  }
20281
- var GridTableLayout = import_react102.default.memo(GridTableLayoutComponent);
20487
+ var GridTableLayout = import_react103.default.memo(GridTableLayoutComponent);
20282
20488
  function validateColumns(columns) {
20283
20489
  for (const col of columns) {
20284
20490
  if (!col.id || !col.name) {
@@ -20304,7 +20510,7 @@ function useGridTableLayoutState({
20304
20510
  const groupBy = useGroupBy(maybeGroupBy ?? {
20305
20511
  none: "none"
20306
20512
  });
20307
- const [searchString, setSearchString] = (0, import_react102.useState)("");
20513
+ const [searchString, setSearchString] = (0, import_react103.useState)("");
20308
20514
  const columnsFallback = "unset-columns";
20309
20515
  const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(persistedColumns?.storageKey ?? columnsFallback, void 0);
20310
20516
  const paginationFallbackKey = "unset-pagination";
@@ -20314,11 +20520,11 @@ function useGridTableLayoutState({
20314
20520
  100
20315
20521
  // default page size
20316
20522
  );
20317
- const [page, setPage] = (0, import_react102.useState)({
20523
+ const [page, setPage] = (0, import_react103.useState)({
20318
20524
  offset: 0,
20319
20525
  limit: persistedPageSize
20320
20526
  });
20321
- (0, import_react102.useEffect)(() => {
20527
+ (0, import_react103.useEffect)(() => {
20322
20528
  if (page.limit !== persistedPageSize) setPersistedPageSize(page.limit);
20323
20529
  setPage((prev) => prev.offset === 0 ? prev : {
20324
20530
  ...prev,
@@ -20345,6 +20551,33 @@ function useGridTableLayoutState({
20345
20551
  }
20346
20552
  };
20347
20553
  }
20554
+ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
20555
+ const syncHeightVar = (0, import_react103.useCallback)(() => {
20556
+ const tableWrapper = tableWrapperRef.current;
20557
+ if (!tableWrapper) return;
20558
+ if (!enabled) {
20559
+ tableWrapper.style.removeProperty(beamTableActionsHeightVar);
20560
+ return;
20561
+ }
20562
+ const height = tableActionsRef.current ? Math.round(tableActionsRef.current.getBoundingClientRect().height) : 0;
20563
+ if (height > 0) {
20564
+ tableWrapper.style.setProperty(beamTableActionsHeightVar, `${height}px`);
20565
+ } else {
20566
+ tableWrapper.style.removeProperty(beamTableActionsHeightVar);
20567
+ }
20568
+ }, [enabled, tableActionsRef, tableWrapperRef]);
20569
+ (0, import_utils117.useResizeObserver)({
20570
+ ref: tableActionsRef,
20571
+ onResize: enabled ? syncHeightVar : noop
20572
+ });
20573
+ (0, import_react103.useLayoutEffect)(() => {
20574
+ syncHeightVar();
20575
+ const tableWrapper = tableWrapperRef.current;
20576
+ return () => {
20577
+ tableWrapper?.style.removeProperty(beamTableActionsHeightVar);
20578
+ };
20579
+ }, [tableWrapperRef, syncHeightVar]);
20580
+ }
20348
20581
  function Header2(props) {
20349
20582
  const {
20350
20583
  pageTitle,
@@ -20361,7 +20594,6 @@ function Header2(props) {
20361
20594
  paddingBottom: "pb3",
20362
20595
  paddingRight: "pr3",
20363
20596
  paddingLeft: "pl3",
20364
- marginBottom: "mb3",
20365
20597
  minHeight: "mh_50px",
20366
20598
  backgroundColor: "bgWhite",
20367
20599
  display: "df",
@@ -20398,9 +20630,9 @@ function PreventBrowserScroll({
20398
20630
  }
20399
20631
 
20400
20632
  // src/components/Layout/RightPaneLayout/RightPaneContext.tsx
20401
- var import_react103 = __toESM(require("react"), 1);
20633
+ var import_react104 = __toESM(require("react"), 1);
20402
20634
  var import_jsx_runtime150 = require("react/jsx-runtime");
20403
- var RightPaneContext = import_react103.default.createContext({
20635
+ var RightPaneContext = import_react104.default.createContext({
20404
20636
  openInPane: () => {
20405
20637
  },
20406
20638
  closePane: () => {
@@ -20411,33 +20643,33 @@ var RightPaneContext = import_react103.default.createContext({
20411
20643
  rightPaneContent: null
20412
20644
  });
20413
20645
  function RightPaneProvider({ children }) {
20414
- const [rightPaneContent, setRightPaneContent] = (0, import_react103.useState)(void 0);
20415
- const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react103.useState)(false);
20416
- const openInPane = (0, import_react103.useCallback)(
20646
+ const [rightPaneContent, setRightPaneContent] = (0, import_react104.useState)(void 0);
20647
+ const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react104.useState)(false);
20648
+ const openInPane = (0, import_react104.useCallback)(
20417
20649
  (opts) => {
20418
20650
  setRightPaneContent(opts?.content);
20419
20651
  setIsRightPaneOpen(true);
20420
20652
  },
20421
20653
  [setRightPaneContent]
20422
20654
  );
20423
- const closePane = (0, import_react103.useCallback)(() => setIsRightPaneOpen(false), []);
20424
- const clearPane = (0, import_react103.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
20425
- const context = (0, import_react103.useMemo)(
20655
+ const closePane = (0, import_react104.useCallback)(() => setIsRightPaneOpen(false), []);
20656
+ const clearPane = (0, import_react104.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
20657
+ const context = (0, import_react104.useMemo)(
20426
20658
  () => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
20427
20659
  [openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
20428
20660
  );
20429
20661
  return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(RightPaneContext.Provider, { value: context, children });
20430
20662
  }
20431
20663
  function useRightPaneContext() {
20432
- return (0, import_react103.useContext)(RightPaneContext);
20664
+ return (0, import_react104.useContext)(RightPaneContext);
20433
20665
  }
20434
20666
 
20435
20667
  // src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
20436
20668
  var import_framer_motion3 = require("framer-motion");
20437
- var import_react104 = require("react");
20669
+ var import_react105 = require("react");
20438
20670
  var import_runtime79 = require("@homebound/truss/runtime");
20439
20671
  var import_jsx_runtime151 = require("react/jsx-runtime");
20440
- var __maybeInc13 = (inc) => {
20672
+ var __maybeInc15 = (inc) => {
20441
20673
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
20442
20674
  };
20443
20675
  function RightPaneLayout(props) {
@@ -20453,12 +20685,12 @@ function RightPaneLayout(props) {
20453
20685
  clearPane,
20454
20686
  closePane
20455
20687
  } = useRightPaneContext();
20456
- (0, import_react104.useEffect)(() => closePane, [closePane]);
20688
+ (0, import_react105.useEffect)(() => closePane, [closePane]);
20457
20689
  return /* @__PURE__ */ (0, import_jsx_runtime151.jsx)("div", { className: "h100 df oxh", children: /* @__PURE__ */ (0, import_jsx_runtime151.jsxs)(import_jsx_runtime151.Fragment, { children: [
20458
20690
  /* @__PURE__ */ (0, import_jsx_runtime151.jsx)("div", { ...(0, import_runtime79.trussProps)({
20459
20691
  ...{
20460
20692
  width: ["w_var", {
20461
- "--width": (0, import_runtime79.maybeCssVar)(__maybeInc13(`calc(100% - ${paneWidth + 24}px)`))
20693
+ "--width": (0, import_runtime79.maybeCssVar)(__maybeInc15(`calc(100% - ${paneWidth + 24}px)`))
20462
20694
  }],
20463
20695
  transition: "transition_width_2s_linear",
20464
20696
  height: "h100",
@@ -20474,7 +20706,7 @@ function RightPaneLayout(props) {
20474
20706
  ...{
20475
20707
  ...!!defaultPaneContent ? {
20476
20708
  width: ["w_var", {
20477
- "--width": (0, import_runtime79.maybeCssVar)(__maybeInc13(`calc(100% - ${paneWidth + 24}px)`))
20709
+ "--width": (0, import_runtime79.maybeCssVar)(__maybeInc15(`calc(100% - ${paneWidth + 24}px)`))
20478
20710
  }],
20479
20711
  marginRight: "mr3"
20480
20712
  } : {}
@@ -20565,7 +20797,7 @@ function ScrollableFooter(props) {
20565
20797
 
20566
20798
  // src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
20567
20799
  var import_framer_motion4 = require("framer-motion");
20568
- var import_react105 = require("react");
20800
+ var import_react106 = require("react");
20569
20801
 
20570
20802
  // src/components/Layout/TableReviewLayout/SidePanel.tsx
20571
20803
  var import_jsx_runtime153 = require("react/jsx-runtime");
@@ -20605,8 +20837,8 @@ function TableReviewLayout(props) {
20605
20837
  rightPaneWidth = defaultRightPaneWidth
20606
20838
  } = props;
20607
20839
  const tid = useTestIds(props, "tableReviewLayout");
20608
- const [isPanelVisible, setIsPanelVisible] = (0, import_react105.useState)(!!panelContent);
20609
- (0, import_react105.useEffect)(() => {
20840
+ const [isPanelVisible, setIsPanelVisible] = (0, import_react106.useState)(!!panelContent);
20841
+ (0, import_react106.useEffect)(() => {
20610
20842
  setIsPanelVisible(!!panelContent);
20611
20843
  }, [panelContent]);
20612
20844
  function handleClosePanel() {
@@ -20703,7 +20935,7 @@ function TableReviewLayout(props) {
20703
20935
 
20704
20936
  // src/components/BeamContext.tsx
20705
20937
  var import_jsx_runtime155 = require("react/jsx-runtime");
20706
- var BeamContext = (0, import_react106.createContext)({
20938
+ var BeamContext = (0, import_react107.createContext)({
20707
20939
  modalState: new EmptyRef(),
20708
20940
  modalCanCloseChecks: new EmptyRef(),
20709
20941
  modalHeaderDiv: void 0,
@@ -20715,21 +20947,21 @@ var BeamContext = (0, import_react106.createContext)({
20715
20947
  sdHeaderDiv: void 0
20716
20948
  });
20717
20949
  function BeamProvider({ children, ...presentationProps }) {
20718
- const [, tick] = (0, import_react106.useReducer)((prev) => prev + 1, 0);
20719
- const modalRef = (0, import_react106.useRef)();
20720
- const modalHeaderDiv = (0, import_react106.useMemo)(() => document.createElement("div"), []);
20721
- const modalBodyDiv = (0, import_react106.useMemo)(() => {
20950
+ const [, tick] = (0, import_react107.useReducer)((prev) => prev + 1, 0);
20951
+ const modalRef = (0, import_react107.useRef)();
20952
+ const modalHeaderDiv = (0, import_react107.useMemo)(() => document.createElement("div"), []);
20953
+ const modalBodyDiv = (0, import_react107.useMemo)(() => {
20722
20954
  const el = document.createElement("div");
20723
20955
  el.style.height = "100%";
20724
20956
  return el;
20725
20957
  }, []);
20726
- const modalCanCloseChecksRef = (0, import_react106.useRef)([]);
20727
- const modalFooterDiv = (0, import_react106.useMemo)(() => document.createElement("div"), []);
20728
- const drawerContentStackRef = (0, import_react106.useRef)([]);
20729
- const drawerCanCloseChecks = (0, import_react106.useRef)([]);
20730
- const drawerCanCloseDetailsChecks = (0, import_react106.useRef)([]);
20731
- const sdHeaderDiv = (0, import_react106.useMemo)(() => document.createElement("div"), []);
20732
- const context = (0, import_react106.useMemo)(() => {
20958
+ const modalCanCloseChecksRef = (0, import_react107.useRef)([]);
20959
+ const modalFooterDiv = (0, import_react107.useMemo)(() => document.createElement("div"), []);
20960
+ const drawerContentStackRef = (0, import_react107.useRef)([]);
20961
+ const drawerCanCloseChecks = (0, import_react107.useRef)([]);
20962
+ const drawerCanCloseDetailsChecks = (0, import_react107.useRef)([]);
20963
+ const sdHeaderDiv = (0, import_react107.useMemo)(() => document.createElement("div"), []);
20964
+ const context = (0, import_react107.useMemo)(() => {
20733
20965
  return {
20734
20966
  // These two keys need to trigger re-renders on change
20735
20967
  modalState: new PretendRefThatTicks(modalRef, tick),
@@ -20766,18 +20998,18 @@ var PretendRefThatTicks = class {
20766
20998
  }
20767
20999
  };
20768
21000
  function useBeamContext() {
20769
- return (0, import_react106.useContext)(BeamContext);
21001
+ return (0, import_react107.useContext)(BeamContext);
20770
21002
  }
20771
21003
 
20772
21004
  // src/components/ButtonDatePicker.tsx
20773
- var import_react107 = require("react");
21005
+ var import_react108 = require("react");
20774
21006
  var import_react_aria47 = require("react-aria");
20775
21007
  var import_react_stately18 = require("react-stately");
20776
21008
  var import_jsx_runtime156 = require("react/jsx-runtime");
20777
21009
  function ButtonDatePicker(props) {
20778
21010
  const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
20779
21011
  const state = (0, import_react_stately18.useMenuTriggerState)({ isOpen: defaultOpen });
20780
- const buttonRef = (0, import_react107.useRef)(null);
21012
+ const buttonRef = (0, import_react108.useRef)(null);
20781
21013
  const {
20782
21014
  menuTriggerProps,
20783
21015
  menuProps: { autoFocus: _af, ...menuProps }
@@ -20800,7 +21032,7 @@ function ButtonDatePicker(props) {
20800
21032
  }
20801
21033
 
20802
21034
  // src/components/ButtonGroup.tsx
20803
- var import_react108 = require("react");
21035
+ var import_react109 = require("react");
20804
21036
  var import_react_aria48 = require("react-aria");
20805
21037
  var import_runtime81 = require("@homebound/truss/runtime");
20806
21038
  var import_jsx_runtime157 = (
@@ -20848,7 +21080,7 @@ function GroupButton(props) {
20848
21080
  isDisabled: !!disabled,
20849
21081
  ...otherProps
20850
21082
  };
20851
- const ref = (0, import_react108.useRef)(null);
21083
+ const ref = (0, import_react109.useRef)(null);
20852
21084
  const {
20853
21085
  buttonProps,
20854
21086
  isPressed
@@ -20966,12 +21198,12 @@ var iconStyles2 = {
20966
21198
  };
20967
21199
 
20968
21200
  // src/components/Card.tsx
20969
- var import_react110 = require("react");
21201
+ var import_react111 = require("react");
20970
21202
  var import_react_aria49 = require("react-aria");
20971
21203
 
20972
21204
  // src/components/Tag.tsx
20973
- var import_utils123 = require("@react-aria/utils");
20974
- var import_react109 = require("react");
21205
+ var import_utils124 = require("@react-aria/utils");
21206
+ var import_react110 = require("react");
20975
21207
  var import_runtime82 = require("@homebound/truss/runtime");
20976
21208
  var import_jsx_runtime158 = require("react/jsx-runtime");
20977
21209
  function Tag(props) {
@@ -20984,9 +21216,9 @@ function Tag(props) {
20984
21216
  } = props;
20985
21217
  const typeStyles2 = getStyles(type);
20986
21218
  const tid = useTestIds(otherProps);
20987
- const [showTooltip, setShowTooltip] = (0, import_react109.useState)(false);
20988
- const ref = (0, import_react109.useRef)(null);
20989
- (0, import_utils123.useResizeObserver)({
21219
+ const [showTooltip, setShowTooltip] = (0, import_react110.useState)(false);
21220
+ const ref = (0, import_react110.useRef)(null);
21221
+ (0, import_utils124.useResizeObserver)({
20990
21222
  ref,
20991
21223
  onResize: () => {
20992
21224
  if (ref.current) {
@@ -21070,7 +21302,7 @@ function Card(props) {
21070
21302
  });
21071
21303
  const isList = type === "list";
21072
21304
  const imgHeight = isList ? 96 : bordered ? 224 : 256;
21073
- const styles = (0, import_react110.useMemo)(() => ({
21305
+ const styles = (0, import_react111.useMemo)(() => ({
21074
21306
  ...baseStyles4(type),
21075
21307
  ...isList && listStyles,
21076
21308
  ...bordered && borderedStyles,
@@ -21194,17 +21426,17 @@ function Copy(props) {
21194
21426
 
21195
21427
  // src/components/DnDGrid/DnDGrid.tsx
21196
21428
  var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
21197
- var import_react112 = require("react");
21429
+ var import_react113 = require("react");
21198
21430
 
21199
21431
  // src/components/DnDGrid/DnDGridContext.tsx
21200
- var import_react111 = require("react");
21201
- var DnDGridContext = (0, import_react111.createContext)({
21432
+ var import_react112 = require("react");
21433
+ var DnDGridContext = (0, import_react112.createContext)({
21202
21434
  dragEl: { current: void 0 },
21203
21435
  onDragHandleKeyDown: () => {
21204
21436
  }
21205
21437
  });
21206
21438
  function useDnDGridContext() {
21207
- return (0, import_react111.useContext)(DnDGridContext);
21439
+ return (0, import_react112.useContext)(DnDGridContext);
21208
21440
  }
21209
21441
 
21210
21442
  // src/components/DnDGrid/DnDGrid.tsx
@@ -21217,12 +21449,12 @@ function DnDGrid(props) {
21217
21449
  onReorder,
21218
21450
  activeItemStyles
21219
21451
  } = props;
21220
- const gridEl = (0, import_react112.useRef)(null);
21221
- const dragEl = (0, import_react112.useRef)();
21222
- const cloneEl = (0, import_react112.useRef)();
21223
- const initialOrder = (0, import_react112.useRef)();
21224
- const reorderViaKeyboard = (0, import_react112.useRef)(false);
21225
- const transformFrom = (0, import_react112.useRef)({
21452
+ const gridEl = (0, import_react113.useRef)(null);
21453
+ const dragEl = (0, import_react113.useRef)();
21454
+ const cloneEl = (0, import_react113.useRef)();
21455
+ const initialOrder = (0, import_react113.useRef)();
21456
+ const reorderViaKeyboard = (0, import_react113.useRef)(false);
21457
+ const transformFrom = (0, import_react113.useRef)({
21226
21458
  x: 0,
21227
21459
  y: 0
21228
21460
  });
@@ -21230,19 +21462,19 @@ function DnDGrid(props) {
21230
21462
  const activeStyles3 = activeItemStyles ?? {
21231
21463
  boxShadow: "bshModal"
21232
21464
  };
21233
- const getGridItems = (0, import_react112.useCallback)(() => {
21465
+ const getGridItems = (0, import_react113.useCallback)(() => {
21234
21466
  return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
21235
21467
  }, []);
21236
- const getGridItemIdOrder = (0, import_react112.useCallback)(() => {
21468
+ const getGridItemIdOrder = (0, import_react113.useCallback)(() => {
21237
21469
  return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
21238
21470
  }, [getGridItems]);
21239
- const initReorder = (0, import_react112.useCallback)(() => {
21471
+ const initReorder = (0, import_react113.useCallback)(() => {
21240
21472
  if (gridEl.current && dragEl.current) {
21241
21473
  initialOrder.current = getGridItemIdOrder();
21242
21474
  setInlineStyles(dragEl.current, activeStyles3);
21243
21475
  }
21244
21476
  }, [getGridItemIdOrder, activeStyles3]);
21245
- const commitReorder = (0, import_react112.useCallback)(() => {
21477
+ const commitReorder = (0, import_react113.useCallback)(() => {
21246
21478
  if (gridEl.current && dragEl.current) {
21247
21479
  const currentOrder = getGridItemIdOrder();
21248
21480
  if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
@@ -21252,7 +21484,7 @@ function DnDGrid(props) {
21252
21484
  initialOrder.current = currentOrder;
21253
21485
  }
21254
21486
  }, [onReorder, getGridItemIdOrder, activeStyles3]);
21255
- const cancelReorder = (0, import_react112.useCallback)(() => {
21487
+ const cancelReorder = (0, import_react113.useCallback)(() => {
21256
21488
  if (gridEl.current && dragEl.current && initialOrder.current) {
21257
21489
  const currentOrder = getGridItemIdOrder();
21258
21490
  if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
@@ -21274,7 +21506,7 @@ function DnDGrid(props) {
21274
21506
  reorderViaKeyboard.current = false;
21275
21507
  }
21276
21508
  }, [getGridItemIdOrder, getGridItems, activeStyles3]);
21277
- const onMove = (0, import_react112.useCallback)((e) => {
21509
+ const onMove = (0, import_react113.useCallback)((e) => {
21278
21510
  if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
21279
21511
  const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
21280
21512
  const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
@@ -21297,7 +21529,7 @@ function DnDGrid(props) {
21297
21529
  }
21298
21530
  }
21299
21531
  }, []);
21300
- const onDragStart = (0, import_react112.useCallback)((e) => {
21532
+ const onDragStart = (0, import_react113.useCallback)((e) => {
21301
21533
  if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
21302
21534
  initReorder();
21303
21535
  const rect = dragEl.current.getBoundingClientRect();
@@ -21327,7 +21559,7 @@ function DnDGrid(props) {
21327
21559
  gridEl.current.addEventListener("touchmove", onMove);
21328
21560
  }
21329
21561
  }, [initReorder, onMove, activeStyles3]);
21330
- const onDragEnd = (0, import_react112.useCallback)((e) => {
21562
+ const onDragEnd = (0, import_react113.useCallback)((e) => {
21331
21563
  if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
21332
21564
  e.preventDefault();
21333
21565
  cloneEl.current.replaceWith(dragEl.current);
@@ -21340,7 +21572,7 @@ function DnDGrid(props) {
21340
21572
  gridEl.current.removeEventListener("touchmove", onMove);
21341
21573
  }
21342
21574
  }, [commitReorder, onMove]);
21343
- const onDragHandleKeyDown = (0, import_react112.useCallback)((e) => {
21575
+ const onDragHandleKeyDown = (0, import_react113.useCallback)((e) => {
21344
21576
  const moveHandle = e.target;
21345
21577
  if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
21346
21578
  const isSpaceKey = e.key === " ";
@@ -21457,11 +21689,11 @@ function DnDGridItemHandle(props) {
21457
21689
  }
21458
21690
 
21459
21691
  // src/components/DnDGrid/useDnDGridItem.tsx
21460
- var import_react113 = require("react");
21692
+ var import_react114 = require("react");
21461
21693
  function useDnDGridItem(props) {
21462
21694
  const { id, itemRef } = props;
21463
21695
  const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
21464
- const { dragItemProps, dragHandleProps } = (0, import_react113.useMemo)(
21696
+ const { dragItemProps, dragHandleProps } = (0, import_react114.useMemo)(
21465
21697
  () => {
21466
21698
  function initDraggable() {
21467
21699
  if (itemRef.current) {
@@ -21488,12 +21720,12 @@ function useDnDGridItem(props) {
21488
21720
  }
21489
21721
 
21490
21722
  // src/components/Grid/ResponsiveGrid.tsx
21491
- var import_react115 = require("react");
21723
+ var import_react116 = require("react");
21492
21724
 
21493
21725
  // src/components/Grid/utils.ts
21494
- var import_react114 = require("react");
21726
+ var import_react115 = require("react");
21495
21727
  var gridItemDataAttribute = "data-grid-item-span";
21496
- var ResponsiveGridContext = (0, import_react114.createContext)(void 0);
21728
+ var ResponsiveGridContext = (0, import_react115.createContext)(void 0);
21497
21729
 
21498
21730
  // src/components/Grid/ResponsiveGrid.tsx
21499
21731
  var import_runtime87 = require("@homebound/truss/runtime");
@@ -21512,7 +21744,7 @@ function ResponsiveGrid(props) {
21512
21744
  gap,
21513
21745
  columns
21514
21746
  });
21515
- const config = (0, import_react115.useMemo)(() => ({
21747
+ const config = (0, import_react116.useMemo)(() => ({
21516
21748
  minColumnWidth,
21517
21749
  gap,
21518
21750
  columns
@@ -21539,9 +21771,9 @@ function ResponsiveGridItem(props) {
21539
21771
  }
21540
21772
 
21541
21773
  // src/components/Grid/useResponsiveGrid.ts
21542
- var import_react116 = require("react");
21774
+ var import_react117 = require("react");
21543
21775
  var import_runtime89 = require("@homebound/truss/runtime");
21544
- var __maybeInc14 = (inc) => {
21776
+ var __maybeInc16 = (inc) => {
21545
21777
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
21546
21778
  };
21547
21779
  function useResponsiveGrid(props) {
@@ -21550,7 +21782,7 @@ function useResponsiveGrid(props) {
21550
21782
  gap,
21551
21783
  columns
21552
21784
  } = props;
21553
- const gridStyles = (0, import_react116.useMemo)(() => {
21785
+ const gridStyles = (0, import_react117.useMemo)(() => {
21554
21786
  const gapCount = columns - 1;
21555
21787
  const totalGapWidth = gap * gapCount;
21556
21788
  const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
@@ -21563,7 +21795,7 @@ function useResponsiveGrid(props) {
21563
21795
  }],
21564
21796
  containerType: "ctis",
21565
21797
  gap: ["gap_var", {
21566
- "--gap": (0, import_runtime89.maybeCssVar)(__maybeInc14(gridGap))
21798
+ "--gap": (0, import_runtime89.maybeCssVar)(__maybeInc16(gridGap))
21567
21799
  }]
21568
21800
  };
21569
21801
  }, [minColumnWidth, gap, columns]);
@@ -21573,14 +21805,14 @@ function useResponsiveGrid(props) {
21573
21805
  }
21574
21806
 
21575
21807
  // src/components/Grid/useResponsiveGridItem.ts
21576
- var import_react117 = require("react");
21808
+ var import_react118 = require("react");
21577
21809
  var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
21578
21810
  var responsiveGridStyleEl;
21579
21811
  function useResponsiveGridItem(props) {
21580
21812
  const { colSpan = 1, gridConfig } = props;
21581
- const contextConfig = (0, import_react117.useContext)(ResponsiveGridContext);
21813
+ const contextConfig = (0, import_react118.useContext)(ResponsiveGridContext);
21582
21814
  const config = gridConfig ?? contextConfig;
21583
- const { className, cssText } = (0, import_react117.useMemo)(() => {
21815
+ const { className, cssText } = (0, import_react118.useMemo)(() => {
21584
21816
  if (!config || colSpan <= 1) return { className: "", cssText: "" };
21585
21817
  const { minColumnWidth, gap } = config;
21586
21818
  const className2 = responsiveGridItemClassName(config, colSpan);
@@ -21603,7 +21835,7 @@ function useResponsiveGridItem(props) {
21603
21835
  };
21604
21836
  }
21605
21837
  function useResponsiveGridItemStyle(className, cssText) {
21606
- (0, import_react117.useEffect)(
21838
+ (0, import_react118.useEffect)(
21607
21839
  function() {
21608
21840
  if (!className || !cssText || typeof document === "undefined") return;
21609
21841
  if (!responsiveGridStyleEl) {
@@ -21625,7 +21857,7 @@ function responsiveGridItemClassName(config, colSpan) {
21625
21857
  }
21626
21858
 
21627
21859
  // src/components/HbLoadingSpinner.tsx
21628
- var import_react118 = __toESM(require("react"), 1);
21860
+ var import_react119 = __toESM(require("react"), 1);
21629
21861
 
21630
21862
  // src/components/HbLoadingSpinner.base64.ts
21631
21863
  var HbLoadingSpinner_base64_default = "data:image/gif,GIF89a%80%00%80%00%E7%00%00%00%00%00%0D%0D%0D%16%16%16%1C%1C%1C%22%22%22%26%26%26%2A%2A%2A...222555888%3B%3B%3B%3D%3D%3D%40%40%40BBBEEEGGGIIIKKKMMMOOOQQQSSSUUUVVVXXXZZZ%5C%5C%5C%5D%5D%5D___%60%60%60bbbccceeefffhhhiiijjjlllmmmnnnpppqqqrrrsssuuuvvvwwwxxxyyyzzz%7C%7C%7C%7D%7D%7D~~~%7F%7F%7F%80%80%80%81%81%81%82%82%82%83%83%83%84%84%84%85%85%85%86%86%86%87%87%87%88%88%88%89%89%89%8A%8A%8A%8B%8B%8B%8C%8C%8C%8D%8D%8D%8E%8E%8E%8F%8F%8F%90%90%90%91%91%91%92%92%92%93%93%93%94%94%94%95%95%95%96%96%96%97%97%97%98%98%98%99%99%99%9A%9A%9A%9B%9B%9B%9C%9C%9C%9D%9D%9D%9E%9E%9E%9F%9F%9F%A0%A0%A0%A1%A1%A1%A2%A2%A2%A3%A3%A3%A4%A4%A4%A5%A5%A5%A6%A6%A6%A7%A7%A7%A8%A8%A8%A9%A9%A9%AA%AA%AA%AB%AB%AB%AC%AC%AC%AD%AD%AD%AE%AE%AE%AF%AF%AF%B0%B0%B0%B1%B1%B1%B2%B2%B2%B3%B3%B3%B4%B4%B4%B5%B5%B5%B6%B6%B6%B7%B7%B7%B8%B8%B8%B9%B9%B9%BA%BA%BA%BB%BB%BB%BC%BC%BC%BD%BD%BD%BE%BE%BE%BF%BF%BF%C0%C0%C0%C1%C1%C1%C2%C2%C2%C3%C3%C3%C4%C4%C4%C5%C5%C5%C6%C6%C6%C7%C7%C7%C8%C8%C8%C9%C9%C9%CA%CA%CA%CB%CB%CB%CC%CC%CC%CD%CD%CD%CE%CE%CE%CF%CF%CF%D0%D0%D0%D1%D1%D1%D2%D2%D2%D3%D3%D3%D4%D4%D4%D5%D5%D5%D6%D6%D6%D7%D7%D7%D8%D8%D8%D9%D9%D9%DA%DA%DA%DB%DB%DB%DC%DC%DC%DD%DD%DD%DE%DE%DE%DF%DF%DF%E0%E0%E0%E1%E1%E1%E2%E2%E2%E3%E3%E3%E4%E4%E4%E5%E5%E5%E6%E6%E6%E7%E7%E7%E8%E8%E8%E9%E9%E9%EA%EA%EA%EB%EB%EB%EC%EC%EC%ED%ED%ED%EE%EE%EE%EF%EF%EF%F0%F0%F0%F1%F1%F1%F2%F2%F2%F3%F3%F3%F4%F4%F4%F5%F5%F5%F6%F6%F6%F7%F7%F7%F8%F8%F8%F9%F9%F9%FA%FA%FA%FB%FB%FB%FC%FC%FC%FD%FD%FD%FE%FE%FE%FF%FF%FF%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%21%FF%0BNETSCAPE2.0%03%01%00%00%00%21%FE%11Created%20with%20GIMP%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%DD%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%EC7%80%80%C7%02%02%EC%0D%40%99%F2%E4%CA%92%2F%5B%E6%5B%99%B1%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%BB%B6%ED%DB%B8s%EB%DE%CD%BB%B7%EF%DF%C0%83%D7%0E%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FC%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF7%03%88%1E-Z%80%E9%01%04%0A%188p%00A%82%05%0D%1EH%A8%C0%964i%D3%02P%ABn%FD%9A%01%5C%DB%A3O%EB%5EM%17x%00%DC%A8%EF%1A%3F%0E%BA%B9%F3%E7%D0%A3K%9FN%BD%BA%F5%EB%D8%B3k%DF%CE%BD%3B%CA%80%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%20%03%88%160%80%40%81%03%09%16%40%B0%D0%A1%04%8C%1EK%B0%90%89%B3%87%D0%A2H%966y%0A5%AAT%29S%A7P%A5J%A5J%D5%AA%E3%C8Y%B1Z%15U%F4h%D2%04%0C%20X%F0%80B%06%11%2Cp%14%A1%22%06%0E%9FB%8D%2A%B7m%02E%EAT%AAU%AD%5C%BD%82%05%2B%96%AC%F7%B2f%C9%9FO%D5y%00%E8%A8%19%3C%60%5D%C2%05%8F%25Y%981%87%1F%88DrI%27%A2%94%82%8A%2A%E9%AD%D7%1E%7C%F1%CD7KU%F6A%27%9D%02%0EH%80%C1%07%29%D0%10%84%13%5D%ACq%C7%20%8CL%A2%09y%A7%A8%C2J%2B%EB%C5%E2%DE%7B%12NhU%85%A5I%B7%80%03%13l%20%C2%0A7%18AE%18o%ECQ%88%23%96p%12%8A%82%E8%B5%F8b%84%F2%7D%E5%9C%00%D0%15p%A1~%11P%60%01%06%1Al%D0A%07%1E%7C%00%C2%97%21%84%29f%08%A0%95i%E6%99h%A6%A9%E6%9Al%B6%E9%E6%9Bp%C6%29%E7%9Ctf%15%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%14%03%88%160%80%80%01%04%0D%26p%40%81C%89%965w%02%25z4%C9R%A6M%9D%3C%7D%FA%04%2AT%28Q%A3F%91%22U%AAxqS%A6N%9DB%C5%1CU%AA%E7%AA%A2%ABZE%FD%E8%E8%D2%06%124%A8%00%82%05%8F%27a%E4%D6%FCI%14%E9%12%A7O%A1%88%27_%0E%9D%3A%2BV%AD%E2%BB%9A%FF%EA%15%AC%FB%B0b%E9%8F%25%AB%BF%7F%A4%A2%05%20%80i%0A%3C%60%01%08-%F8%10%05%19t%00%B2%C8%24%99t%02%CA%28%A5%24%E7%5C%2A%D3%AD%F2%5E%7C%F2%D5g%1F~%FB%F1%E7%DF%7F%00%8A%86%5D%81%07%BA%F0%83%14%0C%06%C2%08%25%9Ax%22%0A%29%16b%E8%1E%7C%1C%D2W%1F%88%FB%8D%D8%DF%2C%B2%285%DA%80%D99%60A%08.%001E%19u%0C%D2H%25%9BLX%0A%7B%D3m%98%A3%2B%3B%F2%28%A2%8F%B3%00%F9T%80%A4%99%96%00%03%0FHP%C1%05%19l%C0A%07%1Dx%E0%C1%07p%C6%F9%01%08t%D6i%27%08%21%E4%A9%E7%9E%21%80%E6%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%0E%03%88%1EP%E0%00%83%0A%20%60%0C%C1%82%A6%CE%9FC%8C%1EE%9AD%A9%92%25K%970e%CA%A4I%D3%A6M%9C8u%F2D%FC%D3%27P%A0B%29%17%25j%94sR%A4JI%9F%5E%CA%94%F5S%D8%7F%8A%0E0%80%80%01%05%116%EF%A4%E0%21%A5L%1DA%8B%22U%CA%04%7C%B8%F1%E4%A1%98%3F%9F~%1D%3B%2AT%A9R%A9%DA%BF%AA%3F%AB%FF%AD%04%18%A0%2B%04%BE%F2%8A%2BA%05%20%00i%08%9C%16%02%0CFl%E1%06%1F%88%3C%B2%1Ep%9E%1C%97%9C%7C%A3%40%27%5D%7D%F7%DD%A7%1F%7F%FE%01%28%60%2B%04%BAb%E0%2B%B0%BC%92%A0%82%DE%29%00%81%06%27%E8%10E%19v%0C%D2%C8%24%98l%D2%89%86%F1%3D%17%DD%87%D8%9D%22b~%24%AE%F2%1F%2B%27%A6X%E0%8A-%0A%25%9A%00%04%98FAjFh%E1%86%1F%89Dr%89%8F%C7q%E8au%A6%D8w%E4~%AA%94%C8%E4%89%28%3E%C9%22%2Cp%C2b%D4%94%0C.%E0%80%04%15%5C%90%81%06%1Bp%E0g%07%80%06%DA%81%07%84%16Z%E8%07%88%26%AA%28%A2%204%EA%E8%A3%8E%82%26%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%9AU%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%08%03%88%1EP%00%C1%03%0C%26t%40%19%23%87%8F%A0C%8A%185r%F4%A86%A4H%B8%25%E9%9E4%89%92%EFJ%C0%2BY%1An%E9%92qL%982e%D2%C4%5C%D3%A6%E7%9C6q%9A%DE%A9%BA%A7%EB%D8u%8E.%DD%E0B%89%1CQ%CC%F2%D4%09%94%C8%91%24J%C2%8D_J%BE%9C9t%EA%D5%3Ba%FFD%FF%13%28P%A1%F2%87%12%C5%7F%94%FFQ%A4%04X%CA%80%03%9Ab%E0%29%A6h%17%C0%00%04%1C%C0%40%05%22%D4%B0D%18s%FC%91%C8%23%93Tb%9Cr%ED9%27%1D%7C%D8yR%DF%7D%F8%E9%C7_%7F%FE%05%28%20%81%06%1Ex%CA%8B%A7%28%28%00%01%06%28%20%C1%070%18%D1%05%1C~%20%82aq%ED%3D%F7a%7C%F2%898%E2%7D%26%A2%F8%9F%8A%04%B2%E8%E2%8B%A8D%89%CAN%DB%25%00%C1%06%2A%00%81%05%1B%7C%F8H%89%25%CB%7D%C8I%7C%F3%D9%87d%89%FB%9D%B8%E4%8AN%3E%09%A5%94R%FA%24%9A%00%A4%21%B0%C0%03%12TpA%06%19h%A0%C1%06%80%06%1A%28%07%84%16j%28%A1%1D%24%AA%E8%A2%8Bz%E0%E8%A3%90F%EA%01h%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%03%03%04%18P%E0%40%83%0B%25r%3C%11%03gO%A0B%87%10%25%9A%AD%A86%ED%DA%B8%15%CDN%A4%BB7%EE%DD%BAy%E7%BE%1D%5C%B8%EF%E0%BF%13%D1%0C%20%80t%82%07%1AR%F8%B0%92%06%8F%A0D%8D%1EE%92%C4%BD%BB%F7%EF%E0%C3%A7%8B%1FO%DE%FB%F2%D1%05%9EkX%01%C4%CA%9A%3C%83%149%8A4i%12%A5%FB%F8%F3%EB%DF%CF%1F%BF%FD%FE%00%F27%C9y%A4%21%F0%C0%06%ECa%B1%C6%1E%850%02%89%7D%95D%18%A1%25%14JXI%85%17Z%22%21%86%16%5E8%A1%86%19n%D8%21%85%20~%18%E1y%02%10%A0%9E%0A%40d%D1%06%1F%874%22%09%25%17%5Eb%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8D8%89%D6%1C%01%06%400%81%05%17%60%90A%06%1A4%E9%E4%93PF%29%E5%94TV%F9%24hXf%A9%E5%96%5Cv%E9%E5%97%60%86%29%E6%98d%96i%E6%99Y%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CD%01%02%08%20%60%40A%84%0E%2C~P13%87O%A0B%87b%CB%8Em%A8P%21B%84%06%09%DA%1D%A8%F7%9F%DF%7F%FC%F4%E9%C3%87%CF%9E%3Dz%F2%E0%C1s%E7%8E%9D%E7u%EA%D0%A13G%8E%9C8p%E0%BCq%D3%A6%3B%9B5%E0%D3%FE%88Gs%C6%8C%992%2CC%8B%1Ep%80%81%85%115%96%80%81%C3%A7%90%A2F%8F%20Az%C4%FF%91%23G%8D%04%C8%08%23%8B%2C%A2%88%22%89%24%82%C8%82%87%D4f%5Bn%BC%05%02%08%20%C1%F9a%21q%C7%21%97%87r%CDE7%1Du%D6e%97%DD%1B%DD%B5%14%DA%00%05%24%E0%00%06%27%EC%20%85%19u%00%82%08~%91Hbc%248%EE%E7%DF%7F%0062%20%81%08%2A%88%88l%0E%E2F%C8n%82%F4Fa%85%C3%19%A7%21%87%CEy%08%A2u%D8%C1a%A2%00%03%94%26%01%07%2C%04%91%C5%1Az%10%B2%C8%23%92L2%09%25fNrc%8E%FD%FD%17%A0%8F%05%1A%98%A0%82%B4%15%09%21oK%06G%9C%93%7Bl%98Gs%D0IG%5Du%E9%89F%40%7B%15%880%83%12_%C4%F1%07%22%8EHB%09%25%95T%3A%29%9Aj%AE%19%89%8En%0A8%A0%9C%092H%DB%83%10%2A%B9%E4%85%C5e%98%1Cs%80z%08ShNX%12P%C0%01%09%28%B0%00%03%0C4%D0%40%06%BC%F6%EA%2B%06%C0%06%8B%C1%05%C4%16k%EC%05%16%24%ABl%B2%154%EBl%B3%14D%2Bm%B4%13Tkm%B5%12d%AB%EDg%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BAj%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C9%01%02%08%20%60%40%01%84%0C%25j%24%D1%92%A6N%1FA%87%10%25%9A%8D%08%D1%A1C%85%0A%0D%12%14%28%D0%9F%3F~%F8%F0%D9%93%07%CF%1D%3Bu%E8%CC%91%03%E7%8D%9B6m%D6%A8I%83%C6L%192c%C2%84%F9%E2e%8B%96%2CX%AC%FET%A1%22%25%0A%94%27M%98%2CY%92%C4H%91%21A%80%FC%F8%D1c%87%8E%1C7j%94%14%3D%A0%00%02%07%16%8C0%83%11Z%A8q%87%20%894%F2H%24%92H%12I%24%90%3C%E2H%23%8C0%B2%08m%B8%11B%08o%80%00%D7%C7py%E4q%5Crr0%F7%06t%D2Qg%1D%19bl%E7%05%17%DEeq%85%15TLQ%1E%14N%A8%97%04%12%EE%11%21%84%7C%3E%F00Rh%A2%11p%C0%02%12p%B0%82%0FR%94A%C7%1F%884%12%C9%24TR%E9%60%24%12Nh%E1%85%B6e%B8%5B%20%1D%06%07%A2q%C9-%17Gsm%B0%91%E2%19%2B%8A%01%06w%5Ch%F1%DD%8C5Jq%5Ez%EC%F1H%C4%10%3F%FE%20Rh%02%08%D0_%02%A7%95p%C3%12%5E%C0%D1%C7%21RRR%C9%A3%95Pb%25%84YR%B8%88%22%89%D8fH%21%84%7C%19%A6pz%14wG%99r%9C%F9%9C%9A%D3%B1%89%5D%18%60x%F1%E2w%B4%E1%D1xc%8EK%28%91%C4%11F%EC%19%C4%90%82%1A%C9%40%05%20%C0%40%04%16j%E4A%08%23%91Pb%C9%25%CC%5EbI%A4%92%3A%18%A1%23Z%5E%9A%E9%21%9Bn%D8%1Bp%C1%ED%11%EA%88%CA%99x%EA%1A%2A%5E%97%5D%AB%5D%C4%18%5E%156F%F1%04%AD%EC%E1J%C4I%80%0E%40%40%01%07%24%A0%C0%02%0C0%D0%C0%BF%00%03%DC%2F%06%04%13%7C%C1%C1%07%5B%A0%B0%05%154%5C%01%05%10S0%C1%C4%13K%60q%04%18G%00%C1%C6%1B%3F%E0%F1%03%0E%84%EC%40%C0%FD%96%BC%C0%C9%27%2B%A0%B2%02%09%7C%E6%F2%CB0%C7%2C%F3%CC4%D7l%F3%CD8%E7%AC%F3%CE%3C%F7%ACV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%C3%01%02%0C%20%60%00A%83%09%1AH%C8%10%22%25L%9B%3B%7F%0A%25b%E4%E8%91mG%8E%1A1R%94%08%D1%A1B%84%06%05%02%F4%C7%0F%9F%3Dy%EE%D8%A13%27%CE%9B6m%D6%A49c%86%8C%980%5E%BAh%C1r%A5%CA%94%28P%9A%FE0Y%92%C4%08%91%20%40%7C%F0%D0%81%C3%06%0D%191%5E%B8%60%A1%02%C5%89%12%25F%8C%00%01%C2C%87%0D%1Ah%90%C1%05%16T%80Qh%02%90%A6%80%03%14t%90%C2%0DH%60qF%1D%7F%20%E2%88%24%95Xr%C9%86%97XR%09%25%93H%12%C9%23%B91%B2Ho%86%00%27%08q%7D%EC%A1Gru%D0%21%87s%D1MW%9D%18%60x%C1%C5vVP%21E%14O4%B1%04%12F%14%21Dz%EB%B5%F7%5E%7C-%AC%A0B%0A%27%98%40%C2%08%21%F4%E7%1F%07%01bPQh%01%080%9A%01%098PA%07%28%DC%90%84%16h%D4%11H%22%8FPrI%26%9A%C4%99I%26%1D~%18%E2%88%25%9E%E8%5B%21%83%08%12%C8%1F-%EA%81%C7%1D1%CA%01%C7s%D2%A1qc%8E%3Bb%D1%E3%8FN%8CW%1E%11G%AA%C7%9E%7B3%C47%DF%93QN%29%02%08%1F%5C%B9A%06%5B%22HZ%98%15x%90%02%0Eg%AAq%87%20%EB%8BDR%09%26%9Al%C2%C9%26%9B%C8%B9%A1%87w%92%A8%9B%9E%BF%11%B2%22%A0%7C%08J%A8%8C%87F%A7%86%A2%D61%CA%A3%8FPD%3A%A4y%95%26%89i%0C04%C9%A9%94T%82%EA%1F%80%14%21%F8%E5%82%A9%AA%80%83%12%5B%AC%91%07%21%8CHr%89%26%9Ct%22o%27%9C%DC%AAI%26%98%D4y%27%24y%F6%16%EC%B0%C6%BDx%AC%A1%88%DA%D8%AC%8E%CF%FE%18%E4%90G%18%89%E4%A54d%FA%82%B6Pr%FBi%A8%1Dp%90%11%97%5E%12P%40i%09%28%B0%00%03%0D%94%EC%C0%C9%27%97%AC%F2%CA%0C%B4%EC%F2%02%16%C4%5C%60%05%15P%60%F3%048K%A0s%04%3CC%E0%F3%03%40%A7%5C%F2%CB%0B%14%AD%C0%D1%09%24%9D%00%02L%1F%E0%B4%D3%06Dm%40%01TWM%C0%D5%04%7C%A6%F5%D6%5Cw%ED%F5%D7%60%87-%F6%D8d%97m%F6%D9h%A7%ADV%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9s%C4%00%01%F6%82%0E%20%20%B4%5E%D2%A4%09%188%80%80%01%84%0A%1AD%A8%A0%01%84%09%961m%EE%FC1%B4%E8%D1%24K%972i%D2%B4i%93%A6L%99.Y%B2T%89%D2%24I%90%1E9b%B4%28%11%A2C%85%06%05%FA%E3%87%CF%9E%3Cw%EA%FE%CC%89%F3%A6%CD%9A4f%C8%8C%09%E3%85K%96%2BU%A4%40q%C2D%C9%11%22B~%F4%D8%91%C3%06%8D%180%B8%C0%82%0A%28%98%40%C2%08%21%7C%E0A%07%1Ch%90%01%06%16T%40%C1%04%12D%00%C1%03%0F4%D0%C0%02%0B%28%E0a%02%08%20%20P%00%03%0CP%C0%01%09%B8F%81%06%21%AC%60%C3%10Pla%86%1C%7B%10%B2%88%24%97h%D2%09%28%A2%8C2%0A%29%3E%8E%22%8A%28%A0%80%F2I%27%9Cpr%1C%26%974%27I%24%D2Q%97%08v%84l%D7%9D%1Ex%D8A%87%1Cp%98%97%C6%19e%88%01%86%17%5BdaE%7CP4%B1D%12F%0C%01%84%0F%3C%E4p%03%0D3%048%60%81%07%86%00%C2%82%0DfpA%84%13Vx%A1%03%1A2%D0%E1%87%00%90%A8%1A%02%0B%3C%40A%06%20%A4%20%C3%0FKdA%06%1Cz%0C%B2H%24%96l%F2I%28%A2%90R%CA%A8%A3%92%02%A4%28%A1%18%E9%09%92%C6%25g%89s%FE%D09%D2%08%23%D6%19B%88%20%DBy%07%9Ex%E4y%99%5E%18_t%A1%05%16VL%21%05%7D%F6%E1%A7%9F%0E8%D80C%0C%2F%B4%B0B%0Ax%22%A8%60%07%1B%3C%F8g%A0%12%400h%03%86r%E8a%A2%27%26%D0%40%04%17x%60B%0C%3D%24aE%18m%E0%11H%22%9Cn%E2I%A8%A3%9Ar%8A%29%FC%9AR%AA%90%A9~%B2%AA%92%99%60%C2%1C%25OJ%D7Hu%88%14r%2B%20Wf%B9%25%1Cn%B0%A1%06%98c%8C%B9%85%16%F0%C9%E7%C4%9Am%02%D1%03%0F%CC%D6%20%83%9D%2A%A4pB%09%23%88%00%C2%07%0C%3A%08%A1%84%14Z%08%01%A1%E0%8A%AB%00%00%02%A4%F8%DA%06%23%B4%90%83%11S%7C%A1F%1D%7F%20%F2H%25%9E%E2%7B%CA%29%A8D%8D%CA%D3%FC%96r%2A%AAF%B2%BA%E4%AB%CFE%B7%B0%22%D7e%B7%5D%1F%DF%857%B1%AFd%00%DBE%99%C5J%F1D%13%C9%06%A1%DF%0E%CD%D2p%B2%B4%04%9AP%82w%08%09.%B8%81%06%18l%3BA%CD%DF%86%DB%E1%88%A4%090%00%01%04%14%B0Z%02%0A%2C%C0%00%03%0D8%E0%00%86%98g%AE9%86%96wn%B9%86%A0%83%3B%F9%E8%1C%96%EE%E1%E0%83KPa%046c%FE%B9%E8%86%7F%98%00%88%21%1E%60%FB%01%06%E4%5E%C0%EE%BB3%CEx%89%C0%03%2F%C0%F0%C4%97%06%9Ag%C8%27%AF%FC%F2%CC7%EF%FC%F3%D0G%2F%FD%F4%D4Wo%FD%F5%7B%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1c%AD%01%FAF%0E%40yo%00%01%98%23%E7%0D0%A03%01%02z%03%140p%E0%80%01%BD%02%12%28%60%E0%80%81%5E%02%0F%24P%B80A%EF%81%0C%1CB%94%F0%A0w%01%8A%163t%B8%D0%1B%C1%07%91%25R%84%E8%D5p%C5%0B%994V%F4%8ExC%27%8F%1F4z%5B%0CB%B4%E8Q%1D%BD6%26%FEY%CA%B4%E9%8F%5E%1F%9EB%89%22eH%AF%10S%A7R%A9Z%A4%D7%08%2BV%ADZ5%D2%9B%C4%D5%AB%FF%8E%E8%A5D%2C%04%C6%F2%88%80%B2%24%28%CB%2B%AA%A8%92%CA%83%A8%A0r%CA%84%A6%94ba%29%A4%8C2%8A%28%A1%80%02%8A%27%9Et%C2%89%26%99%60r%89%25%95L%22I%24%8F8%C2%C8%22%89%1Cb%08%21%82%FC%E1%07%1Fz%DCa%07%1Dr%C0%D1%C6%1Ai%98A%86%18_p%A1%05%16UH%F1%04%13K%20a%C4%10%40%F4%A0%03%0E5%CC%10%83%0B%2C%A4%80B%09%24%8C%10%C2%07%1Dp%A0A%06%17TP%01%05%13D%00%C1%03%0E%B4%C6%C0%02%0A%24%90%00%02%08%94V%9A%01%05%E4%F9%D9g%00%2C%A1%E0%9F%05%C2%02%CB%7F%AE%E4%97%1F%2B%AB4%98J%84%A7T%98%21%87%A0%7C%22%E2%26%99%9CH%C9%24%91%40%E2%22%8C%87%14%22H%207%EA%81%87%1Ds%C4%F1%06%1Bj%9C%21d%18%5E%1C%99%24%14%FEM4Y%84%10%3F%F0%A0%C3%0D4%C8%00C%0B%2B%A4p%82%09%24%7C%E9A%07%1Bh%80%81%05%15L%20%81%9A%0F%B0%D9%C0%9B%0AD%3Bg%9D%A6%E5Y%C0%9E%A0-1%CB%2C%7F%CA%12%A8%A0%AF%B8Rh%2B%F7%AD%92%28%84%8Db%B8a%87%9Fx%C2%C9%26%24%A2%A8%22%8B%8DpZ%08%21%81%FC%C1%C7%1E%A3%F2%E8%23%90%AB%B6%8A%85%15SD%E1%C4%12I%3C%19%E5%94U%C6%F0%02%0B%2A%FCJ%82%08%20%80%B9A%06%18%94%89%A6%9Ak%3A%F0%2C%B4q%D2Y%27%9Ez%EE%D9%E7%B6%DC%2A%F8%ED%A0%E1%8E%5B%AE%83%8B%A6%FB%28%BB%21%8EX%A9%25%94%AC%F8H%23%8C%28%82%C8%8C%F9%F6%B1G%1Ew%D4%D1%A3%1B%00%93%C1%2A%17YXA%85%92%08%1BAD%10%3E%EC%80%83%0D3%C8%F0B%0B%2A%A0%00%AC%08_%86i%EC%05%C8%A6%19A%04%CE2%00%B2%02t%DAi%ED%B5%7Cj%8B2%A0%04%82%DB%B2%A1%88%2A%2Aa%A0%85%18%8A%02i%CD%94Z%8Ai%8B%2F%C6%E8%29%207%12%5D%07%1D%A6%A2z%C6%90_t%A1%C5%15%AF2%A1%C4%11%B3%D6%9A%83%0D4%C4%00%83%0B%BD%9EP%82%97%1F%0C%7B1%D9%C9.%DBq%03%CF.%00%27%DBmW%5B2h%05%9C%CD1%04%B8%E7%AE%FB%EE%CD%F6%EE%3B%9Bm%06%EF1%EB%AC%ABm%BC%EB%AEG%AB%BC%9Cr%E6%DEl%9B%C4%AB%9D%BC%B4%D3Rk%9A%01%D8%BF%8Dmg%DC%0F%80%D9%F7%99Q%26%FE%F8%E4k%F6%D8%F9%E8%A7%AF%FE%FA%EC%B7%EF%FE%FB%F0%C7%2F%FF%FC%F4%D7o%FF%FD%F8%DF%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%85%06%000xo%80%C3%87%F5%06%18%C0X%40a%BC%02%0AH.%40%40%EF%80%04%98%13%18%D0%5B%00%82g%08%0C%F4%22%D0%B0%A1%F4%04%BD%0DV%B0%60%B1%E2%83%5E%0AB%86%C8%86%A1%D7%03%97%DB%5C%8A%E8EAg%8E%EF%2Czg%1C%1A~%28%8D%5E%1E%95%2AY%B2tG%AF%10P%D0A%01%D2k%E4%94%F5S%86%F4%26a%C5%9D%95%22%BDK%5E%FE%B9%1A%DF%08%3C%2CX%AF%5E9%D2%CB%24%96%7BX%EB%F32%91%25%CB%FD%23%F6%F4%EB%DF%97%9F%3F%D6~%BC%F3%D5%E7%1F~%F4%0D%C8_%81%FF%DD%15%A0~%04%DAG%20%83%07B%08%60%7F%09%DA%B5%04%85%E0a%98%D7%85%08f%D8%E1%86%05%C6%E2J%2A%A9%A0%82%8Au%A6%94%A2b%29%A4%8C%22J%28%A1%80%F2%89%27%9Dp%B2I%26%98%5CbI%25%94H%12%C9%23%8D0%A2%08%22%87%14BH%20%7F%F8%B1G%1Ev%D4%21%07%1Cm%AC%91%86%19d%88%01F%17Z%60Q%85%14O0%B1D%12E%08%F1C%0F%3A%D8%40C%0C0%B8%B0B%0A%26%900B%08%1Ft%C0%81%06%19%5C%60A%05%14H%10%81g%0E4%C0%C0%02%0B%28%A0%40%02%08%1C%60%E8%01%06%18%20%19%01%8C%12%C0%D8%A3%02D%0A%00%87%EE%BD%87%9Ex%ADd%CA%CA%2A%AB%A8R%E2%89%29%B6%F8%E2%8C5%DE%A8c%8F%3F%069%A4%21G%FE%D1%C7%1E%FEx%D8AG%1Co%B0%A1%C6%19f%8Cq%A5%16WP%21%05%14M%28q%04%11A%F4%B0%03%0E6%CC%10%83%9A%29%9CP%C2%08%22%80%E0%01%07%1Bh%80%C1%9D%13%E8%19%C1%03%0E%FC%09%A8%A0%98%15%8A%E8d%8D%3A%FA%E8%00%91%0A0i%7F%96%A6%E7J%A6%ADl%DA%E9%A7%A7%84%EAb%8C4r%A2I%26%A7%FA%08%24%23%89%20b%24%92%AF%C6J%87%1Co%B4%A1%06%1Ae%E8%8Ae%AF%5C2%21%2C%11%40%90%89C%0D%CA2%7B%82%09oJ%DB%C1%06%19%60pA%05%D9J%00%01%B7%0Cx%0B.%02%E2%2A%BAh%B9%E7%A6%BBn%88%B1%9C%E7.%BC%DC%CDkb%BD%2C%DEK%AA%BE%FCZ%82%EA%BFC%0E%EC%2A%AC%B2%3E%A90%C3b%7C%C1%85%16V%F8%DA%E5%C4%15%EBp%F1%0Ci%AE%E9%2C%B4%1E%83%7C-%C9z%9E%DC%A7%9F%81%0E%CA%B2%A1.S%D6h%CC2s%28%E0y%97%8E%A7%29%A7%9E%96%C8%B3%A8%A1%7C%F2I%87%A9A%0F%DD%C8%22%01%1B%5Dp%1D%07C%B9%C6%19e4%8De%D4%11%0B%3BD%C5%C7%26%9Bu%0A%28%3C%1BB%D7%21%8F%9C%ED%9E%DC%F6%A92%A1-%93%BB6%DB%EAv%F6%D9%E9%A8%7B%F6%C0%EA%AC%B3%EE%C0%EB%B07%20%FB%EC%29%A7%0C%E8%ED%82%82%9B%19%CBg%1B%2A%BB%ED%DF%0E%1A%AE%B8%88%26%3A%99%DA%A3C%9An%BA%885%EF%BC%F3%81E%2F%FD%F4%D4Wo%FD%F5%D8g%AF%FD%F6%DCw%EF%FD%F7%E0%87%2F%FE%F8%E4%8B%14%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%9F%06%0007nB%01%02%02%E8%B5k0%C0%00%02%80%07%E0%D5%5B7n%80%03%0A%10%208%60%A0%00%81%01%03%0A%C7%3DPA%C2%03%07%0C%16%24%40%60%40r%DC%05%23%3Ch%B8P%B9A%01%BE%04%25%D8%80%A1%A2%04%08%07%9E%F9jx%82%04%88%0E%13%A8%0D%8E0%03%26%8B%14%1C%B9%0B%B6%D8S%07N%9A%25%C1%09%D6%60%84h%90%1F%2F%C9%07%F2%D0tI%92%237%D1%05%0A%19%15%AA%D3%26%3D%D9%01%FE%14Iu%AA%D4%28A%E1%91%B4b%B5%2A%15%A2%F0J%5E%B9j%D5j%11%7CX%B0%E47%0A%BF%24V%2C%FC%8E%F0%27%8B%2C%FF%05%98%DD%12%03%FA%F7HxL%24%18%CB%82%07%3A%08at%08%12%F8%A0%80%16N%98%5C%83%192h%21%2C%1A%06%D7%A0%7F%17f7%A2%82%1E%92%18bnL%F8%07%20%83.%C2b%60t-%FE%27%23%8C.%CE%98%5C%7F6%EA%28b%8C%3E%B2%08%24%7FC%1Eh%E3%2B%FB%1D%88_~IR%B8%24%92%FC%3D%D9%E4%8E%F8%BD%02%A5%92%F9%5D%E9d%96S%06%B7D%96%AEt%99%5B%7CV%BA%C2%08%7CV%CAwfvd%BA%12%26%9A%F2%99%19%5E%12e%B6%B2J%29x%922%8A%28%A2%84%02%CA%27%9Ex%D2%09%27%9Bh%82%C9%25%96TB%89%24%91%3C%D2%08%23%8A%24r%88%21%84%04%F2%87%1F%7C%E8%81%87%1Dt%C8%01G%1Bk%A4a%06%19b%80%E1%85%16XT%21%C5%13L%2C%91%84%11%FEC%FC%D0%83%0E7%D4%20C%0C%2F%B0%A0%C2%09%25%8C%20B%08%1Ft%C0%81%06%19%90V%01%05%12D%00%C1e%0Dd%A6%80%02%9B%29%B6%18c%05T%EB%18%60%8FA%06%19%5E%DC%E2%05%40%9B%F4%AD%C7%9E%2A%A9%A0%82%CA%29%A6%E4%D9%E7%9F%82%16%9A%C9%25%95L%C2%A8%A3%8C%24%82H%21%84%08r%E9%1Ey%DC%D1%29%1Cn%84%3Aj%18_p%91%85%15SH%01E%13J%1CA%04%10%B3%E2P%C3%0C%B8%EA%8A%82%09%24%88%00B%B0%C3bp%81%05%15L%90%EC%B2%0E4%BB%C0%02%D0J%CBXc%D6b%9B%AD%B6%DDr%FBm%9C%E1%B22n%B9%A7%A0%5B%8A%9E%EB%02%EA%9D%A1%89%CA%0B%89%A3%8BH%8A%AF%A5%7D%F0%CB%A9%A7%A0%A2a%C6%18ax%B1%05%16%08G%C1%EA%ABC%40%AC%83%C42%C0%E0%C2%0A%29%F0%3AB%08%1Bw%B0%81%06%18X%60%01%05%22%2B%CB%AC%C9%29%2Bv%00%B5%D5b%AB%ED%DD%82%C5%0C%00%FE%9D%F3%D1g%F3%2A%AB%90%7B%AE%CE%3C%FB%F9%C9%A0%85b%12t%24%908%C2H%D1%87%14%22H%20%98jZG%A7o%80zF%19%A5v%A1%C5%15%AA.%BC%04%12E%08%F1%03%0F%B4%D2%D0%F5%D7a%F7J%F6%07%1Cl%90A%DA%21%27%ABl%C9%26%A3%1C%F7%DC%2C%D7m%F7%DD1%7B%CBw%CD%E3%0A%AE%F3%CE%3D%0BJ%E8%BB%96%2C%DA%A8%E3%8A%20rH%BE%80%60%DAo%1Ds%C4%E1%06%1B%A2%92A%B0%E7VP%B1%2A%13J%90%1E%84%0F%3B%E4p%83%EA%2F%B4%B0%C2%C5%19%03%EB%81%D9%C5%AE%DD%F6%B2%0F4%D0%C0%C9%28G%3B-%CB.%7B%D9%B6%82%27%00%00%14%00%02%08L%E0%03%16%C8%40%06%3A%E0%81%10%C4%9D%FE%F4%C7%80%0Af%86%7F%BA%7BV%026%E8%3F%B9%CDme%06%60%99%067%E8A%DE%85%D0Z%D7%0A%0C%DE%F2%D6-%C2%B8%F0%850%0C%8F%0CgH%C3%1A%DA%F0%868%CC%A1%0Ew%C8%C3%1E%FA%F0%87%0D%40%0C%A2%10%87H%C4%22%1Aq%25%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%89%01%02%9C%AD%18%40%40Z%B5%00%E0%AE%5D%18%A0%80%01%02%04%06%08p%9Bv%AE%C2%00%0B%228Pp%E0%EE%00%BDr%FD%16%0CP%21%C5%08%0E%15%200Hp%20%AFb%84%1D%964%09RC%05%88%0C%13%1E%28%18p%D9%A0%860x%DA%88%B1%B2%A4G%8C%13%1E%1A%24.%0D%21%8D%25H%88%FC%D0Q%F3EJ%11%12%05J%13%2C%E0%25%14%29P%9A%285%2A%C4G%0E%94%08%C2%07%06x%02%AA%D5%AAT%A5Du%C2%24i%8F%8C%E8%03k%FEX%82%05%EBU%2BV%AAN%91%CAD%854%F8%0E%85d%C9%8AE%FE%95%ABV%A8%E64%00%0F%E0A%1EX%F2%C9G_y%84t%C0%9F%40J%CC2K%80%F3%C5rI%0E%07%0E%94%C4%82%0C%8A%22%C5l%FC%25%C1%20%2Bi%1C%10aAJ0%08%C9%87%06%85%18%E0%88%24%12%B4%84%88%29%AA%18%60%2C%8F%B48%D0%8A%02%C6%28%23%00%26%CEg%A3%8C%26%C6%02%E3%8D%00%AC%E8%23%2C%8E%00%29%24%7DE%DE%B8%84%8F%F4%ED%D8%E2%92C%3A%99%22%94%E4%25%29%23%95D%1A9d%96J%0E%08K%23F%D6%F7%0A%98J%8AI%E6%95f%86%F9%8A%7Dg%3E%B9%A6%2B%AE0b%E4%9Bq%CE%09g%2Br%2Ay%27%9EF%DE%D7%0A%9Fz%FE%D9%CA%22%7D%0AJ%E8%8DJ%08%CA%CA%A1%3C%FE%C9%CA%A2%40%26z%1E%2B%8AD%EA%E8%2A%95%DE%88%C4%A3%AC%AC%92%08%90%9Bv%EA%29%A8%8F%AE%A2%CA%A7%9A%AEb%AA%2A%88%80%AA%AA%2A%FE%A9%B4%9A%AA%2A%B0%CA%2A%23%12%A6%A6%12%2B%90G%D0%9A%0A%2A%87%00i%84%AE%A8%00%2B%EC%AF%A8%9Cb%C8%B1%C5%2A%0Bd%11%BF%9EbJ%21%CF6k%0A%29%9Dp%B2%C9%26%9Adr%89%25%95P2%89%24%91%3C%E2H%23%8B%24%82%C8%21%86%10%22%08%20%7F%F4%B1G%1Ew%D8A%87%1Cp%B4%C1%86%1Ah%981F%18_p%A1%05%16VL%11%85%13L%2C%91%84%11C%00%E1%C3%0E9%DCP%83%0C1%BC%C0%82%0A%28%98P%C2%08%22%80%F0A%07%1Ch%90%01%06%17TP%C1%04%12D%00%C1%03%0E8%D0%C0%02%0A%24%90%00%02%07%14V%00%5Ez%F1%F5%16DE%24kJ%29%A5%902%8A%28%A1%80%F2%89%27%D9n%92%09%26%E0RB.%24%8E0%92.%22%ED%0A%F2%87%1F%7C%CCk%2F%BEn%EC%7BF%19%FFz%C1E%16VP%21%05%14O0%91%C4%11D8%0C%F1%0D4%C8%00%83%0B%17g%BCq%08%20x%00%B2%FE%C8%24W%40%01%CA%2A%B3%DC%00%030%2B%10%B3%CD7%E7%95%B3%CE%0F%15q%8A%B4%40%93Bt%D1%9F%24%DD%ED%B7%95%8C%5B.%BA%EA%1ER%88%20%81%F8%21%2F%BDu%CC%01%C7%1Bm%AC%91%86%19d%00%DC%85%16WTa0%C2J%1CQ%84%10%3F%F0%A0%03%0E5%C4%FDB%0B%2B%A4pB%09%24t%AC7%07%1Bh%40%B2%05%7F%A7%1C%B8%CB%2F%1B~%B8%01%D4%27%9E%D7%5E%D8c%88%90%E3%3F%07%3D4%E5Hk%AB%09%D3%E1%92k.%23%8A%24%E29%21%81%5C%CD%87%1Exl%0DG%D7i%A0%016%18%5DlA%B6%D9O4%A10%C3n%8BX%DC%E6%C6%82%14d%8C%04%23%08%C1%07%3C%80%BC%E4a%C0%02~s%DE%CAZ68%98%CD%8Cf53%40%016%A88%EC%F1%A5%21D%80%9C%D0D%21%0A%A3UN%7C%DE%0A%D7%24%CAu%AE%A9%19%E2s%A1%CB%1A%E9%E6%10%07%D4%A9%8Eu%00%13X%ECf%C7%04%25%20%A1%08%84A%C8%DD%EEj0%83%8A%01Ox%1B%EB%D8%02%917%B2%0B0%0Fp%13t%19%E1%2Cx%C1%0Cn%F0f%87Y%DC%CE%16B%80%07%B0%ACe%60%A4%60%03%C68F%06%98%D1%8C%0BHc%1A%A5g8%99%B9%11%01p%84c%CD%E6H%BD%3A%5E%91%83x%21%C0%1C%0BS%BD%3B%E6%11gY%CC%A2%07%B3%F7%96B%1A%B2%2F%40J%A4%22%17%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9N%C6%24%20%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%2B%C4%00%5E%3F%0A%18%1B%A0l%D8%8C%04%0E%14%180%40%80%D9%B3%15%0FP%90%C0%00%C1Z%B2p%27%2AX%21%A3%84%86%08u%0B%10%18%006%EF%C3%03A%C6P%19%22%83D%06%BA%07%06%18~8%60%C9%A0%40t%C8P%11%12%83%84%06%07%92%277%1C%22%89S%25F%81%E6%90%91%12D%C5%02%D1%0DO%28JeJ%94iF%7F%E4x9%21%00%F6%C2%0C%7DZ%B5Z%95%AA%94mJ%89%AC%28%F0%AD0%01%1AU%AF%5C%B5b%B5%0AU%29Py40O%28%C0J%29X%AF%A2%FE%0Bg%A5%2AR%8D%ED%09%81h%82%05%3E%BC%F4V%A0%B2%F4Fo%B0%04%22%F6%EC%DD%BBJ%15%E75%FD%82%12%E8%F1J%2C%F8%85%F7J%2B%81%5C%F0_A%06%90%A1J%2C%10%E6%17%DD%23%2B%2CHP%00Q%88B%20~%EDu%E2%84%85%04%D5%60%09%84%1B%B6w%8A%18%04%80%28P%07%84%90%18%21%7B%AD%E0%E1%80%8A%008%80%C7%2B%B2%90X%60%21%1E%D0%28P%12%B2%E4%A8%23%2C%97%E0%E0%E3%40H%08I%A2%28Q%14v%24%00H%E8%B8%0A%1A%07%3CIP%12%2F%3AbeAQn%A8%E5%96%03%25%C1%E1%97%60%02%20f~%8D%94%F9%A3%84i%AA%29%A6%81m%96%89%84~q%82%99Dt%D21%A2%A6%99%AE%BC%A7%A7%9B%7D%0A%F7%A7%9C%EF%B5%B2%C8%9EH%087%DD%A1n%8E%C7%0A%A3e%26%E1%A8%22%88%B2b%E9%2A%89T%BA%CA%A6%99%AA%89%04u%AB%A8%D2%A9%9C%A1%AA%A2%0A%22%88%86%9AJ%2A%A8z%AA%CA%AA%FE%A8%B4%2A%27%AC%A8%1C%B2%E7%11%A9%A0%82%CA%29%86%DC%AA%EB%29%A6%F4%AA%E6%11%BB%9AbJ%21%7B%1A%01%AC%29%A5%20%AB%A6%11%C6%96B%0A%21%7B%16%C1%2C%29%A4%0CR%AD%B4%A4%8C%22%C8%B6%DD%8A%F2%AD%9AD%84%1BJ%20%7B%0E1%CA%28%A1%9C%BB%A7%10%A2%88%12%0A%28%80%EC%19D%BB%A0%7C%F2%87%BD%F9~%E2%89%1F%7B%02%91%AF%27%9D%00%AC%26%10%FEz%C2%09%1F%01%7BB%F0%26%0C%AB%F9C%27%9Dp%B2%C9%1E%7B%F6%C0%89%C5%9A%E8%91%F1%26%9Bh%82I%1E%1Fk%92%C9%25x%EC%C9%83%C9%97Xr%C7%9E%3B%9ClI%25%920%B2H%22%88%1CbH%21%84%08%12%C8%1F~%F0%B1%87%1Ex%D8Q%C7%1Cr%C0%E1F%1Bk%A8%91%86%19d%8C%11%06%18%5El%A1%05%16VP%21%05%14N0%B1D%12G%14%21D%10%3F%F0%A0%03%0E7%D40C%0C0%BC%D0%C2%0A%29%9C%60B%09%24%8C%10%02%08%1Et%C0%81%FE%06%19%60%60A%05%15L%00A%03%0A%24p%80%01%83%B55%D2%0E-WB%C9%24%92%40%F2H%236%E3%7C%08%CF%3E%03%DD%C7%1Ey%DCQ%07%1DI%C3%D1%06%1BN%9F%11u%18%5ET%9D%C5%15UL%21%C5%13M%2C%A1%04%12E%0C%11%84%0Ff%A3M%C3%DA%2F%B8%C0%02%DC%28%CCM%82%08%20%7C%90%F7%06%7C%FB%1Dx%04%0F4%B0%80%E1%82%B5%E5%E4G%3A%CC%FCx%24%91%3C%E2%88%CD%8A%E4%8C%F9%CFAs%EE9%E8q%BC1%BA%D3f%94%21%F5%17%5Dh%B1z%EB%AF%7B%3D%BB%11%B6%E3%AEC%0Ei%F3%EE%BB%0A%29%04_%C2%08%22%08%C1%07%F4%B6%B7%BE%5D%A0%02%14%98%80%04%20%E0%00%06%28%00%01%06%88%9E%5BB%A2%03%C7ANr%8Eh%C4%CD%BC%D73%F0%09%ADs%9F%93C%1CDG%3A4%40m%7D%ED%C3%9A%15%A6%10%85%27x%0DlF%18%9B%FD%F0%A76%B6%ED%2Fns%03%A0%00%F3%C6%01%E4a%E0%02%B5%7FK%E0%02%1F%C0%80%E7A0q%13%FCH%0E%28%21%89HH%AE%11%1A%B4%DC%F7%80%264%3D%8CO%84%24%5C%C3%D3N%E7%85%14Z%A1u-%8C%1D%D8jw%3B%B3%D1pm0%B8%A1%DC%FEG%3C%E3%E9%0Dy%7D%0B%E2%04%26%10%01%066%80%01%09%40%C0%E1%06%E3%96%B7p%84%00%0C%08d%20%17%40%C8B%2A%E0%90%88L%80%22%15%89%80F%3A%F2%00%90%8C%A4%01%26I%C9%08%16%E0%92%98%24%80%267%998%B6%0C%C0%92%98%14%0C%27%3B%E9I%B6%8C%E5%94%7D%2C%CB%F4%F6%C4%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%F2%96%B8%CC%A5.w%C9%CB%5E%FA%F2%97%C0%E4I%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%95g%80%00UO%0E%18%20%00kV%91%01%10%280%40%80%EB%D5%AF%1F%1Dt%B8%E0%20A%01%B3%5E%D1j%BC%10%E4%07%8B%0E%12%16%1C%20%20%40%80%5C%8D%14%BA%C8%F9%B2%C4%06%09%0C%0F%DC%FA%FD%7B%D1A%99I%8A%F6%A4%B1%12%C4%C5%07%0A%08%E22%9EX%00%0B%A7P%9A%20%0D%A2%13%86%09%0E%0F%066W%0C%D0%A4%93%AAS%A3%3AUR%C4gM%93%0A%AA%2B%C6%90%D4%8A%D5%2AT%A5%40G%F2%E3c%40%EE%89%1B%02%B5Z%EE%3B%95%A9Q%9B%C8%2C8.qA%1BU%CB%7B77%D5g%03%F5%88%04%B6%FE%90%CA%CE%7C%95%2AH3%BEGD%D2%C9%15y%ED%9A%8E%A8%87x%82%91%2B%F7%E4Y%91%2A%93z~C%0C%7C%B4%82_v%AC%A4%A2%C7%04%FE5%94%C0%19%A8%BC%C7%CA%83%88%84%90%20C%02X1%CA%80%CC%B1BI%0E%132%F4C%26%18j%07J%16%8Bu%88%10%09%86%DC%97%1F%2B%A7%C01%9D%89%08Ip%87%80%2B%AE%F2%C7%050%22d%80%18%A7%84%F8%20%23%2B%E4xP%00N%7C%F2%9Ev%9B0%21%E4A3L%A2%22%81%FA%81A%C0%92%05q%A0%1C%86%0F%A6R%87%03T%12%E4%80%1D%AB%F8%B8%8A%20%1DtY%D0%11%3Ejh%83%99%06%19q%A4%27Nh%C6%A6%40Edh%0A%19%FD%CDY%90%9B%0F%B2%B2%88%9E%08%15%D1%E7%2A%8A%00z%90%11%AB%24%BAJ%22%86%B6i%9E%2A%AA0%DA%28AE%3C%9A%0A%22%93R%AAJ%2A%A9%A0%82i%A6tr%8A%8A%A7%A0%D29%2A%2A%A7%18R%2A%00E%A0z%8A%29%FE%AA%96J%C4%AB%A6%94R%C8%AAD%D4ZJ%29%84%AC%3A%C4%AE%A4%902%08%AE%A5%902%CA%28%82%F8j%AC%28%A2%24%5B%AA%10%A3%88%12J%28%81%AC%2A%84%B4%A1%80%02%C8%AAAd%0B%CA%27%7Fp%FB%C9%B8%9E%F8%21%AE%27%9Et%D2%C7%AA%40%A4%DB%09%27%7C%B0%FB%EE%26%9B%EC%B1%EA%0F%9Cl%A2%89%26z%AC%EA%83%BE%99%60%92%C7%AA%3D%04%7C%89%25w%10%7C%B0%25%95%D8%B1%2A%0F%0CSBI%1D%AB%EEP%09%25%93HB%C7%AA%3AL%92q%24s%AC%9A%83%24%91%40%F2%88%1C%AB%E2%10%C9%23%8F8%02%C7%AA7%B4%DC%08%23n%ACjC%233%2F%D2%C6%AA50%B2%88%22%89%AC%B1%2A%0D%40%23r%88%1A%AB%CE%60%F4%21%85%A4%B1%AA%0CL%13B%88%19%AB%C6P%08%21%82%08R%C6%AA0%0C%22H%20%80%90%B1%EA%0B%60%FF%E1%87%18%AB%BA%60%B6%1F%7C%80%B1j%0Bl%EF%A1%87%17%AB%B2%B0%C7%1Ey%E0%D1%C5%FE%AA%2A%E4%91%C7%1Dv%CC%D1F%1Bl%AC%91%06%1Af%94A%06%19c%84%01%86%17%5El%A1E%16X%5Ca%05%15RD%01%85%13M0%B1%84%12H%1CQ%C4%10A%00%F1%83%0F%3C%EC%90%03%0E6%D4%40%C3%0C1%C0%00%83%0B-%B0%B0%82%0A%28%A0p%82%09%24%8C0%82%08%20%7C%E0%01%07%1A%60P%81%04%0F%2C%80%C0%5E%5D%C9y%92%0A%80%D7A%C7%1Cr%C4%01%C7%1Bm%ACa8%E2f0%EE%B8%17%5Dp%219%16VT%81%B9%14P%3C%D1%C4%12K%24%81D%11D%90%0E%04%EA%3B%E8%80%C3%0D6%BC.%03%0C%2F%D0n%7B%0A%29%D0%9D%09J%F0%BB%10%80%C0%03%1D%D8%80%06.%40%81%084%40yo%B9%CAYR%92%02%E9Q%CFzopC%F6%D4%90%863t%8F%0Cbx%5C%F8%B4%A0%85%CA%5DN%0A%E8S%9F%E7%92p%04%23%10A%08B%A8%0B%0Fx%60%3F%FC%D5%60%062%88%DD%0Bjw%BB%00%EE%AE%04%F1%BD%03%9E%F0%3A%C0%81%0Dd%80%81%11p%80%F2%C82%80%09%A6%04%05t%A8%DE%F5%06%B7%06%0E%22nqb%08%C3%17%C0GB%13Va%0A%29%EC%DC%E7%90%60%84%D1%09%C1t%A8%D3%C1%EAn%E0%3A%1C%F2%CF%05%B6S%81%0F%07%18D%03%0E%B1%88%19%C0%00%12%1F%C0%00%04%18%E0-%5DY%C9%09%E4p%3D%0Dj%EFp%89%03%E1%F7%BA%20%B9%2CX%EE%8B%99%7B%82%13%3C%07%3A%D1%0D%21%86%F3%EBA%FDX%D7%3A%1C%C6%A0%7F-X%C1%0A%E6%08%C4%DF%89%20%04C%24%A2%02%8Fh%01%0A%20%8F%01%098%00%20%9DW%12%01%20%E0%96%B8%5C%DE%01v%C9%CB%03%18%E0%97%C0%FCe%01%86I%CCb%12%E0%98%C8L%E6V%96%C9Lf%F6%A5%2F%C9Tf3%B9%D2%17%09%D2rU%D8%CC%A66%B7%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CE%A1%04%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5Dj1%80S%A6%2F%05%14%280%20%00T%96%02%1CDP%40%D5%EAU%94%02%3C%B8%F8%40%81%C1%01%02%02%9E~%25Y%E2%0A%14%1C%24.8%40%405%EDZ%91%27%E4%F8Yc%C5G%0A%0D%10%12%14%10p7%24%869%9A%22%09%82%B3%85%88%0B%0F%12%0Ex-%DCq%81%1AR%A4%3AQ2D%07%8C%92%19%18%08P%F6X%E0%0B%A9U%A8Hy%AA%94%28O%99%1E%0CF%7B%FC%A1%A9%15%2B%D4%A5%40%5Db%04%C7%84%EC%8E1%22%B5%B2%7D%3BU%A9P%93%A2%88%FE%ADqC%A0%E1%C3o%ABB5%AAMl%E6%19%21%C4Q%05%9D%D5%EDU%A9%02%FEu%C0%9E%B1%80%96Q%D1%BD%7F%8FT%83%3C%C6%00M%3A%A9%9F%BFJ%13%12%F7%18a%40R%BF%AA%7F%FFQd%18%80%9FE%1A%FC%E1%DF%81%A8%D1%E1%C0%80%15-%B0%06%2A%07%AA%22a%2A%82x%C0%20E%04d%11%8A%7F%12N%08%C9%0C%17RTD%26%1DN%98J%2A%98%18%11%E2D%26%20R%E2%89%27%862%86%80%2BBtA%1E%A8%A8%92%8A%89%A8%98r%87%045B%94%00%19%A4%C0%08%23%2A%A8%14%F2A%90%0F%09%20%C5%27G%22%89d%2470%F9%10%0F%93H%29%E5%29%A7pb%05aV24B%20Hri%E6%29%A2%B0%A1%40%98%0CE0%87%29eri%8A%29%A5%ECQ%01%9B%0B%15%E0E%28g%CE9%E7%21%28%E0%A9P%00Jd%22%A7%9FtR%92%84%A0%0A%C1%D0%08%A2t%96RJ%27Z%0C%C0%28B%1A%EC%E1%A7%A4%9C%8A%02G%03%97%1E%D4%00%1C%A4pZ%0Af%A4%8C%B2%C7%06%A1%22%14%84%A9%FE%98%8D2%0A%232%B4%9A%10%10%A8%A6%3A%0A%25HLf%ABA%3F%C8%2Ak%27%5E%D0%F8%2BB%3F%88%12J%28%A2%08r%ECB%3F%84%02%CA%B4%80%3C%AB%D0%0F%D3~%F2%C9%1F%D6%26%E4%83%B6%9Ex%E2G%B7%08%F9%10n%27%9D%8CK%AEA%3Dp%E2%EE%26%7C%ACk%10%0F%9B%D4%AB%C9%1E%F2%16%C4%83%26%9Ad%92%89%1E%F9%12%B4C%26%98%5Cr%09%1E%01%0F%A4%C3%25%96XR%C9%1D%09%0B%A4C%25%95PBI%1D%11%03%90%03%25%93L%22%09%1D%19%E3%20%89%24%91D2G%C67D%02%C9%23%8F%C8%91%B1%0D%8F8%E2H%23pd%5CC%23%8D0%B2%88%1B%19%D3%B0%C8%22%8A%24%D2F%CF%89%24%82%08%22kd%3C%C3%21L%1B%92F%C62%14R%08%21%84%A0%91q%0C%83%0C%22%88%20fd%0CC%20%81%00%F2%07%19%19%BF%F0%C7%1F~%F8%21F%C6.%F8%C1%07%1F%7B%80%91q%0B%7B%E8%A1G%1E%5Ed%BCB%FE%1Ex%DCq%07%17%19%AB%60G%1D%84k%91q%0At%D01%87%1CXd%8C%82%1Cr%C4%01%87%15%19%9F%00%C7%1Bo%B8QE%C6%25%B4%D1%06%1BlH%911%09k%AC%A1F%1AQd%3CB%1Ai%9Ca%86%13%19%8B%60F%19d%90%B1D%C6%21%901%86%18a%2C%1A1%08a%80%F1%85%17Gd%FC%81%17%5Et%C1E%11%19%7B%C0%C5%16Zh%21D%C6%1Cd%81%C5%15W%FC%40%BD%15VTAE%0F%19k0%85%14%E4%EF%90q%06Q%40%F1%C4%139d%8C%81%13M4%C1%C4%12F%14Q%C4%10C%08%11D%10%3F%F4%EFC%0F%3C%E0%C1%0Ev%A0%83%1C%E4%00%077%B0A%0Dh%C0%C0%19%C8%20%06%10%84%C1%0B%5E%E0%02%17%B4%80%05%2CX%81%0AT%90%02%14x%F0%04%26%08a%09H0%82%12%8A%20%04%1F%E8%00%070P%81%084%00%01%06%40%8BZb%82%81%25%D8P%09I%40%C2%11%EAW%04%22%E4O%7F%FE%40%F8%C1%FF%00%28%40%02%1E%F0%06%09%B4A%03g%E0%40%09R%D0%82%17%5C%81%069%D8A%14%9C%E0%8A%22%24%E1%09A%E0%01%0Eh%C0%02%13p%80%02b%98%16_%BD%E4%02I%C8%E1%0E%7B%F8%C3%20%00%21%88%3F%00%E0%00uP%40%1C%20P%81%0Bd%A2%0C%1E%18%03%09B%11%83R%A4%A2%15%B1h%82%12%8C%90%84%238a%08%40%90B%0Ed%C0%02%12%10%E3Y%CA8%13%0B%F0%D0%87%40%F4%DF%FF%04X%40%03%DE%11%8F5p%60%04%9DH%C1%28n0%05%A8%FC%60%21%0F%89%C8D%86%60%91%1F%F0%80%07T%B8%81GFR%01t%29%A3%19%5BR%816%BEq%88%014b%0E%90%98%C0%1A%2C%90%06%7B%7C%A0%13%2B%D8%82%28j0%95W%04%A1%21%5B%29%02E%C22%96%B3%E4%00%076%A0%01%16Fr%010%AC%CA%0C_%12%00%02%98%F3%9C%E8L%27%01%06%C0%CEv%BA%F3%9D%F0%7C%A7%00%E6I%CFz%DA%93%9E%E8%27t%E7%3C%9D%B2%CB%8C%F9%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D%A1%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%28%29%94%85%01R%99A%24u%8A%24h%8D%0B%01O%5B%9EH%94%8A%D4TAo%B2%E8%80%905e%06%3E%ACX%A1%1A%C5%89%EA%1B-AVP%18P%96%24%038%AB%5C%B5Z%B5v%13%A4%40o%E3j%80P%A0.H%02%5EJ%B9Z%BC%B7o%A2%3Fn%B2%C4%DD%00%21A%81%00%869%FE%D0%B4Xo%2BV%AANy%22%B3%C0%82%15%C9%2B%28%5B%1E%809%F3%C5%17%90Z%B5%F2%2C%5B%AD%1D%0A%04%3D%E8P%A1%BA%C0%00%01%AD%5DK%D4%C0G%B6q%E3%AB%06%7D8H%00C%EF%DF%C1%85%3B%5C%B0%26%D5%F1%E3%8CV%2C%2C%C0%605p%E9%0E%0B%FE%7C%21%95%B6%7CyH2%1E%12%F0%1D%20%3Ax%84%3E0%ADZ%C5j%3E%7DV%9B%98%B8o%18%E0%FB%7B%8408b%DF%80%AB%8CB%86%01%16%ED%F7%9F%06~%A8%E2%E0%83%0E%A2B%87%03%FFu%F4%C0%1B%A6%A4%A2%E1%86%1A%06%E2A%85%1C%11p%05%28%1A%A2%82%0A%87%8F%D0%00%E2F%01%2C%91%89%89%26%9E%02%E3%25F%AC%B8%91%0B%8C%9C%A2%E3%8E%3A%82%22%06%826b%94%C1%1E%A5%98b%E4%91%A6%90%22%07%85A%5E%A4%80%19%A2%94%22%E5%94R%FA%C1A%93%17%0D%40%C5%26%A4t%E9e%97%8C%C4%80%E5E%40H2%CA%99h%8EB%CA%24B%8Ci%D1%08%81%88%22%E7%9Crn%E2%05%90nJT%81%1C%A0%84%E2%E7%9F%A1%7C%22G%04yN%84%40%17%9B%80%A2%E8%A2%8A%FA%D1A%A1%12%09%B0%04%25%9FTji%A5%89%CC%00%A9D5%24%D2%C9%A7%9E%84%1A%AA%24P%60%B5%E9C%1F%D8%C1%C9%AA%AC%AE%8A%09%19%FE%09%9C%FA%D0%03hd%B2%C9%AD%B8n%A2%89%1C%13%C8%1A%DE%14%94h%22l%26%C4%0A%CB%07%09%BE%F2%07%C4%22%97%5C%82%89%B3%CF%5E%82%08%10%C96%94%82%1F%96d%ABm%B6%8EDAW%B5%0AY%C0%06%25%95%94K%C9%B9%94LB%1A%B8%0A-%00F%24%93%C4%2B%EF%24%92%B4q%01%BB%0B%D5%10%C9%BE%91H%C2%2F%1F%2A%E0%CB%10%0D%8F%14l%B0%20%3C%28%28pA34%E2%C8%C3%89%3CQ%D8%C2%0C%C9%C0%C8%C5%8C%C0A%B1C1%28%E2%B1%22ml%DCP%0C%88%94%8C%08%1B%223%04%83%21%85%18b%88%1A%29%2F%F4%02%214%13%82F%CC%0A%B9%20%C8%CE%82%98%81sB-%00%22%F4%1Fd%FC%8C%10%0B~%24%ED%C7%18F%1F%B4%02%1F%7BD%1DF%D3%06%A9%90%C7%D5yxAuA%29%D8%E1%F5%1D%5DlM%10%0At%94M%87%16b%0Ft%82%1Cl%CB%81E%DA%02%99%00%C7%DCpX%017%00%25%B4%A1w%FE%1BU%DCM%C2%1A%80%AF%21%C5%DD%23%A4ax%1AQ%DC-%82%19e%98a%86%13w%870%C6%18b%88%B1%C4%DD%20%80%A1%F9%17I%DC%FD%81%17%5Et%D1%C5%11w%7B%B0%85%16%A8%13qw%07X%5C%81%05%16m%C2%BD%81%15UTa%C5%0Fwk%20%C5%EER%F4pw%06P%04%0F%85%0Ewc%D0D%13L4%81C%F1K%28%A1%C4%125%DC%7D%C1%11%D4%1F%A1%29%DC%16%10%A1%3D%11b%C2MA%10%E0%07%F1%C2%DD%13%FC%E0%C3%F9-%DC-%01%0F%3B%B4%AF%1D%DC%12%E4%80C%0E9%A4pw%046%E4o%C3%09wC0%C3%FF30%C1%DD%1E%10%83%02%C6%60%04ws%80%0B%5C%F0%02%17%84%E0n%0D%60%81%04Y%00%02%08%AA%E0%82%29%F8%10%DC%18%80%82%0E%9E%E0Q%1B%2C%81%09LP%82%0D%DCm%01%24%18%81%0AE%C0B%16%86%E0%85%2F%14A%0C%5B%28%C3%19%CE%D0%854%8C%21%0CuH%C3%1A%86%00%04%F5%1F%E8%00%070P%81%084%20%01%07%20%00p%14%16%13%05%C8%B0%87-%84%A1%0BC%20%82%11D%91%8AP%CC%21%14m%B8%C5%17%02%D1%03%1C%C8%80%05%24pD%03%10%805L%84%89%02%40%C0%C6%1F%FE%90%8D%40%04%E2%07%E0%E8E8%CE%11%8Ex%CC%23%08%DE%18G6%DE%B1%8F%1F%08%E4%07%3C%D0%81%0D%10%D1%88%080%E3%12s%92%80Az%C0%91%81%F4%80%24%1F9IAF%B2%92%8E%AC%24%26%059IIv%A0%93%93%EC%80%289%B0%01%0D%5C%60%02%10%60%00%02%7C%B3H%9C%24%60%94B%14%A5%2Cg%09KZ%8A%92%90%1C%C8%E5%2C9%60KX%E6%92%97%B5%24%25%295%20F%09%3C%60%01%ABD%A3N%FA%23%80f%3A%F3%99%D0%8C%A64%A7I%CDj%3E%F37KL%E3%DD%B6%C9%CDnz%F3%9B%E0%0C%A78%C7I%CEr%9A%F3%9C%E8L%A7%3A%D7%C9%CEv%BA%F3%9D%C2%09%08%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05X%19%E5%07%03R%99E8%C1%9A%CA%AAM%82%A7-O0z%C5%F5%D5TX%A4%AC%04%C0%8A2%03%9FV%AE%5Cu%5D%FBJ%D2%0A%B2%24%19%BCI%856%AD%5D%B5k%5B%E1y%00%F7%23%01.%A3Z%09%1E%9C%D6%14%AB%BBi%5B%8D%922%B6%AFF%1F%97XIf5%B8U%2A9%0FF8r%85v%F0%AAT%89H8%BE%E8%A2%D1%AAU%93%27%AB%DAc%81%A0%13R%83Y%A9%3A5JS%18%04%A3%25f%C8%93J%95%AA%D3%C0U%11%02q%F0%81%1D%D4%9FK%85%CA%E4%A8%0E%8B%DC%0E%17%A4%29%95%AA%BA%EF%EB%8CT%2Cl1i6%29O%95%14%FE%E99%F3%E3%2At%84%04%B6%7CB%C5%BE%BA%7BG1%1C%0E%E8%02J%14%27I%85%E8%84YBCB%E3%F3%03%ED%40%89%29%A7%14%C8%DE%29%A8%60%B2%C4%7F%0EQ%60G%26%8F%04%F2%86%16E%C0%F0%01%04%03%00%08%40%0B%89%94%E2%A1%29%04%16%F8%89%18%06T%E4%C2%1E%7C%A4A%85%0F%2Ah%00A%02%04%40%87A%1E%A3%90B%8A%87%1F%92%22%87%03%18%0D%B0C%18O%E0P%C2%05%0E%20P%C0%00%0C%3E%E5%40%1A%9F%8C%E2d%8D6%92%E2G%07%1C5%40%C3%0C%22T%C0%C0%01%04%08%10%40%92E%11%20%C5%25%A1%84%22%CA%99%A28%B9%88%0C%209%90%81%04%0B%180%80%97O%05%40%04%24%9F%7C%02%CA%9Ee%86%12%89%10%23%05%90%40%02G%D2y%94%0A%83x%A2%A8%27y%E6%89I%17%25%96%14%C0%9C_%1Ae%81%1C%9Bp%A2i%27%9Cz%B2%C9%1A%0D%A8T%29Q%09ta%89%26%9Al%A2j%A6%9C%D8%A1%81%86%FE%1D%0D%B0%84%23%97%60%92%C9%AD%99%A0%3AH%0B%B0v%84%03%21%95Tb%C9%B0%97%D4%8A%08%0F%BDr%D4%C1%1C%92L2%09%25%D0%0A%FB%88%15%05%24%AB%91%04d%3C%12%C9%B6%92t%3B%89%24g%F0e-F%07%3C%81%88%23%8E%3C%A2.%24%90D%22%C7%AB%E3%5E%14%40%0F%81%2C%C2%08%23%8D%E4%8B%EE%1Eo%C5%7B%91%0Au%20%82H%22%8A%2Cb0%23%82%10%01%A6%BF%10a0F%21%86%18r%C8%21%02%27R%88%15%B81L%D1%02T%04%22%C8%20%84%10R%08%C4%86%84%01%81%C6%14%0D%00D%1E%7F%00%12%88%C7%82%7C%9C%06%95%28K%14%C0%0Bp%F0%D1%87%1F%3C%FF%D1%B2%1Cl%D6%2CQ%07c%E4%91%87%1E%7B%A0%C8%07%1Fv%FC%20%80%D0%11%3D%20E%1Du%D8q%C7%1Dx%18%8D%C7%13%19C%ED%D0%01F%C0%21%C7%1Ct%D0A%B5%1DuX%11%81%D7%11%91%F0%06%1Cp%C71%F6%1Ca%7C%C0%B6D%22%B0%D1%86%FE%1Bo%BC%5DF%BFwG%24B%1Ak%AC%C1F%1A8d%18%B8D%21%9C%81F%1AjH%B18E%20%94a%86%19g%401%F9D%1F%8CA%C6%E7Ml.%91%07%60%84%11%86%18K%88%1EQ%07%5E%B4%FEE%12%AAC%C4%C1%16%5Cp%D1%85%11%B1%3F%B4%01%16Yh%A1%05%11%B9%3B%B4A%15VXq%05%A0%C13%94%81%14SPQ%C5%0F%C93%84%01%14QH%21E%0F%D1%2F%84A%13N%3C%01%C5%0E%D9%2Bt%C1%12%E47%91C%F8%09Y%80%04%12I%2Ca%03%FA%08UP%84%11F%1CA%03%FC%07Q%20%C4%10C%10%114%FE%04%A1%C0%0F%80%10%84%20%C0%00%80%05%99%00%0Fz%E0%03%1F%F0%0A%81%03%91%80%0Et%B0%03%1E%3C%07%82%02%89%C0%0Dp%90%03%1Dh%07%83%00%80%00%0Dj%60%83%1B%A0%00%84%00x%80%0Cf0B%13%A0%F0%010%80A%0Cd%20%1A%10%3A%A0%05.p%01%0CF%80%C2%06%AC%80%05%FE%2ChA%08z%98%02%15%A8%60%05%C4%01%21%03N%80%02%14%A4%C0%03%28%5C%00%09L%60%82%13p%20%8A%23%20A%09J%B0%01%14%2A%40%04%22%18%C1%082%E0E%10%84%E0%8Cd%04a%02%3C%F0%816%5E%00%85%09%E8%40%07%3C%E0%81%D6%80%10%01%1B%E0%80%1E%2B%80B%04h%E0%8F%1B%98%00%0A%0F%80%01%0Cd%20%03%82%04%E1%01%2Cp%81%0B%60%40%02%83%AC%40%05%18%B96%10%1A%80%02%98%AC%80%B80h%80%09L%80%02%13%E0%11%08%0B%10%01%09x2T%A3%84%40%04V%89J%0C%16%E0%01%0F%80%00%04%18%80%C2%028%00%96%B8%C4%A5%2Ce%B9%CAR%9A%D2%93%99%94%A4%24-%40LF%16%B2%90%87%CC%00%207%90G%3Dr%40%8E%1C%D8%40%06.P%81%084%20%01%07%28%D4%C2pB%00%07x%D3%9B%B9%DC%A5%2A%7B%29%81r~2%98%C3ld%23%91y%C8e6S%8E%F0%EC%80%1E5p%01%0A%CC%12%01%06%B1%E8%D2%A8zB%00%064%E0%9F%0D%F8f.c%B9Kr%9A%F3%93%C0%1Cf1%D7%89%CC%3Fj%80%99%10%8D%E6%064%80%81%0AH%C0%01%0A%C8%26%A5%B6y%93%01%2C%80%01%FE%04%E87Gz%CB%82%1A%B4%9C%BF%3Cg%26%17zLej%C0%A5%7F%3C%A4%05%260%CB%04%E4%13I%1C%ED%E8GA%CA%D3%90%8A%14%9C%B0%14g%2FW%89RO%26T%A1%EA%3C%A6R%2F%60%01%0AD%C0%01%0B0%D2F%83%F2%A5%AAZ%F5%AAX%CD%AAV%B7%EA%A5%00%08%A0%ABXE%A1X%C7J%D6%B2%9A%F5%AChM%ABZ%D7%CA%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%95m%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05T%01%C5%E7%02R%99C2%B5%9A%9A%8A%0D%82%A7-M%20Z%C5%8A%D5%D4%A9%A1%AA%04%C0%8A%12C%9ET%AB%D2v%F5%FA%15%D2%0A%B2%24%17%AC%29%95J%95%DD%B4%5C%BB~eu%E7%01%DC%8F%03%B0%7CB%85%2A%95%E1%BB%A4R%AD%FD%DA%AA%94%D8%BF%1BuH2u%EA%14%E1%C2%AAJ%BDq%20%82%D1Z%B6S%25%A9%80%7Cq%C5%A1R%A8MQ%B6l%0AO%05%82LD%E5%05%CD%B7%01i%89%17%E4%88%1AE%8A%14%EAR%A6J%01%FAp%D0A%1DU%8B%BF%8A%AAr%DB%A1%021%9DB%89%DA%CD%DB%F7%A1%14%0B%5BH%9A%CD%F8%91%89%E6%09%09%FET%B1%F4%09%14%28%E9%D4%11%BDp8%C0%0B%A9%BC%8CU%B5%B9%0A%9E%60%8DE%9D%3Ay%F2T%FE%BC%A4%23cAd%81%1Fj%81%D6J%27D%D4%07%00%0A%7Fh%B2%09%27%9C%E8%C7%DF%25%5D%18PQ%0E%99%7C%B6%D6%2A%86pp%5B%05m%5C%92I%26%9A8%08%A1%26j%D8v%11%01_%98%82%D7%2A%AA%A4r%0A%28a%14%00%17%03%5EDR%89%25%97%88H%A2%26ul%C0%D1%07%88%D8%15%E3%29%A5%84%B2%09%21%2C%3C5%C0%11%89H2%C9%24%94X%C2%E3%25%81%B4%00R%11%9C%C8X%8A%28%9DT%B2%88%1FS%2CPT%009%00%F2%C8%23%90D%22%25%25%95%14%B2%C3H%0B%BCA%CA%28%9Fd%02%09%21u%90%C1%84%06%01%02%25%82%1C%8C0%D2%88%23l%BA%C9%C8%146%96%04%82%20%9AL%92%08%1Fk%60Q%84%0C%1C4%DA%93%04a%1C%92%88%22%8B%18%8Ah%23%60%98%89R%00E%10%12%88%1Ca4%91%03%0A%FE%1AD%60%E1N%070%11H%21%86%1C%82%C8%A7%8B%2C%92%86%05-%29%C0%C4%19V%08%F1%02%08%144%80%40%01%81%D6%24%C0%0Ew%04%22%C8%20%84%14r%88%AEt%7C%07%D3%04%3A%D8%60%82%06%10%28%60%00%01%034%2B%93%0Am%F8%E1%C7%1F%80H%5B%ED%1D2%D0%14%C0%04%1BL%C0%C0%01%E4%0A%60%EEK%16p%91%87%1E%7B%F0%D1%C7%BA%81%EC%81%04%017%09%A0%40%02%05%0C%A0%EF%BE%2C5%C0%C4%1Cu%DC%81%C7%BF%01%F3a%05%03%3B%090%80%C3%10%ABT%40%0Ek%C4%21%07%1Du%D8aq%1E%5EP%00T%C8%A7%AE%40F%1Bn%C0%01%87%1C%27%F7%19%82%82%1Eup%05%1Ai%A8%B1%06%CD6%A71%03%CC%3CO%F4%00%11c%90a%C6%19i%A4%B1%06%1Bi%041k%D2%19%1Dp%03%17_%84%21%06%19e%98%01t%12%A6b%8D%91%00%27T%A1%C5%16%5Dx%D1%F5%D7O%B8lvF%1C%2CQ%85%15Xd%A1%05%FE%17%5ExA%C5%08sg%14A%0FPH1%05%15V%5C%81%85%16V%A8%20%40%E0%17%21%F0%C2%12L4%F1D%14%86SA%C5%0C%9AB%3E%11%01%26%10%81D%12KP%EE%04%14Q%D8P%B6%E7%14M%10%C4%10E%18q%04%12J0%E1%C3%04%ACc%24%C1%0F%40%BC%1E%BB%0F%19%E4.8%0F%3E%F0%FE%C3%07%8F%0B%8FQ%04%3A%EC%D0%83%0FZ%2A%9F%11%048%E4%D0%7C%93%D2c%04A%0D6T%3FZ%F6%17%3D0%03%0D5%DC%80%1D%F8%169%10%83%0C%E3%9F%80~%FA.%C0%10%C3%0C%DA%BE%3FQ%03-%B8%F0%02%0C%24%D8OQ%03%2B%60A%FE%00%E7%3F%890%00%05%2A%08%20%08%0Ah%C0%13%A0%20%05%2AX%20%03%21%B2%00%12%98%C0%81%1E%98%20D%140%82%12%5C%D0C%1At%8E%08F%40%82%12%08%29%84%0DQ%40%08F8%02%0D%A0%B0%21%09%F8%00%08V%18%BC%17.%24%01%1E%F8%80%0C1%60%C3%85%20%80%03%FE%1D%F0%80%07%80%D5%C3%84%20%60%03%1B%00%22%11%8Bx%10%04d%40%03H%94%1B%13%0Dr%00%0C%3CQ%03%B8%9B%22%15%2F%60%C5%0CdQ%8B%041%80%05.%C0%C5%08%80%B1%20%06%A0%40%05%2C%60%013%9Eq%20%06%98%00%05%D4%08%817%C2Q%02%12%90%A3_%EC%08%80%02D%00%8F%13p%00%1F%FB%08%81%08%18REv%24%C0%03%20PH%8E%F1%91%00%0Ex%C0%22%1D%99%C8%068%20%92%AB%3B%23%01%1A%60I%07d%12%8C%04%60%00%03%2C%A9%80A%0E%60%01%0B%18e%02L%89%CAT%AE%92%8F%03P%80%02RI%1F%3B%0E%20%01%09%40e-%DFxKY.%60%97g%BC%25.%15p%80A%0A%00%01%B8L%401%F9xLd%26%E0jo%14%C0%01%0E%80%00%04%40%F3%8C%D2%9C%A65%8Di%00m%22%60%9A%DEL%E60%5B%99%CAQF2%92%8C%8C%40%21%F3%28%C7%0A%B8s%8Dc%24%A3%05%2A0%01%084%40%99%E3%C3%12%80%BE%8A%22%00%03t%13%9C%D4%AC%A63e9Kr%8A%B2%93%E8d%24%04%F0%98G5%BA3%9E%F2%A4g%04%3Ci%CD%7C%05%00i%1D%2B%40%01%FC%F9%CF%80%3A3%99%045%28%27-%29%C9E%1A%F2%8F%13H%E9%1A%DFY%01%0A%D4%D3%01%0Cx%A6E%2F%CAO%8D%DA%D4%9F%00%15%E8%40%7D%D9%CAQr%F2%92%095%24%20%E7%D8R%97J%00%020Uf%C3%1Ev%94%00%D8T%A3%1C%ED%A8GA%8A%CA%82%A2%D2%A7%24%5Dd%21%85%9A%D2%09H%40%9D0U%805AFS%05%5D%F4%AChM%ABZ%D7%CAV%8C%0E%F2%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%07%AB%BC%80%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05D%D1t%C7%02R%99%3E%26%99%3Auj%14%1A%04O%5B%8E%08D%AA%94%A9%A9%A7Pq%92%12%20%2BJ%0BqB%89%1A%D5%D5%EBTT%A8%18%A50KR%01%99M%A0%D4%AEm%FB5%2C%AASt%1C%D0%FD8%20%0A%25O%9F%40%E5%5D%3B%AA%D3%28%AFT%E1%A6%02Ev%F0F%1A%876q%EA%84Xq%A8Ni%1A%800%04%D9o%2AU%8E%E6Z%B6Xb%0F%A6L%9A4s%FE%E4%29%0E%05%82H8%81E%95%EA4%AA%3A%0DVK%A4%60%86R%25K%AFcs%E2t%87%C3A%07qJ%99%3E%AD%0A%D4%14%E1%0E%11Xi%24i%92%F1K%C9%FB%FE%94X%B8%C2Q%E4%DE%AAT%ADj4%1E%3B%C2%01I%0C9z%14%A9%3B%25K%97%FC%A8p8%60K%28%D3%E9%AD%82%CA%1AX%B9G%D0%0Ax%2C%C2H%23%F3%D57%89%21%3E%94%05Q%05%7B%98%C2%1Bz%AB%AC%D2%09%11%06%02%00%02%1B%86%20%92%88%82%0CB%A2%88%14%05TtC%25%17%06%98a%22%1D%08%17%C1%16%81%0CR%C8%21%22%2A%C2%C8%22%5E%2C%80%11%01%5D%8C%82%5E%80%AC%9C%B2%86%01t%25%B0%84%1E~%00%22%08%217%22%82%C8%19%17p%E4%81%21C%AA%B7%0A%2B%9C%04%F1%D4%006%C0%A1%C7%1E%7D%FC%11%C8%93%85%C0%D1%9EGDl%82%E1%96%AC%B4%92%C8%06F%A9%60F%1Dw%E0%A1%07%1F~%98IG%0C%23-%00%C7%29%E9%A9%C7J%9C%A6%7C1%80P%19d%01%87%1Ct%E0%99%C7%1E%7C%DCQ%04%01%26%89%B0%88%8B%87%1Ez%C9%0C%3F5%80%C4%1Al%B8%F1%E8%1Ct%D8q%87%13%09%A4%14%80%14%FE%A0h%09%27%2B%AB%FC%11%C1N%05%D4%40%C6%19i%90j%AA%1CrTq%2BK%0E%D0qZ%86%19%AA%92%8A%27P%E0%24%C0%09Y%84A%86%19%BC%AE%D1%86%1B%5C%C4%08S%0B%91%14%9A%CA_%A5%88%12%C8%075m%D0%04%17%5E%80%21-%B5ix%B1fL%04x%21%24%2A%A6%90%12%0A%27%960%D2%04%A609%D0%83%15Xh%81%EE%17%D2~A%C3%A26Y%B0G%29%A3%80%C2I%25%8E%10%92%07%18t%B6%84%00%0CPHA%05%C0Yl%E1%85%17%3E%B4%AAS%0D%8DlRI%23%83%DC%A1%06%17L%A4%90bJ%03%88pD%13Od%BC%F1%15Z%0C%21XO%04%3C%91H%CAih%B1%04%0F-%7C%A0%00J%18%F4%60D%12K0%E1D%14%1A%1B%E1TP%14p%11%F4%12%3B%B4%10%C2%05%10%24%20%00I%10%C8%00%84%10D%1C%C1%B4%D3H%84%20%E1P%1C%08%A1%03%0B%20p%BD%C0%01%05%7C%0D%12%02%26%E8%C0%83%FE%0Fc%97%9D%04%12%29%F0k%94%00%16%7C%60%C1%03%0A%D0%3D%80%00koD%40%074%DC%80%83%DE%7C%0B%21%04%0B%07%D0E%00%03s%17%B0x%E3%19%05%40%01%0B1%CC%40%83%0D%93%F3%D0%83%0B%0C%087%40%01%040%DEQ%03%25%B0%D0%C2%0B1%C8p%3A%0E1%DCf%A0%00%B2k%84%00%07%27%A0%A0%82%ED%B8%CB%00%C3%05%A0w%F8%A3%05%22%8CPB%F1%C7%BB%E0%02%07%08%3B%AF%91%00%11x%00B%08%D2%9BP%7C%0A%1C%20%A9%3DG%08t%E0%C1%07%20DO%82%09%1F%88%7C%3E%FA%1C%A8%FFA%08%22x%D0%FA%FC%1E%1D%B0A%FD%1E%E8%C0%03%9A%C7%BF%8C%1C%40%03%1B%D8%40%07%A6V%C0%FEe%00%81%1C%A8%40%03%3Fr%80%0B%60%E0%81%13%98%A0G%0C%60%01%0Bf%20%83%1A%E4%88%01%2A%D0%C1%0F%86P%84%14%A8%80%05%25p%C2%8D%14%80%02%29%B4%C0%B0Z%88%11%03L%60%02%29%84%00%0D3R%00%09H%00%87%FE%0F%D8%21F%0A%00%01%1FN%60gB%AC%08%11%23%E0C%24%26q%22%04x%00%04%22%10%81%E0%3C%91%22%04p%80%14%23%B0%BF%2BJ%24%8BZ%84%40%17%BD%08%11%024%C0%01Z%1C%23%19%1D%B2%B93%3E%C0Gk%84%C8%00%16pF%07%1C-%8E%0F%99%23%03%1A%D0%00%F9%E1%91%21zd%00%03%FC%F8G%85%E8q%01%0B%20d%21%DF%83HD%2Ar%91%06%19%80%02%1AY%20H%26d%00%09%98%E4%02%2Ai%C9%83%60R%01%A0%CC%5C%27%DF%83%80%04dR%94%A3%8C%24%02J%99%00T%A6%92%20%03X%E5%2A%CD%F7J%82%08%40%96%08%A0e-%05%22%80%03%F82%97%BB%B4%A5%01~%A9%CB%5D%0A%C0%00%C3%3C%401kyLd%D2-%98%03%11%40%01%0A%80%CC%97AS%9A%D4%7C%264%01%80Md%0A.%98%01%20%00%01%A8%F9%CD%5D%86s%9C%B0%DB%26%00%CE9%CEr%D6%92%9D%E2T%27%3C%B3%07Nq%8A%93%9E%E6%BF%24%C0%00%EE%29%CF%01%EC%D3%9E%E8%9C%A63%7DI%D0%03%AC%D2%94%A0D%E4%1E%D1%A8%C5%07%A0%B1%01%9CS%40%02%10%407%7D2.%00%185K%00%FC%09Pq%C2n%9A%D94%E8AM%99IM%EE%B1%8E%0DEcD%27j%00%CF%5D%94%80G%D9%A8%3F%FF%09P%90%86%D4%A0%24E%E8%24%05%29H%3E%F2q%A5%14m%E9%E70%0AS%A3%C8%94%A3%1D%0D%285%939%D2%92%26T%A1%9C%5B%80Dg%09%BB%A1%165%A63EjRm%9AL%91%96T%A7%9A%9C%AA2%ABj%D5%ABj%90%A8hM%ABY%D5%C9%D6%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%5Dd%40%00%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%05%20i%D4%86%02R%996%0Aa%CA%B4%E9%12%98%03O%5Bz%98S%C9%D2%A5L%9A6q%92%B4%24%40V%94%12%C8%3C%92D%A9%2B%A6%B0%9C%3Ay%22d%E2%2CI%04U%129%82%14i%12%25%AF%60%C5z%FA%E4%A9M%03%BB%1F%05%08%09%B4%88%91%A3G%91%D8Vzd%09%AE%DCO%A0.51%8BXc%8A9%87%10%25Z%D4ho%24G%5E%18p%E0c%193%A8P%87%EAv%B6%D8%C1L%A0A%85B7v%D4%88L%04%82A%24%C5%1D%FCZT%A87%0CfK%7C%20%85%CF%1F%40%82%08%15%12%BD%28%0D%86%83%0C%D2l%BA%5C%7CT%A6%27%CA%1D%FE%1A%10B%27%0F%9F%3E%7Fn%E7n%F3a%E1%89B%C4C%89%1AE%8A%14%A2%11%E1%13%0A%A8%B1%86%8E%1D%3Cz%F0%E1%07tm%88%E0%90%00U%60%82%99%7C%F4%952%0A%1A%08%E4W%D0%07%5E%BC%11%C7%1Cu%DC%91%C7%1E~%C8%21%03g%0FM%40%C7%27%0C6h%0A%26BH%08%80%05R%A4%B1F%1Bp%C8AG%1Dx%D01%04%01%15%CD%E0%08%83%A4%94R%8A%29%A7%14%C2%81r%0B%04A%86%19h%A8%C1%86%85r%C8%B1D%02%18%11%80%05%27%F3%F5%08%E4%29%A4%A4a%80%5D%06%CC%B0%05%18b%94q%86%8Bm%BC%21%C5o%1Bq%10H%83%3F%9E%82%0A%2A%99%FC%F0%94%00%23D%91%05%17%5E%84AF%19If1%E4G%40Xb%E5%29n%A6%92%CA%21%1A%18%B5%01%12TX%81%85%16%5D%7C%A1%A7%16%24%8C%A4%C0%1A%A3%B4Yh%2A%A4x1%80P%0F%E8%D0%04%14RTq%85%16xj%11%C3%A7%25%81pH%9B%FE%A8%18%AA%CA%2A%96%CC%F0%13%02%2B%1C%A1%04%13ND1%85%A3Z%DC%B0%25J%01%3C%D1%09%A1%B1%AA2%AB%2A%7F%A0%99%D3%00%1F%F80%84%11I%2C%C1%C4%13RP%B1Cr%2C9%20G%29o%A6%A2%EC%2A%AB%88B%05N%01XP%03%0F%3F%08A%84%AEK8%01%C4%041%B1%F0H%AC%E2%CE%CA%0A%2B%8F%C86%D3%03%2C%DC%90%C3%0E%3D%001m%12%40%5C7%D3%00%5D%8C%22%2B%B9%AC%B4%A2%0A%1BX%C1t%80%080%CCP%03%0E%3A%B0%1B%C4%0F%21%08p%93%05%7C%88%0Bq%2B%28%7B%92bK%04d%A0B%0B%2F%C4%40%83%0D%03%F3%60B%01%3B%E5p%89%BE%11%A3%EC%CA%22%89%A6%14%40%04%24%A0%A0%02%0B.%C0%20C%0D7%A4%10aO%04xa%CA%2A%FB%A2%8C%F2%29b%B0Z%12%03%1F%90P%C2%09%29%AC%D0%82%0B1%A8%E0%80P%1F%20Bu%CF%3E_%22%C3%5D%18%80%00%82%08%24%98%604%0B%29%D0%5BT%FE%11%9E%EC%CBv%2B%AB%E8q%D8G%04D%C0%81%07%1F%80%10%C2%08_%9Fp%81%C8G%25%A0F%2AT%93%BBJ%2A%A8l%E2DG%028%90%81%06%1Bt%80x%08tc%80%E3Y%230%A2%8A%A1%A7%982%0A%28%9D%F0%F1%27F%09P%60%01%06%19l%C0%81%E8%20%600%2Cb%01H%D1I%29%A4%84%D2I%26%948B%88%12%A7Sd%00%04%13T%60%C1%05%B8%87%9E%81%02%12%3A%C0F%27%9A%24%8FH%20x%BC%91E%D0%11%0D%C0%40%04%12L%40%81%F4%17d%80%01%B7%2A%02P%C2%1E%89%08%A2G%1Cgp%21%C5%11%274%CF%90%00%09p%C0%03%20%20%81%F4%D9%CE%02%0E%00Q%FC%00%20%00%1F%B8%21%0D_%A8B%12x0%83%14%7C%00~%09%09%C0%01%1A%D0%00%01B%20%02%E8%A3%80%03%B4%B6%40%82%2C%60%07K%00%82%0DV0%02%0E%5C%E0%01%0C1%1F%03%3A%E8%C1%088%C0%7F%254%88%03LP%02%0F%60%40%02%FE%23%8C%E1%02fHC%07%FC.%87%19d%C0%04%1E%C0%80%23%26d%00Cd%80%14%9D%88D%85%08%C0%00TD%C8%00%14%B0%80%21B%A9%8A%1F%D9%22%17%17%F0E0vD%8C%5D%2C%A3%1972%80%04%24%C0%8Bk%3Cc%02%B8%C8%80%A7%C5Q%23m%7C%E3%02%ECxG%8C%00p%8E%7B%EC%A3F%FE%C8E%3E%0A%B2%22%02%40%00%02%14%A0%80%8A%1D%D2%22%89D%80%1B%1D%F9H%8ADR%92%94%AC%A4D.%89%80%2Cj%F2%40%078%80%22%3D%F9%C9%FF%85R%94%A4%2C%A5%15%0D%10%CAN%AAr%93XD%E5%2B%23%22%80%02%B0%F2%008%9B%E5Cj%19%CB%5C%EA%B2%21W%BC%A5%2F%7F%B9%90%00%D8%12%8B%C3%24f%06%8Fi%00%1C%2A%F3%20%C6%2C%80-%9D%F9%CC%82%04%80%00%D2%2C%005%AB9%90kfs%9B%DC%04%C05%B1%A9%CDp%22d%9C%D2%04%277%C7%89MuV%93%9D%E54%A7A%E0%E9%CEg%B2%93%00%24%C1%94%A7%40%EE%99O%7D%F2S%9F%D6%1C%00%01%06%DAOy%06%60%00%02%C5%27%40%09r%D0%84%16%D4%9C%0D%15%E8C%C3%19Q%85.t%9F%08%CD%E8E1%9AQ%C8%5D4%A2%03%F0%E8B%03%20%80%8EnT%9C%25E%A8H%01J%D2%8C%BAt%A0%03%CD%A64%B1h%80c%CA%14%9F%2A%15%40%00v%AA%C0%05%924%A5%2F%85%299e%AAM%98%22%14%9F%02H%2AO%C5%C9%D4%1C%FE4%A9.M%A8P%C9i%D4%A4ZU%A7%3B%ED%E3S%A3%9AQ%82J%15%A9%21U%AAY%B2%AA%D5%ABv%94%ABQ%D5%A9Z%B1z%D2%B6%BA%F5%ADp%8D%AB%5C%E7J%D7%BA%DA%F5%AEx%CD%AB%5E%F7%CA%D7%BE%FA%F5%AF%80%0D%AC%60%B9%19%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%DC%B8%A3%05%02R%99%28%DA%FC%11D%28%10%14%03O%5BZ%E0%B2%87%8F%9F%40%82%0A%1D%F2%E3%23%40V%94%0D%98%D0%B9%93%C7%2BXB%86%10%29%92%F3%E1%2CI%03%3F%DA%C8%A9%C3v%8F%1F%40T%E3%2Ab%C4%E8%CB%02%BB%1F%05%BC%20%D3%06%8E%9C%B5y%F6%F4%C9%F3g%90%D8D%8B%1A%3DB%24%C4%2Cb%8D%1C%AE%A0Q%D3%E6%CDc%3Bx%EC0I%60%01%8DXD%99%1DA%8A%A4%27%C4%E7%8B%13%96%88%21s%26%CD%1A7%8E%E7%40i%40%90%86%1F%D8%8C%1C%3D%8A4i%12%19%05%B7%25%2A%C0%B1%C5K%182f%7C%97%9E%22%E1%A0%82%2C%88%18%FEi%8E%24%89R%A5FG%A2%3B%24%B0b%0A%96%EAa%C6%98%19%5D%E5%C2B%10u%1A%C9%964%A9%D2%A5L~%80%A0%5EB%01%84%B0%C4%14U%5C%A1E%17%60%88Q%C6%14%198%24%40%12%88%2C7%09%25%96%60%A2%09%26%60%1C0%60A%13%F8%C0%C4%13R%24%A8%05%17%5EXA%82D%10%A0%C1%1C%86%FFm%C2%C9%23%3C%7C%08%40%032%1C%A1%C4%12NDA%85%15YX%E1%C2%00%15%B1%10%88y%FFi%22%A3%27%7Dh%10%DD%01%26%001D%11I%2C%D1%04%14RPA%03V%17%11%F0%04%24%19%2A%C9I%27%9Fp2%06%97Y%0D%D0%01%0E%3C%FC%20D%11HX%09%05%0E%0Cp%94%81%1D%97%88%D9%89%27%A0%84%22%89%0EO%05%40%C1%0B6%E4%C0%83%0FA%10%A1%23%0F%13%80%A4%03%23%9Bl%B2%E7%27%A0%882J%20%11%16%F5%00%0A0%CC%60%03%0E%3B%F8%20%E5%0E%F6%89%94%00%19%99p%E2%09%A5%A1X%EA%89%16%FED%06%85%C0%07%2B%B8%D0%E9%A7%3A%F4%B0%C3%07%02%98%E4%C1%1F%7B%F6i%29%29%A5D%12%C3O%04%5CpB%0A%B5%C2%20C%0D7%E0%20%02%01%29%05%A0D%25%AC%8EBl%29%A5%F0%11%C1N%01%40%10%02%09%26%A0%B0B%0B%2F%C40%03%09%1E%B2%D4%C0%1A%9F%B4%3A%0A%B7%A6%9C%E2%89%1491%C0A%08%22%90%8B%82%0A%2C%B8%60B%9D0%A5%A0%C8%B0%A5%D4%7B%0A%2A%8C%94P%13%02%17p%F0%01%BF%23%94p%82%0A%258%40%D3%00YtB%AC%C2%A8%A4b%8A%1Ah%BAD%40%04%19l%D0%81%07%20%88P1%09%13xVS%05x%24%7C%CA%C2%A9%A8%A2%0A%27A%B8%24%40%03%17%5C%80%81%06%1C%B0%CC%AF%05%B1%E6d%03%25%F5%86%9C%F3%2A%AC%24%E2d%B5%08H%40A%05Bk%A0%F2%07%16%14%E0%13%01%5C%88%E2%B4%2A%AB%40%5DJ%18I%DF%E5%40%04V%5B%20t%06%1AX%D0.P%1E%1426%D4%AC%B4r%89%FE%0C%24%0D%B0%C0%03%10%B0%7D%B5%D0%16%40W%14%11%9C%E8%8Cw%2B%8C%F3A%5Cb%070%D0%80%03%10%40%20%C1%04%15T%C0%80%CCE%25%90%06%2Ae%B3%92w%2B%AE%90bEG%01%18%B0%C0%02%92%3B%008%DB%0D%F4z%D6%08%8C%2CN%BA%2B%AFD%E2pF%04%28%B0%BA%E4%93%BB%DE%40%DAg%050%85%28%A3%BB%82%FB%2B%AC%B81%F7D%03%1C%A0%80%EF%AC%B7%DE%80%D7%03%3EPG%DE%CA%BF%F2%0A%2C%B0%80%22%C4D%02%18%80%00%02%09L%EF%3B%03%0C%94%FC%E1%0B%95%90%EE%FD%F7%B0%C4%82H%05%0F%05%40%C0%01%E7%A3%9F%BE%EF%07%E0%9C%8D%00%40%800%A0by%E0%8BE%2CTA%06%E2%1Dd%00%050%80%01%F8w%BE%F4%05p%80%08%C9%40%21%BC%07%BE%FA%C5%02%14%CF%3BH%00%0A%40%C2%09R%F0%00%B2%C3%60Bz%D0%09%FA%D5%0F%08%0C%19a%09%0Fp%00%038P%85%079%40%1BX%01%3E%404D%86%FE%12%B4%21%0E%21%22%82F%84%E2q%0B%91%21%09%A95%C4%88P%C0%21J%2C%00%13%9B%E8%11%FD%95p%8AT%E4%88%FE%08%10A%ECeQ%8B%04%E0%A2%01%B0%F8%C5%8Cl1%82d%2C%E3E%CE%28E5n%84%8Dit%23E%B6%C8%C58%CAQ%22tl%E3%1D%D7%18%C6%3A%EE%91%8Fa%D4%E3%1F%E7%D8GA%0E%12%8F%85%B4%E3%21c%D8G%02%DCp%91%8Cl%24%24%11%D9%C7GN%92%40%8D%B4%E4%25E%98%C9M%E6o%00%95%F4%24%14A%19FM%8Ar%20%01%20%A5%23O%19%C3%01%90%D2%94%ACL%E5%2BY%99DW%82%12%96%A7%94%A5-i%A9%10%5D%BA%92%97%04%B2%E5%2F%81%29Ba%E2R%94%BE%3C%A6%27%7D%99Bb%12D%96%02%18%403%9D%29%90%00%08%E0%9A%D2%A4fA%ACyM%01%08%90%9A%DC%BC%E67%9D%19Noj%F3%99%DD4%E79%AB%E9%CD%00%B8s%9D%A8t%E78%C1YMx%DA%F3%9E%F8%27%CC%A7%3E%F7%C9%CF~%FA%F3%9F%00%0D%A8%40%07J%D0%82%1A%F4%A0%08M%A8B%17%CA%D0%86%3A%F4%A1%10%8D%A8D5%12%10%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%3F%03%8C%A8%D2C%01R%99%19%96p%F1%12%06%CC%0D%02O%5B%3A%E0a%25%CB%16%AAd%CC%80Y%915%25%02%18Q%A6t%FD%1A%86%CC%994k%B0X%28K%92%80%89%24N%D2%AE%05%FBv%8D%9B7I%10%D0%FD%18%60%C3%8F%24K%F2%AA%CD%C2%25%0B%98%B0p%DB%C0%91%D3FF%80%C1%1B%21%CC%10R%04Ib%BDVf%18x%D0%C4%0C%5C7p%E6%D4%B9C%26%03%E6%8B%0BV%F0%F8%C1%D9s%5E%295%12%10%2C%11f%8Dd9%AB%F3%EC%91%22%F8u%C4%02%1Fn%E8%98-%C4%08b%267%18%1C%3C%20%E4wp%3E~%EE%E00%EEP%00%86%174%94%FE%CF%1ER%24%C9%0D%07%0B1x%01~%27%0Fv%40%82%D6h%E0%9E0%80%84%14%2Fb%84%D7%D1%83v%0D%08%0E%05p%C3%1Bw%E8%81%5D%20%82%14B%88%14%06%D0W%90%02%22%AC%D0%C2%0B2%D4%A0%5C%0F6%CC%15%11%03T%B8%F7G%20%83%14rH%22~%C8%E0%20%00%07l%60%02%0A%2B%B8%00C%858%D8%C0%81%00%15%89%D0%C6%87%21%8E%B8H%23oh%88%19%01%15%8CP%C2%09%29HH%E1%0C%1F%60u%D1%00%40%F0%91%23%22%3B%3A%C2%C8%15%05%D0%25%00%04%1F%880%02%09%26%14%D9%02%0C%21%1C%C0%11%05f%88%88%88%22%8C8%02%89%24%84%CC%90%95%02%1Ax%00B%08B%9E%80%82%0A%23%2C%00%D2%0B%7B%40%D9%88%9A%92LR%89%1D%3E%0E%85%40%05%1Al%D0%C1%07tr%29B%03%23%21%60E%22%7F%AEII%25%97L%22%05%8DA%11%10%C1%05%19%24%BA%28%08%23%84%20%C1e%25e%20%07%A0%97%5E%92%89%26%FE%87%B0%F0%93%00%0BP%60%01%A8%1Ap%D0%81%07%1FL%C0%E9I%01%00%81H%A0%98%BE%BA%C9%26t%3C%B0S%00%08%400%81%AD%B8%EAZ%81%92%2B-%10%86%24%95Xb%2C%27%9ET%C2DN%A3E%20%C1%B3%15%E0j%81%980%91%F0%87%AB%9Al%D2%89%27%9F%80R%88%085%11%B0%C0%03%10D%10%C1%B3%B7VP%9CL%03H1I%BB%EF%C6%1B%CA%27d4%08%93%00%094%E0%80%03%10%E4%FB%2C%05%0B%A0Z%D3%04pl%C2m%BC%A2%8CBJ%25%3D%B8%14%C0%01%0B0%C0%80%03%F8%8A%3B%01%03%BF%E2%24%03%23%F0%82%D21%29%A5%94B%08%06%2B%11%90%C0%02%25%9F%9Cr%03%03%F8D%80%15%9A%80%12%8A%C75%9B%12%8A%17A%9B4%00%02%09%28%C0%B3%C9%0D%3C%C0%00%B5%3Fm%F0G%28%A2%D0%5C%8A%29%A7%A02%09%0C%24%09%60%40%02h%2B%205%03%0D0%A00Q%3FT%E25%D8%A8%A4%82J%1E%90%12F%C0%FE%01%07%40%1D5%CF%0B%1C%60qQ%08%90%21%CA%D7a%A7%A2%8A%2A%A0P%E1%D1%00%06%18%C07%02P%AB-8%5D%21%1CB%B7%E2%AA%AC%C2%8A%23%24h%24%40%01%05D.9%E5%09%1C%D0rY%01%40%E1I%DD%8B%7B%CEJ%2Al%A0KQ%00%03%10%40%BA%E4%7DS%DE4w%0F%C8%81J%E7%B2%B7%D2%8A%27%40L%84%3B%01%CC%93%5E%3A%DF%BF%9F%D8%82%24%AB%14%DF%8A%2B%AE%1CR%01D%020%EF%BD%F3%06%60%7D%A2%40%04%7CQ%0A%2B%AC%18%EF%CA%2B%AF%A42F%F4%08%090%40%EE%DF%93N%C0%E0%E3%13%84%C1%20%E9%AB%FF%0A%2C%9F%B0%1DBp7%3F%EF%E9%EE~%F9%5B%08%0F6%E1%BFW%FC%80%21%04%A4%1F%01%06%B0%BA%04%22%E4%00kX%C5%FA%00%D1%10%02z%AF%82%16TH%08%1A%11%8A%BC-%24%82%13%0C%A1D%B6%D7%C1%F9%E5%0E~%2A%DC%08%0Aa%18%C3%8C%CC%B0%86%1E%B9%21%0E9%A2%C3%1Dj%A4%87%A7%3E%C4%08%10%83h%91%21%12%F1v.%9C%DF%11%85%98D%10.%11%22%11T%E2%13%2B%12E%1AN1%40I%B4%E2%15%21%98%C5-%2A%AF%8B%5E%8CH%00%04%20%3F%0A%86Q%8Cd%9C%9F%13%CF8%402%CAo%8Dl4%C8%18%DD%88%BF8%D6%C7%8D%02%A8%A3%1D%DBHF%3D%EEQ%8E%01%18%A3%1F%FFH%90%CB%04r%90%84%2CH%20%13%C9%C8F%3A%F2%91%90%8C%A4%24%27I%C9JZ%F2%92%98%CC%A4%267%C9%C9Nz%F2%93%A0%0C%A5%28GI%CAR%9A%F2%94%A8L%A5%2AW%C9%CAV%BA%F2%95%B0%8C%A5%2CgI%CBZ%DA%B2%86%01%01%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%27%BC%10a%00%A9%CC%06%29f%D8%C8%81%E3%83%00%A7-%0F%80x%11%83%C6%0D%1D%3C%7C%E8%C8%805%25%81%0C%2A%5C%C0%90Q%E3%2B%8F%1FB%8A%DCpP%96%A4%80%09%25R%B0P%3B%A3%06%0E%1D%3D%80%0C1%A2dI%8B%02u%3F%06p%10%C2%04%0A%15-%B8J%AD%01%18%08%91%23J%98%3CY%02%221G%04%1BF%940%91bE%E4%182%3A%10H%E0%22%C8%E5%25M%A0H%A9B%24%82%E7%8B%06.%84%08%21%FA%F1%0A%17%2F%3C%20%1Eh%01H%92%25N%A2L%B1%82E%0B%8E%A6%B7%23%0E%88%E0%01D%08%11%24L%9C%80%FC%E1%C0A%02%2A%90%FEK%A1%C2%7C%8B%97%2C%27%A2%3B%0C%D0%20%03%87%EA%22D%9FH%01%02%C1%C2%07%3E%C6%5B%C9%C2%E5K%182QH%A0%9EB%0AX%90%C1%06%EF%81%80%5D%09%1E%24%B0%1E%09Q4%D7%C5%17b%94q%C6%19%3B%100%60A%05HpA%06%1A%20%08%DF%07%0DH%84%80%0E%E6%811%86%19h%A8%C1%06%19%25l%08%00%01%0EP%60%C1%87%1Ap%D0%C1%07%1E%40%10%40E%18H%F1%9F%19i%AC%D1%06%1Cr%60a%DBm%02%2C%20%C1%04%15X%80%C1%81%1Cp%20%C1U%17%09%D0%02%18D%B2%E1%06%92u%D0Q%84%86e%05%90%C0%03%11L%40A%05%17%60%10%E2%04dj%E4%80%13F%BE%11%C7%1Cu%E0%A1%C7%1B%28%60e%80%03%10D%F0%A4%8D%1FR%E0%DDG%23%8C%81%24%1Dv%E4%B1G%1F%7F%90%21%60Q%04%2C%E0%C0%03%81%0EZ%C1%04%F6%89d%C0%10p0%9A%07%1F~%00%22%C8%1FD%60%09%94%00%094%D0%C0%A5%FE%99R%40%81%02%3F%964A%17w%E8Aj%20%83%14rH%1D%24%FC%14%80%01%0B0%F0%EA%03%98%A6%C9%40%AD%27%05%20%C3%1C%90%F2%EAk%22%8A%98Q%E2N%05%28%B0%40%B1%C7%06%CA%C0%00-%25%10%85%1F%82%102%ED%22%8D%18%12DN%04%20%A0-%B7%C72%10%A7K%1D%B4A%88%21%88%24%82%EE%23%91%E0%E1AM%02%1C%80%40%02%0Ahk%AC%03%0D%0C%27%93%00D%04%82%88%22%8C8%C2%EF%24%91h%A1%B0K%01%14%80%C0%C6%04%1B%CC%C0%A16A%20%06%BA%8E%40%22%C9%24%95X%A2%88%0D%18%13%20%F0%C0%04o%BB%C0%01%CC%E2%A4B%1F%FCJBI%25%97d%A2%89%1E%16%AC%24%80%01%06%1C%20p%021%23%A0%EAN%030%C1%C8%24%94X%D2%F3%26%9CXb%C5%D2%23eL%B4%D1G%2B%80%00%B8Aa%40G%CA%98hBu%27%9F%2C%C2%02I%01%0CP%C0%DBE%BF%8C%C0%BCB%E1%A0%88%CFT%7B%F2%09%FE%28%A0%C8%C1%00Hm%13%40%C0%DB%05p%3D%B7S%07tqI%DE%7B%87%22J%26Ox%24%80%E0%82%C3m4%015%23%E5%C1%1F%9D%E8%0D%8A%E3%A3%94%82%88%08%1A%05%40y%E5p%17%909V%01%28Q%C9%E7%A2%8CBJ%29%A6%8C%82%06t%14%B5%3D%C0%E9%84%13%80%B5g%0E%B0%01J%EC%B3%9Br%0A%2A%98%F40Q%00%02%0C%E0%3C%EF%05%FC%AE%9E%0A%8C%CCN%FB%F1%A8%A4%22%08%05%10%E9%EE%FC%F3%82%83-%23A%03h%F1%C9%F5%D9%AB%A2J%29%60%88%9F%10%F3%DF%C7O%C0%00%AB%8F%2F%D0%05~%18%9F%7D%2A%AA%AC%B2%09%EE%08a%5E%F3%E2%E7%BC%FA%D9%8F%209%B0D%FAV%B1%0A%E5-D%80%03%2C%E0%01%1Br%804%98%A2%7F%7Ch%88%00%BFg%C0%09%22%04%04%89%E8%C4%B5%1E%28%80%12%96%D0%83%12%E1%9E%06M%28%80%0E%A2%F0%22%10l%E1%0B%15%C3B%17%CE0w5%BC%A1G%02%C0C%19%EA%90%23i%3Cd%9E%0D%7F%28%91%20%0E%91%88E%3C%22%12%23%A2%C4%25%3A%F1%89P%8C%A2%14%A7H%C5%2AZ%F1%8AX%CC%A2%16%B7%C8%C5.z%F1%8B%60%0C%A3%18%C7H%C62%9A%F1%8ChL%A3%1A%D7%C8%C66%BA%F1%8Dp%8C%A3%1C%E7H%C7%3A%DA%F1%8Ex%CC%A3%1E%F7%C8%C7%3E%FA%F1%8F%80%0C%A4%20%07I%C8B%1A%F2%90%88L%E4%15%03%02%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3%40%3Bdy%02%01%A9%CC%05%2F%9A%8C%B9CH%CB%01%A7-%07H0%81C%EA%1DD%95%28E%09%80%15e%00%03%102p%F5%0A%16%D4%A9G%2C%CA%96%14%60%40A%DA%B5S%DB%9Ej%E5jOS%B9%1F%03%0C%20P%F7nW%2Fu%F4%B6%82%25K%95%16%B2%807%06%100%B8%B0Z%1B%2A%0EPhS%C9%EDbY%B4jaj%11%19c%80%D3%94%09%DB%CDp%A1%00A%1F%97%F62%0E%5D%8BV%1F%07%A5%2B%9E%9E%5CY%C1%82%01%07%1B%C8Y5%BBV-%5B%B6%1C%E7%9E%B8%3B5%01%01%0B%5D%5C%02m%1C9%F2K%29%96Cl.%002%C3%01dZ%FEU%B7nk%16%9D%04%DA%1B%EE%F6%FE%10%C3%A1%E3%E4%91%9BZ%92~%21%FB%89%3FD%C5%B7%1E%09D%FD%90%05%9C%01%CB~%B6%C82%C7U%FF%7D%24%82%24%04%DAR%8A%11%09%82%C4%04%2A%0DF%D2A%84%1E1%A0%07-%04%BEb%06p%18rd%82%25%0D%82%82C%88%1C%05%A0%05%2B%04%D6%82%C8%04%28n%04%81%1F%F0%C5%B7%8A%161n%24C%27%0Db%97cF%04%08H%A0%2Cr%20%F8%A3E%19%20%D2%A0%29G%1C%89%11%10%A3T%C8%81%93%16%05%18K%87g%80H%E5D%0B6%F8%89%0D%5BV4a%8B%82%E0%16%A6D%0A%CC1%0B%817%9E9%D1%09%24%12h%C9%09nF%A4%22%8B%FB%19hd%9D%0DE%40%23%81%A5%14%C1%27D3%F0H%20%23%16%0C%EAP%90%03%EE%F7J%96%8A6%B4%01%23%04%92%B2g%A4%0A%05%11%25yC%60%FA%10%02r%C8%82%5C%21%9EFD%02%25%A8%98Y%2AD%89%AE%EA%EA%ABN%B0%C6%2A%EB%AC%B4%D6j%EB%AD%B8%E6%AA%EB%AE%BC%F6%EA%EB%AF%C0%06%2B%EC%B0%C4%16k%EC%B1%C8%26%AB%EC%B2%CC6%EB%EC%B3%D0F%2B%ED%B4%D4Vk%ED%B5%D8f%AB%ED%B6%DCv%EB%ED%B7%E0%86%2B%EE%B8%E4%96k%EE%B9%E8%A6%AB%EE%BA%D9%06%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9D%CA2%00%D5%95%01%AC%5E%3D%99%B5%EB%D6%92%5D%05%0C%200%E0k%C8%B0b%09%18%40%40%C0%EC%C7%ACi%0B%20%60%20AB%01%B7%1D%03%0C%18P%E0%80%82%07%17B%B0%00%21%00%2F%C7%01%06%124%98%C0%01%C5%0D%25RB%18%DE%28%40%01%04%0C%22b%08%A9r%06%0F%9A%0A%933%06X%D0A%85%0E%26_%E2%04r4%E9J%D9%D0%17%0B%98%28rE%8D%1ED%94%3C%95%AAD%036F%0F%5B%E8%08z%A4I%14%AAV%AF%08M%F0m%F1%00%94D%96%3E%99Z%E5%2A%D6%ACTZ%98%5B%1CQhT%AAV%B0d%FE%CD%A2U%EBR%0A%ED%14%07t%29%F5J%3C%F9Z%B6d%C99%80~%E2%85A%B2%DE%C3%B7e%CB%D4%91%FA%13%F9%20J-%FB%F1%C7_%24%1C%00%18Q%01f%C4b%E0%83%AF%9C%F1%9A%82%0E%89%20%C9%83%0F~b%03%85%101%81%0A%86%FC%D5%22%88%03%1C%3A%A4%C0%1C%B3%80h%CB%2A%D9%95%D8%D0%09%96%A8h%8B%25%27%B8%C8P%00Z%B0%A2%A2%2Cs%D0g%A3B%11%F8Q%E0%83%A5%14%F1%E3B3t%22%23%23%16%1C%99%10%01g%C0%A2b%84%13%3AY%D0%06%8C%A8H%8A%8FV%1E%14%C4%28%18%0E%D1%A5B%08%C8%21%0B%7F%85%8C%C9%10%09%94%A0B%A2%9A%0C5%09%E7%9Ct%D6i%E7%9Dx%E6%A9%E7%9E%7C%F6%E9%E7%9F%80%06%2A%E8%A0%84%16j%E8%A1%88%26%AA%E8%A2%8C6%EA%E8%A3%90F%2A%E9%A4%94Vj%E9%A5%98f%AA%E9%A6%9Cv%EA%E9%A7%A0%86%2A%EA%A8%A4%96j%EA%A9%A8%A6%AA%EA%AA%AC%B6%EA%EA%AB%03%0E%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%FE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%ACY%AD%01%02%9C%B5%98%B6%AD%DA%B5%0F%DD%A6%15%40%17n%DC%B9%02%06%0C%20P%60%80%DD%86%01%F2%EA%E5%7B%00A%02%BF%7F%15%06%D8%5B%C0%00%02%05%0D%20Pp%20%20%B1%C2%01%07%120x0%01C%07%12%28%28XN%28%40%81%04%0B%1CD%A8%90%C1%E3%88%8F%07%A3%11%2A%E8p%02F%0E%22O%B2%90YC%84%40l%83%03%3E%00Yb%25%CC%9A%3A~%0C%FD%91%F1%DB%60%84%26i%E4%EC%21%C4H%12%26O%7B%264%27%28%80G%9FD%91%2C%84q%0AU%0A%15%A90%88%B7%03%90%00g%13%28R%A7T%B1r%F5%E9%80z%826%28%A5%9A%0F%2BV%90%FB%05%1D%C0%06%2B%B1%C82%08%80%07%8D%10I%29%0E%20%88%90%05%0EF%28%E1%84%14Vh%E1%85%18f%A8%E1%86%1Cv%E8%E1%87%20%86%28%E2%88%24%96h%E2%89%28%A6%A8%E2%8A%2C%B6%E8%E2%8B0%C6%28%E3%8C4%D6h%E3%8D8%E6%A8%E3%8E%3C%F6%E8%E3%8F%40%06%29%E4%90D%16i%E4%91H%26%A9%E4%92%40%05%04%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%21%F9%04%01%04%00%FF%00%2C%00%00%00%00%80%00%80%00%00%08%CE%00%01%08%1CH%B0%A0%C1%83%08%13%2A%5C%C8%B0%A1%C3%87%10%23J%9CH%B1%A2%C5%8B%183j%DC%C8%B1%A3%C7%8F%20C%8A%1CI%B2%A4%C9%93%28S%AA%5C%C9%B2%A5%CB%970c%CA%9CI%B3%A6%CD%9B8s%EA%DC%C9%B3%A7%CF%9F%40%83%0A%1DJ%B4%A8%D1%A3H%93%2A%5D%CA%B4%A9%D3%A7P%A3J%9DJ%B5%AA%D5%ABX%B3j%DD%CA%B5%AB%D7%AF%60%C3%8A%1DK%B6%AC%D9%B3h%D3%AA%5D%CB%B6%AD%DB%B7p%E3%CA%9DK%B7%AE%DD%BBx%F3%EA%DD%CB%B7%AF%DF%BF%80%03%0B%1EL%B8%B0%E1%C3%88%13%2B%5E%CC%B8%B1%E3%C7%90%23K%9EL%B9%B2%E5%CB%983k%DE%CC%B9%B3%E7%CF%A0C%8B%1EM%BA%B4%E9%D3%A8S%AB%5E%CD%BA%B5%EB%D7%B0c%CB%9EM%DBk%40%00%3B";
@@ -21638,9 +21870,9 @@ function HbLoadingSpinner({
21638
21870
  extraQuipsOnly,
21639
21871
  iconOnly
21640
21872
  }) {
21641
- const ctx = (0, import_react118.useContext)(HbLoadingSpinnerContext);
21873
+ const ctx = (0, import_react119.useContext)(HbLoadingSpinnerContext);
21642
21874
  const tid = useTestIds({}, "hbSpinner");
21643
- const quip = (0, import_react118.useMemo)(() => {
21875
+ const quip = (0, import_react119.useMemo)(() => {
21644
21876
  const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
21645
21877
  const forceQuips = extraQuips.length !== 0 || noQuips === false;
21646
21878
  if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
@@ -21670,7 +21902,7 @@ function HbLoadingSpinner({
21670
21902
  var dotDotDot = (str) => str.concat("...");
21671
21903
  var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
21672
21904
  var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
21673
- var HbLoadingSpinnerContext = import_react118.default.createContext({
21905
+ var HbLoadingSpinnerContext = import_react119.default.createContext({
21674
21906
  quips: ["Loading..."],
21675
21907
  noQuips: false
21676
21908
  });
@@ -21678,7 +21910,7 @@ function HbSpinnerProvider({
21678
21910
  quips = [],
21679
21911
  children
21680
21912
  }) {
21681
- const state = (0, import_react118.useMemo)(() => ({
21913
+ const state = (0, import_react119.useMemo)(() => ({
21682
21914
  quips,
21683
21915
  noQuips: quips.length === 0
21684
21916
  }), [quips]);
@@ -21688,7 +21920,7 @@ function HbSpinnerProvider({
21688
21920
  // src/components/HomeboundLogo.tsx
21689
21921
  var import_runtime90 = require("@homebound/truss/runtime");
21690
21922
  var import_jsx_runtime166 = require("react/jsx-runtime");
21691
- var __maybeInc15 = (inc) => {
21923
+ var __maybeInc17 = (inc) => {
21692
21924
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
21693
21925
  };
21694
21926
  function HomeboundLogo(props) {
@@ -21702,38 +21934,38 @@ function HomeboundLogo(props) {
21702
21934
  "--fill": (0, import_runtime90.maybeCssVar)(fill)
21703
21935
  }],
21704
21936
  width: ["w_var", {
21705
- "--width": (0, import_runtime90.maybeCssVar)(__maybeInc15(width2))
21937
+ "--width": (0, import_runtime90.maybeCssVar)(__maybeInc17(width2))
21706
21938
  }],
21707
21939
  height: ["h_var", {
21708
- "--height": (0, import_runtime90.maybeCssVar)(__maybeInc15(height))
21940
+ "--height": (0, import_runtime90.maybeCssVar)(__maybeInc17(height))
21709
21941
  }]
21710
21942
  }), children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("path", { d: "M158.1,97.6H0.2L0,39.7L76.8,0l68,38.7l-3.1,5.3l-65-37L6.2,43.4l0.2,48h151.7V97.6z" }) });
21711
21943
  }
21712
21944
 
21713
21945
  // src/components/MaxLines.tsx
21714
- var import_utils131 = require("@react-aria/utils");
21715
- var import_react119 = require("react");
21946
+ var import_utils132 = require("@react-aria/utils");
21947
+ var import_react120 = require("react");
21716
21948
  var import_runtime91 = require("@homebound/truss/runtime");
21717
21949
  var import_jsx_runtime167 = require("react/jsx-runtime");
21718
21950
  function MaxLines({
21719
21951
  maxLines,
21720
21952
  children
21721
21953
  }) {
21722
- const elRef = (0, import_react119.useRef)(null);
21723
- const [hasMore, setHasMore] = (0, import_react119.useState)(false);
21724
- const [expanded, setExpanded] = (0, import_react119.useState)(false);
21725
- (0, import_utils131.useLayoutEffect)(() => {
21954
+ const elRef = (0, import_react120.useRef)(null);
21955
+ const [hasMore, setHasMore] = (0, import_react120.useState)(false);
21956
+ const [expanded, setExpanded] = (0, import_react120.useState)(false);
21957
+ (0, import_utils132.useLayoutEffect)(() => {
21726
21958
  if (!elRef.current) return;
21727
21959
  setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
21728
21960
  }, []);
21729
- (0, import_react119.useEffect)(() => {
21961
+ (0, import_react120.useEffect)(() => {
21730
21962
  setExpanded(false);
21731
21963
  }, [children]);
21732
- const onResize = (0, import_react119.useCallback)(() => {
21964
+ const onResize = (0, import_react120.useCallback)(() => {
21733
21965
  if (!elRef.current) return;
21734
21966
  !expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
21735
21967
  }, [expanded]);
21736
- (0, import_utils131.useResizeObserver)({
21968
+ (0, import_utils132.useResizeObserver)({
21737
21969
  ref: elRef,
21738
21970
  onResize
21739
21971
  });
@@ -21757,12 +21989,12 @@ function MaxLines({
21757
21989
  var import_change_case8 = require("change-case");
21758
21990
 
21759
21991
  // src/components/AppNav/AppNavGroup.tsx
21760
- var import_utils133 = require("@react-aria/utils");
21992
+ var import_utils134 = require("@react-aria/utils");
21761
21993
  var import_change_case7 = require("change-case");
21762
- var import_react122 = require("react");
21994
+ var import_react123 = require("react");
21763
21995
 
21764
21996
  // src/components/AppNav/AppNavGroupTrigger.tsx
21765
- var import_react120 = require("react");
21997
+ var import_react121 = require("react");
21766
21998
  var import_react_aria52 = require("react-aria");
21767
21999
  var import_runtime92 = require("@homebound/truss/runtime");
21768
22000
  var import_jsx_runtime168 = require("react/jsx-runtime");
@@ -21774,7 +22006,7 @@ function AppNavGroupTrigger(props) {
21774
22006
  onClick
21775
22007
  } = props;
21776
22008
  const tid = useTestIds(props, "trigger");
21777
- const ref = (0, import_react120.useRef)(null);
22009
+ const ref = (0, import_react121.useRef)(null);
21778
22010
  const {
21779
22011
  buttonProps,
21780
22012
  isPressed
@@ -21795,7 +22027,7 @@ function AppNavGroupTrigger(props) {
21795
22027
  focusRingStyles: focusRingStyles2,
21796
22028
  hoverStyles: hoverStyles4,
21797
22029
  pressedStyles: pressedStyles2
21798
- } = (0, import_react120.useMemo)(() => getNavLinkStyles("side"), []);
22030
+ } = (0, import_react121.useMemo)(() => getNavLinkStyles("side"), []);
21799
22031
  return /* @__PURE__ */ (0, import_jsx_runtime168.jsxs)("button", { type: "button", ...(0, import_react_aria52.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
21800
22032
  ref,
21801
22033
  "aria-expanded": expanded,
@@ -21927,7 +22159,7 @@ function entryHasIcons(item) {
21927
22159
  }
21928
22160
 
21929
22161
  // src/components/AppNav/useAppNavGroupExpanded.ts
21930
- var import_react121 = require("react");
22162
+ var import_react122 = require("react");
21931
22163
  var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
21932
22164
  function loadStored() {
21933
22165
  try {
@@ -21946,13 +22178,13 @@ function persistLabel(label, expanded) {
21946
22178
  }
21947
22179
  function useAppNavGroupExpanded(linkGroup) {
21948
22180
  const { label } = linkGroup;
21949
- const [userExpanded, setUserExpanded] = (0, import_react121.useState)(() => {
22181
+ const [userExpanded, setUserExpanded] = (0, import_react122.useState)(() => {
21950
22182
  const stored = loadStored();
21951
22183
  return label in stored ? stored[label] : null;
21952
22184
  });
21953
22185
  const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
21954
22186
  const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
21955
- const onToggle = (0, import_react121.useCallback)(() => {
22187
+ const onToggle = (0, import_react122.useCallback)(() => {
21956
22188
  const next = !expanded;
21957
22189
  setUserExpanded(next);
21958
22190
  persistLabel(label, next);
@@ -21963,7 +22195,7 @@ function useAppNavGroupExpanded(linkGroup) {
21963
22195
  // src/components/AppNav/AppNavGroup.tsx
21964
22196
  var import_runtime93 = require("@homebound/truss/runtime");
21965
22197
  var import_jsx_runtime169 = require("react/jsx-runtime");
21966
- var __maybeInc16 = (inc) => {
22198
+ var __maybeInc18 = (inc) => {
21967
22199
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
21968
22200
  };
21969
22201
  function AppNavGroupView(props) {
@@ -21987,20 +22219,20 @@ function AppNavGroupDisclosure(props) {
21987
22219
  } = useAppNavGroupExpanded(linkGroup);
21988
22220
  const tid = useTestIds(props, "linkGroup");
21989
22221
  const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
21990
- const [contentEl, setContentEl] = (0, import_react122.useState)(null);
21991
- const contentRef = (0, import_react122.useMemo)(() => ({
22222
+ const [contentEl, setContentEl] = (0, import_react123.useState)(null);
22223
+ const contentRef = (0, import_react123.useMemo)(() => ({
21992
22224
  current: contentEl
21993
22225
  }), [contentEl]);
21994
- const [contentHeight, setContentHeight] = (0, import_react122.useState)(expanded ? "auto" : "0");
21995
- (0, import_react122.useEffect)(() => {
22226
+ const [contentHeight, setContentHeight] = (0, import_react123.useState)(expanded ? "auto" : "0");
22227
+ (0, import_react123.useEffect)(() => {
21996
22228
  setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
21997
22229
  }, [expanded, contentEl]);
21998
- const onResize = (0, import_react122.useCallback)(() => {
22230
+ const onResize = (0, import_react123.useCallback)(() => {
21999
22231
  if (contentEl && expanded) {
22000
22232
  setContentHeight(`${contentEl.scrollHeight}px`);
22001
22233
  }
22002
22234
  }, [expanded, contentEl]);
22003
- (0, import_utils133.useResizeObserver)({
22235
+ (0, import_utils134.useResizeObserver)({
22004
22236
  ref: contentRef,
22005
22237
  onResize
22006
22238
  });
@@ -22010,7 +22242,7 @@ function AppNavGroupDisclosure(props) {
22010
22242
  overflow: "oh",
22011
22243
  transition: "transitionHeight",
22012
22244
  height: ["h_var", {
22013
- "--height": (0, import_runtime93.maybeCssVar)(__maybeInc16(contentHeight))
22245
+ "--height": (0, import_runtime93.maybeCssVar)(__maybeInc18(contentHeight))
22014
22246
  }]
22015
22247
  }), ...tid.panel, children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)("div", { ref: setContentEl, className: "df fdc pl2", children: /* @__PURE__ */ (0, import_jsx_runtime169.jsx)(AppNavItems, { items: linkGroup.items, panelCollapsed: false, ...tid }) }) })
22016
22248
  ] });
@@ -22136,7 +22368,7 @@ function AppNavItems(props) {
22136
22368
 
22137
22369
  // src/components/Navbar/NavbarMobileMenu.tsx
22138
22370
  var import_framer_motion5 = require("framer-motion");
22139
- var import_react123 = require("react");
22371
+ var import_react124 = require("react");
22140
22372
  var import_react_aria53 = require("react-aria");
22141
22373
  var import_react_dom6 = require("react-dom");
22142
22374
  var import_react_router_dom5 = require("react-router-dom");
@@ -22147,7 +22379,7 @@ function NavbarMobileMenu(props) {
22147
22379
  items
22148
22380
  } = props;
22149
22381
  const tid = useTestIds(props, "navbar");
22150
- const [isOpen, setIsOpen] = (0, import_react123.useState)(false);
22382
+ const [isOpen, setIsOpen] = (0, import_react124.useState)(false);
22151
22383
  const {
22152
22384
  pathname,
22153
22385
  search
@@ -22155,7 +22387,7 @@ function NavbarMobileMenu(props) {
22155
22387
  (0, import_react_aria53.usePreventScroll)({
22156
22388
  isDisabled: !isOpen
22157
22389
  });
22158
- (0, import_react123.useEffect)(() => {
22390
+ (0, import_react124.useEffect)(() => {
22159
22391
  setIsOpen(false);
22160
22392
  }, [pathname, search]);
22161
22393
  const close = () => setIsOpen(false);
@@ -22315,7 +22547,7 @@ function NavbarUserMenu({
22315
22547
 
22316
22548
  // src/components/Tabs.tsx
22317
22549
  var import_change_case9 = require("change-case");
22318
- var import_react124 = require("react");
22550
+ var import_react125 = require("react");
22319
22551
  var import_react_aria54 = require("react-aria");
22320
22552
  var import_react_router = require("react-router");
22321
22553
  var import_react_router_dom6 = require("react-router-dom");
@@ -22376,9 +22608,9 @@ function Tabs(props) {
22376
22608
  focusProps
22377
22609
  } = (0, import_react_aria54.useFocusRing)();
22378
22610
  const tid = useTestIds(others, "tabs");
22379
- const [active, setActive] = (0, import_react124.useState)(selected);
22380
- const ref = (0, import_react124.useRef)(null);
22381
- (0, import_react124.useEffect)(() => setActive(selected), [selected]);
22611
+ const [active, setActive] = (0, import_react125.useState)(selected);
22612
+ const ref = (0, import_react125.useRef)(null);
22613
+ (0, import_react125.useEffect)(() => setActive(selected), [selected]);
22382
22614
  function onKeyUp(e) {
22383
22615
  if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
22384
22616
  const nextTabValue = getNextTabValue(active, e.key, tabs);
@@ -22448,7 +22680,7 @@ function TabImpl(props) {
22448
22680
  hoverStyles: hoverStyles4,
22449
22681
  disabledStyles: disabledStyles4,
22450
22682
  activeHoverStyles
22451
- } = (0, import_react124.useMemo)(() => getTabStyles(), []);
22683
+ } = (0, import_react125.useMemo)(() => getTabStyles(), []);
22452
22684
  const uniqueValue = uniqueTabValue(tab);
22453
22685
  const tabProps = {
22454
22686
  "aria-controls": `${uniqueValue}-tabPanel`,
@@ -22613,8 +22845,8 @@ function PageHeader2(props) {
22613
22845
  }
22614
22846
 
22615
22847
  // src/components/ScrollShadows.tsx
22616
- var import_utils141 = require("@react-aria/utils");
22617
- var import_react125 = require("react");
22848
+ var import_utils142 = require("@react-aria/utils");
22849
+ var import_react126 = require("react");
22618
22850
  var import_runtime99 = require("@homebound/truss/runtime");
22619
22851
  var import_jsx_runtime177 = require("react/jsx-runtime");
22620
22852
  function ScrollShadows(props) {
@@ -22632,10 +22864,10 @@ function ScrollShadows(props) {
22632
22864
  if (!bgColor.includes("rgba")) {
22633
22865
  throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
22634
22866
  }
22635
- const [showStartShadow, setShowStartShadow] = (0, import_react125.useState)(false);
22636
- const [showEndShadow, setShowEndShadow] = (0, import_react125.useState)(false);
22637
- const scrollRef = (0, import_react125.useRef)(null);
22638
- const [startShadowStyles, endShadowStyles] = (0, import_react125.useMemo)(() => {
22867
+ const [showStartShadow, setShowStartShadow] = (0, import_react126.useState)(false);
22868
+ const [showEndShadow, setShowEndShadow] = (0, import_react126.useState)(false);
22869
+ const scrollRef = (0, import_react126.useRef)(null);
22870
+ const [startShadowStyles, endShadowStyles] = (0, import_react126.useMemo)(() => {
22639
22871
  const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
22640
22872
  const commonStyles = {
22641
22873
  position: "absolute",
@@ -22686,7 +22918,7 @@ function ScrollShadows(props) {
22686
22918
  }
22687
22919
  }];
22688
22920
  }, [horizontal, bgColor]);
22689
- const updateScrollProps = (0, import_react125.useCallback)((el) => {
22921
+ const updateScrollProps = (0, import_react126.useCallback)((el) => {
22690
22922
  const {
22691
22923
  scrollTop,
22692
22924
  scrollHeight,
@@ -22701,8 +22933,8 @@ function ScrollShadows(props) {
22701
22933
  setShowStartShadow(start > 0);
22702
22934
  setShowEndShadow(start + boxSize < end);
22703
22935
  }, [horizontal]);
22704
- const onResize = (0, import_react125.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
22705
- (0, import_utils141.useResizeObserver)({
22936
+ const onResize = (0, import_react126.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
22937
+ (0, import_utils142.useResizeObserver)({
22706
22938
  ref: scrollRef,
22707
22939
  onResize
22708
22940
  });
@@ -22750,7 +22982,7 @@ function ScrollShadows(props) {
22750
22982
  }
22751
22983
 
22752
22984
  // src/layouts/SideNavLayout/SideNavLayoutContext.tsx
22753
- var import_react126 = require("react");
22985
+ var import_react127 = require("react");
22754
22986
  var import_jsx_runtime178 = require("react/jsx-runtime");
22755
22987
  var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
22756
22988
  function loadStoredNavState() {
@@ -22773,20 +23005,20 @@ function resolveInitialNavState(defaultNavState) {
22773
23005
  }
22774
23006
  return loadStoredNavState() ?? defaultNavState ?? "expanded";
22775
23007
  }
22776
- var SideNavLayoutContext = (0, import_react126.createContext)(void 0);
23008
+ var SideNavLayoutContext = (0, import_react127.createContext)(void 0);
22777
23009
  function SideNavLayoutProvider(props) {
22778
- const [navState, setNavStateInternal] = (0, import_react126.useState)(
23010
+ const [navState, setNavStateInternal] = (0, import_react127.useState)(
22779
23011
  () => resolveInitialNavState(props.defaultNavState)
22780
23012
  );
22781
23013
  const bp = useBreakpoint();
22782
- const prevMdAndUp = (0, import_react126.useRef)(bp.mdAndUp);
22783
- (0, import_react126.useEffect)(() => {
23014
+ const prevMdAndUp = (0, import_react127.useRef)(bp.mdAndUp);
23015
+ (0, import_react127.useEffect)(() => {
22784
23016
  if (prevMdAndUp.current && !bp.mdAndUp) {
22785
23017
  setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
22786
23018
  }
22787
23019
  prevMdAndUp.current = bp.mdAndUp;
22788
23020
  }, [bp.mdAndUp]);
22789
- const setNavState = (0, import_react126.useCallback)((value2) => {
23021
+ const setNavState = (0, import_react127.useCallback)((value2) => {
22790
23022
  setNavStateInternal((prev) => {
22791
23023
  const next = typeof value2 === "function" ? value2(prev) : value2;
22792
23024
  if (next === "expanded" || next === "collapse") {
@@ -22798,15 +23030,15 @@ function SideNavLayoutProvider(props) {
22798
23030
  return next;
22799
23031
  });
22800
23032
  }, []);
22801
- const value = (0, import_react126.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
23033
+ const value = (0, import_react127.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
22802
23034
  return /* @__PURE__ */ (0, import_jsx_runtime178.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
22803
23035
  }
22804
23036
  function useSideNavLayoutContext() {
22805
- return (0, import_react126.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
23037
+ return (0, import_react127.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
22806
23038
  } };
22807
23039
  }
22808
23040
  function useHasSideNavLayoutProvider() {
22809
- return (0, import_react126.useContext)(SideNavLayoutContext) !== void 0;
23041
+ return (0, import_react127.useContext)(SideNavLayoutContext) !== void 0;
22810
23042
  }
22811
23043
 
22812
23044
  // src/components/SideNav/SideNav.tsx
@@ -22865,10 +23097,10 @@ function SideNav(props) {
22865
23097
  }
22866
23098
 
22867
23099
  // src/components/Snackbar/useSnackbar.tsx
22868
- var import_react127 = require("react");
23100
+ var import_react128 = require("react");
22869
23101
  function useSnackbar() {
22870
23102
  const { setNotices, setOffset } = useSnackbarContext();
22871
- const onClose = (0, import_react127.useCallback)(
23103
+ const onClose = (0, import_react128.useCallback)(
22872
23104
  (noticeId) => {
22873
23105
  setNotices((prev) => {
22874
23106
  let returnValue = prev;
@@ -22885,7 +23117,7 @@ function useSnackbar() {
22885
23117
  // eslint-disable-next-line react-hooks/exhaustive-deps
22886
23118
  []
22887
23119
  );
22888
- const triggerNotice = (0, import_react127.useCallback)(
23120
+ const triggerNotice = (0, import_react128.useCallback)(
22889
23121
  (props) => {
22890
23122
  const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
22891
23123
  let maybeTimeout;
@@ -22914,8 +23146,8 @@ function useSnackbar() {
22914
23146
  },
22915
23147
  [onClose, setNotices]
22916
23148
  );
22917
- const closeNotice = (0, import_react127.useCallback)((id) => onClose(id), [onClose]);
22918
- const useSnackbarOffset = ({ bottom }) => (0, import_react127.useEffect)(() => {
23149
+ const closeNotice = (0, import_react128.useCallback)((id) => onClose(id), [onClose]);
23150
+ const useSnackbarOffset = ({ bottom }) => (0, import_react128.useEffect)(() => {
22919
23151
  setOffset({ bottom });
22920
23152
  return () => setOffset({});
22921
23153
  }, [bottom]);
@@ -22924,12 +23156,12 @@ function useSnackbar() {
22924
23156
  var snackbarId = 1;
22925
23157
 
22926
23158
  // src/components/Stepper.tsx
22927
- var import_react128 = require("react");
23159
+ var import_react129 = require("react");
22928
23160
  var import_react_aria55 = require("react-aria");
22929
23161
  var import_runtime101 = require("@homebound/truss/runtime");
22930
23162
  var import_jsx_runtime180 = require("react/jsx-runtime");
22931
- var import_react129 = require("react");
22932
- var __maybeInc17 = (inc) => {
23163
+ var import_react130 = require("react");
23164
+ var __maybeInc19 = (inc) => {
22933
23165
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
22934
23166
  };
22935
23167
  function Stepper(props) {
@@ -22957,7 +23189,7 @@ function Stepper(props) {
22957
23189
  }]
22958
23190
  }), children: steps.map((step) => {
22959
23191
  const isCurrent = currentStep === step.value;
22960
- return /* @__PURE__ */ (0, import_react129.createElement)("li", { ...(0, import_runtime101.trussProps)({
23192
+ return /* @__PURE__ */ (0, import_react130.createElement)("li", { ...(0, import_runtime101.trussProps)({
22961
23193
  display: "df",
22962
23194
  flexGrow: "fg1",
22963
23195
  flexDirection: "fdc",
@@ -22985,7 +23217,7 @@ function Stepper(props) {
22985
23217
  transition: "transition_width_200ms",
22986
23218
  height: "h100",
22987
23219
  width: ["w_var", {
22988
- "--width": (0, import_runtime101.maybeCssVar)(__maybeInc17(`${(lastCompletedStep + 1) / steps.length * 100}%`))
23220
+ "--width": (0, import_runtime101.maybeCssVar)(__maybeInc19(`${(lastCompletedStep + 1) / steps.length * 100}%`))
22989
23221
  }]
22990
23222
  }) }) })
22991
23223
  ] });
@@ -23002,7 +23234,7 @@ function StepButton(props) {
23002
23234
  onPress: onClick,
23003
23235
  isDisabled: disabled
23004
23236
  };
23005
- const ref = (0, import_react128.useRef)(null);
23237
+ const ref = (0, import_react129.useRef)(null);
23006
23238
  const {
23007
23239
  buttonProps,
23008
23240
  isPressed
@@ -23182,7 +23414,7 @@ function ConfirmCloseModal(props) {
23182
23414
  var import_framer_motion6 = require("framer-motion");
23183
23415
 
23184
23416
  // src/components/SuperDrawer/useSuperDrawer.tsx
23185
- var import_react130 = require("react");
23417
+ var import_react131 = require("react");
23186
23418
  var import_jsx_runtime183 = require("react/jsx-runtime");
23187
23419
  function useSuperDrawer() {
23188
23420
  const {
@@ -23222,7 +23454,7 @@ function useSuperDrawer() {
23222
23454
  }
23223
23455
  doChange();
23224
23456
  }
23225
- const closeActions = (0, import_react130.useMemo)(
23457
+ const closeActions = (0, import_react131.useMemo)(
23226
23458
  () => {
23227
23459
  return {
23228
23460
  /** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
@@ -23257,7 +23489,7 @@ function useSuperDrawer() {
23257
23489
  // eslint-disable-next-line react-hooks/exhaustive-deps
23258
23490
  [canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
23259
23491
  );
23260
- const actions = (0, import_react130.useMemo)(
23492
+ const actions = (0, import_react131.useMemo)(
23261
23493
  () => {
23262
23494
  return {
23263
23495
  // TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
@@ -23395,17 +23627,17 @@ function visit(rows, fn) {
23395
23627
  }
23396
23628
 
23397
23629
  // src/components/Toast/useToast.tsx
23398
- var import_react131 = require("react");
23630
+ var import_react132 = require("react");
23399
23631
  function useToast() {
23400
23632
  const { setNotice, clear } = useToastContext();
23401
- const showToast = (0, import_react131.useCallback)((props) => setNotice(props), [setNotice]);
23633
+ const showToast = (0, import_react132.useCallback)((props) => setNotice(props), [setNotice]);
23402
23634
  return { showToast, clear };
23403
23635
  }
23404
23636
 
23405
23637
  // src/layouts/SideNavLayout/SideNavLayout.tsx
23406
23638
  var import_runtime104 = require("@homebound/truss/runtime");
23407
23639
  var import_jsx_runtime185 = require("react/jsx-runtime");
23408
- var __maybeInc18 = (inc) => {
23640
+ var __maybeInc20 = (inc) => {
23409
23641
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
23410
23642
  };
23411
23643
  function SideNavLayout(props) {
@@ -23460,11 +23692,11 @@ function SideNavLayoutContent(props) {
23460
23692
  "--zIndex": (0, import_runtime104.maybeCssVar)(zIndices.sideNav)
23461
23693
  }],
23462
23694
  top: ["top_var", {
23463
- "--top": (0, import_runtime104.maybeCssVar)(__maybeInc18(navTop))
23695
+ "--top": (0, import_runtime104.maybeCssVar)(__maybeInc20(navTop))
23464
23696
  }],
23465
23697
  alignSelf: "asfs",
23466
23698
  height: ["h_var", {
23467
- "--height": (0, import_runtime104.maybeCssVar)(__maybeInc18(railViewportHeight))
23699
+ "--height": (0, import_runtime104.maybeCssVar)(__maybeInc20(railViewportHeight))
23468
23700
  }],
23469
23701
  width: ["w_var", {
23470
23702
  "--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
@@ -23474,7 +23706,7 @@ function SideNavLayoutContent(props) {
23474
23706
  position: "fixed",
23475
23707
  left: "left0",
23476
23708
  top: ["top_var", {
23477
- "--top": (0, import_runtime104.maybeCssVar)(__maybeInc18(navTop))
23709
+ "--top": (0, import_runtime104.maybeCssVar)(__maybeInc20(navTop))
23478
23710
  }],
23479
23711
  bottom: "bottom0",
23480
23712
  zIndex: ["z_var", {
@@ -23517,25 +23749,34 @@ function SideNavLayoutContent(props) {
23517
23749
  }
23518
23750
 
23519
23751
  // src/layouts/NavbarLayout/NavbarLayout.tsx
23520
- var import_react135 = require("react");
23752
+ var import_react136 = require("react");
23521
23753
  var import_runtime105 = require("@homebound/truss/runtime");
23522
23754
 
23523
23755
  // src/layouts/useAutoHideOnScroll.ts
23524
- var import_react132 = require("react");
23756
+ var import_react133 = require("react");
23525
23757
  var THRESHOLD = 80;
23758
+ function getInitialAutoHideState() {
23759
+ if (typeof window === "undefined" || window.scrollY <= 0) {
23760
+ return { state: "static", atTop: true };
23761
+ }
23762
+ return { state: "hidden", atTop: false };
23763
+ }
23526
23764
  function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
23527
- const [state, setState] = (0, import_react132.useState)("static");
23528
- const stateRef = (0, import_react132.useRef)("static");
23529
- const [atTop, setAtTop] = (0, import_react132.useState)(true);
23530
- const atTopRef = (0, import_react132.useRef)(true);
23531
- const getTopOffsetRef = (0, import_react132.useRef)(getTopOffset);
23765
+ const initial = getInitialAutoHideState();
23766
+ const [state, setState] = (0, import_react133.useState)(initial.state);
23767
+ const stateRef = (0, import_react133.useRef)(initial.state);
23768
+ const [atTop, setAtTop] = (0, import_react133.useState)(initial.atTop);
23769
+ const atTopRef = (0, import_react133.useRef)(initial.atTop);
23770
+ const getTopOffsetRef = (0, import_react133.useRef)(getTopOffset);
23532
23771
  getTopOffsetRef.current = getTopOffset;
23533
- const lastScrollY = (0, import_react132.useRef)(Number.POSITIVE_INFINITY);
23534
- (0, import_react132.useEffect)(() => {
23772
+ const lastScrollY = (0, import_react133.useRef)(Number.POSITIVE_INFINITY);
23773
+ const lastScrollHeight = (0, import_react133.useRef)(0);
23774
+ (0, import_react133.useLayoutEffect)(() => {
23535
23775
  if (!enabled) {
23536
23776
  stateRef.current = "static";
23537
23777
  atTopRef.current = true;
23538
23778
  lastScrollY.current = Number.POSITIVE_INFINITY;
23779
+ lastScrollHeight.current = 0;
23539
23780
  setState("static");
23540
23781
  setAtTop(true);
23541
23782
  return;
@@ -23550,22 +23791,41 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
23550
23791
  setAtTop(nextAtTop);
23551
23792
  }
23552
23793
  };
23794
+ const autoHideStateOnLayoutChange = (rect, topOffset) => {
23795
+ const nextAtTop = rect.top >= topOffset;
23796
+ let next = stateRef.current;
23797
+ if (nextAtTop) {
23798
+ next = "static";
23799
+ } else if (rect.bottom < -THRESHOLD && next !== "revealed") {
23800
+ next = "hidden";
23801
+ }
23802
+ return { next, nextAtTop };
23803
+ };
23553
23804
  const updateAutoHideState = () => {
23554
23805
  const el = spacerRef.current;
23555
23806
  if (!el) return;
23807
+ const doc = document.documentElement;
23808
+ const currentScrollHeight = doc.scrollHeight;
23809
+ const scrollHeightChanged = lastScrollHeight.current !== 0 && currentScrollHeight !== lastScrollHeight.current;
23810
+ lastScrollHeight.current = currentScrollHeight;
23556
23811
  if (window.scrollY <= 0) {
23557
23812
  lastScrollY.current = 0;
23558
23813
  commit("static", true);
23559
23814
  return;
23560
23815
  }
23561
- const rect = el.getBoundingClientRect();
23562
23816
  const currentY = window.scrollY;
23817
+ const rect = el.getBoundingClientRect();
23818
+ const topOffset = getTopOffsetRef.current?.() ?? 0;
23819
+ if (scrollHeightChanged) {
23820
+ lastScrollY.current = currentY;
23821
+ const { next: next2, nextAtTop: nextAtTop2 } = autoHideStateOnLayoutChange(rect, topOffset);
23822
+ commit(next2, nextAtTop2);
23823
+ return;
23824
+ }
23563
23825
  const dy = currentY - lastScrollY.current;
23564
23826
  lastScrollY.current = currentY;
23565
- const topOffset = getTopOffsetRef.current?.() ?? 0;
23566
- const nextAtTop = rect.top >= topOffset;
23567
- const doc = document.documentElement;
23568
23827
  const atBottom = currentY >= doc.scrollHeight - doc.clientHeight;
23828
+ const nextAtTop = rect.top >= topOffset;
23569
23829
  let next = stateRef.current;
23570
23830
  if (nextAtTop) {
23571
23831
  next = "static";
@@ -23583,36 +23843,36 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
23583
23843
  }
23584
23844
 
23585
23845
  // src/layouts/useMeasuredHeight.ts
23586
- var import_utils148 = require("@react-aria/utils");
23587
- var import_react133 = require("react");
23846
+ var import_utils149 = require("@react-aria/utils");
23847
+ var import_react134 = require("react");
23588
23848
  function useMeasuredHeight(ref, enabled) {
23589
- const [height, setHeight] = (0, import_react133.useState)(0);
23590
- const syncElementHeight = (0, import_react133.useCallback)(() => {
23849
+ const [height, setHeight] = (0, import_react134.useState)(0);
23850
+ const syncElementHeight = (0, import_react134.useCallback)(() => {
23591
23851
  const el = ref.current;
23592
23852
  const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
23593
23853
  setHeight((prev) => prev === next ? prev : next);
23594
23854
  }, [ref]);
23595
- (0, import_utils148.useResizeObserver)({ ref, onResize: syncElementHeight });
23596
- (0, import_react133.useLayoutEffect)(() => {
23855
+ (0, import_utils149.useResizeObserver)({ ref, onResize: syncElementHeight });
23856
+ (0, import_react134.useLayoutEffect)(() => {
23597
23857
  syncElementHeight();
23598
23858
  }, [enabled, syncElementHeight]);
23599
23859
  return height;
23600
23860
  }
23601
23861
 
23602
23862
  // src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
23603
- var import_react134 = require("react");
23863
+ var import_react135 = require("react");
23604
23864
  var import_jsx_runtime186 = require("react/jsx-runtime");
23605
- var NavbarLayoutHeightContext = (0, import_react134.createContext)(0);
23865
+ var NavbarLayoutHeightContext = (0, import_react135.createContext)(0);
23606
23866
  function NavbarLayoutHeightProvider({ value, children }) {
23607
23867
  return /* @__PURE__ */ (0, import_jsx_runtime186.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
23608
23868
  }
23609
23869
  function useNavbarLayoutHeight() {
23610
- return (0, import_react134.useContext)(NavbarLayoutHeightContext);
23870
+ return (0, import_react135.useContext)(NavbarLayoutHeightContext);
23611
23871
  }
23612
23872
 
23613
23873
  // src/layouts/NavbarLayout/NavbarLayout.tsx
23614
23874
  var import_jsx_runtime187 = require("react/jsx-runtime");
23615
- var __maybeInc19 = (inc) => {
23875
+ var __maybeInc21 = (inc) => {
23616
23876
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
23617
23877
  };
23618
23878
  function NavbarLayout(props) {
@@ -23621,8 +23881,8 @@ function NavbarLayout(props) {
23621
23881
  children
23622
23882
  } = props;
23623
23883
  const tid = useTestIds(props, "navbarLayout");
23624
- const navMetricsRef = (0, import_react135.useRef)(null);
23625
- const spacerRef = (0, import_react135.useRef)(null);
23884
+ const navMetricsRef = (0, import_react136.useRef)(null);
23885
+ const spacerRef = (0, import_react136.useRef)(null);
23626
23886
  const navHeight = useMeasuredHeight(navMetricsRef, true);
23627
23887
  const {
23628
23888
  state: autoHideState,
@@ -23643,7 +23903,7 @@ function NavbarLayout(props) {
23643
23903
  "--zIndex": (0, import_runtime105.maybeCssVar)(zIndices.navbar)
23644
23904
  }],
23645
23905
  width: ["w_var", {
23646
- "--width": (0, import_runtime105.maybeCssVar)(__maybeInc19(innerWidth))
23906
+ "--width": (0, import_runtime105.maybeCssVar)(__maybeInc21(innerWidth))
23647
23907
  }]
23648
23908
  }
23649
23909
  ) : (
@@ -23655,7 +23915,7 @@ function NavbarLayout(props) {
23655
23915
  "--zIndex": (0, import_runtime105.maybeCssVar)(zIndices.navbar)
23656
23916
  }],
23657
23917
  width: ["w_var", {
23658
- "--width": (0, import_runtime105.maybeCssVar)(__maybeInc19(innerWidth))
23918
+ "--width": (0, import_runtime105.maybeCssVar)(__maybeInc21(innerWidth))
23659
23919
  }],
23660
23920
  transition: "transitionTop"
23661
23921
  }
@@ -23663,7 +23923,7 @@ function NavbarLayout(props) {
23663
23923
  const innerStyle = autoHideState !== "static" ? {
23664
23924
  top: autoHideState === "revealed" ? 0 : -navHeight
23665
23925
  } : void 0;
23666
- const navbarEl = (0, import_react135.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(Navbar, { ...navbar }), [navbar]);
23926
+ const navbarEl = (0, import_react136.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(Navbar, { ...navbar }), [navbar]);
23667
23927
  return /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime187.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime187.jsxs)("div", { ...(0, import_runtime105.mergeProps)(void 0, cssVars, {
23668
23928
  display: "df",
23669
23929
  flexDirection: "fdc",
@@ -23681,10 +23941,10 @@ function NavbarLayout(props) {
23681
23941
  }
23682
23942
 
23683
23943
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
23684
- var import_react136 = require("react");
23944
+ var import_react137 = require("react");
23685
23945
  var import_runtime106 = require("@homebound/truss/runtime");
23686
23946
  var import_jsx_runtime188 = require("react/jsx-runtime");
23687
- var __maybeInc20 = (inc) => {
23947
+ var __maybeInc22 = (inc) => {
23688
23948
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
23689
23949
  };
23690
23950
  function PageHeaderLayout(props) {
@@ -23694,11 +23954,11 @@ function PageHeaderLayout(props) {
23694
23954
  } = props;
23695
23955
  const tid = useTestIds(props, "pageHeaderLayout");
23696
23956
  const navbarHeight = useNavbarLayoutHeight();
23697
- const navbarHeightRef = (0, import_react136.useRef)(navbarHeight);
23957
+ const navbarHeightRef = (0, import_react137.useRef)(navbarHeight);
23698
23958
  navbarHeightRef.current = navbarHeight;
23699
- const getNavbarBottom = (0, import_react136.useCallback)(() => navbarHeightRef.current, []);
23700
- const headerMetricsRef = (0, import_react136.useRef)(null);
23701
- const spacerRef = (0, import_react136.useRef)(null);
23959
+ const getNavbarBottom = (0, import_react137.useCallback)(() => navbarHeightRef.current, []);
23960
+ const headerMetricsRef = (0, import_react137.useRef)(null);
23961
+ const spacerRef = (0, import_react137.useRef)(null);
23702
23962
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);
23703
23963
  const {
23704
23964
  state: autoHideState,
@@ -23708,16 +23968,16 @@ function PageHeaderLayout(props) {
23708
23968
  const cssVars = headerHeight > 0 && headerOccupiesPosition ? {
23709
23969
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
23710
23970
  } : void 0;
23711
- const headerLeft = `var(${beamSideNavLayoutWidthVar}, 0px)`;
23712
- const headerWidth = `calc(var(${beamLayoutViewportWidthVar}, 100vw) - var(${beamSideNavLayoutWidthVar}, 0px))`;
23971
+ const headerLeft = documentScrollChromeLeft();
23972
+ const headerWidth = documentScrollChromeWidth();
23713
23973
  const outerTop = `var(${beamNavbarLayoutHeightVar}, 0px)`;
23714
23974
  const innerCss = autoHideState === "static" ? {
23715
23975
  position: "sticky",
23716
23976
  left: ["left_var", {
23717
- "--left": (0, import_runtime106.maybeCssVar)(__maybeInc20(headerLeft))
23977
+ "--left": (0, import_runtime106.maybeCssVar)(__maybeInc22(headerLeft))
23718
23978
  }],
23719
23979
  width: ["w_var", {
23720
- "--width": (0, import_runtime106.maybeCssVar)(__maybeInc20(headerWidth))
23980
+ "--width": (0, import_runtime106.maybeCssVar)(__maybeInc22(headerWidth))
23721
23981
  }],
23722
23982
  zIndex: ["z_var", {
23723
23983
  "--zIndex": (0, import_runtime106.maybeCssVar)(zIndices.pageStickyHeader)
@@ -23725,10 +23985,10 @@ function PageHeaderLayout(props) {
23725
23985
  } : {
23726
23986
  position: "fixed",
23727
23987
  left: ["left_var", {
23728
- "--left": (0, import_runtime106.maybeCssVar)(__maybeInc20(headerLeft))
23988
+ "--left": (0, import_runtime106.maybeCssVar)(__maybeInc22(headerLeft))
23729
23989
  }],
23730
23990
  width: ["w_var", {
23731
- "--width": (0, import_runtime106.maybeCssVar)(__maybeInc20(headerWidth))
23991
+ "--width": (0, import_runtime106.maybeCssVar)(__maybeInc22(headerWidth))
23732
23992
  }],
23733
23993
  zIndex: ["z_var", {
23734
23994
  "--zIndex": (0, import_runtime106.maybeCssVar)(zIndices.pageStickyHeader)
@@ -23738,7 +23998,7 @@ function PageHeaderLayout(props) {
23738
23998
  const innerStyle = autoHideState !== "static" ? {
23739
23999
  top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
23740
24000
  } : void 0;
23741
- const pageHeaderEl = (0, import_react136.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
24001
+ const pageHeaderEl = (0, import_react137.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
23742
24002
  return /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime106.mergeProps)(void 0, cssVars, {
23743
24003
  display: "df",
23744
24004
  flexDirection: "fdc",
@@ -23920,6 +24180,7 @@ function PageHeaderLayout(props) {
23920
24180
  beamNavbarLayoutHeightVar,
23921
24181
  beamPageHeaderLayoutHeightVar,
23922
24182
  beamSideNavLayoutWidthVar,
24183
+ beamTableActionsHeightVar,
23923
24184
  booleanFilter,
23924
24185
  boundCheckboxField,
23925
24186
  boundCheckboxGroupField,
@@ -23938,6 +24199,7 @@ function PageHeaderLayout(props) {
23938
24199
  boundTextField,
23939
24200
  boundToggleChipGroupField,
23940
24201
  boundTreeSelectField,
24202
+ calcColumnLayout,
23941
24203
  calcColumnSizes,
23942
24204
  cardStyle,
23943
24205
  checkboxFilter,
@@ -23958,6 +24220,8 @@ function PageHeaderLayout(props) {
23958
24220
  defaultRenderFn,
23959
24221
  defaultStyle,
23960
24222
  defaultTestId,
24223
+ documentScrollChromeLeft,
24224
+ documentScrollChromeWidth,
23961
24225
  dragHandleColumn,
23962
24226
  emptyCell,
23963
24227
  ensureClientSideSortValueIsSortable,
@@ -24012,6 +24276,7 @@ function PageHeaderLayout(props) {
24012
24276
  px,
24013
24277
  recursivelyGetContainingRow,
24014
24278
  reservedRowKinds,
24279
+ resolveTableContentWidth,
24015
24280
  resolveTooltip,
24016
24281
  rowClickRenderFn,
24017
24282
  rowLinkRenderFn,
@@ -24026,6 +24291,9 @@ function PageHeaderLayout(props) {
24026
24291
  singleFilter,
24027
24292
  sortFn,
24028
24293
  sortRows,
24294
+ stickyNavAndHeaderOffset,
24295
+ stickyTableHeaderOffset,
24296
+ sumColumnSizesPx,
24029
24297
  switchFocusStyles,
24030
24298
  switchHoverStyles,
24031
24299
  switchSelectedHoverStyles,