@homebound/beam 4.45.2 → 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 +325 -282
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +88 -45
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -26759,7 +26759,7 @@ function invertSpacing(value) {
|
|
|
26759
26759
|
}
|
|
26760
26760
|
|
|
26761
26761
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
26762
|
-
var
|
|
26762
|
+
var import_react142 = __toESM(require("react"), 1);
|
|
26763
26763
|
|
|
26764
26764
|
// src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
|
|
26765
26765
|
var import_react125 = require("react");
|
|
@@ -27300,15 +27300,15 @@ function SelectionSummaryAction(props) {
|
|
|
27300
27300
|
|
|
27301
27301
|
// src/components/Layout/GridTableLayout/GridTableLayoutHost.tsx
|
|
27302
27302
|
var import_utils39 = require("@react-aria/utils");
|
|
27303
|
-
var
|
|
27303
|
+
var import_react135 = require("react");
|
|
27304
27304
|
|
|
27305
27305
|
// src/components/Layout/RightPaneLayout/DocumentScrollOverlayRightPaneLayout.tsx
|
|
27306
|
-
var
|
|
27306
|
+
var import_react133 = require("react");
|
|
27307
27307
|
var import_runtime131 = require("@homebound/truss/runtime");
|
|
27308
27308
|
|
|
27309
27309
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
|
|
27310
27310
|
var import_framer_motion3 = require("framer-motion");
|
|
27311
|
-
var
|
|
27311
|
+
var import_react130 = require("react");
|
|
27312
27312
|
var import_react_aria67 = require("react-aria");
|
|
27313
27313
|
var import_react_dom7 = require("react-dom");
|
|
27314
27314
|
|
|
@@ -27357,11 +27357,13 @@ function useScrollPinnedViewportBounds(anchorRef, enabled, getPinTopPx) {
|
|
|
27357
27357
|
}
|
|
27358
27358
|
|
|
27359
27359
|
// src/components/Layout/RightPaneLayout/useRightPane.tsx
|
|
27360
|
-
var
|
|
27360
|
+
var import_react129 = require("react");
|
|
27361
27361
|
|
|
27362
27362
|
// src/components/Layout/RightPaneLayout/rightPaneStore.ts
|
|
27363
|
+
var import_react128 = require("react");
|
|
27363
27364
|
var isOpen = false;
|
|
27364
27365
|
var content;
|
|
27366
|
+
var discardPrompt;
|
|
27365
27367
|
var openListeners = /* @__PURE__ */ new Set();
|
|
27366
27368
|
var contentListeners = /* @__PURE__ */ new Set();
|
|
27367
27369
|
var rightPaneOpenStore = {
|
|
@@ -27385,6 +27387,17 @@ function notifyContentListeners() {
|
|
|
27385
27387
|
contentListeners.forEach((listener) => listener());
|
|
27386
27388
|
}
|
|
27387
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) {
|
|
27388
27401
|
content = opts.content;
|
|
27389
27402
|
notifyContentListeners();
|
|
27390
27403
|
if (isOpen) return;
|
|
@@ -27392,9 +27405,14 @@ function openInPane(opts) {
|
|
|
27392
27405
|
notifyOpenListeners();
|
|
27393
27406
|
}
|
|
27394
27407
|
function closePane() {
|
|
27395
|
-
if (
|
|
27396
|
-
|
|
27397
|
-
|
|
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;
|
|
27398
27416
|
}
|
|
27399
27417
|
function clearPane() {
|
|
27400
27418
|
content = void 0;
|
|
@@ -27405,9 +27423,28 @@ var rightPaneOpenActions = {
|
|
|
27405
27423
|
closePane,
|
|
27406
27424
|
clearPane
|
|
27407
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
|
+
}
|
|
27408
27444
|
function resetRightPaneStore() {
|
|
27409
27445
|
isOpen = false;
|
|
27410
27446
|
content = void 0;
|
|
27447
|
+
discardPrompt = void 0;
|
|
27411
27448
|
notifyOpenListeners();
|
|
27412
27449
|
notifyContentListeners();
|
|
27413
27450
|
}
|
|
@@ -27417,7 +27454,7 @@ function useRightPaneOpenActions() {
|
|
|
27417
27454
|
return rightPaneOpenActions;
|
|
27418
27455
|
}
|
|
27419
27456
|
function useRightPaneOpenState() {
|
|
27420
|
-
const isRightPaneOpen = (0,
|
|
27457
|
+
const isRightPaneOpen = (0, import_react129.useSyncExternalStore)(
|
|
27421
27458
|
rightPaneOpenStore.subscribe,
|
|
27422
27459
|
rightPaneOpenStore.getSnapshot,
|
|
27423
27460
|
rightPaneOpenStore.getSnapshot
|
|
@@ -27425,7 +27462,7 @@ function useRightPaneOpenState() {
|
|
|
27425
27462
|
return { ...rightPaneOpenActions, isRightPaneOpen };
|
|
27426
27463
|
}
|
|
27427
27464
|
function useRightPaneContent() {
|
|
27428
|
-
return (0,
|
|
27465
|
+
return (0, import_react129.useSyncExternalStore)(
|
|
27429
27466
|
rightPaneContentStore.subscribe,
|
|
27430
27467
|
rightPaneContentStore.getSnapshot,
|
|
27431
27468
|
rightPaneContentStore.getSnapshot
|
|
@@ -27479,25 +27516,25 @@ function DocumentScrollRightPane({
|
|
|
27479
27516
|
} = useRightPaneOpenState();
|
|
27480
27517
|
const rightPaneContent = useRightPaneContent();
|
|
27481
27518
|
const tid = useTestIds({}, "rightPaneContent");
|
|
27482
|
-
const paneRef = (0,
|
|
27483
|
-
const [keepPaneLayout, setKeepPaneLayout] = (0,
|
|
27484
|
-
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);
|
|
27485
27522
|
const bannerHeightPx = useEnvironmentBannerLayoutHeight();
|
|
27486
27523
|
const isFixedOverlay = !mobile;
|
|
27487
|
-
(0,
|
|
27524
|
+
(0, import_react130.useLayoutEffect)(() => {
|
|
27488
27525
|
if (isRightPaneOpen) {
|
|
27489
27526
|
setKeepPaneLayout(true);
|
|
27490
27527
|
exitReleasedRef.current = false;
|
|
27491
27528
|
}
|
|
27492
27529
|
}, [isRightPaneOpen]);
|
|
27493
27530
|
const paneLayoutActive = isRightPaneOpen || keepPaneLayout;
|
|
27494
|
-
const releaseAfterExit = (0,
|
|
27531
|
+
const releaseAfterExit = (0, import_react130.useCallback)(() => {
|
|
27495
27532
|
if (exitReleasedRef.current) return;
|
|
27496
27533
|
exitReleasedRef.current = true;
|
|
27497
27534
|
clearPane2();
|
|
27498
27535
|
setKeepPaneLayout(false);
|
|
27499
27536
|
}, [clearPane2]);
|
|
27500
|
-
(0,
|
|
27537
|
+
(0, import_react130.useLayoutEffect)(() => {
|
|
27501
27538
|
if (isRightPaneOpen || !keepPaneLayout) return;
|
|
27502
27539
|
return waitForRightPaneExit(releaseAfterExit);
|
|
27503
27540
|
}, [isRightPaneOpen, keepPaneLayout, releaseAfterExit]);
|
|
@@ -27580,10 +27617,10 @@ function DocumentScrollRightPane({
|
|
|
27580
27617
|
}
|
|
27581
27618
|
|
|
27582
27619
|
// src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayoutRoot.tsx
|
|
27583
|
-
var
|
|
27620
|
+
var import_react131 = require("react");
|
|
27584
27621
|
var import_runtime130 = require("@homebound/truss/runtime");
|
|
27585
27622
|
var import_jsx_runtime200 = require("react/jsx-runtime");
|
|
27586
|
-
var NestedRightPaneLayoutContext = (0,
|
|
27623
|
+
var NestedRightPaneLayoutContext = (0, import_react131.createContext)(false);
|
|
27587
27624
|
function DocumentScrollRightPaneLayoutRoot(props) {
|
|
27588
27625
|
const {
|
|
27589
27626
|
anchorRef,
|
|
@@ -27613,19 +27650,15 @@ function DocumentScrollRightPaneLayoutRoot(props) {
|
|
|
27613
27650
|
}
|
|
27614
27651
|
|
|
27615
27652
|
// src/components/Layout/RightPaneLayout/useDocumentScrollRightPaneAnchorRef.ts
|
|
27616
|
-
var
|
|
27653
|
+
var import_react132 = require("react");
|
|
27617
27654
|
function useDocumentScrollRightPaneAnchorRef() {
|
|
27618
|
-
const
|
|
27619
|
-
const
|
|
27620
|
-
|
|
27621
|
-
|
|
27622
|
-
|
|
27623
|
-
|
|
27624
|
-
|
|
27625
|
-
ref.current = node;
|
|
27626
|
-
},
|
|
27627
|
-
[closePane2]
|
|
27628
|
-
);
|
|
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
|
+
}, []);
|
|
27629
27662
|
return { ref, setRef };
|
|
27630
27663
|
}
|
|
27631
27664
|
|
|
@@ -27649,14 +27682,14 @@ function DocumentScrollOverlayRightPaneLayout({
|
|
|
27649
27682
|
children,
|
|
27650
27683
|
paneWidth = defaultDocumentScrollRightPaneWidth
|
|
27651
27684
|
}) {
|
|
27652
|
-
const nestedInLayout = (0,
|
|
27685
|
+
const nestedInLayout = (0, import_react133.useContext)(NestedRightPaneLayoutContext);
|
|
27653
27686
|
const {
|
|
27654
27687
|
sm
|
|
27655
27688
|
} = useBreakpoint();
|
|
27656
27689
|
const tid = useTestIds({}, "documentScrollRightPaneLayout");
|
|
27657
27690
|
const anchorRef = useDocumentScrollRightPaneAnchorRef();
|
|
27658
|
-
const spacerRef = (0,
|
|
27659
|
-
(0,
|
|
27691
|
+
const spacerRef = (0, import_react133.useRef)(null);
|
|
27692
|
+
(0, import_react133.useEffect)(() => {
|
|
27660
27693
|
if (nestedInLayout && process.env.NODE_ENV !== "production") {
|
|
27661
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).");
|
|
27662
27695
|
}
|
|
@@ -27690,20 +27723,20 @@ function DocumentScrollOverlayRightPaneHost(props) {
|
|
|
27690
27723
|
isRightPaneOpen
|
|
27691
27724
|
} = useRightPaneOpenState();
|
|
27692
27725
|
const paneWidthCss = documentScrollRightPaneWidthCss(paneWidth);
|
|
27693
|
-
const [keepOverlayChrome, setKeepOverlayChrome] = (0,
|
|
27694
|
-
(0,
|
|
27726
|
+
const [keepOverlayChrome, setKeepOverlayChrome] = (0, import_react133.useState)(isRightPaneOpen);
|
|
27727
|
+
(0, import_react133.useLayoutEffect)(() => {
|
|
27695
27728
|
if (isRightPaneOpen) {
|
|
27696
27729
|
setKeepOverlayChrome(true);
|
|
27697
27730
|
return;
|
|
27698
27731
|
}
|
|
27699
27732
|
return waitForRightPaneExit(() => setKeepOverlayChrome(false));
|
|
27700
27733
|
}, [isRightPaneOpen]);
|
|
27701
|
-
(0,
|
|
27734
|
+
(0, import_react133.useLayoutEffect)(() => {
|
|
27702
27735
|
const spacer = spacerRef.current;
|
|
27703
27736
|
if (!spacer) return;
|
|
27704
27737
|
spacer.style.width = isRightPaneOpen ? paneWidthCss : "0px";
|
|
27705
27738
|
}, [isRightPaneOpen, paneWidthCss, spacerRef]);
|
|
27706
|
-
(0,
|
|
27739
|
+
(0, import_react133.useLayoutEffect)(() => {
|
|
27707
27740
|
const layoutRoot = anchorRef.current;
|
|
27708
27741
|
if (!layoutRoot) return;
|
|
27709
27742
|
const openPaneWidth = keepOverlayChrome ? paneWidthCss : "0px";
|
|
@@ -27722,7 +27755,7 @@ function DocumentScrollOverlayRightPaneHost(props) {
|
|
|
27722
27755
|
|
|
27723
27756
|
// src/components/Modal/ModalFullBleed.tsx
|
|
27724
27757
|
var import_runtime132 = require("@homebound/truss/runtime");
|
|
27725
|
-
var
|
|
27758
|
+
var import_react134 = require("react");
|
|
27726
27759
|
function ModalFullBleed({
|
|
27727
27760
|
children,
|
|
27728
27761
|
omitPadding = false
|
|
@@ -27735,7 +27768,7 @@ function ModalFullBleed({
|
|
|
27735
27768
|
className,
|
|
27736
27769
|
style
|
|
27737
27770
|
} = children.props;
|
|
27738
|
-
return (0,
|
|
27771
|
+
return (0, import_react134.cloneElement)(children, (0, import_runtime132.mergeProps)(className, style, {
|
|
27739
27772
|
...{
|
|
27740
27773
|
containerType: "ctis"
|
|
27741
27774
|
},
|
|
@@ -27759,8 +27792,8 @@ function GridTableLayoutHost(props) {
|
|
|
27759
27792
|
testIds,
|
|
27760
27793
|
children
|
|
27761
27794
|
} = props;
|
|
27762
|
-
const tableWrapperRef = (0,
|
|
27763
|
-
const tableActionsRef = (0,
|
|
27795
|
+
const tableWrapperRef = (0, import_react135.useRef)(null);
|
|
27796
|
+
const tableActionsRef = (0, import_react135.useRef)(null);
|
|
27764
27797
|
const hasActions = actions !== void 0;
|
|
27765
27798
|
useSetTableActionsHeight(tableWrapperRef, tableActionsRef, host.kind !== "scrollable-parent" && hasActions);
|
|
27766
27799
|
const shared = {
|
|
@@ -27863,7 +27896,7 @@ function ActionsBar({
|
|
|
27863
27896
|
return /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ref: actionsRef, ...(0, import_runtime133.trussProps)(xss), ...testIds.stickyContent, children });
|
|
27864
27897
|
}
|
|
27865
27898
|
function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
27866
|
-
const syncHeightVar = (0,
|
|
27899
|
+
const syncHeightVar = (0, import_react135.useCallback)(() => {
|
|
27867
27900
|
const tableWrapper = tableWrapperRef.current;
|
|
27868
27901
|
if (!tableWrapper) return;
|
|
27869
27902
|
if (!enabled) {
|
|
@@ -27881,7 +27914,7 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
27881
27914
|
ref: tableActionsRef,
|
|
27882
27915
|
onResize: enabled ? syncHeightVar : noop
|
|
27883
27916
|
});
|
|
27884
|
-
(0,
|
|
27917
|
+
(0, import_react135.useLayoutEffect)(() => {
|
|
27885
27918
|
syncHeightVar();
|
|
27886
27919
|
const tableWrapper = tableWrapperRef.current;
|
|
27887
27920
|
return () => {
|
|
@@ -27891,14 +27924,14 @@ function useSetTableActionsHeight(tableWrapperRef, tableActionsRef, enabled) {
|
|
|
27891
27924
|
}
|
|
27892
27925
|
|
|
27893
27926
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
27894
|
-
var
|
|
27927
|
+
var import_react136 = require("react");
|
|
27895
27928
|
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
27896
27929
|
function QueryTable(props) {
|
|
27897
27930
|
const { emptyFallback, query, createRows, columns, emptyState: emptyStateProp, ...others } = props;
|
|
27898
27931
|
const displayData = query.error ? void 0 : query.data ?? query.previousData;
|
|
27899
|
-
const rows = (0,
|
|
27932
|
+
const rows = (0, import_react136.useMemo)(() => createRows(displayData), [createRows, displayData]);
|
|
27900
27933
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : void 0;
|
|
27901
|
-
const emptyState = (0,
|
|
27934
|
+
const emptyState = (0, import_react136.useMemo)(() => {
|
|
27902
27935
|
if (query.loading || query.error) return void 0;
|
|
27903
27936
|
if (emptyStateProp) return emptyStateProp;
|
|
27904
27937
|
return { title: emptyFallback };
|
|
@@ -27927,10 +27960,10 @@ function useGridTableLayoutHost() {
|
|
|
27927
27960
|
}
|
|
27928
27961
|
|
|
27929
27962
|
// src/components/Layout/GridTableLayout/usePersistedTableView.ts
|
|
27930
|
-
var
|
|
27963
|
+
var import_react137 = require("react");
|
|
27931
27964
|
function usePersistedTableView(defaultView, persist) {
|
|
27932
27965
|
const storageKey = persist ? getGridTableViewStorageKey(window.location.pathname) : void 0;
|
|
27933
|
-
const [view, setView] = (0,
|
|
27966
|
+
const [view, setView] = (0, import_react137.useState)(() => {
|
|
27934
27967
|
if (!storageKey) return defaultView;
|
|
27935
27968
|
try {
|
|
27936
27969
|
return parseStoredTableView(localStorage.getItem(storageKey)) ?? defaultView;
|
|
@@ -27938,7 +27971,7 @@ function usePersistedTableView(defaultView, persist) {
|
|
|
27938
27971
|
return defaultView;
|
|
27939
27972
|
}
|
|
27940
27973
|
});
|
|
27941
|
-
const setViewAndPersist = (0,
|
|
27974
|
+
const setViewAndPersist = (0, import_react137.useCallback)(
|
|
27942
27975
|
(next) => {
|
|
27943
27976
|
setView(next);
|
|
27944
27977
|
if (storageKey) {
|
|
@@ -27965,28 +27998,28 @@ function isGridTableProps(props) {
|
|
|
27965
27998
|
}
|
|
27966
27999
|
|
|
27967
28000
|
// src/hooks/useGroupBy.ts
|
|
27968
|
-
var
|
|
28001
|
+
var import_react139 = require("react");
|
|
27969
28002
|
|
|
27970
28003
|
// src/hooks/useQueryState.ts
|
|
27971
|
-
var
|
|
28004
|
+
var import_react138 = require("react");
|
|
27972
28005
|
var import_use_query_params2 = require("use-query-params");
|
|
27973
28006
|
function useQueryState(name, initialValue) {
|
|
27974
28007
|
const [params, setParams] = (0, import_use_query_params2.useQueryParams)({ [name]: import_use_query_params2.StringParam });
|
|
27975
28008
|
const value = params[name] || initialValue;
|
|
27976
|
-
const setValue = (0,
|
|
28009
|
+
const setValue = (0, import_react138.useCallback)((value2) => setParams({ [name]: value2 }, "pushIn"), [name, setParams]);
|
|
27977
28010
|
return [value, setValue];
|
|
27978
28011
|
}
|
|
27979
28012
|
|
|
27980
28013
|
// src/hooks/useGroupBy.ts
|
|
27981
28014
|
function useGroupBy(opts) {
|
|
27982
28015
|
const { inModal } = useModalContext();
|
|
27983
|
-
const options = (0,
|
|
28016
|
+
const options = (0, import_react139.useMemo)(
|
|
27984
28017
|
() => safeEntries(opts).map(([key, value]) => ({ id: key, name: value })),
|
|
27985
28018
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27986
28019
|
[]
|
|
27987
28020
|
);
|
|
27988
28021
|
const [queryValue, setQueryValue] = useQueryState("groupBy", options[0].id);
|
|
27989
|
-
const [localValue, setLocalValue] = (0,
|
|
28022
|
+
const [localValue, setLocalValue] = (0, import_react139.useState)(options[0].id);
|
|
27990
28023
|
return {
|
|
27991
28024
|
value: inModal ? localValue : queryValue,
|
|
27992
28025
|
setValue: inModal ? setLocalValue : setQueryValue,
|
|
@@ -27995,17 +28028,17 @@ function useGroupBy(opts) {
|
|
|
27995
28028
|
}
|
|
27996
28029
|
|
|
27997
28030
|
// src/hooks/usePersistedFilter.ts
|
|
27998
|
-
var
|
|
28031
|
+
var import_react141 = require("react");
|
|
27999
28032
|
|
|
28000
28033
|
// src/hooks/useSessionStorage.ts
|
|
28001
|
-
var
|
|
28034
|
+
var import_react140 = require("react");
|
|
28002
28035
|
function useSessionStorage(key, defaultValue) {
|
|
28003
28036
|
let hasSessionStorage = false;
|
|
28004
28037
|
try {
|
|
28005
28038
|
hasSessionStorage = !!window.sessionStorage;
|
|
28006
28039
|
} catch (e) {
|
|
28007
28040
|
}
|
|
28008
|
-
const [state, setState] = (0,
|
|
28041
|
+
const [state, setState] = (0, import_react140.useState)(() => {
|
|
28009
28042
|
if (!hasSessionStorage) {
|
|
28010
28043
|
return defaultValue;
|
|
28011
28044
|
}
|
|
@@ -28016,7 +28049,7 @@ function useSessionStorage(key, defaultValue) {
|
|
|
28016
28049
|
sessionStorage.setItem(key, JSON.stringify(defaultValue));
|
|
28017
28050
|
return defaultValue;
|
|
28018
28051
|
});
|
|
28019
|
-
const setAndSave = (0,
|
|
28052
|
+
const setAndSave = (0, import_react140.useCallback)(
|
|
28020
28053
|
(value) => {
|
|
28021
28054
|
if (hasSessionStorage && value) {
|
|
28022
28055
|
sessionStorage.setItem(key, JSON.stringify(value));
|
|
@@ -28040,12 +28073,12 @@ function getParsedStorage(key) {
|
|
|
28040
28073
|
var import_use_query_params3 = require("use-query-params");
|
|
28041
28074
|
function usePersistedFilter({ storageKey, filterDefs }) {
|
|
28042
28075
|
const { inModal } = useModalContext();
|
|
28043
|
-
const filterImpls = (0,
|
|
28076
|
+
const filterImpls = (0, import_react141.useMemo)(
|
|
28044
28077
|
() => Object.fromEntries(safeEntries(filterDefs).map(([key, def]) => [key, def(key)])),
|
|
28045
28078
|
[filterDefs]
|
|
28046
28079
|
);
|
|
28047
|
-
const filterKeys = (0,
|
|
28048
|
-
const defaultFilter = (0,
|
|
28080
|
+
const filterKeys = (0, import_react141.useMemo)(() => Object.keys(filterImpls), [filterImpls]);
|
|
28081
|
+
const defaultFilter = (0, import_react141.useMemo)(
|
|
28049
28082
|
() => Object.fromEntries(
|
|
28050
28083
|
safeEntries(filterImpls).filter(([, def]) => def.defaultValue !== void 0).map(([key, def]) => [key, def.defaultValue])
|
|
28051
28084
|
),
|
|
@@ -28057,18 +28090,18 @@ function usePersistedFilter({ storageKey, filterDefs }) {
|
|
|
28057
28090
|
dehydrateFilter(filterImpls, defaultFilter) ?? defaultFilter
|
|
28058
28091
|
);
|
|
28059
28092
|
const isQueryParamFilterValid = hasValidFilterKeys(queryParamsFilter, filterKeys);
|
|
28060
|
-
const serializedQueryParamsFilter = (0,
|
|
28061
|
-
const serializedStoredFilter = (0,
|
|
28062
|
-
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)(
|
|
28063
28096
|
() => parseSerializedValue(serializedQueryParamsFilter),
|
|
28064
28097
|
[serializedQueryParamsFilter]
|
|
28065
28098
|
);
|
|
28066
|
-
const storedFilterSnapshot = (0,
|
|
28067
|
-
const hydratedQueryParamsFilter = (0,
|
|
28099
|
+
const storedFilterSnapshot = (0, import_react141.useMemo)(() => parseSerializedValue(serializedStoredFilter), [serializedStoredFilter]);
|
|
28100
|
+
const hydratedQueryParamsFilter = (0, import_react141.useMemo)(
|
|
28068
28101
|
() => isQueryParamFilterValid ? hydrateFilter(filterImpls, queryParamsFilterSnapshot) : void 0,
|
|
28069
28102
|
[filterImpls, isQueryParamFilterValid, queryParamsFilterSnapshot]
|
|
28070
28103
|
);
|
|
28071
|
-
const hydratedStoredFilter = (0,
|
|
28104
|
+
const hydratedStoredFilter = (0, import_react141.useMemo)(
|
|
28072
28105
|
() => hasValidFilterKeys(storedFilterSnapshot, filterKeys) ? hydrateFilter(filterImpls, storedFilterSnapshot) : void 0,
|
|
28073
28106
|
[filterImpls, filterKeys, storedFilterSnapshot]
|
|
28074
28107
|
);
|
|
@@ -28082,7 +28115,7 @@ function usePersistedFilter({ storageKey, filterDefs }) {
|
|
|
28082
28115
|
}
|
|
28083
28116
|
setQueryParams({ filter: dehydrated });
|
|
28084
28117
|
};
|
|
28085
|
-
(0,
|
|
28118
|
+
(0, import_react141.useEffect)(
|
|
28086
28119
|
() => {
|
|
28087
28120
|
if (inModal) return;
|
|
28088
28121
|
if (queryParamsFilter === void 0) {
|
|
@@ -28132,8 +28165,8 @@ function parseSerializedValue(value) {
|
|
|
28132
28165
|
return value === void 0 ? void 0 : JSON.parse(value);
|
|
28133
28166
|
}
|
|
28134
28167
|
function useStableValue(value) {
|
|
28135
|
-
const stableValue = (0,
|
|
28136
|
-
const stableKey = (0,
|
|
28168
|
+
const stableValue = (0, import_react141.useRef)(value);
|
|
28169
|
+
const stableKey = (0, import_react141.useRef)(JSON.stringify(value));
|
|
28137
28170
|
const nextKey = JSON.stringify(value);
|
|
28138
28171
|
if (stableKey.current !== nextKey) {
|
|
28139
28172
|
stableValue.current = value;
|
|
@@ -28162,12 +28195,12 @@ function GridTableLayoutComponent(props) {
|
|
|
28162
28195
|
const host = useGridTableLayoutHost();
|
|
28163
28196
|
const includeColumnGutters = host.kind === "document-scroll" || host.kind === "modal";
|
|
28164
28197
|
const columns = tableProps.columns;
|
|
28165
|
-
const hasHideableColumns = (0,
|
|
28198
|
+
const hasHideableColumns = (0, import_react142.useMemo)(() => {
|
|
28166
28199
|
if (hideEditColumns) return false;
|
|
28167
28200
|
validateColumns(columns);
|
|
28168
28201
|
return columns.some((c) => c.canHide);
|
|
28169
28202
|
}, [columns, hideEditColumns]);
|
|
28170
|
-
const api = (0,
|
|
28203
|
+
const api = (0, import_react142.useMemo)(
|
|
28171
28204
|
() => tableProps.api ?? new GridTableApiImpl(),
|
|
28172
28205
|
[tableProps.api]
|
|
28173
28206
|
);
|
|
@@ -28177,22 +28210,22 @@ function GridTableLayoutComponent(props) {
|
|
|
28177
28210
|
selectionSummary);
|
|
28178
28211
|
const isVirtualized = tableProps.as === "virtual" || view === "card";
|
|
28179
28212
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
28180
|
-
(0,
|
|
28213
|
+
(0, import_react142.useEffect)(() => {
|
|
28181
28214
|
if (layoutState?.setVisibleColumnIds) {
|
|
28182
28215
|
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
28183
28216
|
}
|
|
28184
28217
|
}, [visibleColumnIds, layoutState]);
|
|
28185
28218
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
28186
|
-
const filterSearchProps = (0,
|
|
28219
|
+
const filterSearchProps = (0, import_react142.useMemo)(
|
|
28187
28220
|
() => layoutState?.search ? { onSearch: layoutState.setSearchString } : void 0,
|
|
28188
28221
|
[layoutState?.search, layoutState?.setSearchString]
|
|
28189
28222
|
);
|
|
28190
|
-
const searchApiRef = (0,
|
|
28191
|
-
const clearFilters = (0,
|
|
28223
|
+
const searchApiRef = (0, import_react142.useRef)(void 0);
|
|
28224
|
+
const clearFilters = (0, import_react142.useCallback)(() => {
|
|
28192
28225
|
layoutState?.clearFilters();
|
|
28193
28226
|
searchApiRef.current?.clear();
|
|
28194
28227
|
}, [layoutState]);
|
|
28195
|
-
const emptyState = (0,
|
|
28228
|
+
const emptyState = (0, import_react142.useMemo)(
|
|
28196
28229
|
() => composeEmptyState(tableProps, layoutState, layoutEmptyFallback, clearFilters),
|
|
28197
28230
|
[layoutEmptyFallback, layoutState, tableProps, clearFilters]
|
|
28198
28231
|
);
|
|
@@ -28218,7 +28251,7 @@ function GridTableLayoutComponent(props) {
|
|
|
28218
28251
|
}
|
|
28219
28252
|
);
|
|
28220
28253
|
const cardAs = view === "card" ? "card" : void 0;
|
|
28221
|
-
const tableStyle = (0,
|
|
28254
|
+
const tableStyle = (0, import_react142.useMemo)(() => getDefaultStyle(tableProps.style), [tableProps.style]);
|
|
28222
28255
|
const tableBody = /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(import_jsx_runtime204.Fragment, { children: isGridTableProps(tableProps) ? /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(
|
|
28223
28256
|
GridTable,
|
|
28224
28257
|
{
|
|
@@ -28260,7 +28293,7 @@ function GridTableLayoutComponent(props) {
|
|
|
28260
28293
|
}
|
|
28261
28294
|
);
|
|
28262
28295
|
}
|
|
28263
|
-
var GridTableLayout =
|
|
28296
|
+
var GridTableLayout = import_react142.default.memo(GridTableLayoutComponent);
|
|
28264
28297
|
function getDefaultStyle(style) {
|
|
28265
28298
|
if (style !== void 0 && !isGridStyleDef(style)) return style;
|
|
28266
28299
|
return { allWhite: true, ...style };
|
|
@@ -28281,14 +28314,14 @@ function useGridTableLayoutState({
|
|
|
28281
28314
|
const filterFallback = { filterDefs: {}, storageKey: "unset-filter" };
|
|
28282
28315
|
const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
|
|
28283
28316
|
const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
|
|
28284
|
-
const [searchString, setSearchString] = (0,
|
|
28317
|
+
const [searchString, setSearchString] = (0, import_react142.useState)("");
|
|
28285
28318
|
const columnsFallback = "unset-columns";
|
|
28286
28319
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
|
|
28287
28320
|
persistedColumns?.storageKey ?? columnsFallback,
|
|
28288
28321
|
void 0
|
|
28289
28322
|
);
|
|
28290
28323
|
const filteringActive = getActiveFilterCount(filter) > 0 || !!searchString;
|
|
28291
|
-
const clearFilters = (0,
|
|
28324
|
+
const clearFilters = (0, import_react142.useCallback)(() => {
|
|
28292
28325
|
setFilter({});
|
|
28293
28326
|
setSearchString("");
|
|
28294
28327
|
}, [setFilter]);
|
|
@@ -28335,7 +28368,7 @@ function PreventBrowserScroll({
|
|
|
28335
28368
|
|
|
28336
28369
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
28337
28370
|
var import_framer_motion4 = require("framer-motion");
|
|
28338
|
-
var
|
|
28371
|
+
var import_react143 = require("react");
|
|
28339
28372
|
var import_runtime134 = require("@homebound/truss/runtime");
|
|
28340
28373
|
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
28341
28374
|
var __maybeInc22 = (inc) => {
|
|
@@ -28350,11 +28383,10 @@ function RightPaneLayout(props) {
|
|
|
28350
28383
|
} = props;
|
|
28351
28384
|
const {
|
|
28352
28385
|
isRightPaneOpen,
|
|
28353
|
-
clearPane: clearPane2
|
|
28354
|
-
closePane: closePane2
|
|
28386
|
+
clearPane: clearPane2
|
|
28355
28387
|
} = useRightPaneOpenState();
|
|
28356
28388
|
const rightPaneContent = useRightPaneContent();
|
|
28357
|
-
(0,
|
|
28389
|
+
(0, import_react143.useEffect)(() => hideRightPane, []);
|
|
28358
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: [
|
|
28359
28391
|
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ...(0, import_runtime134.trussProps)({
|
|
28360
28392
|
...{
|
|
@@ -28444,12 +28476,12 @@ function RightPaneLayout(props) {
|
|
|
28444
28476
|
}
|
|
28445
28477
|
|
|
28446
28478
|
// src/components/Layout/RightPaneLayout/RightPanePanel.tsx
|
|
28447
|
-
var
|
|
28479
|
+
var import_react145 = require("react");
|
|
28448
28480
|
var import_react_dom8 = require("react-dom");
|
|
28449
28481
|
|
|
28450
28482
|
// src/components/Layout/RightPaneLayout/internal/DeleteAction.tsx
|
|
28451
28483
|
var import_utils41 = require("@react-aria/utils");
|
|
28452
|
-
var
|
|
28484
|
+
var import_react144 = require("react");
|
|
28453
28485
|
var import_runtime135 = require("@homebound/truss/runtime");
|
|
28454
28486
|
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
28455
28487
|
function MaybeDeleteAction(props) {
|
|
@@ -28466,9 +28498,9 @@ function BulkDeleteAction(props) {
|
|
|
28466
28498
|
count,
|
|
28467
28499
|
...buttonProps
|
|
28468
28500
|
} = props;
|
|
28469
|
-
const containerRef = (0,
|
|
28470
|
-
const contentRef = (0,
|
|
28471
|
-
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);
|
|
28472
28504
|
const onResize = () => {
|
|
28473
28505
|
if (!containerRef.current || !contentRef.current) return;
|
|
28474
28506
|
setOverflows(contentRef.current.offsetWidth > containerRef.current.clientWidth);
|
|
@@ -28525,6 +28557,7 @@ function RightPanePanel(props) {
|
|
|
28525
28557
|
title,
|
|
28526
28558
|
children,
|
|
28527
28559
|
tag,
|
|
28560
|
+
isDirty,
|
|
28528
28561
|
withClose = true,
|
|
28529
28562
|
primaryAction,
|
|
28530
28563
|
secondaryAction,
|
|
@@ -28534,7 +28567,19 @@ function RightPanePanel(props) {
|
|
|
28534
28567
|
const {
|
|
28535
28568
|
closeRightPane
|
|
28536
28569
|
} = useRightPaneActions();
|
|
28537
|
-
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]);
|
|
28538
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 }));
|
|
28539
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 });
|
|
28540
28585
|
const closeEl = withClose && /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(IconButton, { icon: "x", label: "Close", autoFocus: true, onClick: closeRightPane, ...tid.close });
|
|
@@ -28589,11 +28634,11 @@ function RightPaneBanner(props) {
|
|
|
28589
28634
|
const {
|
|
28590
28635
|
children
|
|
28591
28636
|
} = props;
|
|
28592
|
-
const slot = (0,
|
|
28637
|
+
const slot = (0, import_react145.useContext)(RightPaneBannerSlotContext);
|
|
28593
28638
|
if (slot === void 0) fail("RightPaneBanner must be rendered inside a RightPanePanel");
|
|
28594
28639
|
return slot ? (0, import_react_dom8.createPortal)(children, slot) : null;
|
|
28595
28640
|
}
|
|
28596
|
-
var RightPaneBannerSlotContext = (0,
|
|
28641
|
+
var RightPaneBannerSlotContext = (0, import_react145.createContext)(void 0);
|
|
28597
28642
|
|
|
28598
28643
|
// src/components/Layout/ScrollableFooter.tsx
|
|
28599
28644
|
var import_react_dom9 = require("react-dom");
|
|
@@ -28609,7 +28654,7 @@ function ScrollableFooter(props) {
|
|
|
28609
28654
|
|
|
28610
28655
|
// src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
|
|
28611
28656
|
var import_framer_motion5 = require("framer-motion");
|
|
28612
|
-
var
|
|
28657
|
+
var import_react146 = require("react");
|
|
28613
28658
|
|
|
28614
28659
|
// src/components/Layout/TableReviewLayout/SidePanel.tsx
|
|
28615
28660
|
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
@@ -28649,8 +28694,8 @@ function TableReviewLayout(props) {
|
|
|
28649
28694
|
rightPaneWidth = defaultRightPaneWidth
|
|
28650
28695
|
} = props;
|
|
28651
28696
|
const tid = useTestIds(props, "tableReviewLayout");
|
|
28652
|
-
const [isPanelVisible, setIsPanelVisible] = (0,
|
|
28653
|
-
(0,
|
|
28697
|
+
const [isPanelVisible, setIsPanelVisible] = (0, import_react146.useState)(!!panelContent);
|
|
28698
|
+
(0, import_react146.useEffect)(() => {
|
|
28654
28699
|
setIsPanelVisible(!!panelContent);
|
|
28655
28700
|
}, [panelContent]);
|
|
28656
28701
|
function handleClosePanel() {
|
|
@@ -28810,24 +28855,24 @@ function HomeboundLogo(props) {
|
|
|
28810
28855
|
|
|
28811
28856
|
// src/components/MaxLines.tsx
|
|
28812
28857
|
var import_utils42 = require("@react-aria/utils");
|
|
28813
|
-
var
|
|
28858
|
+
var import_react147 = require("react");
|
|
28814
28859
|
var import_runtime140 = require("@homebound/truss/runtime");
|
|
28815
28860
|
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
28816
28861
|
function MaxLines({
|
|
28817
28862
|
maxLines,
|
|
28818
28863
|
children
|
|
28819
28864
|
}) {
|
|
28820
|
-
const elRef = (0,
|
|
28821
|
-
const [hasMore, setHasMore] = (0,
|
|
28822
|
-
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);
|
|
28823
28868
|
(0, import_utils42.useLayoutEffect)(() => {
|
|
28824
28869
|
if (!elRef.current) return;
|
|
28825
28870
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
28826
28871
|
}, []);
|
|
28827
|
-
(0,
|
|
28872
|
+
(0, import_react147.useEffect)(() => {
|
|
28828
28873
|
setExpanded(false);
|
|
28829
28874
|
}, [children]);
|
|
28830
|
-
const onResize = (0,
|
|
28875
|
+
const onResize = (0, import_react147.useCallback)(() => {
|
|
28831
28876
|
if (!elRef.current) return;
|
|
28832
28877
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
28833
28878
|
}, [expanded]);
|
|
@@ -28942,7 +28987,7 @@ function toPageNumberSize(page) {
|
|
|
28942
28987
|
|
|
28943
28988
|
// src/components/ScrollShadows.tsx
|
|
28944
28989
|
var import_utils43 = require("@react-aria/utils");
|
|
28945
|
-
var
|
|
28990
|
+
var import_react148 = require("react");
|
|
28946
28991
|
var import_runtime142 = require("@homebound/truss/runtime");
|
|
28947
28992
|
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
28948
28993
|
function ScrollShadows(props) {
|
|
@@ -28960,10 +29005,10 @@ function ScrollShadows(props) {
|
|
|
28960
29005
|
if (!bgColor.includes("rgba")) {
|
|
28961
29006
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
28962
29007
|
}
|
|
28963
|
-
const [showStartShadow, setShowStartShadow] = (0,
|
|
28964
|
-
const [showEndShadow, setShowEndShadow] = (0,
|
|
28965
|
-
const scrollRef = (0,
|
|
28966
|
-
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)(() => {
|
|
28967
29012
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
28968
29013
|
const commonStyles = {
|
|
28969
29014
|
position: "absolute",
|
|
@@ -29014,7 +29059,7 @@ function ScrollShadows(props) {
|
|
|
29014
29059
|
}
|
|
29015
29060
|
}];
|
|
29016
29061
|
}, [horizontal, bgColor]);
|
|
29017
|
-
const updateScrollProps = (0,
|
|
29062
|
+
const updateScrollProps = (0, import_react148.useCallback)((el) => {
|
|
29018
29063
|
const {
|
|
29019
29064
|
scrollTop,
|
|
29020
29065
|
scrollHeight,
|
|
@@ -29029,7 +29074,7 @@ function ScrollShadows(props) {
|
|
|
29029
29074
|
setShowStartShadow(start > 0);
|
|
29030
29075
|
setShowEndShadow(start + boxSize < end);
|
|
29031
29076
|
}, [horizontal]);
|
|
29032
|
-
const onResize = (0,
|
|
29077
|
+
const onResize = (0, import_react148.useCallback)(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
29033
29078
|
(0, import_utils43.useResizeObserver)({
|
|
29034
29079
|
ref: scrollRef,
|
|
29035
29080
|
onResize
|
|
@@ -29083,10 +29128,10 @@ var import_change_case8 = require("change-case");
|
|
|
29083
29128
|
// src/components/AppNav/AppNavGroup.tsx
|
|
29084
29129
|
var import_utils44 = require("@react-aria/utils");
|
|
29085
29130
|
var import_change_case7 = require("change-case");
|
|
29086
|
-
var
|
|
29131
|
+
var import_react151 = require("react");
|
|
29087
29132
|
|
|
29088
29133
|
// src/components/AppNav/AppNavGroupTrigger.tsx
|
|
29089
|
-
var
|
|
29134
|
+
var import_react149 = require("react");
|
|
29090
29135
|
var import_react_aria68 = require("react-aria");
|
|
29091
29136
|
var import_runtime143 = require("@homebound/truss/runtime");
|
|
29092
29137
|
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
@@ -29099,7 +29144,7 @@ function AppNavGroupTrigger(props) {
|
|
|
29099
29144
|
active = false
|
|
29100
29145
|
} = props;
|
|
29101
29146
|
const tid = useTestIds(props, "trigger");
|
|
29102
|
-
const ref = (0,
|
|
29147
|
+
const ref = (0, import_react149.useRef)(null);
|
|
29103
29148
|
const {
|
|
29104
29149
|
buttonProps,
|
|
29105
29150
|
isPressed
|
|
@@ -29120,7 +29165,7 @@ function AppNavGroupTrigger(props) {
|
|
|
29120
29165
|
focusRingStyles: focusRingStyles2,
|
|
29121
29166
|
hoverStyles: hoverStyles4,
|
|
29122
29167
|
pressedStyles: pressedStyles2
|
|
29123
|
-
} = (0,
|
|
29168
|
+
} = (0, import_react149.useMemo)(() => getNavLinkStyles("side"), []);
|
|
29124
29169
|
return /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)("button", { type: "button", ...(0, import_react_aria68.mergeProps)(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
29125
29170
|
ref,
|
|
29126
29171
|
"aria-expanded": expanded,
|
|
@@ -29258,7 +29303,7 @@ function entryHasIcons(item) {
|
|
|
29258
29303
|
}
|
|
29259
29304
|
|
|
29260
29305
|
// src/components/AppNav/useAppNavGroupExpanded.ts
|
|
29261
|
-
var
|
|
29306
|
+
var import_react150 = require("react");
|
|
29262
29307
|
var APP_NAV_EXPANDED_LINK_GROUPS_STORAGE_KEY = "beam.appNav.expandedLinkGroups";
|
|
29263
29308
|
function loadStored() {
|
|
29264
29309
|
try {
|
|
@@ -29277,13 +29322,13 @@ function persistLabel(label, expanded) {
|
|
|
29277
29322
|
}
|
|
29278
29323
|
function useAppNavGroupExpanded(linkGroup) {
|
|
29279
29324
|
const { label } = linkGroup;
|
|
29280
|
-
const [userExpanded, setUserExpanded] = (0,
|
|
29325
|
+
const [userExpanded, setUserExpanded] = (0, import_react150.useState)(() => {
|
|
29281
29326
|
const stored = loadStored();
|
|
29282
29327
|
return label in stored ? stored[label] : null;
|
|
29283
29328
|
});
|
|
29284
29329
|
const hasActiveLink = appNavLinkGroupLinks(linkGroup).some((l) => l.active);
|
|
29285
29330
|
const expanded = userExpanded !== null ? userExpanded : hasActiveLink ? true : linkGroup.defaultExpanded ?? false;
|
|
29286
|
-
const onToggle = (0,
|
|
29331
|
+
const onToggle = (0, import_react150.useCallback)(() => {
|
|
29287
29332
|
const next = !expanded;
|
|
29288
29333
|
setUserExpanded(next);
|
|
29289
29334
|
persistLabel(label, next);
|
|
@@ -29318,15 +29363,15 @@ function AppNavGroupDisclosure(props) {
|
|
|
29318
29363
|
} = useAppNavGroupExpanded(linkGroup);
|
|
29319
29364
|
const tid = useTestIds(props, "linkGroup");
|
|
29320
29365
|
const navGroupId = `nav-group-${(0, import_change_case7.kebabCase)(linkGroup.label)}`;
|
|
29321
|
-
const [contentEl, setContentEl] = (0,
|
|
29322
|
-
const contentRef = (0,
|
|
29366
|
+
const [contentEl, setContentEl] = (0, import_react151.useState)(null);
|
|
29367
|
+
const contentRef = (0, import_react151.useMemo)(() => ({
|
|
29323
29368
|
current: contentEl
|
|
29324
29369
|
}), [contentEl]);
|
|
29325
|
-
const [contentHeight, setContentHeight] = (0,
|
|
29326
|
-
(0,
|
|
29370
|
+
const [contentHeight, setContentHeight] = (0, import_react151.useState)(expanded ? "auto" : "0");
|
|
29371
|
+
(0, import_react151.useEffect)(() => {
|
|
29327
29372
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
29328
29373
|
}, [expanded, contentEl]);
|
|
29329
|
-
const onResize = (0,
|
|
29374
|
+
const onResize = (0, import_react151.useCallback)(() => {
|
|
29330
29375
|
if (contentEl && expanded) {
|
|
29331
29376
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
29332
29377
|
}
|
|
@@ -29472,7 +29517,7 @@ function AppNavItems(props) {
|
|
|
29472
29517
|
}
|
|
29473
29518
|
|
|
29474
29519
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
29475
|
-
var
|
|
29520
|
+
var import_react152 = require("react");
|
|
29476
29521
|
var import_jsx_runtime222 = require("react/jsx-runtime");
|
|
29477
29522
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
29478
29523
|
function loadStoredNavState() {
|
|
@@ -29495,20 +29540,20 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
29495
29540
|
}
|
|
29496
29541
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
29497
29542
|
}
|
|
29498
|
-
var SideNavLayoutContext = (0,
|
|
29543
|
+
var SideNavLayoutContext = (0, import_react152.createContext)(void 0);
|
|
29499
29544
|
function SideNavLayoutProvider(props) {
|
|
29500
|
-
const [navState, setNavStateInternal] = (0,
|
|
29545
|
+
const [navState, setNavStateInternal] = (0, import_react152.useState)(
|
|
29501
29546
|
() => resolveInitialNavState(props.defaultNavState)
|
|
29502
29547
|
);
|
|
29503
29548
|
const bp = useBreakpoint();
|
|
29504
|
-
const prevMdAndUp = (0,
|
|
29505
|
-
(0,
|
|
29549
|
+
const prevMdAndUp = (0, import_react152.useRef)(bp.mdAndUp);
|
|
29550
|
+
(0, import_react152.useEffect)(() => {
|
|
29506
29551
|
if (prevMdAndUp.current && !bp.mdAndUp) {
|
|
29507
29552
|
setNavStateInternal((prev) => prev === "expanded" ? "collapse" : prev);
|
|
29508
29553
|
}
|
|
29509
29554
|
prevMdAndUp.current = bp.mdAndUp;
|
|
29510
29555
|
}, [bp.mdAndUp]);
|
|
29511
|
-
const setNavState = (0,
|
|
29556
|
+
const setNavState = (0, import_react152.useCallback)((value2) => {
|
|
29512
29557
|
setNavStateInternal((prev) => {
|
|
29513
29558
|
const next = typeof value2 === "function" ? value2(prev) : value2;
|
|
29514
29559
|
if (next === "expanded" || next === "collapse") {
|
|
@@ -29520,15 +29565,15 @@ function SideNavLayoutProvider(props) {
|
|
|
29520
29565
|
return next;
|
|
29521
29566
|
});
|
|
29522
29567
|
}, []);
|
|
29523
|
-
const value = (0,
|
|
29568
|
+
const value = (0, import_react152.useMemo)(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
29524
29569
|
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
29525
29570
|
}
|
|
29526
29571
|
function useSideNavLayoutContext() {
|
|
29527
|
-
return (0,
|
|
29572
|
+
return (0, import_react152.useContext)(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
29528
29573
|
} };
|
|
29529
29574
|
}
|
|
29530
29575
|
function useHasSideNavLayoutProvider() {
|
|
29531
|
-
return (0,
|
|
29576
|
+
return (0, import_react152.useContext)(SideNavLayoutContext) !== void 0;
|
|
29532
29577
|
}
|
|
29533
29578
|
|
|
29534
29579
|
// src/components/SideNav/SideNav.tsx
|
|
@@ -29589,11 +29634,11 @@ function SideNav(props) {
|
|
|
29589
29634
|
}
|
|
29590
29635
|
|
|
29591
29636
|
// src/components/Stepper.tsx
|
|
29592
|
-
var
|
|
29637
|
+
var import_react153 = require("react");
|
|
29593
29638
|
var import_react_aria69 = require("react-aria");
|
|
29594
29639
|
var import_runtime147 = require("@homebound/truss/runtime");
|
|
29595
29640
|
var import_jsx_runtime224 = require("react/jsx-runtime");
|
|
29596
|
-
var
|
|
29641
|
+
var import_react154 = require("react");
|
|
29597
29642
|
var __maybeInc26 = (inc) => {
|
|
29598
29643
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
29599
29644
|
};
|
|
@@ -29622,7 +29667,7 @@ function Stepper(props) {
|
|
|
29622
29667
|
}]
|
|
29623
29668
|
}), children: steps.map((step) => {
|
|
29624
29669
|
const isCurrent = currentStep === step.value;
|
|
29625
|
-
return /* @__PURE__ */ (0,
|
|
29670
|
+
return /* @__PURE__ */ (0, import_react154.createElement)("li", { ...(0, import_runtime147.trussProps)({
|
|
29626
29671
|
display: "df",
|
|
29627
29672
|
flexGrow: "fg1",
|
|
29628
29673
|
flexDirection: "fdc",
|
|
@@ -29671,7 +29716,7 @@ function StepButton(props) {
|
|
|
29671
29716
|
onPress: onClick,
|
|
29672
29717
|
isDisabled: disabled
|
|
29673
29718
|
};
|
|
29674
|
-
const ref = (0,
|
|
29719
|
+
const ref = (0, import_react153.useRef)(null);
|
|
29675
29720
|
const {
|
|
29676
29721
|
buttonProps,
|
|
29677
29722
|
isPressed
|
|
@@ -29781,7 +29826,7 @@ function StepIcon({
|
|
|
29781
29826
|
}
|
|
29782
29827
|
|
|
29783
29828
|
// src/components/StepperTabs/StepperTab.tsx
|
|
29784
|
-
var
|
|
29829
|
+
var import_react155 = require("react");
|
|
29785
29830
|
var import_react_aria70 = require("react-aria");
|
|
29786
29831
|
var import_runtime148 = require("@homebound/truss/runtime");
|
|
29787
29832
|
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
@@ -29800,7 +29845,7 @@ function StepperTab(props) {
|
|
|
29800
29845
|
onPress: () => onClick(value),
|
|
29801
29846
|
isDisabled: disabled || collapsed
|
|
29802
29847
|
};
|
|
29803
|
-
const ref = (0,
|
|
29848
|
+
const ref = (0, import_react155.useRef)(null);
|
|
29804
29849
|
const {
|
|
29805
29850
|
buttonProps
|
|
29806
29851
|
} = (0, import_react_aria70.useButton)(ariaProps, ref);
|
|
@@ -29937,7 +29982,7 @@ var stepperTabStyles = {
|
|
|
29937
29982
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
29938
29983
|
var import_runtime149 = require("@homebound/truss/runtime");
|
|
29939
29984
|
var import_jsx_runtime226 = require("react/jsx-runtime");
|
|
29940
|
-
var
|
|
29985
|
+
var import_react156 = require("react");
|
|
29941
29986
|
function StepperTabs(props) {
|
|
29942
29987
|
const {
|
|
29943
29988
|
steps,
|
|
@@ -29967,7 +30012,7 @@ function StepperTabs(props) {
|
|
|
29967
30012
|
}), children: steps.map((step, idx) => {
|
|
29968
30013
|
const isCurrent = idx === currentStepIndex;
|
|
29969
30014
|
const isCompleted = idx < currentStepIndex;
|
|
29970
|
-
return /* @__PURE__ */ (0,
|
|
30015
|
+
return /* @__PURE__ */ (0, import_react156.createElement)("li", { ...(0, import_runtime149.trussProps)({
|
|
29971
30016
|
display: "df",
|
|
29972
30017
|
flexGrow: "fg1",
|
|
29973
30018
|
flexBasis: "fb_0",
|
|
@@ -30201,7 +30246,7 @@ function segmentWidth(count, total) {
|
|
|
30201
30246
|
}
|
|
30202
30247
|
|
|
30203
30248
|
// src/components/TableSummary/TableSummary.tsx
|
|
30204
|
-
var
|
|
30249
|
+
var import_react157 = require("react");
|
|
30205
30250
|
var import_react_aria71 = require("react-aria");
|
|
30206
30251
|
var import_runtime153 = require("@homebound/truss/runtime");
|
|
30207
30252
|
var import_jsx_runtime231 = require("react/jsx-runtime");
|
|
@@ -30261,7 +30306,7 @@ function MetricButton(props) {
|
|
|
30261
30306
|
metric,
|
|
30262
30307
|
divider
|
|
30263
30308
|
} = props;
|
|
30264
|
-
const ref = (0,
|
|
30309
|
+
const ref = (0, import_react157.useRef)(null);
|
|
30265
30310
|
const {
|
|
30266
30311
|
buttonProps
|
|
30267
30312
|
} = (0, import_react_aria71.useButton)({
|
|
@@ -30338,7 +30383,7 @@ function MetricButton(props) {
|
|
|
30338
30383
|
|
|
30339
30384
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
30340
30385
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
30341
|
-
var
|
|
30386
|
+
var import_react159 = require("react");
|
|
30342
30387
|
|
|
30343
30388
|
// src/utils/inlineStyles.ts
|
|
30344
30389
|
function isInlineStyleValue(value) {
|
|
@@ -30367,14 +30412,14 @@ function restoreElementStyle(el, snapshot) {
|
|
|
30367
30412
|
}
|
|
30368
30413
|
|
|
30369
30414
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
30370
|
-
var
|
|
30371
|
-
var DnDGridContext = (0,
|
|
30415
|
+
var import_react158 = require("react");
|
|
30416
|
+
var DnDGridContext = (0, import_react158.createContext)({
|
|
30372
30417
|
dragEl: { current: void 0 },
|
|
30373
30418
|
onDragHandleKeyDown: () => {
|
|
30374
30419
|
}
|
|
30375
30420
|
});
|
|
30376
30421
|
function useDnDGridContext() {
|
|
30377
|
-
return (0,
|
|
30422
|
+
return (0, import_react158.useContext)(DnDGridContext);
|
|
30378
30423
|
}
|
|
30379
30424
|
|
|
30380
30425
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
@@ -30388,13 +30433,13 @@ function DnDGrid(props) {
|
|
|
30388
30433
|
activeItemStyles,
|
|
30389
30434
|
lockAxis
|
|
30390
30435
|
} = props;
|
|
30391
|
-
const gridEl = (0,
|
|
30392
|
-
const dragEl = (0,
|
|
30393
|
-
const cloneEl = (0,
|
|
30394
|
-
const initialOrder = (0,
|
|
30395
|
-
const styleSnapshot = (0,
|
|
30396
|
-
const reorderViaKeyboard = (0,
|
|
30397
|
-
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)({
|
|
30398
30443
|
x: 0,
|
|
30399
30444
|
y: 0
|
|
30400
30445
|
});
|
|
@@ -30402,20 +30447,20 @@ function DnDGrid(props) {
|
|
|
30402
30447
|
const activeStyles3 = activeItemStyles ?? {
|
|
30403
30448
|
boxShadow: "bshModal"
|
|
30404
30449
|
};
|
|
30405
|
-
const getGridItems = (0,
|
|
30450
|
+
const getGridItems = (0, import_react159.useCallback)(() => {
|
|
30406
30451
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
30407
30452
|
}, []);
|
|
30408
|
-
const getGridItemIdOrder = (0,
|
|
30453
|
+
const getGridItemIdOrder = (0, import_react159.useCallback)(() => {
|
|
30409
30454
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
30410
30455
|
}, [getGridItems]);
|
|
30411
|
-
const initReorder = (0,
|
|
30456
|
+
const initReorder = (0, import_react159.useCallback)(() => {
|
|
30412
30457
|
if (gridEl.current && dragEl.current) {
|
|
30413
30458
|
initialOrder.current = getGridItemIdOrder();
|
|
30414
30459
|
styleSnapshot.current = snapshotElementStyle(dragEl.current);
|
|
30415
30460
|
applyActiveStyles(dragEl.current, activeStyles3);
|
|
30416
30461
|
}
|
|
30417
30462
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
30418
|
-
const commitReorder = (0,
|
|
30463
|
+
const commitReorder = (0, import_react159.useCallback)(() => {
|
|
30419
30464
|
if (gridEl.current && dragEl.current) {
|
|
30420
30465
|
const currentOrder = getGridItemIdOrder();
|
|
30421
30466
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -30425,7 +30470,7 @@ function DnDGrid(props) {
|
|
|
30425
30470
|
initialOrder.current = currentOrder;
|
|
30426
30471
|
}
|
|
30427
30472
|
}, [onReorder, getGridItemIdOrder]);
|
|
30428
|
-
const cancelReorder = (0,
|
|
30473
|
+
const cancelReorder = (0, import_react159.useCallback)(() => {
|
|
30429
30474
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
30430
30475
|
const currentOrder = getGridItemIdOrder();
|
|
30431
30476
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -30447,7 +30492,7 @@ function DnDGrid(props) {
|
|
|
30447
30492
|
reorderViaKeyboard.current = false;
|
|
30448
30493
|
}
|
|
30449
30494
|
}, [getGridItemIdOrder, getGridItems]);
|
|
30450
|
-
const onMove = (0,
|
|
30495
|
+
const onMove = (0, import_react159.useCallback)((e) => {
|
|
30451
30496
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
30452
30497
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
30453
30498
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -30470,7 +30515,7 @@ function DnDGrid(props) {
|
|
|
30470
30515
|
}
|
|
30471
30516
|
}
|
|
30472
30517
|
}, [lockAxis]);
|
|
30473
|
-
const onDragEnd = (0,
|
|
30518
|
+
const onDragEnd = (0, import_react159.useCallback)((e) => {
|
|
30474
30519
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
30475
30520
|
e.preventDefault();
|
|
30476
30521
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -30481,7 +30526,7 @@ function DnDGrid(props) {
|
|
|
30481
30526
|
removePointerDragListeners(onMove, onDragEnd);
|
|
30482
30527
|
}
|
|
30483
30528
|
}, [commitReorder, onMove]);
|
|
30484
|
-
const onDragStart = (0,
|
|
30529
|
+
const onDragStart = (0, import_react159.useCallback)((e) => {
|
|
30485
30530
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
30486
30531
|
const rect = dragEl.current.getBoundingClientRect();
|
|
30487
30532
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
@@ -30509,10 +30554,10 @@ function DnDGrid(props) {
|
|
|
30509
30554
|
addPointerDragListeners(onMove, onDragEnd);
|
|
30510
30555
|
}
|
|
30511
30556
|
}, [initReorder, onMove, onDragEnd]);
|
|
30512
|
-
(0,
|
|
30557
|
+
(0, import_react159.useEffect)(() => {
|
|
30513
30558
|
return () => removePointerDragListeners(onMove, onDragEnd);
|
|
30514
30559
|
}, [onMove, onDragEnd]);
|
|
30515
|
-
const onDragHandleKeyDown = (0,
|
|
30560
|
+
const onDragHandleKeyDown = (0, import_react159.useCallback)((e) => {
|
|
30516
30561
|
const moveHandle = e.target;
|
|
30517
30562
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
30518
30563
|
const isSpaceKey = e.key === " ";
|
|
@@ -30653,11 +30698,11 @@ function DnDGridItemHandle(props) {
|
|
|
30653
30698
|
}
|
|
30654
30699
|
|
|
30655
30700
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
30656
|
-
var
|
|
30701
|
+
var import_react160 = require("react");
|
|
30657
30702
|
function useDnDGridItem(props) {
|
|
30658
30703
|
const { id, itemRef } = props;
|
|
30659
30704
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
30660
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
30705
|
+
const { dragItemProps, dragHandleProps } = (0, import_react160.useMemo)(() => {
|
|
30661
30706
|
function initDraggable() {
|
|
30662
30707
|
if (itemRef.current) {
|
|
30663
30708
|
dragEl.current = itemRef.current;
|
|
@@ -31195,10 +31240,10 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
31195
31240
|
};
|
|
31196
31241
|
|
|
31197
31242
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
31198
|
-
var
|
|
31243
|
+
var import_react163 = require("react");
|
|
31199
31244
|
|
|
31200
31245
|
// src/components/Grid/useResponsiveGrid.ts
|
|
31201
|
-
var
|
|
31246
|
+
var import_react161 = require("react");
|
|
31202
31247
|
var import_runtime156 = require("@homebound/truss/runtime");
|
|
31203
31248
|
var __maybeInc28 = (inc) => {
|
|
31204
31249
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -31209,7 +31254,7 @@ function useResponsiveGrid(props) {
|
|
|
31209
31254
|
gap,
|
|
31210
31255
|
columns
|
|
31211
31256
|
} = props;
|
|
31212
|
-
const gridStyles = (0,
|
|
31257
|
+
const gridStyles = (0, import_react161.useMemo)(() => {
|
|
31213
31258
|
const gapCount = columns - 1;
|
|
31214
31259
|
const totalGapWidth = gap * gapCount;
|
|
31215
31260
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -31232,9 +31277,9 @@ function useResponsiveGrid(props) {
|
|
|
31232
31277
|
}
|
|
31233
31278
|
|
|
31234
31279
|
// src/components/Grid/utils.ts
|
|
31235
|
-
var
|
|
31280
|
+
var import_react162 = require("react");
|
|
31236
31281
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
31237
|
-
var ResponsiveGridContext = (0,
|
|
31282
|
+
var ResponsiveGridContext = (0, import_react162.createContext)(void 0);
|
|
31238
31283
|
|
|
31239
31284
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
31240
31285
|
var import_runtime157 = require("@homebound/truss/runtime");
|
|
@@ -31253,7 +31298,7 @@ function ResponsiveGrid(props) {
|
|
|
31253
31298
|
gap,
|
|
31254
31299
|
columns
|
|
31255
31300
|
});
|
|
31256
|
-
const config = (0,
|
|
31301
|
+
const config = (0, import_react163.useMemo)(() => ({
|
|
31257
31302
|
minColumnWidth,
|
|
31258
31303
|
gap,
|
|
31259
31304
|
columns
|
|
@@ -31266,14 +31311,14 @@ var import_react_aria73 = require("react-aria");
|
|
|
31266
31311
|
var import_runtime158 = require("@homebound/truss/runtime");
|
|
31267
31312
|
|
|
31268
31313
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
31269
|
-
var
|
|
31314
|
+
var import_react164 = require("react");
|
|
31270
31315
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
31271
31316
|
var responsiveGridStyleEl;
|
|
31272
31317
|
function useResponsiveGridItem(props) {
|
|
31273
31318
|
const { colSpan = 1, gridConfig } = props;
|
|
31274
|
-
const contextConfig = (0,
|
|
31319
|
+
const contextConfig = (0, import_react164.useContext)(ResponsiveGridContext);
|
|
31275
31320
|
const config = gridConfig ?? contextConfig;
|
|
31276
|
-
const { className, cssText } = (0,
|
|
31321
|
+
const { className, cssText } = (0, import_react164.useMemo)(() => {
|
|
31277
31322
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
31278
31323
|
const { minColumnWidth, gap } = config;
|
|
31279
31324
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -31296,7 +31341,7 @@ function useResponsiveGridItem(props) {
|
|
|
31296
31341
|
};
|
|
31297
31342
|
}
|
|
31298
31343
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
31299
|
-
(0,
|
|
31344
|
+
(0, import_react164.useEffect)(
|
|
31300
31345
|
function() {
|
|
31301
31346
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
31302
31347
|
if (!responsiveGridStyleEl) {
|
|
@@ -31334,7 +31379,7 @@ function ResponsiveGridItem(props) {
|
|
|
31334
31379
|
}
|
|
31335
31380
|
|
|
31336
31381
|
// src/components/HbLoadingSpinner.tsx
|
|
31337
|
-
var
|
|
31382
|
+
var import_react165 = __toESM(require("react"), 1);
|
|
31338
31383
|
|
|
31339
31384
|
// src/components/HbLoadingSpinner.base64.ts
|
|
31340
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";
|
|
@@ -31347,9 +31392,9 @@ function HbLoadingSpinner({
|
|
|
31347
31392
|
extraQuipsOnly,
|
|
31348
31393
|
iconOnly
|
|
31349
31394
|
}) {
|
|
31350
|
-
const ctx = (0,
|
|
31395
|
+
const ctx = (0, import_react165.useContext)(HbLoadingSpinnerContext);
|
|
31351
31396
|
const tid = useTestIds({}, "hbSpinner");
|
|
31352
|
-
const quip = (0,
|
|
31397
|
+
const quip = (0, import_react165.useMemo)(() => {
|
|
31353
31398
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
31354
31399
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
31355
31400
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
@@ -31379,7 +31424,7 @@ function HbLoadingSpinner({
|
|
|
31379
31424
|
var dotDotDot = (str) => str.concat("...");
|
|
31380
31425
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
31381
31426
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
31382
|
-
var HbLoadingSpinnerContext =
|
|
31427
|
+
var HbLoadingSpinnerContext = import_react165.default.createContext({
|
|
31383
31428
|
quips: ["Loading..."],
|
|
31384
31429
|
noQuips: false
|
|
31385
31430
|
});
|
|
@@ -31387,7 +31432,7 @@ function HbSpinnerProvider({
|
|
|
31387
31432
|
quips = [],
|
|
31388
31433
|
children
|
|
31389
31434
|
}) {
|
|
31390
|
-
const state = (0,
|
|
31435
|
+
const state = (0, import_react165.useMemo)(() => ({
|
|
31391
31436
|
quips,
|
|
31392
31437
|
noQuips: quips.length === 0
|
|
31393
31438
|
}), [quips]);
|
|
@@ -31395,12 +31440,12 @@ function HbSpinnerProvider({
|
|
|
31395
31440
|
}
|
|
31396
31441
|
|
|
31397
31442
|
// src/components/Modal/OpenModal.tsx
|
|
31398
|
-
var
|
|
31443
|
+
var import_react166 = require("react");
|
|
31399
31444
|
var import_jsx_runtime246 = require("react/jsx-runtime");
|
|
31400
31445
|
function OpenModal(props) {
|
|
31401
31446
|
const { openModal } = useModal();
|
|
31402
31447
|
const { size, children, keepOpen, aiMode } = props;
|
|
31403
|
-
(0,
|
|
31448
|
+
(0, import_react166.useEffect)(() => {
|
|
31404
31449
|
if (!keepOpen) {
|
|
31405
31450
|
openModal({ size, content: children, aiMode });
|
|
31406
31451
|
}
|
|
@@ -31414,33 +31459,33 @@ function OpenModal(props) {
|
|
|
31414
31459
|
|
|
31415
31460
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
31416
31461
|
var import_framer_motion7 = require("framer-motion");
|
|
31417
|
-
var
|
|
31462
|
+
var import_react168 = require("react");
|
|
31418
31463
|
var import_react_aria74 = require("react-aria");
|
|
31419
31464
|
var import_react_dom11 = require("react-dom");
|
|
31420
31465
|
var import_react_router_dom7 = require("react-router-dom");
|
|
31421
31466
|
|
|
31422
31467
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
31423
|
-
var
|
|
31468
|
+
var import_react167 = require("react");
|
|
31424
31469
|
var import_jsx_runtime247 = require("react/jsx-runtime");
|
|
31425
|
-
var MobileSubNavContext = (0,
|
|
31470
|
+
var MobileSubNavContext = (0, import_react167.createContext)(void 0);
|
|
31426
31471
|
function MobileSubNavProvider(props) {
|
|
31427
|
-
const [mobileSubNav, setMobileSubNav] = (0,
|
|
31428
|
-
const value = (0,
|
|
31472
|
+
const [mobileSubNav, setMobileSubNav] = (0, import_react167.useState)(null);
|
|
31473
|
+
const value = (0, import_react167.useMemo)(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
31429
31474
|
return /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(MobileSubNavContext.Provider, { value, children: props.children });
|
|
31430
31475
|
}
|
|
31431
31476
|
function useMobileSubNav() {
|
|
31432
|
-
return (0,
|
|
31477
|
+
return (0, import_react167.useContext)(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
31433
31478
|
}
|
|
31434
31479
|
function useRegisterMobileSubNav(content2) {
|
|
31435
|
-
const ctx = (0,
|
|
31480
|
+
const ctx = (0, import_react167.useContext)(MobileSubNavContext);
|
|
31436
31481
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
31437
31482
|
const enabled = !useBreakpoint().mdAndUp;
|
|
31438
31483
|
const { top, items, footer } = content2;
|
|
31439
|
-
(0,
|
|
31484
|
+
(0, import_react167.useLayoutEffect)(() => {
|
|
31440
31485
|
if (!setMobileSubNav || !enabled) return;
|
|
31441
31486
|
setMobileSubNav({ top, items, footer });
|
|
31442
31487
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
31443
|
-
(0,
|
|
31488
|
+
(0, import_react167.useLayoutEffect)(() => {
|
|
31444
31489
|
if (!setMobileSubNav || !enabled) return;
|
|
31445
31490
|
return () => setMobileSubNav(null);
|
|
31446
31491
|
}, [setMobileSubNav, enabled]);
|
|
@@ -31455,8 +31500,8 @@ function NavbarMobileMenu(props) {
|
|
|
31455
31500
|
items
|
|
31456
31501
|
} = props;
|
|
31457
31502
|
const tid = useTestIds(props, "navbar");
|
|
31458
|
-
const [isOpen2, setIsOpen] = (0,
|
|
31459
|
-
const [level, setLevel] = (0,
|
|
31503
|
+
const [isOpen2, setIsOpen] = (0, import_react168.useState)(false);
|
|
31504
|
+
const [level, setLevel] = (0, import_react168.useState)("sub");
|
|
31460
31505
|
const {
|
|
31461
31506
|
pathname,
|
|
31462
31507
|
search
|
|
@@ -31466,7 +31511,7 @@ function NavbarMobileMenu(props) {
|
|
|
31466
31511
|
isDisabled: !isOpen2
|
|
31467
31512
|
});
|
|
31468
31513
|
const close = () => setIsOpen(false);
|
|
31469
|
-
(0,
|
|
31514
|
+
(0, import_react168.useEffect)(() => {
|
|
31470
31515
|
close();
|
|
31471
31516
|
}, [pathname, search]);
|
|
31472
31517
|
return /* @__PURE__ */ (0, import_jsx_runtime248.jsxs)(import_jsx_runtime248.Fragment, { children: [
|
|
@@ -31615,12 +31660,12 @@ function NavbarMobileDrawer({
|
|
|
31615
31660
|
}
|
|
31616
31661
|
|
|
31617
31662
|
// src/hooks/useContentOverflow.ts
|
|
31618
|
-
var
|
|
31663
|
+
var import_react169 = require("react");
|
|
31619
31664
|
function useContentOverflow(enabled = true) {
|
|
31620
|
-
const containerRef = (0,
|
|
31621
|
-
const contentRef = (0,
|
|
31622
|
-
const [overflows, setOverflows] = (0,
|
|
31623
|
-
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)(() => {
|
|
31624
31669
|
const container = containerRef.current;
|
|
31625
31670
|
const content2 = contentRef.current;
|
|
31626
31671
|
if (!enabled || !container || !content2) {
|
|
@@ -31629,7 +31674,7 @@ function useContentOverflow(enabled = true) {
|
|
|
31629
31674
|
}
|
|
31630
31675
|
setOverflows(content2.offsetWidth > container.clientWidth);
|
|
31631
31676
|
}, [enabled]);
|
|
31632
|
-
(0,
|
|
31677
|
+
(0, import_react169.useLayoutEffect)(() => {
|
|
31633
31678
|
checkContentOverflow();
|
|
31634
31679
|
window.addEventListener("resize", checkContentOverflow);
|
|
31635
31680
|
return () => window.removeEventListener("resize", checkContentOverflow);
|
|
@@ -31716,10 +31761,10 @@ function NavbarUserMenu({
|
|
|
31716
31761
|
}
|
|
31717
31762
|
|
|
31718
31763
|
// src/components/Snackbar/useSnackbar.tsx
|
|
31719
|
-
var
|
|
31764
|
+
var import_react170 = require("react");
|
|
31720
31765
|
function useSnackbar() {
|
|
31721
31766
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
31722
|
-
const onClose = (0,
|
|
31767
|
+
const onClose = (0, import_react170.useCallback)(
|
|
31723
31768
|
(noticeId) => {
|
|
31724
31769
|
setNotices((prev) => {
|
|
31725
31770
|
let returnValue = prev;
|
|
@@ -31736,7 +31781,7 @@ function useSnackbar() {
|
|
|
31736
31781
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31737
31782
|
[]
|
|
31738
31783
|
);
|
|
31739
|
-
const triggerNotice = (0,
|
|
31784
|
+
const triggerNotice = (0, import_react170.useCallback)(
|
|
31740
31785
|
(props) => {
|
|
31741
31786
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
31742
31787
|
let maybeTimeout;
|
|
@@ -31765,8 +31810,8 @@ function useSnackbar() {
|
|
|
31765
31810
|
},
|
|
31766
31811
|
[onClose, setNotices]
|
|
31767
31812
|
);
|
|
31768
|
-
const closeNotice = (0,
|
|
31769
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
31813
|
+
const closeNotice = (0, import_react170.useCallback)((id) => onClose(id), [onClose]);
|
|
31814
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react170.useEffect)(() => {
|
|
31770
31815
|
setOffset({ bottom });
|
|
31771
31816
|
return () => setOffset({});
|
|
31772
31817
|
}, [bottom]);
|
|
@@ -31815,7 +31860,7 @@ function simpleDataRows(data = []) {
|
|
|
31815
31860
|
|
|
31816
31861
|
// src/components/Tabs.tsx
|
|
31817
31862
|
var import_change_case9 = require("change-case");
|
|
31818
|
-
var
|
|
31863
|
+
var import_react171 = require("react");
|
|
31819
31864
|
var import_react_aria75 = require("react-aria");
|
|
31820
31865
|
var import_react_router = require("react-router");
|
|
31821
31866
|
var import_react_router_dom8 = require("react-router-dom");
|
|
@@ -31895,9 +31940,9 @@ function Tabs(props) {
|
|
|
31895
31940
|
focusProps
|
|
31896
31941
|
} = (0, import_react_aria75.useFocusRing)();
|
|
31897
31942
|
const tid = useTestIds(others, "tabs");
|
|
31898
|
-
const [active, setActive] = (0,
|
|
31899
|
-
const ref = (0,
|
|
31900
|
-
(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]);
|
|
31901
31946
|
function onKeyUp(e) {
|
|
31902
31947
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
31903
31948
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -31972,7 +32017,7 @@ function TabImpl(props) {
|
|
|
31972
32017
|
activeHoverStyles,
|
|
31973
32018
|
aiStyles,
|
|
31974
32019
|
activeAiStyles
|
|
31975
|
-
} = (0,
|
|
32020
|
+
} = (0, import_react171.useMemo)(() => getTabStyles(), []);
|
|
31976
32021
|
const uniqueValue = uniqueTabValue(tab);
|
|
31977
32022
|
const tid = useTestIds(others);
|
|
31978
32023
|
const tabProps = {
|
|
@@ -32132,10 +32177,10 @@ function hideTabs(props) {
|
|
|
32132
32177
|
}
|
|
32133
32178
|
|
|
32134
32179
|
// src/components/Toast/useToast.tsx
|
|
32135
|
-
var
|
|
32180
|
+
var import_react172 = require("react");
|
|
32136
32181
|
function useToast() {
|
|
32137
32182
|
const { setNotice, clear } = useToastContext();
|
|
32138
|
-
const showToast = (0,
|
|
32183
|
+
const showToast = (0, import_react172.useCallback)((props) => setNotice(props), [setNotice]);
|
|
32139
32184
|
return { showToast, clear };
|
|
32140
32185
|
}
|
|
32141
32186
|
|
|
@@ -32380,7 +32425,7 @@ var import_react_stately19 = require("react-stately");
|
|
|
32380
32425
|
var import_runtime167 = require("@homebound/truss/runtime");
|
|
32381
32426
|
|
|
32382
32427
|
// src/forms/FormSection/FormSectionChild.tsx
|
|
32383
|
-
var
|
|
32428
|
+
var import_react173 = require("react");
|
|
32384
32429
|
var import_react_aria76 = require("react-aria");
|
|
32385
32430
|
var import_runtime166 = require("@homebound/truss/runtime");
|
|
32386
32431
|
var import_jsx_runtime255 = require("react/jsx-runtime");
|
|
@@ -32397,7 +32442,7 @@ function FormSectionChild(props) {
|
|
|
32397
32442
|
group
|
|
32398
32443
|
} = props;
|
|
32399
32444
|
const tid = useTestIds(props, "formSectionChild");
|
|
32400
|
-
const itemRef = (0,
|
|
32445
|
+
const itemRef = (0, import_react173.useRef)(null);
|
|
32401
32446
|
const isDraggable = !!orderField;
|
|
32402
32447
|
const {
|
|
32403
32448
|
dragItemProps,
|
|
@@ -32439,7 +32484,7 @@ function FormSectionChildRadio(props) {
|
|
|
32439
32484
|
value,
|
|
32440
32485
|
label
|
|
32441
32486
|
} = props;
|
|
32442
|
-
const ref = (0,
|
|
32487
|
+
const ref = (0, import_react173.useRef)(null);
|
|
32443
32488
|
const {
|
|
32444
32489
|
inputProps,
|
|
32445
32490
|
isDisabled,
|
|
@@ -32465,7 +32510,7 @@ function FormSectionChildCheckbox(props) {
|
|
|
32465
32510
|
value,
|
|
32466
32511
|
label
|
|
32467
32512
|
} = props;
|
|
32468
|
-
const ref = (0,
|
|
32513
|
+
const ref = (0, import_react173.useRef)(null);
|
|
32469
32514
|
const {
|
|
32470
32515
|
inputProps,
|
|
32471
32516
|
isDisabled,
|
|
@@ -32658,12 +32703,12 @@ var railAndShellPx = centeredShellMaxPx.sm + jumpLinksRailWidthPx;
|
|
|
32658
32703
|
var jumpLinksRailReservation = `clamp(0px, 100% - ${railAndShellPx}px, ${jumpLinksRailWidthPx}px)`;
|
|
32659
32704
|
|
|
32660
32705
|
// src/layouts/FormSectionLayout/useActiveJumpLink.ts
|
|
32661
|
-
var
|
|
32706
|
+
var import_react174 = require("react");
|
|
32662
32707
|
var activationLeadPx = 120;
|
|
32663
32708
|
function useActiveJumpLink(sectionIds) {
|
|
32664
32709
|
const idsKey = sectionIds.join("\0");
|
|
32665
|
-
const [activeId, setActiveId] = (0,
|
|
32666
|
-
(0,
|
|
32710
|
+
const [activeId, setActiveId] = (0, import_react174.useState)(sectionIds[0]);
|
|
32711
|
+
(0, import_react174.useLayoutEffect)(() => {
|
|
32667
32712
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
32668
32713
|
if (ids.length === 0) return;
|
|
32669
32714
|
const update = () => {
|
|
@@ -32765,7 +32810,7 @@ function FormSectionLayout(props) {
|
|
|
32765
32810
|
}
|
|
32766
32811
|
|
|
32767
32812
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
32768
|
-
var
|
|
32813
|
+
var import_react175 = require("react");
|
|
32769
32814
|
|
|
32770
32815
|
// src/layouts/PageBanner/pageBannerStore.ts
|
|
32771
32816
|
var current;
|
|
@@ -32802,13 +32847,13 @@ function clearPageBanner(id) {
|
|
|
32802
32847
|
|
|
32803
32848
|
// src/layouts/PageBanner/usePageBanner.tsx
|
|
32804
32849
|
function usePageBanner(banner) {
|
|
32805
|
-
const id = (0,
|
|
32806
|
-
(0,
|
|
32850
|
+
const id = (0, import_react175.useId)();
|
|
32851
|
+
(0, import_react175.useLayoutEffect)(() => {
|
|
32807
32852
|
if (!banner) return;
|
|
32808
32853
|
setPageBanner(id, banner);
|
|
32809
32854
|
return () => clearPageBanner(id);
|
|
32810
32855
|
}, [id, banner]);
|
|
32811
|
-
(0,
|
|
32856
|
+
(0, import_react175.useEffect)(() => {
|
|
32812
32857
|
if (!banner || hasPageBannerSubscriber() || process.env.NODE_ENV === "production") return;
|
|
32813
32858
|
console.warn("[usePageBanner] No page layout above this component; the banner will not render.");
|
|
32814
32859
|
}, [banner]);
|
|
@@ -32819,11 +32864,11 @@ function PageBanner(props) {
|
|
|
32819
32864
|
}
|
|
32820
32865
|
|
|
32821
32866
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
32822
|
-
var
|
|
32867
|
+
var import_react180 = require("react");
|
|
32823
32868
|
var import_runtime170 = require("@homebound/truss/runtime");
|
|
32824
32869
|
|
|
32825
32870
|
// src/layouts/useAutoHideOnScroll.ts
|
|
32826
|
-
var
|
|
32871
|
+
var import_react176 = require("react");
|
|
32827
32872
|
var THRESHOLD = 80;
|
|
32828
32873
|
function getInitialAutoHideState() {
|
|
32829
32874
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -32833,13 +32878,13 @@ function getInitialAutoHideState() {
|
|
|
32833
32878
|
}
|
|
32834
32879
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
32835
32880
|
const initial = getInitialAutoHideState();
|
|
32836
|
-
const [state, setState] = (0,
|
|
32837
|
-
const stateRef = (0,
|
|
32838
|
-
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);
|
|
32839
32884
|
getTopOffsetRef.current = getTopOffset;
|
|
32840
|
-
const lastScrollY = (0,
|
|
32841
|
-
const lastScrollHeight = (0,
|
|
32842
|
-
(0,
|
|
32885
|
+
const lastScrollY = (0, import_react176.useRef)(Number.POSITIVE_INFINITY);
|
|
32886
|
+
const lastScrollHeight = (0, import_react176.useRef)(0);
|
|
32887
|
+
(0, import_react176.useLayoutEffect)(() => {
|
|
32843
32888
|
if (!enabled) {
|
|
32844
32889
|
stateRef.current = "resting";
|
|
32845
32890
|
lastScrollY.current = Number.POSITIVE_INFINITY;
|
|
@@ -32905,25 +32950,25 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
32905
32950
|
|
|
32906
32951
|
// src/layouts/useMeasuredHeight.ts
|
|
32907
32952
|
var import_utils51 = require("@react-aria/utils");
|
|
32908
|
-
var
|
|
32953
|
+
var import_react177 = require("react");
|
|
32909
32954
|
function useMeasuredHeight(ref, enabled) {
|
|
32910
|
-
const [height, setHeight] = (0,
|
|
32911
|
-
const syncElementHeight = (0,
|
|
32955
|
+
const [height, setHeight] = (0, import_react177.useState)(0);
|
|
32956
|
+
const syncElementHeight = (0, import_react177.useCallback)(() => {
|
|
32912
32957
|
const el = ref.current;
|
|
32913
32958
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
32914
32959
|
setHeight((prev) => prev === next ? prev : next);
|
|
32915
32960
|
}, [ref]);
|
|
32916
32961
|
(0, import_utils51.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
32917
|
-
(0,
|
|
32962
|
+
(0, import_react177.useLayoutEffect)(() => {
|
|
32918
32963
|
syncElementHeight();
|
|
32919
32964
|
}, [enabled, syncElementHeight]);
|
|
32920
32965
|
return height;
|
|
32921
32966
|
}
|
|
32922
32967
|
|
|
32923
32968
|
// src/layouts/useTransitionAfterPaint.ts
|
|
32924
|
-
var
|
|
32969
|
+
var import_react178 = require("react");
|
|
32925
32970
|
function useTransitionAfterPaint(ref, transition) {
|
|
32926
|
-
(0,
|
|
32971
|
+
(0, import_react178.useLayoutEffect)(() => {
|
|
32927
32972
|
const el = ref.current;
|
|
32928
32973
|
if (!el) return;
|
|
32929
32974
|
const id = requestAnimationFrame(() => {
|
|
@@ -32934,14 +32979,14 @@ function useTransitionAfterPaint(ref, transition) {
|
|
|
32934
32979
|
}
|
|
32935
32980
|
|
|
32936
32981
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
32937
|
-
var
|
|
32982
|
+
var import_react179 = require("react");
|
|
32938
32983
|
var import_jsx_runtime259 = require("react/jsx-runtime");
|
|
32939
|
-
var NavbarLayoutHeightContext = (0,
|
|
32984
|
+
var NavbarLayoutHeightContext = (0, import_react179.createContext)(0);
|
|
32940
32985
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
32941
32986
|
return /* @__PURE__ */ (0, import_jsx_runtime259.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
32942
32987
|
}
|
|
32943
32988
|
function useNavbarLayoutHeight() {
|
|
32944
|
-
return (0,
|
|
32989
|
+
return (0, import_react179.useContext)(NavbarLayoutHeightContext);
|
|
32945
32990
|
}
|
|
32946
32991
|
|
|
32947
32992
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
@@ -32955,8 +33000,8 @@ function NavbarLayout(props) {
|
|
|
32955
33000
|
children
|
|
32956
33001
|
} = props;
|
|
32957
33002
|
const tid = useTestIds(props, "navbarLayout");
|
|
32958
|
-
const navMetricsRef = (0,
|
|
32959
|
-
const spacerRef = (0,
|
|
33003
|
+
const navMetricsRef = (0, import_react180.useRef)(null);
|
|
33004
|
+
const spacerRef = (0, import_react180.useRef)(null);
|
|
32960
33005
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
32961
33006
|
const {
|
|
32962
33007
|
state: autoHideState
|
|
@@ -32982,7 +33027,7 @@ function NavbarLayout(props) {
|
|
|
32982
33027
|
const innerStyle = {
|
|
32983
33028
|
top: autoHideState === "hidden" ? `calc(${bannerTop} - ${navHeight}px)` : bannerTop
|
|
32984
33029
|
};
|
|
32985
|
-
const navbarEl = (0,
|
|
33030
|
+
const navbarEl = (0, import_react180.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime260.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
32986
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, {
|
|
32987
33032
|
display: "df",
|
|
32988
33033
|
flexDirection: "fdc",
|
|
@@ -33000,14 +33045,14 @@ function NavbarLayout(props) {
|
|
|
33000
33045
|
}
|
|
33001
33046
|
|
|
33002
33047
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
33003
|
-
var
|
|
33048
|
+
var import_react183 = require("react");
|
|
33004
33049
|
|
|
33005
33050
|
// src/hooks/useDocumentTitle.tsx
|
|
33006
|
-
var
|
|
33051
|
+
var import_react181 = require("react");
|
|
33007
33052
|
function useDocumentTitle(...titleSegments) {
|
|
33008
33053
|
const config = useDocumentTitleConfig();
|
|
33009
33054
|
const pageTitle = joinDocumentTitleSegments(...titleSegments);
|
|
33010
|
-
(0,
|
|
33055
|
+
(0, import_react181.useLayoutEffect)(() => {
|
|
33011
33056
|
if (!config || !pageTitle || typeof document === "undefined") {
|
|
33012
33057
|
return;
|
|
33013
33058
|
}
|
|
@@ -33113,7 +33158,7 @@ function PageHeader2(props) {
|
|
|
33113
33158
|
}
|
|
33114
33159
|
|
|
33115
33160
|
// src/layouts/PageBanner/internal/usePageBannerSlot.tsx
|
|
33116
|
-
var
|
|
33161
|
+
var import_react182 = require("react");
|
|
33117
33162
|
|
|
33118
33163
|
// src/layouts/PageBanner/internal/PageBannerSlot.tsx
|
|
33119
33164
|
var import_runtime173 = require("@homebound/truss/runtime");
|
|
@@ -33151,18 +33196,18 @@ var import_jsx_runtime264 = require("react/jsx-runtime");
|
|
|
33151
33196
|
function usePageBannerSlot(bannerProp, testIds) {
|
|
33152
33197
|
const publishedBanner = usePublishedPageBanner();
|
|
33153
33198
|
const banner = publishedBanner ?? bannerProp;
|
|
33154
|
-
const metricsRef = (0,
|
|
33199
|
+
const metricsRef = (0, import_react182.useRef)(null);
|
|
33155
33200
|
const height = useMeasuredHeight(metricsRef, banner != null);
|
|
33156
33201
|
const slot = banner ? /* @__PURE__ */ (0, import_jsx_runtime264.jsx)(PageBannerSlot, { ...testIds, banner, metricsRef }) : null;
|
|
33157
33202
|
return { slot, height };
|
|
33158
33203
|
}
|
|
33159
33204
|
function usePublishedPageBanner() {
|
|
33160
|
-
const [banner, setBanner] = (0,
|
|
33161
|
-
const sync = (0,
|
|
33205
|
+
const [banner, setBanner] = (0, import_react182.useState)(pageBannerStore.getSnapshot);
|
|
33206
|
+
const sync = (0, import_react182.useCallback)(() => {
|
|
33162
33207
|
const next = pageBannerStore.getSnapshot();
|
|
33163
33208
|
setBanner((prev) => prev === next ? prev : next);
|
|
33164
33209
|
}, []);
|
|
33165
|
-
(0,
|
|
33210
|
+
(0, import_react182.useLayoutEffect)(() => {
|
|
33166
33211
|
sync();
|
|
33167
33212
|
return pageBannerStore.subscribe(sync);
|
|
33168
33213
|
}, [sync]);
|
|
@@ -33192,11 +33237,11 @@ function PageHeaderLayout(props) {
|
|
|
33192
33237
|
height: bannerHeight
|
|
33193
33238
|
} = usePageBannerSlot(bannerProp, tid);
|
|
33194
33239
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
33195
|
-
const bannerAndNavbarHeightRef = (0,
|
|
33240
|
+
const bannerAndNavbarHeightRef = (0, import_react183.useRef)(bannerAndNavbarHeight);
|
|
33196
33241
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
33197
|
-
const getBannerAndNavbarHeight = (0,
|
|
33198
|
-
const headerMetricsRef = (0,
|
|
33199
|
-
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);
|
|
33200
33245
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
33201
33246
|
const {
|
|
33202
33247
|
state: autoHideState
|
|
@@ -33229,7 +33274,7 @@ function PageHeaderLayout(props) {
|
|
|
33229
33274
|
const innerStyle = {
|
|
33230
33275
|
top: autoHideState === "hidden" ? `calc(${outerTop} - ${headerHeight}px)` : outerTop
|
|
33231
33276
|
};
|
|
33232
|
-
const pageHeaderEl = (0,
|
|
33277
|
+
const pageHeaderEl = (0, import_react183.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
33233
33278
|
return /* @__PURE__ */ (0, import_jsx_runtime265.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime265.jsxs)("div", { ...(0, import_runtime174.mergeProps)(void 0, style, {
|
|
33234
33279
|
display: "df",
|
|
33235
33280
|
flexDirection: "fdc",
|
|
@@ -33247,7 +33292,7 @@ function PageHeaderLayout(props) {
|
|
|
33247
33292
|
}
|
|
33248
33293
|
|
|
33249
33294
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
33250
|
-
var
|
|
33295
|
+
var import_react186 = require("react");
|
|
33251
33296
|
|
|
33252
33297
|
// src/components/Headers/WorkflowHeader.tsx
|
|
33253
33298
|
var import_jsx_runtime266 = require("react/jsx-runtime");
|
|
@@ -33264,7 +33309,7 @@ function WorkflowHeader(props) {
|
|
|
33264
33309
|
}
|
|
33265
33310
|
|
|
33266
33311
|
// src/layouts/Workflow/RightPaneTriggers.tsx
|
|
33267
|
-
var
|
|
33312
|
+
var import_react184 = require("react");
|
|
33268
33313
|
var import_runtime175 = require("@homebound/truss/runtime");
|
|
33269
33314
|
var import_jsx_runtime267 = require("react/jsx-runtime");
|
|
33270
33315
|
var __maybeInc36 = (inc) => {
|
|
@@ -33285,7 +33330,7 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
33285
33330
|
} = useRightPaneActions();
|
|
33286
33331
|
const tid = useTestIds(props, "rightPaneTriggers");
|
|
33287
33332
|
const pageTriggerInsetPx = 24;
|
|
33288
|
-
const onClick = (0,
|
|
33333
|
+
const onClick = (0, import_react184.useCallback)((trigger) => {
|
|
33289
33334
|
openRightPane({
|
|
33290
33335
|
content: /* @__PURE__ */ (0, import_jsx_runtime267.jsx)(RightPanePanel, { title: trigger.label, children: trigger.content })
|
|
33291
33336
|
});
|
|
@@ -33328,18 +33373,18 @@ function WorkflowPageRightPaneTriggers(props) {
|
|
|
33328
33373
|
}
|
|
33329
33374
|
|
|
33330
33375
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
33331
|
-
var
|
|
33376
|
+
var import_react185 = require("react");
|
|
33332
33377
|
var import_react_router_dom9 = require("react-router-dom");
|
|
33333
33378
|
var import_jsx_runtime268 = require("react/jsx-runtime");
|
|
33334
33379
|
function useUnsavedChangesGuard(options) {
|
|
33335
33380
|
const { isDirty, allowNavigation, onCancel, destructiveAction } = options;
|
|
33336
33381
|
const { openModal } = useModal();
|
|
33337
|
-
const isDirtyRef = (0,
|
|
33382
|
+
const isDirtyRef = (0, import_react185.useRef)(isDirty);
|
|
33338
33383
|
isDirtyRef.current = isDirty;
|
|
33339
|
-
const allowNavigationRef = (0,
|
|
33384
|
+
const allowNavigationRef = (0, import_react185.useRef)(allowNavigation);
|
|
33340
33385
|
allowNavigationRef.current = allowNavigation;
|
|
33341
|
-
const allowCancelNavigationRef = (0,
|
|
33342
|
-
(0,
|
|
33386
|
+
const allowCancelNavigationRef = (0, import_react185.useRef)(false);
|
|
33387
|
+
(0, import_react185.useEffect)(() => {
|
|
33343
33388
|
const onBeforeUnload = (e) => {
|
|
33344
33389
|
if (isDirtyRef.current?.()) {
|
|
33345
33390
|
e.preventDefault();
|
|
@@ -33406,7 +33451,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
33406
33451
|
function UnsavedChangesNavigationModal(props) {
|
|
33407
33452
|
const { proceed, cancelNavigation } = props;
|
|
33408
33453
|
const { openModal, closeModal } = useModal();
|
|
33409
|
-
(0,
|
|
33454
|
+
(0, import_react185.useEffect)(() => {
|
|
33410
33455
|
openModal({
|
|
33411
33456
|
allowClosing: false,
|
|
33412
33457
|
content: /* @__PURE__ */ (0, import_jsx_runtime268.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
@@ -33496,7 +33541,7 @@ function WorkflowPageLayout(props) {
|
|
|
33496
33541
|
} });
|
|
33497
33542
|
const triggers = rightPaneTriggers ?? [];
|
|
33498
33543
|
const pageTriggers = triggers.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime270.jsx)(WorkflowPageRightPaneTriggers, { triggers }) : void 0;
|
|
33499
|
-
const headerMetricsRef = (0,
|
|
33544
|
+
const headerMetricsRef = (0, import_react186.useRef)(null);
|
|
33500
33545
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
33501
33546
|
const headerWidth = documentScrollChromeWidth();
|
|
33502
33547
|
const outerTop = belowNavbarOffset();
|
|
@@ -33509,7 +33554,7 @@ function WorkflowPageLayout(props) {
|
|
|
33509
33554
|
}
|
|
33510
33555
|
const style = Object.keys(cssVars).length > 0 ? cssVars : void 0;
|
|
33511
33556
|
const showFooter = isMobile;
|
|
33512
|
-
(0,
|
|
33557
|
+
(0, import_react186.useLayoutEffect)(() => {
|
|
33513
33558
|
const root = document.documentElement;
|
|
33514
33559
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
33515
33560
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -33644,7 +33689,7 @@ function FocusedFormLayout(props) {
|
|
|
33644
33689
|
}
|
|
33645
33690
|
|
|
33646
33691
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
33647
|
-
var
|
|
33692
|
+
var import_react187 = require("react");
|
|
33648
33693
|
var import_jsx_runtime272 = require("react/jsx-runtime");
|
|
33649
33694
|
function StepperLayout(props) {
|
|
33650
33695
|
const {
|
|
@@ -33662,17 +33707,15 @@ function StepperLayout(props) {
|
|
|
33662
33707
|
...headerProps
|
|
33663
33708
|
} = props;
|
|
33664
33709
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
33665
|
-
const [currentStep, setCurrentStep] = (0,
|
|
33710
|
+
const [currentStep, setCurrentStep] = (0, import_react187.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
33666
33711
|
const tid = useTestIds(props, "stepperLayout");
|
|
33667
|
-
const { closeRightPane } = useRightPaneActions();
|
|
33668
33712
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
33669
33713
|
const isFirstStep = currentIndex <= 0;
|
|
33670
33714
|
const isLastStep = currentIndex >= stepTabs.length - 1;
|
|
33671
33715
|
const activeStep = stepTabs[currentIndex];
|
|
33672
33716
|
function goToStep(value) {
|
|
33673
33717
|
if (value === currentStep) return;
|
|
33674
|
-
|
|
33675
|
-
setCurrentStep(value);
|
|
33718
|
+
closeRightPaneThen(() => setCurrentStep(value));
|
|
33676
33719
|
}
|
|
33677
33720
|
return /* @__PURE__ */ (0, import_jsx_runtime272.jsx)(
|
|
33678
33721
|
WorkflowPageLayout,
|
|
@@ -33867,9 +33910,9 @@ function StaticField(props) {
|
|
|
33867
33910
|
}
|
|
33868
33911
|
|
|
33869
33912
|
// src/hooks/useFilter.ts
|
|
33870
|
-
var
|
|
33913
|
+
var import_react188 = require("react");
|
|
33871
33914
|
function useFilter5({ filterDefs }) {
|
|
33872
|
-
const [filter, setFilter] = (0,
|
|
33915
|
+
const [filter, setFilter] = (0, import_react188.useState)(
|
|
33873
33916
|
Object.fromEntries(
|
|
33874
33917
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
33875
33918
|
)
|
|
@@ -33878,7 +33921,7 @@ function useFilter5({ filterDefs }) {
|
|
|
33878
33921
|
}
|
|
33879
33922
|
|
|
33880
33923
|
// src/inputs/Autocomplete.tsx
|
|
33881
|
-
var
|
|
33924
|
+
var import_react189 = require("react");
|
|
33882
33925
|
var import_react_aria78 = require("react-aria");
|
|
33883
33926
|
var import_react_stately20 = require("react-stately");
|
|
33884
33927
|
var import_jsx_runtime277 = require("react/jsx-runtime");
|
|
@@ -33898,7 +33941,7 @@ function Autocomplete(props) {
|
|
|
33898
33941
|
} = props;
|
|
33899
33942
|
const { effectiveValue, proposalProps } = useAiProposal(value, proposedValue);
|
|
33900
33943
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
33901
|
-
const comboBoxChildren = (0,
|
|
33944
|
+
const comboBoxChildren = (0, import_react189.useCallback)(
|
|
33902
33945
|
(item) => /* @__PURE__ */ (0, import_jsx_runtime277.jsx)(import_react_stately20.Item, { textValue: getOptionLabel(item), children: getOptionMenuLabel ? getOptionMenuLabel(item) : getOptionLabel(item) }, getOptionValue(item)),
|
|
33903
33946
|
[getOptionValue, getOptionLabel, getOptionMenuLabel]
|
|
33904
33947
|
);
|
|
@@ -33923,10 +33966,10 @@ function Autocomplete(props) {
|
|
|
33923
33966
|
...others
|
|
33924
33967
|
};
|
|
33925
33968
|
const state = (0, import_react_stately20.useComboBoxState)(comboBoxProps);
|
|
33926
|
-
const inputWrapRef = (0,
|
|
33927
|
-
const inputRef = (0,
|
|
33928
|
-
const listBoxRef = (0,
|
|
33929
|
-
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);
|
|
33930
33973
|
const { inputProps, listBoxProps, labelProps } = (0, import_react_aria78.useComboBox)(
|
|
33931
33974
|
{
|
|
33932
33975
|
...comboBoxProps,
|
|
@@ -33994,7 +34037,7 @@ function Autocomplete(props) {
|
|
|
33994
34037
|
}
|
|
33995
34038
|
|
|
33996
34039
|
// src/inputs/ToggleButton.tsx
|
|
33997
|
-
var
|
|
34040
|
+
var import_react190 = require("react");
|
|
33998
34041
|
var import_react_aria79 = require("react-aria");
|
|
33999
34042
|
var import_react_stately21 = require("react-stately");
|
|
34000
34043
|
var import_runtime179 = require("@homebound/truss/runtime");
|
|
@@ -34009,7 +34052,7 @@ function ToggleButton(props) {
|
|
|
34009
34052
|
__storyState,
|
|
34010
34053
|
...otherProps
|
|
34011
34054
|
} = props;
|
|
34012
|
-
const [asyncInProgress, setAsyncInProgress] = (0,
|
|
34055
|
+
const [asyncInProgress, setAsyncInProgress] = (0, import_react190.useState)(false);
|
|
34013
34056
|
const isDisabled = !!disabled || asyncInProgress;
|
|
34014
34057
|
const ariaProps = {
|
|
34015
34058
|
"aria-label": label,
|
|
@@ -34028,8 +34071,8 @@ function ToggleButton(props) {
|
|
|
34028
34071
|
return result;
|
|
34029
34072
|
}
|
|
34030
34073
|
});
|
|
34031
|
-
const labelRef = (0,
|
|
34032
|
-
const ref = (0,
|
|
34074
|
+
const labelRef = (0, import_react190.useRef)(null);
|
|
34075
|
+
const ref = (0, import_react190.useRef)(null);
|
|
34033
34076
|
const tid = useTestIds(otherProps, label);
|
|
34034
34077
|
const {
|
|
34035
34078
|
isPressed: isPressedFromEvents,
|