@homebound/beam 4.45.1 → 4.46.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 +336 -284
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +99 -47
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -8538,9 +8538,18 @@ var RowState = class {
|
|
|
8538
8538
|
}
|
|
8539
8539
|
/** This row's share of `TableState.selectedLeafRowCount`, see `GridDataRow.childrenCount`. */
|
|
8540
8540
|
get selectedLeafRowCount() {
|
|
8541
|
-
if (this.isReservedKind
|
|
8541
|
+
if (this.isReservedKind) return 0;
|
|
8542
|
+
const { childrenCount } = this.row;
|
|
8543
|
+
if (childrenCount !== void 0 && this.isSelected) return this.isCountedByParent ? 0 : childrenCount;
|
|
8544
|
+
if (!this.selected) return 0;
|
|
8542
8545
|
if (this.children?.some((c) => c.row.selectable !== false)) return 0;
|
|
8543
|
-
return this.
|
|
8546
|
+
return this.isCountedByParent ? 0 : 1;
|
|
8547
|
+
}
|
|
8548
|
+
/** Whether a checked ancestor's `childrenCount` already includes this row. */
|
|
8549
|
+
get isCountedByParent() {
|
|
8550
|
+
const { parent } = this;
|
|
8551
|
+
if (!parent || this.removed) return false;
|
|
8552
|
+
return parent.row.childrenCount !== void 0 && parent.isSelected || parent.isCountedByParent;
|
|
8544
8553
|
}
|
|
8545
8554
|
/** The UI state for checked/unchecked + "partially checked" for parents. */
|
|
8546
8555
|
get selectedState() {
|
|
@@ -26750,7 +26759,7 @@ function invertSpacing(value) {
|
|
|
26750
26759
|
}
|
|
26751
26760
|
|
|
26752
26761
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
26753
|
-
var
|
|
26762
|
+
var import_react142 = __toESM(require("react"), 1);
|
|
26754
26763
|
|
|
26755
26764
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
26756
26765
|
var import_react125 = require("react");
|
|
@@ -27291,15 +27300,15 @@ function SelectionSummaryAction(props) {
|
|
|
27291
27300
|
|
|
27292
27301
|
// src/components/Layout/GridTableLayout/GridTableLayoutHost.tsx
|
|
27293
27302
|
var import_utils39 = require("@react-aria/utils");
|
|
27294
|
-
var
|
|
27303
|
+
var import_react135 = require("react");
|
|
27295
27304
|
|
|
27296
27305
|
// src/components/Layout/RightPaneLayout/DocumentScrollOverlayRightPaneLayout.tsx
|
|
27297
|
-
var
|
|
27306
|
+
var import_react133 = require("react");
|
|
27298
27307
|
var import_runtime131 = require("@homebound/truss/runtime");
|
|
27299
27308
|
|
|
27300
27309
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
27301
27310
|
var import_framer_motion3 = require("framer-motion");
|
|
27302
|
-
var
|
|
27311
|
+
var import_react130 = require("react");
|
|
27303
27312
|
var import_react_aria67 = require("react-aria");
|
|
27304
27313
|
var import_react_dom7 = require("react-dom");
|
|
27305
27314
|
|
|
@@ -27348,11 +27357,13 @@ function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
|
|
|
27348
27357
|
}
|
|
27349
27358
|
|
|
27350
27359
|
// src/components/Layout/RightPaneLayout/useRightPane.tsx
|
|
27351
|
-
var
|
|
27360
|
+
var import_react129 = require("react");
|
|
27352
27361
|
|
|
27353
27362
|
// src/components/Layout/RightPaneLayout/rightPaneStore.ts
|
|
27363
|
+
var import_react128 = require("react");
|
|
27354
27364
|
var isOpen = false;
|
|
27355
27365
|
var content;
|
|
27366
|
+
var discardPrompt;
|
|
27356
27367
|
var openListeners = /* @__PURE__ */ new Set();
|
|
27357
27368
|
var contentListeners = /* @__PURE__ */ new Set();
|
|
27358
27369
|
var rightPaneOpenStore = {
|
|
@@ -27376,6 +27387,17 @@ function notifyContentListeners() {
|
|
|
27376
27387
|
contentListeners.forEach((listener) => listener());
|
|
27377
27388
|
}
|
|
27378
27389
|
function openInPane(opts) {
|
|
27390
|
+
if (isOpen && wouldRemount(content, opts.content)) return confirmDiscard(() => showInPane(opts));
|
|
27391
|
+
if (isOpen && discardPrompt) warnIfUnkeyed(opts.content);
|
|
27392
|
+
showInPane(opts);
|
|
27393
|
+
}
|
|
27394
|
+
function warnIfUnkeyed(next) {
|
|
27395
|
+
if (process.env.NODE_ENV === "production" || !(0, import_react128.isValidElement)(next) || next.key !== null) return;
|
|
27396
|
+
console.warn(
|
|
27397
|
+
"[openRightPane] Opened unkeyed content of the same type over a panel with `isDirty`, so it didn't ask and that panel's edits carry over. Key pane content per item, e.g. `<Panel key={id} />`."
|
|
27398
|
+
);
|
|
27399
|
+
}
|
|
27400
|
+
function showInPane(opts) {
|
|
27379
27401
|
content = opts.content;
|
|
27380
27402
|
notifyContentListeners();
|
|
27381
27403
|
if (isOpen) return;
|
|
@@ -27383,9 +27405,14 @@ function openInPane(opts) {
|
|
|
27383
27405
|
notifyOpenListeners();
|
|
27384
27406
|
}
|
|
27385
27407
|
function closePane() {
|
|
27386
|
-
if (
|
|
27387
|
-
|
|
27388
|
-
|
|
27408
|
+
if (isOpen) confirmDiscard(hideRightPane);
|
|
27409
|
+
}
|
|
27410
|
+
function confirmDiscard(proceed) {
|
|
27411
|
+
if (discardPrompt) discardPrompt(proceed);
|
|
27412
|
+
else proceed();
|
|
27413
|
+
}
|
|
27414
|
+
function wouldRemount(prev, next) {
|
|
27415
|
+
return !(0, import_react128.isValidElement)(prev) || !(0, import_react128.isValidElement)(next) || prev.type !== next.type || prev.key !== next.key;
|
|
27389
27416
|
}
|
|
27390
27417
|
function clearPane() {
|
|
27391
27418
|
content = void 0;
|
|
@@ -27396,9 +27423,28 @@ var rightPaneOpenActions = {
|
|
|
27396
27423
|
closePane,
|
|
27397
27424
|
clearPane
|
|
27398
27425
|
};
|
|
27426
|
+
function setRightPaneDiscardPrompt(fn) {
|
|
27427
|
+
discardPrompt = fn;
|
|
27428
|
+
return () => {
|
|
27429
|
+
if (discardPrompt === fn) discardPrompt = void 0;
|
|
27430
|
+
};
|
|
27431
|
+
}
|
|
27432
|
+
function closeRightPaneThen(next) {
|
|
27433
|
+
if (!isOpen) return next();
|
|
27434
|
+
confirmDiscard(() => {
|
|
27435
|
+
hideRightPane();
|
|
27436
|
+
next();
|
|
27437
|
+
});
|
|
27438
|
+
}
|
|
27439
|
+
function hideRightPane() {
|
|
27440
|
+
if (!isOpen) return;
|
|
27441
|
+
isOpen = false;
|
|
27442
|
+
notifyOpenListeners();
|
|
27443
|
+
}
|
|
27399
27444
|
function resetRightPaneStore() {
|
|
27400
27445
|
isOpen = false;
|
|
27401
27446
|
content = void 0;
|
|
27447
|
+
discardPrompt = void 0;
|
|
27402
27448
|
notifyOpenListeners();
|
|
27403
27449
|
notifyContentListeners();
|
|
27404
27450
|
}
|
|
@@ -27408,7 +27454,7 @@ function useRightPaneOpenActions() {
|
|
|
27408
27454
|
return rightPaneOpenActions;
|
|
27409
27455
|
}
|
|
27410
27456
|
function useRightPaneOpenState() {
|
|
27411
|
-
const isRightPaneOpen = (0,
|
|
27457
|
+
const isRightPaneOpen = (0, import_react129.useSyncExternalStore)(
|
|
27412
27458
|
rightPaneOpenStore.subscribe,
|
|
27413
27459
|
rightPaneOpenStore.getSnapshot,
|
|
27414
27460
|
rightPaneOpenStore.getSnapshot
|
|
@@ -27416,7 +27462,7 @@ function useRightPaneOpenState() {
|
|
|
27416
27462
|
return { ...rightPaneOpenActions, isRightPaneOpen };
|
|
27417
27463
|
}
|
|
27418
27464
|
function useRightPaneContent() {
|
|
27419
|
-
return (0,
|
|
27465
|
+
return (0, import_react129.useSyncExternalStore)(
|
|
27420
27466
|
rightPaneContentStore.subscribe,
|
|
27421
27467
|
rightPaneContentStore.getSnapshot,
|
|
27422
27468
|
rightPaneContentStore.getSnapshot
|
|
@@ -27470,25 +27516,25 @@ function DocumentScrollRightPane({
|
|
|
27470
27516
|
} = useRightPaneOpenState();
|
|
27471
27517
|
const rightPaneContent = useRightPaneContent();
|
|
27472
27518
|
const tid = useTestIds({}, "rightPaneContent");
|
|
27473
|
-
const paneRef = (0,
|
|
27474
|
-
const [keepPaneLayout, setKeepPaneLayout] = (0,
|
|
27475
|
-
const exitReleasedRef = (0,
|
|
27519
|
+
const paneRef = (0, import_react130.useRef)(null);
|
|
27520
|
+
const [keepPaneLayout, setKeepPaneLayout] = (0, import_react130.useState)(false);
|
|
27521
|
+
const exitReleasedRef = (0, import_react130.useRef)(false);
|
|
27476
27522
|
const bannerHeightPx = useEnvironmentBannerLayoutHeight();
|
|
27477
27523
|
const isFixedOverlay = !mobile;
|
|
27478
|
-
(0,
|
|
27524
|
+
(0, import_react130.useLayoutEffect)(() => {
|
|
27479
27525
|
if (isRightPaneOpen) {
|
|
27480
27526
|
setKeepPaneLayout(true);
|
|
27481
27527
|
exitReleasedRef.current = false;
|
|
27482
27528
|
}
|
|
27483
27529
|
}, [isRightPaneOpen]);
|
|
27484
27530
|
const paneLayoutActive = isRightPaneOpen || keepPaneLayout;
|
|
27485
|
-
const releaseAfterExit = (0,
|
|
27531
|
+
const releaseAfterExit = (0, import_react130.useCallback)(() => {
|
|
27486
27532
|
if (exitReleasedRef.current) return;
|
|
27487
27533
|
exitReleasedRef.current = true;
|
|
27488
27534
|
clearPane2();
|
|
27489
27535
|
setKeepPaneLayout(false);
|
|
27490
27536
|
}, [clearPane2]);
|
|
27491
|
-
(0,
|
|
27537
|
+
(0, import_react130.useLayoutEffect)(() => {
|
|
27492
27538
|
if (isRightPaneOpen || !keepPaneLayout) return;
|
|
27493
27539
|
return waitForRightPaneExit(releaseAfterExit);
|
|
27494
27540
|
}, [isRightPaneOpen, keepPaneLayout, releaseAfterExit]);
|
|
@@ -27571,10 +27617,10 @@ function DocumentScrollRightPane({
|
|
|
27571
27617
|
}
|
|
27572
27618
|
|
|
27573
27619
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayoutRoot.tsx
|
|
27574
|
-
var
|
|
27620
|
+
var import_react131 = require("react");
|
|
27575
27621
|
var import_runtime130 = require("@homebound/truss/runtime");
|
|
27576
27622
|
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
27577
|
-
var NestedRightPaneLayoutContext = (0,
|
|
27623
|
+
var NestedRightPaneLayoutContext = (0, import_react131.createContext)(false);
|
|
27578
27624
|
function DocumentScrollRightPaneLayoutRoot(props) {
|
|
27579
27625
|
const {
|
|
27580
27626
|
anchorRef,
|
|
@@ -27604,19 +27650,15 @@ function DocumentScrollRightPaneLayoutRoot(props) {
|
|
|
27604
27650
|
}
|
|
27605
27651
|
|
|
27606
27652
|
// src/components/Layout/RightPaneLayout/useDocumentScrollRightPaneAnchorRef.ts
|
|
27607
|
-
var
|
|
27653
|
+
var import_react132 = require("react");
|
|
27608
27654
|
function useDocumentScrollRightPaneAnchorRef() {
|
|
27609
|
-
const
|
|
27610
|
-
const
|
|
27611
|
-
|
|
27612
|
-
|
|
27613
|
-
|
|
27614
|
-
|
|
27615
|
-
|
|
27616
|
-
ref.current = node;
|
|
27617
|
-
},
|
|
27618
|
-
[closePane2]
|
|
27619
|
-
);
|
|
27655
|
+
const ref = (0, import_react132.useRef)(null);
|
|
27656
|
+
const setRef = (0, import_react132.useCallback)((node) => {
|
|
27657
|
+
if (!node && ref.current) {
|
|
27658
|
+
hideRightPane();
|
|
27659
|
+
}
|
|
27660
|
+
ref.current = node;
|
|
27661
|
+
}, []);
|
|
27620
27662
|
return { ref, setRef };
|
|
27621
27663
|
}
|
|
27622
27664
|
|
|
@@ -27640,14 +27682,14 @@ function DocumentScrollOverlayRightPaneLayout({
|
|
|
27640
27682
|
children,
|
|
27641
27683
|
paneWidth = defaultDocumentScrollRightPaneWidth
|
|
27642
27684
|
}) {
|
|
27643
|
-
const nestedInLayout = (0,
|
|
27685
|
+
const nestedInLayout = (0, import_react133.useContext)(NestedRightPaneLayoutContext);
|
|
27644
27686
|
const {
|
|
27645
27687
|
sm
|
|
27646
27688
|
} = useBreakpoint();
|
|
27647
27689
|
const tid = useTestIds({}, "documentScrollRightPaneLayout");
|
|
27648
27690
|
const anchorRef = useDocumentScrollRightPaneAnchorRef();
|
|
27649
|
-
const spacerRef = (0,
|
|
27650
|
-
(0,
|
|
27691
|
+
const spacerRef = (0, import_react133.useRef)(null);
|
|
27692
|
+
(0, import_react133.useEffect)(() => {
|
|
27651
27693
|
if (nestedInLayout && process.env.NODE_ENV !== "production") {
|
|
27652
27694
|
console.warn("DocumentScrollOverlayRightPaneLayout is nested inside another document-scroll right-pane layout. Use a single layout (compose at the body; do not set withRightPane on both a parent and a nested layout).");
|
|
27653
27695
|
}
|
|
@@ -27681,20 +27723,20 @@ function DocumentScrollOverlayRightPaneHost(props) {
|
|
|
27681
27723
|
isRightPaneOpen
|
|
27682
27724
|
} = useRightPaneOpenState();
|
|
27683
27725
|
const paneWidthCss = documentScrollRightPaneWidthCss(paneWidth);
|
|
27684
|
-
const [keepOverlayChrome, setKeepOverlayChrome] = (0,
|
|
27685
|
-
(0,
|
|
27726
|
+
const [keepOverlayChrome, setKeepOverlayChrome] = (0, import_react133.useState)(isRightPaneOpen);
|
|
27727
|
+
(0, import_react133.useLayoutEffect)(() => {
|
|
27686
27728
|
if (isRightPaneOpen) {
|
|
27687
27729
|
setKeepOverlayChrome(true);
|
|
27688
27730
|
return;
|
|
27689
27731
|
}
|
|
27690
27732
|
return waitForRightPaneExit(() => setKeepOverlayChrome(false));
|
|
27691
27733
|
}, [isRightPaneOpen]);
|
|
27692
|
-
(0,
|
|
27734
|
+
(0, import_react133.useLayoutEffect)(() => {
|
|
27693
27735
|
const spacer = spacerRef.current;
|
|
27694
27736
|
if (!spacer) return;
|
|
27695
27737
|
spacer.style.width = isRightPaneOpen ? paneWidthCss : "0px";
|
|
27696
27738
|
}, [isRightPaneOpen, paneWidthCss, spacerRef]);
|
|
27697
|
-
(0,
|
|
27739
|
+
(0, import_react133.useLayoutEffect)(() => {
|
|
27698
27740
|
const layoutRoot = anchorRef.current;
|
|
27699
27741
|
if (!layoutRoot) return;
|
|
27700
27742
|
const openPaneWidth = keepOverlayChrome ? paneWidthCss : "0px";
|
|
@@ -27713,7 +27755,7 @@ function DocumentScrollOverlayRightPaneHost(props) {
|
|
|
27713
27755
|
|
|
27714
27756
|
// src/components/Modal/ModalFullBleed.tsx
|
|
27715
27757
|
var import_runtime132 = require("@homebound/truss/runtime");
|
|
27716
|
-
var
|
|
27758
|
+
var import_react134 = require("react");
|
|
27717
27759
|
function ModalFullBleed({
|
|
27718
27760
|
children,
|
|
27719
27761
|
omitPadding = false
|
|
@@ -27726,7 +27768,7 @@ function ModalFullBleed({
|
|
|
27726
27768
|
className,
|
|
27727
27769
|
style
|
|
27728
27770
|
} = children.props;
|
|
27729
|
-
return (0,
|
|
27771
|
+
return (0, import_react134.cloneElement)(children, (0, import_runtime132.mergeProps)(className, style, {
|
|
27730
27772
|
...{
|
|
27731
27773
|
containerType: "ctis"
|
|
27732
27774
|
},
|
|
@@ -27750,8 +27792,8 @@ function GridTableLayoutHost(props) {
|
|
|
27750
27792
|
testIds,
|
|
27751
27793
|
children
|
|
27752
27794
|
} = props;
|
|
27753
|
-
const tableWrapperRef = (0,
|
|
27754
|
-
const tableActionsRef = (0,
|
|
27795
|
+
const tableWrapperRef = (0, import_react135.useRef)(null);
|
|
27796
|
+
const tableActionsRef = (0, import_react135.useRef)(null);
|
|
27755
27797
|
const hasActions = actions !== void 0;
|
|
27756
27798
|
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, host.kind !== "scrollable-parent" && hasActions);
|
|
27757
27799
|
const shared = {
|
|
@@ -27854,7 +27896,7 @@ function ActionsBar({
|
|
|
27854
27896
|
return /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ref: actionsRef, ...(0, import_runtime133.trussProps)(xss), ...testIds.stickyContent, children });
|
|
27855
27897
|
}
|
|
27856
27898
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
27857
|
-
const syncHeightVar = (0,
|
|
27899
|
+
const syncHeightVar = (0, import_react135.useCallback)(() => {
|
|
27858
27900
|
const tableWrapper = tableWrapperRef.current;
|
|
27859
27901
|
if (!tableWrapper) return;
|
|
27860
27902
|
if (!enabled) {
|
|
@@ -27872,7 +27914,7 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
27872
27914
|
ref: tableActionsRef,
|
|
27873
27915
|
onResize: enabled ? syncHeightVar : noop
|
|
27874
27916
|
});
|
|
27875
|
-
(0,
|
|
27917
|
+
(0, import_react135.useLayoutEffect)(() => {
|
|
27876
27918
|
syncHeightVar();
|
|
27877
27919
|
const tableWrapper = tableWrapperRef.current;
|
|
27878
27920
|
return () => {
|
|
@@ -27882,14 +27924,14 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
27882
27924
|
}
|
|
27883
27925
|
|
|
27884
27926
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
27885
|
-
var
|
|
27927
|
+
var import_react136 = require("react");
|
|
27886
27928
|
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
27887
27929
|
function QueryTable(props) {
|
|
27888
27930
|
const { emptyFallback, query, createRows, columns, emptyState: emptyStateProp, ...others } = props;
|
|
27889
27931
|
const displayData = query.error ? void 0 : query.data ?? query.previousData;
|
|
27890
|
-
const rows = (0,
|
|
27932
|
+
const rows = (0, import_react136.useMemo)(() => createRows(displayData), [createRows, displayData]);
|
|
27891
27933
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : void 0;
|
|
27892
|
-
const emptyState = (0,
|
|
27934
|
+
const emptyState = (0, import_react136.useMemo)(() => {
|
|
27893
27935
|
if (query.loading || query.error) return void 0;
|
|
27894
27936
|
if (emptyStateProp) return emptyStateProp;
|
|
27895
27937
|
return { title: emptyFallback };
|
|
@@ -27918,10 +27960,10 @@ function useGridTableLayoutHost() {
|
|
|
27918
27960
|
}
|
|
27919
27961
|
|
|
27920
27962
|
// src/components/Layout/GridTableLayout/usePersistedTableView.ts
|
|
27921
|
-
var
|
|
27963
|
+
var import_react137 = require("react");
|
|
27922
27964
|
function usePersistedTableView(defaultView, persist) {
|
|
27923
27965
|
const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
|
|
27924
|
-
const [view, setView] = (0,
|
|
27966
|
+
const [view, setView] = (0, import_react137.useState)(() => {
|
|
27925
27967
|
if (!storageKey) return defaultView;
|
|
27926
27968
|
try {
|
|
27927
27969
|
return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
|
|
@@ -27929,7 +27971,7 @@ function usePersistedTableView(defaultView, persist) {
|
|
|
27929
27971
|
return defaultView;
|
|
27930
27972
|
}
|
|
27931
27973
|
});
|
|
27932
|
-
const setViewAndPersist = (0,
|
|
27974
|
+
const setViewAndPersist = (0, import_react137.useCallback)(
|
|
27933
27975
|
(next) => {
|
|
27934
27976
|
setView(next);
|
|
27935
27977
|
if (storageKey) {
|
|
@@ -27956,28 +27998,28 @@ function isGridTableProps(props) {
|
|
|
27956
27998
|
}
|
|
27957
27999
|
|
|
27958
28000
|
// src/hooks/useGroupBy.ts
|
|
27959
|
-
var
|
|
28001
|
+
var import_react139 = require("react");
|
|
27960
28002
|
|
|
27961
28003
|
// src/hooks/useQueryState.ts
|
|
27962
|
-
var
|
|
28004
|
+
var import_react138 = require("react");
|
|
27963
28005
|
var import_use_query_params2 = require("use-query-params");
|
|
27964
28006
|
function useQueryState(name, initialValue) {
|
|
27965
28007
|
const [params, setParams] = (0, import_use_query_params2.useQueryParams)({ [name]: import_use_query_params2.StringParam });
|
|
27966
28008
|
const value = params[name] || initialValue;
|
|
27967
|
-
const setValue = (0,
|
|
28009
|
+
const setValue = (0, import_react138.useCallback)((value2) => setParams({ [name]: value2 }, "pushIn"), [name, setParams]);
|
|
27968
28010
|
return [value, setValue];
|
|
27969
28011
|
}
|
|
27970
28012
|
|
|
27971
28013
|
// src/hooks/useGroupBy.ts
|
|
27972
28014
|
function useGroupBy(opts) {
|
|
27973
28015
|
const { inModal } = useModalContext();
|
|
27974
|
-
const options = (0,
|
|
28016
|
+
const options = (0, import_react139.useMemo)(
|
|
27975
28017
|
() => safeEntries(opts).map(([key, value]) => ({ id: key, name: value })),
|
|
27976
28018
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27977
28019
|
[]
|
|
27978
28020
|
);
|
|
27979
28021
|
const [queryValue, setQueryValue] = useQueryState("groupBy", options[0].id);
|
|
27980
|
-
const [localValue, setLocalValue] = (0,
|
|
28022
|
+
const [localValue, setLocalValue] = (0, import_react139.useState)(options[0].id);
|
|
27981
28023
|
return {
|
|
27982
28024
|
value: inModal ? localValue : queryValue,
|
|
27983
28025
|
setValue: inModal ? setLocalValue : setQueryValue,
|
|
@@ -27986,17 +28028,17 @@ function useGroupBy(opts) {
|
|
|
27986
28028
|
}
|
|
27987
28029
|
|
|
27988
28030
|
// src/hooks/usePersistedFilter.ts
|
|
27989
|
-
var
|
|
28031
|
+
var import_react141 = require("react");
|
|
27990
28032
|
|
|
27991
28033
|
// src/hooks/useSessionStorage.ts
|
|
27992
|
-
var
|
|
28034
|
+
var import_react140 = require("react");
|
|
27993
28035
|
function useSessionStorage(key, defaultValue) {
|
|
27994
28036
|
let hasSessionStorage = false;
|
|
27995
28037
|
try {
|
|
27996
28038
|
hasSessionStorage = !!window.sessionStorage;
|
|
27997
28039
|
} catch (e) {
|
|
27998
28040
|
}
|
|
27999
|
-
const [state, setState] = (0,
|
|
28041
|
+
const [state, setState] = (0, import_react140.useState)(() => {
|
|
28000
28042
|
if (!hasSessionStorage) {
|
|
28001
28043
|
return defaultValue;
|
|
28002
28044
|
}
|
|
@@ -28007,7 +28049,7 @@ function useSessionStorage(key, defaultValue) {
|
|
|
28007
28049
|
sessionStorage.setItem(key, JSON.stringify(defaultValue));
|
|
28008
28050
|
return defaultValue;
|
|
28009
28051
|
});
|
|
28010
|
-
const setAndSave = (0,
|
|
28052
|
+
const setAndSave = (0, import_react140.useCallback)(
|
|
28011
28053
|
(value) => {
|
|
28012
28054
|
if (hasSessionStorage && value) {
|
|
28013
28055
|
sessionStorage.setItem(key, JSON.stringify(value));
|
|
@@ -28031,12 +28073,12 @@ function getParsedStorage(key) {
|
|
|
28031
28073
|
var import_use_query_params3 = require("use-query-params");
|
|
28032
28074
|
function usePersistedFilter({ storageKey, filterDefs }) {
|
|
28033
28075
|
const { inModal } = useModalContext();
|
|
28034
|
-
const filterImpls = (0,
|
|
28076
|
+
const filterImpls = (0, import_react141.useMemo)(
|
|
28035
28077
|
() => Object.fromEntries(safeEntries(filterDefs).map(([key, def]) => [key, def(key)])),
|
|
28036
28078
|
[filterDefs]
|
|
28037
28079
|
);
|
|
28038
|
-
const filterKeys = (0,
|
|
28039
|
-
const defaultFilter = (0,
|
|
28080
|
+
const filterKeys = (0, import_react141.useMemo)(() => Object.keys(filterImpls), [filterImpls]);
|
|
28081
|
+
const defaultFilter = (0, import_react141.useMemo)(
|
|
28040
28082
|
() => Object.fromEntries(
|
|
28041
28083
|
safeEntries(filterImpls).filter(([, def]) => def.defaultValue !== void 0).map(([key, def]) => [key, def.defaultValue])
|
|
28042
28084
|
),
|
|
@@ -28048,18 +28090,18 @@ function usePersistedFilter({ storageKey, filterDefs }) {
|
|
|
28048
28090
|
dehydrateFilter(filterImpls, defaultFilter) ?? defaultFilter
|
|
28049
28091
|
);
|
|
28050
28092
|
const isQueryParamFilterValid = hasValidFilterKeys(queryParamsFilter, filterKeys);
|
|
28051
|
-
const serializedQueryParamsFilter = (0,
|
|
28052
|
-
const serializedStoredFilter = (0,
|
|
28053
|
-
const queryParamsFilterSnapshot = (0,
|
|
28093
|
+
const serializedQueryParamsFilter = (0, import_react141.useMemo)(() => JSON.stringify(queryParamsFilter), [queryParamsFilter]);
|
|
28094
|
+
const serializedStoredFilter = (0, import_react141.useMemo)(() => JSON.stringify(storedFilter), [storedFilter]);
|
|
28095
|
+
const queryParamsFilterSnapshot = (0, import_react141.useMemo)(
|
|
28054
28096
|
() => parseSerializedValue(serializedQueryParamsFilter),
|
|
28055
28097
|
[serializedQueryParamsFilter]
|
|
28056
28098
|
);
|
|
28057
|
-
const storedFilterSnapshot = (0,
|
|
28058
|
-
const hydratedQueryParamsFilter = (0,
|
|
28099
|
+
const storedFilterSnapshot = (0, import_react141.useMemo)(() => parseSerializedValue(serializedStoredFilter), [serializedStoredFilter]);
|
|
28100
|
+
const hydratedQueryParamsFilter = (0, import_react141.useMemo)(
|
|
28059
28101
|
() => isQueryParamFilterValid ? hydrateFilter(filterImpls, queryParamsFilterSnapshot) : void 0,
|
|
28060
28102
|
[filterImpls, isQueryParamFilterValid, queryParamsFilterSnapshot]
|
|
28061
28103
|
);
|
|
28062
|
-
const hydratedStoredFilter = (0,
|
|
28104
|
+
const hydratedStoredFilter = (0, import_react141.useMemo)(
|
|
28063
28105
|
() => hasValidFilterKeys(storedFilterSnapshot, filterKeys) ? hydrateFilter(filterImpls, storedFilterSnapshot) : void 0,
|
|
28064
28106
|
[filterImpls, filterKeys, storedFilterSnapshot]
|
|
28065
28107
|
);
|
|
@@ -28073,7 +28115,7 @@ function usePersistedFilter({ storageKey, filterDefs }) {
|
|
|
28073
28115
|
}
|
|
28074
28116
|
setQueryParams({ filter: dehydrated });
|
|
28075
28117
|
};
|
|
28076
|
-
(0,
|
|
28118
|
+
(0, import_react141.useEffect)(
|
|
28077
28119
|
() => {
|
|
28078
28120
|
if (inModal) return;
|
|
28079
28121
|
if (queryParamsFilter === void 0) {
|
|
@@ -28123,8 +28165,8 @@ function parseSerializedValue(value) {
|
|
|
28123
28165
|
return value === void 0 ? void 0 : JSON.parse(value);
|
|
28124
28166
|
}
|
|
28125
28167
|
function useStableValue(value) {
|
|
28126
|
-
const stableValue = (0,
|
|
28127
|
-
const stableKey = (0,
|
|
28168
|
+
const stableValue = (0, import_react141.useRef)(value);
|
|
28169
|
+
const stableKey = (0, import_react141.useRef)(JSON.stringify(value));
|
|
28128
28170
|
const nextKey = JSON.stringify(value);
|
|
28129
28171
|
if (stableKey.current !== nextKey) {
|
|
28130
28172
|
stableValue.current = value;
|
|
@@ -28153,12 +28195,12 @@ function GridTableLayoutComponent(props) {
|
|
|
28153
28195
|
const host = useGridTableLayoutHost();
|
|
28154
28196
|
const includeColumnGutters = host.kind === "document-scroll" || host.kind === "modal";
|
|
28155
28197
|
const columns = tableProps.columns;
|
|
28156
|
-
const hasHideableColumns = (0,
|
|
28198
|
+
const hasHideableColumns = (0, import_react142.useMemo)(() => {
|
|
28157
28199
|
if (hideEditColumns) return false;
|
|
28158
28200
|
validateColumns(columns);
|
|
28159
28201
|
return columns.some((c) => c.canHide);
|
|
28160
28202
|
}, [columns, hideEditColumns]);
|
|
28161
|
-
const api = (0,
|
|
28203
|
+
const api = (0, import_react142.useMemo)(
|
|
28162
28204
|
() => tableProps.api ?? new GridTableApiImpl(),
|
|
28163
28205
|
[tableProps.api]
|
|
28164
28206
|
);
|
|
@@ -28168,22 +28210,22 @@ function GridTableLayoutComponent(props) {
|
|
|
28168
28210
|
selectionSummary);
|
|
28169
28211
|
const isVirtualized = tableProps.as === "virtual" || view === "card";
|
|
28170
28212
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
28171
|
-
(0,
|
|
28213
|
+
(0, import_react142.useEffect)(() => {
|
|
28172
28214
|
if (layoutState?.setVisibleColumnIds) {
|
|
28173
28215
|
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
28174
28216
|
}
|
|
28175
28217
|
}, [visibleColumnIds, layoutState]);
|
|
28176
28218
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
28177
|
-
const filterSearchProps = (0,
|
|
28219
|
+
const filterSearchProps = (0, import_react142.useMemo)(
|
|
28178
28220
|
() => layoutState?.search ? { onSearch: layoutState.setSearchString } : void 0,
|
|
28179
28221
|
[layoutState?.search, layoutState?.setSearchString]
|
|
28180
28222
|
);
|
|
28181
|
-
const searchApiRef = (0,
|
|
28182
|
-
const clearFilters = (0,
|
|
28223
|
+
const searchApiRef = (0, import_react142.useRef)(void 0);
|
|
28224
|
+
const clearFilters = (0, import_react142.useCallback)(() => {
|
|
28183
28225
|
layoutState?.clearFilters();
|
|
28184
28226
|
searchApiRef.current?.clear();
|
|
28185
28227
|
}, [layoutState]);
|
|
28186
|
-
const emptyState = (0,
|
|
28228
|
+
const emptyState = (0, import_react142.useMemo)(
|
|
28187
28229
|
() => composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFilters),
|
|
28188
28230
|
[layoutEmptyFallback, layoutState, tableProps, clearFilters]
|
|
28189
28231
|
);
|
|
@@ -28209,7 +28251,7 @@ function GridTableLayoutComponent(props) {
|
|
|
28209
28251
|
}
|
|
28210
28252
|
);
|
|
28211
28253
|
const cardAs = view === "card" ? "card" : void 0;
|
|
28212
|
-
const tableStyle = (0,
|
|
28254
|
+
const tableStyle = (0, import_react142.useMemo)(() => getDefaultStyle(tableProps.style), [tableProps.style]);
|
|
28213
28255
|
const tableBody = /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(import_jsx_runtime204.Fragment, { children: isGridTableProps(tableProps) ? /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
28214
28256
|
GridTable,
|
|
28215
28257
|
{
|
|
@@ -28251,7 +28293,7 @@ function GridTableLayoutComponent(props) {
|
|
|
28251
28293
|
}
|
|
28252
28294
|
);
|
|
28253
28295
|
}
|
|
28254
|
-
var GridTableLayout =
|
|
28296
|
+
var GridTableLayout = import_react142.default.memo(GridTableLayoutComponent);
|
|
28255
28297
|
function getDefaultStyle(style) {
|
|
28256
28298
|
if (style !== void 0 && !isGridStyleDef(style)) return style;
|
|
28257
28299
|
return { allWhite: true, ...style };
|
|
@@ -28272,14 +28314,14 @@ function useGridTableLayoutState({
|
|
|
28272
28314
|
const filterFallback = { filterDefs: {}, storageKey: "unset-filter" };
|
|
28273
28315
|
const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
|
|
28274
28316
|
const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
|
|
28275
|
-
const [searchString, setSearchString] = (0,
|
|
28317
|
+
const [searchString, setSearchString] = (0, import_react142.useState)("");
|
|
28276
28318
|
const columnsFallback = "unset-columns";
|
|
28277
28319
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
|
|
28278
28320
|
persistedColumns?.storageKey ?? columnsFallback,
|
|
28279
28321
|
void 0
|
|
28280
28322
|
);
|
|
28281
28323
|
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
28282
|
-
const clearFilters = (0,
|
|
28324
|
+
const clearFilters = (0, import_react142.useCallback)(() => {
|
|
28283
28325
|
setFilter({});
|
|
28284
28326
|
setSearchString("");
|
|
28285
28327
|
}, [setFilter]);
|
|
@@ -28326,7 +28368,7 @@ function PreventBrowserScroll({
|
|
|
28326
28368
|
|
|
28327
28369
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
28328
28370
|
var import_framer_motion4 = require("framer-motion");
|
|
28329
|
-
var
|
|
28371
|
+
var import_react143 = require("react");
|
|
28330
28372
|
var import_runtime134 = require("@homebound/truss/runtime");
|
|
28331
28373
|
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
28332
28374
|
var __maybeInc22 = (inc) => {
|
|
@@ -28341,11 +28383,10 @@ function RightPaneLayout(props) {
|
|
|
28341
28383
|
} = props;
|
|
28342
28384
|
const {
|
|
28343
28385
|
isRightPaneOpen,
|
|
28344
|
-
clearPane: clearPane2
|
|
28345
|
-
closePane: closePane2
|
|
28386
|
+
clearPane: clearPane2
|
|
28346
28387
|
} = useRightPaneOpenState();
|
|
28347
28388
|
const rightPaneContent = useRightPaneContent();
|
|
28348
|
-
(0,
|
|
28389
|
+
(0, import_react143.useEffect)(() => hideRightPane, []);
|
|
28349
28390
|
return /* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { className: "h100 df oxh", children: /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)(import_jsx_runtime206.Fragment, { children: [
|
|
28350
28391
|
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ...(0, import_runtime134.trussProps)({
|
|
28351
28392
|
...{
|
|
@@ -28435,12 +28476,12 @@ function RightPaneLayout(props) {
|
|
|
28435
28476
|
}
|
|
28436
28477
|
|
|
28437
28478
|
// src/components/Layout/RightPaneLayout/RightPanePanel.tsx
|
|
28438
|
-
var
|
|
28479
|
+
var import_react145 = require("react");
|
|
28439
28480
|
var import_react_dom8 = require("react-dom");
|
|
28440
28481
|
|
|
28441
28482
|
// src/components/Layout/RightPaneLayout/internal/DeleteAction.tsx
|
|
28442
28483
|
var import_utils41 = require("@react-aria/utils");
|
|
28443
|
-
var
|
|
28484
|
+
var import_react144 = require("react");
|
|
28444
28485
|
var import_runtime135 = require("@homebound/truss/runtime");
|
|
28445
28486
|
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
28446
28487
|
function MaybeDeleteAction(props) {
|
|
@@ -28457,9 +28498,9 @@ function BulkDeleteAction(props) {
|
|
|
28457
28498
|
count,
|
|
28458
28499
|
...buttonProps
|
|
28459
28500
|
} = props;
|
|
28460
|
-
const containerRef = (0,
|
|
28461
|
-
const contentRef = (0,
|
|
28462
|
-
const [overflows, setOverflows] = (0,
|
|
28501
|
+
const containerRef = (0, import_react144.useRef)(null);
|
|
28502
|
+
const contentRef = (0, import_react144.useRef)(null);
|
|
28503
|
+
const [overflows, setOverflows] = (0, import_react144.useState)(false);
|
|
28463
28504
|
const onResize = () => {
|
|
28464
28505
|
if (!containerRef.current || !contentRef.current) return;
|
|
28465
28506
|
setOverflows(contentRef.current.offsetWidth > containerRef.current.clientWidth);
|
|
@@ -28516,6 +28557,7 @@ function RightPanePanel(props) {
|
|
|
28516
28557
|
title,
|
|
28517
28558
|
children,
|
|
28518
28559
|
tag,
|
|
28560
|
+
isDirty,
|
|
28519
28561
|
withClose = true,
|
|
28520
28562
|
primaryAction,
|
|
28521
28563
|
secondaryAction,
|
|
@@ -28525,7 +28567,19 @@ function RightPanePanel(props) {
|
|
|
28525
28567
|
const {
|
|
28526
28568
|
closeRightPane
|
|
28527
28569
|
} = useRightPaneActions();
|
|
28528
|
-
const [bannerSlot, setBannerSlot] = (0,
|
|
28570
|
+
const [bannerSlot, setBannerSlot] = (0, import_react145.useState)(null);
|
|
28571
|
+
const {
|
|
28572
|
+
openModal
|
|
28573
|
+
} = useModal();
|
|
28574
|
+
(0, import_react145.useEffect)(() => {
|
|
28575
|
+
if (!isDirty) return;
|
|
28576
|
+
return setRightPaneDiscardPrompt((proceed) => {
|
|
28577
|
+
if (!isDirty()) return proceed();
|
|
28578
|
+
openModal({
|
|
28579
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(ConfirmCloseModal, { title: "Discard unsaved changes?", onClose: proceed })
|
|
28580
|
+
});
|
|
28581
|
+
});
|
|
28582
|
+
}, [isDirty, openModal]);
|
|
28529
28583
|
const tagEl = tag && (tag.kind === "status" ? /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(Tag, { ...tag, ...tid.tag }) : /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(ContextTag, { ...tag, ...tid.tag }));
|
|
28530
28584
|
const titleEl = /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { className: "fw6 fz_16px lh_24px oh d_negwebkit_box wbo_vertical to_ellipsis wlc_2", ...tid.title, children: title });
|
|
28531
28585
|
const closeEl = withClose && /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(IconButton, { icon: "x", label: "Close", autoFocus: true, onClick: closeRightPane, ...tid.close });
|
|
@@ -28580,11 +28634,11 @@ function RightPaneBanner(props) {
|
|
|
28580
28634
|
const {
|
|
28581
28635
|
children
|
|
28582
28636
|
} = props;
|
|
28583
|
-
const slot = (0,
|
|
28637
|
+
const slot = (0, import_react145.useContext)(RightPaneBannerSlotContext);
|
|
28584
28638
|
if (slot === void 0) fail("RightPaneBanner must be rendered inside a RightPanePanel");
|
|
28585
28639
|
return slot ? (0, import_react_dom8.createPortal)(children, slot) : null;
|
|
28586
28640
|
}
|
|
28587
|
-
var RightPaneBannerSlotContext = (0,
|
|
28641
|
+
var RightPaneBannerSlotContext = (0, import_react145.createContext)(void 0);
|
|
28588
28642
|
|
|
28589
28643
|
// src/components/Layout/ScrollableFooter.tsx
|
|
28590
28644
|
var import_react_dom9 = require("react-dom");
|
|
@@ -28600,7 +28654,7 @@ function ScrollableFooter(props) {
|
|
|
28600
28654
|
|
|
28601
28655
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
28602
28656
|
var import_framer_motion5 = require("framer-motion");
|
|
28603
|
-
var
|
|
28657
|
+
var import_react146 = require("react");
|
|
28604
28658
|
|
|
28605
28659
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
28606
28660
|
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
@@ -28640,8 +28694,8 @@ function TableReviewLayout(props) {
|
|
|
28640
28694
|
rightPaneWidth = defaultRightPaneWidth
|
|
28641
28695
|
} = props;
|
|
28642
28696
|
const tid = useTestIds(props, "tableReviewLayout");
|
|
28643
|
-
const [isPanelVisible, setIsPanelVisible] = (0,
|
|
28644
|
-
(0,
|
|
28697
|
+
const [isPanelVisible, setIsPanelVisible] = (0, import_react146.useState)(!!panelContent);
|
|
28698
|
+
(0, import_react146.useEffect)(() => {
|
|
28645
28699
|
setIsPanelVisible(!!panelContent);
|
|
28646
28700
|
}, [panelContent]);
|
|
28647
28701
|
function handleClosePanel() {
|
|
@@ -28801,24 +28855,24 @@ function HomeboundLogo(props) {
|
|
|
28801
28855
|
|
|
28802
28856
|
// src/components/MaxLines.tsx
|
|
28803
28857
|
var import_utils42 = require("@react-aria/utils");
|
|
28804
|
-
var
|
|
28858
|
+
var import_react147 = require("react");
|
|
28805
28859
|
var import_runtime140 = require("@homebound/truss/runtime");
|
|
28806
28860
|
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
28807
28861
|
function MaxLines({
|
|
28808
28862
|
maxLines,
|
|
28809
28863
|
children
|
|
28810
28864
|
}) {
|
|
28811
|
-
const elRef = (0,
|
|
28812
|
-
const [hasMore, setHasMore] = (0,
|
|
28813
|
-
const [expanded, setExpanded] = (0,
|
|
28865
|
+
const elRef = (0, import_react147.useRef)(null);
|
|
28866
|
+
const [hasMore, setHasMore] = (0, import_react147.useState)(false);
|
|
28867
|
+
const [expanded, setExpanded] = (0, import_react147.useState)(false);
|
|
28814
28868
|
(0, import_utils42.useLayoutEffect)(() => {
|
|
28815
28869
|
if (!elRef.current) return;
|
|
28816
28870
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
28817
28871
|
}, []);
|
|
28818
|
-
(0,
|
|
28872
|
+
(0, import_react147.useEffect)(() => {
|
|
28819
28873
|
setExpanded(false);
|
|
28820
28874
|
}, [children]);
|
|
28821
|
-
const onResize = (0,
|
|
28875
|
+
const onResize = (0, import_react147.useCallback)(() => {
|
|
28822
28876
|
if (!elRef.current) return;
|
|
28823
28877
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
28824
28878
|
}, [expanded]);
|
|
@@ -28933,7 +28987,7 @@ function toPageNumberSize(page) {
|
|
|
28933
28987
|
|
|
28934
28988
|
// src/components/ScrollShadows.tsx
|
|
28935
28989
|
var import_utils43 = require("@react-aria/utils");
|
|
28936
|
-
var
|
|
28990
|
+
var import_react148 = require("react");
|
|
28937
28991
|
var import_runtime142 = require("@homebound/truss/runtime");
|
|
28938
28992
|
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
28939
28993
|
function ScrollShadows(props) {
|
|
@@ -28951,10 +29005,10 @@ function ScrollShadows(props) {
|
|
|
28951
29005
|
if (!bgColor.includes("rgba")) {
|
|
28952
29006
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
28953
29007
|
}
|
|
28954
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
28955
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
28956
|
-
const scrollRef = (0,
|
|
28957
|
-
const [startShadowStyles, endShadowStyles] = (0,
|
|
29008
|
+
const [showStartShadow, setShowStartShadow] = (0, import_react148.useState)(false);
|
|
29009
|
+
const [showEndShadow, setShowEndShadow] = (0, import_react148.useState)(false);
|
|
29010
|
+
const scrollRef = (0, import_react148.useRef)(null);
|
|
29011
|
+
const [startShadowStyles, endShadowStyles] = (0, import_react148.useMemo)(() => {
|
|
28958
29012
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
28959
29013
|
const commonStyles = {
|
|
28960
29014
|
position: "absolute",
|
|
@@ -29005,7 +29059,7 @@ function ScrollShadows(props) {
|
|
|
29005
29059
|
}
|
|
29006
29060
|
}];
|
|
29007
29061
|
}, [horizontal, bgColor]);
|
|
29008
|
-
const updateScrollProps = (0,
|
|
29062
|
+
const updateScrollProps = (0, import_react148.useCallback)((el) => {
|
|
29009
29063
|
const {
|
|
29010
29064
|
scrollTop,
|
|
29011
29065
|
scrollHeight,
|
|
@@ -29020,7 +29074,7 @@ function ScrollShadows(props) {
|
|
|
29020
29074
|
setShowStartShadow(start > 0);
|
|
29021
29075
|
setShowEndShadow(start + boxSize < end);
|
|
29022
29076
|
}, [horizontal]);
|
|
29023
|
-
const onResize = (0,
|
|
29077
|
+
const onResize = (0, import_react148.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
29024
29078
|
(0, import_utils43.useResizeObserver)({
|
|
29025
29079
|
ref: scrollRef,
|
|
29026
29080
|
onResize
|
|
@@ -29074,10 +29128,10 @@ var import_change_case8 = require("change-case");
|
|
|
29074
29128
|
// src/components/AppNav/AppNavGroup.tsx
|
|
29075
29129
|
var import_utils44 = require("@react-aria/utils");
|
|
29076
29130
|
var import_change_case7 = require("change-case");
|
|
29077
|
-
var
|
|
29131
|
+
var import_react151 = require("react");
|
|
29078
29132
|
|
|
29079
29133
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
29080
|
-
var
|
|
29134
|
+
var import_react149 = require("react");
|
|
29081
29135
|
var import_react_aria68 = require("react-aria");
|
|
29082
29136
|
var import_runtime143 = require("@homebound/truss/runtime");
|
|
29083
29137
|
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
@@ -29090,7 +29144,7 @@ function AppNavGroupTrigger(props) {
|
|
|
29090
29144
|
active = false
|
|
29091
29145
|
} = props;
|
|
29092
29146
|
const tid = useTestIds(props, "trigger");
|
|
29093
|
-
const ref = (0,
|
|
29147
|
+
const ref = (0, import_react149.useRef)(null);
|
|
29094
29148
|
const {
|
|
29095
29149
|
buttonProps,
|
|
29096
29150
|
isPressed
|
|
@@ -29111,7 +29165,7 @@ function AppNavGroupTrigger(props) {
|
|
|
29111
29165
|
focusRingStyles: focusRingStyles2,
|
|
29112
29166
|
hoverStyles: hoverStyles4,
|
|
29113
29167
|
pressedStyles: pressedStyles2
|
|
29114
|
-
} = (0,
|
|
29168
|
+
} = (0, import_react149.useMemo)(() => getNavLinkStyles("side"), []);
|
|
29115
29169
|
return /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)("button", { type: "button", ...(0, import_react_aria68.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
29116
29170
|
ref,
|
|
29117
29171
|
"aria-expanded": expanded,
|
|
@@ -29249,7 +29303,7 @@ function entryHasIcons(item) {
|
|
|
29249
29303
|
}
|
|
29250
29304
|
|
|
29251
29305
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
29252
|
-
var
|
|
29306
|
+
var import_react150 = require("react");
|
|
29253
29307
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
29254
29308
|
function loadStored() {
|
|
29255
29309
|
try {
|
|
@@ -29268,13 +29322,13 @@ function persistLabel(label, expanded) {
|
|
|
29268
29322
|
}
|
|
29269
29323
|
function useAppNavGroupExpanded(linkGroup) {
|
|
29270
29324
|
const { label } = linkGroup;
|
|
29271
|
-
const [userExpanded, setUserExpanded] = (0,
|
|
29325
|
+
const [userExpanded, setUserExpanded] = (0, import_react150.useState)(() => {
|
|
29272
29326
|
const stored = loadStored();
|
|
29273
29327
|
return label in stored ? stored[label] : null;
|
|
29274
29328
|
});
|
|
29275
29329
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
29276
29330
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
29277
|
-
const onToggle = (0,
|
|
29331
|
+
const onToggle = (0, import_react150.useCallback)(() => {
|
|
29278
29332
|
const next = !expanded;
|
|
29279
29333
|
setUserExpanded(next);
|
|
29280
29334
|
persistLabel(label, next);
|
|
@@ -29309,15 +29363,15 @@ function AppNavGroupDisclosure(props) {
|
|
|
29309
29363
|
} = useAppNavGroupExpanded(linkGroup);
|
|
29310
29364
|
const tid = useTestIds(props, "linkGroup");
|
|
29311
29365
|
const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
|
|
29312
|
-
const [contentEl, setContentEl] = (0,
|
|
29313
|
-
const contentRef = (0,
|
|
29366
|
+
const [contentEl, setContentEl] = (0, import_react151.useState)(null);
|
|
29367
|
+
const contentRef = (0, import_react151.useMemo)(() => ({
|
|
29314
29368
|
current: contentEl
|
|
29315
29369
|
}), [contentEl]);
|
|
29316
|
-
const [contentHeight, setContentHeight] = (0,
|
|
29317
|
-
(0,
|
|
29370
|
+
const [contentHeight, setContentHeight] = (0, import_react151.useState)(expanded ? "auto" : "0");
|
|
29371
|
+
(0, import_react151.useEffect)(() => {
|
|
29318
29372
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
29319
29373
|
}, [expanded, contentEl]);
|
|
29320
|
-
const onResize = (0,
|
|
29374
|
+
const onResize = (0, import_react151.useCallback)(() => {
|
|
29321
29375
|
if (contentEl && expanded) {
|
|
29322
29376
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
29323
29377
|
}
|
|
@@ -29463,7 +29517,7 @@ function AppNavItems(props) {
|
|
|
29463
29517
|
}
|
|
29464
29518
|
|
|
29465
29519
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
29466
|
-
var
|
|
29520
|
+
var import_react152 = require("react");
|
|
29467
29521
|
var import_jsx_runtime222 = require("react/jsx-runtime");
|
|
29468
29522
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
29469
29523
|
function loadStoredNavState() {
|
|
@@ -29486,20 +29540,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
29486
29540
|
}
|
|
29487
29541
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
29488
29542
|
}
|
|
29489
|
-
var SideNavLayoutContext = (0,
|
|
29543
|
+
var SideNavLayoutContext = (0, import_react152.createContext)(void 0);
|
|
29490
29544
|
function SideNavLayoutProvider(props) {
|
|
29491
|
-
const [navState, setNavStateInternal] = (0,
|
|
29545
|
+
const [navState, setNavStateInternal] = (0, import_react152.useState)(
|
|
29492
29546
|
() => resolveInitialNavState(props.defaultNavState)
|
|
29493
29547
|
);
|
|
29494
29548
|
const bp = useBreakpoint();
|
|
29495
|
-
const prevMdAndUp = (0,
|
|
29496
|
-
(0,
|
|
29549
|
+
const prevMdAndUp = (0, import_react152.useRef)(bp.mdAndUp);
|
|
29550
|
+
(0, import_react152.useEffect)(() => {
|
|
29497
29551
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
29498
29552
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
29499
29553
|
}
|
|
29500
29554
|
prevMdAndUp.current = bp.mdAndUp;
|
|
29501
29555
|
}, [bp.mdAndUp]);
|
|
29502
|
-
const setNavState = (0,
|
|
29556
|
+
const setNavState = (0, import_react152.useCallback)((value2) => {
|
|
29503
29557
|
setNavStateInternal((prev) => {
|
|
29504
29558
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
29505
29559
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -29511,15 +29565,15 @@ function SideNavLayoutProvider(props) {
|
|
|
29511
29565
|
return next;
|
|
29512
29566
|
});
|
|
29513
29567
|
}, []);
|
|
29514
|
-
const value = (0,
|
|
29568
|
+
const value = (0, import_react152.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
29515
29569
|
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
29516
29570
|
}
|
|
29517
29571
|
function useSideNavLayoutContext() {
|
|
29518
|
-
return (0,
|
|
29572
|
+
return (0, import_react152.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
29519
29573
|
} };
|
|
29520
29574
|
}
|
|
29521
29575
|
function useHasSideNavLayoutProvider() {
|
|
29522
|
-
return (0,
|
|
29576
|
+
return (0, import_react152.useContext)(SideNavLayoutContext) !== void 0;
|
|
29523
29577
|
}
|
|
29524
29578
|
|
|
29525
29579
|
// src/components/SideNav/SideNav.tsx
|
|
@@ -29580,11 +29634,11 @@ function SideNav(props) {
|
|
|
29580
29634
|
}
|
|
29581
29635
|
|
|
29582
29636
|
// src/components/Stepper.tsx
|
|
29583
|
-
var
|
|
29637
|
+
var import_react153 = require("react");
|
|
29584
29638
|
var import_react_aria69 = require("react-aria");
|
|
29585
29639
|
var import_runtime147 = require("@homebound/truss/runtime");
|
|
29586
29640
|
var import_jsx_runtime224 = require("react/jsx-runtime");
|
|
29587
|
-
var
|
|
29641
|
+
var import_react154 = require("react");
|
|
29588
29642
|
var __maybeInc26 = (inc) => {
|
|
29589
29643
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
29590
29644
|
};
|
|
@@ -29613,7 +29667,7 @@ function Stepper(props) {
|
|
|
29613
29667
|
}]
|
|
29614
29668
|
}), children: steps.map((step) => {
|
|
29615
29669
|
const isCurrent = currentStep === step.value;
|
|
29616
|
-
return /* @__PURE__ */ (0,
|
|
29670
|
+
return /* @__PURE__ */ (0, import_react154.createElement)("li", { ...(0, import_runtime147.trussProps)({
|
|
29617
29671
|
display: "df",
|
|
29618
29672
|
flexGrow: "fg1",
|
|
29619
29673
|
flexDirection: "fdc",
|
|
@@ -29662,7 +29716,7 @@ function StepButton(props) {
|
|
|
29662
29716
|
onPress: onClick,
|
|
29663
29717
|
isDisabled: disabled
|
|
29664
29718
|
};
|
|
29665
|
-
const ref = (0,
|
|
29719
|
+
const ref = (0, import_react153.useRef)(null);
|
|
29666
29720
|
const {
|
|
29667
29721
|
buttonProps,
|
|
29668
29722
|
isPressed
|
|
@@ -29772,7 +29826,7 @@ function StepIcon({
|
|
|
29772
29826
|
}
|
|
29773
29827
|
|
|
29774
29828
|
// src/components/StepperTabs/StepperTab.tsx
|
|
29775
|
-
var
|
|
29829
|
+
var import_react155 = require("react");
|
|
29776
29830
|
var import_react_aria70 = require("react-aria");
|
|
29777
29831
|
var import_runtime148 = require("@homebound/truss/runtime");
|
|
29778
29832
|
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
@@ -29791,7 +29845,7 @@ function StepperTab(props) {
|
|
|
29791
29845
|
onPress: () => onClick(value),
|
|
29792
29846
|
isDisabled: disabled || collapsed
|
|
29793
29847
|
};
|
|
29794
|
-
const ref = (0,
|
|
29848
|
+
const ref = (0, import_react155.useRef)(null);
|
|
29795
29849
|
const {
|
|
29796
29850
|
buttonProps
|
|
29797
29851
|
} = (0, import_react_aria70.useButton)(ariaProps, ref);
|
|
@@ -29928,7 +29982,7 @@ var stepperTabStyles = {
|
|
|
29928
29982
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
29929
29983
|
var import_runtime149 = require("@homebound/truss/runtime");
|
|
29930
29984
|
var import_jsx_runtime226 = require("react/jsx-runtime");
|
|
29931
|
-
var
|
|
29985
|
+
var import_react156 = require("react");
|
|
29932
29986
|
function StepperTabs(props) {
|
|
29933
29987
|
const {
|
|
29934
29988
|
steps,
|
|
@@ -29958,7 +30012,7 @@ function StepperTabs(props) {
|
|
|
29958
30012
|
}), children: steps.map((step, idx) => {
|
|
29959
30013
|
const isCurrent = idx === currentStepIndex;
|
|
29960
30014
|
const isCompleted = idx < currentStepIndex;
|
|
29961
|
-
return /* @__PURE__ */ (0,
|
|
30015
|
+
return /* @__PURE__ */ (0, import_react156.createElement)("li", { ...(0, import_runtime149.trussProps)({
|
|
29962
30016
|
display: "df",
|
|
29963
30017
|
flexGrow: "fg1",
|
|
29964
30018
|
flexBasis: "fb_0",
|
|
@@ -30192,7 +30246,7 @@ function segmentWidth(count, total) {
|
|
|
30192
30246
|
}
|
|
30193
30247
|
|
|
30194
30248
|
// src/components/TableSummary/TableSummary.tsx
|
|
30195
|
-
var
|
|
30249
|
+
var import_react157 = require("react");
|
|
30196
30250
|
var import_react_aria71 = require("react-aria");
|
|
30197
30251
|
var import_runtime153 = require("@homebound/truss/runtime");
|
|
30198
30252
|
var import_jsx_runtime231 = require("react/jsx-runtime");
|
|
@@ -30252,7 +30306,7 @@ function MetricButton(props) {
|
|
|
30252
30306
|
metric,
|
|
30253
30307
|
divider
|
|
30254
30308
|
} = props;
|
|
30255
|
-
const ref = (0,
|
|
30309
|
+
const ref = (0, import_react157.useRef)(null);
|
|
30256
30310
|
const {
|
|
30257
30311
|
buttonProps
|
|
30258
30312
|
} = (0, import_react_aria71.useButton)({
|
|
@@ -30329,7 +30383,7 @@ function MetricButton(props) {
|
|
|
30329
30383
|
|
|
30330
30384
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
30331
30385
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
30332
|
-
var
|
|
30386
|
+
var import_react159 = require("react");
|
|
30333
30387
|
|
|
30334
30388
|
// src/utils/inlineStyles.ts
|
|
30335
30389
|
function isInlineStyleValue(value) {
|
|
@@ -30358,14 +30412,14 @@ function restoreElementStyle(el, snapshot) {
|
|
|
30358
30412
|
}
|
|
30359
30413
|
|
|
30360
30414
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
30361
|
-
var
|
|
30362
|
-
var DnDGridContext = (0,
|
|
30415
|
+
var import_react158 = require("react");
|
|
30416
|
+
var DnDGridContext = (0, import_react158.createContext)({
|
|
30363
30417
|
dragEl: { current: void 0 },
|
|
30364
30418
|
onDragHandleKeyDown: () => {
|
|
30365
30419
|
}
|
|
30366
30420
|
});
|
|
30367
30421
|
function useDnDGridContext() {
|
|
30368
|
-
return (0,
|
|
30422
|
+
return (0, import_react158.useContext)(DnDGridContext);
|
|
30369
30423
|
}
|
|
30370
30424
|
|
|
30371
30425
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
@@ -30379,13 +30433,13 @@ function DnDGrid(props) {
|
|
|
30379
30433
|
activeItemStyles,
|
|
30380
30434
|
lockAxis
|
|
30381
30435
|
} = props;
|
|
30382
|
-
const gridEl = (0,
|
|
30383
|
-
const dragEl = (0,
|
|
30384
|
-
const cloneEl = (0,
|
|
30385
|
-
const initialOrder = (0,
|
|
30386
|
-
const styleSnapshot = (0,
|
|
30387
|
-
const reorderViaKeyboard = (0,
|
|
30388
|
-
const transformFrom = (0,
|
|
30436
|
+
const gridEl = (0, import_react159.useRef)(null);
|
|
30437
|
+
const dragEl = (0, import_react159.useRef)(void 0);
|
|
30438
|
+
const cloneEl = (0, import_react159.useRef)(void 0);
|
|
30439
|
+
const initialOrder = (0, import_react159.useRef)(void 0);
|
|
30440
|
+
const styleSnapshot = (0, import_react159.useRef)(void 0);
|
|
30441
|
+
const reorderViaKeyboard = (0, import_react159.useRef)(false);
|
|
30442
|
+
const transformFrom = (0, import_react159.useRef)({
|
|
30389
30443
|
x: 0,
|
|
30390
30444
|
y: 0
|
|
30391
30445
|
});
|
|
@@ -30393,20 +30447,20 @@ function DnDGrid(props) {
|
|
|
30393
30447
|
const activeStyles3 = activeItemStyles ?? {
|
|
30394
30448
|
boxShadow: "bshModal"
|
|
30395
30449
|
};
|
|
30396
|
-
const getGridItems = (0,
|
|
30450
|
+
const getGridItems = (0, import_react159.useCallback)(() => {
|
|
30397
30451
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
30398
30452
|
}, []);
|
|
30399
|
-
const getGridItemIdOrder = (0,
|
|
30453
|
+
const getGridItemIdOrder = (0, import_react159.useCallback)(() => {
|
|
30400
30454
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
30401
30455
|
}, [getGridItems]);
|
|
30402
|
-
const initReorder = (0,
|
|
30456
|
+
const initReorder = (0, import_react159.useCallback)(() => {
|
|
30403
30457
|
if (gridEl.current && dragEl.current) {
|
|
30404
30458
|
initialOrder.current = getGridItemIdOrder();
|
|
30405
30459
|
styleSnapshot.current = snapshotElementStyle(dragEl.current);
|
|
30406
30460
|
applyActiveStyles(dragEl.current, activeStyles3);
|
|
30407
30461
|
}
|
|
30408
30462
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
30409
|
-
const commitReorder = (0,
|
|
30463
|
+
const commitReorder = (0, import_react159.useCallback)(() => {
|
|
30410
30464
|
if (gridEl.current && dragEl.current) {
|
|
30411
30465
|
const currentOrder = getGridItemIdOrder();
|
|
30412
30466
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -30416,7 +30470,7 @@ function DnDGrid(props) {
|
|
|
30416
30470
|
initialOrder.current = currentOrder;
|
|
30417
30471
|
}
|
|
30418
30472
|
}, [onReorder, getGridItemIdOrder]);
|
|
30419
|
-
const cancelReorder = (0,
|
|
30473
|
+
const cancelReorder = (0, import_react159.useCallback)(() => {
|
|
30420
30474
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
30421
30475
|
const currentOrder = getGridItemIdOrder();
|
|
30422
30476
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -30438,7 +30492,7 @@ function DnDGrid(props) {
|
|
|
30438
30492
|
reorderViaKeyboard.current = false;
|
|
30439
30493
|
}
|
|
30440
30494
|
}, [getGridItemIdOrder, getGridItems]);
|
|
30441
|
-
const onMove = (0,
|
|
30495
|
+
const onMove = (0, import_react159.useCallback)((e) => {
|
|
30442
30496
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
30443
30497
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
30444
30498
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -30461,7 +30515,7 @@ function DnDGrid(props) {
|
|
|
30461
30515
|
}
|
|
30462
30516
|
}
|
|
30463
30517
|
}, [lockAxis]);
|
|
30464
|
-
const onDragEnd = (0,
|
|
30518
|
+
const onDragEnd = (0, import_react159.useCallback)((e) => {
|
|
30465
30519
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
30466
30520
|
e.preventDefault();
|
|
30467
30521
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -30472,7 +30526,7 @@ function DnDGrid(props) {
|
|
|
30472
30526
|
removePointerDragListeners(onMove, onDragEnd);
|
|
30473
30527
|
}
|
|
30474
30528
|
}, [commitReorder, onMove]);
|
|
30475
|
-
const onDragStart = (0,
|
|
30529
|
+
const onDragStart = (0, import_react159.useCallback)((e) => {
|
|
30476
30530
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
30477
30531
|
const rect = dragEl.current.getBoundingClientRect();
|
|
30478
30532
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
@@ -30500,10 +30554,10 @@ function DnDGrid(props) {
|
|
|
30500
30554
|
addPointerDragListeners(onMove, onDragEnd);
|
|
30501
30555
|
}
|
|
30502
30556
|
}, [initReorder, onMove, onDragEnd]);
|
|
30503
|
-
(0,
|
|
30557
|
+
(0, import_react159.useEffect)(() => {
|
|
30504
30558
|
return () => removePointerDragListeners(onMove, onDragEnd);
|
|
30505
30559
|
}, [onMove, onDragEnd]);
|
|
30506
|
-
const onDragHandleKeyDown = (0,
|
|
30560
|
+
const onDragHandleKeyDown = (0, import_react159.useCallback)((e) => {
|
|
30507
30561
|
const moveHandle = e.target;
|
|
30508
30562
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
30509
30563
|
const isSpaceKey = e.key === " ";
|
|
@@ -30644,11 +30698,11 @@ function DnDGridItemHandle(props) {
|
|
|
30644
30698
|
}
|
|
30645
30699
|
|
|
30646
30700
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
30647
|
-
var
|
|
30701
|
+
var import_react160 = require("react");
|
|
30648
30702
|
function useDnDGridItem(props) {
|
|
30649
30703
|
const { id, itemRef } = props;
|
|
30650
30704
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
30651
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
30705
|
+
const { dragItemProps, dragHandleProps } = (0, import_react160.useMemo)(() => {
|
|
30652
30706
|
function initDraggable() {
|
|
30653
30707
|
if (itemRef.current) {
|
|
30654
30708
|
dragEl.current = itemRef.current;
|
|
@@ -31186,10 +31240,10 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
31186
31240
|
};
|
|
31187
31241
|
|
|
31188
31242
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
31189
|
-
var
|
|
31243
|
+
var import_react163 = require("react");
|
|
31190
31244
|
|
|
31191
31245
|
// src/components/Grid/useResponsiveGrid.ts
|
|
31192
|
-
var
|
|
31246
|
+
var import_react161 = require("react");
|
|
31193
31247
|
var import_runtime156 = require("@homebound/truss/runtime");
|
|
31194
31248
|
var __maybeInc28 = (inc) => {
|
|
31195
31249
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -31200,7 +31254,7 @@ function useResponsiveGrid(props) {
|
|
|
31200
31254
|
gap,
|
|
31201
31255
|
columns
|
|
31202
31256
|
} = props;
|
|
31203
|
-
const gridStyles = (0,
|
|
31257
|
+
const gridStyles = (0, import_react161.useMemo)(() => {
|
|
31204
31258
|
const gapCount = columns - 1;
|
|
31205
31259
|
const totalGapWidth = gap * gapCount;
|
|
31206
31260
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -31223,9 +31277,9 @@ function useResponsiveGrid(props) {
|
|
|
31223
31277
|
}
|
|
31224
31278
|
|
|
31225
31279
|
// src/components/Grid/utils.ts
|
|
31226
|
-
var
|
|
31280
|
+
var import_react162 = require("react");
|
|
31227
31281
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
31228
|
-
var ResponsiveGridContext = (0,
|
|
31282
|
+
var ResponsiveGridContext = (0, import_react162.createContext)(void 0);
|
|
31229
31283
|
|
|
31230
31284
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
31231
31285
|
var import_runtime157 = require("@homebound/truss/runtime");
|
|
@@ -31244,7 +31298,7 @@ function ResponsiveGrid(props) {
|
|
|
31244
31298
|
gap,
|
|
31245
31299
|
columns
|
|
31246
31300
|
});
|
|
31247
|
-
const config = (0,
|
|
31301
|
+
const config = (0, import_react163.useMemo)(() => ({
|
|
31248
31302
|
minColumnWidth,
|
|
31249
31303
|
gap,
|
|
31250
31304
|
columns
|
|
@@ -31257,14 +31311,14 @@ var import_react_aria73 = require("react-aria");
|
|
|
31257
31311
|
var import_runtime158 = require("@homebound/truss/runtime");
|
|
31258
31312
|
|
|
31259
31313
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
31260
|
-
var
|
|
31314
|
+
var import_react164 = require("react");
|
|
31261
31315
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
31262
31316
|
var responsiveGridStyleEl;
|
|
31263
31317
|
function useResponsiveGridItem(props) {
|
|
31264
31318
|
const { colSpan = 1, gridConfig } = props;
|
|
31265
|
-
const contextConfig = (0,
|
|
31319
|
+
const contextConfig = (0, import_react164.useContext)(ResponsiveGridContext);
|
|
31266
31320
|
const config = gridConfig ?? contextConfig;
|
|
31267
|
-
const { className, cssText } = (0,
|
|
31321
|
+
const { className, cssText } = (0, import_react164.useMemo)(() => {
|
|
31268
31322
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
31269
31323
|
const { minColumnWidth, gap } = config;
|
|
31270
31324
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -31287,7 +31341,7 @@ function useResponsiveGridItem(props) {
|
|
|
31287
31341
|
};
|
|
31288
31342
|
}
|
|
31289
31343
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
31290
|
-
(0,
|
|
31344
|
+
(0, import_react164.useEffect)(
|
|
31291
31345
|
function() {
|
|
31292
31346
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
31293
31347
|
if (!responsiveGridStyleEl) {
|
|
@@ -31325,7 +31379,7 @@ function ResponsiveGridItem(props) {
|
|
|
31325
31379
|
}
|
|
31326
31380
|
|
|
31327
31381
|
// src/components/HbLoadingSpinner.tsx
|
|
31328
|
-
var
|
|
31382
|
+
var import_react165 = __toESM(require("react"), 1);
|
|
31329
31383
|
|
|
31330
31384
|
// src/components/HbLoadingSpinner.base64.ts
|
|
31331
31385
|
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";
|
|
@@ -31338,9 +31392,9 @@ function HbLoadingSpinner({
|
|
|
31338
31392
|
extraQuipsOnly,
|
|
31339
31393
|
iconOnly
|
|
31340
31394
|
}) {
|
|
31341
|
-
const ctx = (0,
|
|
31395
|
+
const ctx = (0, import_react165.useContext)(HbLoadingSpinnerContext);
|
|
31342
31396
|
const tid = useTestIds({}, "hbSpinner");
|
|
31343
|
-
const quip = (0,
|
|
31397
|
+
const quip = (0, import_react165.useMemo)(() => {
|
|
31344
31398
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
31345
31399
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
31346
31400
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
@@ -31370,7 +31424,7 @@ function HbLoadingSpinner({
|
|
|
31370
31424
|
var dotDotDot = (str) => str.concat("...");
|
|
31371
31425
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
31372
31426
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
31373
|
-
var HbLoadingSpinnerContext =
|
|
31427
|
+
var HbLoadingSpinnerContext = import_react165.default.createContext({
|
|
31374
31428
|
quips: ["Loading..."],
|
|
31375
31429
|
noQuips: false
|
|
31376
31430
|
});
|
|
@@ -31378,7 +31432,7 @@ function HbSpinnerProvider({
|
|
|
31378
31432
|
quips = [],
|
|
31379
31433
|
children
|
|
31380
31434
|
}) {
|
|
31381
|
-
const state = (0,
|
|
31435
|
+
const state = (0, import_react165.useMemo)(() => ({
|
|
31382
31436
|
quips,
|
|
31383
31437
|
noQuips: quips.length === 0
|
|
31384
31438
|
}), [quips]);
|
|
@@ -31386,12 +31440,12 @@ function HbSpinnerProvider({
|
|
|
31386
31440
|
}
|
|
31387
31441
|
|
|
31388
31442
|
// src/components/Modal/OpenModal.tsx
|
|
31389
|
-
var
|
|
31443
|
+
var import_react166 = require("react");
|
|
31390
31444
|
var import_jsx_runtime246 = require("react/jsx-runtime");
|
|
31391
31445
|
function OpenModal(props) {
|
|
31392
31446
|
const { openModal } = useModal();
|
|
31393
31447
|
const { size, children, keepOpen, aiMode } = props;
|
|
31394
|
-
(0,
|
|
31448
|
+
(0, import_react166.useEffect)(() => {
|
|
31395
31449
|
if (!keepOpen) {
|
|
31396
31450
|
openModal({ size, content: children, aiMode });
|
|
31397
31451
|
}
|
|
@@ -31405,33 +31459,33 @@ function OpenModal(props) {
|
|
|
31405
31459
|
|
|
31406
31460
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
31407
31461
|
var import_framer_motion7 = require("framer-motion");
|
|
31408
|
-
var
|
|
31462
|
+
var import_react168 = require("react");
|
|
31409
31463
|
var import_react_aria74 = require("react-aria");
|
|
31410
31464
|
var import_react_dom11 = require("react-dom");
|
|
31411
31465
|
var import_react_router_dom7 = require("react-router-dom");
|
|
31412
31466
|
|
|
31413
31467
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
31414
|
-
var
|
|
31468
|
+
var import_react167 = require("react");
|
|
31415
31469
|
var import_jsx_runtime247 = require("react/jsx-runtime");
|
|
31416
|
-
var MobileSubNavContext = (0,
|
|
31470
|
+
var MobileSubNavContext = (0, import_react167.createContext)(void 0);
|
|
31417
31471
|
function MobileSubNavProvider(props) {
|
|
31418
|
-
const [mobileSubNav, setMobileSubNav] = (0,
|
|
31419
|
-
const value = (0,
|
|
31472
|
+
const [mobileSubNav, setMobileSubNav] = (0, import_react167.useState)(null);
|
|
31473
|
+
const value = (0, import_react167.useMemo)(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
31420
31474
|
return /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(MobileSubNavContext.Provider, { value, children: props.children });
|
|
31421
31475
|
}
|
|
31422
31476
|
function useMobileSubNav() {
|
|
31423
|
-
return (0,
|
|
31477
|
+
return (0, import_react167.useContext)(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
31424
31478
|
}
|
|
31425
31479
|
function useRegisterMobileSubNav(content2) {
|
|
31426
|
-
const ctx = (0,
|
|
31480
|
+
const ctx = (0, import_react167.useContext)(MobileSubNavContext);
|
|
31427
31481
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
31428
31482
|
const enabled = !useBreakpoint().mdAndUp;
|
|
31429
31483
|
const { top, items, footer } = content2;
|
|
31430
|
-
(0,
|
|
31484
|
+
(0, import_react167.useLayoutEffect)(() => {
|
|
31431
31485
|
if (!setMobileSubNav || !enabled) return;
|
|
31432
31486
|
setMobileSubNav({ top, items, footer });
|
|
31433
31487
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
31434
|
-
(0,
|
|
31488
|
+
(0, import_react167.useLayoutEffect)(() => {
|
|
31435
31489
|
if (!setMobileSubNav || !enabled) return;
|
|
31436
31490
|
return () => setMobileSubNav(null);
|
|
31437
31491
|
}, [setMobileSubNav, enabled]);
|
|
@@ -31446,8 +31500,8 @@ function NavbarMobileMenu(props) {
|
|
|
31446
31500
|
items
|
|
31447
31501
|
} = props;
|
|
31448
31502
|
const tid = useTestIds(props, "navbar");
|
|
31449
|
-
const [isOpen2, setIsOpen] = (0,
|
|
31450
|
-
const [level, setLevel] = (0,
|
|
31503
|
+
const [isOpen2, setIsOpen] = (0, import_react168.useState)(false);
|
|
31504
|
+
const [level, setLevel] = (0, import_react168.useState)("sub");
|
|
31451
31505
|
const {
|
|
31452
31506
|
pathname,
|
|
31453
31507
|
search
|
|
@@ -31457,7 +31511,7 @@ function NavbarMobileMenu(props) {
|
|
|
31457
31511
|
isDisabled: !isOpen2
|
|
31458
31512
|
});
|
|
31459
31513
|
const close = () => setIsOpen(false);
|
|
31460
|
-
(0,
|
|
31514
|
+
(0, import_react168.useEffect)(() => {
|
|
31461
31515
|
close();
|
|
31462
31516
|
}, [pathname, search]);
|
|
31463
31517
|
return /* @__PURE__ */ (0, import_jsx_runtime248.jsxs)(import_jsx_runtime248.Fragment, { children: [
|
|
@@ -31606,12 +31660,12 @@ function NavbarMobileDrawer({
|
|
|
31606
31660
|
}
|
|
31607
31661
|
|
|
31608
31662
|
// src/hooks/useContentOverflow.ts
|
|
31609
|
-
var
|
|
31663
|
+
var import_react169 = require("react");
|
|
31610
31664
|
function useContentOverflow(enabled = true) {
|
|
31611
|
-
const containerRef = (0,
|
|
31612
|
-
const contentRef = (0,
|
|
31613
|
-
const [overflows, setOverflows] = (0,
|
|
31614
|
-
const checkContentOverflow = (0,
|
|
31665
|
+
const containerRef = (0, import_react169.useRef)(null);
|
|
31666
|
+
const contentRef = (0, import_react169.useRef)(null);
|
|
31667
|
+
const [overflows, setOverflows] = (0, import_react169.useState)(false);
|
|
31668
|
+
const checkContentOverflow = (0, import_react169.useCallback)(() => {
|
|
31615
31669
|
const container = containerRef.current;
|
|
31616
31670
|
const content2 = contentRef.current;
|
|
31617
31671
|
if (!enabled || !container || !content2) {
|
|
@@ -31620,7 +31674,7 @@ function useContentOverflow(enabled = true) {
|
|
|
31620
31674
|
}
|
|
31621
31675
|
setOverflows(content2.offsetWidth > container.clientWidth);
|
|
31622
31676
|
}, [enabled]);
|
|
31623
|
-
(0,
|
|
31677
|
+
(0, import_react169.useLayoutEffect)(() => {
|
|
31624
31678
|
checkContentOverflow();
|
|
31625
31679
|
window.addEventListener("resize", checkContentOverflow);
|
|
31626
31680
|
return () => window.removeEventListener("resize", checkContentOverflow);
|
|
@@ -31707,10 +31761,10 @@ function NavbarUserMenu({
|
|
|
31707
31761
|
}
|
|
31708
31762
|
|
|
31709
31763
|
// src/components/Snackbar/useSnackbar.tsx
|
|
31710
|
-
var
|
|
31764
|
+
var import_react170 = require("react");
|
|
31711
31765
|
function useSnackbar() {
|
|
31712
31766
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
31713
|
-
const onClose = (0,
|
|
31767
|
+
const onClose = (0, import_react170.useCallback)(
|
|
31714
31768
|
(noticeId) => {
|
|
31715
31769
|
setNotices((prev) => {
|
|
31716
31770
|
let returnValue = prev;
|
|
@@ -31727,7 +31781,7 @@ function useSnackbar() {
|
|
|
31727
31781
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31728
31782
|
[]
|
|
31729
31783
|
);
|
|
31730
|
-
const triggerNotice = (0,
|
|
31784
|
+
const triggerNotice = (0, import_react170.useCallback)(
|
|
31731
31785
|
(props) => {
|
|
31732
31786
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
31733
31787
|
let maybeTimeout;
|
|
@@ -31756,8 +31810,8 @@ function useSnackbar() {
|
|
|
31756
31810
|
},
|
|
31757
31811
|
[onClose, setNotices]
|
|
31758
31812
|
);
|
|
31759
|
-
const closeNotice = (0,
|
|
31760
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
31813
|
+
const closeNotice = (0, import_react170.useCallback)((id) => onClose(id), [onClose]);
|
|
31814
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react170.useEffect)(() => {
|
|
31761
31815
|
setOffset({ bottom });
|
|
31762
31816
|
return () => setOffset({});
|
|
31763
31817
|
}, [bottom]);
|
|
@@ -31806,7 +31860,7 @@ function simpleDataRows(data = []) {
|
|
|
31806
31860
|
|
|
31807
31861
|
// src/components/Tabs.tsx
|
|
31808
31862
|
var import_change_case9 = require("change-case");
|
|
31809
|
-
var
|
|
31863
|
+
var import_react171 = require("react");
|
|
31810
31864
|
var import_react_aria75 = require("react-aria");
|
|
31811
31865
|
var import_react_router = require("react-router");
|
|
31812
31866
|
var import_react_router_dom8 = require("react-router-dom");
|
|
@@ -31886,9 +31940,9 @@ function Tabs(props) {
|
|
|
31886
31940
|
focusProps
|
|
31887
31941
|
} = (0, import_react_aria75.useFocusRing)();
|
|
31888
31942
|
const tid = useTestIds(others, "tabs");
|
|
31889
|
-
const [active, setActive] = (0,
|
|
31890
|
-
const ref = (0,
|
|
31891
|
-
(0,
|
|
31943
|
+
const [active, setActive] = (0, import_react171.useState)(selected);
|
|
31944
|
+
const ref = (0, import_react171.useRef)(null);
|
|
31945
|
+
(0, import_react171.useEffect)(() => setActive(selected), [selected]);
|
|
31892
31946
|
function onKeyUp(e) {
|
|
31893
31947
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
31894
31948
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -31963,7 +32017,7 @@ function TabImpl(props) {
|
|
|
31963
32017
|
activeHoverStyles,
|
|
31964
32018
|
aiStyles,
|
|
31965
32019
|
activeAiStyles
|
|
31966
|
-
} = (0,
|
|
32020
|
+
} = (0, import_react171.useMemo)(() => getTabStyles(), []);
|
|
31967
32021
|
const uniqueValue = uniqueTabValue(tab);
|
|
31968
32022
|
const tid = useTestIds(others);
|
|
31969
32023
|
const tabProps = {
|
|
@@ -32123,10 +32177,10 @@ function hideTabs(props) {
|
|
|
32123
32177
|
}
|
|
32124
32178
|
|
|
32125
32179
|
// src/components/Toast/useToast.tsx
|
|
32126
|
-
var
|
|
32180
|
+
var import_react172 = require("react");
|
|
32127
32181
|
function useToast() {
|
|
32128
32182
|
const { setNotice, clear } = useToastContext();
|
|
32129
|
-
const showToast = (0,
|
|
32183
|
+
const showToast = (0, import_react172.useCallback)((props) => setNotice(props), [setNotice]);
|
|
32130
32184
|
return { showToast, clear };
|
|
32131
32185
|
}
|
|
32132
32186
|
|
|
@@ -32371,7 +32425,7 @@ var import_react_stately19 = require("react-stately");
|
|
|
32371
32425
|
var import_runtime167 = require("@homebound/truss/runtime");
|
|
32372
32426
|
|
|
32373
32427
|
// src/forms/FormSection/FormSectionChild.tsx
|
|
32374
|
-
var
|
|
32428
|
+
var import_react173 = require("react");
|
|
32375
32429
|
var import_react_aria76 = require("react-aria");
|
|
32376
32430
|
var import_runtime166 = require("@homebound/truss/runtime");
|
|
32377
32431
|
var import_jsx_runtime255 = require("react/jsx-runtime");
|
|
@@ -32388,7 +32442,7 @@ function FormSectionChild(props) {
|
|
|
32388
32442
|
group
|
|
32389
32443
|
} = props;
|
|
32390
32444
|
const tid = useTestIds(props, "formSectionChild");
|
|
32391
|
-
const itemRef = (0,
|
|
32445
|
+
const itemRef = (0, import_react173.useRef)(null);
|
|
32392
32446
|
const isDraggable = !!orderField;
|
|
32393
32447
|
const {
|
|
32394
32448
|
dragItemProps,
|
|
@@ -32430,7 +32484,7 @@ function FormSectionChildRadio(props) {
|
|
|
32430
32484
|
value,
|
|
32431
32485
|
label
|
|
32432
32486
|
} = props;
|
|
32433
|
-
const ref = (0,
|
|
32487
|
+
const ref = (0, import_react173.useRef)(null);
|
|
32434
32488
|
const {
|
|
32435
32489
|
inputProps,
|
|
32436
32490
|
isDisabled,
|
|
@@ -32456,7 +32510,7 @@ function FormSectionChildCheckbox(props) {
|
|
|
32456
32510
|
value,
|
|
32457
32511
|
label
|
|
32458
32512
|
} = props;
|
|
32459
|
-
const ref = (0,
|
|
32513
|
+
const ref = (0, import_react173.useRef)(null);
|
|
32460
32514
|
const {
|
|
32461
32515
|
inputProps,
|
|
32462
32516
|
isDisabled,
|
|
@@ -32649,12 +32703,12 @@ var railAndShellPx = centeredShellMaxPx.sm + jumpLinksRailWidthPx;
|
|
|
32649
32703
|
var jumpLinksRailReservation = `clamp(0px, 100% - ${railAndShellPx}px, ${jumpLinksRailWidthPx}px)`;
|
|
32650
32704
|
|
|
32651
32705
|
// src/layouts/FormSectionLayout/useActiveJumpLink.ts
|
|
32652
|
-
var
|
|
32706
|
+
var import_react174 = require("react");
|
|
32653
32707
|
var activationLeadPx = 120;
|
|
32654
32708
|
function useActiveJumpLink(sectionIds) {
|
|
32655
32709
|
const idsKey = sectionIds.join("\0");
|
|
32656
|
-
const [activeId, setActiveId] = (0,
|
|
32657
|
-
(0,
|
|
32710
|
+
const [activeId, setActiveId] = (0, import_react174.useState)(sectionIds[0]);
|
|
32711
|
+
(0, import_react174.useLayoutEffect)(() => {
|
|
32658
32712
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
32659
32713
|
if (ids.length === 0) return;
|
|
32660
32714
|
const update = () => {
|
|
@@ -32756,7 +32810,7 @@ function FormSectionLayout(props) {
|
|
|
32756
32810
|
}
|
|
32757
32811
|
|
|
32758
32812
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
32759
|
-
var
|
|
32813
|
+
var import_react175 = require("react");
|
|
32760
32814
|
|
|
32761
32815
|
// src/layouts/PageBanner/pageBannerStore.ts
|
|
32762
32816
|
var current;
|
|
@@ -32793,13 +32847,13 @@ function clearPageBanner(id) {
|
|
|
32793
32847
|
|
|
32794
32848
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
32795
32849
|
function usePageBanner(banner) {
|
|
32796
|
-
const id = (0,
|
|
32797
|
-
(0,
|
|
32850
|
+
const id = (0, import_react175.useId)();
|
|
32851
|
+
(0, import_react175.useLayoutEffect)(() => {
|
|
32798
32852
|
if (!banner) return;
|
|
32799
32853
|
setPageBanner(id, banner);
|
|
32800
32854
|
return () => clearPageBanner(id);
|
|
32801
32855
|
}, [id, banner]);
|
|
32802
|
-
(0,
|
|
32856
|
+
(0, import_react175.useEffect)(() => {
|
|
32803
32857
|
if (!banner || hasPageBannerSubscriber() || process.env.NODE_ENV === "production") return;
|
|
32804
32858
|
console.warn("[usePageBanner] No page layout above this component; the banner will not render.");
|
|
32805
32859
|
}, [banner]);
|
|
@@ -32810,11 +32864,11 @@ function PageBanner(props) {
|
|
|
32810
32864
|
}
|
|
32811
32865
|
|
|
32812
32866
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
32813
|
-
var
|
|
32867
|
+
var import_react180 = require("react");
|
|
32814
32868
|
var import_runtime170 = require("@homebound/truss/runtime");
|
|
32815
32869
|
|
|
32816
32870
|
// src/layouts/useAutoHideOnScroll.ts
|
|
32817
|
-
var
|
|
32871
|
+
var import_react176 = require("react");
|
|
32818
32872
|
var THRESHOLD = 80;
|
|
32819
32873
|
function getInitialAutoHideState() {
|
|
32820
32874
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -32824,13 +32878,13 @@ function getInitialAutoHideState() {
|
|
|
32824
32878
|
}
|
|
32825
32879
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
32826
32880
|
const initial = getInitialAutoHideState();
|
|
32827
|
-
const [state, setState] = (0,
|
|
32828
|
-
const stateRef = (0,
|
|
32829
|
-
const getTopOffsetRef = (0,
|
|
32881
|
+
const [state, setState] = (0, import_react176.useState)(initial);
|
|
32882
|
+
const stateRef = (0, import_react176.useRef)(initial);
|
|
32883
|
+
const getTopOffsetRef = (0, import_react176.useRef)(getTopOffset);
|
|
32830
32884
|
getTopOffsetRef.current = getTopOffset;
|
|
32831
|
-
const lastScrollY = (0,
|
|
32832
|
-
const lastScrollHeight = (0,
|
|
32833
|
-
(0,
|
|
32885
|
+
const lastScrollY = (0, import_react176.useRef)(Number.POSITIVE_INFINITY);
|
|
32886
|
+
const lastScrollHeight = (0, import_react176.useRef)(0);
|
|
32887
|
+
(0, import_react176.useLayoutEffect)(() => {
|
|
32834
32888
|
if (!enabled) {
|
|
32835
32889
|
stateRef.current = "resting";
|
|
32836
32890
|
lastScrollY.current = Number.POSITIVE_INFINITY;
|
|
@@ -32896,25 +32950,25 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
32896
32950
|
|
|
32897
32951
|
// src/layouts/useMeasuredHeight.ts
|
|
32898
32952
|
var import_utils51 = require("@react-aria/utils");
|
|
32899
|
-
var
|
|
32953
|
+
var import_react177 = require("react");
|
|
32900
32954
|
function useMeasuredHeight(ref, enabled) {
|
|
32901
|
-
const [height, setHeight] = (0,
|
|
32902
|
-
const syncElementHeight = (0,
|
|
32955
|
+
const [height, setHeight] = (0, import_react177.useState)(0);
|
|
32956
|
+
const syncElementHeight = (0, import_react177.useCallback)(() => {
|
|
32903
32957
|
const el = ref.current;
|
|
32904
32958
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
32905
32959
|
setHeight((prev) => prev === next ? prev : next);
|
|
32906
32960
|
}, [ref]);
|
|
32907
32961
|
(0, import_utils51.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
32908
|
-
(0,
|
|
32962
|
+
(0, import_react177.useLayoutEffect)(() => {
|
|
32909
32963
|
syncElementHeight();
|
|
32910
32964
|
}, [enabled, syncElementHeight]);
|
|
32911
32965
|
return height;
|
|
32912
32966
|
}
|
|
32913
32967
|
|
|
32914
32968
|
// src/layouts/useTransitionAfterPaint.ts
|
|
32915
|
-
var
|
|
32969
|
+
var import_react178 = require("react");
|
|
32916
32970
|
function useTransitionAfterPaint(ref, transition) {
|
|
32917
|
-
(0,
|
|
32971
|
+
(0, import_react178.useLayoutEffect)(() => {
|
|
32918
32972
|
const el = ref.current;
|
|
32919
32973
|
if (!el) return;
|
|
32920
32974
|
const id = requestAnimationFrame(() => {
|
|
@@ -32925,14 +32979,14 @@ function useTransitionAfterPaint(ref, transition) {
|
|
|
32925
32979
|
}
|
|
32926
32980
|
|
|
32927
32981
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
32928
|
-
var
|
|
32982
|
+
var import_react179 = require("react");
|
|
32929
32983
|
var import_jsx_runtime259 = require("react/jsx-runtime");
|
|
32930
|
-
var NavbarLayoutHeightContext = (0,
|
|
32984
|
+
var NavbarLayoutHeightContext = (0, import_react179.createContext)(0);
|
|
32931
32985
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
32932
32986
|
return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
32933
32987
|
}
|
|
32934
32988
|
function useNavbarLayoutHeight() {
|
|
32935
|
-
return (0,
|
|
32989
|
+
return (0, import_react179.useContext)(NavbarLayoutHeightContext);
|
|
32936
32990
|
}
|
|
32937
32991
|
|
|
32938
32992
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
@@ -32946,8 +33000,8 @@ function NavbarLayout(props) {
|
|
|
32946
33000
|
children
|
|
32947
33001
|
} = props;
|
|
32948
33002
|
const tid = useTestIds(props, "navbarLayout");
|
|
32949
|
-
const navMetricsRef = (0,
|
|
32950
|
-
const spacerRef = (0,
|
|
33003
|
+
const navMetricsRef = (0, import_react180.useRef)(null);
|
|
33004
|
+
const spacerRef = (0, import_react180.useRef)(null);
|
|
32951
33005
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
32952
33006
|
const {
|
|
32953
33007
|
state: autoHideState
|
|
@@ -32973,7 +33027,7 @@ function NavbarLayout(props) {
|
|
|
32973
33027
|
const innerStyle = {
|
|
32974
33028
|
top: autoHideState === "hidden" ? `calc(${bannerTop} - ${navHeight}px)` : bannerTop
|
|
32975
33029
|
};
|
|
32976
|
-
const navbarEl = (0,
|
|
33030
|
+
const navbarEl = (0, import_react180.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
32977
33031
|
return /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime260.jsxs)("div", { ...(0, import_runtime170.mergeProps)(void 0, cssVars, {
|
|
32978
33032
|
display: "df",
|
|
32979
33033
|
flexDirection: "fdc",
|
|
@@ -32991,14 +33045,14 @@ function NavbarLayout(props) {
|
|
|
32991
33045
|
}
|
|
32992
33046
|
|
|
32993
33047
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
32994
|
-
var
|
|
33048
|
+
var import_react183 = require("react");
|
|
32995
33049
|
|
|
32996
33050
|
// src/hooks/useDocumentTitle.tsx
|
|
32997
|
-
var
|
|
33051
|
+
var import_react181 = require("react");
|
|
32998
33052
|
function useDocumentTitle(...titleSegments) {
|
|
32999
33053
|
const config = useDocumentTitleConfig();
|
|
33000
33054
|
const pageTitle = joinDocumentTitleSegments(...titleSegments);
|
|
33001
|
-
(0,
|
|
33055
|
+
(0, import_react181.useLayoutEffect)(() => {
|
|
33002
33056
|
if (!config || !pageTitle || typeof document === "undefined") {
|
|
33003
33057
|
return;
|
|
33004
33058
|
}
|
|
@@ -33104,7 +33158,7 @@ function PageHeader2(props) {
|
|
|
33104
33158
|
}
|
|
33105
33159
|
|
|
33106
33160
|
// src/layouts/PageBanner/internal/usePageBannerSlot.tsx
|
|
33107
|
-
var
|
|
33161
|
+
var import_react182 = require("react");
|
|
33108
33162
|
|
|
33109
33163
|
// src/layouts/PageBanner/internal/PageBannerSlot.tsx
|
|
33110
33164
|
var import_runtime173 = require("@homebound/truss/runtime");
|
|
@@ -33142,18 +33196,18 @@ var import_jsx_runtime264 = require("react/jsx-runtime");
|
|
|
33142
33196
|
function usePageBannerSlot(bannerProp, testIds) {
|
|
33143
33197
|
const publishedBanner = usePublishedPageBanner();
|
|
33144
33198
|
const banner = publishedBanner ?? bannerProp;
|
|
33145
|
-
const metricsRef = (0,
|
|
33199
|
+
const metricsRef = (0, import_react182.useRef)(null);
|
|
33146
33200
|
const height = useMeasuredHeight(metricsRef, banner != null);
|
|
33147
33201
|
const slot = banner ? /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(PageBannerSlot, { ...testIds, banner, metricsRef }) : null;
|
|
33148
33202
|
return { slot, height };
|
|
33149
33203
|
}
|
|
33150
33204
|
function usePublishedPageBanner() {
|
|
33151
|
-
const [banner, setBanner] = (0,
|
|
33152
|
-
const sync = (0,
|
|
33205
|
+
const [banner, setBanner] = (0, import_react182.useState)(pageBannerStore.getSnapshot);
|
|
33206
|
+
const sync = (0, import_react182.useCallback)(() => {
|
|
33153
33207
|
const next = pageBannerStore.getSnapshot();
|
|
33154
33208
|
setBanner((prev) => prev === next ? prev : next);
|
|
33155
33209
|
}, []);
|
|
33156
|
-
(0,
|
|
33210
|
+
(0, import_react182.useLayoutEffect)(() => {
|
|
33157
33211
|
sync();
|
|
33158
33212
|
return pageBannerStore.subscribe(sync);
|
|
33159
33213
|
}, [sync]);
|
|
@@ -33183,11 +33237,11 @@ function PageHeaderLayout(props) {
|
|
|
33183
33237
|
height: bannerHeight
|
|
33184
33238
|
} = usePageBannerSlot(bannerProp, tid);
|
|
33185
33239
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
33186
|
-
const bannerAndNavbarHeightRef = (0,
|
|
33240
|
+
const bannerAndNavbarHeightRef = (0, import_react183.useRef)(bannerAndNavbarHeight);
|
|
33187
33241
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
33188
|
-
const getBannerAndNavbarHeight = (0,
|
|
33189
|
-
const headerMetricsRef = (0,
|
|
33190
|
-
const spacerRef = (0,
|
|
33242
|
+
const getBannerAndNavbarHeight = (0, import_react183.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
33243
|
+
const headerMetricsRef = (0, import_react183.useRef)(null);
|
|
33244
|
+
const spacerRef = (0, import_react183.useRef)(null);
|
|
33191
33245
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
33192
33246
|
const {
|
|
33193
33247
|
state: autoHideState
|
|
@@ -33220,7 +33274,7 @@ function PageHeaderLayout(props) {
|
|
|
33220
33274
|
const innerStyle = {
|
|
33221
33275
|
top: autoHideState === "hidden" ? `calc(${outerTop} - ${headerHeight}px)` : outerTop
|
|
33222
33276
|
};
|
|
33223
|
-
const pageHeaderEl = (0,
|
|
33277
|
+
const pageHeaderEl = (0, import_react183.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
33224
33278
|
return /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)("div", { ...(0, import_runtime174.mergeProps)(void 0, style, {
|
|
33225
33279
|
display: "df",
|
|
33226
33280
|
flexDirection: "fdc",
|
|
@@ -33238,7 +33292,7 @@ function PageHeaderLayout(props) {
|
|
|
33238
33292
|
}
|
|
33239
33293
|
|
|
33240
33294
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
33241
|
-
var
|
|
33295
|
+
var import_react186 = require("react");
|
|
33242
33296
|
|
|
33243
33297
|
// src/components/Headers/WorkflowHeader.tsx
|
|
33244
33298
|
var import_jsx_runtime266 = require("react/jsx-runtime");
|
|
@@ -33255,7 +33309,7 @@ function WorkflowHeader(props) {
|
|
|
33255
33309
|
}
|
|
33256
33310
|
|
|
33257
33311
|
// src/layouts/Workflow/RightPaneTriggers.tsx
|
|
33258
|
-
var
|
|
33312
|
+
var import_react184 = require("react");
|
|
33259
33313
|
var import_runtime175 = require("@homebound/truss/runtime");
|
|
33260
33314
|
var import_jsx_runtime267 = require("react/jsx-runtime");
|
|
33261
33315
|
var __maybeInc36 = (inc) => {
|
|
@@ -33276,7 +33330,7 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
33276
33330
|
} = useRightPaneActions();
|
|
33277
33331
|
const tid = useTestIds(props, "rightPaneTriggers");
|
|
33278
33332
|
const pageTriggerInsetPx = 24;
|
|
33279
|
-
const onClick = (0,
|
|
33333
|
+
const onClick = (0, import_react184.useCallback)((trigger) => {
|
|
33280
33334
|
openRightPane({
|
|
33281
33335
|
content: /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(RightPanePanel, { title: trigger.label, children: trigger.content })
|
|
33282
33336
|
});
|
|
@@ -33319,18 +33373,18 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
33319
33373
|
}
|
|
33320
33374
|
|
|
33321
33375
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
33322
|
-
var
|
|
33376
|
+
var import_react185 = require("react");
|
|
33323
33377
|
var import_react_router_dom9 = require("react-router-dom");
|
|
33324
33378
|
var import_jsx_runtime268 = require("react/jsx-runtime");
|
|
33325
33379
|
function useUnsavedChangesGuard(options) {
|
|
33326
33380
|
const { isDirty, allowNavigation, onCancel, destructiveAction } = options;
|
|
33327
33381
|
const { openModal } = useModal();
|
|
33328
|
-
const isDirtyRef = (0,
|
|
33382
|
+
const isDirtyRef = (0, import_react185.useRef)(isDirty);
|
|
33329
33383
|
isDirtyRef.current = isDirty;
|
|
33330
|
-
const allowNavigationRef = (0,
|
|
33384
|
+
const allowNavigationRef = (0, import_react185.useRef)(allowNavigation);
|
|
33331
33385
|
allowNavigationRef.current = allowNavigation;
|
|
33332
|
-
const allowCancelNavigationRef = (0,
|
|
33333
|
-
(0,
|
|
33386
|
+
const allowCancelNavigationRef = (0, import_react185.useRef)(false);
|
|
33387
|
+
(0, import_react185.useEffect)(() => {
|
|
33334
33388
|
const onBeforeUnload = (e) => {
|
|
33335
33389
|
if (isDirtyRef.current?.()) {
|
|
33336
33390
|
e.preventDefault();
|
|
@@ -33397,7 +33451,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
33397
33451
|
function UnsavedChangesNavigationModal(props) {
|
|
33398
33452
|
const { proceed, cancelNavigation } = props;
|
|
33399
33453
|
const { openModal, closeModal } = useModal();
|
|
33400
|
-
(0,
|
|
33454
|
+
(0, import_react185.useEffect)(() => {
|
|
33401
33455
|
openModal({
|
|
33402
33456
|
allowClosing: false,
|
|
33403
33457
|
content: /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
@@ -33487,7 +33541,7 @@ function WorkflowPageLayout(props) {
|
|
|
33487
33541
|
} });
|
|
33488
33542
|
const triggers = rightPaneTriggers ?? [];
|
|
33489
33543
|
const pageTriggers = triggers.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(WorkflowPageRightPaneTriggers, { triggers }) : void 0;
|
|
33490
|
-
const headerMetricsRef = (0,
|
|
33544
|
+
const headerMetricsRef = (0, import_react186.useRef)(null);
|
|
33491
33545
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
33492
33546
|
const headerWidth = documentScrollChromeWidth();
|
|
33493
33547
|
const outerTop = belowNavbarOffset();
|
|
@@ -33500,7 +33554,7 @@ function WorkflowPageLayout(props) {
|
|
|
33500
33554
|
}
|
|
33501
33555
|
const style = Object.keys(cssVars).length > 0 ? cssVars : void 0;
|
|
33502
33556
|
const showFooter = isMobile;
|
|
33503
|
-
(0,
|
|
33557
|
+
(0, import_react186.useLayoutEffect)(() => {
|
|
33504
33558
|
const root = document.documentElement;
|
|
33505
33559
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
33506
33560
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -33635,7 +33689,7 @@ function FocusedFormLayout(props) {
|
|
|
33635
33689
|
}
|
|
33636
33690
|
|
|
33637
33691
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
33638
|
-
var
|
|
33692
|
+
var import_react187 = require("react");
|
|
33639
33693
|
var import_jsx_runtime272 = require("react/jsx-runtime");
|
|
33640
33694
|
function StepperLayout(props) {
|
|
33641
33695
|
const {
|
|
@@ -33653,17 +33707,15 @@ function StepperLayout(props) {
|
|
|
33653
33707
|
...headerProps
|
|
33654
33708
|
} = props;
|
|
33655
33709
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
33656
|
-
const [currentStep, setCurrentStep] = (0,
|
|
33710
|
+
const [currentStep, setCurrentStep] = (0, import_react187.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
33657
33711
|
const tid = useTestIds(props, "stepperLayout");
|
|
33658
|
-
const { closeRightPane } = useRightPaneActions();
|
|
33659
33712
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
33660
33713
|
const isFirstStep = currentIndex <= 0;
|
|
33661
33714
|
const isLastStep = currentIndex >= stepTabs.length - 1;
|
|
33662
33715
|
const activeStep = stepTabs[currentIndex];
|
|
33663
33716
|
function goToStep(value) {
|
|
33664
33717
|
if (value === currentStep) return;
|
|
33665
|
-
|
|
33666
|
-
setCurrentStep(value);
|
|
33718
|
+
closeRightPaneThen(() => setCurrentStep(value));
|
|
33667
33719
|
}
|
|
33668
33720
|
return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
|
|
33669
33721
|
WorkflowPageLayout,
|
|
@@ -33858,9 +33910,9 @@ function StaticField(props) {
|
|
|
33858
33910
|
}
|
|
33859
33911
|
|
|
33860
33912
|
// src/hooks/useFilter.ts
|
|
33861
|
-
var
|
|
33913
|
+
var import_react188 = require("react");
|
|
33862
33914
|
function useFilter5({ filterDefs }) {
|
|
33863
|
-
const [filter, setFilter] = (0,
|
|
33915
|
+
const [filter, setFilter] = (0, import_react188.useState)(
|
|
33864
33916
|
Object.fromEntries(
|
|
33865
33917
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
33866
33918
|
)
|
|
@@ -33869,7 +33921,7 @@ function useFilter5({ filterDefs }) {
|
|
|
33869
33921
|
}
|
|
33870
33922
|
|
|
33871
33923
|
// src/inputs/Autocomplete.tsx
|
|
33872
|
-
var
|
|
33924
|
+
var import_react189 = require("react");
|
|
33873
33925
|
var import_react_aria78 = require("react-aria");
|
|
33874
33926
|
var import_react_stately20 = require("react-stately");
|
|
33875
33927
|
var import_jsx_runtime277 = require("react/jsx-runtime");
|
|
@@ -33889,7 +33941,7 @@ function Autocomplete(props) {
|
|
|
33889
33941
|
} = props;
|
|
33890
33942
|
const { effectiveValue, proposalProps } = useAiProposal(value, proposedValue);
|
|
33891
33943
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
33892
|
-
const comboBoxChildren = (0,
|
|
33944
|
+
const comboBoxChildren = (0, import_react189.useCallback)(
|
|
33893
33945
|
(item) => /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_react_stately20.Item, { textValue: getOptionLabel(item), children: getOptionMenuLabel ? getOptionMenuLabel(item) : getOptionLabel(item) }, getOptionValue(item)),
|
|
33894
33946
|
[getOptionValue, getOptionLabel, getOptionMenuLabel]
|
|
33895
33947
|
);
|
|
@@ -33914,10 +33966,10 @@ function Autocomplete(props) {
|
|
|
33914
33966
|
...others
|
|
33915
33967
|
};
|
|
33916
33968
|
const state = (0, import_react_stately20.useComboBoxState)(comboBoxProps);
|
|
33917
|
-
const inputWrapRef = (0,
|
|
33918
|
-
const inputRef = (0,
|
|
33919
|
-
const listBoxRef = (0,
|
|
33920
|
-
const popoverRef = (0,
|
|
33969
|
+
const inputWrapRef = (0, import_react189.useRef)(null);
|
|
33970
|
+
const inputRef = (0, import_react189.useRef)(null);
|
|
33971
|
+
const listBoxRef = (0, import_react189.useRef)(null);
|
|
33972
|
+
const popoverRef = (0, import_react189.useRef)(null);
|
|
33921
33973
|
const { inputProps, listBoxProps, labelProps } = (0, import_react_aria78.useComboBox)(
|
|
33922
33974
|
{
|
|
33923
33975
|
...comboBoxProps,
|
|
@@ -33985,7 +34037,7 @@ function Autocomplete(props) {
|
|
|
33985
34037
|
}
|
|
33986
34038
|
|
|
33987
34039
|
// src/inputs/ToggleButton.tsx
|
|
33988
|
-
var
|
|
34040
|
+
var import_react190 = require("react");
|
|
33989
34041
|
var import_react_aria79 = require("react-aria");
|
|
33990
34042
|
var import_react_stately21 = require("react-stately");
|
|
33991
34043
|
var import_runtime179 = require("@homebound/truss/runtime");
|
|
@@ -34000,7 +34052,7 @@ function ToggleButton(props) {
|
|
|
34000
34052
|
__storyState,
|
|
34001
34053
|
...otherProps
|
|
34002
34054
|
} = props;
|
|
34003
|
-
const [asyncInProgress, setAsyncInProgress] = (0,
|
|
34055
|
+
const [asyncInProgress, setAsyncInProgress] = (0, import_react190.useState)(false);
|
|
34004
34056
|
const isDisabled = !!disabled || asyncInProgress;
|
|
34005
34057
|
const ariaProps = {
|
|
34006
34058
|
"aria-label": label,
|
|
@@ -34019,8 +34071,8 @@ function ToggleButton(props) {
|
|
|
34019
34071
|
return result;
|
|
34020
34072
|
}
|
|
34021
34073
|
});
|
|
34022
|
-
const labelRef = (0,
|
|
34023
|
-
const ref = (0,
|
|
34074
|
+
const labelRef = (0, import_react190.useRef)(null);
|
|
34075
|
+
const ref = (0, import_react190.useRef)(null);
|
|
34024
34076
|
const tid = useTestIds(otherProps, label);
|
|
34025
34077
|
const {
|
|
34026
34078
|
isPressed: isPressedFromEvents,
|