@homebound/beam 2.388.0 → 2.390.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 +787 -710
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +74 -16
- package/dist/index.d.ts +74 -16
- package/dist/index.js +458 -385
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4155,6 +4155,9 @@ function useAutoSaveStatus() {
|
|
|
4155
4155
|
return useContext(AutoSaveStatusContext);
|
|
4156
4156
|
}
|
|
4157
4157
|
|
|
4158
|
+
// src/components/Chip.tsx
|
|
4159
|
+
import { useMemo as useMemo3 } from "react";
|
|
4160
|
+
|
|
4158
4161
|
// src/components/Icon.tsx
|
|
4159
4162
|
import React3 from "react";
|
|
4160
4163
|
|
|
@@ -4867,43 +4870,40 @@ var ChipTypes = {
|
|
|
4867
4870
|
darkMode: "darkMode",
|
|
4868
4871
|
info: "info"
|
|
4869
4872
|
};
|
|
4870
|
-
function Chip({
|
|
4871
|
-
type = ChipTypes.neutral,
|
|
4872
|
-
...props
|
|
4873
|
-
}) {
|
|
4873
|
+
function Chip(props) {
|
|
4874
4874
|
const { fieldProps } = usePresentationContext();
|
|
4875
|
-
const { text, title, xss = {}, compact = fieldProps?.compact, icon } = props;
|
|
4875
|
+
const { text, title, xss = {}, compact = fieldProps?.compact, icon, type = ChipTypes.neutral } = props;
|
|
4876
4876
|
const tid = useTestIds(props, "chip");
|
|
4877
|
+
const styles = useMemo3(
|
|
4878
|
+
() => ({
|
|
4879
|
+
...chipBaseStyles(compact),
|
|
4880
|
+
...typeStyles[type],
|
|
4881
|
+
...xss
|
|
4882
|
+
}),
|
|
4883
|
+
[type, xss, compact]
|
|
4884
|
+
);
|
|
4877
4885
|
return maybeTooltip({
|
|
4878
4886
|
title,
|
|
4879
4887
|
placement: "bottom",
|
|
4880
|
-
children: /* @__PURE__ */ jsxs3(
|
|
4881
|
-
|
|
4882
|
-
{
|
|
4883
|
-
|
|
4884
|
-
...Css[compact ? "xs" : "sm"].dif.aic.gapPx(4).br16.pl1.px1.pyPx(2).gray900.$,
|
|
4885
|
-
...typeStyles[type],
|
|
4886
|
-
...xss
|
|
4887
|
-
},
|
|
4888
|
-
...tid,
|
|
4889
|
-
children: [
|
|
4890
|
-
icon && /* @__PURE__ */ jsx5(Icon, { icon, inc: 2, xss: Css.fs0.$ }),
|
|
4891
|
-
/* @__PURE__ */ jsx5("span", { css: Css.lineClamp1.wbba.$, children: text })
|
|
4892
|
-
]
|
|
4893
|
-
}
|
|
4894
|
-
)
|
|
4888
|
+
children: /* @__PURE__ */ jsxs3("span", { css: styles, ...tid, children: [
|
|
4889
|
+
icon && /* @__PURE__ */ jsx5(Icon, { icon, inc: 2, xss: Css.fs0.$ }),
|
|
4890
|
+
/* @__PURE__ */ jsx5("span", { css: Css.lineClamp1.wbba.$, children: text })
|
|
4891
|
+
] })
|
|
4895
4892
|
});
|
|
4896
4893
|
}
|
|
4897
4894
|
var typeStyles = {
|
|
4898
4895
|
caution: Css.bgYellow200.$,
|
|
4899
|
-
warning: Css.
|
|
4900
|
-
success: Css.
|
|
4896
|
+
warning: Css.bgRed100.$,
|
|
4897
|
+
success: Css.bgGreen100.$,
|
|
4901
4898
|
light: Css.bgWhite.$,
|
|
4902
4899
|
dark: Css.bgGray900.white.$,
|
|
4903
4900
|
neutral: Css.bgGray200.$,
|
|
4904
4901
|
darkMode: Css.bgGray700.white.$,
|
|
4905
4902
|
info: Css.bgBlue100.$
|
|
4906
4903
|
};
|
|
4904
|
+
var chipBaseStyles = (compact) => Css.xsMd.dif.aic.br16.px1.gapPx(4).pyPx(pyHeight(compact)).mhPx(minhPx(compact)).gray900.bgGray200.$;
|
|
4905
|
+
var pyHeight = (compact) => compact ? 2 : 4;
|
|
4906
|
+
var minhPx = (compact) => compact ? 20 : 24;
|
|
4907
4907
|
|
|
4908
4908
|
// src/components/Chips.tsx
|
|
4909
4909
|
import { jsx as jsx6 } from "@emotion/react/jsx-runtime";
|
|
@@ -4929,13 +4929,13 @@ function Chips(props) {
|
|
|
4929
4929
|
// src/components/Table/GridTable.tsx
|
|
4930
4930
|
import memoizeOne from "memoize-one";
|
|
4931
4931
|
import { runInAction } from "mobx";
|
|
4932
|
-
import React11, { useEffect as useEffect15, useMemo as
|
|
4932
|
+
import React11, { useEffect as useEffect15, useMemo as useMemo22, useRef as useRef36, useState as useState25 } from "react";
|
|
4933
4933
|
import { Virtuoso as Virtuoso2 } from "react-virtuoso";
|
|
4934
4934
|
|
|
4935
4935
|
// src/components/Table/GridTableApi.ts
|
|
4936
4936
|
import { comparer } from "mobx";
|
|
4937
4937
|
import { computedFn } from "mobx-utils";
|
|
4938
|
-
import { useMemo as
|
|
4938
|
+
import { useMemo as useMemo21 } from "react";
|
|
4939
4939
|
|
|
4940
4940
|
// src/components/Table/utils/TableState.ts
|
|
4941
4941
|
import { makeAutoObservable as makeAutoObservable4, observable as observable3, reaction as reaction4 } from "mobx";
|
|
@@ -4978,7 +4978,7 @@ function matchMediaBreakpoints() {
|
|
|
4978
4978
|
|
|
4979
4979
|
// src/hooks/useComputed.ts
|
|
4980
4980
|
import { autorun } from "mobx";
|
|
4981
|
-
import { useEffect as useEffect3, useMemo as
|
|
4981
|
+
import { useEffect as useEffect3, useMemo as useMemo4, useRef as useRef3, useState as useState4 } from "react";
|
|
4982
4982
|
|
|
4983
4983
|
// src/utils/shallowEqual.ts
|
|
4984
4984
|
function shallowEqual(objA, objB) {
|
|
@@ -5010,7 +5010,7 @@ function useComputed(fn, deps) {
|
|
|
5010
5010
|
value: void 0,
|
|
5011
5011
|
hasRan: false
|
|
5012
5012
|
});
|
|
5013
|
-
|
|
5013
|
+
useMemo4(() => {
|
|
5014
5014
|
const { current } = ref;
|
|
5015
5015
|
if (current.runner) {
|
|
5016
5016
|
current.runner();
|
|
@@ -5048,7 +5048,7 @@ function useFilter({ filterDefs }) {
|
|
|
5048
5048
|
}
|
|
5049
5049
|
|
|
5050
5050
|
// src/hooks/useGroupBy.ts
|
|
5051
|
-
import { useMemo as
|
|
5051
|
+
import { useMemo as useMemo5 } from "react";
|
|
5052
5052
|
|
|
5053
5053
|
// src/hooks/useQueryState.ts
|
|
5054
5054
|
import { useCallback as useCallback2 } from "react";
|
|
@@ -5062,7 +5062,7 @@ function useQueryState(name, initialValue) {
|
|
|
5062
5062
|
|
|
5063
5063
|
// src/hooks/useGroupBy.ts
|
|
5064
5064
|
function useGroupBy(opts) {
|
|
5065
|
-
const options =
|
|
5065
|
+
const options = useMemo5(
|
|
5066
5066
|
() => safeEntries(opts).map(([key, value2]) => ({ id: key, name: value2 })),
|
|
5067
5067
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5068
5068
|
[]
|
|
@@ -5079,11 +5079,11 @@ function useHover(props) {
|
|
|
5079
5079
|
}
|
|
5080
5080
|
|
|
5081
5081
|
// src/hooks/usePersistedFilter.ts
|
|
5082
|
-
import { useEffect as useEffect4, useMemo as
|
|
5082
|
+
import { useEffect as useEffect4, useMemo as useMemo6 } from "react";
|
|
5083
5083
|
import { JsonParam, useQueryParams as useQueryParams2 } from "use-query-params";
|
|
5084
5084
|
function usePersistedFilter({ storageKey, filterDefs }) {
|
|
5085
5085
|
const filterKeys = Object.keys(filterDefs);
|
|
5086
|
-
const defaultFilter =
|
|
5086
|
+
const defaultFilter = useMemo6(
|
|
5087
5087
|
() => Object.fromEntries(
|
|
5088
5088
|
safeEntries(filterDefs).filter(([key, def]) => def(key).defaultValue !== void 0).map(([key, def]) => [key, def(key).defaultValue])
|
|
5089
5089
|
),
|
|
@@ -5268,7 +5268,7 @@ import { addMonths, addYears, format } from "date-fns";
|
|
|
5268
5268
|
import { useNavigation } from "react-day-picker";
|
|
5269
5269
|
|
|
5270
5270
|
// src/components/IconButton.tsx
|
|
5271
|
-
import { useMemo as
|
|
5271
|
+
import { useMemo as useMemo7 } from "react";
|
|
5272
5272
|
import { useButton, useFocusRing, useHover as useHover2 } from "react-aria";
|
|
5273
5273
|
|
|
5274
5274
|
// src/hooks/useGetRef.ts
|
|
@@ -5334,7 +5334,7 @@ function IconButton(props) {
|
|
|
5334
5334
|
const { focusProps, isFocusVisible } = useFocusRing(ariaProps);
|
|
5335
5335
|
const { hoverProps, isHovered } = useHover2(ariaProps);
|
|
5336
5336
|
const testIds = useTestIds(props, icon);
|
|
5337
|
-
const styles =
|
|
5337
|
+
const styles = useMemo7(
|
|
5338
5338
|
() => ({
|
|
5339
5339
|
...iconButtonStylesReset,
|
|
5340
5340
|
...circle ? iconButtonCircle : compact ? iconButtonCompact : iconButtonNormal,
|
|
@@ -5486,7 +5486,7 @@ function DateRangePicker(props) {
|
|
|
5486
5486
|
|
|
5487
5487
|
// src/components/internal/Menu.tsx
|
|
5488
5488
|
import { camelCase } from "change-case";
|
|
5489
|
-
import { useEffect as useEffect6, useMemo as
|
|
5489
|
+
import { useEffect as useEffect6, useMemo as useMemo12, useRef as useRef11, useState as useState12 } from "react";
|
|
5490
5490
|
import { FocusScope, useFilter as useFilter2, useMenu } from "react-aria";
|
|
5491
5491
|
import { Item, Section, useTreeData, useTreeState } from "react-stately";
|
|
5492
5492
|
|
|
@@ -6369,12 +6369,12 @@ var rowClickRenderFn = (as, api, colSpan) => (key, css2, content, row, rowStyle,
|
|
|
6369
6369
|
import { useContext as useContext6 } from "react";
|
|
6370
6370
|
|
|
6371
6371
|
// src/components/Table/components/EditColumnsButton.tsx
|
|
6372
|
-
import { useCallback as useCallback4, useMemo as
|
|
6372
|
+
import { useCallback as useCallback4, useMemo as useMemo11, useRef as useRef7 } from "react";
|
|
6373
6373
|
import { useMenuTrigger } from "react-aria";
|
|
6374
6374
|
import { useMenuTriggerState } from "react-stately";
|
|
6375
6375
|
|
|
6376
6376
|
// src/components/Button.tsx
|
|
6377
|
-
import { useMemo as
|
|
6377
|
+
import { useMemo as useMemo10, useState as useState8 } from "react";
|
|
6378
6378
|
import { useButton as useButton4, useFocusRing as useFocusRing4, useHover as useHover5 } from "react-aria";
|
|
6379
6379
|
|
|
6380
6380
|
// src/components/internal/OverlayTrigger.tsx
|
|
@@ -6382,7 +6382,7 @@ import { useRef as useRef6 } from "react";
|
|
|
6382
6382
|
import { useOverlayPosition } from "react-aria";
|
|
6383
6383
|
|
|
6384
6384
|
// src/components/Avatar/AvatarButton.tsx
|
|
6385
|
-
import { useMemo as
|
|
6385
|
+
import { useMemo as useMemo8 } from "react";
|
|
6386
6386
|
import { useButton as useButton2, useFocusRing as useFocusRing2, useHover as useHover3 } from "react-aria";
|
|
6387
6387
|
|
|
6388
6388
|
// src/components/Avatar/Avatar.tsx
|
|
@@ -6465,7 +6465,7 @@ function AvatarButton(props) {
|
|
|
6465
6465
|
const { focusProps, isFocusVisible } = useFocusRing2(ariaProps);
|
|
6466
6466
|
const { hoverProps, isHovered } = useHover3(ariaProps);
|
|
6467
6467
|
const tid = useTestIds(props, avatarProps.name);
|
|
6468
|
-
const styles =
|
|
6468
|
+
const styles = useMemo8(
|
|
6469
6469
|
() => ({
|
|
6470
6470
|
...resetStyles,
|
|
6471
6471
|
...isHovered && hoverStyles,
|
|
@@ -6502,7 +6502,7 @@ var pressedStyles = Css.addIn(
|
|
|
6502
6502
|
).$;
|
|
6503
6503
|
|
|
6504
6504
|
// src/components/NavLink.tsx
|
|
6505
|
-
import { useMemo as
|
|
6505
|
+
import { useMemo as useMemo9 } from "react";
|
|
6506
6506
|
import { mergeProps as mergeProps2, useButton as useButton3, useFocusRing as useFocusRing3, useHover as useHover4 } from "react-aria";
|
|
6507
6507
|
import { Fragment as Fragment5, jsx as jsx23, jsxs as jsxs10 } from "@emotion/react/jsx-runtime";
|
|
6508
6508
|
function NavLink(props) {
|
|
@@ -6521,7 +6521,7 @@ function NavLink(props) {
|
|
|
6521
6521
|
const { buttonProps, isPressed } = useButton3({ ...ariaProps, elementType: href ? "a" : "button" }, ref);
|
|
6522
6522
|
const { hoverProps, isHovered } = useHover4({ isDisabled });
|
|
6523
6523
|
const { isFocusVisible, focusProps } = useFocusRing3(ariaProps);
|
|
6524
|
-
const { baseStyles:
|
|
6524
|
+
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3 } = useMemo9(
|
|
6525
6525
|
() => getNavLinkStyles(variant, contrast),
|
|
6526
6526
|
[variant, contrast]
|
|
6527
6527
|
);
|
|
@@ -6533,9 +6533,9 @@ function NavLink(props) {
|
|
|
6533
6533
|
/** aria-current represents the current page within a set of pages */
|
|
6534
6534
|
"aria-current": active ? "page" : void 0,
|
|
6535
6535
|
css: {
|
|
6536
|
-
...
|
|
6536
|
+
...baseStyles5,
|
|
6537
6537
|
...active && activeStyles4,
|
|
6538
|
-
...isDisabled &&
|
|
6538
|
+
...isDisabled && disabledStyles4,
|
|
6539
6539
|
...isFocusVisible && focusRingStyles2,
|
|
6540
6540
|
...isHovered && hoverStyles4,
|
|
6541
6541
|
...isPressed && pressedStyles3
|
|
@@ -6733,7 +6733,7 @@ function Button(props) {
|
|
|
6733
6733
|
);
|
|
6734
6734
|
const { isFocusVisible, focusProps } = useFocusRing4(ariaProps);
|
|
6735
6735
|
const { hoverProps, isHovered } = useHover5(ariaProps);
|
|
6736
|
-
const { baseStyles:
|
|
6736
|
+
const { baseStyles: baseStyles5, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, pressedStyles: pressedStyles3, focusStyles: focusStyles2 } = useMemo10(
|
|
6737
6737
|
() => getButtonStyles(variant, size, contrast),
|
|
6738
6738
|
[variant, size, contrast]
|
|
6739
6739
|
);
|
|
@@ -6750,10 +6750,10 @@ function Button(props) {
|
|
|
6750
6750
|
className: asLink ? navLink : void 0,
|
|
6751
6751
|
css: {
|
|
6752
6752
|
...Css.buttonBase.tt("inherit").$,
|
|
6753
|
-
...
|
|
6753
|
+
...baseStyles5,
|
|
6754
6754
|
...isHovered && !isPressed ? hoverStyles4 : {},
|
|
6755
6755
|
...isPressed ? pressedStyles3 : {},
|
|
6756
|
-
...isDisabled || asyncInProgress ? { ...
|
|
6756
|
+
...isDisabled || asyncInProgress ? { ...disabledStyles4, ...Css.cursorNotAllowed.$ } : {},
|
|
6757
6757
|
...isFocusVisible || forceFocusStyles ? focusStyles2 : {}
|
|
6758
6758
|
},
|
|
6759
6759
|
...tid
|
|
@@ -6855,7 +6855,7 @@ function EditColumnsButton(props) {
|
|
|
6855
6855
|
props,
|
|
6856
6856
|
isTextButton(trigger) ? labelOr(trigger, "editColumnsButton") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
6857
6857
|
);
|
|
6858
|
-
const options =
|
|
6858
|
+
const options = useMemo11(
|
|
6859
6859
|
() => columns.filter((column2) => column2.canHide).filter((column2) => {
|
|
6860
6860
|
if (!column2.name || column2.name.length === 0 || !column2.id || column2.id.length === 0) {
|
|
6861
6861
|
console.warn("Column is missing 'name' and/or 'id' property required by the Edit Columns button", column2);
|
|
@@ -6943,17 +6943,17 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds) {
|
|
|
6943
6943
|
calcColumnSizes(columns, tableWidth, style.minWidthPx, expandedColumnIds)
|
|
6944
6944
|
);
|
|
6945
6945
|
const setTableAndColumnWidths = useCallback6(
|
|
6946
|
-
(
|
|
6947
|
-
setTableWidth(
|
|
6948
|
-
setColumnSizes(calcColumnSizes(columns,
|
|
6946
|
+
(width2) => {
|
|
6947
|
+
setTableWidth(width2);
|
|
6948
|
+
setColumnSizes(calcColumnSizes(columns, width2, style.minWidthPx, expandedColumnIds));
|
|
6949
6949
|
},
|
|
6950
6950
|
[setTableWidth, setColumnSizes, columns, style, expandedColumnIds]
|
|
6951
6951
|
);
|
|
6952
6952
|
useEffect5(
|
|
6953
6953
|
() => {
|
|
6954
6954
|
if (!calculateImmediately.current) {
|
|
6955
|
-
const
|
|
6956
|
-
|
|
6955
|
+
const width2 = resizeRef.current?.clientWidth;
|
|
6956
|
+
width2 && setTableAndColumnWidths(width2);
|
|
6957
6957
|
}
|
|
6958
6958
|
},
|
|
6959
6959
|
// TODO: validate this eslint-disable. It was automatically ignored as part of https://app.shortcut.com/homebound-team/story/40033/enable-react-hooks-exhaustive-deps-for-react-projects
|
|
@@ -8366,7 +8366,7 @@ function Menu(props) {
|
|
|
8366
8366
|
});
|
|
8367
8367
|
const [search, setSearch] = useState12(void 0);
|
|
8368
8368
|
const { contains } = useFilter2({ sensitivity: "base" });
|
|
8369
|
-
const filteredTree =
|
|
8369
|
+
const filteredTree = useMemo12(() => {
|
|
8370
8370
|
const { items: items2, ...others } = tree;
|
|
8371
8371
|
const [itemsSection, persistentSection] = items2;
|
|
8372
8372
|
if (search) {
|
|
@@ -8384,7 +8384,7 @@ function Menu(props) {
|
|
|
8384
8384
|
return tree;
|
|
8385
8385
|
}
|
|
8386
8386
|
}, [tree, search, contains]);
|
|
8387
|
-
const menuChildren =
|
|
8387
|
+
const menuChildren = useMemo12(() => {
|
|
8388
8388
|
return filteredTree.items.map(({ value: s }) => /* @__PURE__ */ jsx36(Section, { title: s.label, items: s.items, children: (item) => /* @__PURE__ */ jsx36(Item, { children: item.label }, item.label.replace(/"/g, "")) }, s.label.replace(/"/g, "")));
|
|
8389
8389
|
}, [filteredTree]);
|
|
8390
8390
|
const state = useTreeState({
|
|
@@ -8639,7 +8639,7 @@ function Popover(props) {
|
|
|
8639
8639
|
}
|
|
8640
8640
|
|
|
8641
8641
|
// src/inputs/internal/ComboBoxBase.tsx
|
|
8642
|
-
import { useCallback as useCallback10, useEffect as useEffect12, useMemo as
|
|
8642
|
+
import { useCallback as useCallback10, useEffect as useEffect12, useMemo as useMemo15, useRef as useRef22, useState as useState18 } from "react";
|
|
8643
8643
|
import { useButton as useButton7, useComboBox as useComboBox2, useFilter as useFilter4, useOverlayPosition as useOverlayPosition4 } from "react-aria";
|
|
8644
8644
|
import { Item as Item4, useComboBoxState as useComboBoxState2, useMultipleSelectionState as useMultipleSelectionState2 } from "react-stately";
|
|
8645
8645
|
|
|
@@ -8689,7 +8689,7 @@ import React7, {
|
|
|
8689
8689
|
useCallback as useCallback9,
|
|
8690
8690
|
useContext as useContext8,
|
|
8691
8691
|
useEffect as useEffect11,
|
|
8692
|
-
useMemo as
|
|
8692
|
+
useMemo as useMemo14,
|
|
8693
8693
|
useRef as useRef21,
|
|
8694
8694
|
useState as useState16
|
|
8695
8695
|
} from "react";
|
|
@@ -8713,7 +8713,7 @@ import { mergeProps as mergeProps5, useHover as useHover8, useOption } from "rea
|
|
|
8713
8713
|
|
|
8714
8714
|
// src/inputs/ChipSelectField.tsx
|
|
8715
8715
|
import { camelCase as camelCase2 } from "change-case";
|
|
8716
|
-
import { useEffect as useEffect8, useMemo as
|
|
8716
|
+
import { useEffect as useEffect8, useMemo as useMemo13, useRef as useRef15, useState as useState14 } from "react";
|
|
8717
8717
|
import { mergeProps as mergeProps4, useButton as useButton5, useFocus as useFocus2, useOverlayPosition as useOverlayPosition2, useSelect } from "react-aria";
|
|
8718
8718
|
import { Item as Item2, Section as Section2, useListData, useSelectState } from "react-stately";
|
|
8719
8719
|
|
|
@@ -8744,7 +8744,6 @@ function ChipTextField(props) {
|
|
|
8744
8744
|
onFocusChange: setIsFocused
|
|
8745
8745
|
});
|
|
8746
8746
|
const fieldRef = useRef14(null);
|
|
8747
|
-
const typeScale = fieldProps?.typeScale ?? "sm";
|
|
8748
8747
|
useEffect7(
|
|
8749
8748
|
() => {
|
|
8750
8749
|
autoFocus && fieldRef.current?.focus();
|
|
@@ -8778,8 +8777,9 @@ function ChipTextField(props) {
|
|
|
8778
8777
|
},
|
|
8779
8778
|
...focusProps,
|
|
8780
8779
|
css: {
|
|
8781
|
-
...
|
|
8782
|
-
...
|
|
8780
|
+
...chipBaseStyles(fieldProps?.compact),
|
|
8781
|
+
...Css.mwPx(32).outline0.$,
|
|
8782
|
+
...isFocused && Css.bshFocus.$
|
|
8783
8783
|
},
|
|
8784
8784
|
...tid,
|
|
8785
8785
|
children: valueRef.current
|
|
@@ -8791,14 +8791,7 @@ function ChipTextField(props) {
|
|
|
8791
8791
|
import { jsx as jsx43 } from "@emotion/react/jsx-runtime";
|
|
8792
8792
|
function ListBoxChip({ label }) {
|
|
8793
8793
|
const { fieldProps } = usePresentationContext();
|
|
8794
|
-
return /* @__PURE__ */ jsx43(
|
|
8795
|
-
"span",
|
|
8796
|
-
{
|
|
8797
|
-
css: Css[fieldProps?.typeScale ?? "sm"].tal.bgGray300.gray900.br16.pxPx(10).pyPx(2).lineClamp1.wbba.$,
|
|
8798
|
-
title: label,
|
|
8799
|
-
children: label
|
|
8800
|
-
}
|
|
8801
|
-
);
|
|
8794
|
+
return /* @__PURE__ */ jsx43("span", { css: { ...chipBaseStyles(fieldProps?.compact), ...Css.truncate.dib.$ }, title: label, children: label });
|
|
8802
8795
|
}
|
|
8803
8796
|
|
|
8804
8797
|
// src/inputs/Value.ts
|
|
@@ -8872,7 +8865,7 @@ function ChipSelectField(props) {
|
|
|
8872
8865
|
const typeScale = fieldProps?.typeScale ?? "sm";
|
|
8873
8866
|
const isDisabled = !!disabled;
|
|
8874
8867
|
const showClearButton = !disabled && clearable && !!value;
|
|
8875
|
-
const chipStyles =
|
|
8868
|
+
const chipStyles = { ...chipBaseStyles(), ...Css.pyPx(2).gap0.aiStretch.$ };
|
|
8876
8869
|
const [visualFocus, setVisualFocus] = useState14(false);
|
|
8877
8870
|
const [isClearFocused, setIsClearFocused] = useState14(false);
|
|
8878
8871
|
const { focusProps } = useFocus2({
|
|
@@ -8920,7 +8913,7 @@ function ChipSelectField(props) {
|
|
|
8920
8913
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
8921
8914
|
[options]
|
|
8922
8915
|
);
|
|
8923
|
-
const selectChildren =
|
|
8916
|
+
const selectChildren = useMemo13(
|
|
8924
8917
|
() => listData.items.map((s) => {
|
|
8925
8918
|
if (isListBoxSection(s)) {
|
|
8926
8919
|
return /* @__PURE__ */ jsx44(Section2, { title: s.title, items: s.options, children: (item) => {
|
|
@@ -9006,7 +8999,7 @@ function ChipSelectField(props) {
|
|
|
9006
8999
|
ref: wrapperRef,
|
|
9007
9000
|
css: {
|
|
9008
9001
|
...chipStyles,
|
|
9009
|
-
...Css.
|
|
9002
|
+
...Css.relative.p0.mwPx(32).$,
|
|
9010
9003
|
...visualFocus ? Css.bshFocus.$ : {},
|
|
9011
9004
|
...showInput ? Css.dn.$ : {}
|
|
9012
9005
|
},
|
|
@@ -9019,8 +9012,8 @@ function ChipSelectField(props) {
|
|
|
9019
9012
|
ref: buttonRef,
|
|
9020
9013
|
css: {
|
|
9021
9014
|
...Css.tal.br16.pxPx(10).pyPx(2).outline0.if(showClearButton).prPx(4).borderRadius("16px 0 0 16px").$,
|
|
9022
|
-
...isDisabled ?
|
|
9023
|
-
"&:hover:not(:disabled)":
|
|
9015
|
+
...isDisabled ? chipDisabledStyles : {},
|
|
9016
|
+
"&:hover:not(:disabled)": chipHoverStyles
|
|
9024
9017
|
},
|
|
9025
9018
|
title: state.selectedItem ? state.selectedItem.textValue : placeholder,
|
|
9026
9019
|
...tid,
|
|
@@ -9033,7 +9026,7 @@ function ChipSelectField(props) {
|
|
|
9033
9026
|
...clearFocusProps,
|
|
9034
9027
|
css: {
|
|
9035
9028
|
...Css.prPx(4).borderRadius("0 16px 16px 0").outline0.$,
|
|
9036
|
-
"&:hover":
|
|
9029
|
+
"&:hover": chipHoverStyles,
|
|
9037
9030
|
...isClearFocused ? Css.boxShadow(`0px 0px 0px 2px rgba(3,105,161,1)`).$ : {}
|
|
9038
9031
|
},
|
|
9039
9032
|
onClick: () => {
|
|
@@ -9042,7 +9035,7 @@ function ChipSelectField(props) {
|
|
|
9042
9035
|
},
|
|
9043
9036
|
"aria-label": "Remove",
|
|
9044
9037
|
...tid.clearButton,
|
|
9045
|
-
children: /* @__PURE__ */ jsx44(Icon, { icon: "x", inc: typeScale === "xs" ? 2 : void 0 })
|
|
9038
|
+
children: /* @__PURE__ */ jsx44(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: typeScale === "xs" ? 2 : void 0 })
|
|
9046
9039
|
}
|
|
9047
9040
|
)
|
|
9048
9041
|
]
|
|
@@ -9649,7 +9642,7 @@ function TreeSelectField(props) {
|
|
|
9649
9642
|
!Array.isArray(options) ? [] : defaultCollapsed ? options.map((o) => getOptionValue(o)) : options.flatMap(flattenOptions).filter((o) => o.defaultCollapsed).map((o) => getOptionValue(o))
|
|
9650
9643
|
);
|
|
9651
9644
|
}, [options, defaultCollapsed]);
|
|
9652
|
-
const contextValue =
|
|
9645
|
+
const contextValue = useMemo14(
|
|
9653
9646
|
() => ({ collapsedKeys, setCollapsedKeys, getOptionValue }),
|
|
9654
9647
|
// TODO: validate this eslint-disable. It was automatically ignored as part of https://app.shortcut.com/homebound-team/story/40033/enable-react-hooks-exhaustive-deps-for-react-projects
|
|
9655
9648
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -10292,16 +10285,16 @@ function ComboBoxBase(props) {
|
|
|
10292
10285
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10293
10286
|
[unsetLabel, getOptionLabel]
|
|
10294
10287
|
);
|
|
10295
|
-
const options =
|
|
10288
|
+
const options = useMemo15(
|
|
10296
10289
|
() => initializeOptions(propOptions, getOptionValue, unsetLabel, !!onAddNew),
|
|
10297
10290
|
// If the caller is using { current, load, options }, memoize on only `current` and `options` values.
|
|
10298
10291
|
// ...and don't bother on memoizing on getOptionValue b/c it's basically always a lambda
|
|
10299
10292
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
10300
10293
|
Array.isArray(propOptions) ? [propOptions, unsetLabel, onAddNew] : [propOptions.current, propOptions.options, unsetLabel, onAddNew]
|
|
10301
10294
|
);
|
|
10302
|
-
const values =
|
|
10303
|
-
const inputStylePalette =
|
|
10304
|
-
const selectedOptions =
|
|
10295
|
+
const values = useMemo15(() => propValues ?? [], [propValues]);
|
|
10296
|
+
const inputStylePalette = useMemo15(() => propsInputStylePalette, [propsInputStylePalette]);
|
|
10297
|
+
const selectedOptions = useMemo15(
|
|
10305
10298
|
() => options.filter((o) => values.includes(getOptionValue(o))),
|
|
10306
10299
|
[options, values, getOptionValue]
|
|
10307
10300
|
);
|
|
@@ -10316,7 +10309,7 @@ function ComboBoxBase(props) {
|
|
|
10316
10309
|
};
|
|
10317
10310
|
});
|
|
10318
10311
|
const { searchValue } = fieldState;
|
|
10319
|
-
const filteredOptions =
|
|
10312
|
+
const filteredOptions = useMemo15(() => {
|
|
10320
10313
|
return !searchValue ? options : options.filter((o) => contains(getOptionLabel(o), searchValue) || o === addNewOption);
|
|
10321
10314
|
}, [options, searchValue, getOptionLabel, contains]);
|
|
10322
10315
|
function resetField() {
|
|
@@ -10398,7 +10391,7 @@ function ComboBoxBase(props) {
|
|
|
10398
10391
|
}
|
|
10399
10392
|
}
|
|
10400
10393
|
});
|
|
10401
|
-
const selectedKeys =
|
|
10394
|
+
const selectedKeys = useMemo15(() => {
|
|
10402
10395
|
return selectedOptions.map((o) => valueToKey(getOptionValue(o)));
|
|
10403
10396
|
}, [selectedOptions, getOptionValue]);
|
|
10404
10397
|
state.selectionManager.state = useMultipleSelectionState2({
|
|
@@ -11109,7 +11102,7 @@ function DateRangeField(props) {
|
|
|
11109
11102
|
}
|
|
11110
11103
|
|
|
11111
11104
|
// src/inputs/IconCard.tsx
|
|
11112
|
-
import { useMemo as
|
|
11105
|
+
import { useMemo as useMemo16 } from "react";
|
|
11113
11106
|
import { useCheckbox as useCheckbox2, useHover as useHover11, VisuallyHidden as VisuallyHidden4 } from "react-aria";
|
|
11114
11107
|
import { useToggleState as useToggleState2 } from "react-stately";
|
|
11115
11108
|
import { jsx as jsx64, jsxs as jsxs36 } from "@emotion/react/jsx-runtime";
|
|
@@ -11129,7 +11122,7 @@ function IconCard(props) {
|
|
|
11129
11122
|
const { hoverProps, isHovered } = useHover11({ isDisabled });
|
|
11130
11123
|
const toggleState = useToggleState2(ariaProps);
|
|
11131
11124
|
const { inputProps } = useCheckbox2(checkboxProps, toggleState, ref);
|
|
11132
|
-
const styles =
|
|
11125
|
+
const styles = useMemo16(
|
|
11133
11126
|
() => ({
|
|
11134
11127
|
...baseStyles3,
|
|
11135
11128
|
...isHovered && iconCardStylesHover,
|
|
@@ -11257,7 +11250,7 @@ function MultiSelectField(props) {
|
|
|
11257
11250
|
|
|
11258
11251
|
// src/inputs/NumberField.tsx
|
|
11259
11252
|
import { NumberParser } from "@internationalized/number";
|
|
11260
|
-
import { useMemo as
|
|
11253
|
+
import { useMemo as useMemo17, useRef as useRef27 } from "react";
|
|
11261
11254
|
import { mergeProps as mergeProps8, useLocale, useNumberField } from "react-aria";
|
|
11262
11255
|
import { useNumberFieldState } from "react-stately";
|
|
11263
11256
|
import { jsx as jsx67 } from "@emotion/react/jsx-runtime";
|
|
@@ -11292,7 +11285,7 @@ function NumberField(props) {
|
|
|
11292
11285
|
const isReadOnly = !!readOnly;
|
|
11293
11286
|
const factor = type === "percent" ? 100 : type === "cents" ? 100 : type === "mills" ? 1e3 : type === "basisPoints" ? 1e4 : 1;
|
|
11294
11287
|
const signDisplay = displayDirection ? "always" : "auto";
|
|
11295
|
-
const defaultFormatOptions =
|
|
11288
|
+
const defaultFormatOptions = useMemo17(
|
|
11296
11289
|
() => ({
|
|
11297
11290
|
[truncate ? "maximumFractionDigits" : "minimumFractionDigits"]: numFractionDigits,
|
|
11298
11291
|
...numIntegerDigits !== void 0 && { minimumIntegerDigits: numIntegerDigits },
|
|
@@ -11302,14 +11295,14 @@ function NumberField(props) {
|
|
|
11302
11295
|
[truncate, numIntegerDigits, useGrouping, signDisplay, numFractionDigits]
|
|
11303
11296
|
);
|
|
11304
11297
|
const { locale } = useLocale();
|
|
11305
|
-
const formatOptions =
|
|
11298
|
+
const formatOptions = useMemo17(() => {
|
|
11306
11299
|
if (numberFormatOptions !== void 0) {
|
|
11307
11300
|
return numberFormatOptions;
|
|
11308
11301
|
}
|
|
11309
11302
|
const typeFormat = type === "percent" ? { style: "percent" } : type === "basisPoints" ? { style: "percent", minimumFractionDigits: 2 } : type === "cents" ? { style: "currency", currency: "USD", minimumFractionDigits: 2 } : type === "mills" ? { style: "currency", currency: "USD", minimumFractionDigits: 3 } : type === "dollars" ? { style: "currency", currency: "USD", minimumFractionDigits: numFractionDigits ?? 2 } : type === "days" ? { style: "unit", unit: "day", unitDisplay: "long", maximumFractionDigits: 0 } : {};
|
|
11310
11303
|
return { ...defaultFormatOptions, ...typeFormat };
|
|
11311
11304
|
}, [type, numberFormatOptions, defaultFormatOptions, numFractionDigits]);
|
|
11312
|
-
const numberParser =
|
|
11305
|
+
const numberParser = useMemo17(() => new NumberParser(locale, formatOptions), [locale, formatOptions]);
|
|
11313
11306
|
const valueRef = useRef27({ wip: false });
|
|
11314
11307
|
const useProps = {
|
|
11315
11308
|
locale,
|
|
@@ -11384,14 +11377,14 @@ function formatValue(value, factor, numFractionDigits, numIntegerDigits, positiv
|
|
|
11384
11377
|
}
|
|
11385
11378
|
|
|
11386
11379
|
// src/inputs/RadioGroupField.tsx
|
|
11387
|
-
import { Fragment as Fragment16, useMemo as
|
|
11380
|
+
import { Fragment as Fragment16, useMemo as useMemo18, useRef as useRef28 } from "react";
|
|
11388
11381
|
import { useFocusRing as useFocusRing6, useHover as useHover12, useRadio, useRadioGroup } from "react-aria";
|
|
11389
11382
|
import { useRadioGroupState } from "react-stately";
|
|
11390
11383
|
import { jsx as jsx68, jsxs as jsxs38 } from "@emotion/react/jsx-runtime";
|
|
11391
11384
|
var nextNameId = 0;
|
|
11392
11385
|
function RadioGroupField(props) {
|
|
11393
11386
|
const { label, labelStyle, value, onChange, options, disabled = false, errorMsg, helperText, ...otherProps } = props;
|
|
11394
|
-
const name =
|
|
11387
|
+
const name = useMemo18(() => `radio-group-${++nextNameId}`, []);
|
|
11395
11388
|
const state = useRadioGroupState({
|
|
11396
11389
|
name,
|
|
11397
11390
|
value,
|
|
@@ -11520,7 +11513,7 @@ var radioDisabled = {
|
|
|
11520
11513
|
// src/inputs/RichTextField.tsx
|
|
11521
11514
|
import { Global as Global2 } from "@emotion/react";
|
|
11522
11515
|
import DOMPurify from "dompurify";
|
|
11523
|
-
import { createElement, useEffect as useEffect14, useMemo as
|
|
11516
|
+
import { createElement, useEffect as useEffect14, useMemo as useMemo19, useRef as useRef29, useState as useState23 } from "react";
|
|
11524
11517
|
|
|
11525
11518
|
// src/inputs/RichTextField.mock.tsx
|
|
11526
11519
|
import { camelCase as camelCase3 } from "change-case";
|
|
@@ -11581,7 +11574,7 @@ function RichTextFieldImpl(props) {
|
|
|
11581
11574
|
onBlurRef.current = onBlur;
|
|
11582
11575
|
const onFocusRef = useRef29(onFocus);
|
|
11583
11576
|
onFocusRef.current = onFocus;
|
|
11584
|
-
const id =
|
|
11577
|
+
const id = useMemo19(() => {
|
|
11585
11578
|
if (readOnly) return;
|
|
11586
11579
|
const id2 = `trix-editor-${trixId}`;
|
|
11587
11580
|
trixId++;
|
|
@@ -11716,7 +11709,7 @@ function extractIdsFromMentions(mergeTags, content) {
|
|
|
11716
11709
|
var trixId = 1;
|
|
11717
11710
|
|
|
11718
11711
|
// src/inputs/SelectField.tsx
|
|
11719
|
-
import { useMemo as
|
|
11712
|
+
import { useMemo as useMemo20 } from "react";
|
|
11720
11713
|
import { jsx as jsx71 } from "@emotion/react/jsx-runtime";
|
|
11721
11714
|
function SelectField(props) {
|
|
11722
11715
|
const {
|
|
@@ -11727,7 +11720,7 @@ function SelectField(props) {
|
|
|
11727
11720
|
value,
|
|
11728
11721
|
...otherProps
|
|
11729
11722
|
} = props;
|
|
11730
|
-
const values =
|
|
11723
|
+
const values = useMemo20(() => [value], [value]);
|
|
11731
11724
|
return /* @__PURE__ */ jsx71(
|
|
11732
11725
|
ComboBoxBase,
|
|
11733
11726
|
{
|
|
@@ -12856,7 +12849,7 @@ function deriveSortState(currentSortState, clickedKey, initialSortState) {
|
|
|
12856
12849
|
|
|
12857
12850
|
// src/components/Table/GridTableApi.ts
|
|
12858
12851
|
function useGridTableApi() {
|
|
12859
|
-
return
|
|
12852
|
+
return useMemo21(() => new GridTableApiImpl(), []);
|
|
12860
12853
|
}
|
|
12861
12854
|
var GridTableApiImpl = class {
|
|
12862
12855
|
// This is public to GridTable but not exported outside of Beam
|
|
@@ -13058,11 +13051,11 @@ function GridTable(props) {
|
|
|
13058
13051
|
onRowDrop: droppedCallback,
|
|
13059
13052
|
csvPrefixRows
|
|
13060
13053
|
} = props;
|
|
13061
|
-
const columnsWithIds =
|
|
13054
|
+
const columnsWithIds = useMemo22(() => assignDefaultColumnIds(_columns), [_columns]);
|
|
13062
13055
|
const virtuosoRef = useRef36(null);
|
|
13063
13056
|
const virtuosoRangeRef = useRef36(null);
|
|
13064
13057
|
const resizeRef = useRef36(null);
|
|
13065
|
-
const api =
|
|
13058
|
+
const api = useMemo22(
|
|
13066
13059
|
() => {
|
|
13067
13060
|
const api2 = props.api ?? new GridTableApiImpl();
|
|
13068
13061
|
api2.init(persistCollapse, virtuosoRef, virtuosoRangeRef);
|
|
@@ -13230,7 +13223,7 @@ function GridTable(props) {
|
|
|
13230
13223
|
const borderless = style?.presentationSettings?.borderless;
|
|
13231
13224
|
const typeScale = style?.presentationSettings?.typeScale;
|
|
13232
13225
|
const borderOnHover = style?.presentationSettings?.borderOnHover;
|
|
13233
|
-
const fieldProps =
|
|
13226
|
+
const fieldProps = useMemo22(
|
|
13234
13227
|
() => ({
|
|
13235
13228
|
labelStyle: "hidden",
|
|
13236
13229
|
numberAlignment: "right",
|
|
@@ -13244,7 +13237,7 @@ function GridTable(props) {
|
|
|
13244
13237
|
[borderOnHover, borderless, typeScale]
|
|
13245
13238
|
);
|
|
13246
13239
|
const _as = as === "virtual" && runningInJest ? "div" : as;
|
|
13247
|
-
const rowStateContext =
|
|
13240
|
+
const rowStateContext = useMemo22(() => ({ tableState }), [tableState]);
|
|
13248
13241
|
return /* @__PURE__ */ jsx79(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ jsxs43(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
|
|
13249
13242
|
/* @__PURE__ */ jsx79("div", { ref: resizeRef, css: getTableRefWidthStyles(as === "virtual") }),
|
|
13250
13243
|
renders[_as](
|
|
@@ -13341,7 +13334,7 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, firs
|
|
|
13341
13334
|
);
|
|
13342
13335
|
}
|
|
13343
13336
|
function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, _stickyOffset, infiniteScroll) {
|
|
13344
|
-
const { footerStyle, listStyle } =
|
|
13337
|
+
const { footerStyle, listStyle } = useMemo22(() => {
|
|
13345
13338
|
const { paddingBottom, ...otherRootStyles } = style.rootCss ?? {};
|
|
13346
13339
|
return { footerStyle: { paddingBottom }, listStyle: { ...style, rootCss: otherRootStyles } };
|
|
13347
13340
|
}, [style]);
|
|
@@ -13443,8 +13436,9 @@ var VirtualRoot = memoizeOne(
|
|
|
13443
13436
|
// src/components/ToggleChip.tsx
|
|
13444
13437
|
import { jsx as jsx80, jsxs as jsxs44 } from "@emotion/react/jsx-runtime";
|
|
13445
13438
|
function ToggleChip(props) {
|
|
13446
|
-
const { text, onClick, xss = {}, disabled = false } = props;
|
|
13439
|
+
const { text, onClick, xss = {}, disabled = false, icon } = props;
|
|
13447
13440
|
const { fieldProps } = usePresentationContext();
|
|
13441
|
+
const { hoverProps, isHovered } = useHover({});
|
|
13448
13442
|
const compact = fieldProps?.compact;
|
|
13449
13443
|
const tid = useTestIds(props, "chip");
|
|
13450
13444
|
return /* @__PURE__ */ jsxs44(
|
|
@@ -13452,21 +13446,27 @@ function ToggleChip(props) {
|
|
|
13452
13446
|
{
|
|
13453
13447
|
type: "button",
|
|
13454
13448
|
css: {
|
|
13455
|
-
...
|
|
13456
|
-
|
|
13457
|
-
|
|
13449
|
+
...chipBaseStyles(compact),
|
|
13450
|
+
...isHovered && !disabled && chipHoverStyles,
|
|
13451
|
+
// Use a lower right-padding to get closer to the `X` circle when clearable, i.e. not disabled
|
|
13452
|
+
...!disabled && Css.prPx(4).$,
|
|
13453
|
+
...disabled && { ...chipDisabledStyles, ...Css.pr1.$ },
|
|
13458
13454
|
...xss
|
|
13459
13455
|
},
|
|
13460
13456
|
disabled,
|
|
13461
13457
|
onClick,
|
|
13458
|
+
...hoverProps,
|
|
13462
13459
|
...tid,
|
|
13463
13460
|
children: [
|
|
13464
|
-
/* @__PURE__ */ jsx80("span", { css: Css.
|
|
13465
|
-
|
|
13461
|
+
icon && /* @__PURE__ */ jsx80("span", { css: Css.fs0.$, ...tid.icon, children: /* @__PURE__ */ jsx80(Icon, { icon, color: "rgba(36, 36, 36, 1)" /* Gray900 */, inc: 2 }) }),
|
|
13462
|
+
/* @__PURE__ */ jsx80("span", { css: Css.tal.lineClamp1.wbba.if(disabled).pr0.$, title: text, children: text }),
|
|
13463
|
+
!disabled && /* @__PURE__ */ jsx80("span", { css: { ...Css.fs0.br16.bgGray200.$, ...isHovered && chipHoverStyles }, ...tid.x, children: /* @__PURE__ */ jsx80(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: 2 }) })
|
|
13466
13464
|
]
|
|
13467
13465
|
}
|
|
13468
13466
|
);
|
|
13469
13467
|
}
|
|
13468
|
+
var chipHoverStyles = Css.bgGray300.$;
|
|
13469
|
+
var chipDisabledStyles = Css.gray600.cursorNotAllowed.$;
|
|
13470
13470
|
|
|
13471
13471
|
// src/components/ToggleChips.tsx
|
|
13472
13472
|
import { jsx as jsx81 } from "@emotion/react/jsx-runtime";
|
|
@@ -13478,7 +13478,7 @@ function ToggleChips(props) {
|
|
|
13478
13478
|
|
|
13479
13479
|
// src/components/Accordion.tsx
|
|
13480
13480
|
import { useId, useResizeObserver as useResizeObserver2 } from "@react-aria/utils";
|
|
13481
|
-
import { useCallback as useCallback13, useEffect as useEffect16, useMemo as
|
|
13481
|
+
import { useCallback as useCallback13, useEffect as useEffect16, useMemo as useMemo23, useRef as useRef37, useState as useState26 } from "react";
|
|
13482
13482
|
import { useFocusRing as useFocusRing10 } from "react-aria";
|
|
13483
13483
|
import { jsx as jsx82, jsxs as jsxs45 } from "@emotion/react/jsx-runtime";
|
|
13484
13484
|
function Accordion(props) {
|
|
@@ -13521,7 +13521,7 @@ function Accordion(props) {
|
|
|
13521
13521
|
if (setExpandedIndex) setExpandedIndex(index);
|
|
13522
13522
|
if (onToggle) onToggle();
|
|
13523
13523
|
}, [index, setExpandedIndex, onToggle]);
|
|
13524
|
-
const touchableStyle =
|
|
13524
|
+
const touchableStyle = useMemo23(
|
|
13525
13525
|
() => ({
|
|
13526
13526
|
...Css.df.jcsb.gapPx(12).aic.p2.baseMd.outline("none").onHover.bgGray100.if(!!titleOnClick).baseSb.$,
|
|
13527
13527
|
...compact && Css.smMd.pl2.prPx(10).py1.bgGray100.mbPx(4).br8.onHover.bgGray200.$,
|
|
@@ -13703,7 +13703,7 @@ var variantStyles2 = {
|
|
|
13703
13703
|
};
|
|
13704
13704
|
|
|
13705
13705
|
// src/components/BeamContext.tsx
|
|
13706
|
-
import { createContext as createContext6, useContext as useContext15, useMemo as
|
|
13706
|
+
import { createContext as createContext6, useContext as useContext15, useMemo as useMemo33, useReducer, useRef as useRef43 } from "react";
|
|
13707
13707
|
import { OverlayProvider } from "react-aria";
|
|
13708
13708
|
|
|
13709
13709
|
// src/components/Modal/Modal.tsx
|
|
@@ -13713,14 +13713,14 @@ import { FocusScope as FocusScope4, OverlayContainer as OverlayContainer2, useDi
|
|
|
13713
13713
|
import { createPortal as createPortal2 } from "react-dom";
|
|
13714
13714
|
|
|
13715
13715
|
// src/components/Modal/useModal.tsx
|
|
13716
|
-
import { useEffect as useEffect18, useMemo as
|
|
13716
|
+
import { useEffect as useEffect18, useMemo as useMemo25, useRef as useRef38 } from "react";
|
|
13717
13717
|
|
|
13718
13718
|
// src/components/Modal/ModalContext.tsx
|
|
13719
|
-
import { createContext as createContext2, useContext as useContext10, useMemo as
|
|
13719
|
+
import { createContext as createContext2, useContext as useContext10, useMemo as useMemo24 } from "react";
|
|
13720
13720
|
import { jsx as jsx86 } from "@emotion/react/jsx-runtime";
|
|
13721
13721
|
var ModalContext = createContext2({ inModal: false });
|
|
13722
13722
|
function ModalProvider({ children }) {
|
|
13723
|
-
const value =
|
|
13723
|
+
const value = useMemo24(() => ({ inModal: true }), []);
|
|
13724
13724
|
return /* @__PURE__ */ jsx86(ModalContext.Provider, { value, children });
|
|
13725
13725
|
}
|
|
13726
13726
|
function useModalContext() {
|
|
@@ -13738,7 +13738,7 @@ function useModal() {
|
|
|
13738
13738
|
modalCanCloseChecks.current = modalCanCloseChecks.current.filter((c) => c !== lastCanClose.current);
|
|
13739
13739
|
};
|
|
13740
13740
|
}, [modalCanCloseChecks]);
|
|
13741
|
-
return
|
|
13741
|
+
return useMemo25(
|
|
13742
13742
|
() => ({
|
|
13743
13743
|
openModal(props) {
|
|
13744
13744
|
modalState.current = { ...props, api };
|
|
@@ -13794,7 +13794,7 @@ function Modal(props) {
|
|
|
13794
13794
|
);
|
|
13795
13795
|
const { modalProps } = useModal2();
|
|
13796
13796
|
const { dialogProps, titleProps } = useDialog({ role: "dialog" }, ref);
|
|
13797
|
-
const [[
|
|
13797
|
+
const [[width2, height], setSize] = useState28(getSize(size));
|
|
13798
13798
|
const modalBodyRef = useRef39(null);
|
|
13799
13799
|
const modalFooterRef = useRef39(null);
|
|
13800
13800
|
const modalHeaderRef = useRef39(null);
|
|
@@ -13832,7 +13832,7 @@ function Modal(props) {
|
|
|
13832
13832
|
return /* @__PURE__ */ jsx87(ModalProvider, { children: /* @__PURE__ */ jsx87(OverlayContainer2, { children: /* @__PURE__ */ jsx87(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx87("div", { css: Css.underlay.z4.$, ...underlayProps, ...testId.underlay, children: /* @__PURE__ */ jsx87(FocusScope4, { contain: true, restoreFocus: true, autoFocus: true, children: /* @__PURE__ */ jsxs48(
|
|
13833
13833
|
"div",
|
|
13834
13834
|
{
|
|
13835
|
-
css: Css.br24.bgWhite.bshModal.oh.maxh("90vh").df.fdc.wPx(
|
|
13835
|
+
css: Css.br24.bgWhite.bshModal.oh.maxh("90vh").df.fdc.wPx(width2).mhPx(defaultMinHeight).if(isFixedHeight).hPx(height).if(sm).add("height", "100dvh").add("width", "100dvw").maxh("none").br0.$,
|
|
13836
13836
|
ref,
|
|
13837
13837
|
...overlayProps,
|
|
13838
13838
|
...dialogProps,
|
|
@@ -13894,7 +13894,7 @@ function getSize(size) {
|
|
|
13894
13894
|
}
|
|
13895
13895
|
|
|
13896
13896
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
13897
|
-
import { createContext as createContext3, useContext as useContext11, useMemo as
|
|
13897
|
+
import { createContext as createContext3, useContext as useContext11, useMemo as useMemo26, useState as useState29 } from "react";
|
|
13898
13898
|
|
|
13899
13899
|
// src/components/Snackbar/SnackbarNotice.tsx
|
|
13900
13900
|
import { jsx as jsx88, jsxs as jsxs49 } from "@emotion/react/jsx-runtime";
|
|
@@ -13953,7 +13953,7 @@ var SnackbarContext = createContext3({ setNotices: () => {
|
|
|
13953
13953
|
function SnackbarProvider(props) {
|
|
13954
13954
|
const [notices, setNotices] = useState29([]);
|
|
13955
13955
|
const [offset, setOffset] = useState29({});
|
|
13956
|
-
const contextValue =
|
|
13956
|
+
const contextValue = useMemo26(() => ({ setNotices, setOffset }), []);
|
|
13957
13957
|
return /* @__PURE__ */ jsxs50(SnackbarContext.Provider, { value: contextValue, children: [
|
|
13958
13958
|
props.children,
|
|
13959
13959
|
/* @__PURE__ */ jsx90(Snackbar, { notices, offset })
|
|
@@ -13987,7 +13987,7 @@ function SuperDrawer() {
|
|
|
13987
13987
|
const currentContent = contentStack.current[contentStack.current.length - 1]?.opts;
|
|
13988
13988
|
const { content } = currentContent ?? {};
|
|
13989
13989
|
const firstContent = contentStack.current[0]?.opts;
|
|
13990
|
-
const { width = 1040 /* Normal */ } = firstContent ?? {};
|
|
13990
|
+
const { width: width2 = 1040 /* Normal */ } = firstContent ?? {};
|
|
13991
13991
|
useEffect20(
|
|
13992
13992
|
() => {
|
|
13993
13993
|
if (headerRef.current?.childNodes.length === 0 && content) {
|
|
@@ -14015,11 +14015,11 @@ function SuperDrawer() {
|
|
|
14015
14015
|
/* @__PURE__ */ jsx91(
|
|
14016
14016
|
motion.aside,
|
|
14017
14017
|
{
|
|
14018
|
-
css: Css.bgWhite.h100.maxw(px(
|
|
14019
|
-
initial: { x:
|
|
14018
|
+
css: Css.bgWhite.h100.maxw(px(width2)).w100.df.fdc.relative.$,
|
|
14019
|
+
initial: { x: width2 },
|
|
14020
14020
|
animate: { x: 0 },
|
|
14021
14021
|
transition: { ease: "linear", duration: 0.2, delay: 0.2 },
|
|
14022
|
-
exit: { transition: { ease: "linear", duration: 0.2 }, x:
|
|
14022
|
+
exit: { transition: { ease: "linear", duration: 0.2 }, x: width2 },
|
|
14023
14023
|
onClick: (e) => e.stopPropagation(),
|
|
14024
14024
|
children: /* @__PURE__ */ jsxs51(AutoSaveStatusProvider, { children: [
|
|
14025
14025
|
/* @__PURE__ */ jsxs51("header", { css: Css.p3.bb.bcGray200.df.aic.jcsb.gap3.$, children: [
|
|
@@ -14038,7 +14038,7 @@ function SuperDrawer() {
|
|
|
14038
14038
|
}
|
|
14039
14039
|
|
|
14040
14040
|
// src/components/Layout/FormPageLayout.tsx
|
|
14041
|
-
import React13, { createRef, useCallback as useCallback17, useEffect as useEffect21, useMemo as
|
|
14041
|
+
import React13, { createRef, useCallback as useCallback17, useEffect as useEffect21, useMemo as useMemo29, useRef as useRef41, useState as useState32 } from "react";
|
|
14042
14042
|
import { useButton as useButton9, useFocusRing as useFocusRing11 } from "react-aria";
|
|
14043
14043
|
|
|
14044
14044
|
// src/forms/BoundCheckboxField.tsx
|
|
@@ -14264,7 +14264,7 @@ function BoundDateRangeField(props) {
|
|
|
14264
14264
|
}
|
|
14265
14265
|
|
|
14266
14266
|
// src/forms/BoundForm.tsx
|
|
14267
|
-
import { useCallback as useCallback16, useMemo as
|
|
14267
|
+
import { useCallback as useCallback16, useMemo as useMemo28 } from "react";
|
|
14268
14268
|
|
|
14269
14269
|
// src/forms/BoundIconCardField.tsx
|
|
14270
14270
|
import { Observer as Observer6 } from "mobx-react";
|
|
@@ -14293,7 +14293,7 @@ function BoundIconCardField(props) {
|
|
|
14293
14293
|
import { Observer as Observer7 } from "mobx-react";
|
|
14294
14294
|
|
|
14295
14295
|
// src/inputs/IconCardGroup.tsx
|
|
14296
|
-
import { useCallback as useCallback15, useMemo as
|
|
14296
|
+
import { useCallback as useCallback15, useMemo as useMemo27, useState as useState30 } from "react";
|
|
14297
14297
|
import { mergeProps as mergeProps11, useField } from "react-aria";
|
|
14298
14298
|
import { jsx as jsx98, jsxs as jsxs52 } from "@emotion/react/jsx-runtime";
|
|
14299
14299
|
function IconCardGroup(props) {
|
|
@@ -14309,7 +14309,7 @@ function IconCardGroup(props) {
|
|
|
14309
14309
|
onChange
|
|
14310
14310
|
} = props;
|
|
14311
14311
|
const [selected, setSelected] = useState30(values);
|
|
14312
|
-
const exclusiveOptions =
|
|
14312
|
+
const exclusiveOptions = useMemo27(() => options.filter((o) => o.exclusive), [options]);
|
|
14313
14313
|
const toggleValue = useCallback15(
|
|
14314
14314
|
(value) => {
|
|
14315
14315
|
if (isDisabled) return;
|
|
@@ -14912,7 +14912,7 @@ function FormLines(props) {
|
|
|
14912
14912
|
const { inModal } = useModal();
|
|
14913
14913
|
const {
|
|
14914
14914
|
children,
|
|
14915
|
-
width = inModal ? "full" : "lg",
|
|
14915
|
+
width: width2 = inModal ? "full" : "lg",
|
|
14916
14916
|
labelSuffix,
|
|
14917
14917
|
labelStyle,
|
|
14918
14918
|
compact,
|
|
@@ -14925,14 +14925,14 @@ function FormLines(props) {
|
|
|
14925
14925
|
..."labelStyle" in props ? { labelStyle } : {},
|
|
14926
14926
|
..."compact" in props ? { compact } : {},
|
|
14927
14927
|
..."labelLeftFieldWidth" in props ? { labelLeftFieldWidth } : {},
|
|
14928
|
-
...
|
|
14928
|
+
...width2 === "full" ? { fullWidth: true } : {}
|
|
14929
14929
|
};
|
|
14930
14930
|
return /* @__PURE__ */ jsx112(PresentationProvider, { fieldProps: newFieldProps, children: /* @__PURE__ */ jsx112(
|
|
14931
14931
|
"div",
|
|
14932
14932
|
{
|
|
14933
14933
|
css: {
|
|
14934
14934
|
// Note that we're purposefully not using display:flex so that our children's margins will collapse.
|
|
14935
|
-
...Css.w(sizes[
|
|
14935
|
+
...Css.w(sizes[width2]).$,
|
|
14936
14936
|
// Purposefully use this instead of childGap3 to put margin-bottom on the last line
|
|
14937
14937
|
"& > *": Css.mb(gap).$
|
|
14938
14938
|
},
|
|
@@ -14954,8 +14954,8 @@ function FormDivider() {
|
|
|
14954
14954
|
function FieldGroup(props) {
|
|
14955
14955
|
const { title, children, widths: widths2 = [] } = props;
|
|
14956
14956
|
const gtc = children.map((_, i) => {
|
|
14957
|
-
const
|
|
14958
|
-
return typeof
|
|
14957
|
+
const width2 = widths2[i] || 1;
|
|
14958
|
+
return typeof width2 === `number` ? `${width2}fr` : width2;
|
|
14959
14959
|
}).join(" ");
|
|
14960
14960
|
return /* @__PURE__ */ jsx112("div", { css: Css.dg.gap2.gtc(gtc).$, children });
|
|
14961
14961
|
}
|
|
@@ -14982,7 +14982,7 @@ function BoundForm(props) {
|
|
|
14982
14982
|
}
|
|
14983
14983
|
function FormRow({ row, formState }) {
|
|
14984
14984
|
const tid = useTestIds({}, "boundFormRow");
|
|
14985
|
-
const componentsWithConfig =
|
|
14985
|
+
const componentsWithConfig = useMemo28(() => {
|
|
14986
14986
|
return Object.entries(row).map(([key, fieldFnOrCustomNode]) => {
|
|
14987
14987
|
if (typeof fieldFnOrCustomNode === "function" && !isCustomReactNodeKey(key)) {
|
|
14988
14988
|
const field = formState[key] ?? fail(`Field ${key.toString()} not found in formState`);
|
|
@@ -15252,7 +15252,7 @@ import { Fragment as Fragment21, jsx as jsx119, jsxs as jsxs57 } from "@emotion/
|
|
|
15252
15252
|
function RightSidebar({ content }) {
|
|
15253
15253
|
const [selectedIcon, setSelectedIcon] = useState31(void 0);
|
|
15254
15254
|
const tid = useTestIds({}, "rightSidebar");
|
|
15255
|
-
const
|
|
15255
|
+
const width2 = 380;
|
|
15256
15256
|
return /* @__PURE__ */ jsxs57(Fragment21, { children: [
|
|
15257
15257
|
/* @__PURE__ */ jsx119("div", { css: Css.df.jcfe.relative.pr3.$, children: /* @__PURE__ */ jsx119("div", { css: Css.df.gap2.z1.$, children: content.map(({ icon }) => /* @__PURE__ */ jsx119(
|
|
15258
15258
|
IconButton,
|
|
@@ -15268,11 +15268,11 @@ function RightSidebar({ content }) {
|
|
|
15268
15268
|
/* @__PURE__ */ jsx119(AnimatePresence2, { children: selectedIcon && /* @__PURE__ */ jsx119(
|
|
15269
15269
|
motion2.div,
|
|
15270
15270
|
{
|
|
15271
|
-
initial: { x:
|
|
15271
|
+
initial: { x: width2, opacity: 0 },
|
|
15272
15272
|
animate: { x: 0, opacity: 1 },
|
|
15273
15273
|
transition: { delay: 0.2, ease: "linear", duration: 0.2 },
|
|
15274
|
-
exit: { transition: { ease: "linear", duration: 0.2 }, x:
|
|
15275
|
-
css: Css.wPx(
|
|
15274
|
+
exit: { transition: { ease: "linear", duration: 0.2 }, x: width2 },
|
|
15275
|
+
css: Css.wPx(width2).z0.$,
|
|
15276
15276
|
children: /* @__PURE__ */ jsxs57("div", { css: Css.relative.topPx(-48).z0.px3.$, children: [
|
|
15277
15277
|
/* @__PURE__ */ jsxs57("div", { css: Css.absolute.leftPx(-24).$, children: [
|
|
15278
15278
|
/* @__PURE__ */ jsx119(
|
|
@@ -15314,7 +15314,7 @@ var headerHeightPx = 120;
|
|
|
15314
15314
|
function FormPageLayoutComponent(props) {
|
|
15315
15315
|
const { formSections, formState, rightSideBar } = props;
|
|
15316
15316
|
const tids = useTestIds(props, "formPageLayout");
|
|
15317
|
-
const sectionsWithRefs =
|
|
15317
|
+
const sectionsWithRefs = useMemo29(
|
|
15318
15318
|
() => formSections.map((section, id) => ({
|
|
15319
15319
|
section,
|
|
15320
15320
|
ref: createRef(),
|
|
@@ -15405,7 +15405,7 @@ function FormSections(props) {
|
|
|
15405
15405
|
function LeftNav(props) {
|
|
15406
15406
|
const { sectionsWithRefs } = props;
|
|
15407
15407
|
const tids = useTestIds(props);
|
|
15408
|
-
const sectionWithTitles =
|
|
15408
|
+
const sectionWithTitles = useMemo29(
|
|
15409
15409
|
() => sectionsWithRefs.filter(({ section }) => !!section.title),
|
|
15410
15410
|
[sectionsWithRefs]
|
|
15411
15411
|
);
|
|
@@ -15491,7 +15491,7 @@ import {
|
|
|
15491
15491
|
createContext as createContext4,
|
|
15492
15492
|
useContext as useContext12,
|
|
15493
15493
|
useEffect as useEffect22,
|
|
15494
|
-
useMemo as
|
|
15494
|
+
useMemo as useMemo30,
|
|
15495
15495
|
useRef as useRef42,
|
|
15496
15496
|
useState as useState33
|
|
15497
15497
|
} from "react";
|
|
@@ -15505,7 +15505,7 @@ var ScrollableParentContext = createContext4({
|
|
|
15505
15505
|
});
|
|
15506
15506
|
function ScrollableParent(props) {
|
|
15507
15507
|
const { children, xss, tagName: Tag2 = "div" } = props;
|
|
15508
|
-
const scrollableEl =
|
|
15508
|
+
const scrollableEl = useMemo30(() => {
|
|
15509
15509
|
const el = document.createElement("div");
|
|
15510
15510
|
el.style.height = "100%";
|
|
15511
15511
|
return el;
|
|
@@ -15562,7 +15562,7 @@ function PreventBrowserScroll({ children }) {
|
|
|
15562
15562
|
}
|
|
15563
15563
|
|
|
15564
15564
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
15565
|
-
import React14, { useCallback as useCallback18, useContext as useContext13, useMemo as
|
|
15565
|
+
import React14, { useCallback as useCallback18, useContext as useContext13, useMemo as useMemo31, useState as useState34 } from "react";
|
|
15566
15566
|
import { jsx as jsx124 } from "@emotion/react/jsx-runtime";
|
|
15567
15567
|
var RightPaneContext = React14.createContext({
|
|
15568
15568
|
openInPane: () => {
|
|
@@ -15586,7 +15586,7 @@ function RightPaneProvider({ children }) {
|
|
|
15586
15586
|
);
|
|
15587
15587
|
const closePane = useCallback18(() => setIsRightPaneOpen(false), []);
|
|
15588
15588
|
const clearPane = useCallback18(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
15589
|
-
const context =
|
|
15589
|
+
const context = useMemo31(
|
|
15590
15590
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
15591
15591
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
15592
15592
|
);
|
|
@@ -15683,7 +15683,7 @@ function ScrollableContent(props) {
|
|
|
15683
15683
|
}
|
|
15684
15684
|
|
|
15685
15685
|
// src/components/Toast/ToastContext.tsx
|
|
15686
|
-
import { createContext as createContext5, useCallback as useCallback19, useContext as useContext14, useMemo as
|
|
15686
|
+
import { createContext as createContext5, useCallback as useCallback19, useContext as useContext14, useMemo as useMemo32, useState as useState35 } from "react";
|
|
15687
15687
|
import { jsx as jsx127 } from "@emotion/react/jsx-runtime";
|
|
15688
15688
|
var ToastContext = createContext5({
|
|
15689
15689
|
setNotice: () => {
|
|
@@ -15696,7 +15696,7 @@ var ToastContext = createContext5({
|
|
|
15696
15696
|
function ToastProvider(props) {
|
|
15697
15697
|
const [notice, setNotice] = useState35();
|
|
15698
15698
|
const clear = useCallback19(() => setNotice(void 0), [setNotice]);
|
|
15699
|
-
const contextValue =
|
|
15699
|
+
const contextValue = useMemo32(() => ({ setNotice, notice, clear }), [notice, clear]);
|
|
15700
15700
|
return /* @__PURE__ */ jsx127(ToastContext.Provider, { value: contextValue, children: props.children });
|
|
15701
15701
|
}
|
|
15702
15702
|
function useToastContext() {
|
|
@@ -15719,19 +15719,19 @@ var BeamContext = createContext6({
|
|
|
15719
15719
|
function BeamProvider({ children, ...presentationProps }) {
|
|
15720
15720
|
const [, tick] = useReducer((prev) => prev + 1, 0);
|
|
15721
15721
|
const modalRef = useRef43();
|
|
15722
|
-
const modalHeaderDiv =
|
|
15723
|
-
const modalBodyDiv =
|
|
15722
|
+
const modalHeaderDiv = useMemo33(() => document.createElement("div"), []);
|
|
15723
|
+
const modalBodyDiv = useMemo33(() => {
|
|
15724
15724
|
const el = document.createElement("div");
|
|
15725
15725
|
el.style.height = "100%";
|
|
15726
15726
|
return el;
|
|
15727
15727
|
}, []);
|
|
15728
15728
|
const modalCanCloseChecksRef = useRef43([]);
|
|
15729
|
-
const modalFooterDiv =
|
|
15729
|
+
const modalFooterDiv = useMemo33(() => document.createElement("div"), []);
|
|
15730
15730
|
const drawerContentStackRef = useRef43([]);
|
|
15731
15731
|
const drawerCanCloseChecks = useRef43([]);
|
|
15732
15732
|
const drawerCanCloseDetailsChecks = useRef43([]);
|
|
15733
|
-
const sdHeaderDiv =
|
|
15734
|
-
const context =
|
|
15733
|
+
const sdHeaderDiv = useMemo33(() => document.createElement("div"), []);
|
|
15734
|
+
const context = useMemo33(() => {
|
|
15735
15735
|
return {
|
|
15736
15736
|
// These two keys need to trigger re-renders on change
|
|
15737
15737
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -15923,10 +15923,120 @@ function isSelectionButtonMenuProps(props) {
|
|
|
15923
15923
|
return typeof props === "object" && "selectedItem" in props && "onChange" in props;
|
|
15924
15924
|
}
|
|
15925
15925
|
|
|
15926
|
+
// src/components/Card.tsx
|
|
15927
|
+
import { useMemo as useMemo34 } from "react";
|
|
15928
|
+
import { useHover as useHover16 } from "react-aria";
|
|
15929
|
+
|
|
15930
|
+
// src/components/Tag.tsx
|
|
15931
|
+
import { useResizeObserver as useResizeObserver4 } from "@react-aria/utils";
|
|
15932
|
+
import { useRef as useRef47, useState as useState36 } from "react";
|
|
15933
|
+
import { jsx as jsx132, jsxs as jsxs64 } from "@emotion/react/jsx-runtime";
|
|
15934
|
+
function Tag(props) {
|
|
15935
|
+
const { text, type, xss, preventTooltip = false, ...otherProps } = props;
|
|
15936
|
+
const typeStyles2 = getStyles(type);
|
|
15937
|
+
const tid = useTestIds(otherProps);
|
|
15938
|
+
const [showTooltip, setShowTooltip] = useState36(false);
|
|
15939
|
+
const ref = useRef47(null);
|
|
15940
|
+
useResizeObserver4({
|
|
15941
|
+
ref,
|
|
15942
|
+
onResize: () => {
|
|
15943
|
+
if (ref.current) {
|
|
15944
|
+
setShowTooltip(ref.current.offsetHeight < ref.current.scrollHeight);
|
|
15945
|
+
}
|
|
15946
|
+
}
|
|
15947
|
+
});
|
|
15948
|
+
return maybeTooltip({
|
|
15949
|
+
title: !preventTooltip && showTooltip ? text : void 0,
|
|
15950
|
+
children: /* @__PURE__ */ jsxs64("span", { ...tid, css: { ...Css.dif.tinySb.ttu.aic.gapPx(4).pxPx(6).pyPx(2).gray900.br4.$, ...typeStyles2, ...xss }, children: [
|
|
15951
|
+
otherProps.icon && /* @__PURE__ */ jsx132("span", { css: Css.fs0.$, children: /* @__PURE__ */ jsx132(Icon, { icon: otherProps.icon, inc: 1.5 }) }),
|
|
15952
|
+
/* @__PURE__ */ jsx132("span", { ref, css: Css.lineClamp1.wbba.$, children: text })
|
|
15953
|
+
] })
|
|
15954
|
+
});
|
|
15955
|
+
}
|
|
15956
|
+
function getStyles(type) {
|
|
15957
|
+
switch (type) {
|
|
15958
|
+
case "info":
|
|
15959
|
+
return Css.bgBlue100.$;
|
|
15960
|
+
case "caution":
|
|
15961
|
+
return Css.bgYellow200.$;
|
|
15962
|
+
case "warning":
|
|
15963
|
+
return Css.bgRed200.$;
|
|
15964
|
+
case "success":
|
|
15965
|
+
return Css.bgGreen200.$;
|
|
15966
|
+
default:
|
|
15967
|
+
return Css.bgGray200.$;
|
|
15968
|
+
}
|
|
15969
|
+
}
|
|
15970
|
+
|
|
15971
|
+
// src/components/Card.tsx
|
|
15972
|
+
import { jsx as jsx133, jsxs as jsxs65 } from "@emotion/react/jsx-runtime";
|
|
15973
|
+
function Card(props) {
|
|
15974
|
+
const {
|
|
15975
|
+
title,
|
|
15976
|
+
subtitle,
|
|
15977
|
+
detailContent,
|
|
15978
|
+
imgSrc,
|
|
15979
|
+
imageFit = "contain",
|
|
15980
|
+
type = "card",
|
|
15981
|
+
bordered = false,
|
|
15982
|
+
disabled: isDisabled = false,
|
|
15983
|
+
buttonMenuItems,
|
|
15984
|
+
tag
|
|
15985
|
+
} = props;
|
|
15986
|
+
const tid = useTestIds(props, "card");
|
|
15987
|
+
const { hoverProps, isHovered } = useHover16({ isDisabled });
|
|
15988
|
+
const isList = type === "list";
|
|
15989
|
+
const imgHeight = isList ? 96 : bordered ? 224 : 256;
|
|
15990
|
+
const styles = useMemo34(
|
|
15991
|
+
() => ({
|
|
15992
|
+
...baseStyles4(type),
|
|
15993
|
+
...isList && listStyles,
|
|
15994
|
+
...bordered && borderedStyles,
|
|
15995
|
+
...isHovered && cardHoverStyles,
|
|
15996
|
+
...isDisabled && disabledStyles3
|
|
15997
|
+
}),
|
|
15998
|
+
[isDisabled, isHovered, bordered, type, isList]
|
|
15999
|
+
);
|
|
16000
|
+
return /* @__PURE__ */ jsxs65("div", { css: styles, ...hoverProps, ...tid, children: [
|
|
16001
|
+
/* @__PURE__ */ jsx133(
|
|
16002
|
+
"div",
|
|
16003
|
+
{
|
|
16004
|
+
css: {
|
|
16005
|
+
...Css.hPx(imgHeight).ba.br8.bcGray300.oh.df.asc.jsc.relative.add("filter", "brightness(1)").$,
|
|
16006
|
+
...isHovered && !isList && imageHoverStyles
|
|
16007
|
+
},
|
|
16008
|
+
children: /* @__PURE__ */ jsx133("img", { css: Css.w100.h100.objectFit(imageFit).$, src: imgSrc, alt: title, ...tid.img })
|
|
16009
|
+
}
|
|
16010
|
+
),
|
|
16011
|
+
isHovered && buttonMenuItems && /* @__PURE__ */ jsx133("div", { css: Css.absolute.right1.top1.if(bordered && !isList).right3.top3.$, children: /* @__PURE__ */ jsx133(
|
|
16012
|
+
ButtonMenu,
|
|
16013
|
+
{
|
|
16014
|
+
trigger: { icon: "verticalDots", color: isList ? "rgba(100, 100, 100, 1)" /* Gray700 */ : "rgba(255,255,255,1)" /* White */ },
|
|
16015
|
+
items: buttonMenuItems
|
|
16016
|
+
}
|
|
16017
|
+
) }),
|
|
16018
|
+
tag && /* @__PURE__ */ jsx133("div", { css: Css.absolute.left1.topPx(4).$, children: /* @__PURE__ */ jsx133(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
|
|
16019
|
+
/* @__PURE__ */ jsxs65("div", { css: Css.df.fdc.aifs.gap1.$, children: [
|
|
16020
|
+
/* @__PURE__ */ jsxs65("div", { children: [
|
|
16021
|
+
/* @__PURE__ */ jsx133("div", { css: Css.xsMd.gray700.$, ...tid.subtitle, children: subtitle }),
|
|
16022
|
+
/* @__PURE__ */ jsx133("div", { css: Css.smMd.gray900.if(isHovered).blue700.$, ...tid.title, children: title })
|
|
16023
|
+
] }),
|
|
16024
|
+
/* @__PURE__ */ jsx133("div", { ...tid.details, children: detailContent })
|
|
16025
|
+
] })
|
|
16026
|
+
] });
|
|
16027
|
+
}
|
|
16028
|
+
var width = { card: 256, list: 520 };
|
|
16029
|
+
var baseStyles4 = (type) => Css.wPx(width[type]).bgWhite.df.fdc.gap1.relative.$;
|
|
16030
|
+
var listStyles = Css.df.fdr.gap2.$;
|
|
16031
|
+
var borderedStyles = Css.ba.br8.bcGray300.p2.$;
|
|
16032
|
+
var disabledStyles3 = Css.add("opacity", 0.5).add("transition", "opacity 0.3s ease").$;
|
|
16033
|
+
var cardHoverStyles = Css.bcGray400.cursorPointer.$;
|
|
16034
|
+
var imageHoverStyles = Css.bgWhite.add("filter", "brightness(0.3)").add("transition", "filter 0.3s ease").$;
|
|
16035
|
+
|
|
15926
16036
|
// src/components/Copy.tsx
|
|
15927
|
-
import { jsx as
|
|
16037
|
+
import { jsx as jsx134 } from "@emotion/react/jsx-runtime";
|
|
15928
16038
|
function Copy(props) {
|
|
15929
|
-
return /* @__PURE__ */
|
|
16039
|
+
return /* @__PURE__ */ jsx134(
|
|
15930
16040
|
"div",
|
|
15931
16041
|
{
|
|
15932
16042
|
css: {
|
|
@@ -15940,7 +16050,7 @@ function Copy(props) {
|
|
|
15940
16050
|
|
|
15941
16051
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
15942
16052
|
import equal2 from "fast-deep-equal";
|
|
15943
|
-
import { useCallback as useCallback20, useRef as
|
|
16053
|
+
import { useCallback as useCallback20, useRef as useRef48 } from "react";
|
|
15944
16054
|
|
|
15945
16055
|
// src/components/DnDGrid/DnDGridContext.tsx
|
|
15946
16056
|
import { createContext as createContext7, useContext as useContext16 } from "react";
|
|
@@ -15954,15 +16064,15 @@ function useDnDGridContext() {
|
|
|
15954
16064
|
}
|
|
15955
16065
|
|
|
15956
16066
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
15957
|
-
import { jsx as
|
|
16067
|
+
import { jsx as jsx135 } from "@emotion/react/jsx-runtime";
|
|
15958
16068
|
function DnDGrid(props) {
|
|
15959
16069
|
const { children, gridStyles, onReorder, activeItemStyles } = props;
|
|
15960
|
-
const gridEl =
|
|
15961
|
-
const dragEl =
|
|
15962
|
-
const cloneEl =
|
|
15963
|
-
const initialOrder =
|
|
15964
|
-
const reorderViaKeyboard =
|
|
15965
|
-
const transformFrom =
|
|
16070
|
+
const gridEl = useRef48(null);
|
|
16071
|
+
const dragEl = useRef48();
|
|
16072
|
+
const cloneEl = useRef48();
|
|
16073
|
+
const initialOrder = useRef48();
|
|
16074
|
+
const reorderViaKeyboard = useRef48(false);
|
|
16075
|
+
const transformFrom = useRef48({ x: 0, y: 0 });
|
|
15966
16076
|
const tid = useTestIds(props, "dndGrid");
|
|
15967
16077
|
const getGridItems = useCallback20(() => {
|
|
15968
16078
|
return gridEl.current ? Array.from(gridEl.current.querySelectorAll(`[${gridItemIdKey}]`)) : [];
|
|
@@ -16127,7 +16237,7 @@ function DnDGrid(props) {
|
|
|
16127
16237
|
},
|
|
16128
16238
|
[cancelReorder, commitReorder, initReorder, getGridItems]
|
|
16129
16239
|
);
|
|
16130
|
-
return /* @__PURE__ */
|
|
16240
|
+
return /* @__PURE__ */ jsx135(DnDGridContext.Provider, { value: { dragEl, onDragHandleKeyDown }, children: /* @__PURE__ */ jsx135(
|
|
16131
16241
|
"div",
|
|
16132
16242
|
{
|
|
16133
16243
|
ref: gridEl,
|
|
@@ -16149,16 +16259,16 @@ var gridCloneKey = "dndgrid-clone";
|
|
|
16149
16259
|
var activeGridItemClass = "dndgrid-active";
|
|
16150
16260
|
|
|
16151
16261
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
16152
|
-
import { mergeProps as mergeProps12, useFocusRing as useFocusRing13, useHover as
|
|
16153
|
-
import { jsx as
|
|
16262
|
+
import { mergeProps as mergeProps12, useFocusRing as useFocusRing13, useHover as useHover17 } from "react-aria";
|
|
16263
|
+
import { jsx as jsx136 } from "@emotion/react/jsx-runtime";
|
|
16154
16264
|
function DnDGridItemHandle(props) {
|
|
16155
16265
|
const { dragHandleProps, icon = "move", compact = false, color } = props;
|
|
16156
16266
|
const { focusProps, isFocusVisible } = useFocusRing13();
|
|
16157
|
-
const { hoverProps, isHovered } =
|
|
16267
|
+
const { hoverProps, isHovered } = useHover17({});
|
|
16158
16268
|
const tid = useTestIds(props, "dragHandle");
|
|
16159
16269
|
const iconButtonNormal2 = Css.hPx(28).wPx(28).br8.bw2.$;
|
|
16160
16270
|
const iconButtonCompact2 = Css.hPx(18).wPx(18).br4.bw1.$;
|
|
16161
|
-
return /* @__PURE__ */
|
|
16271
|
+
return /* @__PURE__ */ jsx136(
|
|
16162
16272
|
"button",
|
|
16163
16273
|
{
|
|
16164
16274
|
css: {
|
|
@@ -16168,17 +16278,17 @@ function DnDGridItemHandle(props) {
|
|
|
16168
16278
|
},
|
|
16169
16279
|
...mergeProps12(dragHandleProps, focusProps, hoverProps),
|
|
16170
16280
|
...tid,
|
|
16171
|
-
children: /* @__PURE__ */
|
|
16281
|
+
children: /* @__PURE__ */ jsx136(Icon, { icon, inc: compact ? 2 : void 0, color })
|
|
16172
16282
|
}
|
|
16173
16283
|
);
|
|
16174
16284
|
}
|
|
16175
16285
|
|
|
16176
16286
|
// src/components/DnDGrid/useDnDGridItem.tsx
|
|
16177
|
-
import { useMemo as
|
|
16287
|
+
import { useMemo as useMemo35 } from "react";
|
|
16178
16288
|
function useDnDGridItem(props) {
|
|
16179
16289
|
const { id, itemRef } = props;
|
|
16180
16290
|
const { dragEl, onDragHandleKeyDown } = useDnDGridContext();
|
|
16181
|
-
const { dragItemProps, dragHandleProps } =
|
|
16291
|
+
const { dragItemProps, dragHandleProps } = useMemo35(
|
|
16182
16292
|
() => {
|
|
16183
16293
|
function initDraggable() {
|
|
16184
16294
|
if (itemRef.current) {
|
|
@@ -16222,7 +16332,7 @@ var BaseFilter = class {
|
|
|
16222
16332
|
};
|
|
16223
16333
|
|
|
16224
16334
|
// src/components/Filters/DateFilter.tsx
|
|
16225
|
-
import { Fragment as Fragment25, jsx as
|
|
16335
|
+
import { Fragment as Fragment25, jsx as jsx137, jsxs as jsxs66 } from "@emotion/react/jsx-runtime";
|
|
16226
16336
|
function dateFilter(props) {
|
|
16227
16337
|
return (key) => new DateFilter(key, props);
|
|
16228
16338
|
}
|
|
@@ -16230,10 +16340,10 @@ var anyOption = {};
|
|
|
16230
16340
|
var DateFilter = class extends BaseFilter {
|
|
16231
16341
|
render(value, setValue, tid, inModal, vertical) {
|
|
16232
16342
|
const { label, operations, getOperationValue, getOperationLabel } = this.props;
|
|
16233
|
-
return /* @__PURE__ */
|
|
16234
|
-
vertical && /* @__PURE__ */
|
|
16235
|
-
/* @__PURE__ */
|
|
16236
|
-
/* @__PURE__ */
|
|
16343
|
+
return /* @__PURE__ */ jsxs66(Fragment25, { children: [
|
|
16344
|
+
vertical && /* @__PURE__ */ jsx137(Label, { label }),
|
|
16345
|
+
/* @__PURE__ */ jsxs66(CompoundField, { children: [
|
|
16346
|
+
/* @__PURE__ */ jsx137(
|
|
16237
16347
|
SelectField,
|
|
16238
16348
|
{
|
|
16239
16349
|
compact: true,
|
|
@@ -16256,7 +16366,7 @@ var DateFilter = class extends BaseFilter {
|
|
|
16256
16366
|
...tid[`${defaultTestId(this.label)}_dateOperation`]
|
|
16257
16367
|
}
|
|
16258
16368
|
),
|
|
16259
|
-
/* @__PURE__ */
|
|
16369
|
+
/* @__PURE__ */ jsx137(
|
|
16260
16370
|
DateField,
|
|
16261
16371
|
{
|
|
16262
16372
|
compact: true,
|
|
@@ -16274,16 +16384,16 @@ var DateFilter = class extends BaseFilter {
|
|
|
16274
16384
|
};
|
|
16275
16385
|
|
|
16276
16386
|
// src/components/Filters/DateRangeFilter.tsx
|
|
16277
|
-
import { Fragment as Fragment26, jsx as
|
|
16387
|
+
import { Fragment as Fragment26, jsx as jsx138, jsxs as jsxs67 } from "@emotion/react/jsx-runtime";
|
|
16278
16388
|
function dateRangeFilter(props) {
|
|
16279
16389
|
return (key) => new DateRangeFilter(key, props);
|
|
16280
16390
|
}
|
|
16281
16391
|
var DateRangeFilter = class extends BaseFilter {
|
|
16282
16392
|
render(value, setValue, tid, inModal, vertical) {
|
|
16283
16393
|
const { label, placeholderText, disabledDays, testFieldLabel, defaultValue } = this.props;
|
|
16284
|
-
return /* @__PURE__ */
|
|
16285
|
-
vertical && /* @__PURE__ */
|
|
16286
|
-
/* @__PURE__ */
|
|
16394
|
+
return /* @__PURE__ */ jsxs67(Fragment26, { children: [
|
|
16395
|
+
vertical && /* @__PURE__ */ jsx138(Label, { label }),
|
|
16396
|
+
/* @__PURE__ */ jsx138(
|
|
16287
16397
|
DateRangeField,
|
|
16288
16398
|
{
|
|
16289
16399
|
compact: true,
|
|
@@ -16302,7 +16412,7 @@ var DateRangeFilter = class extends BaseFilter {
|
|
|
16302
16412
|
};
|
|
16303
16413
|
|
|
16304
16414
|
// src/components/Filters/MultiFilter.tsx
|
|
16305
|
-
import { jsx as
|
|
16415
|
+
import { jsx as jsx139 } from "@emotion/react/jsx-runtime";
|
|
16306
16416
|
function multiFilter(props) {
|
|
16307
16417
|
return (key) => new MultiFilter(key, props);
|
|
16308
16418
|
}
|
|
@@ -16312,7 +16422,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16312
16422
|
const { disabledOptions } = this.props;
|
|
16313
16423
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
16314
16424
|
const disabledKeys = Object.keys(disabledOptionsWithReasons);
|
|
16315
|
-
return /* @__PURE__ */
|
|
16425
|
+
return /* @__PURE__ */ jsx139(
|
|
16316
16426
|
ToggleChipGroup,
|
|
16317
16427
|
{
|
|
16318
16428
|
label: this.label,
|
|
@@ -16336,7 +16446,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16336
16446
|
);
|
|
16337
16447
|
}
|
|
16338
16448
|
const { defaultValue, nothingSelectedText, ...props } = this.props;
|
|
16339
|
-
return /* @__PURE__ */
|
|
16449
|
+
return /* @__PURE__ */ jsx139(
|
|
16340
16450
|
MultiSelectField,
|
|
16341
16451
|
{
|
|
16342
16452
|
...props,
|
|
@@ -16356,7 +16466,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16356
16466
|
};
|
|
16357
16467
|
|
|
16358
16468
|
// src/components/Filters/NumberRangeFilter.tsx
|
|
16359
|
-
import { Fragment as Fragment27, jsx as
|
|
16469
|
+
import { Fragment as Fragment27, jsx as jsx140, jsxs as jsxs68 } from "@emotion/react/jsx-runtime";
|
|
16360
16470
|
function numberRangeFilter(props) {
|
|
16361
16471
|
return (key) => new NumberRangeFilter(key, props);
|
|
16362
16472
|
}
|
|
@@ -16365,10 +16475,10 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16365
16475
|
const { label, numberFieldType, numberFormatOptions } = this.props;
|
|
16366
16476
|
const min = value?.min ?? void 0;
|
|
16367
16477
|
const max = value?.max ?? void 0;
|
|
16368
|
-
return /* @__PURE__ */
|
|
16369
|
-
vertical && /* @__PURE__ */
|
|
16370
|
-
/* @__PURE__ */
|
|
16371
|
-
/* @__PURE__ */
|
|
16478
|
+
return /* @__PURE__ */ jsxs68(Fragment27, { children: [
|
|
16479
|
+
vertical && /* @__PURE__ */ jsxs68("div", { ...tid, children: [
|
|
16480
|
+
/* @__PURE__ */ jsx140(Label, { label }),
|
|
16481
|
+
/* @__PURE__ */ jsx140("div", { css: Css.pb1.$, children: /* @__PURE__ */ jsx140(
|
|
16372
16482
|
NumberField,
|
|
16373
16483
|
{
|
|
16374
16484
|
labelStyle: "inline",
|
|
@@ -16384,7 +16494,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16384
16494
|
...tid[`${defaultTestId(label)}_min_vertical`]
|
|
16385
16495
|
}
|
|
16386
16496
|
) }),
|
|
16387
|
-
/* @__PURE__ */
|
|
16497
|
+
/* @__PURE__ */ jsx140(
|
|
16388
16498
|
NumberField,
|
|
16389
16499
|
{
|
|
16390
16500
|
labelStyle: "inline",
|
|
@@ -16401,8 +16511,8 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16401
16511
|
}
|
|
16402
16512
|
)
|
|
16403
16513
|
] }),
|
|
16404
|
-
!vertical && /* @__PURE__ */
|
|
16405
|
-
/* @__PURE__ */
|
|
16514
|
+
!vertical && /* @__PURE__ */ jsxs68(CompoundField, { ...tid, children: [
|
|
16515
|
+
/* @__PURE__ */ jsx140(
|
|
16406
16516
|
NumberField,
|
|
16407
16517
|
{
|
|
16408
16518
|
compact: true,
|
|
@@ -16420,7 +16530,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16420
16530
|
...tid[`${defaultTestId(label)}_min`]
|
|
16421
16531
|
}
|
|
16422
16532
|
),
|
|
16423
|
-
/* @__PURE__ */
|
|
16533
|
+
/* @__PURE__ */ jsx140(
|
|
16424
16534
|
NumberField,
|
|
16425
16535
|
{
|
|
16426
16536
|
compact: true,
|
|
@@ -16444,7 +16554,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16444
16554
|
};
|
|
16445
16555
|
|
|
16446
16556
|
// src/components/Filters/SingleFilter.tsx
|
|
16447
|
-
import { jsx as
|
|
16557
|
+
import { jsx as jsx141 } from "@emotion/react/jsx-runtime";
|
|
16448
16558
|
function singleFilter(props) {
|
|
16449
16559
|
return (key) => new SingleFilter(key, props);
|
|
16450
16560
|
}
|
|
@@ -16461,7 +16571,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
16461
16571
|
...props
|
|
16462
16572
|
} = this.props;
|
|
16463
16573
|
const options = Array.isArray(maybeOptions) ? [allOption, ...maybeOptions] : { ...maybeOptions, current: maybeOptions.current };
|
|
16464
|
-
return /* @__PURE__ */
|
|
16574
|
+
return /* @__PURE__ */ jsx141(
|
|
16465
16575
|
SelectField,
|
|
16466
16576
|
{
|
|
16467
16577
|
...props,
|
|
@@ -16482,14 +16592,14 @@ var SingleFilter = class extends BaseFilter {
|
|
|
16482
16592
|
};
|
|
16483
16593
|
|
|
16484
16594
|
// src/components/Filters/TreeFilter.tsx
|
|
16485
|
-
import { jsx as
|
|
16595
|
+
import { jsx as jsx142 } from "@emotion/react/jsx-runtime";
|
|
16486
16596
|
function treeFilter(props) {
|
|
16487
16597
|
return (key) => new TreeFilter(key, props);
|
|
16488
16598
|
}
|
|
16489
16599
|
var TreeFilter = class extends BaseFilter {
|
|
16490
16600
|
render(value, setValue, tid, inModal, vertical) {
|
|
16491
16601
|
const { defaultValue, nothingSelectedText, filterBy = "root", ...props } = this.props;
|
|
16492
|
-
return /* @__PURE__ */
|
|
16602
|
+
return /* @__PURE__ */ jsx142(
|
|
16493
16603
|
TreeSelectField,
|
|
16494
16604
|
{
|
|
16495
16605
|
...props,
|
|
@@ -16510,14 +16620,14 @@ var TreeFilter = class extends BaseFilter {
|
|
|
16510
16620
|
};
|
|
16511
16621
|
|
|
16512
16622
|
// src/components/Filters/BooleanFilter.tsx
|
|
16513
|
-
import { jsx as
|
|
16623
|
+
import { jsx as jsx143 } from "@emotion/react/jsx-runtime";
|
|
16514
16624
|
function booleanFilter(props) {
|
|
16515
16625
|
return (key) => new BooleanFilter(key, props);
|
|
16516
16626
|
}
|
|
16517
16627
|
var BooleanFilter = class extends BaseFilter {
|
|
16518
16628
|
render(value, setValue, tid, inModal, vertical) {
|
|
16519
16629
|
const { options = defaultBooleanOptions, label, defaultValue, ...props } = this.props;
|
|
16520
|
-
return /* @__PURE__ */
|
|
16630
|
+
return /* @__PURE__ */ jsx143(
|
|
16521
16631
|
SelectField,
|
|
16522
16632
|
{
|
|
16523
16633
|
...props,
|
|
@@ -16545,7 +16655,7 @@ var defaultBooleanOptions = [
|
|
|
16545
16655
|
];
|
|
16546
16656
|
|
|
16547
16657
|
// src/components/Filters/CheckboxFilter.tsx
|
|
16548
|
-
import { jsx as
|
|
16658
|
+
import { jsx as jsx144 } from "@emotion/react/jsx-runtime";
|
|
16549
16659
|
function checkboxFilter(props) {
|
|
16550
16660
|
return (key) => new CheckboxFilter(key, {
|
|
16551
16661
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -16556,7 +16666,7 @@ function checkboxFilter(props) {
|
|
|
16556
16666
|
var CheckboxFilter = class extends BaseFilter {
|
|
16557
16667
|
render(value, setValue, tid, inModal, vertical) {
|
|
16558
16668
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
16559
|
-
return /* @__PURE__ */
|
|
16669
|
+
return /* @__PURE__ */ jsx144(
|
|
16560
16670
|
Checkbox,
|
|
16561
16671
|
{
|
|
16562
16672
|
...props,
|
|
@@ -16575,11 +16685,11 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
16575
16685
|
};
|
|
16576
16686
|
|
|
16577
16687
|
// src/components/Filters/FilterModal.tsx
|
|
16578
|
-
import { useState as
|
|
16688
|
+
import { useState as useState37 } from "react";
|
|
16579
16689
|
|
|
16580
16690
|
// src/components/Modal/OpenModal.tsx
|
|
16581
16691
|
import { useEffect as useEffect25 } from "react";
|
|
16582
|
-
import { jsx as
|
|
16692
|
+
import { jsx as jsx145 } from "@emotion/react/jsx-runtime";
|
|
16583
16693
|
function OpenModal(props) {
|
|
16584
16694
|
const { openModal } = useModal();
|
|
16585
16695
|
const { size, children, keepOpen } = props;
|
|
@@ -16589,30 +16699,30 @@ function OpenModal(props) {
|
|
|
16589
16699
|
}
|
|
16590
16700
|
}, [keepOpen, openModal, size, children]);
|
|
16591
16701
|
if (keepOpen) {
|
|
16592
|
-
return /* @__PURE__ */
|
|
16702
|
+
return /* @__PURE__ */ jsx145(Modal, { size, content: children });
|
|
16593
16703
|
} else {
|
|
16594
|
-
return /* @__PURE__ */
|
|
16704
|
+
return /* @__PURE__ */ jsx145("div", { children: "dummy content" });
|
|
16595
16705
|
}
|
|
16596
16706
|
}
|
|
16597
16707
|
|
|
16598
16708
|
// src/components/Filters/FilterModal.tsx
|
|
16599
|
-
import { Fragment as Fragment28, jsx as
|
|
16709
|
+
import { Fragment as Fragment28, jsx as jsx146, jsxs as jsxs69 } from "@emotion/react/jsx-runtime";
|
|
16600
16710
|
function FilterModal(props) {
|
|
16601
16711
|
const { filter, filters, onApply } = props;
|
|
16602
16712
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16603
16713
|
const { closeModal } = useModal();
|
|
16604
|
-
const [modalFilter, setModalFilter] =
|
|
16605
|
-
return /* @__PURE__ */
|
|
16606
|
-
/* @__PURE__ */
|
|
16607
|
-
/* @__PURE__ */
|
|
16714
|
+
const [modalFilter, setModalFilter] = useState37(filter);
|
|
16715
|
+
return /* @__PURE__ */ jsxs69(Fragment28, { children: [
|
|
16716
|
+
/* @__PURE__ */ jsx146(ModalHeader, { children: "More Filters" }),
|
|
16717
|
+
/* @__PURE__ */ jsx146(ModalBody, { children: /* @__PURE__ */ jsx146("div", { css: Css.df.fdc.$, children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ jsx146(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(
|
|
16608
16718
|
modalFilter[key],
|
|
16609
16719
|
(value) => setModalFilter(updateFilter(modalFilter, key, value)),
|
|
16610
16720
|
testId,
|
|
16611
16721
|
true,
|
|
16612
16722
|
false
|
|
16613
16723
|
) }, key)) }) }),
|
|
16614
|
-
/* @__PURE__ */
|
|
16615
|
-
/* @__PURE__ */
|
|
16724
|
+
/* @__PURE__ */ jsxs69(ModalFooter, { xss: Css.jcsb.$, children: [
|
|
16725
|
+
/* @__PURE__ */ jsx146(
|
|
16616
16726
|
Button,
|
|
16617
16727
|
{
|
|
16618
16728
|
label: "Clear",
|
|
@@ -16625,9 +16735,9 @@ function FilterModal(props) {
|
|
|
16625
16735
|
...testId.modalClear
|
|
16626
16736
|
}
|
|
16627
16737
|
),
|
|
16628
|
-
/* @__PURE__ */
|
|
16629
|
-
/* @__PURE__ */
|
|
16630
|
-
/* @__PURE__ */
|
|
16738
|
+
/* @__PURE__ */ jsxs69("div", { css: Css.df.gap1.$, children: [
|
|
16739
|
+
/* @__PURE__ */ jsx146(Button, { label: "Cancel", variant: "tertiary", onClick: closeModal, ...testId.modalClose }),
|
|
16740
|
+
/* @__PURE__ */ jsx146(
|
|
16631
16741
|
Button,
|
|
16632
16742
|
{
|
|
16633
16743
|
label: "Apply",
|
|
@@ -16643,20 +16753,20 @@ function FilterModal(props) {
|
|
|
16643
16753
|
] });
|
|
16644
16754
|
}
|
|
16645
16755
|
function ModalFilterItem({ label, children }) {
|
|
16646
|
-
return /* @__PURE__ */
|
|
16647
|
-
label && /* @__PURE__ */
|
|
16648
|
-
/* @__PURE__ */
|
|
16756
|
+
return /* @__PURE__ */ jsxs69("div", { css: Css.mb4.if(!label).bt.bcGray200.$, children: [
|
|
16757
|
+
label && /* @__PURE__ */ jsx146("h2", { css: Css.baseMd.mb2.$, children: label }),
|
|
16758
|
+
/* @__PURE__ */ jsx146("div", { css: Css.if(!label).pt3.$, children })
|
|
16649
16759
|
] });
|
|
16650
16760
|
}
|
|
16651
16761
|
|
|
16652
16762
|
// src/components/Filters/Filters.tsx
|
|
16653
|
-
import { memo, useMemo as
|
|
16654
|
-
import { jsx as
|
|
16763
|
+
import { memo, useMemo as useMemo36 } from "react";
|
|
16764
|
+
import { jsx as jsx147, jsxs as jsxs70 } from "@emotion/react/jsx-runtime";
|
|
16655
16765
|
function Filters(props) {
|
|
16656
16766
|
const { filter, onChange, filterDefs, groupBy, vertical = false, numberOfInlineFilters = groupBy ? 3 : 4 } = props;
|
|
16657
16767
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16658
16768
|
const { openModal } = useModal();
|
|
16659
|
-
const [pageFilters, modalFilters] =
|
|
16769
|
+
const [pageFilters, modalFilters] = useMemo36(() => {
|
|
16660
16770
|
const impls = safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]);
|
|
16661
16771
|
if (!vertical && impls.length > numberOfInlineFilters) {
|
|
16662
16772
|
return [
|
|
@@ -16667,7 +16777,7 @@ function Filters(props) {
|
|
|
16667
16777
|
return [Object.fromEntries(impls), {}];
|
|
16668
16778
|
}, [numberOfInlineFilters, vertical, filterDefs]);
|
|
16669
16779
|
const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
|
|
16670
|
-
const maybeGroupByField = groupBy ? /* @__PURE__ */
|
|
16780
|
+
const maybeGroupByField = groupBy ? /* @__PURE__ */ jsx147("div", { children: /* @__PURE__ */ jsx147(
|
|
16671
16781
|
SelectField,
|
|
16672
16782
|
{
|
|
16673
16783
|
label: "Group by",
|
|
@@ -16681,7 +16791,7 @@ function Filters(props) {
|
|
|
16681
16791
|
onSelect: (g) => g && groupBy.setValue(g)
|
|
16682
16792
|
}
|
|
16683
16793
|
) }) : null;
|
|
16684
|
-
return /* @__PURE__ */
|
|
16794
|
+
return /* @__PURE__ */ jsxs70(
|
|
16685
16795
|
"div",
|
|
16686
16796
|
{
|
|
16687
16797
|
css: {
|
|
@@ -16690,21 +16800,21 @@ function Filters(props) {
|
|
|
16690
16800
|
...testId,
|
|
16691
16801
|
children: [
|
|
16692
16802
|
maybeGroupByField,
|
|
16693
|
-
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */
|
|
16694
|
-
Object.keys(modalFilters).length > 0 && /* @__PURE__ */
|
|
16803
|
+
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ jsx147("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, vertical) }, key)),
|
|
16804
|
+
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ jsx147(
|
|
16695
16805
|
Button,
|
|
16696
16806
|
{
|
|
16697
16807
|
label: "More Filters",
|
|
16698
|
-
endAdornment: numModalFilters > 0 && /* @__PURE__ */
|
|
16808
|
+
endAdornment: numModalFilters > 0 && /* @__PURE__ */ jsx147("span", { css: Css.wPx(16).hPx(16).fs0.br100.bgBlue700.white.tinySb.df.aic.jcc.$, children: numModalFilters }),
|
|
16699
16809
|
variant: "secondary",
|
|
16700
16810
|
onClick: () => openModal({
|
|
16701
16811
|
// Spreading `props` to pass along `data-testid`
|
|
16702
|
-
content: /* @__PURE__ */
|
|
16812
|
+
content: /* @__PURE__ */ jsx147(FilterModal, { ...props, filter, onApply: onChange, filters: modalFilters })
|
|
16703
16813
|
}),
|
|
16704
16814
|
...testId.moreFiltersBtn
|
|
16705
16815
|
}
|
|
16706
16816
|
),
|
|
16707
|
-
Object.keys(filter).length > 0 && /* @__PURE__ */
|
|
16817
|
+
Object.keys(filter).length > 0 && /* @__PURE__ */ jsx147("div", { children: /* @__PURE__ */ jsx147(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
16708
16818
|
]
|
|
16709
16819
|
}
|
|
16710
16820
|
);
|
|
@@ -16712,7 +16822,7 @@ function Filters(props) {
|
|
|
16712
16822
|
var _Filters = memo(Filters);
|
|
16713
16823
|
|
|
16714
16824
|
// src/components/Filters/ToggleFilter.tsx
|
|
16715
|
-
import { jsx as
|
|
16825
|
+
import { jsx as jsx148 } from "@emotion/react/jsx-runtime";
|
|
16716
16826
|
function toggleFilter(props) {
|
|
16717
16827
|
return (key) => new ToggleFilter(key, {
|
|
16718
16828
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -16723,7 +16833,7 @@ function toggleFilter(props) {
|
|
|
16723
16833
|
var ToggleFilter = class extends BaseFilter {
|
|
16724
16834
|
render(value, setValue, tid, inModal, vertical) {
|
|
16725
16835
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
16726
|
-
return /* @__PURE__ */
|
|
16836
|
+
return /* @__PURE__ */ jsx148(
|
|
16727
16837
|
Switch,
|
|
16728
16838
|
{
|
|
16729
16839
|
...props,
|
|
@@ -16753,23 +16863,23 @@ function updateFilter(currentFilter, key, value) {
|
|
|
16753
16863
|
var filterTestIdPrefix = "filter";
|
|
16754
16864
|
|
|
16755
16865
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
16756
|
-
import { jsx as
|
|
16866
|
+
import { jsx as jsx149 } from "@emotion/react/jsx-runtime";
|
|
16757
16867
|
function ResponsiveGrid(props) {
|
|
16758
16868
|
const { children, ...hookProps } = props;
|
|
16759
16869
|
const { gridStyles } = useResponsiveGrid(hookProps);
|
|
16760
|
-
return /* @__PURE__ */
|
|
16870
|
+
return /* @__PURE__ */ jsx149("div", { css: { ...gridStyles }, children });
|
|
16761
16871
|
}
|
|
16762
16872
|
|
|
16763
16873
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
16764
|
-
import { jsx as
|
|
16874
|
+
import { jsx as jsx150 } from "@emotion/react/jsx-runtime";
|
|
16765
16875
|
function ResponsiveGridItem(props) {
|
|
16766
16876
|
const { colSpan, children } = props;
|
|
16767
16877
|
const { gridItemProps } = useResponsiveGridItem({ colSpan });
|
|
16768
|
-
return /* @__PURE__ */
|
|
16878
|
+
return /* @__PURE__ */ jsx150("div", { ...gridItemProps, children });
|
|
16769
16879
|
}
|
|
16770
16880
|
|
|
16771
16881
|
// src/components/Grid/useResponsiveGrid.ts
|
|
16772
|
-
import { useMemo as
|
|
16882
|
+
import { useMemo as useMemo37 } from "react";
|
|
16773
16883
|
|
|
16774
16884
|
// src/components/Grid/utils.ts
|
|
16775
16885
|
var gridItemDataAttribute = "data-grid-item-span";
|
|
@@ -16777,7 +16887,7 @@ var gridItemDataAttribute = "data-grid-item-span";
|
|
|
16777
16887
|
// src/components/Grid/useResponsiveGrid.ts
|
|
16778
16888
|
function useResponsiveGrid(props) {
|
|
16779
16889
|
const { minColumnWidth, gap, columns } = props;
|
|
16780
|
-
const gridStyles =
|
|
16890
|
+
const gridStyles = useMemo37(() => {
|
|
16781
16891
|
const gapCount = columns - 1;
|
|
16782
16892
|
const totalGapWidth = gap * gapCount;
|
|
16783
16893
|
const maxColumnWidth = `calc((100% - ${totalGapWidth}px) / ${columns})`;
|
|
@@ -16818,24 +16928,24 @@ function useResponsiveGridItem({ colSpan = 1 }) {
|
|
|
16818
16928
|
}
|
|
16819
16929
|
|
|
16820
16930
|
// src/components/HbLoadingSpinner.tsx
|
|
16821
|
-
import React19, { useContext as useContext17, useMemo as
|
|
16931
|
+
import React19, { useContext as useContext17, useMemo as useMemo38 } from "react";
|
|
16822
16932
|
|
|
16823
16933
|
// src/components/HbLoadingSpinner.base64.ts
|
|
16824
16934
|
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";
|
|
16825
16935
|
|
|
16826
16936
|
// src/components/HbLoadingSpinner.tsx
|
|
16827
|
-
import { jsx as
|
|
16937
|
+
import { jsx as jsx151, jsxs as jsxs71 } from "@emotion/react/jsx-runtime";
|
|
16828
16938
|
function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }) {
|
|
16829
16939
|
const ctx = useContext17(HbLoadingSpinnerContext);
|
|
16830
16940
|
const tid = useTestIds({}, "hbSpinner");
|
|
16831
|
-
const quip =
|
|
16941
|
+
const quip = useMemo38(() => {
|
|
16832
16942
|
const allQuips = extraQuipsOnly && extraQuips.length !== 0 ? extraQuips : [...ctx.quips, ...extraQuips];
|
|
16833
16943
|
const forceQuips = extraQuips.length !== 0 || noQuips === false;
|
|
16834
16944
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
16835
16945
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
16836
16946
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
16837
|
-
return /* @__PURE__ */
|
|
16838
|
-
/* @__PURE__ */
|
|
16947
|
+
return /* @__PURE__ */ jsxs71("div", { css: Css.df.fdc.jcc.aic.$, ...tid, children: [
|
|
16948
|
+
/* @__PURE__ */ jsx151(
|
|
16839
16949
|
"img",
|
|
16840
16950
|
{
|
|
16841
16951
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -16848,7 +16958,7 @@ function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }
|
|
|
16848
16958
|
...tid.gif
|
|
16849
16959
|
}
|
|
16850
16960
|
),
|
|
16851
|
-
!iconOnly && /* @__PURE__ */
|
|
16961
|
+
!iconOnly && /* @__PURE__ */ jsx151(
|
|
16852
16962
|
"div",
|
|
16853
16963
|
{
|
|
16854
16964
|
"data-chromatic": "ignore",
|
|
@@ -16873,12 +16983,12 @@ var HbLoadingSpinnerContext = React19.createContext({
|
|
|
16873
16983
|
noQuips: false
|
|
16874
16984
|
});
|
|
16875
16985
|
function HbSpinnerProvider({ quips = [], children }) {
|
|
16876
|
-
const state =
|
|
16877
|
-
return /* @__PURE__ */
|
|
16986
|
+
const state = useMemo38(() => ({ quips, noQuips: quips.length === 0 }), [quips]);
|
|
16987
|
+
return /* @__PURE__ */ jsx151(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
16878
16988
|
}
|
|
16879
16989
|
|
|
16880
16990
|
// src/components/LoadingSkeleton.tsx
|
|
16881
|
-
import { jsx as
|
|
16991
|
+
import { jsx as jsx152 } from "@emotion/react/jsx-runtime";
|
|
16882
16992
|
function LoadingSkeleton({
|
|
16883
16993
|
rows = 1,
|
|
16884
16994
|
columns = 1,
|
|
@@ -16891,7 +17001,7 @@ function LoadingSkeleton({
|
|
|
16891
17001
|
const rowHeight = sizeToPixels2[size];
|
|
16892
17002
|
const rowCells = (rowNumber) => {
|
|
16893
17003
|
const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
|
|
16894
|
-
return cellArray.map((_, i) => /* @__PURE__ */
|
|
17004
|
+
return cellArray.map((_, i) => /* @__PURE__ */ jsx152(
|
|
16895
17005
|
"div",
|
|
16896
17006
|
{
|
|
16897
17007
|
css: Css.br4.add("animation", "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite").add("flexGrow", flexGrowForCell).bgGray300.if(contrast).bgGray700.$
|
|
@@ -16899,7 +17009,7 @@ function LoadingSkeleton({
|
|
|
16899
17009
|
`row-${rowNumber}-cell-${i}`
|
|
16900
17010
|
));
|
|
16901
17011
|
};
|
|
16902
|
-
return /* @__PURE__ */
|
|
17012
|
+
return /* @__PURE__ */ jsx152("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx152("div", { css: Css.df.gap1.mb1.hPx(rowHeight).$, children: rowCells(i) }, `row-${i}`)) });
|
|
16903
17013
|
}
|
|
16904
17014
|
function getRandomizedFlexBasisByRowIndex(rowIndex) {
|
|
16905
17015
|
const randomizedFlexBasisValues = [0.65, 0.8, 0.75, 0.9, 0.8, 0.85, 0.8, 0.95];
|
|
@@ -16913,13 +17023,13 @@ var sizeToPixels2 = {
|
|
|
16913
17023
|
};
|
|
16914
17024
|
|
|
16915
17025
|
// src/components/MaxLines.tsx
|
|
16916
|
-
import { useLayoutEffect as useLayoutEffect2, useResizeObserver as
|
|
16917
|
-
import { useCallback as useCallback21, useEffect as useEffect26, useRef as
|
|
16918
|
-
import { jsx as
|
|
17026
|
+
import { useLayoutEffect as useLayoutEffect2, useResizeObserver as useResizeObserver5 } from "@react-aria/utils";
|
|
17027
|
+
import { useCallback as useCallback21, useEffect as useEffect26, useRef as useRef49, useState as useState38 } from "react";
|
|
17028
|
+
import { jsx as jsx153, jsxs as jsxs72 } from "@emotion/react/jsx-runtime";
|
|
16919
17029
|
function MaxLines({ maxLines, children }) {
|
|
16920
|
-
const elRef =
|
|
16921
|
-
const [hasMore, setHasMore] =
|
|
16922
|
-
const [expanded, setExpanded] =
|
|
17030
|
+
const elRef = useRef49(null);
|
|
17031
|
+
const [hasMore, setHasMore] = useState38(false);
|
|
17032
|
+
const [expanded, setExpanded] = useState38(false);
|
|
16923
17033
|
useLayoutEffect2(() => {
|
|
16924
17034
|
if (!elRef.current) return;
|
|
16925
17035
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
@@ -16931,15 +17041,15 @@ function MaxLines({ maxLines, children }) {
|
|
|
16931
17041
|
if (!elRef.current) return;
|
|
16932
17042
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
16933
17043
|
}, [expanded]);
|
|
16934
|
-
|
|
16935
|
-
return /* @__PURE__ */
|
|
16936
|
-
/* @__PURE__ */
|
|
16937
|
-
hasMore && /* @__PURE__ */
|
|
17044
|
+
useResizeObserver5({ ref: elRef, onResize });
|
|
17045
|
+
return /* @__PURE__ */ jsxs72("div", { children: [
|
|
17046
|
+
/* @__PURE__ */ jsx153("div", { ref: elRef, css: Css.if(!expanded).lineClamp(maxLines).$, children }),
|
|
17047
|
+
hasMore && /* @__PURE__ */ jsx153("button", { css: Css.db.smMd.$, onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
16938
17048
|
] });
|
|
16939
17049
|
}
|
|
16940
17050
|
|
|
16941
17051
|
// src/components/Pagination.tsx
|
|
16942
|
-
import { jsx as
|
|
17052
|
+
import { jsx as jsx154, jsxs as jsxs73 } from "@emotion/react/jsx-runtime";
|
|
16943
17053
|
var defaultPage = { offset: 0, limit: 100 };
|
|
16944
17054
|
function Pagination(props) {
|
|
16945
17055
|
const { totalCount, pageSizes = [100, 500, 1e3] } = props;
|
|
@@ -16959,9 +17069,9 @@ function Pagination(props) {
|
|
|
16959
17069
|
}
|
|
16960
17070
|
}
|
|
16961
17071
|
const tid = useTestIds(props, "pagination");
|
|
16962
|
-
return /* @__PURE__ */
|
|
16963
|
-
/* @__PURE__ */
|
|
16964
|
-
/* @__PURE__ */
|
|
17072
|
+
return /* @__PURE__ */ jsxs73("div", { css: Css.df.bcGray200.bt.xs.gray500.px2.pt2.$, ...tid, children: [
|
|
17073
|
+
/* @__PURE__ */ jsx154("div", { css: Css.df.mya.mr2.$, ...tid.pageSizeLabel, children: "Page size:" }),
|
|
17074
|
+
/* @__PURE__ */ jsx154("div", { css: Css.wPx(78).$, children: /* @__PURE__ */ jsx154(
|
|
16965
17075
|
SelectField,
|
|
16966
17076
|
{
|
|
16967
17077
|
compact: true,
|
|
@@ -16973,15 +17083,15 @@ function Pagination(props) {
|
|
|
16973
17083
|
...tid.pageSize
|
|
16974
17084
|
}
|
|
16975
17085
|
) }),
|
|
16976
|
-
/* @__PURE__ */
|
|
16977
|
-
/* @__PURE__ */
|
|
17086
|
+
/* @__PURE__ */ jsxs73("div", { css: Css.mla.mya.df.$, children: [
|
|
17087
|
+
/* @__PURE__ */ jsxs73("div", { css: Css.df.mya.mr2.$, ...tid.pageInfoLabel, children: [
|
|
16978
17088
|
first,
|
|
16979
17089
|
" ",
|
|
16980
17090
|
showLast ? `- ${last}` : "",
|
|
16981
17091
|
" of ",
|
|
16982
17092
|
totalCount
|
|
16983
17093
|
] }),
|
|
16984
|
-
/* @__PURE__ */
|
|
17094
|
+
/* @__PURE__ */ jsx154(
|
|
16985
17095
|
IconButton,
|
|
16986
17096
|
{
|
|
16987
17097
|
icon: "chevronLeft",
|
|
@@ -16991,7 +17101,7 @@ function Pagination(props) {
|
|
|
16991
17101
|
...tid.previousIcon
|
|
16992
17102
|
}
|
|
16993
17103
|
),
|
|
16994
|
-
/* @__PURE__ */
|
|
17104
|
+
/* @__PURE__ */ jsx154(
|
|
16995
17105
|
IconButton,
|
|
16996
17106
|
{
|
|
16997
17107
|
icon: "chevronRight",
|
|
@@ -17019,20 +17129,20 @@ function toPageNumberSize(page) {
|
|
|
17019
17129
|
}
|
|
17020
17130
|
|
|
17021
17131
|
// src/components/ScrollShadows.tsx
|
|
17022
|
-
import { useResizeObserver as
|
|
17023
|
-
import { useCallback as useCallback22, useMemo as
|
|
17024
|
-
import { jsx as
|
|
17132
|
+
import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
|
|
17133
|
+
import { useCallback as useCallback22, useMemo as useMemo39, useRef as useRef50, useState as useState39 } from "react";
|
|
17134
|
+
import { jsx as jsx155, jsxs as jsxs74 } from "@emotion/react/jsx-runtime";
|
|
17025
17135
|
function ScrollShadows(props) {
|
|
17026
17136
|
const { children, xss, horizontal = false, bgColor = "rgba(255,255,255,1)" /* White */ } = props;
|
|
17027
|
-
const { height = "auto", width = "auto" } = xss ?? {};
|
|
17137
|
+
const { height = "auto", width: width2 = "auto" } = xss ?? {};
|
|
17028
17138
|
const tid = useTestIds(props);
|
|
17029
17139
|
if (!bgColor.includes("rgba")) {
|
|
17030
17140
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
17031
17141
|
}
|
|
17032
|
-
const [showStartShadow, setShowStartShadow] =
|
|
17033
|
-
const [showEndShadow, setShowEndShadow] =
|
|
17034
|
-
const scrollRef =
|
|
17035
|
-
const [startShadowStyles, endShadowStyles] =
|
|
17142
|
+
const [showStartShadow, setShowStartShadow] = useState39(false);
|
|
17143
|
+
const [showEndShadow, setShowEndShadow] = useState39(false);
|
|
17144
|
+
const scrollRef = useRef50(null);
|
|
17145
|
+
const [startShadowStyles, endShadowStyles] = useMemo39(() => {
|
|
17036
17146
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
17037
17147
|
const commonStyles = Css.absolute.z3.add({ pointerEvents: "none" }).$;
|
|
17038
17148
|
const startShadowStyles2 = !horizontal ? Css.top0.left0.right0.hPx(40).$ : Css.left0.top0.bottom0.wPx(25).$;
|
|
@@ -17056,16 +17166,16 @@ function ScrollShadows(props) {
|
|
|
17056
17166
|
[horizontal]
|
|
17057
17167
|
);
|
|
17058
17168
|
const onResize = useCallback22(() => scrollRef.current && updateScrollProps(scrollRef.current), [updateScrollProps]);
|
|
17059
|
-
|
|
17060
|
-
return /* @__PURE__ */
|
|
17169
|
+
useResizeObserver6({ ref: scrollRef, onResize });
|
|
17170
|
+
return /* @__PURE__ */ jsxs74(
|
|
17061
17171
|
"div",
|
|
17062
17172
|
{
|
|
17063
|
-
css: Css.relative.oh.h(height).w(
|
|
17173
|
+
css: Css.relative.oh.h(height).w(width2).df.fd(!horizontal ? "column" : "row").$,
|
|
17064
17174
|
...tid,
|
|
17065
17175
|
children: [
|
|
17066
|
-
/* @__PURE__ */
|
|
17067
|
-
/* @__PURE__ */
|
|
17068
|
-
/* @__PURE__ */
|
|
17176
|
+
/* @__PURE__ */ jsx155("div", { css: { ...startShadowStyles, opacity: showStartShadow ? 1 : 0 }, "data-chromatic": "ignore" }),
|
|
17177
|
+
/* @__PURE__ */ jsx155("div", { css: { ...endShadowStyles, opacity: showEndShadow ? 1 : 0 }, "data-chromatic": "ignore" }),
|
|
17178
|
+
/* @__PURE__ */ jsx155(
|
|
17069
17179
|
"div",
|
|
17070
17180
|
{
|
|
17071
17181
|
css: {
|
|
@@ -17142,9 +17252,9 @@ function useSnackbar() {
|
|
|
17142
17252
|
var snackbarId = 1;
|
|
17143
17253
|
|
|
17144
17254
|
// src/components/Stepper.tsx
|
|
17145
|
-
import { useRef as
|
|
17146
|
-
import { useButton as useButton11, useFocusRing as useFocusRing14, useHover as
|
|
17147
|
-
import { jsx as
|
|
17255
|
+
import { useRef as useRef51 } from "react";
|
|
17256
|
+
import { useButton as useButton11, useFocusRing as useFocusRing14, useHover as useHover18 } from "react-aria";
|
|
17257
|
+
import { jsx as jsx156, jsxs as jsxs75 } from "@emotion/react/jsx-runtime";
|
|
17148
17258
|
function Stepper(props) {
|
|
17149
17259
|
const { steps, currentStep, onChange } = props;
|
|
17150
17260
|
if (steps.length === 0) {
|
|
@@ -17155,25 +17265,25 @@ function Stepper(props) {
|
|
|
17155
17265
|
const maxStepWidth = 200;
|
|
17156
17266
|
const minStepWidth = 100;
|
|
17157
17267
|
const gap = 8;
|
|
17158
|
-
return /* @__PURE__ */
|
|
17159
|
-
/* @__PURE__ */
|
|
17268
|
+
return /* @__PURE__ */ jsxs75("nav", { "aria-label": "steps", css: Css.df.fdc.w100.$, ...tid, children: [
|
|
17269
|
+
/* @__PURE__ */ jsx156("ol", { css: Css.listReset.df.gapPx(gap).$, children: steps.map((step) => {
|
|
17160
17270
|
const isCurrent = currentStep === step.value;
|
|
17161
|
-
return /* @__PURE__ */
|
|
17271
|
+
return /* @__PURE__ */ jsx156(
|
|
17162
17272
|
"li",
|
|
17163
17273
|
{
|
|
17164
17274
|
css: Css.df.fg1.fdc.maxwPx(maxStepWidth).mwPx(minStepWidth).$,
|
|
17165
17275
|
"aria-current": isCurrent,
|
|
17166
17276
|
...tid.step,
|
|
17167
|
-
children: /* @__PURE__ */
|
|
17277
|
+
children: /* @__PURE__ */ jsx156(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton })
|
|
17168
17278
|
},
|
|
17169
17279
|
step.label
|
|
17170
17280
|
);
|
|
17171
17281
|
}) }),
|
|
17172
|
-
/* @__PURE__ */
|
|
17282
|
+
/* @__PURE__ */ jsx156(
|
|
17173
17283
|
"div",
|
|
17174
17284
|
{
|
|
17175
17285
|
css: Css.mt1.bgGray300.hPx(4).maxwPx(steps.length * maxStepWidth + (steps.length - 1) * gap).mwPx(steps.length * minStepWidth + (steps.length - 1) * gap).w100.$,
|
|
17176
|
-
children: /* @__PURE__ */
|
|
17286
|
+
children: /* @__PURE__ */ jsx156(
|
|
17177
17287
|
"div",
|
|
17178
17288
|
{
|
|
17179
17289
|
css: Css.bgBlue600.add("transition", "width 200ms").h100.w(`${(lastCompletedStep + 1) / steps.length * 100}%`).$
|
|
@@ -17186,13 +17296,13 @@ function Stepper(props) {
|
|
|
17186
17296
|
function StepButton(props) {
|
|
17187
17297
|
const { label, disabled, state, isCurrent, onClick } = props;
|
|
17188
17298
|
const ariaProps = { onPress: onClick, isDisabled: disabled };
|
|
17189
|
-
const ref =
|
|
17299
|
+
const ref = useRef51(null);
|
|
17190
17300
|
const { buttonProps, isPressed } = useButton11(ariaProps, ref);
|
|
17191
17301
|
const { isFocusVisible, focusProps } = useFocusRing14();
|
|
17192
|
-
const { hoverProps, isHovered } =
|
|
17302
|
+
const { hoverProps, isHovered } = useHover18(ariaProps);
|
|
17193
17303
|
const focusRingStyles2 = state === "error" ? Css.bshDanger.$ : Css.bshFocus.$;
|
|
17194
17304
|
const tid = useTestIds(props, "stepButton");
|
|
17195
|
-
return /* @__PURE__ */
|
|
17305
|
+
return /* @__PURE__ */ jsxs75(
|
|
17196
17306
|
"button",
|
|
17197
17307
|
{
|
|
17198
17308
|
ref,
|
|
@@ -17210,7 +17320,7 @@ function StepButton(props) {
|
|
|
17210
17320
|
},
|
|
17211
17321
|
...tid[defaultTestId(label)],
|
|
17212
17322
|
children: [
|
|
17213
|
-
/* @__PURE__ */
|
|
17323
|
+
/* @__PURE__ */ jsx156("span", { css: Css.fs0.mrPx(4).$, children: /* @__PURE__ */ jsx156(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
17214
17324
|
label
|
|
17215
17325
|
]
|
|
17216
17326
|
}
|
|
@@ -17218,12 +17328,12 @@ function StepButton(props) {
|
|
|
17218
17328
|
}
|
|
17219
17329
|
function StepIcon({ state, isHovered = false, isPressed = false, isCurrent = false }) {
|
|
17220
17330
|
if (state === "error") {
|
|
17221
|
-
return /* @__PURE__ */
|
|
17331
|
+
return /* @__PURE__ */ jsx156(Icon, { icon: "errorCircle" });
|
|
17222
17332
|
}
|
|
17223
17333
|
if (state === "complete") {
|
|
17224
|
-
return /* @__PURE__ */
|
|
17334
|
+
return /* @__PURE__ */ jsx156(Icon, { icon: "check" });
|
|
17225
17335
|
}
|
|
17226
|
-
return /* @__PURE__ */
|
|
17336
|
+
return /* @__PURE__ */ jsx156("div", { css: Css.wPx(24).hPx(24).df.aic.jcc.$, children: /* @__PURE__ */ jsx156(
|
|
17227
17337
|
"div",
|
|
17228
17338
|
{
|
|
17229
17339
|
css: Css.wPx(10).hPx(10).ba.bw2.br100.add("color", "currentColor").if(isHovered || isPressed || isCurrent).add("backgroundColor", "currentColor").$
|
|
@@ -17233,7 +17343,7 @@ function StepIcon({ state, isHovered = false, isPressed = false, isCurrent = fal
|
|
|
17233
17343
|
|
|
17234
17344
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
17235
17345
|
import { createPortal as createPortal5 } from "react-dom";
|
|
17236
|
-
import { jsx as
|
|
17346
|
+
import { jsx as jsx157, jsxs as jsxs76 } from "@emotion/react/jsx-runtime";
|
|
17237
17347
|
function SuperDrawerHeader(props) {
|
|
17238
17348
|
const { hideControls } = props;
|
|
17239
17349
|
const { sdHeaderDiv, drawerContentStack: contentStack } = useBeamContext();
|
|
@@ -17243,15 +17353,15 @@ function SuperDrawerHeader(props) {
|
|
|
17243
17353
|
const isDetail = currentContent !== firstContent;
|
|
17244
17354
|
const tid = useTestIds({}, "superDrawerHeader");
|
|
17245
17355
|
return createPortal5(
|
|
17246
|
-
/* @__PURE__ */
|
|
17247
|
-
isStructuredProps(props) ? /* @__PURE__ */
|
|
17248
|
-
/* @__PURE__ */
|
|
17249
|
-
typeof props.title === "string" ? /* @__PURE__ */
|
|
17356
|
+
/* @__PURE__ */ jsxs76("div", { css: Css.df.aic.jcsb.gap3.$, ...tid, children: [
|
|
17357
|
+
isStructuredProps(props) ? /* @__PURE__ */ jsxs76("div", { css: Css.df.jcsb.aic.gap2.fg1.$, children: [
|
|
17358
|
+
/* @__PURE__ */ jsxs76("div", { css: Css.fg1.df.aic.gap2.$, children: [
|
|
17359
|
+
typeof props.title === "string" ? /* @__PURE__ */ jsx157("h1", { children: props.title }) : props.title,
|
|
17250
17360
|
props.left
|
|
17251
17361
|
] }),
|
|
17252
|
-
props.right && /* @__PURE__ */
|
|
17253
|
-
] }) : /* @__PURE__ */
|
|
17254
|
-
!hideControls && /* @__PURE__ */
|
|
17362
|
+
props.right && /* @__PURE__ */ jsx157("div", { css: Css.fs0.$, children: props.right })
|
|
17363
|
+
] }) : /* @__PURE__ */ jsx157("div", { css: Css.fg1.$, children: props.children }),
|
|
17364
|
+
!hideControls && /* @__PURE__ */ jsx157("div", { css: Css.fs0.if(isDetail).vh.$, children: /* @__PURE__ */ jsx157(
|
|
17255
17365
|
ButtonGroup,
|
|
17256
17366
|
{
|
|
17257
17367
|
buttons: [
|
|
@@ -17270,18 +17380,18 @@ function isStructuredProps(props) {
|
|
|
17270
17380
|
}
|
|
17271
17381
|
|
|
17272
17382
|
// src/components/SuperDrawer/ConfirmCloseModal.tsx
|
|
17273
|
-
import { Fragment as Fragment29, jsx as
|
|
17383
|
+
import { Fragment as Fragment29, jsx as jsx158, jsxs as jsxs77 } from "@emotion/react/jsx-runtime";
|
|
17274
17384
|
function ConfirmCloseModal(props) {
|
|
17275
17385
|
const { onClose, discardText = "Discard Changes", continueText = "Continue Editing" } = props;
|
|
17276
17386
|
const { modalState } = useBeamContext();
|
|
17277
17387
|
function closeModal() {
|
|
17278
17388
|
modalState.current = void 0;
|
|
17279
17389
|
}
|
|
17280
|
-
return /* @__PURE__ */
|
|
17281
|
-
/* @__PURE__ */
|
|
17282
|
-
/* @__PURE__ */
|
|
17283
|
-
/* @__PURE__ */
|
|
17284
|
-
/* @__PURE__ */
|
|
17390
|
+
return /* @__PURE__ */ jsxs77(Fragment29, { children: [
|
|
17391
|
+
/* @__PURE__ */ jsx158(ModalHeader, { children: "Are you sure you want to cancel?" }),
|
|
17392
|
+
/* @__PURE__ */ jsx158(ModalBody, { children: /* @__PURE__ */ jsx158("p", { children: "Any changes you've made so far will be lost." }) }),
|
|
17393
|
+
/* @__PURE__ */ jsxs77(ModalFooter, { children: [
|
|
17394
|
+
/* @__PURE__ */ jsx158(
|
|
17285
17395
|
Button,
|
|
17286
17396
|
{
|
|
17287
17397
|
variant: "tertiary",
|
|
@@ -17292,7 +17402,7 @@ function ConfirmCloseModal(props) {
|
|
|
17292
17402
|
}
|
|
17293
17403
|
}
|
|
17294
17404
|
),
|
|
17295
|
-
/* @__PURE__ */
|
|
17405
|
+
/* @__PURE__ */ jsx158(Button, { label: continueText, onClick: closeModal })
|
|
17296
17406
|
] })
|
|
17297
17407
|
] });
|
|
17298
17408
|
}
|
|
@@ -17301,8 +17411,8 @@ function ConfirmCloseModal(props) {
|
|
|
17301
17411
|
import { motion as motion4 } from "framer-motion";
|
|
17302
17412
|
|
|
17303
17413
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
17304
|
-
import { useMemo as
|
|
17305
|
-
import { jsx as
|
|
17414
|
+
import { useMemo as useMemo40 } from "react";
|
|
17415
|
+
import { jsx as jsx159 } from "@emotion/react/jsx-runtime";
|
|
17306
17416
|
function useSuperDrawer() {
|
|
17307
17417
|
const {
|
|
17308
17418
|
drawerContentStack: contentStack,
|
|
@@ -17314,7 +17424,7 @@ function useSuperDrawer() {
|
|
|
17314
17424
|
function canCloseDrawerDetails(i, doChange) {
|
|
17315
17425
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
17316
17426
|
if (!canClose(canCloseDrawerDetail)) {
|
|
17317
|
-
openModal({ content: /* @__PURE__ */
|
|
17427
|
+
openModal({ content: /* @__PURE__ */ jsx159(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
17318
17428
|
return false;
|
|
17319
17429
|
}
|
|
17320
17430
|
}
|
|
@@ -17334,14 +17444,14 @@ function useSuperDrawer() {
|
|
|
17334
17444
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
17335
17445
|
if (!canClose(canCloseDrawer)) {
|
|
17336
17446
|
openModal({
|
|
17337
|
-
content: /* @__PURE__ */
|
|
17447
|
+
content: /* @__PURE__ */ jsx159(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
17338
17448
|
});
|
|
17339
17449
|
return;
|
|
17340
17450
|
}
|
|
17341
17451
|
}
|
|
17342
17452
|
doChange();
|
|
17343
17453
|
}
|
|
17344
|
-
const closeActions =
|
|
17454
|
+
const closeActions = useMemo40(
|
|
17345
17455
|
() => {
|
|
17346
17456
|
return {
|
|
17347
17457
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -17376,7 +17486,7 @@ function useSuperDrawer() {
|
|
|
17376
17486
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17377
17487
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
17378
17488
|
);
|
|
17379
|
-
const actions =
|
|
17489
|
+
const actions = useMemo40(
|
|
17380
17490
|
() => {
|
|
17381
17491
|
return {
|
|
17382
17492
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -17429,32 +17539,32 @@ function canClose(canCloseCheck) {
|
|
|
17429
17539
|
}
|
|
17430
17540
|
|
|
17431
17541
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
17432
|
-
import { Fragment as Fragment30, jsx as
|
|
17542
|
+
import { Fragment as Fragment30, jsx as jsx160, jsxs as jsxs78 } from "@emotion/react/jsx-runtime";
|
|
17433
17543
|
var SuperDrawerContent = ({ children, actions }) => {
|
|
17434
17544
|
const { closeDrawerDetail } = useSuperDrawer();
|
|
17435
17545
|
const { drawerContentStack: contentStack } = useBeamContext();
|
|
17436
17546
|
const { kind } = contentStack.current[contentStack.current.length - 1] ?? {};
|
|
17437
17547
|
const firstContent = contentStack.current[0]?.opts;
|
|
17438
|
-
const { width = 1040 /* Normal */ } = firstContent ?? {};
|
|
17548
|
+
const { width: width2 = 1040 /* Normal */ } = firstContent ?? {};
|
|
17439
17549
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
17440
17550
|
if (kind === "open") {
|
|
17441
|
-
return /* @__PURE__ */
|
|
17551
|
+
return /* @__PURE__ */ jsx160(motion4.div, { css: Css.p3.fg1.oa.$, children: children2 }, "content");
|
|
17442
17552
|
} else if (kind === "detail") {
|
|
17443
|
-
return /* @__PURE__ */
|
|
17553
|
+
return /* @__PURE__ */ jsxs78(
|
|
17444
17554
|
motion4.div,
|
|
17445
17555
|
{
|
|
17446
17556
|
css: Css.px3.pt2.pb3.fg1.$,
|
|
17447
17557
|
animate: { overflow: "auto" },
|
|
17448
17558
|
transition: { overflow: { delay: 0.3 } },
|
|
17449
17559
|
children: [
|
|
17450
|
-
/* @__PURE__ */
|
|
17451
|
-
/* @__PURE__ */
|
|
17560
|
+
/* @__PURE__ */ jsx160(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
17561
|
+
/* @__PURE__ */ jsx160(
|
|
17452
17562
|
motion4.div,
|
|
17453
17563
|
{
|
|
17454
|
-
initial: { x:
|
|
17564
|
+
initial: { x: width2, opacity: 0 },
|
|
17455
17565
|
animate: { x: 0, opacity: 1 },
|
|
17456
17566
|
transition: { ease: "linear", duration: 0.3, opacity: { delay: 0.15 } },
|
|
17457
|
-
exit: { x:
|
|
17567
|
+
exit: { x: width2, opacity: 0 },
|
|
17458
17568
|
css: Css.pt2.$,
|
|
17459
17569
|
children: children2
|
|
17460
17570
|
}
|
|
@@ -17464,27 +17574,27 @@ var SuperDrawerContent = ({ children, actions }) => {
|
|
|
17464
17574
|
"content"
|
|
17465
17575
|
);
|
|
17466
17576
|
} else {
|
|
17467
|
-
return /* @__PURE__ */
|
|
17577
|
+
return /* @__PURE__ */ jsx160(motion4.div, { css: Css.p3.fg1.$, style: { overflow: "auto" } }, "content");
|
|
17468
17578
|
}
|
|
17469
17579
|
}
|
|
17470
|
-
return /* @__PURE__ */
|
|
17580
|
+
return /* @__PURE__ */ jsxs78(Fragment30, { children: [
|
|
17471
17581
|
wrapWithMotionAndMaybeBack(children),
|
|
17472
|
-
actions && /* @__PURE__ */
|
|
17582
|
+
actions && /* @__PURE__ */ jsx160("footer", { css: Css.bt.bcGray200.p3.df.aic.jcfe.$, children: /* @__PURE__ */ jsx160("div", { css: Css.df.gap1.$, children: actions.map((buttonProps, i) => /* @__PURE__ */ jsx160(Button, { ...buttonProps }, i)) }) })
|
|
17473
17583
|
] });
|
|
17474
17584
|
};
|
|
17475
17585
|
|
|
17476
17586
|
// src/components/Tabs.tsx
|
|
17477
17587
|
import { camelCase as camelCase5 } from "change-case";
|
|
17478
|
-
import { useEffect as useEffect28, useMemo as
|
|
17479
|
-
import { mergeProps as mergeProps13, useFocusRing as useFocusRing15, useHover as
|
|
17588
|
+
import { useEffect as useEffect28, useMemo as useMemo41, useRef as useRef52, useState as useState40 } from "react";
|
|
17589
|
+
import { mergeProps as mergeProps13, useFocusRing as useFocusRing15, useHover as useHover19 } from "react-aria";
|
|
17480
17590
|
import { matchPath, Route } from "react-router";
|
|
17481
17591
|
import { Link as Link5, useLocation } from "react-router-dom";
|
|
17482
|
-
import { Fragment as Fragment31, jsx as
|
|
17592
|
+
import { Fragment as Fragment31, jsx as jsx161, jsxs as jsxs79 } from "@emotion/react/jsx-runtime";
|
|
17483
17593
|
function TabsWithContent(props) {
|
|
17484
17594
|
const styles = hideTabs(props) ? {} : Css.pt3.$;
|
|
17485
|
-
return /* @__PURE__ */
|
|
17486
|
-
/* @__PURE__ */
|
|
17487
|
-
/* @__PURE__ */
|
|
17595
|
+
return /* @__PURE__ */ jsxs79(Fragment31, { children: [
|
|
17596
|
+
/* @__PURE__ */ jsx161(Tabs, { ...props }),
|
|
17597
|
+
/* @__PURE__ */ jsx161(TabContent, { ...props, contentXss: { ...styles, ...props.contentXss } })
|
|
17488
17598
|
] });
|
|
17489
17599
|
}
|
|
17490
17600
|
function TabContent(props) {
|
|
@@ -17499,7 +17609,7 @@ function TabContent(props) {
|
|
|
17499
17609
|
return (
|
|
17500
17610
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
17501
17611
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
17502
|
-
/* @__PURE__ */
|
|
17612
|
+
/* @__PURE__ */ jsx161(FullBleed, { omitPadding: "paddingLeft" in contentXss || "paddingRight" in contentXss, children: /* @__PURE__ */ jsx161(
|
|
17503
17613
|
"div",
|
|
17504
17614
|
{
|
|
17505
17615
|
"aria-labelledby": `${uniqueValue}-tab`,
|
|
@@ -17508,7 +17618,7 @@ function TabContent(props) {
|
|
|
17508
17618
|
tabIndex: 0,
|
|
17509
17619
|
...tid.panel,
|
|
17510
17620
|
css: contentXss,
|
|
17511
|
-
children: isRouteTab(selectedTab) ? /* @__PURE__ */
|
|
17621
|
+
children: isRouteTab(selectedTab) ? /* @__PURE__ */ jsx161(Route, { path: selectedTab.path, render: selectedTab.render }) : selectedTab.render()
|
|
17512
17622
|
}
|
|
17513
17623
|
) })
|
|
17514
17624
|
);
|
|
@@ -17521,8 +17631,8 @@ function Tabs(props) {
|
|
|
17521
17631
|
) : props.selected;
|
|
17522
17632
|
const { isFocusVisible, focusProps } = useFocusRing15();
|
|
17523
17633
|
const tid = useTestIds(others, "tabs");
|
|
17524
|
-
const [active, setActive] =
|
|
17525
|
-
const ref =
|
|
17634
|
+
const [active, setActive] = useState40(selected);
|
|
17635
|
+
const ref = useRef52(null);
|
|
17526
17636
|
useEffect28(() => setActive(selected), [selected]);
|
|
17527
17637
|
function onKeyUp(e) {
|
|
17528
17638
|
if (e.key === "ArrowLeft" || e.key === "ArrowRight") {
|
|
@@ -17539,10 +17649,10 @@ function Tabs(props) {
|
|
|
17539
17649
|
setActive(selected);
|
|
17540
17650
|
}
|
|
17541
17651
|
}
|
|
17542
|
-
return /* @__PURE__ */
|
|
17543
|
-
!hideTabs(props) && /* @__PURE__ */
|
|
17652
|
+
return /* @__PURE__ */ jsxs79("div", { css: { ...Css.df.aic.oa.wsnw.gap1.$, ...includeBottomBorder ? { ...Css.bb.bcGray200.$ } : {} }, children: [
|
|
17653
|
+
!hideTabs(props) && /* @__PURE__ */ jsx161("div", { ref, css: Css.dif.gap1.asfe.$, "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
17544
17654
|
const uniqueValue = uniqueTabValue(tab);
|
|
17545
|
-
return /* @__PURE__ */
|
|
17655
|
+
return /* @__PURE__ */ jsx161(
|
|
17546
17656
|
TabImpl,
|
|
17547
17657
|
{
|
|
17548
17658
|
active: active === uniqueValue,
|
|
@@ -17557,15 +17667,15 @@ function Tabs(props) {
|
|
|
17557
17667
|
uniqueValue
|
|
17558
17668
|
);
|
|
17559
17669
|
}) }),
|
|
17560
|
-
right && /* @__PURE__ */
|
|
17670
|
+
right && /* @__PURE__ */ jsx161("div", { css: Css.mla.df.aic.gap1.pb1.$, children: right })
|
|
17561
17671
|
] });
|
|
17562
17672
|
}
|
|
17563
17673
|
function TabImpl(props) {
|
|
17564
17674
|
const { tab, onClick, active, onKeyUp, onBlur, focusProps, isFocusVisible = false, ...others } = props;
|
|
17565
17675
|
const { disabled = false, name: label, icon, endAdornment } = tab;
|
|
17566
17676
|
const isDisabled = !!disabled;
|
|
17567
|
-
const { hoverProps, isHovered } =
|
|
17568
|
-
const { baseStyles:
|
|
17677
|
+
const { hoverProps, isHovered } = useHover19({ isDisabled });
|
|
17678
|
+
const { baseStyles: baseStyles5, activeStyles: activeStyles4, focusRingStyles: focusRingStyles2, hoverStyles: hoverStyles4, disabledStyles: disabledStyles4, activeHoverStyles } = useMemo41(
|
|
17569
17679
|
() => getTabStyles(),
|
|
17570
17680
|
[]
|
|
17571
17681
|
);
|
|
@@ -17579,9 +17689,9 @@ function TabImpl(props) {
|
|
|
17579
17689
|
tabIndex: active ? 0 : -1,
|
|
17580
17690
|
...others,
|
|
17581
17691
|
css: {
|
|
17582
|
-
...
|
|
17692
|
+
...baseStyles5,
|
|
17583
17693
|
...active && activeStyles4,
|
|
17584
|
-
...isDisabled &&
|
|
17694
|
+
...isDisabled && disabledStyles4,
|
|
17585
17695
|
...isHovered && hoverStyles4,
|
|
17586
17696
|
...isHovered && active && activeHoverStyles,
|
|
17587
17697
|
...isFocusVisible && active && focusRingStyles2
|
|
@@ -17592,15 +17702,15 @@ function TabImpl(props) {
|
|
|
17592
17702
|
onBlur,
|
|
17593
17703
|
...isRouteTab(tab) ? {} : { onClick: () => onClick(tab.value) }
|
|
17594
17704
|
});
|
|
17595
|
-
const tabLabel = /* @__PURE__ */
|
|
17705
|
+
const tabLabel = /* @__PURE__ */ jsxs79(Fragment31, { children: [
|
|
17596
17706
|
label,
|
|
17597
|
-
(icon || endAdornment) && /* @__PURE__ */
|
|
17707
|
+
(icon || endAdornment) && /* @__PURE__ */ jsx161("span", { css: Css.ml1.$, children: icon ? /* @__PURE__ */ jsx161(Icon, { icon }) : endAdornment })
|
|
17598
17708
|
] });
|
|
17599
17709
|
return isDisabled ? maybeTooltip({
|
|
17600
17710
|
title: resolveTooltip(disabled),
|
|
17601
17711
|
placement: "top",
|
|
17602
|
-
children: /* @__PURE__ */
|
|
17603
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */
|
|
17712
|
+
children: /* @__PURE__ */ jsx161("div", { ...tabProps, children: tabLabel })
|
|
17713
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ jsx161(Link5, { ...{ ...tabProps, ...interactiveProps }, className: "navLink", to: tab.href, children: tabLabel }) : /* @__PURE__ */ jsx161("button", { ...{ ...tabProps, ...interactiveProps }, children: tabLabel });
|
|
17604
17714
|
}
|
|
17605
17715
|
function getTabStyles() {
|
|
17606
17716
|
const borderBottomWidthPx = 4;
|
|
@@ -17636,53 +17746,12 @@ function hideTabs(props) {
|
|
|
17636
17746
|
return props.alwaysShowAllTabs ? false : props.tabs.filter((t) => !t.disabled).length === 1;
|
|
17637
17747
|
}
|
|
17638
17748
|
|
|
17639
|
-
// src/components/Tag.tsx
|
|
17640
|
-
import { useResizeObserver as useResizeObserver6 } from "@react-aria/utils";
|
|
17641
|
-
import { useRef as useRef52, useState as useState40 } from "react";
|
|
17642
|
-
import { jsx as jsx160, jsxs as jsxs78 } from "@emotion/react/jsx-runtime";
|
|
17643
|
-
function Tag(props) {
|
|
17644
|
-
const { text, type, xss, preventTooltip = false, ...otherProps } = props;
|
|
17645
|
-
const typeStyles2 = getStyles(type);
|
|
17646
|
-
const tid = useTestIds(otherProps);
|
|
17647
|
-
const [showTooltip, setShowTooltip] = useState40(false);
|
|
17648
|
-
const ref = useRef52(null);
|
|
17649
|
-
useResizeObserver6({
|
|
17650
|
-
ref,
|
|
17651
|
-
onResize: () => {
|
|
17652
|
-
if (ref.current) {
|
|
17653
|
-
setShowTooltip(ref.current.offsetHeight < ref.current.scrollHeight);
|
|
17654
|
-
}
|
|
17655
|
-
}
|
|
17656
|
-
});
|
|
17657
|
-
return maybeTooltip({
|
|
17658
|
-
title: !preventTooltip && showTooltip ? text : void 0,
|
|
17659
|
-
children: /* @__PURE__ */ jsxs78("span", { ...tid, css: { ...Css.dif.tinySb.ttu.aic.gapPx(4).pxPx(6).pyPx(2).gray900.br4.$, ...typeStyles2, ...xss }, children: [
|
|
17660
|
-
otherProps.icon && /* @__PURE__ */ jsx160("span", { css: Css.fs0.$, children: /* @__PURE__ */ jsx160(Icon, { icon: otherProps.icon, inc: 1.5 }) }),
|
|
17661
|
-
/* @__PURE__ */ jsx160("span", { ref, css: Css.lineClamp1.wbba.$, children: text })
|
|
17662
|
-
] })
|
|
17663
|
-
});
|
|
17664
|
-
}
|
|
17665
|
-
function getStyles(type) {
|
|
17666
|
-
switch (type) {
|
|
17667
|
-
case "info":
|
|
17668
|
-
return Css.bgBlue100.$;
|
|
17669
|
-
case "caution":
|
|
17670
|
-
return Css.bgYellow200.$;
|
|
17671
|
-
case "warning":
|
|
17672
|
-
return Css.bgRed200.$;
|
|
17673
|
-
case "success":
|
|
17674
|
-
return Css.bgGreen200.$;
|
|
17675
|
-
default:
|
|
17676
|
-
return Css.bgGray200.$;
|
|
17677
|
-
}
|
|
17678
|
-
}
|
|
17679
|
-
|
|
17680
17749
|
// src/components/Toast/Toast.tsx
|
|
17681
|
-
import { Fragment as Fragment32, jsx as
|
|
17750
|
+
import { Fragment as Fragment32, jsx as jsx162 } from "@emotion/react/jsx-runtime";
|
|
17682
17751
|
function Toast() {
|
|
17683
17752
|
const { setNotice, notice } = useToastContext();
|
|
17684
17753
|
const tid = useTestIds({}, "toast");
|
|
17685
|
-
return /* @__PURE__ */
|
|
17754
|
+
return /* @__PURE__ */ jsx162(Fragment32, { children: notice && /* @__PURE__ */ jsx162(Banner, { ...notice, ...tid, onClose: () => setNotice(void 0) }) });
|
|
17686
17755
|
}
|
|
17687
17756
|
|
|
17688
17757
|
// src/components/Toast/useToast.tsx
|
|
@@ -17733,6 +17802,7 @@ export {
|
|
|
17733
17802
|
ButtonGroup,
|
|
17734
17803
|
ButtonMenu,
|
|
17735
17804
|
ButtonModal,
|
|
17805
|
+
Card,
|
|
17736
17806
|
Checkbox,
|
|
17737
17807
|
CheckboxGroup,
|
|
17738
17808
|
Chip,
|
|
@@ -17854,6 +17924,9 @@ export {
|
|
|
17854
17924
|
calcColumnSizes,
|
|
17855
17925
|
cardStyle,
|
|
17856
17926
|
checkboxFilter,
|
|
17927
|
+
chipBaseStyles,
|
|
17928
|
+
chipDisabledStyles,
|
|
17929
|
+
chipHoverStyles,
|
|
17857
17930
|
collapseColumn,
|
|
17858
17931
|
column,
|
|
17859
17932
|
condensedStyle,
|