@homebound/beam 4.7.2 → 4.9.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 +730 -515
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +44 -1
- package/dist/index.d.ts +44 -1
- package/dist/index.js +635 -422
- package/dist/index.js.map +1 -1
- package/dist/truss.css +18 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -191,6 +191,7 @@ __export(index_exports, {
|
|
|
191
191
|
SideNavLayout: () => SideNavLayout,
|
|
192
192
|
SideNavLayoutProvider: () => SideNavLayoutProvider,
|
|
193
193
|
SortHeader: () => SortHeader,
|
|
194
|
+
StackBarGraph: () => StackBarGraph,
|
|
194
195
|
StaticField: () => StaticField,
|
|
195
196
|
Stepper: () => Stepper,
|
|
196
197
|
StepperLayout: () => StepperLayout,
|
|
@@ -206,6 +207,7 @@ __export(index_exports, {
|
|
|
206
207
|
TableReviewLayout: () => TableReviewLayout,
|
|
207
208
|
TableState: () => TableState,
|
|
208
209
|
TableStateContext: () => TableStateContext,
|
|
210
|
+
TableSummary: () => TableSummary,
|
|
209
211
|
Tabs: () => Tabs,
|
|
210
212
|
TabsWithContent: () => TabsWithContent,
|
|
211
213
|
Tag: () => Tag,
|
|
@@ -440,90 +442,90 @@ module.exports = __toCommonJS(index_exports);
|
|
|
440
442
|
|
|
441
443
|
// src/Css.ts
|
|
442
444
|
var import_runtime = require("@homebound/truss/runtime");
|
|
443
|
-
var Tokens = /* @__PURE__ */ ((
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
return
|
|
445
|
+
var Tokens = /* @__PURE__ */ ((Tokens63) => {
|
|
446
|
+
Tokens63["AiFieldBg"] = "--b-ai-field-bg";
|
|
447
|
+
Tokens63["AiFieldFg"] = "--b-ai-field-fg";
|
|
448
|
+
Tokens63["ButtonCautionDisabledBg"] = "--b-button-caution-disabled-bg";
|
|
449
|
+
Tokens63["ButtonCautionDisabledFg"] = "--b-button-caution-disabled-fg";
|
|
450
|
+
Tokens63["ButtonDangerDisabledBg"] = "--b-button-danger-disabled-bg";
|
|
451
|
+
Tokens63["ButtonDangerDisabledFg"] = "--b-button-danger-disabled-fg";
|
|
452
|
+
Tokens63["ButtonGhostDisabledFg"] = "--b-button-ghost-disabled-fg";
|
|
453
|
+
Tokens63["ButtonGhostFg"] = "--b-button-ghost-fg";
|
|
454
|
+
Tokens63["ButtonPrimaryDisabledBg"] = "--b-button-primary-disabled-bg";
|
|
455
|
+
Tokens63["ButtonPrimaryDisabledFg"] = "--b-button-primary-disabled-fg";
|
|
456
|
+
Tokens63["ButtonSecondaryFg"] = "--b-button-secondary-fg";
|
|
457
|
+
Tokens63["ButtonTertiaryFg"] = "--b-button-tertiary-fg";
|
|
458
|
+
Tokens63["ButtonTertiaryFgPressed"] = "--b-button-tertiary-fg-pressed";
|
|
459
|
+
Tokens63["ChoiceDisabled"] = "--b-choice-disabled";
|
|
460
|
+
Tokens63["ChoiceSelected"] = "--b-choice-selected";
|
|
461
|
+
Tokens63["Danger"] = "--b-danger";
|
|
462
|
+
Tokens63["DangerPressed"] = "--b-danger-pressed";
|
|
463
|
+
Tokens63["EnvBrandDev"] = "--b-env-brand-dev";
|
|
464
|
+
Tokens63["EnvBrandLocalProd"] = "--b-env-brand-local-prod";
|
|
465
|
+
Tokens63["EnvBrandProd"] = "--b-env-brand-prod";
|
|
466
|
+
Tokens63["EnvBrandQa"] = "--b-env-brand-qa";
|
|
467
|
+
Tokens63["FieldBgDefault"] = "--b-field-bg-default";
|
|
468
|
+
Tokens63["FieldBgDisabled"] = "--b-field-bg-disabled";
|
|
469
|
+
Tokens63["FieldBgHover"] = "--b-field-bg-hover";
|
|
470
|
+
Tokens63["FieldBorderDefault"] = "--b-field-border-default";
|
|
471
|
+
Tokens63["FieldBorderError"] = "--b-field-border-error";
|
|
472
|
+
Tokens63["FieldBorderFocus"] = "--b-field-border-focus";
|
|
473
|
+
Tokens63["FieldBorderHover"] = "--b-field-border-hover";
|
|
474
|
+
Tokens63["FieldTextDisabled"] = "--b-field-text-disabled";
|
|
475
|
+
Tokens63["FocusRingInset"] = "--b-focus-ring-inset";
|
|
476
|
+
Tokens63["FocusRingMuted"] = "--b-focus-ring-muted";
|
|
477
|
+
Tokens63["LoaderFill"] = "--b-loader-fill";
|
|
478
|
+
Tokens63["LoaderSpinner"] = "--b-loader-spinner";
|
|
479
|
+
Tokens63["LoaderTrack"] = "--b-loader-track";
|
|
480
|
+
Tokens63["NavGlobalItemBgActive"] = "--b-nav-global-item-bg-active";
|
|
481
|
+
Tokens63["NavGlobalItemBgHover"] = "--b-nav-global-item-bg-hover";
|
|
482
|
+
Tokens63["NavGlobalItemBgPressed"] = "--b-nav-global-item-bg-pressed";
|
|
483
|
+
Tokens63["NavGlobalText"] = "--b-nav-global-text";
|
|
484
|
+
Tokens63["NavGlobalTextActive"] = "--b-nav-global-text-active";
|
|
485
|
+
Tokens63["NavGlobalTextDisabled"] = "--b-nav-global-text-disabled";
|
|
486
|
+
Tokens63["NavItemBgActive"] = "--b-nav-item-bg-active";
|
|
487
|
+
Tokens63["NavItemBgHover"] = "--b-nav-item-bg-hover";
|
|
488
|
+
Tokens63["NavItemBgPressed"] = "--b-nav-item-bg-pressed";
|
|
489
|
+
Tokens63["NavText"] = "--b-nav-text";
|
|
490
|
+
Tokens63["NavTextActive"] = "--b-nav-text-active";
|
|
491
|
+
Tokens63["NavTextDisabled"] = "--b-nav-text-disabled";
|
|
492
|
+
Tokens63["NavTextFocusVisible"] = "--b-nav-text-focus-visible";
|
|
493
|
+
Tokens63["NavTextPressed"] = "--b-nav-text-pressed";
|
|
494
|
+
Tokens63["NeutralFillHover"] = "--b-neutral-fill-hover";
|
|
495
|
+
Tokens63["NeutralFillHoverStrong"] = "--b-neutral-fill-hover-strong";
|
|
496
|
+
Tokens63["NeutralFillHoverSubtle"] = "--b-neutral-fill-hover-subtle";
|
|
497
|
+
Tokens63["NeutralFillPressed"] = "--b-neutral-fill-pressed";
|
|
498
|
+
Tokens63["NeutralSurfacePressed"] = "--b-neutral-surface-pressed";
|
|
499
|
+
Tokens63["OnPrimary"] = "--b-on-primary";
|
|
500
|
+
Tokens63["OnSurface"] = "--b-on-surface";
|
|
501
|
+
Tokens63["OnSurfaceDisabled"] = "--b-on-surface-disabled";
|
|
502
|
+
Tokens63["OnSurfaceMuted"] = "--b-on-surface-muted";
|
|
503
|
+
Tokens63["OnSurfaceRaisedHover"] = "--b-on-surface-raised-hover";
|
|
504
|
+
Tokens63["OnSurfaceRaisedPressed"] = "--b-on-surface-raised-pressed";
|
|
505
|
+
Tokens63["Primary"] = "--b-primary";
|
|
506
|
+
Tokens63["PrimaryHover"] = "--b-primary-hover";
|
|
507
|
+
Tokens63["PrimaryPressed"] = "--b-primary-pressed";
|
|
508
|
+
Tokens63["Scrim"] = "--b-scrim";
|
|
509
|
+
Tokens63["SelectionFill"] = "--b-selection-fill";
|
|
510
|
+
Tokens63["SelectionIndicator"] = "--b-selection-indicator";
|
|
511
|
+
Tokens63["Surface"] = "--b-surface";
|
|
512
|
+
Tokens63["SurfaceDisabled"] = "--b-surface-disabled";
|
|
513
|
+
Tokens63["SurfaceHover"] = "--b-surface-hover";
|
|
514
|
+
Tokens63["SurfaceRaised"] = "--b-surface-raised";
|
|
515
|
+
Tokens63["SurfaceRaisedHover"] = "--b-surface-raised-hover";
|
|
516
|
+
Tokens63["SurfaceRaisedPressed"] = "--b-surface-raised-pressed";
|
|
517
|
+
Tokens63["SurfaceSeparator"] = "--b-surface-separator";
|
|
518
|
+
Tokens63["SurfaceSubtle"] = "--b-surface-subtle";
|
|
519
|
+
Tokens63["TextDisabled"] = "--b-text-disabled";
|
|
520
|
+
Tokens63["TextHelper"] = "--b-text-helper";
|
|
521
|
+
Tokens63["TextLabel"] = "--b-text-label";
|
|
522
|
+
Tokens63["TextLinkDefault"] = "--b-text-link-default";
|
|
523
|
+
Tokens63["TextLinkDisabled"] = "--b-text-link-disabled";
|
|
524
|
+
Tokens63["TextLinkHover"] = "--b-text-link-hover";
|
|
525
|
+
Tokens63["TextLinkPressed"] = "--b-text-link-pressed";
|
|
526
|
+
Tokens63["TextPlaceholder"] = "--b-text-placeholder";
|
|
527
|
+
Tokens63["TextSelection"] = "--b-text-selection";
|
|
528
|
+
return Tokens63;
|
|
527
529
|
})(Tokens || {});
|
|
528
530
|
var Keyframes = /* @__PURE__ */ ((Keyframes2) => {
|
|
529
531
|
Keyframes2["LoadingDots"] = "loadingDots";
|
|
@@ -26513,9 +26515,200 @@ function TagGroup(props) {
|
|
|
26513
26515
|
] });
|
|
26514
26516
|
}
|
|
26515
26517
|
|
|
26518
|
+
// src/components/StackBarGraph.tsx
|
|
26519
|
+
var import_runtime135 = require("@homebound/truss/runtime");
|
|
26520
|
+
var import_jsx_runtime202 = require("react/jsx-runtime");
|
|
26521
|
+
var __maybeInc27 = (inc) => {
|
|
26522
|
+
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26523
|
+
};
|
|
26524
|
+
function StackBarGraph(props) {
|
|
26525
|
+
const {
|
|
26526
|
+
title,
|
|
26527
|
+
totalLabel,
|
|
26528
|
+
segments
|
|
26529
|
+
} = props;
|
|
26530
|
+
const tid = useTestIds(props, "stackBarGraph");
|
|
26531
|
+
const totalCount = segments.reduce((total, segment) => total + Math.max(0, segment.count), 0);
|
|
26532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("div", { className: "df fdc gap2 pt2 pb2 pr2 pl2", ...tid, children: [
|
|
26533
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("div", { className: "df aic jcsb gap2", children: [
|
|
26534
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { className: "fw6 fz_10px lh_14px ttu ls_0_5px", children: title }),
|
|
26535
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { className: "fw4 fz_12px lh_16px wsnw", children: totalLabel })
|
|
26536
|
+
] }),
|
|
26537
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { className: "df h_20px bra_6px oh", ...tid.bar, children: segments.map((segment) => /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime135.trussProps)({
|
|
26538
|
+
width: ["w_var", {
|
|
26539
|
+
"--width": (0, import_runtime135.maybeCssVar)(__maybeInc27(`${segmentWidth(segment.count, totalCount)}%`))
|
|
26540
|
+
}],
|
|
26541
|
+
flexShrink: "fs0",
|
|
26542
|
+
backgroundColor: ["bgColor_var", {
|
|
26543
|
+
"--backgroundColor": (0, import_runtime135.maybeCssVar)(segment.color)
|
|
26544
|
+
}]
|
|
26545
|
+
}) }, segment.label)) }),
|
|
26546
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { className: "df fww aic gap2", ...tid.legend, children: segments.map((segment) => /* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("div", { className: "dif aic g_4px", children: [
|
|
26547
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsx)("span", { ...(0, import_runtime135.trussProps)({
|
|
26548
|
+
borderRadius: "br100",
|
|
26549
|
+
width: "w_8px",
|
|
26550
|
+
height: "h_8px",
|
|
26551
|
+
backgroundColor: ["bgColor_var", {
|
|
26552
|
+
"--backgroundColor": (0, import_runtime135.maybeCssVar)(segment.color)
|
|
26553
|
+
}]
|
|
26554
|
+
}) }),
|
|
26555
|
+
/* @__PURE__ */ (0, import_jsx_runtime202.jsxs)("span", { className: "fw4 fz_12px lh_16px", children: [
|
|
26556
|
+
percentage(segment.count, totalCount),
|
|
26557
|
+
"% ",
|
|
26558
|
+
segment.label,
|
|
26559
|
+
" (",
|
|
26560
|
+
segment.count,
|
|
26561
|
+
")"
|
|
26562
|
+
] })
|
|
26563
|
+
] }, segment.label)) })
|
|
26564
|
+
] });
|
|
26565
|
+
}
|
|
26566
|
+
function percentage(count, total) {
|
|
26567
|
+
return total === 0 ? 0 : Math.round(Math.max(0, count) / total * 100);
|
|
26568
|
+
}
|
|
26569
|
+
function segmentWidth(count, total) {
|
|
26570
|
+
return total === 0 ? 0 : Math.max(0, count) / total * 100;
|
|
26571
|
+
}
|
|
26572
|
+
|
|
26573
|
+
// src/components/TableSummary/TableSummary.tsx
|
|
26574
|
+
var import_react142 = require("react");
|
|
26575
|
+
var import_react_aria61 = require("react-aria");
|
|
26576
|
+
var import_runtime136 = require("@homebound/truss/runtime");
|
|
26577
|
+
var import_jsx_runtime203 = require("react/jsx-runtime");
|
|
26578
|
+
function TableSummary(props) {
|
|
26579
|
+
const {
|
|
26580
|
+
title,
|
|
26581
|
+
metrics = [],
|
|
26582
|
+
action,
|
|
26583
|
+
footer
|
|
26584
|
+
} = props;
|
|
26585
|
+
const {
|
|
26586
|
+
sm: isMobile
|
|
26587
|
+
} = useBreakpoint();
|
|
26588
|
+
const tid = useTestIds(props, "tableSummary");
|
|
26589
|
+
const actionMobileLabel = action?.mobileLabel ?? "Items";
|
|
26590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("section", { ...(0, import_runtime136.trussProps)({
|
|
26591
|
+
display: "df",
|
|
26592
|
+
flexDirection: "fdc",
|
|
26593
|
+
backgroundColor: ["bgColor_var", {
|
|
26594
|
+
"--backgroundColor": "var(--b-surface-raised)"
|
|
26595
|
+
}],
|
|
26596
|
+
borderRadius: "br12",
|
|
26597
|
+
boxShadow: "bshBasic"
|
|
26598
|
+
}), ...tid, children: [
|
|
26599
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("header", { ...(0, import_runtime136.trussProps)({
|
|
26600
|
+
display: "df",
|
|
26601
|
+
alignItems: "aic",
|
|
26602
|
+
justifyContent: "jcsb",
|
|
26603
|
+
gap: "gap2",
|
|
26604
|
+
paddingLeft: "pl2",
|
|
26605
|
+
paddingRight: "pr2",
|
|
26606
|
+
paddingTop: "pt_12px",
|
|
26607
|
+
paddingBottom: "pb_12px",
|
|
26608
|
+
borderBottomStyle: "bbs_solid",
|
|
26609
|
+
borderBottomWidth: "bbw_1px",
|
|
26610
|
+
borderColor: ["bc_var", {
|
|
26611
|
+
"--borderColor": "var(--b-surface-separator)"
|
|
26612
|
+
}]
|
|
26613
|
+
}), children: [
|
|
26614
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("h3", { className: "fw6 fz_16px lh_24px mw0 pt1 pb1 mt0 mb0 mr0 ml0", children: title }),
|
|
26615
|
+
action && /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("span", { className: "fw4 fz_14px lh_20px", children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(Button, { label: isMobile ? actionMobileLabel : action.label, variant: "text", endAdornment: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(Icon, { icon: "arrowRight" }), onClick: action.onClick, ...tid.action }) })
|
|
26616
|
+
] }),
|
|
26617
|
+
metrics.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { className: "df fdr sm_fdc", ...tid.metrics, children: metrics.map((metric, index) => /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(MetricButton, { metric, divider: index < metrics.length - 1, ...tid[`metric_${defaultTestId(metric.label)}`] }, defaultTestId(metric.label))) }),
|
|
26618
|
+
footer && /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { ...(0, import_runtime136.trussProps)({
|
|
26619
|
+
...metrics.length > 0 ? {
|
|
26620
|
+
borderTopStyle: "bts_solid",
|
|
26621
|
+
borderTopWidth: "btw_1px",
|
|
26622
|
+
borderColor: ["bc_var", {
|
|
26623
|
+
"--borderColor": "var(--b-surface-separator)"
|
|
26624
|
+
}]
|
|
26625
|
+
} : {}
|
|
26626
|
+
}), children: footer })
|
|
26627
|
+
] });
|
|
26628
|
+
}
|
|
26629
|
+
function MetricButton(props) {
|
|
26630
|
+
const {
|
|
26631
|
+
metric,
|
|
26632
|
+
divider
|
|
26633
|
+
} = props;
|
|
26634
|
+
const ref = (0, import_react142.useRef)(null);
|
|
26635
|
+
const {
|
|
26636
|
+
buttonProps
|
|
26637
|
+
} = (0, import_react_aria61.useButton)({
|
|
26638
|
+
onPress: () => metric.onClick?.()
|
|
26639
|
+
}, ref);
|
|
26640
|
+
const {
|
|
26641
|
+
hoverProps,
|
|
26642
|
+
isHovered
|
|
26643
|
+
} = (0, import_react_aria61.useHover)({});
|
|
26644
|
+
const {
|
|
26645
|
+
focusProps,
|
|
26646
|
+
isFocusVisible
|
|
26647
|
+
} = (0, import_react_aria61.useFocusRing)();
|
|
26648
|
+
const tid = useTestIds(props, "metric");
|
|
26649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("button", { ref, ...(0, import_runtime136.trussProps)({
|
|
26650
|
+
// outline0 drops the UA focus outline (avoids a second ring beside our box-shadow).
|
|
26651
|
+
// relative + z1 paints the focused cell above neighbors so the ring isn't tucked under.
|
|
26652
|
+
...{
|
|
26653
|
+
outline: "outline0",
|
|
26654
|
+
position: "relative",
|
|
26655
|
+
display: "df",
|
|
26656
|
+
flexGrow: "fg1",
|
|
26657
|
+
alignItems: "aic",
|
|
26658
|
+
justifyContent: "jcc",
|
|
26659
|
+
gap: "gap1",
|
|
26660
|
+
paddingTop: "pt2",
|
|
26661
|
+
paddingBottom: "pb2",
|
|
26662
|
+
paddingRight: "pr2",
|
|
26663
|
+
paddingLeft: "pl2",
|
|
26664
|
+
minWidth: "mw0",
|
|
26665
|
+
backgroundColor: ["bgColor_var", {
|
|
26666
|
+
"--backgroundColor": "var(--b-surface-raised)"
|
|
26667
|
+
}],
|
|
26668
|
+
color: ["color_var", {
|
|
26669
|
+
"--color": "var(--b-on-surface)"
|
|
26670
|
+
}],
|
|
26671
|
+
cursor: "cursorPointer"
|
|
26672
|
+
},
|
|
26673
|
+
// Desktop: right divider; small screens: bottom divider (and clear the right edge).
|
|
26674
|
+
...{
|
|
26675
|
+
...divider ? {
|
|
26676
|
+
borderRightStyle: "brs_solid",
|
|
26677
|
+
borderRightWidth: "brw_1px",
|
|
26678
|
+
borderColor: ["bc_var sm_bc_var", {
|
|
26679
|
+
"--borderColor": "var(--b-surface-separator)",
|
|
26680
|
+
"--sm_borderColor": "var(--b-surface-separator)"
|
|
26681
|
+
}],
|
|
26682
|
+
borderBottomStyle: "sm_bbs_solid",
|
|
26683
|
+
borderBottomWidth: "sm_bbw_1px",
|
|
26684
|
+
borderRight: "sm_bdr_none"
|
|
26685
|
+
} : {}
|
|
26686
|
+
},
|
|
26687
|
+
...isHovered ? {
|
|
26688
|
+
backgroundColor: ["bgColor_var", {
|
|
26689
|
+
"--backgroundColor": "var(--b-neutral-fill-hover-subtle)"
|
|
26690
|
+
}]
|
|
26691
|
+
} : {},
|
|
26692
|
+
// Single blue ring (bshFocus's outer color). FocusRingMuted is near-black — not for these cells.
|
|
26693
|
+
...isFocusVisible ? {
|
|
26694
|
+
boxShadow: ["boxShadow_var", {
|
|
26695
|
+
"--boxShadow": (0, import_runtime136.maybeCssVar)(`0px 0px 0px 2px ${"rgba(29, 78, 216, 1)" /* Blue700 */}`)
|
|
26696
|
+
}],
|
|
26697
|
+
zIndex: "z1"
|
|
26698
|
+
} : {}
|
|
26699
|
+
}), ...(0, import_react_aria61.mergeProps)(buttonProps, hoverProps, focusProps), ...tid, children: [
|
|
26700
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsx)("span", { className: "fs0", children: /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(Icon, { icon: metric.icon, color: metric.color, inc: 4 }) }),
|
|
26701
|
+
/* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("span", { className: "fw6 fz_18px lh_28px", children: [
|
|
26702
|
+
metric.count,
|
|
26703
|
+
" ",
|
|
26704
|
+
metric.label
|
|
26705
|
+
] })
|
|
26706
|
+
] });
|
|
26707
|
+
}
|
|
26708
|
+
|
|
26516
26709
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
26517
26710
|
var import_fast_deep_equal2 = __toESM(require("fast-deep-equal"), 1);
|
|
26518
|
-
var
|
|
26711
|
+
var import_react144 = require("react");
|
|
26519
26712
|
|
|
26520
26713
|
// src/utils/inlineStyles.ts
|
|
26521
26714
|
function isInlineStyleValue(value) {
|
|
@@ -26544,19 +26737,19 @@ function restoreElementStyle(el, snapshot) {
|
|
|
26544
26737
|
}
|
|
26545
26738
|
|
|
26546
26739
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
26547
|
-
var
|
|
26548
|
-
var DnDGridContext = (0,
|
|
26740
|
+
var import_react143 = require("react");
|
|
26741
|
+
var DnDGridContext = (0, import_react143.createContext)({
|
|
26549
26742
|
dragEl: { current: void 0 },
|
|
26550
26743
|
onDragHandleKeyDown: () => {
|
|
26551
26744
|
}
|
|
26552
26745
|
});
|
|
26553
26746
|
function useDnDGridContext() {
|
|
26554
|
-
return (0,
|
|
26747
|
+
return (0, import_react143.useContext)(DnDGridContext);
|
|
26555
26748
|
}
|
|
26556
26749
|
|
|
26557
26750
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
26558
|
-
var
|
|
26559
|
-
var
|
|
26751
|
+
var import_runtime137 = require("@homebound/truss/runtime");
|
|
26752
|
+
var import_jsx_runtime204 = require("react/jsx-runtime");
|
|
26560
26753
|
function DnDGrid(props) {
|
|
26561
26754
|
const {
|
|
26562
26755
|
children,
|
|
@@ -26565,13 +26758,13 @@ function DnDGrid(props) {
|
|
|
26565
26758
|
activeItemStyles,
|
|
26566
26759
|
lockAxis
|
|
26567
26760
|
} = props;
|
|
26568
|
-
const gridEl = (0,
|
|
26569
|
-
const dragEl = (0,
|
|
26570
|
-
const cloneEl = (0,
|
|
26571
|
-
const initialOrder = (0,
|
|
26572
|
-
const styleSnapshot = (0,
|
|
26573
|
-
const reorderViaKeyboard = (0,
|
|
26574
|
-
const transformFrom = (0,
|
|
26761
|
+
const gridEl = (0, import_react144.useRef)(null);
|
|
26762
|
+
const dragEl = (0, import_react144.useRef)(void 0);
|
|
26763
|
+
const cloneEl = (0, import_react144.useRef)(void 0);
|
|
26764
|
+
const initialOrder = (0, import_react144.useRef)(void 0);
|
|
26765
|
+
const styleSnapshot = (0, import_react144.useRef)(void 0);
|
|
26766
|
+
const reorderViaKeyboard = (0, import_react144.useRef)(false);
|
|
26767
|
+
const transformFrom = (0, import_react144.useRef)({
|
|
26575
26768
|
x: 0,
|
|
26576
26769
|
y: 0
|
|
26577
26770
|
});
|
|
@@ -26579,20 +26772,20 @@ function DnDGrid(props) {
|
|
|
26579
26772
|
const activeStyles3 = activeItemStyles ?? {
|
|
26580
26773
|
boxShadow: "bshModal"
|
|
26581
26774
|
};
|
|
26582
|
-
const getGridItems = (0,
|
|
26775
|
+
const getGridItems = (0, import_react144.useCallback)(() => {
|
|
26583
26776
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
26584
26777
|
}, []);
|
|
26585
|
-
const getGridItemIdOrder = (0,
|
|
26778
|
+
const getGridItemIdOrder = (0, import_react144.useCallback)(() => {
|
|
26586
26779
|
return getGridItems().map((child) => child.getAttribute(gridItemIdKey)).filter(isDefined);
|
|
26587
26780
|
}, [getGridItems]);
|
|
26588
|
-
const initReorder = (0,
|
|
26781
|
+
const initReorder = (0, import_react144.useCallback)(() => {
|
|
26589
26782
|
if (gridEl.current && dragEl.current) {
|
|
26590
26783
|
initialOrder.current = getGridItemIdOrder();
|
|
26591
26784
|
styleSnapshot.current = snapshotElementStyle(dragEl.current);
|
|
26592
26785
|
applyActiveStyles(dragEl.current, activeStyles3);
|
|
26593
26786
|
}
|
|
26594
26787
|
}, [getGridItemIdOrder, activeStyles3]);
|
|
26595
|
-
const commitReorder = (0,
|
|
26788
|
+
const commitReorder = (0, import_react144.useCallback)(() => {
|
|
26596
26789
|
if (gridEl.current && dragEl.current) {
|
|
26597
26790
|
const currentOrder = getGridItemIdOrder();
|
|
26598
26791
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) onReorder(currentOrder);
|
|
@@ -26602,7 +26795,7 @@ function DnDGrid(props) {
|
|
|
26602
26795
|
initialOrder.current = currentOrder;
|
|
26603
26796
|
}
|
|
26604
26797
|
}, [onReorder, getGridItemIdOrder]);
|
|
26605
|
-
const cancelReorder = (0,
|
|
26798
|
+
const cancelReorder = (0, import_react144.useCallback)(() => {
|
|
26606
26799
|
if (gridEl.current && dragEl.current && initialOrder.current) {
|
|
26607
26800
|
const currentOrder = getGridItemIdOrder();
|
|
26608
26801
|
if (!(0, import_fast_deep_equal2.default)(currentOrder, initialOrder.current)) {
|
|
@@ -26624,7 +26817,7 @@ function DnDGrid(props) {
|
|
|
26624
26817
|
reorderViaKeyboard.current = false;
|
|
26625
26818
|
}
|
|
26626
26819
|
}, [getGridItemIdOrder, getGridItems]);
|
|
26627
|
-
const onMove = (0,
|
|
26820
|
+
const onMove = (0, import_react144.useCallback)((e) => {
|
|
26628
26821
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
26629
26822
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
26630
26823
|
const clientY = "clientY" in e ? e.clientY : e.touches[0].clientY;
|
|
@@ -26647,7 +26840,7 @@ function DnDGrid(props) {
|
|
|
26647
26840
|
}
|
|
26648
26841
|
}
|
|
26649
26842
|
}, [lockAxis]);
|
|
26650
|
-
const onDragEnd = (0,
|
|
26843
|
+
const onDragEnd = (0, import_react144.useCallback)((e) => {
|
|
26651
26844
|
if (!reorderViaKeyboard.current && dragEl.current && cloneEl.current && gridEl.current) {
|
|
26652
26845
|
e.preventDefault();
|
|
26653
26846
|
cloneEl.current.replaceWith(dragEl.current);
|
|
@@ -26658,7 +26851,7 @@ function DnDGrid(props) {
|
|
|
26658
26851
|
removePointerDragListeners(onMove, onDragEnd);
|
|
26659
26852
|
}
|
|
26660
26853
|
}, [commitReorder, onMove]);
|
|
26661
|
-
const onDragStart = (0,
|
|
26854
|
+
const onDragStart = (0, import_react144.useCallback)((e) => {
|
|
26662
26855
|
if (!reorderViaKeyboard.current && dragEl.current && gridEl.current) {
|
|
26663
26856
|
const rect = dragEl.current.getBoundingClientRect();
|
|
26664
26857
|
const clientX = "clientX" in e ? e.clientX : e.touches[0].clientX;
|
|
@@ -26686,10 +26879,10 @@ function DnDGrid(props) {
|
|
|
26686
26879
|
addPointerDragListeners(onMove, onDragEnd);
|
|
26687
26880
|
}
|
|
26688
26881
|
}, [initReorder, onMove, onDragEnd]);
|
|
26689
|
-
(0,
|
|
26882
|
+
(0, import_react144.useEffect)(() => {
|
|
26690
26883
|
return () => removePointerDragListeners(onMove, onDragEnd);
|
|
26691
26884
|
}, [onMove, onDragEnd]);
|
|
26692
|
-
const onDragHandleKeyDown = (0,
|
|
26885
|
+
const onDragHandleKeyDown = (0, import_react144.useCallback)((e) => {
|
|
26693
26886
|
const moveHandle = e.target;
|
|
26694
26887
|
if (dragEl.current instanceof HTMLElement && moveHandle instanceof HTMLElement && gridEl.current) {
|
|
26695
26888
|
const isSpaceKey = e.key === " ";
|
|
@@ -26737,10 +26930,10 @@ function DnDGrid(props) {
|
|
|
26737
26930
|
}
|
|
26738
26931
|
}
|
|
26739
26932
|
}, [cancelReorder, commitReorder, initReorder, getGridItems, lockAxis]);
|
|
26740
|
-
return /* @__PURE__ */ (0,
|
|
26933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime204.jsx)(DnDGridContext.Provider, { value: {
|
|
26741
26934
|
dragEl,
|
|
26742
26935
|
onDragHandleKeyDown
|
|
26743
|
-
}, children: /* @__PURE__ */ (0,
|
|
26936
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime204.jsx)("div", { ref: gridEl, ...(0, import_runtime137.trussProps)({
|
|
26744
26937
|
...{
|
|
26745
26938
|
containerType: "ctis",
|
|
26746
26939
|
display: "dg"
|
|
@@ -26770,15 +26963,15 @@ function applyActiveStyles(el, activeStyles3) {
|
|
|
26770
26963
|
const {
|
|
26771
26964
|
className,
|
|
26772
26965
|
style
|
|
26773
|
-
} = (0,
|
|
26966
|
+
} = (0, import_runtime137.trussProps)(activeStyles3);
|
|
26774
26967
|
if (className) el.classList.add(...className.split(" ").filter(Boolean));
|
|
26775
26968
|
if (style) setInlineStyles(el, style);
|
|
26776
26969
|
}
|
|
26777
26970
|
|
|
26778
26971
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
26779
|
-
var
|
|
26780
|
-
var
|
|
26781
|
-
var
|
|
26972
|
+
var import_react_aria62 = require("react-aria");
|
|
26973
|
+
var import_runtime138 = require("@homebound/truss/runtime");
|
|
26974
|
+
var import_jsx_runtime205 = require("react/jsx-runtime");
|
|
26782
26975
|
function DnDGridItemHandle(props) {
|
|
26783
26976
|
const {
|
|
26784
26977
|
dragHandleProps,
|
|
@@ -26789,11 +26982,11 @@ function DnDGridItemHandle(props) {
|
|
|
26789
26982
|
const {
|
|
26790
26983
|
focusProps,
|
|
26791
26984
|
isFocusVisible
|
|
26792
|
-
} = (0,
|
|
26985
|
+
} = (0, import_react_aria62.useFocusRing)();
|
|
26793
26986
|
const {
|
|
26794
26987
|
hoverProps,
|
|
26795
26988
|
isHovered
|
|
26796
|
-
} = (0,
|
|
26989
|
+
} = (0, import_react_aria62.useHover)({});
|
|
26797
26990
|
const tid = useTestIds(props, "dragHandle");
|
|
26798
26991
|
const iconButtonNormal = {
|
|
26799
26992
|
height: "h_28px",
|
|
@@ -26807,7 +27000,7 @@ function DnDGridItemHandle(props) {
|
|
|
26807
27000
|
borderRadius: "br4",
|
|
26808
27001
|
borderWidth: "bw1"
|
|
26809
27002
|
};
|
|
26810
|
-
return /* @__PURE__ */ (0,
|
|
27003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("button", { ...(0, import_runtime138.trussProps)({
|
|
26811
27004
|
...compact ? iconButtonCompact : iconButtonNormal,
|
|
26812
27005
|
...{
|
|
26813
27006
|
cursor: "cur_grab",
|
|
@@ -26826,15 +27019,15 @@ function DnDGridItemHandle(props) {
|
|
|
26826
27019
|
...isHovered && {
|
|
26827
27020
|
backgroundColor: "bgGray200"
|
|
26828
27021
|
}
|
|
26829
|
-
}), ...(0,
|
|
27022
|
+
}), ...(0, import_react_aria62.mergeProps)(dragHandleProps, focusProps, hoverProps), ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime205.jsx)(Icon, { icon, inc: compact ? 2 : void 0, color }) });
|
|
26830
27023
|
}
|
|
26831
27024
|
|
|
26832
27025
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
26833
|
-
var
|
|
27026
|
+
var import_react145 = require("react");
|
|
26834
27027
|
function useDnDGridItem(props) {
|
|
26835
27028
|
const { id, itemRef } = props;
|
|
26836
27029
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
26837
|
-
const { dragItemProps, dragHandleProps } = (0,
|
|
27030
|
+
const { dragItemProps, dragHandleProps } = (0, import_react145.useMemo)(() => {
|
|
26838
27031
|
function initDraggable() {
|
|
26839
27032
|
if (itemRef.current) {
|
|
26840
27033
|
dragEl.current = itemRef.current;
|
|
@@ -26907,9 +27100,9 @@ var BaseFilter = class {
|
|
|
26907
27100
|
};
|
|
26908
27101
|
|
|
26909
27102
|
// src/components/internal/CompoundField.tsx
|
|
26910
|
-
var
|
|
26911
|
-
var
|
|
26912
|
-
var
|
|
27103
|
+
var import_react146 = require("react");
|
|
27104
|
+
var import_runtime139 = require("@homebound/truss/runtime");
|
|
27105
|
+
var import_jsx_runtime206 = require("react/jsx-runtime");
|
|
26913
27106
|
function CompoundField({
|
|
26914
27107
|
children
|
|
26915
27108
|
}) {
|
|
@@ -26932,7 +27125,7 @@ function CompoundField({
|
|
|
26932
27125
|
const internalProps = {
|
|
26933
27126
|
compound: true
|
|
26934
27127
|
};
|
|
26935
|
-
const [hasFocusWithin, setHasFocusWithin] = (0,
|
|
27128
|
+
const [hasFocusWithin, setHasFocusWithin] = (0, import_react146.useState)(false);
|
|
26936
27129
|
function onFocusCapture() {
|
|
26937
27130
|
setHasFocusWithin(true);
|
|
26938
27131
|
}
|
|
@@ -26943,8 +27136,8 @@ function CompoundField({
|
|
|
26943
27136
|
}
|
|
26944
27137
|
setHasFocusWithin(false);
|
|
26945
27138
|
}
|
|
26946
|
-
return /* @__PURE__ */ (0,
|
|
26947
|
-
/* @__PURE__ */ (0,
|
|
27139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime206.jsxs)("div", { className: "df", onFocusCapture, onBlurCapture, children: [
|
|
27140
|
+
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ...(0, import_runtime139.trussProps)({
|
|
26948
27141
|
...commonStyles,
|
|
26949
27142
|
...{
|
|
26950
27143
|
borderLeftStyle: "bls_solid",
|
|
@@ -26956,10 +27149,10 @@ function CompoundField({
|
|
|
26956
27149
|
"--borderColor": "var(--b-field-border-focus)"
|
|
26957
27150
|
}]
|
|
26958
27151
|
}
|
|
26959
|
-
}), children: (0,
|
|
27152
|
+
}), children: (0, import_react146.cloneElement)(children[0], {
|
|
26960
27153
|
internalProps
|
|
26961
27154
|
}) }),
|
|
26962
|
-
/* @__PURE__ */ (0,
|
|
27155
|
+
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ...(0, import_runtime139.trussProps)({
|
|
26963
27156
|
...{
|
|
26964
27157
|
width: "w_1px",
|
|
26965
27158
|
flex: "fn",
|
|
@@ -26973,7 +27166,7 @@ function CompoundField({
|
|
|
26973
27166
|
}]
|
|
26974
27167
|
}
|
|
26975
27168
|
}) }),
|
|
26976
|
-
/* @__PURE__ */ (0,
|
|
27169
|
+
/* @__PURE__ */ (0, import_jsx_runtime206.jsx)("div", { ...(0, import_runtime139.trussProps)({
|
|
26977
27170
|
...commonStyles,
|
|
26978
27171
|
...{
|
|
26979
27172
|
flexGrow: "fg1",
|
|
@@ -26986,14 +27179,14 @@ function CompoundField({
|
|
|
26986
27179
|
"--borderColor": "var(--b-field-border-focus)"
|
|
26987
27180
|
}]
|
|
26988
27181
|
}
|
|
26989
|
-
}), children: (0,
|
|
27182
|
+
}), children: (0, import_react146.cloneElement)(children[1], {
|
|
26990
27183
|
internalProps
|
|
26991
27184
|
}) })
|
|
26992
27185
|
] });
|
|
26993
27186
|
}
|
|
26994
27187
|
|
|
26995
27188
|
// src/components/Filters/DateFilter.tsx
|
|
26996
|
-
var
|
|
27189
|
+
var import_jsx_runtime207 = require("react/jsx-runtime");
|
|
26997
27190
|
function dateFilter(props) {
|
|
26998
27191
|
return (key) => new DateFilter(key, props);
|
|
26999
27192
|
}
|
|
@@ -27015,10 +27208,10 @@ var DateFilter = class extends BaseFilter {
|
|
|
27015
27208
|
}
|
|
27016
27209
|
render(value, setValue, tid, inModal, vertical) {
|
|
27017
27210
|
const { label, operations, getOperationValue, getOperationLabel, defaultValue } = this.props;
|
|
27018
|
-
return /* @__PURE__ */ (0,
|
|
27019
|
-
vertical && /* @__PURE__ */ (0,
|
|
27020
|
-
/* @__PURE__ */ (0,
|
|
27021
|
-
/* @__PURE__ */ (0,
|
|
27211
|
+
return /* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(import_jsx_runtime207.Fragment, { children: [
|
|
27212
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime207.jsx)(Label, { label }),
|
|
27213
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsxs)(CompoundField, { children: [
|
|
27214
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
|
|
27022
27215
|
SelectField,
|
|
27023
27216
|
{
|
|
27024
27217
|
sizeToContent: true,
|
|
@@ -27040,7 +27233,7 @@ var DateFilter = class extends BaseFilter {
|
|
|
27040
27233
|
...tid[`${defaultTestId(this.label)}_dateOperation`]
|
|
27041
27234
|
}
|
|
27042
27235
|
),
|
|
27043
|
-
/* @__PURE__ */ (0,
|
|
27236
|
+
/* @__PURE__ */ (0, import_jsx_runtime207.jsx)(
|
|
27044
27237
|
DateField,
|
|
27045
27238
|
{
|
|
27046
27239
|
labelStyle: "inline",
|
|
@@ -27064,7 +27257,7 @@ function isDateFilterValue(value) {
|
|
|
27064
27257
|
}
|
|
27065
27258
|
|
|
27066
27259
|
// src/components/Filters/DateRangeFilter.tsx
|
|
27067
|
-
var
|
|
27260
|
+
var import_jsx_runtime208 = require("react/jsx-runtime");
|
|
27068
27261
|
function dateRangeFilter(props) {
|
|
27069
27262
|
return (key) => new DateRangeFilter(key, props);
|
|
27070
27263
|
}
|
|
@@ -27086,9 +27279,9 @@ var DateRangeFilter = class extends BaseFilter {
|
|
|
27086
27279
|
}
|
|
27087
27280
|
render(value, setValue, tid, inModal, vertical) {
|
|
27088
27281
|
const { label, placeholderText, disabledDays, testFieldLabel, defaultValue } = this.props;
|
|
27089
|
-
return /* @__PURE__ */ (0,
|
|
27090
|
-
vertical && /* @__PURE__ */ (0,
|
|
27091
|
-
/* @__PURE__ */ (0,
|
|
27282
|
+
return /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_jsx_runtime208.Fragment, { children: [
|
|
27283
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(Label, { label }),
|
|
27284
|
+
/* @__PURE__ */ (0, import_jsx_runtime208.jsx)(
|
|
27092
27285
|
DateRangeField,
|
|
27093
27286
|
{
|
|
27094
27287
|
labelStyle: "inline",
|
|
@@ -27144,7 +27337,7 @@ function resolveNestedOptions(optionsOrLoad) {
|
|
|
27144
27337
|
}
|
|
27145
27338
|
|
|
27146
27339
|
// src/components/Filters/MultiFilter.tsx
|
|
27147
|
-
var
|
|
27340
|
+
var import_jsx_runtime209 = require("react/jsx-runtime");
|
|
27148
27341
|
function multiFilter(props) {
|
|
27149
27342
|
return (key) => new MultiFilter(key, props);
|
|
27150
27343
|
}
|
|
@@ -27158,7 +27351,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
27158
27351
|
const { disabledOptions } = this.props;
|
|
27159
27352
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
27160
27353
|
const disabledKeys = Object.keys(disabledOptionsWithReasons);
|
|
27161
|
-
return /* @__PURE__ */ (0,
|
|
27354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
|
|
27162
27355
|
ToggleChipGroup,
|
|
27163
27356
|
{
|
|
27164
27357
|
label: this.label,
|
|
@@ -27182,7 +27375,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
27182
27375
|
);
|
|
27183
27376
|
}
|
|
27184
27377
|
const { defaultValue, nothingSelectedText, ...props } = this.props;
|
|
27185
|
-
return /* @__PURE__ */ (0,
|
|
27378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(
|
|
27186
27379
|
MultiSelectField,
|
|
27187
27380
|
{
|
|
27188
27381
|
...props,
|
|
@@ -27201,7 +27394,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
27201
27394
|
};
|
|
27202
27395
|
|
|
27203
27396
|
// src/components/Filters/NumberRangeFilter.tsx
|
|
27204
|
-
var
|
|
27397
|
+
var import_jsx_runtime210 = require("react/jsx-runtime");
|
|
27205
27398
|
function numberRangeFilter(props) {
|
|
27206
27399
|
return (key) => new NumberRangeFilter(key, props);
|
|
27207
27400
|
}
|
|
@@ -27218,10 +27411,10 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
27218
27411
|
} = this.props;
|
|
27219
27412
|
const min = value?.min ?? void 0;
|
|
27220
27413
|
const max = value?.max ?? void 0;
|
|
27221
|
-
return /* @__PURE__ */ (0,
|
|
27222
|
-
vertical && /* @__PURE__ */ (0,
|
|
27223
|
-
/* @__PURE__ */ (0,
|
|
27224
|
-
/* @__PURE__ */ (0,
|
|
27414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(import_jsx_runtime210.Fragment, { children: [
|
|
27415
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...tid, children: [
|
|
27416
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(Label, { label }),
|
|
27417
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { className: "pb1", children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(NumberField, { labelStyle: "inline", clearable: true, label: "Min", value: min, type: numberFieldType, numberFormatOptions, onChange: (minVal) => {
|
|
27225
27418
|
const maxValue = max ? {
|
|
27226
27419
|
max
|
|
27227
27420
|
} : {};
|
|
@@ -27230,7 +27423,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
27230
27423
|
...maxValue
|
|
27231
27424
|
} : void 0);
|
|
27232
27425
|
}, ...tid[`${defaultTestId(label)}_min_vertical`] }) }),
|
|
27233
|
-
/* @__PURE__ */ (0,
|
|
27426
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(NumberField, { labelStyle: "inline", clearable: true, label: "Max", value: max, type: numberFieldType, numberFormatOptions, onChange: (maxVal) => {
|
|
27234
27427
|
const minValue = min ? {
|
|
27235
27428
|
min
|
|
27236
27429
|
} : {};
|
|
@@ -27240,8 +27433,8 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
27240
27433
|
} : void 0);
|
|
27241
27434
|
}, ...tid[`${defaultTestId(label)}_max_vertical`] })
|
|
27242
27435
|
] }),
|
|
27243
|
-
!vertical && /* @__PURE__ */ (0,
|
|
27244
|
-
/* @__PURE__ */ (0,
|
|
27436
|
+
!vertical && /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)(CompoundField, { ...tid, children: [
|
|
27437
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(
|
|
27245
27438
|
NumberField,
|
|
27246
27439
|
{
|
|
27247
27440
|
sizeToContent: !inModal,
|
|
@@ -27263,7 +27456,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
27263
27456
|
...tid[`${defaultTestId(label)}_min`]
|
|
27264
27457
|
}
|
|
27265
27458
|
),
|
|
27266
|
-
/* @__PURE__ */ (0,
|
|
27459
|
+
/* @__PURE__ */ (0, import_jsx_runtime210.jsx)(NumberField, { sizeToContent: !inModal, labelStyle: "inline", clearable: true, label: !inModal ? `${label} Max` : "Max", value: max, type: numberFieldType, numberFormatOptions, onChange: (maxVal) => {
|
|
27267
27460
|
const minValue = min ? {
|
|
27268
27461
|
min
|
|
27269
27462
|
} : {};
|
|
@@ -27278,7 +27471,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
27278
27471
|
};
|
|
27279
27472
|
|
|
27280
27473
|
// src/components/Filters/SingleFilter.tsx
|
|
27281
|
-
var
|
|
27474
|
+
var import_jsx_runtime211 = require("react/jsx-runtime");
|
|
27282
27475
|
function singleFilter(props) {
|
|
27283
27476
|
return (key) => new SingleFilter(key, props);
|
|
27284
27477
|
}
|
|
@@ -27299,7 +27492,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
27299
27492
|
...props
|
|
27300
27493
|
} = this.props;
|
|
27301
27494
|
const options = Array.isArray(maybeOptions) ? [allOption, ...maybeOptions] : { ...maybeOptions, current: maybeOptions.current };
|
|
27302
|
-
return /* @__PURE__ */ (0,
|
|
27495
|
+
return /* @__PURE__ */ (0, import_jsx_runtime211.jsx)(
|
|
27303
27496
|
SelectField,
|
|
27304
27497
|
{
|
|
27305
27498
|
...props,
|
|
@@ -27319,7 +27512,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
27319
27512
|
};
|
|
27320
27513
|
|
|
27321
27514
|
// src/components/Filters/TreeFilter.tsx
|
|
27322
|
-
var
|
|
27515
|
+
var import_jsx_runtime212 = require("react/jsx-runtime");
|
|
27323
27516
|
function treeFilter(props) {
|
|
27324
27517
|
return (key) => new TreeFilter(key, props);
|
|
27325
27518
|
}
|
|
@@ -27330,7 +27523,7 @@ var TreeFilter = class extends BaseFilter {
|
|
|
27330
27523
|
}
|
|
27331
27524
|
render(value, setValue, tid, inModal, vertical) {
|
|
27332
27525
|
const { defaultValue, nothingSelectedText, filterBy = "root", ...props } = this.props;
|
|
27333
|
-
return /* @__PURE__ */ (0,
|
|
27526
|
+
return /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(
|
|
27334
27527
|
TreeSelectField,
|
|
27335
27528
|
{
|
|
27336
27529
|
...props,
|
|
@@ -27350,7 +27543,7 @@ var TreeFilter = class extends BaseFilter {
|
|
|
27350
27543
|
};
|
|
27351
27544
|
|
|
27352
27545
|
// src/components/Filters/BooleanFilter.tsx
|
|
27353
|
-
var
|
|
27546
|
+
var import_jsx_runtime213 = require("react/jsx-runtime");
|
|
27354
27547
|
function booleanFilter(props) {
|
|
27355
27548
|
return (key) => new BooleanFilter(key, props);
|
|
27356
27549
|
}
|
|
@@ -27362,7 +27555,7 @@ var BooleanFilter = class extends BaseFilter {
|
|
|
27362
27555
|
}
|
|
27363
27556
|
render(value, setValue, tid, inModal, vertical) {
|
|
27364
27557
|
const { options = defaultBooleanOptions, label, defaultValue, ...props } = this.props;
|
|
27365
|
-
return /* @__PURE__ */ (0,
|
|
27558
|
+
return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(
|
|
27366
27559
|
SelectField,
|
|
27367
27560
|
{
|
|
27368
27561
|
...props,
|
|
@@ -27389,7 +27582,7 @@ var defaultBooleanOptions = [
|
|
|
27389
27582
|
];
|
|
27390
27583
|
|
|
27391
27584
|
// src/components/Filters/CheckboxFilter.tsx
|
|
27392
|
-
var
|
|
27585
|
+
var import_jsx_runtime214 = require("react/jsx-runtime");
|
|
27393
27586
|
function checkboxFilter(props) {
|
|
27394
27587
|
return (key) => new CheckboxFilter(key, {
|
|
27395
27588
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -27404,7 +27597,7 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
27404
27597
|
}
|
|
27405
27598
|
render(value, setValue, tid, inModal, vertical) {
|
|
27406
27599
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
27407
|
-
return /* @__PURE__ */ (0,
|
|
27600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(
|
|
27408
27601
|
Checkbox,
|
|
27409
27602
|
{
|
|
27410
27603
|
...props,
|
|
@@ -27423,7 +27616,7 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
27423
27616
|
};
|
|
27424
27617
|
|
|
27425
27618
|
// src/components/Filters/ToggleFilter.tsx
|
|
27426
|
-
var
|
|
27619
|
+
var import_jsx_runtime215 = require("react/jsx-runtime");
|
|
27427
27620
|
function toggleFilter(props) {
|
|
27428
27621
|
return (key) => new ToggleFilter(key, {
|
|
27429
27622
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -27438,7 +27631,7 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
27438
27631
|
}
|
|
27439
27632
|
render(value, setValue, tid, inModal, vertical) {
|
|
27440
27633
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
27441
|
-
return /* @__PURE__ */ (0,
|
|
27634
|
+
return /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(
|
|
27442
27635
|
Switch,
|
|
27443
27636
|
{
|
|
27444
27637
|
...props,
|
|
@@ -27458,12 +27651,12 @@ var ToggleFilter = class extends BaseFilter {
|
|
|
27458
27651
|
};
|
|
27459
27652
|
|
|
27460
27653
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
27461
|
-
var
|
|
27654
|
+
var import_react149 = require("react");
|
|
27462
27655
|
|
|
27463
27656
|
// src/components/Grid/useResponsiveGrid.ts
|
|
27464
|
-
var
|
|
27465
|
-
var
|
|
27466
|
-
var
|
|
27657
|
+
var import_react147 = require("react");
|
|
27658
|
+
var import_runtime140 = require("@homebound/truss/runtime");
|
|
27659
|
+
var __maybeInc28 = (inc) => {
|
|
27467
27660
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
27468
27661
|
};
|
|
27469
27662
|
function useResponsiveGrid(props) {
|
|
@@ -27472,7 +27665,7 @@ function useResponsiveGrid(props) {
|
|
|
27472
27665
|
gap,
|
|
27473
27666
|
columns
|
|
27474
27667
|
} = props;
|
|
27475
|
-
const gridStyles = (0,
|
|
27668
|
+
const gridStyles = (0, import_react147.useMemo)(() => {
|
|
27476
27669
|
const gapCount = columns - 1;
|
|
27477
27670
|
const totalGapWidth = gap * gapCount;
|
|
27478
27671
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -27481,11 +27674,11 @@ function useResponsiveGrid(props) {
|
|
|
27481
27674
|
return {
|
|
27482
27675
|
display: "dg",
|
|
27483
27676
|
gridTemplateColumns: ["gtc_var", {
|
|
27484
|
-
"--gridTemplateColumns": (0,
|
|
27677
|
+
"--gridTemplateColumns": (0, import_runtime140.maybeCssVar)(gridTemplateColumns)
|
|
27485
27678
|
}],
|
|
27486
27679
|
containerType: "ctis",
|
|
27487
27680
|
gap: ["gap_var", {
|
|
27488
|
-
"--gap": (0,
|
|
27681
|
+
"--gap": (0, import_runtime140.maybeCssVar)(__maybeInc28(gridGap))
|
|
27489
27682
|
}]
|
|
27490
27683
|
};
|
|
27491
27684
|
}, [minColumnWidth, gap, columns]);
|
|
@@ -27495,13 +27688,13 @@ function useResponsiveGrid(props) {
|
|
|
27495
27688
|
}
|
|
27496
27689
|
|
|
27497
27690
|
// src/components/Grid/utils.ts
|
|
27498
|
-
var
|
|
27691
|
+
var import_react148 = require("react");
|
|
27499
27692
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
27500
|
-
var ResponsiveGridContext = (0,
|
|
27693
|
+
var ResponsiveGridContext = (0, import_react148.createContext)(void 0);
|
|
27501
27694
|
|
|
27502
27695
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
27503
|
-
var
|
|
27504
|
-
var
|
|
27696
|
+
var import_runtime141 = require("@homebound/truss/runtime");
|
|
27697
|
+
var import_jsx_runtime216 = require("react/jsx-runtime");
|
|
27505
27698
|
function ResponsiveGrid(props) {
|
|
27506
27699
|
const {
|
|
27507
27700
|
children,
|
|
@@ -27516,27 +27709,27 @@ function ResponsiveGrid(props) {
|
|
|
27516
27709
|
gap,
|
|
27517
27710
|
columns
|
|
27518
27711
|
});
|
|
27519
|
-
const config = (0,
|
|
27712
|
+
const config = (0, import_react149.useMemo)(() => ({
|
|
27520
27713
|
minColumnWidth,
|
|
27521
27714
|
gap,
|
|
27522
27715
|
columns
|
|
27523
27716
|
}), [minColumnWidth, gap, columns]);
|
|
27524
|
-
return /* @__PURE__ */ (0,
|
|
27717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("div", { ...(0, import_runtime141.trussProps)(gridStyles), children }) });
|
|
27525
27718
|
}
|
|
27526
27719
|
|
|
27527
27720
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
27528
|
-
var
|
|
27529
|
-
var
|
|
27721
|
+
var import_react_aria63 = require("react-aria");
|
|
27722
|
+
var import_runtime142 = require("@homebound/truss/runtime");
|
|
27530
27723
|
|
|
27531
27724
|
// src/components/Grid/useResponsiveGridItem.ts
|
|
27532
|
-
var
|
|
27725
|
+
var import_react150 = require("react");
|
|
27533
27726
|
var injectedResponsiveGridClasses = /* @__PURE__ */ new Set();
|
|
27534
27727
|
var responsiveGridStyleEl;
|
|
27535
27728
|
function useResponsiveGridItem(props) {
|
|
27536
27729
|
const { colSpan = 1, gridConfig } = props;
|
|
27537
|
-
const contextConfig = (0,
|
|
27730
|
+
const contextConfig = (0, import_react150.useContext)(ResponsiveGridContext);
|
|
27538
27731
|
const config = gridConfig ?? contextConfig;
|
|
27539
|
-
const { className, cssText } = (0,
|
|
27732
|
+
const { className, cssText } = (0, import_react150.useMemo)(() => {
|
|
27540
27733
|
if (!config || colSpan <= 1) return { className: "", cssText: "" };
|
|
27541
27734
|
const { minColumnWidth, gap } = config;
|
|
27542
27735
|
const className2 = responsiveGridItemClassName(config, colSpan);
|
|
@@ -27559,7 +27752,7 @@ function useResponsiveGridItem(props) {
|
|
|
27559
27752
|
};
|
|
27560
27753
|
}
|
|
27561
27754
|
function useResponsiveGridItemStyle(className, cssText) {
|
|
27562
|
-
(0,
|
|
27755
|
+
(0, import_react150.useEffect)(
|
|
27563
27756
|
function() {
|
|
27564
27757
|
if (!className || !cssText || typeof document === "undefined") return;
|
|
27565
27758
|
if (!responsiveGridStyleEl) {
|
|
@@ -27581,7 +27774,7 @@ function responsiveGridItemClassName(config, colSpan) {
|
|
|
27581
27774
|
}
|
|
27582
27775
|
|
|
27583
27776
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
27584
|
-
var
|
|
27777
|
+
var import_jsx_runtime217 = require("react/jsx-runtime");
|
|
27585
27778
|
function ResponsiveGridItem(props) {
|
|
27586
27779
|
const {
|
|
27587
27780
|
colSpan,
|
|
@@ -27593,33 +27786,33 @@ function ResponsiveGridItem(props) {
|
|
|
27593
27786
|
} = useResponsiveGridItem({
|
|
27594
27787
|
colSpan
|
|
27595
27788
|
});
|
|
27596
|
-
return /* @__PURE__ */ (0,
|
|
27789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ...(0, import_react_aria63.mergeProps)(gridItemProps, (0, import_runtime142.trussProps)(gridItemStyles)), children });
|
|
27597
27790
|
}
|
|
27598
27791
|
|
|
27599
27792
|
// src/components/HbLoadingSpinner.tsx
|
|
27600
|
-
var
|
|
27793
|
+
var import_react151 = __toESM(require("react"), 1);
|
|
27601
27794
|
|
|
27602
27795
|
// src/components/HbLoadingSpinner.base64.ts
|
|
27603
27796
|
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";
|
|
27604
27797
|
|
|
27605
27798
|
// src/components/HbLoadingSpinner.tsx
|
|
27606
|
-
var
|
|
27799
|
+
var import_jsx_runtime218 = require("react/jsx-runtime");
|
|
27607
27800
|
function HbLoadingSpinner({
|
|
27608
27801
|
noQuips,
|
|
27609
27802
|
extraQuips = [],
|
|
27610
27803
|
extraQuipsOnly,
|
|
27611
27804
|
iconOnly
|
|
27612
27805
|
}) {
|
|
27613
|
-
const ctx = (0,
|
|
27806
|
+
const ctx = (0, import_react151.useContext)(HbLoadingSpinnerContext);
|
|
27614
27807
|
const tid = useTestIds({}, "hbSpinner");
|
|
27615
|
-
const quip = (0,
|
|
27808
|
+
const quip = (0, import_react151.useMemo)(() => {
|
|
27616
27809
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
27617
27810
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
27618
27811
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
27619
27812
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
27620
27813
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
27621
|
-
return /* @__PURE__ */ (0,
|
|
27622
|
-
/* @__PURE__ */ (0,
|
|
27814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: "df fdc jcc aic", ...tid, children: [
|
|
27815
|
+
/* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
|
|
27623
27816
|
"img",
|
|
27624
27817
|
{
|
|
27625
27818
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -27629,7 +27822,7 @@ function HbLoadingSpinner({
|
|
|
27629
27822
|
...tid.gif
|
|
27630
27823
|
}
|
|
27631
27824
|
),
|
|
27632
|
-
!iconOnly && /* @__PURE__ */ (0,
|
|
27825
|
+
!iconOnly && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(
|
|
27633
27826
|
"div",
|
|
27634
27827
|
{
|
|
27635
27828
|
"data-chromatic": "ignore",
|
|
@@ -27642,7 +27835,7 @@ function HbLoadingSpinner({
|
|
|
27642
27835
|
var dotDotDot = (str) => str.concat("...");
|
|
27643
27836
|
var HB_QUIPS_MISSION = ["Loading", "One Team", "On a Mission", "Executing Relentlessly", "Building Better", "In Service of Our Customers"].map(dotDotDot);
|
|
27644
27837
|
var HB_QUIPS_FLAVOR = ["HOM is HOW", "Scaling Massively", "#LoveIt"].map(dotDotDot);
|
|
27645
|
-
var HbLoadingSpinnerContext =
|
|
27838
|
+
var HbLoadingSpinnerContext = import_react151.default.createContext({
|
|
27646
27839
|
quips: ["Loading..."],
|
|
27647
27840
|
noQuips: false
|
|
27648
27841
|
});
|
|
@@ -27650,60 +27843,60 @@ function HbSpinnerProvider({
|
|
|
27650
27843
|
quips = [],
|
|
27651
27844
|
children
|
|
27652
27845
|
}) {
|
|
27653
|
-
const state = (0,
|
|
27846
|
+
const state = (0, import_react151.useMemo)(() => ({
|
|
27654
27847
|
quips,
|
|
27655
27848
|
noQuips: quips.length === 0
|
|
27656
27849
|
}), [quips]);
|
|
27657
|
-
return /* @__PURE__ */ (0,
|
|
27850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
27658
27851
|
}
|
|
27659
27852
|
|
|
27660
27853
|
// src/components/Modal/OpenModal.tsx
|
|
27661
|
-
var
|
|
27662
|
-
var
|
|
27854
|
+
var import_react152 = require("react");
|
|
27855
|
+
var import_jsx_runtime219 = require("react/jsx-runtime");
|
|
27663
27856
|
function OpenModal(props) {
|
|
27664
27857
|
const { openModal } = useModal();
|
|
27665
27858
|
const { size, children, keepOpen, aiMode } = props;
|
|
27666
|
-
(0,
|
|
27859
|
+
(0, import_react152.useEffect)(() => {
|
|
27667
27860
|
if (!keepOpen) {
|
|
27668
27861
|
openModal({ size, content: children, aiMode });
|
|
27669
27862
|
}
|
|
27670
27863
|
}, [keepOpen, openModal, size, children, aiMode]);
|
|
27671
27864
|
if (keepOpen) {
|
|
27672
|
-
return /* @__PURE__ */ (0,
|
|
27865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(Modal, { size, content: children, aiMode });
|
|
27673
27866
|
} else {
|
|
27674
|
-
return /* @__PURE__ */ (0,
|
|
27867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("div", { children: "dummy content" });
|
|
27675
27868
|
}
|
|
27676
27869
|
}
|
|
27677
27870
|
|
|
27678
27871
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
27679
27872
|
var import_framer_motion7 = require("framer-motion");
|
|
27680
|
-
var
|
|
27681
|
-
var
|
|
27873
|
+
var import_react154 = require("react");
|
|
27874
|
+
var import_react_aria64 = require("react-aria");
|
|
27682
27875
|
var import_react_dom9 = require("react-dom");
|
|
27683
27876
|
var import_react_router_dom7 = require("react-router-dom");
|
|
27684
27877
|
|
|
27685
27878
|
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
27686
|
-
var
|
|
27687
|
-
var
|
|
27688
|
-
var MobileSubNavContext = (0,
|
|
27879
|
+
var import_react153 = require("react");
|
|
27880
|
+
var import_jsx_runtime220 = require("react/jsx-runtime");
|
|
27881
|
+
var MobileSubNavContext = (0, import_react153.createContext)(void 0);
|
|
27689
27882
|
function MobileSubNavProvider(props) {
|
|
27690
|
-
const [mobileSubNav, setMobileSubNav] = (0,
|
|
27691
|
-
const value = (0,
|
|
27692
|
-
return /* @__PURE__ */ (0,
|
|
27883
|
+
const [mobileSubNav, setMobileSubNav] = (0, import_react153.useState)(null);
|
|
27884
|
+
const value = (0, import_react153.useMemo)(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
27885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(MobileSubNavContext.Provider, { value, children: props.children });
|
|
27693
27886
|
}
|
|
27694
27887
|
function useMobileSubNav() {
|
|
27695
|
-
return (0,
|
|
27888
|
+
return (0, import_react153.useContext)(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
27696
27889
|
}
|
|
27697
27890
|
function useRegisterMobileSubNav(content2) {
|
|
27698
|
-
const ctx = (0,
|
|
27891
|
+
const ctx = (0, import_react153.useContext)(MobileSubNavContext);
|
|
27699
27892
|
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
27700
27893
|
const enabled = !useBreakpoint().mdAndUp;
|
|
27701
27894
|
const { top, items, footer } = content2;
|
|
27702
|
-
(0,
|
|
27895
|
+
(0, import_react153.useLayoutEffect)(() => {
|
|
27703
27896
|
if (!setMobileSubNav || !enabled) return;
|
|
27704
27897
|
setMobileSubNav({ top, items, footer });
|
|
27705
27898
|
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
27706
|
-
(0,
|
|
27899
|
+
(0, import_react153.useLayoutEffect)(() => {
|
|
27707
27900
|
if (!setMobileSubNav || !enabled) return;
|
|
27708
27901
|
return () => setMobileSubNav(null);
|
|
27709
27902
|
}, [setMobileSubNav, enabled]);
|
|
@@ -27711,29 +27904,29 @@ function useRegisterMobileSubNav(content2) {
|
|
|
27711
27904
|
}
|
|
27712
27905
|
|
|
27713
27906
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
27714
|
-
var
|
|
27715
|
-
var
|
|
27907
|
+
var import_runtime143 = require("@homebound/truss/runtime");
|
|
27908
|
+
var import_jsx_runtime221 = require("react/jsx-runtime");
|
|
27716
27909
|
function NavbarMobileMenu(props) {
|
|
27717
27910
|
const {
|
|
27718
27911
|
items
|
|
27719
27912
|
} = props;
|
|
27720
27913
|
const tid = useTestIds(props, "navbar");
|
|
27721
|
-
const [isOpen2, setIsOpen] = (0,
|
|
27722
|
-
const [level, setLevel] = (0,
|
|
27914
|
+
const [isOpen2, setIsOpen] = (0, import_react154.useState)(false);
|
|
27915
|
+
const [level, setLevel] = (0, import_react154.useState)("sub");
|
|
27723
27916
|
const {
|
|
27724
27917
|
pathname,
|
|
27725
27918
|
search
|
|
27726
27919
|
} = (0, import_react_router_dom7.useLocation)();
|
|
27727
27920
|
const mobileSubNav = useMobileSubNav();
|
|
27728
|
-
(0,
|
|
27921
|
+
(0, import_react_aria64.usePreventScroll)({
|
|
27729
27922
|
isDisabled: !isOpen2
|
|
27730
27923
|
});
|
|
27731
27924
|
const close = () => setIsOpen(false);
|
|
27732
|
-
(0,
|
|
27925
|
+
(0, import_react154.useEffect)(() => {
|
|
27733
27926
|
close();
|
|
27734
27927
|
}, [pathname, search]);
|
|
27735
|
-
return /* @__PURE__ */ (0,
|
|
27736
|
-
/* @__PURE__ */ (0,
|
|
27928
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_jsx_runtime221.Fragment, { children: [
|
|
27929
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(IconButton, { icon: isOpen2 ? "menuClose" : "menu", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: isOpen2 ? "Close navigation" : "Open navigation", onClick: () => {
|
|
27737
27930
|
if (isOpen2) {
|
|
27738
27931
|
close();
|
|
27739
27932
|
return;
|
|
@@ -27743,7 +27936,7 @@ function NavbarMobileMenu(props) {
|
|
|
27743
27936
|
}, ...tid.mobileMenu }),
|
|
27744
27937
|
(0, import_react_dom9.createPortal)(
|
|
27745
27938
|
/* AnimatePresence keeps the drawer mounted through its slide/fade-out before unmounting.*/
|
|
27746
|
-
/* @__PURE__ */ (0,
|
|
27939
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(import_framer_motion7.AnimatePresence, { children: isOpen2 && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(NavbarMobileDrawer, { items, mobileSubNav, level, onLevelChange: setLevel, onClose: close, tid }) }),
|
|
27747
27940
|
document.body
|
|
27748
27941
|
)
|
|
27749
27942
|
] });
|
|
@@ -27761,14 +27954,14 @@ function NavbarMobileDrawer({
|
|
|
27761
27954
|
top: bannerHeightPx
|
|
27762
27955
|
};
|
|
27763
27956
|
const showSubLevel = mobileSubNav != null && level === "sub";
|
|
27764
|
-
return /* @__PURE__ */ (0,
|
|
27765
|
-
/* @__PURE__ */ (0,
|
|
27957
|
+
return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_jsx_runtime221.Fragment, { children: [
|
|
27958
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(import_framer_motion7.motion.div, { ...(0, import_runtime143.mergeProps)(void 0, overlayTopStyle, {
|
|
27766
27959
|
position: "fixed",
|
|
27767
27960
|
right: "right0",
|
|
27768
27961
|
bottom: "bottom0",
|
|
27769
27962
|
left: "left0",
|
|
27770
27963
|
zIndex: ["z_var", {
|
|
27771
|
-
"--zIndex": (0,
|
|
27964
|
+
"--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.navbarMobileMenuScrim)
|
|
27772
27965
|
}],
|
|
27773
27966
|
backgroundColor: ["bgColor_var", {
|
|
27774
27967
|
"--backgroundColor": "var(--b-scrim)"
|
|
@@ -27783,7 +27976,7 @@ function NavbarMobileDrawer({
|
|
|
27783
27976
|
ease: "linear",
|
|
27784
27977
|
duration: 0.2
|
|
27785
27978
|
}, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
|
|
27786
|
-
/* @__PURE__ */ (0,
|
|
27979
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(import_react_aria64.FocusScope, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(import_framer_motion7.motion.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...(0, import_runtime143.mergeProps)(void 0, overlayTopStyle, {
|
|
27787
27980
|
position: "fixed",
|
|
27788
27981
|
bottom: "bottom0",
|
|
27789
27982
|
left: "left0",
|
|
@@ -27793,7 +27986,7 @@ function NavbarMobileDrawer({
|
|
|
27793
27986
|
width: "w_260px",
|
|
27794
27987
|
overflow: "oh",
|
|
27795
27988
|
zIndex: ["z_var", {
|
|
27796
|
-
"--zIndex": (0,
|
|
27989
|
+
"--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.navbarMobileMenu)
|
|
27797
27990
|
}],
|
|
27798
27991
|
backgroundColor: ["bgColor_var", {
|
|
27799
27992
|
"--backgroundColor": "var(--b-surface)"
|
|
@@ -27808,7 +28001,7 @@ function NavbarMobileDrawer({
|
|
|
27808
28001
|
ease: "linear",
|
|
27809
28002
|
duration: 0.2
|
|
27810
28003
|
}, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
|
|
27811
|
-
/* @__PURE__ */ (0,
|
|
28004
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsxs)("div", { ...(0, import_runtime143.trussProps)({
|
|
27812
28005
|
...{
|
|
27813
28006
|
display: "df",
|
|
27814
28007
|
alignItems: "aic",
|
|
@@ -27824,13 +28017,13 @@ function NavbarMobileDrawer({
|
|
|
27824
28017
|
},
|
|
27825
28018
|
...pageContentPaddingX
|
|
27826
28019
|
}), children: [
|
|
27827
|
-
/* @__PURE__ */ (0,
|
|
27828
|
-
/* @__PURE__ */ (0,
|
|
28020
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "mw0", children: showSubLevel && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(Button, { label: "Main Menu", icon: "chevronLeft", variant: "quaternary", size: "sm", onClick: () => onLevelChange("global"), ...tid.mobileMenuMainMenu }) }),
|
|
28021
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(IconButton, { icon: "x", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose })
|
|
27829
28022
|
] }),
|
|
27830
|
-
/* @__PURE__ */ (0,
|
|
28023
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "fg1 mh0 oh relative", children: /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(import_framer_motion7.AnimatePresence, { initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)(
|
|
27831
28024
|
import_framer_motion7.motion.nav,
|
|
27832
28025
|
{
|
|
27833
|
-
...(0,
|
|
28026
|
+
...(0, import_runtime143.trussProps)({
|
|
27834
28027
|
...{
|
|
27835
28028
|
position: "absolute",
|
|
27836
28029
|
top: "top0",
|
|
@@ -27866,8 +28059,8 @@ function NavbarMobileDrawer({
|
|
|
27866
28059
|
},
|
|
27867
28060
|
...tid.mobileMenuPanel,
|
|
27868
28061
|
children: [
|
|
27869
|
-
showSubLevel && mobileSubNav.top && /* @__PURE__ */ (0,
|
|
27870
|
-
/* @__PURE__ */ (0,
|
|
28062
|
+
showSubLevel && mobileSubNav.top && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "fs0 pl1 pr1 pb2", ...tid.top, children: mobileSubNav.top }),
|
|
28063
|
+
/* @__PURE__ */ (0, import_jsx_runtime221.jsx)(AppNavItems, { items: showSubLevel && mobileSubNav ? mobileSubNav.items : items, panelCollapsed: false, ...tid }),
|
|
27871
28064
|
showSubLevel && mobileSubNav?.footer
|
|
27872
28065
|
]
|
|
27873
28066
|
},
|
|
@@ -27878,12 +28071,12 @@ function NavbarMobileDrawer({
|
|
|
27878
28071
|
}
|
|
27879
28072
|
|
|
27880
28073
|
// src/hooks/useContentOverflow.ts
|
|
27881
|
-
var
|
|
28074
|
+
var import_react155 = require("react");
|
|
27882
28075
|
function useContentOverflow(enabled = true) {
|
|
27883
|
-
const containerRef = (0,
|
|
27884
|
-
const contentRef = (0,
|
|
27885
|
-
const [overflows, setOverflows] = (0,
|
|
27886
|
-
const checkContentOverflow = (0,
|
|
28076
|
+
const containerRef = (0, import_react155.useRef)(null);
|
|
28077
|
+
const contentRef = (0, import_react155.useRef)(null);
|
|
28078
|
+
const [overflows, setOverflows] = (0, import_react155.useState)(false);
|
|
28079
|
+
const checkContentOverflow = (0, import_react155.useCallback)(() => {
|
|
27887
28080
|
const container = containerRef.current;
|
|
27888
28081
|
const content2 = contentRef.current;
|
|
27889
28082
|
if (!enabled || !container || !content2) {
|
|
@@ -27892,7 +28085,7 @@ function useContentOverflow(enabled = true) {
|
|
|
27892
28085
|
}
|
|
27893
28086
|
setOverflows(content2.offsetWidth > container.clientWidth);
|
|
27894
28087
|
}, [enabled]);
|
|
27895
|
-
(0,
|
|
28088
|
+
(0, import_react155.useLayoutEffect)(() => {
|
|
27896
28089
|
checkContentOverflow();
|
|
27897
28090
|
window.addEventListener("resize", checkContentOverflow);
|
|
27898
28091
|
return () => window.removeEventListener("resize", checkContentOverflow);
|
|
@@ -27901,8 +28094,8 @@ function useContentOverflow(enabled = true) {
|
|
|
27901
28094
|
}
|
|
27902
28095
|
|
|
27903
28096
|
// src/components/Navbar/Navbar.tsx
|
|
27904
|
-
var
|
|
27905
|
-
var
|
|
28097
|
+
var import_runtime144 = require("@homebound/truss/runtime");
|
|
28098
|
+
var import_jsx_runtime222 = require("react/jsx-runtime");
|
|
27906
28099
|
function Navbar(props) {
|
|
27907
28100
|
const {
|
|
27908
28101
|
brand,
|
|
@@ -27921,7 +28114,7 @@ function Navbar(props) {
|
|
|
27921
28114
|
overflows
|
|
27922
28115
|
} = useContentOverflow(!sm);
|
|
27923
28116
|
const showMobile = sm || overflows;
|
|
27924
|
-
return /* @__PURE__ */ (0,
|
|
28117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("nav", { ...(0, import_runtime144.trussProps)({
|
|
27925
28118
|
...{
|
|
27926
28119
|
backgroundColor: ["bgColor_var", {
|
|
27927
28120
|
"--backgroundColor": "var(--b-surface-raised)"
|
|
@@ -27937,10 +28130,10 @@ function Navbar(props) {
|
|
|
27937
28130
|
},
|
|
27938
28131
|
...headerContentPaddingX(showMobile)
|
|
27939
28132
|
}), ...tid, children: [
|
|
27940
|
-
/* @__PURE__ */ (0,
|
|
27941
|
-
/* @__PURE__ */ (0,
|
|
27942
|
-
showMobile && /* @__PURE__ */ (0,
|
|
27943
|
-
/* @__PURE__ */ (0,
|
|
28133
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
|
|
28134
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { className: "df aic fs0 gap2", children: [
|
|
28135
|
+
showMobile && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(NavbarMobileMenu, { items, ...tid }),
|
|
28136
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime144.trussProps)({
|
|
27944
28137
|
flexShrink: "fs0",
|
|
27945
28138
|
...hideBrandOnMobile && showMobile ? {
|
|
27946
28139
|
display: "dn"
|
|
@@ -27949,7 +28142,7 @@ function Navbar(props) {
|
|
|
27949
28142
|
] }),
|
|
27950
28143
|
!sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
|
|
27951
28144
|
// can expand again as space frees up.
|
|
27952
|
-
/* @__PURE__ */ (0,
|
|
28145
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ref: containerRef, ...(0, import_runtime144.trussProps)({
|
|
27953
28146
|
display: "df",
|
|
27954
28147
|
alignItems: "aic",
|
|
27955
28148
|
flexGrow: "fg1",
|
|
@@ -27958,11 +28151,11 @@ function Navbar(props) {
|
|
|
27958
28151
|
...overflows ? {
|
|
27959
28152
|
visibility: "vis_hidden"
|
|
27960
28153
|
} : {}
|
|
27961
|
-
}), ...tid.items, children: /* @__PURE__ */ (0,
|
|
28154
|
+
}), ...tid.items, children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ref: contentRef, className: "df aic gap2 wmaxc", children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(AppNavItems, { variant: "global", items, ...tid }) }) })
|
|
27962
28155
|
] }),
|
|
27963
|
-
/* @__PURE__ */ (0,
|
|
27964
|
-
rightSlot && /* @__PURE__ */ (0,
|
|
27965
|
-
user && /* @__PURE__ */ (0,
|
|
28156
|
+
/* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { className: "df aic gap1", children: [
|
|
28157
|
+
rightSlot && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "df aic gap1", ...tid.rightSlot, children: rightSlot }),
|
|
28158
|
+
user && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(NavbarUserMenu, { user, ...tid.userMenu })
|
|
27966
28159
|
] })
|
|
27967
28160
|
] }) });
|
|
27968
28161
|
}
|
|
@@ -27970,7 +28163,7 @@ function NavbarUserMenu({
|
|
|
27970
28163
|
user,
|
|
27971
28164
|
...tid
|
|
27972
28165
|
}) {
|
|
27973
|
-
return /* @__PURE__ */ (0,
|
|
28166
|
+
return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "df aic fs0 ml1", children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(ButtonMenu, { items: user.menuItems, persistentItems: user.persistentItems, trigger: {
|
|
27974
28167
|
src: user.picture,
|
|
27975
28168
|
name: user.name,
|
|
27976
28169
|
size: "sm",
|
|
@@ -27979,10 +28172,10 @@ function NavbarUserMenu({
|
|
|
27979
28172
|
}
|
|
27980
28173
|
|
|
27981
28174
|
// src/components/Snackbar/useSnackbar.tsx
|
|
27982
|
-
var
|
|
28175
|
+
var import_react156 = require("react");
|
|
27983
28176
|
function useSnackbar() {
|
|
27984
28177
|
const { setNotices, setOffset } = useSnackbarContext();
|
|
27985
|
-
const onClose = (0,
|
|
28178
|
+
const onClose = (0, import_react156.useCallback)(
|
|
27986
28179
|
(noticeId) => {
|
|
27987
28180
|
setNotices((prev) => {
|
|
27988
28181
|
let returnValue = prev;
|
|
@@ -27999,7 +28192,7 @@ function useSnackbar() {
|
|
|
27999
28192
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28000
28193
|
[]
|
|
28001
28194
|
);
|
|
28002
|
-
const triggerNotice = (0,
|
|
28195
|
+
const triggerNotice = (0, import_react156.useCallback)(
|
|
28003
28196
|
(props) => {
|
|
28004
28197
|
const noticeId = props.id ?? `beamSnackbar:${snackbarId++}`;
|
|
28005
28198
|
let maybeTimeout;
|
|
@@ -28028,8 +28221,8 @@ function useSnackbar() {
|
|
|
28028
28221
|
},
|
|
28029
28222
|
[onClose, setNotices]
|
|
28030
28223
|
);
|
|
28031
|
-
const closeNotice = (0,
|
|
28032
|
-
const useSnackbarOffset = ({ bottom }) => (0,
|
|
28224
|
+
const closeNotice = (0, import_react156.useCallback)((id) => onClose(id), [onClose]);
|
|
28225
|
+
const useSnackbarOffset = ({ bottom }) => (0, import_react156.useEffect)(() => {
|
|
28033
28226
|
setOffset({ bottom });
|
|
28034
28227
|
return () => setOffset({});
|
|
28035
28228
|
}, [bottom]);
|
|
@@ -28077,19 +28270,19 @@ function simpleDataRows(data = []) {
|
|
|
28077
28270
|
|
|
28078
28271
|
// src/components/Tabs.tsx
|
|
28079
28272
|
var import_change_case9 = require("change-case");
|
|
28080
|
-
var
|
|
28081
|
-
var
|
|
28273
|
+
var import_react157 = require("react");
|
|
28274
|
+
var import_react_aria65 = require("react-aria");
|
|
28082
28275
|
var import_react_router = require("react-router");
|
|
28083
28276
|
var import_react_router_dom8 = require("react-router-dom");
|
|
28084
|
-
var
|
|
28085
|
-
var
|
|
28277
|
+
var import_runtime145 = require("@homebound/truss/runtime");
|
|
28278
|
+
var import_jsx_runtime223 = require("react/jsx-runtime");
|
|
28086
28279
|
function TabsWithContent(props) {
|
|
28087
28280
|
const styles = hideTabs(props) ? {} : {
|
|
28088
28281
|
paddingTop: "pt3"
|
|
28089
28282
|
};
|
|
28090
|
-
return /* @__PURE__ */ (0,
|
|
28091
|
-
/* @__PURE__ */ (0,
|
|
28092
|
-
/* @__PURE__ */ (0,
|
|
28283
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)(import_jsx_runtime223.Fragment, { children: [
|
|
28284
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Tabs, { ...props }),
|
|
28285
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(TabContent, { ...props, contentXss: {
|
|
28093
28286
|
...styles,
|
|
28094
28287
|
...props.contentXss
|
|
28095
28288
|
} })
|
|
@@ -28114,7 +28307,7 @@ function TabContent(props) {
|
|
|
28114
28307
|
return (
|
|
28115
28308
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
28116
28309
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
28117
|
-
/* @__PURE__ */ (0,
|
|
28310
|
+
/* @__PURE__ */ (0, import_jsx_runtime223.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime145.trussProps)(contentXss), children: selectedTab.render() }) })
|
|
28118
28311
|
);
|
|
28119
28312
|
}
|
|
28120
28313
|
function Tabs(props) {
|
|
@@ -28136,11 +28329,11 @@ function Tabs(props) {
|
|
|
28136
28329
|
const {
|
|
28137
28330
|
isFocusVisible,
|
|
28138
28331
|
focusProps
|
|
28139
|
-
} = (0,
|
|
28332
|
+
} = (0, import_react_aria65.useFocusRing)();
|
|
28140
28333
|
const tid = useTestIds(others, "tabs");
|
|
28141
|
-
const [active, setActive] = (0,
|
|
28142
|
-
const ref = (0,
|
|
28143
|
-
(0,
|
|
28334
|
+
const [active, setActive] = (0, import_react157.useState)(selected);
|
|
28335
|
+
const ref = (0, import_react157.useRef)(null);
|
|
28336
|
+
(0, import_react157.useEffect)(() => setActive(selected), [selected]);
|
|
28144
28337
|
function onKeyUp(e) {
|
|
28145
28338
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
28146
28339
|
const nextTabValue = getNextTabValue(active, e.key, tabs);
|
|
@@ -28156,7 +28349,7 @@ function Tabs(props) {
|
|
|
28156
28349
|
setActive(selected);
|
|
28157
28350
|
}
|
|
28158
28351
|
}
|
|
28159
|
-
return /* @__PURE__ */ (0,
|
|
28352
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)("div", { ...(0, import_runtime145.trussProps)({
|
|
28160
28353
|
...{
|
|
28161
28354
|
display: "df",
|
|
28162
28355
|
alignItems: "aic",
|
|
@@ -28174,11 +28367,11 @@ function Tabs(props) {
|
|
|
28174
28367
|
}
|
|
28175
28368
|
} : {}
|
|
28176
28369
|
}), children: [
|
|
28177
|
-
!hideTabs(props) && /* @__PURE__ */ (0,
|
|
28370
|
+
!hideTabs(props) && /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
28178
28371
|
const uniqueValue = uniqueTabValue(tab);
|
|
28179
|
-
return /* @__PURE__ */ (0,
|
|
28372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
28180
28373
|
}) }),
|
|
28181
|
-
right && /* @__PURE__ */ (0,
|
|
28374
|
+
right && /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { className: "mla df aic gap1 pb1", children: right })
|
|
28182
28375
|
] });
|
|
28183
28376
|
}
|
|
28184
28377
|
function TabImpl(props) {
|
|
@@ -28203,7 +28396,7 @@ function TabImpl(props) {
|
|
|
28203
28396
|
const {
|
|
28204
28397
|
hoverProps,
|
|
28205
28398
|
isHovered
|
|
28206
|
-
} = (0,
|
|
28399
|
+
} = (0, import_react_aria65.useHover)({
|
|
28207
28400
|
isDisabled
|
|
28208
28401
|
});
|
|
28209
28402
|
const {
|
|
@@ -28214,7 +28407,7 @@ function TabImpl(props) {
|
|
|
28214
28407
|
disabledStyles: disabledStyles3,
|
|
28215
28408
|
activeHoverStyles,
|
|
28216
28409
|
aiStyles
|
|
28217
|
-
} = (0,
|
|
28410
|
+
} = (0, import_react157.useMemo)(() => getTabStyles(), []);
|
|
28218
28411
|
const uniqueValue = uniqueTabValue(tab);
|
|
28219
28412
|
const tid = useTestIds(others);
|
|
28220
28413
|
const tabProps = {
|
|
@@ -28225,7 +28418,7 @@ function TabImpl(props) {
|
|
|
28225
28418
|
role: "tab",
|
|
28226
28419
|
tabIndex: active ? 0 : -1,
|
|
28227
28420
|
...others,
|
|
28228
|
-
...(0,
|
|
28421
|
+
...(0, import_runtime145.trussProps)({
|
|
28229
28422
|
...baseStyles4,
|
|
28230
28423
|
// Only tints the label while the tab is unselected; selected keeps its own darker treatment.
|
|
28231
28424
|
...aiMode && aiStyles,
|
|
@@ -28236,25 +28429,25 @@ function TabImpl(props) {
|
|
|
28236
28429
|
...isFocusVisible && active && focusRingStyles2
|
|
28237
28430
|
})
|
|
28238
28431
|
};
|
|
28239
|
-
const interactiveProps = (0,
|
|
28432
|
+
const interactiveProps = (0, import_react_aria65.mergeProps)(focusProps, hoverProps, {
|
|
28240
28433
|
onKeyUp,
|
|
28241
28434
|
onBlur,
|
|
28242
28435
|
...isRouteTab(tab) ? {} : {
|
|
28243
28436
|
onClick: () => onClick(tab.value)
|
|
28244
28437
|
}
|
|
28245
28438
|
});
|
|
28246
|
-
const decoration = aiMode ? /* @__PURE__ */ (0,
|
|
28247
|
-
const tabLabel = /* @__PURE__ */ (0,
|
|
28439
|
+
const decoration = aiMode ? /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Tag, { text: "Tab has AI proposals ready for review", preventTooltip: true, icon: "aiStar", type: "ai", variant: "primary", iconOnly: true, ...tid.aiTag }) : icon ? /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Icon, { icon }) : endAdornment;
|
|
28440
|
+
const tabLabel = /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)(import_jsx_runtime223.Fragment, { children: [
|
|
28248
28441
|
label,
|
|
28249
|
-
decoration && /* @__PURE__ */ (0,
|
|
28442
|
+
decoration && /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("span", { className: "ml1 df aic", children: decoration })
|
|
28250
28443
|
] });
|
|
28251
28444
|
return isDisabled ? maybeTooltip({
|
|
28252
28445
|
title: resolveTooltip(disabled),
|
|
28253
28446
|
placement: "top",
|
|
28254
|
-
children: /* @__PURE__ */ (0,
|
|
28255
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */ (0,
|
|
28447
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ...tabProps, children: tabLabel })
|
|
28448
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(import_react_router_dom8.Link, { ...(0, import_react_aria65.mergeProps)(tabProps, interactiveProps, {
|
|
28256
28449
|
className: "navLink"
|
|
28257
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0,
|
|
28450
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("button", { ...{
|
|
28258
28451
|
...tabProps,
|
|
28259
28452
|
...interactiveProps
|
|
28260
28453
|
}, children: tabLabel });
|
|
@@ -28265,7 +28458,7 @@ function getTabStyles() {
|
|
|
28265
28458
|
const borderBottomStyles = {
|
|
28266
28459
|
borderBottomStyle: "bbs_solid",
|
|
28267
28460
|
borderBottomWidth: ["borderBottomWidth_var", {
|
|
28268
|
-
"--borderBottomWidth": (0,
|
|
28461
|
+
"--borderBottomWidth": (0, import_runtime145.maybeCssVar)(`${borderBottomWidthPx}px`)
|
|
28269
28462
|
}],
|
|
28270
28463
|
paddingBottom: ["pb_var", {
|
|
28271
28464
|
"--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
|
|
@@ -28318,7 +28511,7 @@ function getTabStyles() {
|
|
|
28318
28511
|
// The AI label tint is part of the brand ramp rather than a semantic token, same as the sparkle's gradient.
|
|
28319
28512
|
aiStyles: {
|
|
28320
28513
|
color: ["color_var", {
|
|
28321
|
-
"--color": (0,
|
|
28514
|
+
"--color": (0, import_runtime145.maybeCssVar)("rgba(109, 40, 217, 1)" /* Purple700 */)
|
|
28322
28515
|
}]
|
|
28323
28516
|
},
|
|
28324
28517
|
focusRingStyles: {
|
|
@@ -28368,23 +28561,23 @@ function hideTabs(props) {
|
|
|
28368
28561
|
}
|
|
28369
28562
|
|
|
28370
28563
|
// src/components/Toast/useToast.tsx
|
|
28371
|
-
var
|
|
28564
|
+
var import_react158 = require("react");
|
|
28372
28565
|
function useToast() {
|
|
28373
28566
|
const { setNotice, clear } = useToastContext();
|
|
28374
|
-
const showToast = (0,
|
|
28567
|
+
const showToast = (0, import_react158.useCallback)((props) => setNotice(props), [setNotice]);
|
|
28375
28568
|
return { showToast, clear };
|
|
28376
28569
|
}
|
|
28377
28570
|
|
|
28378
28571
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
28379
|
-
var
|
|
28380
|
-
var
|
|
28381
|
-
var
|
|
28572
|
+
var import_runtime146 = require("@homebound/truss/runtime");
|
|
28573
|
+
var import_jsx_runtime224 = require("react/jsx-runtime");
|
|
28574
|
+
var __maybeInc29 = (inc) => {
|
|
28382
28575
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28383
28576
|
};
|
|
28384
28577
|
function SideNavLayout(props) {
|
|
28385
28578
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
28386
|
-
if (hasProvider) return /* @__PURE__ */ (0,
|
|
28387
|
-
return /* @__PURE__ */ (0,
|
|
28579
|
+
if (hasProvider) return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNavLayoutContent, { ...props });
|
|
28580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNavLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNavLayoutContent, { ...props }) });
|
|
28388
28581
|
}
|
|
28389
28582
|
function SideNavLayoutContent(props) {
|
|
28390
28583
|
const {
|
|
@@ -28407,7 +28600,7 @@ function SideNavLayoutContent(props) {
|
|
|
28407
28600
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
28408
28601
|
const navTop = bannerAndNavbarChromeTop();
|
|
28409
28602
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
28410
|
-
const rail = showRail && /* @__PURE__ */ (0,
|
|
28603
|
+
const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)("div", { ...(0, import_runtime146.trussProps)({
|
|
28411
28604
|
...{
|
|
28412
28605
|
display: "df",
|
|
28413
28606
|
flexDirection: "fdc",
|
|
@@ -28431,14 +28624,14 @@ function SideNavLayoutContent(props) {
|
|
|
28431
28624
|
position: "sticky",
|
|
28432
28625
|
left: "left0",
|
|
28433
28626
|
zIndex: ["z_var", {
|
|
28434
|
-
"--zIndex": (0,
|
|
28627
|
+
"--zIndex": (0, import_runtime146.maybeCssVar)(zIndices.sideNav)
|
|
28435
28628
|
}],
|
|
28436
28629
|
top: ["top_var", {
|
|
28437
|
-
"--top": (0,
|
|
28630
|
+
"--top": (0, import_runtime146.maybeCssVar)(__maybeInc29(navTop))
|
|
28438
28631
|
}],
|
|
28439
28632
|
alignSelf: "asfs",
|
|
28440
28633
|
height: ["h_var", {
|
|
28441
|
-
"--height": (0,
|
|
28634
|
+
"--height": (0, import_runtime146.maybeCssVar)(__maybeInc29(railViewportHeight))
|
|
28442
28635
|
}],
|
|
28443
28636
|
width: ["w_var", {
|
|
28444
28637
|
"--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
|
|
@@ -28448,11 +28641,11 @@ function SideNavLayoutContent(props) {
|
|
|
28448
28641
|
position: "fixed",
|
|
28449
28642
|
left: "left0",
|
|
28450
28643
|
top: ["top_var", {
|
|
28451
|
-
"--top": (0,
|
|
28644
|
+
"--top": (0, import_runtime146.maybeCssVar)(__maybeInc29(navTop))
|
|
28452
28645
|
}],
|
|
28453
28646
|
bottom: "bottom0",
|
|
28454
28647
|
zIndex: ["z_var", {
|
|
28455
|
-
"--zIndex": (0,
|
|
28648
|
+
"--zIndex": (0, import_runtime146.maybeCssVar)(zIndices.sideNav)
|
|
28456
28649
|
}]
|
|
28457
28650
|
},
|
|
28458
28651
|
...collapsed ? {
|
|
@@ -28464,18 +28657,18 @@ function SideNavLayoutContent(props) {
|
|
|
28464
28657
|
}
|
|
28465
28658
|
}
|
|
28466
28659
|
}), ...tid.sideNav, children: [
|
|
28467
|
-
showCollapseToggle && /* @__PURE__ */ (0,
|
|
28468
|
-
/* @__PURE__ */ (0,
|
|
28660
|
+
showCollapseToggle && /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
28661
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(SideNav, { ...sideNav }) })
|
|
28469
28662
|
] });
|
|
28470
|
-
return /* @__PURE__ */ (0,
|
|
28663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)("div", { ...(0, import_runtime146.mergeProps)(void 0, {
|
|
28471
28664
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
28472
28665
|
}, {
|
|
28473
28666
|
display: "df",
|
|
28474
28667
|
flexDirection: "fdr",
|
|
28475
28668
|
width: "w100"
|
|
28476
28669
|
}), ...tid, children: [
|
|
28477
|
-
contrastRail ? /* @__PURE__ */ (0,
|
|
28478
|
-
/* @__PURE__ */ (0,
|
|
28670
|
+
contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(ContrastScope, { children: rail }) : rail,
|
|
28671
|
+
/* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime146.trussProps)({
|
|
28479
28672
|
display: "df",
|
|
28480
28673
|
flexDirection: "fdc",
|
|
28481
28674
|
flexGrow: "fg1",
|
|
@@ -28491,9 +28684,9 @@ function SideNavLayoutContent(props) {
|
|
|
28491
28684
|
}
|
|
28492
28685
|
|
|
28493
28686
|
// src/layouts/CenteredLayout/CenteredLayout.tsx
|
|
28494
|
-
var
|
|
28495
|
-
var
|
|
28496
|
-
var
|
|
28687
|
+
var import_runtime147 = require("@homebound/truss/runtime");
|
|
28688
|
+
var import_jsx_runtime225 = require("react/jsx-runtime");
|
|
28689
|
+
var __maybeInc30 = (inc) => {
|
|
28497
28690
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28498
28691
|
};
|
|
28499
28692
|
function CenteredLayout(props) {
|
|
@@ -28507,7 +28700,7 @@ function CenteredLayout(props) {
|
|
|
28507
28700
|
mdAndUp
|
|
28508
28701
|
} = useBreakpoint();
|
|
28509
28702
|
const rightPane = resolveWithRightPaneOptions(withRightPane);
|
|
28510
|
-
const shell = /* @__PURE__ */ (0,
|
|
28703
|
+
const shell = /* @__PURE__ */ (0, import_jsx_runtime225.jsx)("div", { ...(0, import_runtime147.mergeProps)(void 0, {
|
|
28511
28704
|
// layoutContainer descendants (e.g. ContentHeader) read this to inset sticky horizontal chrome within the shell padding.
|
|
28512
28705
|
[beamLayoutContentPaddingXVar]: mdAndUp ? mdAndUpContentPaddingX : smContentPaddingX,
|
|
28513
28706
|
// Floor while an ancestor overlay pane is open (`0px` when closed). `md+` only — phones must not get a dummy scrollbar.
|
|
@@ -28526,7 +28719,7 @@ function CenteredLayout(props) {
|
|
|
28526
28719
|
...centeredPaddingX
|
|
28527
28720
|
}), ...tid, children });
|
|
28528
28721
|
if (!rightPane) return shell;
|
|
28529
|
-
return /* @__PURE__ */ (0,
|
|
28722
|
+
return /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(DocumentScrollOverlayRightPaneLayout, { paneWidth: rightPane.width, children: shell });
|
|
28530
28723
|
}
|
|
28531
28724
|
var centeredContentMaxPx = {
|
|
28532
28725
|
sm: 720,
|
|
@@ -28541,17 +28734,17 @@ var smContentPaddingX = "12px";
|
|
|
28541
28734
|
var mdAndUpContentPaddingX = pageContentPaddingXValue;
|
|
28542
28735
|
var centeredPaddingX = {
|
|
28543
28736
|
paddingLeft: ["px_var mdandup_pl3", {
|
|
28544
|
-
"--paddingLeft": (0,
|
|
28737
|
+
"--paddingLeft": (0, import_runtime147.maybeCssVar)(__maybeInc30(smContentPaddingX))
|
|
28545
28738
|
}],
|
|
28546
28739
|
paddingRight: ["px_var mdandup_pr3", {
|
|
28547
|
-
"--paddingRight": (0,
|
|
28740
|
+
"--paddingRight": (0, import_runtime147.maybeCssVar)(__maybeInc30(smContentPaddingX))
|
|
28548
28741
|
}]
|
|
28549
28742
|
};
|
|
28550
28743
|
|
|
28551
28744
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
28552
|
-
var
|
|
28553
|
-
var
|
|
28554
|
-
var
|
|
28745
|
+
var import_runtime148 = require("@homebound/truss/runtime");
|
|
28746
|
+
var import_jsx_runtime226 = require("react/jsx-runtime");
|
|
28747
|
+
var __maybeInc31 = (inc) => {
|
|
28555
28748
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28556
28749
|
};
|
|
28557
28750
|
function EnvironmentBannerLayout(props) {
|
|
@@ -28566,42 +28759,42 @@ function EnvironmentBannerLayout(props) {
|
|
|
28566
28759
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
28567
28760
|
};
|
|
28568
28761
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
28569
|
-
return /* @__PURE__ */ (0,
|
|
28762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)("div", { ...(0, import_runtime148.mergeProps)(void 0, style, {
|
|
28570
28763
|
display: "df",
|
|
28571
28764
|
flexDirection: "fdc",
|
|
28572
28765
|
width: "wfc",
|
|
28573
28766
|
minWidth: "mw100"
|
|
28574
28767
|
}), ...tid, children: [
|
|
28575
|
-
showBanner && environmentBanner && /* @__PURE__ */ (0,
|
|
28768
|
+
showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", { ...(0, import_runtime148.mergeProps)(void 0, {
|
|
28576
28769
|
height: environmentBannerSizePx
|
|
28577
28770
|
}, {
|
|
28578
28771
|
flexShrink: "fs0",
|
|
28579
28772
|
width: "w100"
|
|
28580
|
-
}), children: /* @__PURE__ */ (0,
|
|
28773
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", { ...(0, import_runtime148.trussProps)({
|
|
28581
28774
|
position: "fixed",
|
|
28582
28775
|
top: "top0",
|
|
28583
28776
|
left: "left0",
|
|
28584
28777
|
zIndex: ["z_var", {
|
|
28585
|
-
"--zIndex": (0,
|
|
28778
|
+
"--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.environmentBanner)
|
|
28586
28779
|
}],
|
|
28587
28780
|
width: ["w_var", {
|
|
28588
|
-
"--width": (0,
|
|
28781
|
+
"--width": (0, import_runtime148.maybeCssVar)(__maybeInc31(innerWidth))
|
|
28589
28782
|
}]
|
|
28590
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0,
|
|
28783
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
28591
28784
|
children
|
|
28592
28785
|
] }) }) });
|
|
28593
28786
|
}
|
|
28594
28787
|
|
|
28595
28788
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
28596
|
-
var
|
|
28789
|
+
var import_runtime152 = require("@homebound/truss/runtime");
|
|
28597
28790
|
|
|
28598
28791
|
// src/forms/FormSection/FormSection.tsx
|
|
28599
|
-
var
|
|
28792
|
+
var import_runtime150 = require("@homebound/truss/runtime");
|
|
28600
28793
|
|
|
28601
28794
|
// src/forms/FormSection/FormSectionChild.tsx
|
|
28602
|
-
var
|
|
28603
|
-
var
|
|
28604
|
-
var
|
|
28795
|
+
var import_react159 = require("react");
|
|
28796
|
+
var import_runtime149 = require("@homebound/truss/runtime");
|
|
28797
|
+
var import_jsx_runtime227 = require("react/jsx-runtime");
|
|
28605
28798
|
function FormSectionChild(props) {
|
|
28606
28799
|
const {
|
|
28607
28800
|
title,
|
|
@@ -28611,7 +28804,7 @@ function FormSectionChild(props) {
|
|
|
28611
28804
|
orderField
|
|
28612
28805
|
} = props;
|
|
28613
28806
|
const tid = useTestIds(props, "formSectionChild");
|
|
28614
|
-
const itemRef = (0,
|
|
28807
|
+
const itemRef = (0, import_react159.useRef)(null);
|
|
28615
28808
|
const isDraggable = !!orderField;
|
|
28616
28809
|
const {
|
|
28617
28810
|
dragItemProps,
|
|
@@ -28620,10 +28813,10 @@ function FormSectionChild(props) {
|
|
|
28620
28813
|
id: props.id ?? title,
|
|
28621
28814
|
itemRef
|
|
28622
28815
|
});
|
|
28623
|
-
return /* @__PURE__ */ (0,
|
|
28816
|
+
return /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { ...isDraggable ? {
|
|
28624
28817
|
...dragItemProps,
|
|
28625
28818
|
ref: itemRef
|
|
28626
|
-
} : {}, ...(0,
|
|
28819
|
+
} : {}, ...(0, import_runtime149.trussProps)({
|
|
28627
28820
|
display: "df",
|
|
28628
28821
|
flexDirection: "fdc",
|
|
28629
28822
|
gap: "gap2",
|
|
@@ -28639,13 +28832,13 @@ function FormSectionChild(props) {
|
|
|
28639
28832
|
borderStyle: "lot_bsn",
|
|
28640
28833
|
borderWidth: "lot_bw_0"
|
|
28641
28834
|
}), ...tid, children: [
|
|
28642
|
-
/* @__PURE__ */ (0,
|
|
28835
|
+
/* @__PURE__ */ (0, import_jsx_runtime227.jsx)(ContentHeader, { ...tid.header, title, description, actions, level: 4, startAdornment: isDraggable ? /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(DnDGridItemHandle, { dragHandleProps, icon: "drag", compact: true }) : void 0 }),
|
|
28643
28836
|
fields
|
|
28644
28837
|
] });
|
|
28645
28838
|
}
|
|
28646
28839
|
|
|
28647
28840
|
// src/forms/FormSection/FormSection.tsx
|
|
28648
|
-
var
|
|
28841
|
+
var import_jsx_runtime228 = require("react/jsx-runtime");
|
|
28649
28842
|
function FormSection(props) {
|
|
28650
28843
|
const {
|
|
28651
28844
|
title,
|
|
@@ -28655,17 +28848,17 @@ function FormSection(props) {
|
|
|
28655
28848
|
childSections
|
|
28656
28849
|
} = props;
|
|
28657
28850
|
const tid = useTestIds(props, "formSection");
|
|
28658
|
-
return /* @__PURE__ */ (0,
|
|
28851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { id: defaultTestId(title), ...(0, import_runtime150.trussProps)({
|
|
28659
28852
|
display: "df",
|
|
28660
28853
|
flexDirection: "fdc",
|
|
28661
28854
|
gap: "gap2",
|
|
28662
28855
|
scrollMarginTop: ["scrollMarginTop_var", {
|
|
28663
|
-
"--scrollMarginTop": (0,
|
|
28856
|
+
"--scrollMarginTop": (0, import_runtime150.maybeCssVar)(stickyNavAndHeaderOffset())
|
|
28664
28857
|
}]
|
|
28665
28858
|
}), ...tid.section, children: [
|
|
28666
|
-
/* @__PURE__ */ (0,
|
|
28859
|
+
/* @__PURE__ */ (0, import_jsx_runtime228.jsx)(ContentHeader, { ...tid, title, description, actions, level: 3 }),
|
|
28667
28860
|
fields,
|
|
28668
|
-
childSections && (isReorderable(childSections) ? /* @__PURE__ */ (0,
|
|
28861
|
+
childSections && (isReorderable(childSections) ? /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(DraggableChildren, { childSections, ...tid.childSection }) : /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("div", { className: "df fdc gap3", children: childSections.map((child) => /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(FormSectionChild, { ...child, ...tid.childSection }, child.id ?? child.title)) }))
|
|
28669
28862
|
] });
|
|
28670
28863
|
}
|
|
28671
28864
|
function isReorderable(childSections) {
|
|
@@ -28688,19 +28881,19 @@ function DraggableChildren(props) {
|
|
|
28688
28881
|
}
|
|
28689
28882
|
});
|
|
28690
28883
|
};
|
|
28691
|
-
return /* @__PURE__ */ (0,
|
|
28884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(DnDGrid, { onReorder: handleReorder, lockAxis: "y", gridStyles: {
|
|
28692
28885
|
gridTemplateColumns: "gtc_minmax_0_1fr",
|
|
28693
28886
|
gap: "gap3"
|
|
28694
|
-
}, children: sorted.map((child) => /* @__PURE__ */ (0,
|
|
28887
|
+
}, children: sorted.map((child) => /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(FormSectionChild, { ...child, ...tid }, child.id)) });
|
|
28695
28888
|
}
|
|
28696
28889
|
function sortByOrderField(childSections) {
|
|
28697
28890
|
return [...childSections].sort((a, b) => (a.orderField.value ?? 0) - (b.orderField.value ?? 0));
|
|
28698
28891
|
}
|
|
28699
28892
|
|
|
28700
28893
|
// src/layouts/FormSectionLayout/JumpLinksRail.tsx
|
|
28701
|
-
var
|
|
28702
|
-
var
|
|
28703
|
-
var
|
|
28894
|
+
var import_runtime151 = require("@homebound/truss/runtime");
|
|
28895
|
+
var import_jsx_runtime229 = require("react/jsx-runtime");
|
|
28896
|
+
var __maybeInc32 = (inc) => {
|
|
28704
28897
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28705
28898
|
};
|
|
28706
28899
|
function JumpLinksRail(props) {
|
|
@@ -28709,7 +28902,7 @@ function JumpLinksRail(props) {
|
|
|
28709
28902
|
activeId
|
|
28710
28903
|
} = props;
|
|
28711
28904
|
const tid = useTestIds(props, "jumpLinks");
|
|
28712
|
-
return /* @__PURE__ */ (0,
|
|
28905
|
+
return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)("nav", { ...(0, import_runtime151.trussProps)({
|
|
28713
28906
|
display: "df",
|
|
28714
28907
|
flexDirection: "fdc",
|
|
28715
28908
|
flexShrink: "fs0",
|
|
@@ -28719,21 +28912,21 @@ function JumpLinksRail(props) {
|
|
|
28719
28912
|
position: "sticky",
|
|
28720
28913
|
alignSelf: "asfs",
|
|
28721
28914
|
top: ["top_var", {
|
|
28722
|
-
"--top": (0,
|
|
28915
|
+
"--top": (0, import_runtime151.maybeCssVar)(__maybeInc32(stickyNavAndHeaderOffset()))
|
|
28723
28916
|
}]
|
|
28724
|
-
}), ...tid, children: links.map((link) => /* @__PURE__ */ (0,
|
|
28917
|
+
}), ...tid, children: links.map((link) => /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
|
|
28725
28918
|
}
|
|
28726
28919
|
var jumpLinksRailWidthPx = 192;
|
|
28727
28920
|
var railAndShellPx = centeredShellMaxPx.sm + jumpLinksRailWidthPx;
|
|
28728
28921
|
var jumpLinksRailReservation = `clamp(0px, 100% - ${railAndShellPx}px, ${jumpLinksRailWidthPx}px)`;
|
|
28729
28922
|
|
|
28730
28923
|
// src/layouts/FormSectionLayout/useActiveJumpLink.ts
|
|
28731
|
-
var
|
|
28924
|
+
var import_react160 = require("react");
|
|
28732
28925
|
var activationLeadPx = 120;
|
|
28733
28926
|
function useActiveJumpLink(sectionIds) {
|
|
28734
28927
|
const idsKey = sectionIds.join("\0");
|
|
28735
|
-
const [activeId, setActiveId] = (0,
|
|
28736
|
-
(0,
|
|
28928
|
+
const [activeId, setActiveId] = (0, import_react160.useState)(sectionIds[0]);
|
|
28929
|
+
(0, import_react160.useLayoutEffect)(() => {
|
|
28737
28930
|
const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
|
|
28738
28931
|
if (ids.length === 0) return;
|
|
28739
28932
|
const update = () => {
|
|
@@ -28757,8 +28950,8 @@ function useActiveJumpLink(sectionIds) {
|
|
|
28757
28950
|
}
|
|
28758
28951
|
|
|
28759
28952
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
28760
|
-
var
|
|
28761
|
-
var
|
|
28953
|
+
var import_jsx_runtime230 = require("react/jsx-runtime");
|
|
28954
|
+
var __maybeInc33 = (inc) => {
|
|
28762
28955
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28763
28956
|
};
|
|
28764
28957
|
function FormSectionLayout(props) {
|
|
@@ -28787,7 +28980,7 @@ function FormSectionLayout(props) {
|
|
|
28787
28980
|
});
|
|
28788
28981
|
const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
|
|
28789
28982
|
const activeId = useActiveJumpLink(showRail ? jumpLinks.map((link) => link.id) : []);
|
|
28790
|
-
const content2 = /* @__PURE__ */ (0,
|
|
28983
|
+
const content2 = /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { ...(0, import_runtime152.trussProps)({
|
|
28791
28984
|
display: "df",
|
|
28792
28985
|
flexDirection: "fdc",
|
|
28793
28986
|
gap: "gap8",
|
|
@@ -28798,32 +28991,32 @@ function FormSectionLayout(props) {
|
|
|
28798
28991
|
paddingLeft: "pl3"
|
|
28799
28992
|
} : {}
|
|
28800
28993
|
}), children: [
|
|
28801
|
-
/* @__PURE__ */ (0,
|
|
28802
|
-
/* @__PURE__ */ (0,
|
|
28994
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { className: "df fdc gap3", children: [
|
|
28995
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsx)(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2, aiMode }),
|
|
28803
28996
|
initialFields
|
|
28804
28997
|
] }),
|
|
28805
|
-
sections && /* @__PURE__ */ (0,
|
|
28998
|
+
sections && /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(FormSection, { ...section }, defaultTestId(section.title) || i)) })
|
|
28806
28999
|
] });
|
|
28807
|
-
const form = /* @__PURE__ */ (0,
|
|
28808
|
-
const body = showRail ? /* @__PURE__ */ (0,
|
|
28809
|
-
/* @__PURE__ */ (0,
|
|
28810
|
-
/* @__PURE__ */ (0,
|
|
29000
|
+
const form = /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(CenteredLayout, { size: "sm", children: aiMode ? /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(AiCard, { size: "lg", ...tid, children: content2 }) : content2 });
|
|
29001
|
+
const body = showRail ? /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { className: "df w100 mb4", children: [
|
|
29002
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsx)(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
|
|
29003
|
+
/* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ...(0, import_runtime152.trussProps)({
|
|
28811
29004
|
flexGrow: "fg1",
|
|
28812
29005
|
marginRight: ["mr_var", {
|
|
28813
|
-
"--marginRight": (0,
|
|
29006
|
+
"--marginRight": (0, import_runtime152.maybeCssVar)(__maybeInc33(jumpLinksRailReservation))
|
|
28814
29007
|
}]
|
|
28815
29008
|
}), ...tid.column, children: form })
|
|
28816
|
-
] }) : /* @__PURE__ */ (0,
|
|
29009
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { className: "mb4", children: form });
|
|
28817
29010
|
if (!rightPane) return body;
|
|
28818
|
-
return /* @__PURE__ */ (0,
|
|
29011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(DocumentScrollOverlayRightPaneLayout, { paneWidth: rightPane.width, children: body });
|
|
28819
29012
|
}
|
|
28820
29013
|
|
|
28821
29014
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
28822
|
-
var
|
|
28823
|
-
var
|
|
29015
|
+
var import_react164 = require("react");
|
|
29016
|
+
var import_runtime153 = require("@homebound/truss/runtime");
|
|
28824
29017
|
|
|
28825
29018
|
// src/layouts/useAutoHideOnScroll.ts
|
|
28826
|
-
var
|
|
29019
|
+
var import_react161 = require("react");
|
|
28827
29020
|
var THRESHOLD = 80;
|
|
28828
29021
|
function getInitialAutoHideState() {
|
|
28829
29022
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -28833,15 +29026,15 @@ function getInitialAutoHideState() {
|
|
|
28833
29026
|
}
|
|
28834
29027
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
28835
29028
|
const initial = getInitialAutoHideState();
|
|
28836
|
-
const [state, setState] = (0,
|
|
28837
|
-
const stateRef = (0,
|
|
28838
|
-
const [atTop, setAtTop] = (0,
|
|
28839
|
-
const atTopRef = (0,
|
|
28840
|
-
const getTopOffsetRef = (0,
|
|
29029
|
+
const [state, setState] = (0, import_react161.useState)(initial.state);
|
|
29030
|
+
const stateRef = (0, import_react161.useRef)(initial.state);
|
|
29031
|
+
const [atTop, setAtTop] = (0, import_react161.useState)(initial.atTop);
|
|
29032
|
+
const atTopRef = (0, import_react161.useRef)(initial.atTop);
|
|
29033
|
+
const getTopOffsetRef = (0, import_react161.useRef)(getTopOffset);
|
|
28841
29034
|
getTopOffsetRef.current = getTopOffset;
|
|
28842
|
-
const lastScrollY = (0,
|
|
28843
|
-
const lastScrollHeight = (0,
|
|
28844
|
-
(0,
|
|
29035
|
+
const lastScrollY = (0, import_react161.useRef)(Number.POSITIVE_INFINITY);
|
|
29036
|
+
const lastScrollHeight = (0, import_react161.useRef)(0);
|
|
29037
|
+
(0, import_react161.useLayoutEffect)(() => {
|
|
28845
29038
|
if (!enabled) {
|
|
28846
29039
|
stateRef.current = "static";
|
|
28847
29040
|
atTopRef.current = true;
|
|
@@ -28914,35 +29107,35 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
28914
29107
|
|
|
28915
29108
|
// src/layouts/useMeasuredHeight.ts
|
|
28916
29109
|
var import_utils48 = require("@react-aria/utils");
|
|
28917
|
-
var
|
|
29110
|
+
var import_react162 = require("react");
|
|
28918
29111
|
function useMeasuredHeight(ref, enabled) {
|
|
28919
|
-
const [height, setHeight] = (0,
|
|
28920
|
-
const syncElementHeight = (0,
|
|
29112
|
+
const [height, setHeight] = (0, import_react162.useState)(0);
|
|
29113
|
+
const syncElementHeight = (0, import_react162.useCallback)(() => {
|
|
28921
29114
|
const el = ref.current;
|
|
28922
29115
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
28923
29116
|
setHeight((prev) => prev === next ? prev : next);
|
|
28924
29117
|
}, [ref]);
|
|
28925
29118
|
(0, import_utils48.useResizeObserver)({ ref, onResize: syncElementHeight });
|
|
28926
|
-
(0,
|
|
29119
|
+
(0, import_react162.useLayoutEffect)(() => {
|
|
28927
29120
|
syncElementHeight();
|
|
28928
29121
|
}, [enabled, syncElementHeight]);
|
|
28929
29122
|
return height;
|
|
28930
29123
|
}
|
|
28931
29124
|
|
|
28932
29125
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
28933
|
-
var
|
|
28934
|
-
var
|
|
28935
|
-
var NavbarLayoutHeightContext = (0,
|
|
29126
|
+
var import_react163 = require("react");
|
|
29127
|
+
var import_jsx_runtime231 = require("react/jsx-runtime");
|
|
29128
|
+
var NavbarLayoutHeightContext = (0, import_react163.createContext)(0);
|
|
28936
29129
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
28937
|
-
return /* @__PURE__ */ (0,
|
|
29130
|
+
return /* @__PURE__ */ (0, import_jsx_runtime231.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
|
|
28938
29131
|
}
|
|
28939
29132
|
function useNavbarLayoutHeight() {
|
|
28940
|
-
return (0,
|
|
29133
|
+
return (0, import_react163.useContext)(NavbarLayoutHeightContext);
|
|
28941
29134
|
}
|
|
28942
29135
|
|
|
28943
29136
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
28944
|
-
var
|
|
28945
|
-
var
|
|
29137
|
+
var import_jsx_runtime232 = require("react/jsx-runtime");
|
|
29138
|
+
var __maybeInc34 = (inc) => {
|
|
28946
29139
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
28947
29140
|
};
|
|
28948
29141
|
function NavbarLayout(props) {
|
|
@@ -28951,8 +29144,8 @@ function NavbarLayout(props) {
|
|
|
28951
29144
|
children
|
|
28952
29145
|
} = props;
|
|
28953
29146
|
const tid = useTestIds(props, "navbarLayout");
|
|
28954
|
-
const navMetricsRef = (0,
|
|
28955
|
-
const spacerRef = (0,
|
|
29147
|
+
const navMetricsRef = (0, import_react164.useRef)(null);
|
|
29148
|
+
const spacerRef = (0, import_react164.useRef)(null);
|
|
28956
29149
|
const navHeight = useMeasuredHeight(navMetricsRef, true);
|
|
28957
29150
|
const {
|
|
28958
29151
|
state: autoHideState,
|
|
@@ -28968,10 +29161,10 @@ function NavbarLayout(props) {
|
|
|
28968
29161
|
position: "fixed",
|
|
28969
29162
|
left: "left0",
|
|
28970
29163
|
zIndex: ["z_var", {
|
|
28971
|
-
"--zIndex": (0,
|
|
29164
|
+
"--zIndex": (0, import_runtime153.maybeCssVar)(zIndices.navbar)
|
|
28972
29165
|
}],
|
|
28973
29166
|
width: ["w_var", {
|
|
28974
|
-
"--width": (0,
|
|
29167
|
+
"--width": (0, import_runtime153.maybeCssVar)(__maybeInc34(innerWidth))
|
|
28975
29168
|
}],
|
|
28976
29169
|
transition: "transitionTop"
|
|
28977
29170
|
};
|
|
@@ -28979,32 +29172,32 @@ function NavbarLayout(props) {
|
|
|
28979
29172
|
const innerStyle = {
|
|
28980
29173
|
top: autoHideState === "hidden" ? `calc(${bannerTop} - ${navHeight}px)` : bannerTop
|
|
28981
29174
|
};
|
|
28982
|
-
const navbarEl = (0,
|
|
28983
|
-
return /* @__PURE__ */ (0,
|
|
29175
|
+
const navbarEl = (0, import_react164.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Navbar, { ...navbar }), [navbar]);
|
|
29176
|
+
return /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)("div", { ...(0, import_runtime153.mergeProps)(void 0, cssVars, {
|
|
28984
29177
|
display: "df",
|
|
28985
29178
|
flexDirection: "fdc",
|
|
28986
29179
|
width: "wfc",
|
|
28987
29180
|
minWidth: "mw100"
|
|
28988
29181
|
}), ...tid, children: [
|
|
28989
|
-
/* @__PURE__ */ (0,
|
|
29182
|
+
/* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { ref: spacerRef, ...(0, import_runtime153.mergeProps)(void 0, {
|
|
28990
29183
|
height: navHeight
|
|
28991
29184
|
}, {
|
|
28992
29185
|
flexShrink: "fs0",
|
|
28993
29186
|
width: "w100"
|
|
28994
|
-
}), children: /* @__PURE__ */ (0,
|
|
28995
|
-
/* @__PURE__ */ (0,
|
|
29187
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime153.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
29188
|
+
/* @__PURE__ */ (0, import_jsx_runtime232.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
28996
29189
|
] }) }) }) });
|
|
28997
29190
|
}
|
|
28998
29191
|
|
|
28999
29192
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
29000
|
-
var
|
|
29193
|
+
var import_react166 = require("react");
|
|
29001
29194
|
|
|
29002
29195
|
// src/hooks/useDocumentTitle.tsx
|
|
29003
|
-
var
|
|
29196
|
+
var import_react165 = require("react");
|
|
29004
29197
|
function useDocumentTitle(...titleSegments) {
|
|
29005
29198
|
const config = useDocumentTitleConfig();
|
|
29006
29199
|
const pageTitle = joinDocumentTitleSegments(...titleSegments);
|
|
29007
|
-
(0,
|
|
29200
|
+
(0, import_react165.useLayoutEffect)(() => {
|
|
29008
29201
|
if (!config || !pageTitle || typeof document === "undefined") {
|
|
29009
29202
|
return;
|
|
29010
29203
|
}
|
|
@@ -29016,8 +29209,8 @@ function useDocumentTitle(...titleSegments) {
|
|
|
29016
29209
|
}
|
|
29017
29210
|
|
|
29018
29211
|
// src/components/Headers/BaseHeader.tsx
|
|
29019
|
-
var
|
|
29020
|
-
var
|
|
29212
|
+
var import_runtime154 = require("@homebound/truss/runtime");
|
|
29213
|
+
var import_jsx_runtime233 = require("react/jsx-runtime");
|
|
29021
29214
|
function BaseHeader(props) {
|
|
29022
29215
|
const {
|
|
29023
29216
|
title,
|
|
@@ -29029,7 +29222,7 @@ function BaseHeader(props) {
|
|
|
29029
29222
|
} = props;
|
|
29030
29223
|
const tid = useTestIds(otherProps, "header");
|
|
29031
29224
|
useDocumentTitle(title, documentTitleSuffix);
|
|
29032
|
-
return /* @__PURE__ */ (0,
|
|
29225
|
+
return /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("header", { ...tid, ...(0, import_runtime154.trussProps)({
|
|
29033
29226
|
display: "df",
|
|
29034
29227
|
flexDirection: "fdc",
|
|
29035
29228
|
paddingTop: "pt3",
|
|
@@ -29043,7 +29236,7 @@ function BaseHeader(props) {
|
|
|
29043
29236
|
"--backgroundColor": "var(--b-surface)"
|
|
29044
29237
|
}]
|
|
29045
29238
|
}), children: [
|
|
29046
|
-
/* @__PURE__ */ (0,
|
|
29239
|
+
/* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { ...(0, import_runtime154.trussProps)({
|
|
29047
29240
|
...{
|
|
29048
29241
|
display: "df",
|
|
29049
29242
|
justifyContent: "jcsb",
|
|
@@ -29057,9 +29250,9 @@ function BaseHeader(props) {
|
|
|
29057
29250
|
} : {}
|
|
29058
29251
|
}
|
|
29059
29252
|
}), children: [
|
|
29060
|
-
/* @__PURE__ */ (0,
|
|
29061
|
-
breadcrumbs && /* @__PURE__ */ (0,
|
|
29062
|
-
/* @__PURE__ */ (0,
|
|
29253
|
+
/* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { className: "mw0", children: [
|
|
29254
|
+
breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Breadcrumbs, { ...breadcrumbs }),
|
|
29255
|
+
/* @__PURE__ */ (0, import_jsx_runtime233.jsx)("h1", { ...tid.title, ...(0, import_runtime154.trussProps)({
|
|
29063
29256
|
fontWeight: "fw6",
|
|
29064
29257
|
fontSize: "fz_20px",
|
|
29065
29258
|
lineHeight: "lh_28px",
|
|
@@ -29068,15 +29261,15 @@ function BaseHeader(props) {
|
|
|
29068
29261
|
}]
|
|
29069
29262
|
}), children: title })
|
|
29070
29263
|
] }),
|
|
29071
|
-
/* @__PURE__ */ (0,
|
|
29264
|
+
/* @__PURE__ */ (0, import_jsx_runtime233.jsx)("div", { className: "fs0", children: rightSlot })
|
|
29072
29265
|
] }),
|
|
29073
29266
|
bottomSlot
|
|
29074
29267
|
] });
|
|
29075
29268
|
}
|
|
29076
29269
|
|
|
29077
29270
|
// src/components/Headers/PageHeader.tsx
|
|
29078
|
-
var
|
|
29079
|
-
var
|
|
29271
|
+
var import_runtime155 = require("@homebound/truss/runtime");
|
|
29272
|
+
var import_jsx_runtime234 = require("react/jsx-runtime");
|
|
29080
29273
|
function PageHeader2(props) {
|
|
29081
29274
|
const {
|
|
29082
29275
|
tabs,
|
|
@@ -29092,20 +29285,20 @@ function PageHeader2(props) {
|
|
|
29092
29285
|
bottomSlotActions,
|
|
29093
29286
|
rightSlotActions
|
|
29094
29287
|
} = splitHeaderActionsOnSm(actions, sm);
|
|
29095
|
-
return /* @__PURE__ */ (0,
|
|
29096
|
-
/* @__PURE__ */ (0,
|
|
29097
|
-
rightSlotActions.length > 0 && /* @__PURE__ */ (0,
|
|
29288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(BaseHeader, { ...otherProps, rightSlot: /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { className: "df gap2 fs0", ...tid.actions, children: [
|
|
29289
|
+
/* @__PURE__ */ (0, import_jsx_runtime234.jsx)(AutoSaveIndicator, { hideOnIdle: true }),
|
|
29290
|
+
rightSlotActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(HeaderActions, { actions: rightSlotActions, collapseOnSm: true }),
|
|
29098
29291
|
rightSlot
|
|
29099
|
-
] }), bottomSlot: (bottomSlotActions.length > 0 || tabs) && /* @__PURE__ */ (0,
|
|
29100
|
-
bottomSlotActions.length > 0 && /* @__PURE__ */ (0,
|
|
29292
|
+
] }), bottomSlot: (bottomSlotActions.length > 0 || tabs) && /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(import_jsx_runtime234.Fragment, { children: [
|
|
29293
|
+
bottomSlotActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime155.trussProps)({
|
|
29101
29294
|
...pageContentPaddingX,
|
|
29102
29295
|
...{
|
|
29103
29296
|
...!tabs ? {
|
|
29104
29297
|
marginBottom: "mb2"
|
|
29105
29298
|
} : {}
|
|
29106
29299
|
}
|
|
29107
|
-
}), ...tid.bottomSlot, children: /* @__PURE__ */ (0,
|
|
29108
|
-
tabs && /* @__PURE__ */ (0,
|
|
29300
|
+
}), ...tid.bottomSlot, children: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(HeaderActions, { actions: bottomSlotActions }) }),
|
|
29301
|
+
tabs && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime155.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Tabs, { ...tabs, ...tid.tabs }) })
|
|
29109
29302
|
] }) });
|
|
29110
29303
|
}
|
|
29111
29304
|
|
|
@@ -29115,9 +29308,9 @@ function useBannerAndNavbarHeight() {
|
|
|
29115
29308
|
}
|
|
29116
29309
|
|
|
29117
29310
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
29118
|
-
var
|
|
29119
|
-
var
|
|
29120
|
-
var
|
|
29311
|
+
var import_runtime156 = require("@homebound/truss/runtime");
|
|
29312
|
+
var import_jsx_runtime235 = require("react/jsx-runtime");
|
|
29313
|
+
var __maybeInc35 = (inc) => {
|
|
29121
29314
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
29122
29315
|
};
|
|
29123
29316
|
function PageHeaderLayout(props) {
|
|
@@ -29127,11 +29320,11 @@ function PageHeaderLayout(props) {
|
|
|
29127
29320
|
} = props;
|
|
29128
29321
|
const tid = useTestIds(props, "pageHeaderLayout");
|
|
29129
29322
|
const bannerAndNavbarHeight = useBannerAndNavbarHeight();
|
|
29130
|
-
const bannerAndNavbarHeightRef = (0,
|
|
29323
|
+
const bannerAndNavbarHeightRef = (0, import_react166.useRef)(bannerAndNavbarHeight);
|
|
29131
29324
|
bannerAndNavbarHeightRef.current = bannerAndNavbarHeight;
|
|
29132
|
-
const getBannerAndNavbarHeight = (0,
|
|
29133
|
-
const headerMetricsRef = (0,
|
|
29134
|
-
const spacerRef = (0,
|
|
29325
|
+
const getBannerAndNavbarHeight = (0, import_react166.useCallback)(() => bannerAndNavbarHeightRef.current, []);
|
|
29326
|
+
const headerMetricsRef = (0, import_react166.useRef)(null);
|
|
29327
|
+
const spacerRef = (0, import_react166.useRef)(null);
|
|
29135
29328
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
29136
29329
|
const {
|
|
29137
29330
|
state: autoHideState,
|
|
@@ -29147,62 +29340,64 @@ function PageHeaderLayout(props) {
|
|
|
29147
29340
|
const innerCss = {
|
|
29148
29341
|
position: "fixed",
|
|
29149
29342
|
left: ["left_var", {
|
|
29150
|
-
"--left": (0,
|
|
29343
|
+
"--left": (0, import_runtime156.maybeCssVar)(__maybeInc35(headerLeft))
|
|
29151
29344
|
}],
|
|
29152
29345
|
width: ["w_var", {
|
|
29153
|
-
"--width": (0,
|
|
29346
|
+
"--width": (0, import_runtime156.maybeCssVar)(__maybeInc35(headerWidth))
|
|
29154
29347
|
}],
|
|
29155
29348
|
zIndex: ["z_var", {
|
|
29156
|
-
"--zIndex": (0,
|
|
29349
|
+
"--zIndex": (0, import_runtime156.maybeCssVar)(zIndices.pageStickyHeader)
|
|
29157
29350
|
}],
|
|
29158
29351
|
transition: "transitionAll"
|
|
29159
29352
|
};
|
|
29160
29353
|
const innerStyle = {
|
|
29161
29354
|
top: autoHideState === "hidden" ? `calc(${outerTop} - ${headerHeight}px)` : outerTop
|
|
29162
29355
|
};
|
|
29163
|
-
const pageHeaderEl = (0,
|
|
29164
|
-
return /* @__PURE__ */ (0,
|
|
29356
|
+
const pageHeaderEl = (0, import_react166.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
29357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime235.jsxs)("div", { ...(0, import_runtime156.mergeProps)(void 0, cssVars, {
|
|
29165
29358
|
display: "df",
|
|
29166
29359
|
flexDirection: "fdc",
|
|
29167
29360
|
width: "w100"
|
|
29168
29361
|
}), ...tid, children: [
|
|
29169
|
-
/* @__PURE__ */ (0,
|
|
29362
|
+
/* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ref: spacerRef, ...(0, import_runtime156.mergeProps)(void 0, {
|
|
29170
29363
|
height: headerHeight
|
|
29171
29364
|
}, {
|
|
29172
29365
|
flexShrink: "fs0",
|
|
29173
29366
|
width: "w100"
|
|
29174
|
-
}), children: /* @__PURE__ */ (0,
|
|
29175
|
-
/* @__PURE__ */ (0,
|
|
29367
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime156.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
29368
|
+
/* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
29176
29369
|
] }) });
|
|
29177
29370
|
}
|
|
29178
29371
|
|
|
29179
29372
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
29180
|
-
var
|
|
29373
|
+
var import_react168 = require("react");
|
|
29181
29374
|
|
|
29182
29375
|
// src/components/Headers/WorkflowHeader.tsx
|
|
29183
|
-
var
|
|
29376
|
+
var import_jsx_runtime236 = require("react/jsx-runtime");
|
|
29184
29377
|
function WorkflowHeader(props) {
|
|
29185
29378
|
const { stepperTabs, ...otherProps } = props;
|
|
29186
29379
|
const tid = useTestIds(otherProps, "header");
|
|
29187
|
-
return /* @__PURE__ */ (0,
|
|
29380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(
|
|
29188
29381
|
BaseHeader,
|
|
29189
29382
|
{
|
|
29190
29383
|
...otherProps,
|
|
29191
|
-
bottomSlot: stepperTabs ? /* @__PURE__ */ (0,
|
|
29384
|
+
bottomSlot: stepperTabs ? /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
|
|
29192
29385
|
}
|
|
29193
29386
|
);
|
|
29194
29387
|
}
|
|
29195
29388
|
|
|
29196
29389
|
// src/layouts/Workflow/useUnsavedChangesGuard.tsx
|
|
29197
|
-
var
|
|
29390
|
+
var import_react167 = require("react");
|
|
29198
29391
|
var import_react_router_dom9 = require("react-router-dom");
|
|
29199
|
-
var
|
|
29392
|
+
var import_jsx_runtime237 = require("react/jsx-runtime");
|
|
29200
29393
|
function useUnsavedChangesGuard(options) {
|
|
29201
|
-
const { isDirty, onCancel } = options;
|
|
29394
|
+
const { isDirty, allowNavigation, onCancel } = options;
|
|
29202
29395
|
const { openModal } = useModal();
|
|
29203
|
-
const isDirtyRef = (0,
|
|
29396
|
+
const isDirtyRef = (0, import_react167.useRef)(isDirty);
|
|
29204
29397
|
isDirtyRef.current = isDirty;
|
|
29205
|
-
(0,
|
|
29398
|
+
const allowNavigationRef = (0, import_react167.useRef)(allowNavigation);
|
|
29399
|
+
allowNavigationRef.current = allowNavigation;
|
|
29400
|
+
(0, import_react167.useEffect)(() => {
|
|
29206
29401
|
const onBeforeUnload = (e) => {
|
|
29207
29402
|
if (isDirtyRef.current?.()) {
|
|
29208
29403
|
e.preventDefault();
|
|
@@ -29211,7 +29406,9 @@ function useUnsavedChangesGuard(options) {
|
|
|
29211
29406
|
window.addEventListener("beforeunload", onBeforeUnload);
|
|
29212
29407
|
return () => window.removeEventListener("beforeunload", onBeforeUnload);
|
|
29213
29408
|
}, []);
|
|
29214
|
-
const blocker = (0, import_react_router_dom9.useBlocker)(() =>
|
|
29409
|
+
const blocker = (0, import_react_router_dom9.useBlocker)((args) => {
|
|
29410
|
+
return !!isDirtyRef.current?.() && !allowNavigationRef.current?.(args);
|
|
29411
|
+
});
|
|
29215
29412
|
const onCancelClick = (e) => {
|
|
29216
29413
|
if (!isDirty?.()) {
|
|
29217
29414
|
onCancel(e);
|
|
@@ -29219,7 +29416,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
29219
29416
|
}
|
|
29220
29417
|
openModal({
|
|
29221
29418
|
allowClosing: false,
|
|
29222
|
-
content: /* @__PURE__ */ (0,
|
|
29419
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
|
|
29223
29420
|
});
|
|
29224
29421
|
};
|
|
29225
29422
|
const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
|
|
@@ -29228,10 +29425,10 @@ function useUnsavedChangesGuard(options) {
|
|
|
29228
29425
|
function UnsavedChangesNavigationModal(props) {
|
|
29229
29426
|
const { proceed, cancelNavigation } = props;
|
|
29230
29427
|
const { openModal, closeModal } = useModal();
|
|
29231
|
-
(0,
|
|
29428
|
+
(0, import_react167.useEffect)(() => {
|
|
29232
29429
|
openModal({
|
|
29233
29430
|
allowClosing: false,
|
|
29234
|
-
content: /* @__PURE__ */ (0,
|
|
29431
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
29235
29432
|
});
|
|
29236
29433
|
return () => closeModal();
|
|
29237
29434
|
}, []);
|
|
@@ -29239,7 +29436,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
29239
29436
|
}
|
|
29240
29437
|
|
|
29241
29438
|
// src/layouts/Workflow/WorkflowActions.tsx
|
|
29242
|
-
var
|
|
29439
|
+
var import_jsx_runtime238 = require("react/jsx-runtime");
|
|
29243
29440
|
function WorkflowActions(props) {
|
|
29244
29441
|
const {
|
|
29245
29442
|
onCancel,
|
|
@@ -29257,12 +29454,12 @@ function WorkflowActions(props) {
|
|
|
29257
29454
|
sm: isMobile
|
|
29258
29455
|
} = useBreakpoint();
|
|
29259
29456
|
const primaryVariant = aiMode ? "ai" : "primary";
|
|
29260
|
-
return /* @__PURE__ */ (0,
|
|
29261
|
-
/* @__PURE__ */ (0,
|
|
29262
|
-
/* @__PURE__ */ (0,
|
|
29263
|
-
/* @__PURE__ */ (0,
|
|
29264
|
-
onSaveAndExit && /* @__PURE__ */ (0,
|
|
29265
|
-
isLastStep ? /* @__PURE__ */ (0,
|
|
29457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime238.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
|
|
29458
|
+
/* @__PURE__ */ (0, import_jsx_runtime238.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
|
|
29459
|
+
/* @__PURE__ */ (0, import_jsx_runtime238.jsxs)("div", { className: "df aic gap1", children: [
|
|
29460
|
+
/* @__PURE__ */ (0, import_jsx_runtime238.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
|
|
29461
|
+
onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
|
|
29462
|
+
isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime238.jsx)(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
|
|
29266
29463
|
await onContinue?.();
|
|
29267
29464
|
}, disabled: primaryDisabled })
|
|
29268
29465
|
] })
|
|
@@ -29270,9 +29467,9 @@ function WorkflowActions(props) {
|
|
|
29270
29467
|
}
|
|
29271
29468
|
|
|
29272
29469
|
// src/layouts/Workflow/WorkflowPageLayout.tsx
|
|
29273
|
-
var
|
|
29274
|
-
var
|
|
29275
|
-
var
|
|
29470
|
+
var import_runtime157 = require("@homebound/truss/runtime");
|
|
29471
|
+
var import_jsx_runtime239 = require("react/jsx-runtime");
|
|
29472
|
+
var __maybeInc36 = (inc) => {
|
|
29276
29473
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
29277
29474
|
};
|
|
29278
29475
|
var mobileFooterHeightPx = 80;
|
|
@@ -29281,6 +29478,7 @@ function WorkflowPageLayout(props) {
|
|
|
29281
29478
|
stepperTabs,
|
|
29282
29479
|
aiMode,
|
|
29283
29480
|
isDirty,
|
|
29481
|
+
allowNavigation,
|
|
29284
29482
|
children,
|
|
29285
29483
|
title,
|
|
29286
29484
|
documentTitleSuffix,
|
|
@@ -29297,10 +29495,11 @@ function WorkflowPageLayout(props) {
|
|
|
29297
29495
|
navigationBlocker
|
|
29298
29496
|
} = useUnsavedChangesGuard({
|
|
29299
29497
|
isDirty,
|
|
29498
|
+
allowNavigation,
|
|
29300
29499
|
onCancel
|
|
29301
29500
|
});
|
|
29302
|
-
const actions = /* @__PURE__ */ (0,
|
|
29303
|
-
const headerMetricsRef = (0,
|
|
29501
|
+
const actions = /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
|
|
29502
|
+
const headerMetricsRef = (0, import_react168.useRef)(null);
|
|
29304
29503
|
const headerHeight = useMeasuredHeight(headerMetricsRef, true);
|
|
29305
29504
|
const headerWidth = documentScrollChromeWidth();
|
|
29306
29505
|
const outerTop = bannerAndNavbarChromeTop();
|
|
@@ -29308,7 +29507,7 @@ function WorkflowPageLayout(props) {
|
|
|
29308
29507
|
[beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
|
|
29309
29508
|
} : void 0;
|
|
29310
29509
|
const showFooter = isMobile;
|
|
29311
|
-
(0,
|
|
29510
|
+
(0, import_react168.useLayoutEffect)(() => {
|
|
29312
29511
|
const root = document.documentElement;
|
|
29313
29512
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
29314
29513
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -29320,32 +29519,32 @@ function WorkflowPageLayout(props) {
|
|
|
29320
29519
|
}
|
|
29321
29520
|
};
|
|
29322
29521
|
}, [showFooter]);
|
|
29323
|
-
return /* @__PURE__ */ (0,
|
|
29324
|
-
/* @__PURE__ */ (0,
|
|
29522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime239.jsxs)(DocumentScrollLayoutProvider, { children: [
|
|
29523
|
+
/* @__PURE__ */ (0, import_jsx_runtime239.jsxs)("div", { ...(0, import_runtime157.mergeProps)(void 0, cssVars, {
|
|
29325
29524
|
display: "df",
|
|
29326
29525
|
flexDirection: "fdc",
|
|
29327
29526
|
width: "w100"
|
|
29328
29527
|
}), ...tid, children: [
|
|
29329
|
-
/* @__PURE__ */ (0,
|
|
29528
|
+
/* @__PURE__ */ (0, import_jsx_runtime239.jsx)("div", { ...(0, import_runtime157.mergeProps)(void 0, {
|
|
29330
29529
|
height: headerHeight
|
|
29331
29530
|
}, {
|
|
29332
29531
|
flexShrink: "fs0",
|
|
29333
29532
|
width: "w100"
|
|
29334
|
-
}), children: /* @__PURE__ */ (0,
|
|
29533
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime157.trussProps)({
|
|
29335
29534
|
position: "fixed",
|
|
29336
29535
|
left: "left0",
|
|
29337
29536
|
width: ["w_var", {
|
|
29338
|
-
"--width": (0,
|
|
29537
|
+
"--width": (0, import_runtime157.maybeCssVar)(__maybeInc36(headerWidth))
|
|
29339
29538
|
}],
|
|
29340
29539
|
zIndex: ["z_var", {
|
|
29341
|
-
"--zIndex": (0,
|
|
29540
|
+
"--zIndex": (0, import_runtime157.maybeCssVar)(zIndices.pageStickyHeader)
|
|
29342
29541
|
}],
|
|
29343
29542
|
top: ["top_var", {
|
|
29344
|
-
"--top": (0,
|
|
29543
|
+
"--top": (0, import_runtime157.maybeCssVar)(__maybeInc36(outerTop))
|
|
29345
29544
|
}],
|
|
29346
29545
|
transition: "transitionAll"
|
|
29347
|
-
}), ...tid.header, children: /* @__PURE__ */ (0,
|
|
29348
|
-
/* @__PURE__ */ (0,
|
|
29546
|
+
}), ...tid.header, children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? void 0 : actions, stepperTabs }) }) }),
|
|
29547
|
+
/* @__PURE__ */ (0, import_jsx_runtime239.jsx)("div", { ...(0, import_runtime157.trussProps)({
|
|
29349
29548
|
...{
|
|
29350
29549
|
display: "df",
|
|
29351
29550
|
flexDirection: "fdc",
|
|
@@ -29357,28 +29556,28 @@ function WorkflowPageLayout(props) {
|
|
|
29357
29556
|
...aiMode && {
|
|
29358
29557
|
backgroundImage: "aiBackground",
|
|
29359
29558
|
minHeight: ["mh_var", {
|
|
29360
|
-
"--minHeight": (0,
|
|
29559
|
+
"--minHeight": (0, import_runtime157.maybeCssVar)(documentScrollBodyMinHeight())
|
|
29361
29560
|
}]
|
|
29362
29561
|
}
|
|
29363
29562
|
}), ...tid.body, children }),
|
|
29364
|
-
showFooter && /* @__PURE__ */ (0,
|
|
29563
|
+
showFooter && /* @__PURE__ */ (0, import_jsx_runtime239.jsx)("div", { ...(0, import_runtime157.trussProps)({
|
|
29365
29564
|
flexShrink: "fs0",
|
|
29366
29565
|
width: "w100",
|
|
29367
29566
|
height: ["h_var", {
|
|
29368
29567
|
"--height": `${mobileFooterHeightPx}px`
|
|
29369
29568
|
}]
|
|
29370
|
-
}), children: /* @__PURE__ */ (0,
|
|
29569
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime239.jsx)("div", { ...(0, import_runtime157.trussProps)({
|
|
29371
29570
|
...{
|
|
29372
29571
|
position: "fixed",
|
|
29373
29572
|
bottom: "bottom0",
|
|
29374
29573
|
width: ["w_var", {
|
|
29375
|
-
"--width": (0,
|
|
29574
|
+
"--width": (0, import_runtime157.maybeCssVar)(__maybeInc36(headerWidth))
|
|
29376
29575
|
}],
|
|
29377
29576
|
height: ["h_var", {
|
|
29378
29577
|
"--height": `${mobileFooterHeightPx}px`
|
|
29379
29578
|
}],
|
|
29380
29579
|
zIndex: ["z_var", {
|
|
29381
|
-
"--zIndex": (0,
|
|
29580
|
+
"--zIndex": (0, import_runtime157.maybeCssVar)(zIndices.pageStickyFooter)
|
|
29382
29581
|
}],
|
|
29383
29582
|
display: "df",
|
|
29384
29583
|
alignItems: "aic",
|
|
@@ -29396,12 +29595,12 @@ function WorkflowPageLayout(props) {
|
|
|
29396
29595
|
...pageContentPaddingX
|
|
29397
29596
|
}), ...tid.footer, children: actions }) })
|
|
29398
29597
|
] }),
|
|
29399
|
-
navigationBlocker && /* @__PURE__ */ (0,
|
|
29598
|
+
navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime239.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
|
|
29400
29599
|
] });
|
|
29401
29600
|
}
|
|
29402
29601
|
|
|
29403
29602
|
// src/layouts/Workflow/FocusedFormLayout.tsx
|
|
29404
|
-
var
|
|
29603
|
+
var import_jsx_runtime240 = require("react/jsx-runtime");
|
|
29405
29604
|
function FocusedFormLayout(props) {
|
|
29406
29605
|
const {
|
|
29407
29606
|
onCancel,
|
|
@@ -29410,18 +29609,20 @@ function FocusedFormLayout(props) {
|
|
|
29410
29609
|
onSaveAndExit,
|
|
29411
29610
|
primaryDisabled,
|
|
29412
29611
|
isDirty,
|
|
29612
|
+
allowNavigation,
|
|
29413
29613
|
aiMode,
|
|
29414
29614
|
children,
|
|
29415
29615
|
...headerProps
|
|
29416
29616
|
} = props;
|
|
29417
29617
|
const tid = useTestIds(props, "focusedFormLayout");
|
|
29418
|
-
return /* @__PURE__ */ (0,
|
|
29618
|
+
return /* @__PURE__ */ (0, import_jsx_runtime240.jsx)(
|
|
29419
29619
|
WorkflowPageLayout,
|
|
29420
29620
|
{
|
|
29421
29621
|
...tid,
|
|
29422
29622
|
...headerProps,
|
|
29423
29623
|
aiMode,
|
|
29424
29624
|
isDirty,
|
|
29625
|
+
allowNavigation,
|
|
29425
29626
|
onCancel,
|
|
29426
29627
|
onSaveAndExit,
|
|
29427
29628
|
completeLabel,
|
|
@@ -29433,18 +29634,29 @@ function FocusedFormLayout(props) {
|
|
|
29433
29634
|
}
|
|
29434
29635
|
|
|
29435
29636
|
// src/layouts/Workflow/StepperLayout.tsx
|
|
29436
|
-
var
|
|
29437
|
-
var
|
|
29637
|
+
var import_react169 = require("react");
|
|
29638
|
+
var import_jsx_runtime241 = require("react/jsx-runtime");
|
|
29438
29639
|
function StepperLayout(props) {
|
|
29439
|
-
const {
|
|
29640
|
+
const {
|
|
29641
|
+
steps,
|
|
29642
|
+
defaultStep,
|
|
29643
|
+
onCancel,
|
|
29644
|
+
completeLabel,
|
|
29645
|
+
onComplete,
|
|
29646
|
+
onSaveAndExit,
|
|
29647
|
+
isDirty,
|
|
29648
|
+
allowNavigation,
|
|
29649
|
+
aiMode,
|
|
29650
|
+
...headerProps
|
|
29651
|
+
} = props;
|
|
29440
29652
|
const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
|
|
29441
|
-
const [currentStep, setCurrentStep] = (0,
|
|
29653
|
+
const [currentStep, setCurrentStep] = (0, import_react169.useState)(() => getInitialStep(stepTabs, defaultStep));
|
|
29442
29654
|
const tid = useTestIds(props, "stepperLayout");
|
|
29443
29655
|
const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
|
|
29444
29656
|
const isFirstStep = currentIndex <= 0;
|
|
29445
29657
|
const isLastStep = currentIndex >= stepTabs.length - 1;
|
|
29446
29658
|
const activeStep = stepTabs[currentIndex];
|
|
29447
|
-
return /* @__PURE__ */ (0,
|
|
29659
|
+
return /* @__PURE__ */ (0, import_jsx_runtime241.jsx)(
|
|
29448
29660
|
WorkflowPageLayout,
|
|
29449
29661
|
{
|
|
29450
29662
|
...tid,
|
|
@@ -29452,6 +29664,7 @@ function StepperLayout(props) {
|
|
|
29452
29664
|
aiMode,
|
|
29453
29665
|
stepperTabs: { steps: stepTabs, currentStep, onChange: setCurrentStep },
|
|
29454
29666
|
isDirty,
|
|
29667
|
+
allowNavigation,
|
|
29455
29668
|
isFirstStep,
|
|
29456
29669
|
isLastStep,
|
|
29457
29670
|
onBack: () => {
|
|
@@ -29485,7 +29698,7 @@ function getInitialStep(steps, defaultStep) {
|
|
|
29485
29698
|
|
|
29486
29699
|
// src/forms/BoundChipSelectField.tsx
|
|
29487
29700
|
var import_mobx_react23 = require("mobx-react");
|
|
29488
|
-
var
|
|
29701
|
+
var import_jsx_runtime242 = require("react/jsx-runtime");
|
|
29489
29702
|
function BoundChipSelectField(props) {
|
|
29490
29703
|
const {
|
|
29491
29704
|
field,
|
|
@@ -29501,7 +29714,7 @@ function BoundChipSelectField(props) {
|
|
|
29501
29714
|
...others
|
|
29502
29715
|
} = props;
|
|
29503
29716
|
const testId = useTestIds(props, field.key);
|
|
29504
|
-
return /* @__PURE__ */ (0,
|
|
29717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(import_mobx_react23.Observer, { children: () => /* @__PURE__ */ (0, import_jsx_runtime242.jsx)(
|
|
29505
29718
|
ChipSelectField,
|
|
29506
29719
|
{
|
|
29507
29720
|
label,
|
|
@@ -29531,12 +29744,12 @@ function BoundChipSelectField(props) {
|
|
|
29531
29744
|
}
|
|
29532
29745
|
|
|
29533
29746
|
// src/forms/BoundSelectAndTextField.tsx
|
|
29534
|
-
var
|
|
29747
|
+
var import_jsx_runtime243 = require("react/jsx-runtime");
|
|
29535
29748
|
function BoundSelectAndTextField(props) {
|
|
29536
29749
|
const { selectFieldProps, textFieldProps, compact = true } = props;
|
|
29537
29750
|
const tid = useTestIds(props);
|
|
29538
|
-
return /* @__PURE__ */ (0,
|
|
29539
|
-
/* @__PURE__ */ (0,
|
|
29751
|
+
return /* @__PURE__ */ (0, import_jsx_runtime243.jsxs)(CompoundField, { children: [
|
|
29752
|
+
/* @__PURE__ */ (0, import_jsx_runtime243.jsx)(
|
|
29540
29753
|
BoundSelectField,
|
|
29541
29754
|
{
|
|
29542
29755
|
...tid[defaultTestId(selectFieldProps.label ?? selectFieldProps.field.key)],
|
|
@@ -29545,7 +29758,7 @@ function BoundSelectAndTextField(props) {
|
|
|
29545
29758
|
compact
|
|
29546
29759
|
}
|
|
29547
29760
|
),
|
|
29548
|
-
/* @__PURE__ */ (0,
|
|
29761
|
+
/* @__PURE__ */ (0, import_jsx_runtime243.jsx)(
|
|
29549
29762
|
BoundTextField,
|
|
29550
29763
|
{
|
|
29551
29764
|
...tid[defaultTestId(textFieldProps.label ?? textFieldProps.field.key)],
|
|
@@ -29557,8 +29770,8 @@ function BoundSelectAndTextField(props) {
|
|
|
29557
29770
|
}
|
|
29558
29771
|
|
|
29559
29772
|
// src/forms/FormHeading.tsx
|
|
29560
|
-
var
|
|
29561
|
-
var
|
|
29773
|
+
var import_runtime158 = require("@homebound/truss/runtime");
|
|
29774
|
+
var import_jsx_runtime244 = (
|
|
29562
29775
|
// Add space before the heading, but only if it's not first.
|
|
29563
29776
|
require("react/jsx-runtime")
|
|
29564
29777
|
);
|
|
@@ -29569,7 +29782,7 @@ function FormHeading(props) {
|
|
|
29569
29782
|
isFirst = false,
|
|
29570
29783
|
...others
|
|
29571
29784
|
} = props;
|
|
29572
|
-
return /* @__PURE__ */ (0,
|
|
29785
|
+
return /* @__PURE__ */ (0, import_jsx_runtime244.jsx)("h3", { ...(0, import_runtime158.trussProps)({
|
|
29573
29786
|
...{
|
|
29574
29787
|
fontWeight: "fw4",
|
|
29575
29788
|
fontSize: "fz_16px",
|
|
@@ -29585,8 +29798,8 @@ FormHeading.isFormHeading = true;
|
|
|
29585
29798
|
|
|
29586
29799
|
// src/forms/StaticField.tsx
|
|
29587
29800
|
var import_utils49 = require("@react-aria/utils");
|
|
29588
|
-
var
|
|
29589
|
-
var
|
|
29801
|
+
var import_runtime159 = require("@homebound/truss/runtime");
|
|
29802
|
+
var import_jsx_runtime245 = require("react/jsx-runtime");
|
|
29590
29803
|
function StaticField(props) {
|
|
29591
29804
|
const {
|
|
29592
29805
|
fieldProps
|
|
@@ -29599,14 +29812,14 @@ function StaticField(props) {
|
|
|
29599
29812
|
} = props;
|
|
29600
29813
|
const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
|
|
29601
29814
|
const id = (0, import_utils49.useId)();
|
|
29602
|
-
return /* @__PURE__ */ (0,
|
|
29815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime245.jsxs)("div", { ...(0, import_runtime159.trussProps)({
|
|
29603
29816
|
...labelStyle === "left" ? {
|
|
29604
29817
|
display: "df",
|
|
29605
29818
|
justifyContent: "jcsb",
|
|
29606
29819
|
maxWidth: "maxw100"
|
|
29607
29820
|
} : {}
|
|
29608
29821
|
}), ...tid.container, children: [
|
|
29609
|
-
/* @__PURE__ */ (0,
|
|
29822
|
+
/* @__PURE__ */ (0, import_jsx_runtime245.jsx)("label", { ...(0, import_runtime159.trussProps)({
|
|
29610
29823
|
display: "db",
|
|
29611
29824
|
fontWeight: "fw4",
|
|
29612
29825
|
fontSize: "fz_14px",
|
|
@@ -29616,7 +29829,7 @@ function StaticField(props) {
|
|
|
29616
29829
|
}],
|
|
29617
29830
|
marginBottom: "mb_4px"
|
|
29618
29831
|
}), htmlFor: id, ...tid.label, children: label }),
|
|
29619
|
-
/* @__PURE__ */ (0,
|
|
29832
|
+
/* @__PURE__ */ (0, import_jsx_runtime245.jsx)("div", { id, ...(0, import_runtime159.trussProps)({
|
|
29620
29833
|
fontWeight: "fw4",
|
|
29621
29834
|
fontSize: "fz_14px",
|
|
29622
29835
|
lineHeight: "lh_20px",
|
|
@@ -29633,9 +29846,9 @@ function StaticField(props) {
|
|
|
29633
29846
|
}
|
|
29634
29847
|
|
|
29635
29848
|
// src/hooks/useFilter.ts
|
|
29636
|
-
var
|
|
29849
|
+
var import_react170 = require("react");
|
|
29637
29850
|
function useFilter4({ filterDefs }) {
|
|
29638
|
-
const [filter, setFilter] = (0,
|
|
29851
|
+
const [filter, setFilter] = (0, import_react170.useState)(
|
|
29639
29852
|
Object.fromEntries(
|
|
29640
29853
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
29641
29854
|
)
|
|
@@ -29644,10 +29857,10 @@ function useFilter4({ filterDefs }) {
|
|
|
29644
29857
|
}
|
|
29645
29858
|
|
|
29646
29859
|
// src/inputs/Autocomplete.tsx
|
|
29647
|
-
var
|
|
29648
|
-
var
|
|
29860
|
+
var import_react171 = require("react");
|
|
29861
|
+
var import_react_aria66 = require("react-aria");
|
|
29649
29862
|
var import_react_stately18 = require("react-stately");
|
|
29650
|
-
var
|
|
29863
|
+
var import_jsx_runtime246 = require("react/jsx-runtime");
|
|
29651
29864
|
function Autocomplete(props) {
|
|
29652
29865
|
const {
|
|
29653
29866
|
onSelect,
|
|
@@ -29664,8 +29877,8 @@ function Autocomplete(props) {
|
|
|
29664
29877
|
} = props;
|
|
29665
29878
|
const { effectiveValue, proposalProps } = useAiProposal(value, proposedValue);
|
|
29666
29879
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
29667
|
-
const comboBoxChildren = (0,
|
|
29668
|
-
(item) => /* @__PURE__ */ (0,
|
|
29880
|
+
const comboBoxChildren = (0, import_react171.useCallback)(
|
|
29881
|
+
(item) => /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(import_react_stately18.Item, { textValue: getOptionLabel(item), children: getOptionMenuLabel ? getOptionMenuLabel(item) : getOptionLabel(item) }, getOptionValue(item)),
|
|
29669
29882
|
[getOptionValue, getOptionLabel, getOptionMenuLabel]
|
|
29670
29883
|
);
|
|
29671
29884
|
const comboBoxProps = {
|
|
@@ -29689,11 +29902,11 @@ function Autocomplete(props) {
|
|
|
29689
29902
|
...others
|
|
29690
29903
|
};
|
|
29691
29904
|
const state = (0, import_react_stately18.useComboBoxState)(comboBoxProps);
|
|
29692
|
-
const inputWrapRef = (0,
|
|
29693
|
-
const inputRef = (0,
|
|
29694
|
-
const listBoxRef = (0,
|
|
29695
|
-
const popoverRef = (0,
|
|
29696
|
-
const { inputProps, listBoxProps, labelProps } = (0,
|
|
29905
|
+
const inputWrapRef = (0, import_react171.useRef)(null);
|
|
29906
|
+
const inputRef = (0, import_react171.useRef)(null);
|
|
29907
|
+
const listBoxRef = (0, import_react171.useRef)(null);
|
|
29908
|
+
const popoverRef = (0, import_react171.useRef)(null);
|
|
29909
|
+
const { inputProps, listBoxProps, labelProps } = (0, import_react_aria66.useComboBox)(
|
|
29697
29910
|
{
|
|
29698
29911
|
...comboBoxProps,
|
|
29699
29912
|
inputRef,
|
|
@@ -29704,7 +29917,7 @@ function Autocomplete(props) {
|
|
|
29704
29917
|
},
|
|
29705
29918
|
state
|
|
29706
29919
|
);
|
|
29707
|
-
const { overlayProps: positionProps } = (0,
|
|
29920
|
+
const { overlayProps: positionProps } = (0, import_react_aria66.useOverlayPosition)({
|
|
29708
29921
|
targetRef: inputWrapRef,
|
|
29709
29922
|
overlayRef: popoverRef,
|
|
29710
29923
|
scrollRef: listBoxRef,
|
|
@@ -29718,8 +29931,8 @@ function Autocomplete(props) {
|
|
|
29718
29931
|
// Ensures the menu never gets too small.
|
|
29719
29932
|
minWidth: 200
|
|
29720
29933
|
};
|
|
29721
|
-
return /* @__PURE__ */ (0,
|
|
29722
|
-
/* @__PURE__ */ (0,
|
|
29934
|
+
return /* @__PURE__ */ (0, import_jsx_runtime246.jsxs)(import_jsx_runtime246.Fragment, { children: [
|
|
29935
|
+
/* @__PURE__ */ (0, import_jsx_runtime246.jsx)(
|
|
29723
29936
|
TextFieldBase,
|
|
29724
29937
|
{
|
|
29725
29938
|
inputRef,
|
|
@@ -29729,11 +29942,11 @@ function Autocomplete(props) {
|
|
|
29729
29942
|
onChange: onInputChange,
|
|
29730
29943
|
...proposalProps,
|
|
29731
29944
|
clearable: true,
|
|
29732
|
-
startAdornment: "startAdornment" in props ? props.startAdornment : /* @__PURE__ */ (0,
|
|
29945
|
+
startAdornment: "startAdornment" in props ? props.startAdornment : /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(Icon, { icon: "search" }),
|
|
29733
29946
|
...others
|
|
29734
29947
|
}
|
|
29735
29948
|
),
|
|
29736
|
-
state.isOpen && /* @__PURE__ */ (0,
|
|
29949
|
+
state.isOpen && /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(
|
|
29737
29950
|
Popover,
|
|
29738
29951
|
{
|
|
29739
29952
|
triggerRef: inputRef,
|
|
@@ -29742,7 +29955,7 @@ function Autocomplete(props) {
|
|
|
29742
29955
|
onClose: () => state.close(),
|
|
29743
29956
|
isOpen: state.isOpen,
|
|
29744
29957
|
minWidth: 200,
|
|
29745
|
-
children: /* @__PURE__ */ (0,
|
|
29958
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime246.jsx)(
|
|
29746
29959
|
ListBox,
|
|
29747
29960
|
{
|
|
29748
29961
|
...listBoxProps,
|
|
@@ -29760,11 +29973,11 @@ function Autocomplete(props) {
|
|
|
29760
29973
|
}
|
|
29761
29974
|
|
|
29762
29975
|
// src/inputs/ToggleButton.tsx
|
|
29763
|
-
var
|
|
29764
|
-
var
|
|
29976
|
+
var import_react172 = require("react");
|
|
29977
|
+
var import_react_aria67 = require("react-aria");
|
|
29765
29978
|
var import_react_stately19 = require("react-stately");
|
|
29766
|
-
var
|
|
29767
|
-
var
|
|
29979
|
+
var import_runtime160 = require("@homebound/truss/runtime");
|
|
29980
|
+
var import_jsx_runtime247 = require("react/jsx-runtime");
|
|
29768
29981
|
function ToggleButton(props) {
|
|
29769
29982
|
const {
|
|
29770
29983
|
selected: isSelected = false,
|
|
@@ -29775,7 +29988,7 @@ function ToggleButton(props) {
|
|
|
29775
29988
|
__storyState,
|
|
29776
29989
|
...otherProps
|
|
29777
29990
|
} = props;
|
|
29778
|
-
const [asyncInProgress, setAsyncInProgress] = (0,
|
|
29991
|
+
const [asyncInProgress, setAsyncInProgress] = (0, import_react172.useState)(false);
|
|
29779
29992
|
const isDisabled = !!disabled || asyncInProgress;
|
|
29780
29993
|
const ariaProps = {
|
|
29781
29994
|
"aria-label": label,
|
|
@@ -29794,30 +30007,30 @@ function ToggleButton(props) {
|
|
|
29794
30007
|
return result;
|
|
29795
30008
|
}
|
|
29796
30009
|
});
|
|
29797
|
-
const labelRef = (0,
|
|
29798
|
-
const ref = (0,
|
|
30010
|
+
const labelRef = (0, import_react172.useRef)(null);
|
|
30011
|
+
const ref = (0, import_react172.useRef)(null);
|
|
29799
30012
|
const tid = useTestIds(otherProps, label);
|
|
29800
30013
|
const {
|
|
29801
30014
|
isPressed: isPressedFromEvents,
|
|
29802
30015
|
pressProps
|
|
29803
|
-
} = (0,
|
|
30016
|
+
} = (0, import_react_aria67.usePress)({
|
|
29804
30017
|
ref: labelRef,
|
|
29805
30018
|
isDisabled
|
|
29806
30019
|
});
|
|
29807
30020
|
const {
|
|
29808
30021
|
inputProps
|
|
29809
|
-
} = (0,
|
|
30022
|
+
} = (0, import_react_aria67.useSwitch)(ariaProps, state, ref);
|
|
29810
30023
|
const {
|
|
29811
30024
|
isFocusVisible: isFocusVisibleFromEvents,
|
|
29812
30025
|
focusProps
|
|
29813
|
-
} = (0,
|
|
30026
|
+
} = (0, import_react_aria67.useFocusRing)({
|
|
29814
30027
|
...otherProps,
|
|
29815
30028
|
within: true
|
|
29816
30029
|
});
|
|
29817
30030
|
const {
|
|
29818
30031
|
hoverProps,
|
|
29819
30032
|
isHovered: isHoveredFromEvents
|
|
29820
|
-
} = (0,
|
|
30033
|
+
} = (0, import_react_aria67.useHover)({
|
|
29821
30034
|
isDisabled
|
|
29822
30035
|
});
|
|
29823
30036
|
const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
|
|
@@ -29828,7 +30041,7 @@ function ToggleButton(props) {
|
|
|
29828
30041
|
...focusProps,
|
|
29829
30042
|
...hoverProps,
|
|
29830
30043
|
...pressProps,
|
|
29831
|
-
...(0,
|
|
30044
|
+
...(0, import_runtime160.trussProps)({
|
|
29832
30045
|
// Gray500 off-state has no semantic match — keep palette (OnSurfaceMuted is Gray700).
|
|
29833
30046
|
...{
|
|
29834
30047
|
borderRadius: "br4",
|
|
@@ -29868,10 +30081,10 @@ function ToggleButton(props) {
|
|
|
29868
30081
|
return maybeTooltip({
|
|
29869
30082
|
title: tooltip,
|
|
29870
30083
|
placement: "top",
|
|
29871
|
-
children: /* @__PURE__ */ (0,
|
|
29872
|
-
icon && /* @__PURE__ */ (0,
|
|
30084
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime247.jsxs)("label", { ...labelAttrs, children: [
|
|
30085
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime247.jsx)(Icon, { icon }),
|
|
29873
30086
|
label,
|
|
29874
|
-
/* @__PURE__ */ (0,
|
|
30087
|
+
/* @__PURE__ */ (0, import_jsx_runtime247.jsx)(import_react_aria67.VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime247.jsx)("input", { ref, ...inputProps, ...tid.value }) })
|
|
29875
30088
|
] })
|
|
29876
30089
|
});
|
|
29877
30090
|
}
|
|
@@ -30051,6 +30264,7 @@ var togglePressStyles = {
|
|
|
30051
30264
|
SideNavLayout,
|
|
30052
30265
|
SideNavLayoutProvider,
|
|
30053
30266
|
SortHeader,
|
|
30267
|
+
StackBarGraph,
|
|
30054
30268
|
StaticField,
|
|
30055
30269
|
Stepper,
|
|
30056
30270
|
StepperLayout,
|
|
@@ -30066,6 +30280,7 @@ var togglePressStyles = {
|
|
|
30066
30280
|
TableReviewLayout,
|
|
30067
30281
|
TableState,
|
|
30068
30282
|
TableStateContext,
|
|
30283
|
+
TableSummary,
|
|
30069
30284
|
Tabs,
|
|
30070
30285
|
TabsWithContent,
|
|
30071
30286
|
Tag,
|