@homebound/beam 2.409.0 → 2.411.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 +422 -387
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +54 -30
- package/dist/index.d.ts +54 -30
- package/dist/index.js +354 -319
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -14071,8 +14071,8 @@ var variantStyles2 = {
|
|
|
14071
14071
|
};
|
|
14072
14072
|
|
|
14073
14073
|
// src/components/BeamContext.tsx
|
|
14074
|
-
var
|
|
14075
|
-
var
|
|
14074
|
+
var import_react100 = require("react");
|
|
14075
|
+
var import_react_aria46 = require("react-aria");
|
|
14076
14076
|
|
|
14077
14077
|
// src/components/Modal/Modal.tsx
|
|
14078
14078
|
var import_utils71 = require("@react-aria/utils");
|
|
@@ -15977,19 +15977,68 @@ function FullBleed({ children, omitPadding = false }) {
|
|
|
15977
15977
|
}
|
|
15978
15978
|
|
|
15979
15979
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
15980
|
-
var
|
|
15980
|
+
var import_react97 = __toESM(require("react"), 1);
|
|
15981
15981
|
|
|
15982
|
-
// src/components/
|
|
15983
|
-
var
|
|
15982
|
+
// src/components/ButtonMenu.tsx
|
|
15983
|
+
var import_react90 = require("react");
|
|
15984
15984
|
var import_react_aria44 = require("react-aria");
|
|
15985
|
+
var import_react_stately17 = require("react-stately");
|
|
15986
|
+
var import_jsx_runtime125 = require("@emotion/react/jsx-runtime");
|
|
15987
|
+
function ButtonMenu(props) {
|
|
15988
|
+
const { defaultOpen, disabled, items, persistentItems, trigger, searchable, contrast = false } = props;
|
|
15989
|
+
let selectedItem, onChange;
|
|
15990
|
+
if (isSelectionButtonMenuProps(props)) {
|
|
15991
|
+
selectedItem = props.selectedItem;
|
|
15992
|
+
onChange = props.onChange;
|
|
15993
|
+
}
|
|
15994
|
+
const state = (0, import_react_stately17.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
15995
|
+
const buttonRef = (0, import_react90.useRef)(null);
|
|
15996
|
+
const { menuTriggerProps, menuProps } = (0, import_react_aria44.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
15997
|
+
const tid = useTestIds(
|
|
15998
|
+
props,
|
|
15999
|
+
isTextButton(trigger) ? labelOr(trigger, "buttonMenu") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
16000
|
+
);
|
|
16001
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
16002
|
+
OverlayTrigger,
|
|
16003
|
+
{
|
|
16004
|
+
...props,
|
|
16005
|
+
menuTriggerProps,
|
|
16006
|
+
state,
|
|
16007
|
+
buttonRef,
|
|
16008
|
+
...tid,
|
|
16009
|
+
contrast,
|
|
16010
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
16011
|
+
Menu,
|
|
16012
|
+
{
|
|
16013
|
+
ariaMenuProps: menuProps,
|
|
16014
|
+
onClose: () => state.close(),
|
|
16015
|
+
items,
|
|
16016
|
+
persistentItems,
|
|
16017
|
+
searchable,
|
|
16018
|
+
contrast,
|
|
16019
|
+
selectedItem,
|
|
16020
|
+
onChange,
|
|
16021
|
+
...tid
|
|
16022
|
+
}
|
|
16023
|
+
)
|
|
16024
|
+
}
|
|
16025
|
+
);
|
|
16026
|
+
}
|
|
16027
|
+
function isSelectionButtonMenuProps(props) {
|
|
16028
|
+
return typeof props === "object" && "selectedItem" in props && "onChange" in props;
|
|
16029
|
+
}
|
|
16030
|
+
|
|
16031
|
+
// src/components/Filters/FilterDropdownMenu.tsx
|
|
16032
|
+
var import_react94 = require("react");
|
|
16033
|
+
var import_react_aria45 = require("react-aria");
|
|
15985
16034
|
|
|
15986
16035
|
// src/components/CountBadge.tsx
|
|
15987
|
-
var
|
|
16036
|
+
var import_jsx_runtime126 = require("@emotion/react/jsx-runtime");
|
|
15988
16037
|
function CountBadge(props) {
|
|
15989
16038
|
const { count, bgColor = "rgba(29, 78, 216, 1)" /* Blue700 */, color = "rgba(255,255,255,1)" /* White */, hideIfZero = false, ...otherProps } = props;
|
|
15990
16039
|
const tid = useTestIds(otherProps, "countBadge");
|
|
15991
16040
|
if (hideIfZero && count === 0) return null;
|
|
15992
|
-
return /* @__PURE__ */ (0,
|
|
16041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
15993
16042
|
"span",
|
|
15994
16043
|
{
|
|
15995
16044
|
...tid,
|
|
@@ -16022,7 +16071,7 @@ var BaseFilter = class {
|
|
|
16022
16071
|
};
|
|
16023
16072
|
|
|
16024
16073
|
// src/components/Filters/DateFilter.tsx
|
|
16025
|
-
var
|
|
16074
|
+
var import_jsx_runtime127 = require("@emotion/react/jsx-runtime");
|
|
16026
16075
|
function dateFilter(props) {
|
|
16027
16076
|
return (key) => new DateFilter(key, props);
|
|
16028
16077
|
}
|
|
@@ -16030,10 +16079,10 @@ var anyOption = {};
|
|
|
16030
16079
|
var DateFilter = class extends BaseFilter {
|
|
16031
16080
|
render(value, setValue, tid, inModal, vertical) {
|
|
16032
16081
|
const { label, operations, getOperationValue, getOperationLabel } = this.props;
|
|
16033
|
-
return /* @__PURE__ */ (0,
|
|
16034
|
-
vertical && /* @__PURE__ */ (0,
|
|
16035
|
-
/* @__PURE__ */ (0,
|
|
16036
|
-
/* @__PURE__ */ (0,
|
|
16082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
|
|
16083
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Label, { label }),
|
|
16084
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(CompoundField, { children: [
|
|
16085
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
16037
16086
|
SelectField,
|
|
16038
16087
|
{
|
|
16039
16088
|
compact: true,
|
|
@@ -16056,7 +16105,7 @@ var DateFilter = class extends BaseFilter {
|
|
|
16056
16105
|
...tid[`${defaultTestId(this.label)}_dateOperation`]
|
|
16057
16106
|
}
|
|
16058
16107
|
),
|
|
16059
|
-
/* @__PURE__ */ (0,
|
|
16108
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
16060
16109
|
DateField,
|
|
16061
16110
|
{
|
|
16062
16111
|
compact: true,
|
|
@@ -16074,16 +16123,16 @@ var DateFilter = class extends BaseFilter {
|
|
|
16074
16123
|
};
|
|
16075
16124
|
|
|
16076
16125
|
// src/components/Filters/DateRangeFilter.tsx
|
|
16077
|
-
var
|
|
16126
|
+
var import_jsx_runtime128 = require("@emotion/react/jsx-runtime");
|
|
16078
16127
|
function dateRangeFilter(props) {
|
|
16079
16128
|
return (key) => new DateRangeFilter(key, props);
|
|
16080
16129
|
}
|
|
16081
16130
|
var DateRangeFilter = class extends BaseFilter {
|
|
16082
16131
|
render(value, setValue, tid, inModal, vertical) {
|
|
16083
16132
|
const { label, placeholderText, disabledDays, testFieldLabel, defaultValue } = this.props;
|
|
16084
|
-
return /* @__PURE__ */ (0,
|
|
16085
|
-
vertical && /* @__PURE__ */ (0,
|
|
16086
|
-
/* @__PURE__ */ (0,
|
|
16133
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
|
|
16134
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Label, { label }),
|
|
16135
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
16087
16136
|
DateRangeField,
|
|
16088
16137
|
{
|
|
16089
16138
|
compact: true,
|
|
@@ -16102,7 +16151,7 @@ var DateRangeFilter = class extends BaseFilter {
|
|
|
16102
16151
|
};
|
|
16103
16152
|
|
|
16104
16153
|
// src/components/Filters/MultiFilter.tsx
|
|
16105
|
-
var
|
|
16154
|
+
var import_jsx_runtime129 = require("@emotion/react/jsx-runtime");
|
|
16106
16155
|
function multiFilter(props) {
|
|
16107
16156
|
return (key) => new MultiFilter(key, props);
|
|
16108
16157
|
}
|
|
@@ -16112,7 +16161,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16112
16161
|
const { disabledOptions } = this.props;
|
|
16113
16162
|
const disabledOptionsWithReasons = Object.fromEntries(disabledOptions?.map(disabledOptionToKeyedTuple) ?? []);
|
|
16114
16163
|
const disabledKeys = Object.keys(disabledOptionsWithReasons);
|
|
16115
|
-
return /* @__PURE__ */ (0,
|
|
16164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
16116
16165
|
ToggleChipGroup,
|
|
16117
16166
|
{
|
|
16118
16167
|
label: this.label,
|
|
@@ -16136,7 +16185,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16136
16185
|
);
|
|
16137
16186
|
}
|
|
16138
16187
|
const { defaultValue, nothingSelectedText, ...props } = this.props;
|
|
16139
|
-
return /* @__PURE__ */ (0,
|
|
16188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
16140
16189
|
MultiSelectField,
|
|
16141
16190
|
{
|
|
16142
16191
|
...props,
|
|
@@ -16156,7 +16205,7 @@ var MultiFilter = class extends BaseFilter {
|
|
|
16156
16205
|
};
|
|
16157
16206
|
|
|
16158
16207
|
// src/components/Filters/NumberRangeFilter.tsx
|
|
16159
|
-
var
|
|
16208
|
+
var import_jsx_runtime130 = require("@emotion/react/jsx-runtime");
|
|
16160
16209
|
function numberRangeFilter(props) {
|
|
16161
16210
|
return (key) => new NumberRangeFilter(key, props);
|
|
16162
16211
|
}
|
|
@@ -16165,10 +16214,10 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16165
16214
|
const { label, numberFieldType, numberFormatOptions } = this.props;
|
|
16166
16215
|
const min = value?.min ?? void 0;
|
|
16167
16216
|
const max = value?.max ?? void 0;
|
|
16168
|
-
return /* @__PURE__ */ (0,
|
|
16169
|
-
vertical && /* @__PURE__ */ (0,
|
|
16170
|
-
/* @__PURE__ */ (0,
|
|
16171
|
-
/* @__PURE__ */ (0,
|
|
16217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_jsx_runtime130.Fragment, { children: [
|
|
16218
|
+
vertical && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { ...tid, children: [
|
|
16219
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Label, { label }),
|
|
16220
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { css: Css.pb1.$, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
16172
16221
|
NumberField,
|
|
16173
16222
|
{
|
|
16174
16223
|
labelStyle: "inline",
|
|
@@ -16184,7 +16233,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16184
16233
|
...tid[`${defaultTestId(label)}_min_vertical`]
|
|
16185
16234
|
}
|
|
16186
16235
|
) }),
|
|
16187
|
-
/* @__PURE__ */ (0,
|
|
16236
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
16188
16237
|
NumberField,
|
|
16189
16238
|
{
|
|
16190
16239
|
labelStyle: "inline",
|
|
@@ -16201,8 +16250,8 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16201
16250
|
}
|
|
16202
16251
|
)
|
|
16203
16252
|
] }),
|
|
16204
|
-
!vertical && /* @__PURE__ */ (0,
|
|
16205
|
-
/* @__PURE__ */ (0,
|
|
16253
|
+
!vertical && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(CompoundField, { ...tid, children: [
|
|
16254
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
16206
16255
|
NumberField,
|
|
16207
16256
|
{
|
|
16208
16257
|
compact: true,
|
|
@@ -16220,7 +16269,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16220
16269
|
...tid[`${defaultTestId(label)}_min`]
|
|
16221
16270
|
}
|
|
16222
16271
|
),
|
|
16223
|
-
/* @__PURE__ */ (0,
|
|
16272
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
16224
16273
|
NumberField,
|
|
16225
16274
|
{
|
|
16226
16275
|
compact: true,
|
|
@@ -16244,7 +16293,7 @@ var NumberRangeFilter = class extends BaseFilter {
|
|
|
16244
16293
|
};
|
|
16245
16294
|
|
|
16246
16295
|
// src/components/Filters/SingleFilter.tsx
|
|
16247
|
-
var
|
|
16296
|
+
var import_jsx_runtime131 = require("@emotion/react/jsx-runtime");
|
|
16248
16297
|
function singleFilter(props) {
|
|
16249
16298
|
return (key) => new SingleFilter(key, props);
|
|
16250
16299
|
}
|
|
@@ -16261,7 +16310,7 @@ var SingleFilter = class extends BaseFilter {
|
|
|
16261
16310
|
...props
|
|
16262
16311
|
} = this.props;
|
|
16263
16312
|
const options = Array.isArray(maybeOptions) ? [allOption, ...maybeOptions] : { ...maybeOptions, current: maybeOptions.current };
|
|
16264
|
-
return /* @__PURE__ */ (0,
|
|
16313
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
16265
16314
|
SelectField,
|
|
16266
16315
|
{
|
|
16267
16316
|
...props,
|
|
@@ -16282,14 +16331,14 @@ var SingleFilter = class extends BaseFilter {
|
|
|
16282
16331
|
};
|
|
16283
16332
|
|
|
16284
16333
|
// src/components/Filters/TreeFilter.tsx
|
|
16285
|
-
var
|
|
16334
|
+
var import_jsx_runtime132 = require("@emotion/react/jsx-runtime");
|
|
16286
16335
|
function treeFilter(props) {
|
|
16287
16336
|
return (key) => new TreeFilter(key, props);
|
|
16288
16337
|
}
|
|
16289
16338
|
var TreeFilter = class extends BaseFilter {
|
|
16290
16339
|
render(value, setValue, tid, inModal, vertical) {
|
|
16291
16340
|
const { defaultValue, nothingSelectedText, filterBy = "root", ...props } = this.props;
|
|
16292
|
-
return /* @__PURE__ */ (0,
|
|
16341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
16293
16342
|
TreeSelectField,
|
|
16294
16343
|
{
|
|
16295
16344
|
...props,
|
|
@@ -16310,14 +16359,14 @@ var TreeFilter = class extends BaseFilter {
|
|
|
16310
16359
|
};
|
|
16311
16360
|
|
|
16312
16361
|
// src/components/Filters/BooleanFilter.tsx
|
|
16313
|
-
var
|
|
16362
|
+
var import_jsx_runtime133 = require("@emotion/react/jsx-runtime");
|
|
16314
16363
|
function booleanFilter(props) {
|
|
16315
16364
|
return (key) => new BooleanFilter(key, props);
|
|
16316
16365
|
}
|
|
16317
16366
|
var BooleanFilter = class extends BaseFilter {
|
|
16318
16367
|
render(value, setValue, tid, inModal, vertical) {
|
|
16319
16368
|
const { options = defaultBooleanOptions, label, defaultValue, ...props } = this.props;
|
|
16320
|
-
return /* @__PURE__ */ (0,
|
|
16369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
16321
16370
|
SelectField,
|
|
16322
16371
|
{
|
|
16323
16372
|
...props,
|
|
@@ -16345,7 +16394,7 @@ var defaultBooleanOptions = [
|
|
|
16345
16394
|
];
|
|
16346
16395
|
|
|
16347
16396
|
// src/components/Filters/CheckboxFilter.tsx
|
|
16348
|
-
var
|
|
16397
|
+
var import_jsx_runtime134 = require("@emotion/react/jsx-runtime");
|
|
16349
16398
|
function checkboxFilter(props) {
|
|
16350
16399
|
return (key) => new CheckboxFilter(key, {
|
|
16351
16400
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -16356,7 +16405,7 @@ function checkboxFilter(props) {
|
|
|
16356
16405
|
var CheckboxFilter = class extends BaseFilter {
|
|
16357
16406
|
render(value, setValue, tid, inModal, vertical) {
|
|
16358
16407
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
16359
|
-
return /* @__PURE__ */ (0,
|
|
16408
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
16360
16409
|
Checkbox,
|
|
16361
16410
|
{
|
|
16362
16411
|
...props,
|
|
@@ -16375,44 +16424,44 @@ var CheckboxFilter = class extends BaseFilter {
|
|
|
16375
16424
|
};
|
|
16376
16425
|
|
|
16377
16426
|
// src/components/Filters/FilterModal.tsx
|
|
16378
|
-
var
|
|
16427
|
+
var import_react92 = require("react");
|
|
16379
16428
|
|
|
16380
16429
|
// src/components/Modal/OpenModal.tsx
|
|
16381
|
-
var
|
|
16382
|
-
var
|
|
16430
|
+
var import_react91 = require("react");
|
|
16431
|
+
var import_jsx_runtime135 = require("@emotion/react/jsx-runtime");
|
|
16383
16432
|
function OpenModal(props) {
|
|
16384
16433
|
const { openModal } = useModal();
|
|
16385
16434
|
const { size, children, keepOpen } = props;
|
|
16386
|
-
(0,
|
|
16435
|
+
(0, import_react91.useEffect)(() => {
|
|
16387
16436
|
if (!keepOpen) {
|
|
16388
16437
|
openModal({ size, content: children });
|
|
16389
16438
|
}
|
|
16390
16439
|
}, [keepOpen, openModal, size, children]);
|
|
16391
16440
|
if (keepOpen) {
|
|
16392
|
-
return /* @__PURE__ */ (0,
|
|
16441
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(Modal, { size, content: children });
|
|
16393
16442
|
} else {
|
|
16394
|
-
return /* @__PURE__ */ (0,
|
|
16443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)("div", { children: "dummy content" });
|
|
16395
16444
|
}
|
|
16396
16445
|
}
|
|
16397
16446
|
|
|
16398
16447
|
// src/components/Filters/FilterModal.tsx
|
|
16399
|
-
var
|
|
16448
|
+
var import_jsx_runtime136 = require("@emotion/react/jsx-runtime");
|
|
16400
16449
|
function FilterModal(props) {
|
|
16401
16450
|
const { filter, filters, onApply } = props;
|
|
16402
16451
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16403
16452
|
const { closeModal } = useModal();
|
|
16404
|
-
const [modalFilter, setModalFilter] = (0,
|
|
16405
|
-
return /* @__PURE__ */ (0,
|
|
16406
|
-
/* @__PURE__ */ (0,
|
|
16407
|
-
/* @__PURE__ */ (0,
|
|
16453
|
+
const [modalFilter, setModalFilter] = (0, import_react92.useState)(filter);
|
|
16454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_jsx_runtime136.Fragment, { children: [
|
|
16455
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(ModalHeader, { children: "More Filters" }),
|
|
16456
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(ModalBody, { children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { css: Css.df.fdc.$, children: safeEntries(filters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(ModalFilterItem, { label: f.hideLabelInModal ? void 0 : f.label, children: f.render(
|
|
16408
16457
|
modalFilter[key],
|
|
16409
16458
|
(value) => setModalFilter(updateFilter(modalFilter, key, value)),
|
|
16410
16459
|
testId,
|
|
16411
16460
|
true,
|
|
16412
16461
|
false
|
|
16413
16462
|
) }, key)) }) }),
|
|
16414
|
-
/* @__PURE__ */ (0,
|
|
16415
|
-
/* @__PURE__ */ (0,
|
|
16463
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(ModalFooter, { xss: Css.jcsb.$, children: [
|
|
16464
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
16416
16465
|
Button,
|
|
16417
16466
|
{
|
|
16418
16467
|
label: "Clear",
|
|
@@ -16425,9 +16474,9 @@ function FilterModal(props) {
|
|
|
16425
16474
|
...testId.modalClear
|
|
16426
16475
|
}
|
|
16427
16476
|
),
|
|
16428
|
-
/* @__PURE__ */ (0,
|
|
16429
|
-
/* @__PURE__ */ (0,
|
|
16430
|
-
/* @__PURE__ */ (0,
|
|
16477
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { css: Css.df.gap1.$, children: [
|
|
16478
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: closeModal, ...testId.modalClose }),
|
|
16479
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
16431
16480
|
Button,
|
|
16432
16481
|
{
|
|
16433
16482
|
label: "Apply",
|
|
@@ -16443,20 +16492,20 @@ function FilterModal(props) {
|
|
|
16443
16492
|
] });
|
|
16444
16493
|
}
|
|
16445
16494
|
function ModalFilterItem({ label, children }) {
|
|
16446
|
-
return /* @__PURE__ */ (0,
|
|
16447
|
-
label && /* @__PURE__ */ (0,
|
|
16448
|
-
/* @__PURE__ */ (0,
|
|
16495
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)("div", { css: Css.mb4.if(!label).bt.bcGray200.$, children: [
|
|
16496
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("h2", { css: Css.md.mb2.$, children: label }),
|
|
16497
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)("div", { css: Css.if(!label).pt3.$, children })
|
|
16449
16498
|
] });
|
|
16450
16499
|
}
|
|
16451
16500
|
|
|
16452
16501
|
// src/components/Filters/Filters.tsx
|
|
16453
|
-
var
|
|
16454
|
-
var
|
|
16502
|
+
var import_react93 = require("react");
|
|
16503
|
+
var import_jsx_runtime137 = require("@emotion/react/jsx-runtime");
|
|
16455
16504
|
function Filters(props) {
|
|
16456
16505
|
const { filter, onChange, filterDefs, groupBy, vertical = false, numberOfInlineFilters = groupBy ? 3 : 4 } = props;
|
|
16457
16506
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16458
16507
|
const { openModal } = useModal();
|
|
16459
|
-
const [pageFilters, modalFilters] = (0,
|
|
16508
|
+
const [pageFilters, modalFilters] = (0, import_react93.useMemo)(() => {
|
|
16460
16509
|
const impls = safeEntries(filterDefs).map(([key, fn]) => [key, fn(key)]);
|
|
16461
16510
|
if (!vertical && impls.length > numberOfInlineFilters) {
|
|
16462
16511
|
return [
|
|
@@ -16467,7 +16516,7 @@ function Filters(props) {
|
|
|
16467
16516
|
return [Object.fromEntries(impls), {}];
|
|
16468
16517
|
}, [numberOfInlineFilters, vertical, filterDefs]);
|
|
16469
16518
|
const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
|
|
16470
|
-
const maybeGroupByField = groupBy ? /* @__PURE__ */ (0,
|
|
16519
|
+
const maybeGroupByField = groupBy ? /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
16471
16520
|
SelectField,
|
|
16472
16521
|
{
|
|
16473
16522
|
label: "Group by",
|
|
@@ -16481,7 +16530,7 @@ function Filters(props) {
|
|
|
16481
16530
|
onSelect: (g) => g && groupBy.setValue(g)
|
|
16482
16531
|
}
|
|
16483
16532
|
) }) : null;
|
|
16484
|
-
return /* @__PURE__ */ (0,
|
|
16533
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
16485
16534
|
"div",
|
|
16486
16535
|
{
|
|
16487
16536
|
css: {
|
|
@@ -16490,29 +16539,29 @@ function Filters(props) {
|
|
|
16490
16539
|
...testId,
|
|
16491
16540
|
children: [
|
|
16492
16541
|
maybeGroupByField,
|
|
16493
|
-
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ (0,
|
|
16494
|
-
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ (0,
|
|
16542
|
+
safeEntries(pageFilters).map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, vertical) }, key)),
|
|
16543
|
+
Object.keys(modalFilters).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
16495
16544
|
Button,
|
|
16496
16545
|
{
|
|
16497
16546
|
label: "More Filters",
|
|
16498
|
-
endAdornment: /* @__PURE__ */ (0,
|
|
16547
|
+
endAdornment: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(CountBadge, { count: numModalFilters, hideIfZero: true }),
|
|
16499
16548
|
variant: "secondary",
|
|
16500
16549
|
onClick: () => openModal({
|
|
16501
16550
|
// Spreading `props` to pass along `data-testid`
|
|
16502
|
-
content: /* @__PURE__ */ (0,
|
|
16551
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(FilterModal, { ...props, filter, onApply: onChange, filters: modalFilters })
|
|
16503
16552
|
}),
|
|
16504
16553
|
...testId.moreFiltersBtn
|
|
16505
16554
|
}
|
|
16506
16555
|
),
|
|
16507
|
-
Object.keys(filter).length > 0 && /* @__PURE__ */ (0,
|
|
16556
|
+
Object.keys(filter).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn }) })
|
|
16508
16557
|
]
|
|
16509
16558
|
}
|
|
16510
16559
|
);
|
|
16511
16560
|
}
|
|
16512
|
-
var _Filters = (0,
|
|
16561
|
+
var _Filters = (0, import_react93.memo)(Filters);
|
|
16513
16562
|
|
|
16514
16563
|
// src/components/Filters/ToggleFilter.tsx
|
|
16515
|
-
var
|
|
16564
|
+
var import_jsx_runtime138 = require("@emotion/react/jsx-runtime");
|
|
16516
16565
|
function toggleFilter(props) {
|
|
16517
16566
|
return (key) => new ToggleFilter(key, {
|
|
16518
16567
|
// If the user has set the offValue, that should be the default b/c we're only a two-state
|
|
@@ -16523,7 +16572,7 @@ function toggleFilter(props) {
|
|
|
16523
16572
|
var ToggleFilter = class extends BaseFilter {
|
|
16524
16573
|
render(value, setValue, tid, inModal, vertical) {
|
|
16525
16574
|
const { defaultValue, onValue = true, offValue = void 0, ...props } = this.props;
|
|
16526
|
-
return /* @__PURE__ */ (0,
|
|
16575
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
16527
16576
|
Switch,
|
|
16528
16577
|
{
|
|
16529
16578
|
...props,
|
|
@@ -16553,14 +16602,14 @@ function updateFilter(currentFilter, key, value) {
|
|
|
16553
16602
|
var filterTestIdPrefix = "filter";
|
|
16554
16603
|
|
|
16555
16604
|
// src/components/Filters/FilterDropdownMenu.tsx
|
|
16556
|
-
var
|
|
16605
|
+
var import_jsx_runtime139 = require("@emotion/react/jsx-runtime");
|
|
16557
16606
|
function FilterDropdownMenu(props) {
|
|
16558
16607
|
const { filter, onChange, filterDefs, groupBy } = props;
|
|
16559
16608
|
const testId = useTestIds(props, filterTestIdPrefix);
|
|
16560
|
-
const [isOpen, setIsOpen] = (0,
|
|
16561
|
-
const buttonRef = (0,
|
|
16562
|
-
const filterContentRef = (0,
|
|
16563
|
-
const { overlayProps } = (0,
|
|
16609
|
+
const [isOpen, setIsOpen] = (0, import_react94.useState)(false);
|
|
16610
|
+
const buttonRef = (0, import_react94.useRef)(null);
|
|
16611
|
+
const filterContentRef = (0, import_react94.useRef)(null);
|
|
16612
|
+
const { overlayProps } = (0, import_react_aria45.useOverlay)(
|
|
16564
16613
|
{
|
|
16565
16614
|
isOpen,
|
|
16566
16615
|
onClose: () => setIsOpen(false),
|
|
@@ -16572,32 +16621,32 @@ function FilterDropdownMenu(props) {
|
|
|
16572
16621
|
},
|
|
16573
16622
|
filterContentRef
|
|
16574
16623
|
);
|
|
16575
|
-
const activeFilterCount = (0,
|
|
16576
|
-
const filterImpls = (0,
|
|
16624
|
+
const activeFilterCount = (0, import_react94.useMemo)(() => getActiveFilterCount(filter), [filter]);
|
|
16625
|
+
const filterImpls = (0, import_react94.useMemo)(() => buildFilterImpls(filterDefs), [filterDefs]);
|
|
16577
16626
|
const renderFilters = () => {
|
|
16578
16627
|
const entries = safeEntries(filterImpls);
|
|
16579
16628
|
const nonCheckbox = entries.filter(([_, f]) => !f.hideLabelInModal);
|
|
16580
16629
|
const checkbox = entries.filter(([_, f]) => f.hideLabelInModal);
|
|
16581
|
-
return [...nonCheckbox, ...checkbox].map(([key, f]) => /* @__PURE__ */ (0,
|
|
16630
|
+
return [...nonCheckbox, ...checkbox].map(([key, f]) => /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { children: f.render(filter[key], (value) => onChange(updateFilter(filter, key, value)), testId, false, false) }, key));
|
|
16582
16631
|
};
|
|
16583
|
-
return /* @__PURE__ */ (0,
|
|
16584
|
-
/* @__PURE__ */ (0,
|
|
16632
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(import_jsx_runtime139.Fragment, { children: [
|
|
16633
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { ref: buttonRef, children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
16585
16634
|
Button,
|
|
16586
16635
|
{
|
|
16587
16636
|
label: "Filter",
|
|
16588
16637
|
icon: "filter",
|
|
16589
16638
|
size: "md",
|
|
16590
|
-
endAdornment: /* @__PURE__ */ (0,
|
|
16591
|
-
activeFilterCount > 0 && /* @__PURE__ */ (0,
|
|
16592
|
-
/* @__PURE__ */ (0,
|
|
16639
|
+
endAdornment: /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)("div", { css: Css.df.aic.gap1.$, children: [
|
|
16640
|
+
activeFilterCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(CountBadge, { count: activeFilterCount }),
|
|
16641
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Icon, { icon: isOpen ? "chevronUp" : "chevronDown" })
|
|
16593
16642
|
] }),
|
|
16594
16643
|
variant: "secondaryBlack",
|
|
16595
16644
|
onClick: () => setIsOpen(!isOpen),
|
|
16596
16645
|
...testId.button
|
|
16597
16646
|
}
|
|
16598
16647
|
) }),
|
|
16599
|
-
isOpen && /* @__PURE__ */ (0,
|
|
16600
|
-
groupBy && /* @__PURE__ */ (0,
|
|
16648
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)("div", { ref: filterContentRef, ...overlayProps, css: Css.df.aic.fww.gap1.order(1).$, children: [
|
|
16649
|
+
groupBy && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
16601
16650
|
SelectField,
|
|
16602
16651
|
{
|
|
16603
16652
|
label: "Group by",
|
|
@@ -16612,9 +16661,9 @@ function FilterDropdownMenu(props) {
|
|
|
16612
16661
|
}
|
|
16613
16662
|
),
|
|
16614
16663
|
renderFilters(),
|
|
16615
|
-
activeFilterCount > 0 && /* @__PURE__ */ (0,
|
|
16664
|
+
activeFilterCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: () => onChange({}), ...testId.clearBtn })
|
|
16616
16665
|
] }),
|
|
16617
|
-
!isOpen && /* @__PURE__ */ (0,
|
|
16666
|
+
!isOpen && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
16618
16667
|
FilterChips,
|
|
16619
16668
|
{
|
|
16620
16669
|
filter,
|
|
@@ -16640,7 +16689,7 @@ function FilterChips({
|
|
|
16640
16689
|
return value.map((item) => {
|
|
16641
16690
|
const chipKey = `${String(key)}_${item}`;
|
|
16642
16691
|
const newArray = value.filter((v) => v !== item);
|
|
16643
|
-
return /* @__PURE__ */ (0,
|
|
16692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
16644
16693
|
ToggleChip,
|
|
16645
16694
|
{
|
|
16646
16695
|
text: titleCase(String(item)),
|
|
@@ -16651,7 +16700,7 @@ function FilterChips({
|
|
|
16651
16700
|
);
|
|
16652
16701
|
});
|
|
16653
16702
|
}
|
|
16654
|
-
return /* @__PURE__ */ (0,
|
|
16703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
16655
16704
|
ToggleChip,
|
|
16656
16705
|
{
|
|
16657
16706
|
text: titleCase(String(value)),
|
|
@@ -16662,9 +16711,9 @@ function FilterChips({
|
|
|
16662
16711
|
);
|
|
16663
16712
|
});
|
|
16664
16713
|
if (chips.length === 0) return null;
|
|
16665
|
-
return /* @__PURE__ */ (0,
|
|
16714
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)("div", { css: Css.df.gap1.fww.aic.order(1).$, children: [
|
|
16666
16715
|
chips,
|
|
16667
|
-
/* @__PURE__ */ (0,
|
|
16716
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Button, { label: "Clear", variant: "tertiary", onClick: onClear, ...testId.clearBtn })
|
|
16668
16717
|
] });
|
|
16669
16718
|
}
|
|
16670
16719
|
function buildFilterImpls(filterDefs) {
|
|
@@ -16676,14 +16725,95 @@ function titleCase(str) {
|
|
|
16676
16725
|
function getActiveFilterCount(filter) {
|
|
16677
16726
|
return safeKeys(filter).filter((key) => filter[key] !== void 0).length;
|
|
16678
16727
|
}
|
|
16679
|
-
var _FilterDropdownMenu = (0,
|
|
16728
|
+
var _FilterDropdownMenu = (0, import_react94.memo)(FilterDropdownMenu);
|
|
16729
|
+
|
|
16730
|
+
// src/components/Pagination.tsx
|
|
16731
|
+
var import_jsx_runtime140 = require("@emotion/react/jsx-runtime");
|
|
16732
|
+
var defaultPage = { offset: 0, limit: 100 };
|
|
16733
|
+
function Pagination(props) {
|
|
16734
|
+
const { totalCount, pageSizes = [100, 500, 1e3] } = props;
|
|
16735
|
+
const [page, setPage] = props.page;
|
|
16736
|
+
const { pageSize, pageNumber } = toPageNumberSize(page);
|
|
16737
|
+
const pageOptions = pageSizes.map((size) => ({ id: size, name: String(size) }));
|
|
16738
|
+
const hasPrevPage = pageNumber > 1;
|
|
16739
|
+
const hasNextPage = pageNumber < totalCount / pageSize;
|
|
16740
|
+
const first = pageSize * (pageNumber - 1) + (totalCount ? 1 : 0);
|
|
16741
|
+
const last = Math.min(pageSize * pageNumber, totalCount);
|
|
16742
|
+
const showLast = totalCount > 0;
|
|
16743
|
+
function set(newPage) {
|
|
16744
|
+
if ("pageNumber" in props.page[0]) {
|
|
16745
|
+
setPage(newPage);
|
|
16746
|
+
} else {
|
|
16747
|
+
setPage(toLimitAndOffset(newPage));
|
|
16748
|
+
}
|
|
16749
|
+
}
|
|
16750
|
+
const tid = useTestIds(props, "pagination");
|
|
16751
|
+
return /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { css: Css.df.bcGray200.bt.xs.gray500.px2.pt2.$, ...tid, children: [
|
|
16752
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)("div", { css: Css.df.mya.mr2.$, ...tid.pageSizeLabel, children: "Page size:" }),
|
|
16753
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)("div", { css: Css.wPx(78).$, children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
16754
|
+
SelectField,
|
|
16755
|
+
{
|
|
16756
|
+
compact: true,
|
|
16757
|
+
label: "Page Size",
|
|
16758
|
+
labelStyle: "hidden",
|
|
16759
|
+
options: pageOptions,
|
|
16760
|
+
value: pageSize,
|
|
16761
|
+
onSelect: (val) => set({ pageNumber: 1, pageSize: val }),
|
|
16762
|
+
autoSort: false,
|
|
16763
|
+
...tid.pageSize
|
|
16764
|
+
}
|
|
16765
|
+
) }),
|
|
16766
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { css: Css.mla.mya.df.$, children: [
|
|
16767
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)("div", { css: Css.df.mya.mr2.$, ...tid.pageInfoLabel, children: [
|
|
16768
|
+
first,
|
|
16769
|
+
" ",
|
|
16770
|
+
showLast ? `- ${last}` : "",
|
|
16771
|
+
" of ",
|
|
16772
|
+
totalCount
|
|
16773
|
+
] }),
|
|
16774
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
16775
|
+
IconButton,
|
|
16776
|
+
{
|
|
16777
|
+
icon: "chevronLeft",
|
|
16778
|
+
color: hasPrevPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */,
|
|
16779
|
+
onClick: () => set({ pageNumber: pageNumber - 1, pageSize }),
|
|
16780
|
+
disabled: !hasPrevPage,
|
|
16781
|
+
...tid.previousIcon
|
|
16782
|
+
}
|
|
16783
|
+
),
|
|
16784
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
16785
|
+
IconButton,
|
|
16786
|
+
{
|
|
16787
|
+
icon: "chevronRight",
|
|
16788
|
+
color: hasNextPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */,
|
|
16789
|
+
onClick: () => set({ pageNumber: pageNumber + 1, pageSize }),
|
|
16790
|
+
disabled: !hasNextPage,
|
|
16791
|
+
...tid.nextIcon
|
|
16792
|
+
}
|
|
16793
|
+
)
|
|
16794
|
+
] })
|
|
16795
|
+
] });
|
|
16796
|
+
}
|
|
16797
|
+
function toLimitAndOffset(page) {
|
|
16798
|
+
return "limit" in page ? page : {
|
|
16799
|
+
// E.g. on first page the offset is 0, second page the offset is 100, then 200, etc.
|
|
16800
|
+
offset: (page.pageNumber - 1) * page.pageSize,
|
|
16801
|
+
limit: page.pageSize
|
|
16802
|
+
};
|
|
16803
|
+
}
|
|
16804
|
+
function toPageNumberSize(page) {
|
|
16805
|
+
return "pageNumber" in page ? page : {
|
|
16806
|
+
pageNumber: Math.floor(page.offset / page.limit) + 1,
|
|
16807
|
+
pageSize: page.limit
|
|
16808
|
+
};
|
|
16809
|
+
}
|
|
16680
16810
|
|
|
16681
16811
|
// src/components/Table/TableActions.tsx
|
|
16682
|
-
var
|
|
16812
|
+
var import_jsx_runtime141 = require("@emotion/react/jsx-runtime");
|
|
16683
16813
|
function TableActions(props) {
|
|
16684
16814
|
const { xss, children, right } = props;
|
|
16685
|
-
return /* @__PURE__ */ (0,
|
|
16686
|
-
/* @__PURE__ */ (0,
|
|
16815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { css: { ...Css.df.gap1.aic.jcsb.aifs.pb2.$, ...xss }, children: [
|
|
16816
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("div", { css: Css.df.gap1.aic.fww.$, children }),
|
|
16687
16817
|
right
|
|
16688
16818
|
] });
|
|
16689
16819
|
}
|
|
@@ -16693,21 +16823,21 @@ var import_use_debounce6 = require("use-debounce");
|
|
|
16693
16823
|
var import_use_query_params3 = require("use-query-params");
|
|
16694
16824
|
|
|
16695
16825
|
// src/components/Layout/ScrollableContent.tsx
|
|
16696
|
-
var
|
|
16826
|
+
var import_react95 = require("react");
|
|
16697
16827
|
var import_react_dom4 = require("react-dom");
|
|
16698
|
-
var
|
|
16828
|
+
var import_jsx_runtime142 = require("@emotion/react/jsx-runtime");
|
|
16699
16829
|
function ScrollableContent(props) {
|
|
16700
16830
|
const { children, virtualized = false, omitBottomPadding, bgColor } = props;
|
|
16701
16831
|
const { scrollableEl, setPortalTick, pl, pr } = useScrollableParent();
|
|
16702
|
-
(0,
|
|
16832
|
+
(0, import_react95.useEffect)(() => {
|
|
16703
16833
|
setPortalTick((prev) => prev + 1);
|
|
16704
16834
|
return () => setPortalTick((prev) => prev + 1);
|
|
16705
16835
|
}, [setPortalTick]);
|
|
16706
16836
|
if (!scrollableEl) {
|
|
16707
|
-
return /* @__PURE__ */ (0,
|
|
16837
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(import_jsx_runtime142.Fragment, { children });
|
|
16708
16838
|
}
|
|
16709
16839
|
return (0, import_react_dom4.createPortal)(
|
|
16710
|
-
/* @__PURE__ */ (0,
|
|
16840
|
+
/* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
|
|
16711
16841
|
"div",
|
|
16712
16842
|
{
|
|
16713
16843
|
css: {
|
|
@@ -16723,10 +16853,10 @@ function ScrollableContent(props) {
|
|
|
16723
16853
|
}
|
|
16724
16854
|
|
|
16725
16855
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
16726
|
-
var
|
|
16856
|
+
var import_react96 = require("react");
|
|
16727
16857
|
|
|
16728
16858
|
// src/components/LoadingSkeleton.tsx
|
|
16729
|
-
var
|
|
16859
|
+
var import_jsx_runtime143 = require("@emotion/react/jsx-runtime");
|
|
16730
16860
|
function LoadingSkeleton({
|
|
16731
16861
|
rows = 1,
|
|
16732
16862
|
columns = 1,
|
|
@@ -16739,7 +16869,7 @@ function LoadingSkeleton({
|
|
|
16739
16869
|
const rowHeight = sizeToPixels2[size];
|
|
16740
16870
|
const rowCells = (rowNumber) => {
|
|
16741
16871
|
const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
|
|
16742
|
-
return cellArray.map((_, i) => /* @__PURE__ */ (0,
|
|
16872
|
+
return cellArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
16743
16873
|
"div",
|
|
16744
16874
|
{
|
|
16745
16875
|
css: Css.br4.add("animation", "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite").add("flexGrow", flexGrowForCell).bgGray300.if(contrast).bgGray700.$
|
|
@@ -16747,7 +16877,7 @@ function LoadingSkeleton({
|
|
|
16747
16877
|
`row-${rowNumber}-cell-${i}`
|
|
16748
16878
|
));
|
|
16749
16879
|
};
|
|
16750
|
-
return /* @__PURE__ */ (0,
|
|
16880
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)("div", { css: Css.df.gap1.mb1.hPx(rowHeight).$, children: rowCells(i) }, `row-${i}`)) });
|
|
16751
16881
|
}
|
|
16752
16882
|
function getRandomizedFlexBasisByRowIndex(rowIndex) {
|
|
16753
16883
|
const randomizedFlexBasisValues = [0.65, 0.8, 0.75, 0.9, 0.8, 0.85, 0.8, 0.95];
|
|
@@ -16761,27 +16891,27 @@ var sizeToPixels2 = {
|
|
|
16761
16891
|
};
|
|
16762
16892
|
|
|
16763
16893
|
// src/components/Layout/GridTableLayout/QueryTable.tsx
|
|
16764
|
-
var
|
|
16894
|
+
var import_jsx_runtime144 = require("@emotion/react/jsx-runtime");
|
|
16765
16895
|
function QueryTable(props) {
|
|
16766
16896
|
const { emptyFallback, query, createRows, getPageInfo, columns, keepHeaderWhenLoading, ...others } = props;
|
|
16767
16897
|
const data = query.loading || query.error ? void 0 : query.data;
|
|
16768
|
-
const rows = (0,
|
|
16898
|
+
const rows = (0, import_react96.useMemo)(() => createRows(data), [createRows, data]);
|
|
16769
16899
|
const hasNextPage = data && getPageInfo && getPageInfo(data).hasNextPage;
|
|
16770
16900
|
const infoMessage = hasNextPage ? "Too many rows" : void 0;
|
|
16771
16901
|
const fallbackMessage = query.loading ? "Loading\u2026" : query.error ? `Error: ${query.error.message}` : emptyFallback;
|
|
16772
16902
|
const headers = rows.filter((row) => row.kind === "header");
|
|
16773
|
-
return query.loading ? /* @__PURE__ */ (0,
|
|
16903
|
+
return query.loading ? /* @__PURE__ */ (0, import_jsx_runtime144.jsx)("div", { children: keepHeaderWhenLoading ? /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(GridTable, { ...{ columns, ...others }, rows: headers, fallbackMessage }) : /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(LoadingTable, { columns: columns.length }) }) : /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(GridTable, { ...{ rows, columns, fallbackMessage, infoMessage, ...others } });
|
|
16774
16904
|
}
|
|
16775
16905
|
function LoadingTable(props) {
|
|
16776
16906
|
const { columns } = props;
|
|
16777
|
-
return /* @__PURE__ */ (0,
|
|
16778
|
-
/* @__PURE__ */ (0,
|
|
16779
|
-
/* @__PURE__ */ (0,
|
|
16907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(import_jsx_runtime144.Fragment, { children: [
|
|
16908
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(LoadingSkeleton, { rows: 1, columns: 1 }),
|
|
16909
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(LoadingSkeleton, { rows: 5, columns: columns ?? 5 })
|
|
16780
16910
|
] });
|
|
16781
16911
|
}
|
|
16782
16912
|
|
|
16783
16913
|
// src/components/Layout/GridTableLayout/GridTableLayout.tsx
|
|
16784
|
-
var
|
|
16914
|
+
var import_jsx_runtime145 = require("@emotion/react/jsx-runtime");
|
|
16785
16915
|
function isGridTableProps(props) {
|
|
16786
16916
|
return "rows" in props;
|
|
16787
16917
|
}
|
|
@@ -16794,16 +16924,18 @@ function GridTableLayoutComponent(props) {
|
|
|
16794
16924
|
primaryAction,
|
|
16795
16925
|
secondaryAction,
|
|
16796
16926
|
tertiaryAction,
|
|
16797
|
-
|
|
16927
|
+
actionMenu,
|
|
16928
|
+
hideEditColumns = false,
|
|
16929
|
+
totalCount
|
|
16798
16930
|
} = props;
|
|
16799
16931
|
const tid = useTestIds(props);
|
|
16800
16932
|
const columns = tableProps.columns;
|
|
16801
|
-
const hasHideableColumns = (0,
|
|
16933
|
+
const hasHideableColumns = (0, import_react97.useMemo)(() => {
|
|
16802
16934
|
if (hideEditColumns) return false;
|
|
16803
16935
|
validateColumns(columns);
|
|
16804
16936
|
return columns.some((c) => c.canHide);
|
|
16805
16937
|
}, [columns, hideEditColumns]);
|
|
16806
|
-
const api = (0,
|
|
16938
|
+
const api = (0, import_react97.useMemo)(
|
|
16807
16939
|
() => tableProps.api ?? new GridTableApiImpl(),
|
|
16808
16940
|
[tableProps.api]
|
|
16809
16941
|
);
|
|
@@ -16811,27 +16943,28 @@ function GridTableLayoutComponent(props) {
|
|
|
16811
16943
|
const showTableActions = layoutState?.filterDefs || layoutState?.search || hasHideableColumns;
|
|
16812
16944
|
const isVirtualized = tableProps.as === "virtual";
|
|
16813
16945
|
const visibleColumnIds = useComputed(() => api.getVisibleColumnIds(), [api]);
|
|
16814
|
-
(0,
|
|
16946
|
+
(0, import_react97.useEffect)(() => {
|
|
16815
16947
|
if (layoutState?.setVisibleColumnIds) {
|
|
16816
16948
|
layoutState.setVisibleColumnIds(visibleColumnIds);
|
|
16817
16949
|
}
|
|
16818
16950
|
}, [visibleColumnIds, layoutState]);
|
|
16819
16951
|
const visibleColumnsStorageKey = layoutState?.persistedColumnsStorageKey;
|
|
16820
|
-
return /* @__PURE__ */ (0,
|
|
16821
|
-
/* @__PURE__ */ (0,
|
|
16952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(import_jsx_runtime145.Fragment, { children: [
|
|
16953
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
16822
16954
|
Header2,
|
|
16823
16955
|
{
|
|
16824
16956
|
pageTitle,
|
|
16825
16957
|
breadcrumb,
|
|
16826
16958
|
primaryAction,
|
|
16827
16959
|
secondaryAction,
|
|
16828
|
-
tertiaryAction
|
|
16960
|
+
tertiaryAction,
|
|
16961
|
+
actionMenu
|
|
16829
16962
|
}
|
|
16830
16963
|
),
|
|
16831
|
-
showTableActions && /* @__PURE__ */ (0,
|
|
16964
|
+
showTableActions && /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
16832
16965
|
TableActions,
|
|
16833
16966
|
{
|
|
16834
|
-
right: hasHideableColumns && /* @__PURE__ */ (0,
|
|
16967
|
+
right: hasHideableColumns && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
16835
16968
|
EditColumnsButton,
|
|
16836
16969
|
{
|
|
16837
16970
|
columns,
|
|
@@ -16842,8 +16975,8 @@ function GridTableLayoutComponent(props) {
|
|
|
16842
16975
|
}
|
|
16843
16976
|
),
|
|
16844
16977
|
children: [
|
|
16845
|
-
layoutState?.search && /* @__PURE__ */ (0,
|
|
16846
|
-
layoutState?.filterDefs && /* @__PURE__ */ (0,
|
|
16978
|
+
layoutState?.search && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(SearchBox, { onSearch: layoutState.setSearchString }),
|
|
16979
|
+
layoutState?.filterDefs && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
16847
16980
|
_FilterDropdownMenu,
|
|
16848
16981
|
{
|
|
16849
16982
|
filterDefs: layoutState.filterDefs,
|
|
@@ -16855,30 +16988,41 @@ function GridTableLayoutComponent(props) {
|
|
|
16855
16988
|
]
|
|
16856
16989
|
}
|
|
16857
16990
|
),
|
|
16858
|
-
/* @__PURE__ */ (0,
|
|
16859
|
-
|
|
16860
|
-
|
|
16861
|
-
|
|
16862
|
-
|
|
16863
|
-
|
|
16864
|
-
|
|
16865
|
-
|
|
16866
|
-
|
|
16867
|
-
|
|
16868
|
-
|
|
16869
|
-
|
|
16870
|
-
|
|
16871
|
-
|
|
16872
|
-
|
|
16873
|
-
|
|
16874
|
-
|
|
16875
|
-
|
|
16876
|
-
|
|
16877
|
-
|
|
16878
|
-
|
|
16991
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(ScrollableContent, { virtualized: isVirtualized, children: [
|
|
16992
|
+
isGridTableProps(tableProps) ? /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
16993
|
+
GridTable,
|
|
16994
|
+
{
|
|
16995
|
+
...tableProps,
|
|
16996
|
+
api,
|
|
16997
|
+
filter: clientSearch,
|
|
16998
|
+
style: { allWhite: true },
|
|
16999
|
+
stickyHeader: true,
|
|
17000
|
+
visibleColumnsStorageKey
|
|
17001
|
+
}
|
|
17002
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
17003
|
+
QueryTable,
|
|
17004
|
+
{
|
|
17005
|
+
...tableProps,
|
|
17006
|
+
api,
|
|
17007
|
+
filter: clientSearch,
|
|
17008
|
+
style: { allWhite: true },
|
|
17009
|
+
stickyHeader: true,
|
|
17010
|
+
visibleColumnsStorageKey
|
|
17011
|
+
}
|
|
17012
|
+
),
|
|
17013
|
+
layoutState && totalCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
17014
|
+
Pagination,
|
|
17015
|
+
{
|
|
17016
|
+
page: [layoutState.page, layoutState._pagination.setPage],
|
|
17017
|
+
totalCount,
|
|
17018
|
+
pageSizes: layoutState._pagination.pageSizes,
|
|
17019
|
+
...tid.pagination
|
|
17020
|
+
}
|
|
17021
|
+
)
|
|
17022
|
+
] })
|
|
16879
17023
|
] });
|
|
16880
17024
|
}
|
|
16881
|
-
var GridTableLayout =
|
|
17025
|
+
var GridTableLayout = import_react97.default.memo(GridTableLayoutComponent);
|
|
16882
17026
|
function validateColumns(columns) {
|
|
16883
17027
|
for (const col of columns) {
|
|
16884
17028
|
if (!col.id || !col.name) {
|
|
@@ -16890,17 +17034,33 @@ function useGridTableLayoutState({
|
|
|
16890
17034
|
persistedFilter,
|
|
16891
17035
|
persistedColumns,
|
|
16892
17036
|
search,
|
|
16893
|
-
groupBy: maybeGroupBy
|
|
17037
|
+
groupBy: maybeGroupBy,
|
|
17038
|
+
pagination
|
|
16894
17039
|
}) {
|
|
16895
17040
|
const filterFallback = { filterDefs: {}, storageKey: "unset-filter" };
|
|
16896
17041
|
const { filter, setFilter } = usePersistedFilter(persistedFilter ?? filterFallback);
|
|
16897
17042
|
const groupBy = useGroupBy(maybeGroupBy ?? { none: "none" });
|
|
16898
|
-
const [searchString, setSearchString] = (0,
|
|
17043
|
+
const [searchString, setSearchString] = (0, import_react97.useState)("");
|
|
16899
17044
|
const columnsFallback = "unset-columns";
|
|
16900
17045
|
const [visibleColumnIds, setVisibleColumnIds] = useSessionStorage(
|
|
16901
17046
|
persistedColumns?.storageKey ?? columnsFallback,
|
|
16902
17047
|
void 0
|
|
16903
17048
|
);
|
|
17049
|
+
const paginationFallbackKey = "unset-pagination";
|
|
17050
|
+
const pageSizes = pagination?.pageSizes ?? [100, 500, 1e3];
|
|
17051
|
+
const [persistedPageSize, setPersistedPageSize] = useSessionStorage(
|
|
17052
|
+
pagination?.storageKey ?? paginationFallbackKey,
|
|
17053
|
+
100
|
|
17054
|
+
// default page size
|
|
17055
|
+
);
|
|
17056
|
+
const [page, setPage] = (0, import_react97.useState)({
|
|
17057
|
+
offset: 0,
|
|
17058
|
+
limit: persistedPageSize
|
|
17059
|
+
});
|
|
17060
|
+
(0, import_react97.useEffect)(() => {
|
|
17061
|
+
if (page.limit !== persistedPageSize) setPersistedPageSize(page.limit);
|
|
17062
|
+
setPage((prev) => ({ ...prev, offset: 0 }));
|
|
17063
|
+
}, [page.limit, persistedPageSize, setPersistedPageSize, filter, searchString]);
|
|
16904
17064
|
return {
|
|
16905
17065
|
filter,
|
|
16906
17066
|
setFilter,
|
|
@@ -16911,33 +17071,38 @@ function useGridTableLayoutState({
|
|
|
16911
17071
|
groupBy: maybeGroupBy ? groupBy : void 0,
|
|
16912
17072
|
visibleColumnIds: persistedColumns ? visibleColumnIds : void 0,
|
|
16913
17073
|
setVisibleColumnIds: persistedColumns ? setVisibleColumnIds : void 0,
|
|
16914
|
-
persistedColumnsStorageKey: persistedColumns?.storageKey
|
|
17074
|
+
persistedColumnsStorageKey: persistedColumns?.storageKey,
|
|
17075
|
+
/** Current page offset/limit - use this for server query variables */
|
|
17076
|
+
page,
|
|
17077
|
+
/** @internal Used by GridTableLayout component */
|
|
17078
|
+
_pagination: { setPage, pageSizes }
|
|
16915
17079
|
};
|
|
16916
17080
|
}
|
|
16917
17081
|
function Header2(props) {
|
|
16918
|
-
const { pageTitle, breadcrumb, primaryAction, secondaryAction, tertiaryAction } = props;
|
|
17082
|
+
const { pageTitle, breadcrumb, primaryAction, secondaryAction, tertiaryAction, actionMenu } = props;
|
|
16919
17083
|
const tids = useTestIds(props);
|
|
16920
|
-
return /* @__PURE__ */ (0,
|
|
16921
|
-
/* @__PURE__ */ (0,
|
|
16922
|
-
breadcrumb && /* @__PURE__ */ (0,
|
|
16923
|
-
/* @__PURE__ */ (0,
|
|
17084
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(FullBleed, { children: /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)("header", { css: { ...Css.p3.mb3.mhPx(50).bgWhite.df.jcsb.aic.$ }, ...tids.header, children: [
|
|
17085
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsxs)("div", { children: [
|
|
17086
|
+
breadcrumb && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(PageHeaderBreadcrumbs, { breadcrumb }),
|
|
17087
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)("h1", { css: Css.xl2.mt1.$, ...tids.pageTitle, children: pageTitle })
|
|
16924
17088
|
] }),
|
|
16925
|
-
/* @__PURE__ */ (0,
|
|
16926
|
-
tertiaryAction && /* @__PURE__ */ (0,
|
|
16927
|
-
secondaryAction && /* @__PURE__ */ (0,
|
|
16928
|
-
primaryAction && /* @__PURE__ */ (0,
|
|
17089
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsxs)("div", { css: Css.df.fwr.jcfe.gap1.aic.$, children: [
|
|
17090
|
+
tertiaryAction && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(Button, { ...tertiaryAction, variant: "tertiary" }),
|
|
17091
|
+
secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(Button, { ...secondaryAction, variant: "secondary" }),
|
|
17092
|
+
primaryAction && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(Button, { ...primaryAction }),
|
|
17093
|
+
actionMenu && /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(ButtonMenu, { ...actionMenu, trigger: { icon: "verticalDots" } })
|
|
16929
17094
|
] })
|
|
16930
17095
|
] }) });
|
|
16931
17096
|
}
|
|
16932
17097
|
function SearchBox({ onSearch }) {
|
|
16933
17098
|
const [{ search: initialValue }, setQueryParams] = (0, import_use_query_params3.useQueryParams)({ search: import_use_query_params3.StringParam });
|
|
16934
|
-
const [value, setValue] = (0,
|
|
17099
|
+
const [value, setValue] = (0, import_react97.useState)(initialValue || "");
|
|
16935
17100
|
const [debouncedSearch] = (0, import_use_debounce6.useDebounce)(value, 300);
|
|
16936
|
-
(0,
|
|
17101
|
+
(0, import_react97.useEffect)(() => {
|
|
16937
17102
|
onSearch(debouncedSearch);
|
|
16938
17103
|
setQueryParams({ search: debouncedSearch || void 0 }, "replaceIn");
|
|
16939
17104
|
}, [debouncedSearch, onSearch, setQueryParams]);
|
|
16940
|
-
return /* @__PURE__ */ (0,
|
|
17105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)("div", { css: Css.wPx(244).$, children: /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
16941
17106
|
TextField,
|
|
16942
17107
|
{
|
|
16943
17108
|
label: "Search",
|
|
@@ -16946,26 +17111,26 @@ function SearchBox({ onSearch }) {
|
|
|
16946
17111
|
onChange: (v) => setValue(v ?? ""),
|
|
16947
17112
|
placeholder: "Search",
|
|
16948
17113
|
clearable: true,
|
|
16949
|
-
startAdornment: /* @__PURE__ */ (0,
|
|
17114
|
+
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(Icon, { icon: "search", color: "rgba(100, 100, 100, 1)" /* Gray700 */ })
|
|
16950
17115
|
}
|
|
16951
17116
|
) });
|
|
16952
17117
|
}
|
|
16953
17118
|
|
|
16954
17119
|
// src/components/Layout/PreventBrowserScroll.tsx
|
|
16955
|
-
var
|
|
17120
|
+
var import_jsx_runtime146 = require("@emotion/react/jsx-runtime");
|
|
16956
17121
|
function PreventBrowserScroll({ children }) {
|
|
16957
17122
|
return (
|
|
16958
17123
|
// Take over the full viewport and hide any overflown content.
|
|
16959
17124
|
// Using `-webkit-fill-available`, otherwise `height: 100vh` includes the app bars in mobile Safari. See https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
|
|
16960
17125
|
// Setting the multiple "(min|max-)height" properties is necessary, as Truss will turn this into an object and there can only be one `height` property.
|
|
16961
|
-
/* @__PURE__ */ (0,
|
|
17126
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { css: Css.oh.vh100.mh("-webkit-fill-available").maxh("-webkit-fill-available").$, children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { css: Css.h100.df.fdc.mh0.oa.$, children }) })
|
|
16962
17127
|
);
|
|
16963
17128
|
}
|
|
16964
17129
|
|
|
16965
17130
|
// src/components/Layout/RightPaneLayout/RightPaneContext.tsx
|
|
16966
|
-
var
|
|
16967
|
-
var
|
|
16968
|
-
var RightPaneContext =
|
|
17131
|
+
var import_react98 = __toESM(require("react"), 1);
|
|
17132
|
+
var import_jsx_runtime147 = require("@emotion/react/jsx-runtime");
|
|
17133
|
+
var RightPaneContext = import_react98.default.createContext({
|
|
16969
17134
|
openInPane: () => {
|
|
16970
17135
|
},
|
|
16971
17136
|
closePane: () => {
|
|
@@ -16976,37 +17141,37 @@ var RightPaneContext = import_react97.default.createContext({
|
|
|
16976
17141
|
rightPaneContent: null
|
|
16977
17142
|
});
|
|
16978
17143
|
function RightPaneProvider({ children }) {
|
|
16979
|
-
const [rightPaneContent, setRightPaneContent] = (0,
|
|
16980
|
-
const [isRightPaneOpen, setIsRightPaneOpen] = (0,
|
|
16981
|
-
const openInPane = (0,
|
|
17144
|
+
const [rightPaneContent, setRightPaneContent] = (0, import_react98.useState)(void 0);
|
|
17145
|
+
const [isRightPaneOpen, setIsRightPaneOpen] = (0, import_react98.useState)(false);
|
|
17146
|
+
const openInPane = (0, import_react98.useCallback)(
|
|
16982
17147
|
(opts) => {
|
|
16983
17148
|
setRightPaneContent(opts?.content);
|
|
16984
17149
|
setIsRightPaneOpen(true);
|
|
16985
17150
|
},
|
|
16986
17151
|
[setRightPaneContent]
|
|
16987
17152
|
);
|
|
16988
|
-
const closePane = (0,
|
|
16989
|
-
const clearPane = (0,
|
|
16990
|
-
const context = (0,
|
|
17153
|
+
const closePane = (0, import_react98.useCallback)(() => setIsRightPaneOpen(false), []);
|
|
17154
|
+
const clearPane = (0, import_react98.useCallback)(() => setRightPaneContent(void 0), [setRightPaneContent]);
|
|
17155
|
+
const context = (0, import_react98.useMemo)(
|
|
16991
17156
|
() => ({ openInPane, closePane, clearPane, rightPaneContent, isRightPaneOpen }),
|
|
16992
17157
|
[openInPane, closePane, rightPaneContent, clearPane, isRightPaneOpen]
|
|
16993
17158
|
);
|
|
16994
|
-
return /* @__PURE__ */ (0,
|
|
17159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(RightPaneContext.Provider, { value: context, children });
|
|
16995
17160
|
}
|
|
16996
17161
|
function useRightPaneContext() {
|
|
16997
|
-
return (0,
|
|
17162
|
+
return (0, import_react98.useContext)(RightPaneContext);
|
|
16998
17163
|
}
|
|
16999
17164
|
|
|
17000
17165
|
// src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
|
|
17001
17166
|
var import_framer_motion3 = require("framer-motion");
|
|
17002
|
-
var
|
|
17003
|
-
var
|
|
17167
|
+
var import_react99 = require("react");
|
|
17168
|
+
var import_jsx_runtime148 = require("@emotion/react/jsx-runtime");
|
|
17004
17169
|
function RightPaneLayout(props) {
|
|
17005
17170
|
const { children, paneBgColor = "rgba(255,255,255,1)" /* White */, paneWidth = 450, defaultPaneContent } = props;
|
|
17006
17171
|
const { isRightPaneOpen, rightPaneContent, clearPane, closePane } = useRightPaneContext();
|
|
17007
|
-
(0,
|
|
17008
|
-
return /* @__PURE__ */ (0,
|
|
17009
|
-
/* @__PURE__ */ (0,
|
|
17172
|
+
(0, import_react99.useEffect)(() => closePane, [closePane]);
|
|
17173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { css: Css.h100.df.oxh.$, children: /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(import_jsx_runtime148.Fragment, { children: [
|
|
17174
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
17010
17175
|
"div",
|
|
17011
17176
|
{
|
|
17012
17177
|
css: {
|
|
@@ -17017,15 +17182,15 @@ function RightPaneLayout(props) {
|
|
|
17017
17182
|
children
|
|
17018
17183
|
}
|
|
17019
17184
|
),
|
|
17020
|
-
/* @__PURE__ */ (0,
|
|
17021
|
-
defaultPaneContent && /* @__PURE__ */ (0,
|
|
17185
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { css: Css.relative.if(!!defaultPaneContent).wPx(paneWidth).$, children: [
|
|
17186
|
+
defaultPaneContent && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
17022
17187
|
"div",
|
|
17023
17188
|
{
|
|
17024
17189
|
css: Css.h100.wPx(paneWidth).left(0).absolute.add("transition", "all .3s ease-in-out").if(isRightPaneOpen).add("opacity", 0).left(100).$,
|
|
17025
17190
|
children: defaultPaneContent
|
|
17026
17191
|
}
|
|
17027
17192
|
),
|
|
17028
|
-
/* @__PURE__ */ (0,
|
|
17193
|
+
/* @__PURE__ */ (0, import_jsx_runtime148.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
|
|
17029
17194
|
import_framer_motion3.motion.div,
|
|
17030
17195
|
{
|
|
17031
17196
|
layout: "position",
|
|
@@ -17054,8 +17219,8 @@ function useRightPane() {
|
|
|
17054
17219
|
}
|
|
17055
17220
|
|
|
17056
17221
|
// src/components/BeamContext.tsx
|
|
17057
|
-
var
|
|
17058
|
-
var BeamContext = (0,
|
|
17222
|
+
var import_jsx_runtime149 = require("@emotion/react/jsx-runtime");
|
|
17223
|
+
var BeamContext = (0, import_react100.createContext)({
|
|
17059
17224
|
modalState: new EmptyRef(),
|
|
17060
17225
|
modalCanCloseChecks: new EmptyRef(),
|
|
17061
17226
|
modalHeaderDiv: void 0,
|
|
@@ -17067,21 +17232,21 @@ var BeamContext = (0, import_react99.createContext)({
|
|
|
17067
17232
|
sdHeaderDiv: void 0
|
|
17068
17233
|
});
|
|
17069
17234
|
function BeamProvider({ children, ...presentationProps }) {
|
|
17070
|
-
const [, tick] = (0,
|
|
17071
|
-
const modalRef = (0,
|
|
17072
|
-
const modalHeaderDiv = (0,
|
|
17073
|
-
const modalBodyDiv = (0,
|
|
17235
|
+
const [, tick] = (0, import_react100.useReducer)((prev) => prev + 1, 0);
|
|
17236
|
+
const modalRef = (0, import_react100.useRef)();
|
|
17237
|
+
const modalHeaderDiv = (0, import_react100.useMemo)(() => document.createElement("div"), []);
|
|
17238
|
+
const modalBodyDiv = (0, import_react100.useMemo)(() => {
|
|
17074
17239
|
const el = document.createElement("div");
|
|
17075
17240
|
el.style.height = "100%";
|
|
17076
17241
|
return el;
|
|
17077
17242
|
}, []);
|
|
17078
|
-
const modalCanCloseChecksRef = (0,
|
|
17079
|
-
const modalFooterDiv = (0,
|
|
17080
|
-
const drawerContentStackRef = (0,
|
|
17081
|
-
const drawerCanCloseChecks = (0,
|
|
17082
|
-
const drawerCanCloseDetailsChecks = (0,
|
|
17083
|
-
const sdHeaderDiv = (0,
|
|
17084
|
-
const context = (0,
|
|
17243
|
+
const modalCanCloseChecksRef = (0, import_react100.useRef)([]);
|
|
17244
|
+
const modalFooterDiv = (0, import_react100.useMemo)(() => document.createElement("div"), []);
|
|
17245
|
+
const drawerContentStackRef = (0, import_react100.useRef)([]);
|
|
17246
|
+
const drawerCanCloseChecks = (0, import_react100.useRef)([]);
|
|
17247
|
+
const drawerCanCloseDetailsChecks = (0, import_react100.useRef)([]);
|
|
17248
|
+
const sdHeaderDiv = (0, import_react100.useMemo)(() => document.createElement("div"), []);
|
|
17249
|
+
const context = (0, import_react100.useMemo)(() => {
|
|
17085
17250
|
return {
|
|
17086
17251
|
// These two keys need to trigger re-renders on change
|
|
17087
17252
|
modalState: new PretendRefThatTicks(modalRef, tick),
|
|
@@ -17096,12 +17261,12 @@ function BeamProvider({ children, ...presentationProps }) {
|
|
|
17096
17261
|
sdHeaderDiv
|
|
17097
17262
|
};
|
|
17098
17263
|
}, [modalBodyDiv, modalFooterDiv, modalHeaderDiv, sdHeaderDiv]);
|
|
17099
|
-
return /* @__PURE__ */ (0,
|
|
17100
|
-
/* @__PURE__ */ (0,
|
|
17264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(BeamContext.Provider, { value: { ...context }, children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(PresentationProvider, { ...presentationProps, children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(RightPaneProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(AutoSaveStatusProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(SnackbarProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(ToastProvider, { children: [
|
|
17265
|
+
/* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_react_aria46.OverlayProvider, { children: [
|
|
17101
17266
|
children,
|
|
17102
|
-
modalRef.current && /* @__PURE__ */ (0,
|
|
17267
|
+
modalRef.current && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(Modal, { ...modalRef.current })
|
|
17103
17268
|
] }),
|
|
17104
|
-
/* @__PURE__ */ (0,
|
|
17269
|
+
/* @__PURE__ */ (0, import_jsx_runtime149.jsx)(SuperDrawer, {})
|
|
17105
17270
|
] }) }) }) }) }) });
|
|
17106
17271
|
}
|
|
17107
17272
|
var PretendRefThatTicks = class {
|
|
@@ -17118,24 +17283,24 @@ var PretendRefThatTicks = class {
|
|
|
17118
17283
|
}
|
|
17119
17284
|
};
|
|
17120
17285
|
function useBeamContext() {
|
|
17121
|
-
return (0,
|
|
17286
|
+
return (0, import_react100.useContext)(BeamContext);
|
|
17122
17287
|
}
|
|
17123
17288
|
|
|
17124
17289
|
// src/components/ButtonDatePicker.tsx
|
|
17125
|
-
var
|
|
17126
|
-
var
|
|
17127
|
-
var
|
|
17128
|
-
var
|
|
17290
|
+
var import_react101 = require("react");
|
|
17291
|
+
var import_react_aria47 = require("react-aria");
|
|
17292
|
+
var import_react_stately18 = require("react-stately");
|
|
17293
|
+
var import_jsx_runtime150 = require("@emotion/react/jsx-runtime");
|
|
17129
17294
|
function ButtonDatePicker(props) {
|
|
17130
17295
|
const { defaultOpen, disabled, trigger, onSelect, ...datePickerProps } = props;
|
|
17131
|
-
const state = (0,
|
|
17132
|
-
const buttonRef = (0,
|
|
17133
|
-
const { menuTriggerProps, menuProps } = (0,
|
|
17296
|
+
const state = (0, import_react_stately18.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
17297
|
+
const buttonRef = (0, import_react101.useRef)(null);
|
|
17298
|
+
const { menuTriggerProps, menuProps } = (0, import_react_aria47.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
17134
17299
|
const tid = useTestIds(
|
|
17135
17300
|
props,
|
|
17136
17301
|
isTextButton(trigger) ? defaultTestId(labelOr(trigger, "buttonDatePicker")) : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
17137
17302
|
);
|
|
17138
|
-
return /* @__PURE__ */ (0,
|
|
17303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(OverlayTrigger, { ...props, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(DatePickerOverlay, { overlayProps: menuProps, children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
|
|
17139
17304
|
DatePicker,
|
|
17140
17305
|
{
|
|
17141
17306
|
...datePickerProps,
|
|
@@ -17149,9 +17314,9 @@ function ButtonDatePicker(props) {
|
|
|
17149
17314
|
}
|
|
17150
17315
|
|
|
17151
17316
|
// src/components/ButtonGroup.tsx
|
|
17152
|
-
var
|
|
17153
|
-
var
|
|
17154
|
-
var
|
|
17317
|
+
var import_react102 = require("react");
|
|
17318
|
+
var import_react_aria48 = require("react-aria");
|
|
17319
|
+
var import_jsx_runtime151 = (
|
|
17155
17320
|
// Disable the button if the ButtonGroup is disabled or if the current button is disabled.
|
|
17156
17321
|
require("@emotion/react/jsx-runtime")
|
|
17157
17322
|
);
|
|
@@ -17160,21 +17325,21 @@ function ButtonGroup(props) {
|
|
|
17160
17325
|
const tid = useTestIds(props, "buttonGroup");
|
|
17161
17326
|
return (
|
|
17162
17327
|
// Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
|
|
17163
|
-
/* @__PURE__ */ (0,
|
|
17328
|
+
/* @__PURE__ */ (0, import_jsx_runtime151.jsx)("div", { ...tid, css: Css.df.lh(0).add({ ...sizeStyles2[size] }).$, children: buttons.map(({ disabled: buttonDisabled, ...buttonProps }, i) => /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(GroupButton, { ...buttonProps, disabled: disabled || buttonDisabled, size, ...tid }, i)) })
|
|
17164
17329
|
);
|
|
17165
17330
|
}
|
|
17166
17331
|
function GroupButton(props) {
|
|
17167
17332
|
const { icon, iconInc, iconColor, text, active, onClick: onPress, disabled, size, tooltip, ...otherProps } = props;
|
|
17168
17333
|
const ariaProps = { onPress, isDisabled: !!disabled, ...otherProps };
|
|
17169
|
-
const ref = (0,
|
|
17170
|
-
const { buttonProps, isPressed } = (0,
|
|
17171
|
-
const { isFocusVisible, focusProps } = (0,
|
|
17172
|
-
const { hoverProps, isHovered } = (0,
|
|
17334
|
+
const ref = (0, import_react102.useRef)(null);
|
|
17335
|
+
const { buttonProps, isPressed } = (0, import_react_aria48.useButton)(ariaProps, ref);
|
|
17336
|
+
const { isFocusVisible, focusProps } = (0, import_react_aria48.useFocusRing)();
|
|
17337
|
+
const { hoverProps, isHovered } = (0, import_react_aria48.useHover)(ariaProps);
|
|
17173
17338
|
const tid = useTestIds(props);
|
|
17174
|
-
return /* @__PURE__ */ (0,
|
|
17339
|
+
return /* @__PURE__ */ (0, import_jsx_runtime151.jsx)("span", { css: getButtonStyles2(), children: maybeTooltip({
|
|
17175
17340
|
title: resolveTooltip(disabled, tooltip),
|
|
17176
17341
|
placement: "top",
|
|
17177
|
-
children: /* @__PURE__ */ (0,
|
|
17342
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime151.jsxs)(
|
|
17178
17343
|
"button",
|
|
17179
17344
|
{
|
|
17180
17345
|
ref,
|
|
@@ -17191,7 +17356,7 @@ function GroupButton(props) {
|
|
|
17191
17356
|
},
|
|
17192
17357
|
...tid[defaultTestId(typeof text === "string" && text || icon || "button")],
|
|
17193
17358
|
children: [
|
|
17194
|
-
icon && /* @__PURE__ */ (0,
|
|
17359
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(Icon, { xss: Css.if(!!text).mrPx(4).$, icon, color: disabled ? void 0 : iconColor, inc: iconInc }),
|
|
17195
17360
|
text
|
|
17196
17361
|
]
|
|
17197
17362
|
}
|
|
@@ -17224,70 +17389,21 @@ var iconStyles2 = {
|
|
|
17224
17389
|
md: Css.px1.$
|
|
17225
17390
|
};
|
|
17226
17391
|
|
|
17227
|
-
// src/components/ButtonMenu.tsx
|
|
17228
|
-
var import_react102 = require("react");
|
|
17229
|
-
var import_react_aria48 = require("react-aria");
|
|
17230
|
-
var import_react_stately18 = require("react-stately");
|
|
17231
|
-
var import_jsx_runtime150 = require("@emotion/react/jsx-runtime");
|
|
17232
|
-
function ButtonMenu(props) {
|
|
17233
|
-
const { defaultOpen, disabled, items, persistentItems, trigger, searchable, contrast = false } = props;
|
|
17234
|
-
let selectedItem, onChange;
|
|
17235
|
-
if (isSelectionButtonMenuProps(props)) {
|
|
17236
|
-
selectedItem = props.selectedItem;
|
|
17237
|
-
onChange = props.onChange;
|
|
17238
|
-
}
|
|
17239
|
-
const state = (0, import_react_stately18.useMenuTriggerState)({ isOpen: defaultOpen });
|
|
17240
|
-
const buttonRef = (0, import_react102.useRef)(null);
|
|
17241
|
-
const { menuTriggerProps, menuProps } = (0, import_react_aria48.useMenuTrigger)({ isDisabled: !!disabled }, state, buttonRef);
|
|
17242
|
-
const tid = useTestIds(
|
|
17243
|
-
props,
|
|
17244
|
-
isTextButton(trigger) ? labelOr(trigger, "buttonMenu") : isNavLinkButton(trigger) ? defaultTestId(trigger.navLabel) : isIconButton(trigger) ? trigger.icon : trigger.name
|
|
17245
|
-
);
|
|
17246
|
-
return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
|
|
17247
|
-
OverlayTrigger,
|
|
17248
|
-
{
|
|
17249
|
-
...props,
|
|
17250
|
-
menuTriggerProps,
|
|
17251
|
-
state,
|
|
17252
|
-
buttonRef,
|
|
17253
|
-
...tid,
|
|
17254
|
-
contrast,
|
|
17255
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
|
|
17256
|
-
Menu,
|
|
17257
|
-
{
|
|
17258
|
-
ariaMenuProps: menuProps,
|
|
17259
|
-
onClose: () => state.close(),
|
|
17260
|
-
items,
|
|
17261
|
-
persistentItems,
|
|
17262
|
-
searchable,
|
|
17263
|
-
contrast,
|
|
17264
|
-
selectedItem,
|
|
17265
|
-
onChange,
|
|
17266
|
-
...tid
|
|
17267
|
-
}
|
|
17268
|
-
)
|
|
17269
|
-
}
|
|
17270
|
-
);
|
|
17271
|
-
}
|
|
17272
|
-
function isSelectionButtonMenuProps(props) {
|
|
17273
|
-
return typeof props === "object" && "selectedItem" in props && "onChange" in props;
|
|
17274
|
-
}
|
|
17275
|
-
|
|
17276
17392
|
// src/components/Card.tsx
|
|
17277
17393
|
var import_react104 = require("react");
|
|
17278
17394
|
var import_react_aria49 = require("react-aria");
|
|
17279
17395
|
|
|
17280
17396
|
// src/components/Tag.tsx
|
|
17281
|
-
var
|
|
17397
|
+
var import_utils115 = require("@react-aria/utils");
|
|
17282
17398
|
var import_react103 = require("react");
|
|
17283
|
-
var
|
|
17399
|
+
var import_jsx_runtime152 = require("@emotion/react/jsx-runtime");
|
|
17284
17400
|
function Tag(props) {
|
|
17285
17401
|
const { text, type, xss, preventTooltip = false, ...otherProps } = props;
|
|
17286
17402
|
const typeStyles2 = getStyles(type);
|
|
17287
17403
|
const tid = useTestIds(otherProps);
|
|
17288
17404
|
const [showTooltip, setShowTooltip] = (0, import_react103.useState)(false);
|
|
17289
17405
|
const ref = (0, import_react103.useRef)(null);
|
|
17290
|
-
(0,
|
|
17406
|
+
(0, import_utils115.useResizeObserver)({
|
|
17291
17407
|
ref,
|
|
17292
17408
|
onResize: () => {
|
|
17293
17409
|
if (ref.current) {
|
|
@@ -17297,9 +17413,9 @@ function Tag(props) {
|
|
|
17297
17413
|
});
|
|
17298
17414
|
return maybeTooltip({
|
|
17299
17415
|
title: !preventTooltip && showTooltip ? text : void 0,
|
|
17300
|
-
children: /* @__PURE__ */ (0,
|
|
17301
|
-
otherProps.icon && /* @__PURE__ */ (0,
|
|
17302
|
-
/* @__PURE__ */ (0,
|
|
17416
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("span", { ...tid, css: { ...Css.dif.xs2Sb.ttu.aic.gapPx(4).pxPx(6).pyPx(2).gray900.br4.$, ...typeStyles2, ...xss }, children: [
|
|
17417
|
+
otherProps.icon && /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("span", { css: Css.fs0.$, children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(Icon, { icon: otherProps.icon, inc: 1.5 }) }),
|
|
17418
|
+
/* @__PURE__ */ (0, import_jsx_runtime152.jsx)("span", { ref, css: Css.lineClamp1.wbba.$, children: text })
|
|
17303
17419
|
] })
|
|
17304
17420
|
});
|
|
17305
17421
|
}
|
|
@@ -17319,7 +17435,7 @@ function getStyles(type) {
|
|
|
17319
17435
|
}
|
|
17320
17436
|
|
|
17321
17437
|
// src/components/Card.tsx
|
|
17322
|
-
var
|
|
17438
|
+
var import_jsx_runtime153 = require("@emotion/react/jsx-runtime");
|
|
17323
17439
|
function Card(props) {
|
|
17324
17440
|
const {
|
|
17325
17441
|
title,
|
|
@@ -17347,31 +17463,31 @@ function Card(props) {
|
|
|
17347
17463
|
}),
|
|
17348
17464
|
[isDisabled, isHovered, bordered, type, isList]
|
|
17349
17465
|
);
|
|
17350
|
-
return /* @__PURE__ */ (0,
|
|
17351
|
-
/* @__PURE__ */ (0,
|
|
17466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("div", { css: styles, ...hoverProps, ...tid, children: [
|
|
17467
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
17352
17468
|
"div",
|
|
17353
17469
|
{
|
|
17354
17470
|
css: {
|
|
17355
17471
|
...Css.hPx(imgHeight).ba.br8.bcGray300.oh.df.asc.jsc.relative.add("filter", "brightness(1)").$,
|
|
17356
17472
|
...isHovered && !isList && imageHoverStyles
|
|
17357
17473
|
},
|
|
17358
|
-
children: /* @__PURE__ */ (0,
|
|
17474
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("img", { css: Css.w100.h100.objectFit(imageFit).$, src: imgSrc, alt: title, ...tid.img })
|
|
17359
17475
|
}
|
|
17360
17476
|
),
|
|
17361
|
-
isHovered && buttonMenuItems && /* @__PURE__ */ (0,
|
|
17477
|
+
isHovered && buttonMenuItems && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { css: Css.absolute.right1.top1.if(bordered && !isList).right3.top3.$, children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
|
|
17362
17478
|
ButtonMenu,
|
|
17363
17479
|
{
|
|
17364
17480
|
trigger: { icon: "verticalDots", color: isList ? "rgba(100, 100, 100, 1)" /* Gray700 */ : "rgba(255,255,255,1)" /* White */ },
|
|
17365
17481
|
items: buttonMenuItems
|
|
17366
17482
|
}
|
|
17367
17483
|
) }),
|
|
17368
|
-
tag && /* @__PURE__ */ (0,
|
|
17369
|
-
/* @__PURE__ */ (0,
|
|
17370
|
-
/* @__PURE__ */ (0,
|
|
17371
|
-
/* @__PURE__ */ (0,
|
|
17372
|
-
/* @__PURE__ */ (0,
|
|
17484
|
+
tag && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { css: Css.absolute.left1.topPx(4).$, children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
|
|
17485
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("div", { css: Css.df.fdc.aifs.gap1.$, children: [
|
|
17486
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("div", { children: [
|
|
17487
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { css: Css.xsSb.gray700.$, ...tid.subtitle, children: subtitle }),
|
|
17488
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { css: Css.smSb.gray900.if(isHovered).blue700.$, ...tid.title, children: title })
|
|
17373
17489
|
] }),
|
|
17374
|
-
/* @__PURE__ */ (0,
|
|
17490
|
+
/* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { ...tid.details, children: detailContent })
|
|
17375
17491
|
] })
|
|
17376
17492
|
] });
|
|
17377
17493
|
}
|
|
@@ -17384,9 +17500,9 @@ var cardHoverStyles = Css.bcGray400.cursorPointer.$;
|
|
|
17384
17500
|
var imageHoverStyles = Css.bgWhite.add("filter", "brightness(0.3)").add("transition", "filter 0.3s ease").$;
|
|
17385
17501
|
|
|
17386
17502
|
// src/components/Copy.tsx
|
|
17387
|
-
var
|
|
17503
|
+
var import_jsx_runtime154 = require("@emotion/react/jsx-runtime");
|
|
17388
17504
|
function Copy(props) {
|
|
17389
|
-
return /* @__PURE__ */ (0,
|
|
17505
|
+
return /* @__PURE__ */ (0, import_jsx_runtime154.jsx)(
|
|
17390
17506
|
"div",
|
|
17391
17507
|
{
|
|
17392
17508
|
css: {
|
|
@@ -17414,7 +17530,7 @@ function useDnDGridContext() {
|
|
|
17414
17530
|
}
|
|
17415
17531
|
|
|
17416
17532
|
// src/components/DnDGrid/DnDGrid.tsx
|
|
17417
|
-
var
|
|
17533
|
+
var import_jsx_runtime155 = require("@emotion/react/jsx-runtime");
|
|
17418
17534
|
function DnDGrid(props) {
|
|
17419
17535
|
const { children, gridStyles, onReorder, activeItemStyles } = props;
|
|
17420
17536
|
const gridEl = (0, import_react106.useRef)(null);
|
|
@@ -17587,7 +17703,7 @@ function DnDGrid(props) {
|
|
|
17587
17703
|
},
|
|
17588
17704
|
[cancelReorder, commitReorder, initReorder, getGridItems]
|
|
17589
17705
|
);
|
|
17590
|
-
return /* @__PURE__ */ (0,
|
|
17706
|
+
return /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(DnDGridContext.Provider, { value: { dragEl, onDragHandleKeyDown }, children: /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(
|
|
17591
17707
|
"div",
|
|
17592
17708
|
{
|
|
17593
17709
|
ref: gridEl,
|
|
@@ -17610,7 +17726,7 @@ var activeGridItemClass = "dndgrid-active";
|
|
|
17610
17726
|
|
|
17611
17727
|
// src/components/DnDGrid/DnDGridItemHandle.tsx
|
|
17612
17728
|
var import_react_aria50 = require("react-aria");
|
|
17613
|
-
var
|
|
17729
|
+
var import_jsx_runtime156 = require("@emotion/react/jsx-runtime");
|
|
17614
17730
|
function DnDGridItemHandle(props) {
|
|
17615
17731
|
const { dragHandleProps, icon = "move", compact = false, color } = props;
|
|
17616
17732
|
const { focusProps, isFocusVisible } = (0, import_react_aria50.useFocusRing)();
|
|
@@ -17618,7 +17734,7 @@ function DnDGridItemHandle(props) {
|
|
|
17618
17734
|
const tid = useTestIds(props, "dragHandle");
|
|
17619
17735
|
const iconButtonNormal2 = Css.hPx(28).wPx(28).br8.bw2.$;
|
|
17620
17736
|
const iconButtonCompact2 = Css.hPx(18).wPx(18).br4.bw1.$;
|
|
17621
|
-
return /* @__PURE__ */ (0,
|
|
17737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(
|
|
17622
17738
|
"button",
|
|
17623
17739
|
{
|
|
17624
17740
|
css: {
|
|
@@ -17628,7 +17744,7 @@ function DnDGridItemHandle(props) {
|
|
|
17628
17744
|
},
|
|
17629
17745
|
...(0, import_react_aria50.mergeProps)(dragHandleProps, focusProps, hoverProps),
|
|
17630
17746
|
...tid,
|
|
17631
|
-
children: /* @__PURE__ */ (0,
|
|
17747
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(Icon, { icon, inc: compact ? 2 : void 0, color })
|
|
17632
17748
|
}
|
|
17633
17749
|
);
|
|
17634
17750
|
}
|
|
@@ -17665,19 +17781,19 @@ function useDnDGridItem(props) {
|
|
|
17665
17781
|
}
|
|
17666
17782
|
|
|
17667
17783
|
// src/components/Grid/ResponsiveGrid.tsx
|
|
17668
|
-
var
|
|
17784
|
+
var import_jsx_runtime157 = require("@emotion/react/jsx-runtime");
|
|
17669
17785
|
function ResponsiveGrid(props) {
|
|
17670
17786
|
const { children, ...hookProps } = props;
|
|
17671
17787
|
const { gridStyles } = useResponsiveGrid(hookProps);
|
|
17672
|
-
return /* @__PURE__ */ (0,
|
|
17788
|
+
return /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { css: { ...gridStyles }, children });
|
|
17673
17789
|
}
|
|
17674
17790
|
|
|
17675
17791
|
// src/components/Grid/ResponsiveGridItem.tsx
|
|
17676
|
-
var
|
|
17792
|
+
var import_jsx_runtime158 = require("@emotion/react/jsx-runtime");
|
|
17677
17793
|
function ResponsiveGridItem(props) {
|
|
17678
17794
|
const { colSpan, children } = props;
|
|
17679
17795
|
const { gridItemProps } = useResponsiveGridItem({ colSpan });
|
|
17680
|
-
return /* @__PURE__ */ (0,
|
|
17796
|
+
return /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("div", { ...gridItemProps, children });
|
|
17681
17797
|
}
|
|
17682
17798
|
|
|
17683
17799
|
// src/components/Grid/useResponsiveGrid.ts
|
|
@@ -17736,7 +17852,7 @@ var import_react109 = __toESM(require("react"), 1);
|
|
|
17736
17852
|
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";
|
|
17737
17853
|
|
|
17738
17854
|
// src/components/HbLoadingSpinner.tsx
|
|
17739
|
-
var
|
|
17855
|
+
var import_jsx_runtime159 = require("@emotion/react/jsx-runtime");
|
|
17740
17856
|
function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }) {
|
|
17741
17857
|
const ctx = (0, import_react109.useContext)(HbLoadingSpinnerContext);
|
|
17742
17858
|
const tid = useTestIds({}, "hbSpinner");
|
|
@@ -17746,8 +17862,8 @@ function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }
|
|
|
17746
17862
|
if (ctx.noQuips && !forceQuips || noQuips || allQuips.length === 0) return "Loading...";
|
|
17747
17863
|
return allQuips[Math.floor(Math.random() * allQuips.length)];
|
|
17748
17864
|
}, [ctx.noQuips, ctx.quips, extraQuips, extraQuipsOnly, noQuips]);
|
|
17749
|
-
return /* @__PURE__ */ (0,
|
|
17750
|
-
/* @__PURE__ */ (0,
|
|
17865
|
+
return /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)("div", { css: Css.df.fdc.jcc.aic.$, ...tid, children: [
|
|
17866
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
|
|
17751
17867
|
"img",
|
|
17752
17868
|
{
|
|
17753
17869
|
src: HbLoadingSpinner_base64_default,
|
|
@@ -17760,7 +17876,7 @@ function HbLoadingSpinner({ noQuips, extraQuips = [], extraQuipsOnly, iconOnly }
|
|
|
17760
17876
|
...tid.gif
|
|
17761
17877
|
}
|
|
17762
17878
|
),
|
|
17763
|
-
!iconOnly && /* @__PURE__ */ (0,
|
|
17879
|
+
!iconOnly && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
|
|
17764
17880
|
"div",
|
|
17765
17881
|
{
|
|
17766
17882
|
"data-chromatic": "ignore",
|
|
@@ -17786,18 +17902,18 @@ var HbLoadingSpinnerContext = import_react109.default.createContext({
|
|
|
17786
17902
|
});
|
|
17787
17903
|
function HbSpinnerProvider({ quips = [], children }) {
|
|
17788
17904
|
const state = (0, import_react109.useMemo)(() => ({ quips, noQuips: quips.length === 0 }), [quips]);
|
|
17789
|
-
return /* @__PURE__ */ (0,
|
|
17905
|
+
return /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(HbLoadingSpinnerContext.Provider, { value: state, children });
|
|
17790
17906
|
}
|
|
17791
17907
|
|
|
17792
17908
|
// src/components/MaxLines.tsx
|
|
17793
|
-
var
|
|
17909
|
+
var import_utils122 = require("@react-aria/utils");
|
|
17794
17910
|
var import_react110 = require("react");
|
|
17795
|
-
var
|
|
17911
|
+
var import_jsx_runtime160 = require("@emotion/react/jsx-runtime");
|
|
17796
17912
|
function MaxLines({ maxLines, children }) {
|
|
17797
17913
|
const elRef = (0, import_react110.useRef)(null);
|
|
17798
17914
|
const [hasMore, setHasMore] = (0, import_react110.useState)(false);
|
|
17799
17915
|
const [expanded, setExpanded] = (0, import_react110.useState)(false);
|
|
17800
|
-
(0,
|
|
17916
|
+
(0, import_utils122.useLayoutEffect)(() => {
|
|
17801
17917
|
if (!elRef.current) return;
|
|
17802
17918
|
setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
17803
17919
|
}, []);
|
|
@@ -17808,94 +17924,13 @@ function MaxLines({ maxLines, children }) {
|
|
|
17808
17924
|
if (!elRef.current) return;
|
|
17809
17925
|
!expanded && setHasMore(elRef.current.scrollHeight > elRef.current.clientHeight);
|
|
17810
17926
|
}, [expanded]);
|
|
17811
|
-
(0,
|
|
17812
|
-
return /* @__PURE__ */ (0,
|
|
17813
|
-
/* @__PURE__ */ (0,
|
|
17814
|
-
hasMore && /* @__PURE__ */ (0,
|
|
17927
|
+
(0, import_utils122.useResizeObserver)({ ref: elRef, onResize });
|
|
17928
|
+
return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { children: [
|
|
17929
|
+
/* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { ref: elRef, css: Css.if(!expanded).lineClamp(maxLines).$, children }),
|
|
17930
|
+
hasMore && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("button", { css: Css.db.sm.$, onClick: () => setExpanded((prev) => !prev), children: expanded ? "Show Less" : "Show More" })
|
|
17815
17931
|
] });
|
|
17816
17932
|
}
|
|
17817
17933
|
|
|
17818
|
-
// src/components/Pagination.tsx
|
|
17819
|
-
var import_jsx_runtime160 = require("@emotion/react/jsx-runtime");
|
|
17820
|
-
var defaultPage = { offset: 0, limit: 100 };
|
|
17821
|
-
function Pagination(props) {
|
|
17822
|
-
const { totalCount, pageSizes = [100, 500, 1e3] } = props;
|
|
17823
|
-
const [page, setPage] = props.page;
|
|
17824
|
-
const { pageSize, pageNumber } = toPageNumberSize(page);
|
|
17825
|
-
const pageOptions = pageSizes.map((size) => ({ id: size, name: String(size) }));
|
|
17826
|
-
const hasPrevPage = pageNumber > 1;
|
|
17827
|
-
const hasNextPage = pageNumber < totalCount / pageSize;
|
|
17828
|
-
const first = pageSize * (pageNumber - 1) + (totalCount ? 1 : 0);
|
|
17829
|
-
const last = Math.min(pageSize * pageNumber, totalCount);
|
|
17830
|
-
const showLast = totalCount > 0;
|
|
17831
|
-
function set(newPage) {
|
|
17832
|
-
if ("pageNumber" in props.page[0]) {
|
|
17833
|
-
setPage(newPage);
|
|
17834
|
-
} else {
|
|
17835
|
-
setPage(toLimitAndOffset(newPage));
|
|
17836
|
-
}
|
|
17837
|
-
}
|
|
17838
|
-
const tid = useTestIds(props, "pagination");
|
|
17839
|
-
return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { css: Css.df.bcGray200.bt.xs.gray500.px2.pt2.$, ...tid, children: [
|
|
17840
|
-
/* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { css: Css.df.mya.mr2.$, ...tid.pageSizeLabel, children: "Page size:" }),
|
|
17841
|
-
/* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { css: Css.wPx(78).$, children: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
|
|
17842
|
-
SelectField,
|
|
17843
|
-
{
|
|
17844
|
-
compact: true,
|
|
17845
|
-
label: "Page Size",
|
|
17846
|
-
labelStyle: "hidden",
|
|
17847
|
-
options: pageOptions,
|
|
17848
|
-
value: pageSize,
|
|
17849
|
-
onSelect: (val) => set({ pageNumber: 1, pageSize: val }),
|
|
17850
|
-
autoSort: false,
|
|
17851
|
-
...tid.pageSize
|
|
17852
|
-
}
|
|
17853
|
-
) }),
|
|
17854
|
-
/* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { css: Css.mla.mya.df.$, children: [
|
|
17855
|
-
/* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { css: Css.df.mya.mr2.$, ...tid.pageInfoLabel, children: [
|
|
17856
|
-
first,
|
|
17857
|
-
" ",
|
|
17858
|
-
showLast ? `- ${last}` : "",
|
|
17859
|
-
" of ",
|
|
17860
|
-
totalCount
|
|
17861
|
-
] }),
|
|
17862
|
-
/* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
|
|
17863
|
-
IconButton,
|
|
17864
|
-
{
|
|
17865
|
-
icon: "chevronLeft",
|
|
17866
|
-
color: hasPrevPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */,
|
|
17867
|
-
onClick: () => set({ pageNumber: pageNumber - 1, pageSize }),
|
|
17868
|
-
disabled: !hasPrevPage,
|
|
17869
|
-
...tid.previousIcon
|
|
17870
|
-
}
|
|
17871
|
-
),
|
|
17872
|
-
/* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
|
|
17873
|
-
IconButton,
|
|
17874
|
-
{
|
|
17875
|
-
icon: "chevronRight",
|
|
17876
|
-
color: hasNextPage ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(236, 235, 235, 1)" /* Gray200 */,
|
|
17877
|
-
onClick: () => set({ pageNumber: pageNumber + 1, pageSize }),
|
|
17878
|
-
disabled: !hasNextPage,
|
|
17879
|
-
...tid.nextIcon
|
|
17880
|
-
}
|
|
17881
|
-
)
|
|
17882
|
-
] })
|
|
17883
|
-
] });
|
|
17884
|
-
}
|
|
17885
|
-
function toLimitAndOffset(page) {
|
|
17886
|
-
return "limit" in page ? page : {
|
|
17887
|
-
// E.g. on first page the offset is 0, second page the offset is 100, then 200, etc.
|
|
17888
|
-
offset: (page.pageNumber - 1) * page.pageSize,
|
|
17889
|
-
limit: page.pageSize
|
|
17890
|
-
};
|
|
17891
|
-
}
|
|
17892
|
-
function toPageNumberSize(page) {
|
|
17893
|
-
return "pageNumber" in page ? page : {
|
|
17894
|
-
pageNumber: Math.floor(page.offset / page.limit) + 1,
|
|
17895
|
-
pageSize: page.limit
|
|
17896
|
-
};
|
|
17897
|
-
}
|
|
17898
|
-
|
|
17899
17934
|
// src/components/ScrollShadows.tsx
|
|
17900
17935
|
var import_utils123 = require("@react-aria/utils");
|
|
17901
17936
|
var import_react111 = require("react");
|