@bahmni/widgets 0.0.1-dev.155 → 0.0.1-dev.157

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.
@@ -1,30 +1,30 @@
1
1
  import { jsxs as b, jsx as d, Fragment as k } from "react/jsx-runtime";
2
- import { c as C, D as te, N as re, $ as ae, e as oe, R as se, u as ne, o as de, h as ie, f as le, p as ce, a as me, A as ue, g as pe, m as be, t as x, H as fe, C as _e, b as $e, d as ge, i as H, l as he } from "./index-veQFQARd.js";
3
- import { useQueryClient as ye, useQuery as L } from "@tanstack/react-query";
4
- import { useState as P, useMemo as y, useCallback as F } from "react";
2
+ import { c as C, C as te, N as re, $ as ae, e as oe, a as se, u as ne, i as de, m as ie, p as le, h as ce, o as me, O as ue, y as pe, b as be, t as x, H as fe, d as _e, f as $e, g as ye, j as H, l as ge } from "./index-OaX83Bam.js";
3
+ import { useQueryClient as he, useQuery as F } from "@tanstack/react-query";
4
+ import { useState as P, useMemo as h, useCallback as L } from "react";
5
5
  import { useTranslation as ve } from "react-i18next";
6
- const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le = "_formContent_1pd36_18", Fe = "_formDetailsContainer_1pd36_25", Ce = "_observation_1pd36_30", Re = "_groupContainer_1pd36_39", Me = "_rowContainer_1pd36_43", De = "_groupLabel_1pd36_48", we = "_rowLabel_1pd36_58", Te = "_rowValue_1pd36_67", Ve = "_groupMembers_1pd36_75", Ae = "_memberRow_1pd36_81", Ee = "_memberLabel_1pd36_86", Be = "_memberValue_1pd36_94", Ie = "_abnormalValue_1pd36_102", Se = "_commentSection_1pd36_110", Ge = "_commentText_1pd36_116", qe = "_nestedGroup_1pd36_125", Ue = "_nestedGroupLabel_1pd36_132", xe = "_nestedGroupMembers_1pd36_141", o = {
6
+ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Fe = "_formContent_1pd36_18", Le = "_formDetailsContainer_1pd36_25", Ce = "_observation_1pd36_30", Me = "_groupContainer_1pd36_39", Re = "_rowContainer_1pd36_43", we = "_groupLabel_1pd36_48", De = "_rowLabel_1pd36_58", Te = "_rowValue_1pd36_67", Ve = "_groupMembers_1pd36_75", Ae = "_memberRow_1pd36_81", Ee = "_memberLabel_1pd36_86", Ie = "_memberValue_1pd36_94", Be = "_abnormalValue_1pd36_102", Se = "_commentSection_1pd36_110", Ge = "_commentText_1pd36_116", qe = "_nestedGroup_1pd36_125", Ue = "_nestedGroupLabel_1pd36_132", xe = "_nestedGroupMembers_1pd36_141", o = {
7
7
  formsTableBody: Ne,
8
8
  customAccordianItem: Oe,
9
- formContent: Le,
10
- formDetailsContainer: Fe,
9
+ formContent: Fe,
10
+ formDetailsContainer: Le,
11
11
  observation: Ce,
12
- groupContainer: Re,
13
- rowContainer: Me,
14
- groupLabel: De,
15
- rowLabel: we,
12
+ groupContainer: Me,
13
+ rowContainer: Re,
14
+ groupLabel: we,
15
+ rowLabel: De,
16
16
  rowValue: Te,
17
17
  groupMembers: Ve,
18
18
  memberRow: Ae,
19
19
  memberLabel: Ee,
20
- memberValue: Be,
21
- abnormalValue: Ie,
20
+ memberValue: Ie,
21
+ abnormalValue: Be,
22
22
  commentSection: Se,
23
23
  commentText: Ge,
24
24
  nestedGroup: qe,
25
25
  nestedGroupLabel: Ue,
26
26
  nestedGroupMembers: xe
27
- }, K = (e) => {
27
+ }, j = (e) => {
28
28
  const t = te(e);
29
29
  return t === "Image" ? /* @__PURE__ */ d(
30
30
  re,
@@ -34,7 +34,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
34
34
  id: `${e}-img`
35
35
  }
36
36
  ) : t === "Video" ? /* @__PURE__ */ d(ae, { id: `${e}-video`, videoSrc: e }) : e;
37
- }, j = (e) => {
37
+ }, K = (e) => {
38
38
  const t = e.observationValue?.unit, a = e.observationValue?.referenceRange?.low?.value, n = e.observationValue?.referenceRange?.high?.value, s = a != null, c = n != null, i = s && c ? ` (${a} - ${n})` : s ? ` (>${a})` : c ? ` (<${n})` : "", r = e.observationValue?.isAbnormal === !0;
39
39
  return { units: t, rangeString: i, isAbnormal: r };
40
40
  }, Q = ({
@@ -81,7 +81,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
81
81
  ]
82
82
  }
83
83
  );
84
- const { units: p, rangeString: h, isAbnormal: f } = j(e), _ = e.observationValue?.value?.toString(), $ = _ ? K(_) : null;
84
+ const { units: p, rangeString: g, isAbnormal: f } = K(e), _ = e.observationValue?.value?.toString(), $ = _ ? j(_) : null;
85
85
  return /* @__PURE__ */ b(k, { children: [
86
86
  /* @__PURE__ */ b(
87
87
  "div",
@@ -100,7 +100,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
100
100
  "data-testid": `${r}obs-member-label-${i}-${a}`,
101
101
  children: [
102
102
  i,
103
- h
103
+ g
104
104
  ]
105
105
  }
106
106
  ),
@@ -140,7 +140,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
140
140
  formName: a = "",
141
141
  comment: n
142
142
  }) => {
143
- const s = e.members && e.members.length > 0, { units: c, rangeString: i, isAbnormal: r } = j(e), p = a ? `${a}-` : "", h = e.observationValue?.value?.toString(), f = h ? K(h) : null;
143
+ const s = e.members && e.members.length > 0, { units: c, rangeString: i, isAbnormal: r } = K(e), p = a ? `${a}-` : "", g = e.observationValue?.value?.toString(), f = g ? j(g) : null;
144
144
  return /* @__PURE__ */ b(
145
145
  "div",
146
146
  {
@@ -220,28 +220,28 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
220
220
  )?.valueString : void 0, ke = (e) => {
221
221
  if (e)
222
222
  return e.note?.[0]?.text;
223
- }, Ke = (e, t) => e.entry?.find((a) => a.resource?.id === t)?.resource, w = (e, t) => {
224
- const a = Ke(e, t);
223
+ }, je = (e, t) => e.entry?.find((a) => a.resource?.id === t)?.resource, D = (e, t) => {
224
+ const a = je(e, t);
225
225
  return a ? {
226
226
  formFieldPath: Pe(a),
227
227
  comment: ke(a)
228
228
  } : {};
229
- }, je = (e, t) => {
229
+ }, Ke = (e, t) => {
230
230
  if (!e?.entry || !t)
231
231
  return [];
232
232
  const a = oe(e);
233
233
  return [
234
234
  ...a.observations.map((s) => {
235
- const { formFieldPath: c, comment: i } = w(
235
+ const { formFieldPath: c, comment: i } = D(
236
236
  e,
237
237
  s.id
238
238
  );
239
239
  return { obs: s, formFieldPath: c, comment: i };
240
240
  }),
241
241
  ...a.groupedObservations.flatMap((s) => {
242
- const { formFieldPath: c } = w(e, s.id);
242
+ const { formFieldPath: c } = D(e, s.id);
243
243
  return (s.members ?? []).map((i) => {
244
- const { comment: r } = w(e, i.id);
244
+ const { comment: r } = D(e, i.id);
245
245
  return { obs: i, formFieldPath: c, comment: r };
246
246
  });
247
247
  })
@@ -253,75 +253,75 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
253
253
  encounterUuids: t,
254
254
  config: a
255
255
  }) => {
256
- const { t: n } = ve(), s = ne(), [c, i] = P(!1), [r, p] = P(null), h = a?.numberOfVisits, f = de(
256
+ const { t: n } = ve(), s = ne(), [c, i] = P(!1), [r, p] = P(null), g = a?.numberOfVisits, f = de(
257
257
  e,
258
258
  t
259
- ), _ = ye(), {
259
+ ), _ = he(), {
260
260
  data: $ = [],
261
261
  isLoading: v,
262
262
  isError: N,
263
263
  error: z,
264
264
  refetch: W
265
- } = L({
265
+ } = F({
266
266
  queryKey: ["forms", s, e],
267
- queryFn: () => ie(s, void 0, h),
267
+ queryFn: () => ie(s, void 0, g),
268
268
  enabled: !!s && !f
269
- }), T = y(() => !t || t.length === 0 ? $ : $.filter(
269
+ }), T = h(() => !t || t.length === 0 ? $ : $.filter(
270
270
  (l) => t.includes(l.encounterUuid)
271
- ), [$, t]), { data: V = [] } = L({
271
+ ), [$, t]), { data: V = [] } = F({
272
272
  queryKey: ["observationForms"],
273
273
  queryFn: () => le()
274
- }), A = F(
274
+ }), A = L(
275
275
  (l) => V.find((m) => m.name === l)?.uuid,
276
276
  [V]
277
- ), R = y(() => {
277
+ ), M = h(() => {
278
278
  if (r)
279
279
  return A(r.formName);
280
- }, [r, A]), { isLoading: Y, error: E } = L({
281
- queryKey: ["formMetadata", R],
282
- queryFn: () => ce(R),
283
- enabled: !!R && c
280
+ }, [r, A]), { isLoading: Y, error: E } = F({
281
+ queryKey: ["formMetadata", M],
282
+ queryFn: () => ce(M),
283
+ enabled: !!M && c
284
284
  }), {
285
- data: M,
285
+ data: R,
286
286
  isLoading: J,
287
- error: B
288
- } = L({
287
+ error: I
288
+ } = F({
289
289
  queryKey: ["formsEncounterFHIR", r?.encounterUuid],
290
290
  queryFn: () => me(r.encounterUuid),
291
291
  enabled: !!r?.encounterUuid && c
292
292
  });
293
293
  ue(
294
294
  (l) => {
295
- l.patientUUID === s && l.updatedConcepts.size > 0 && (W(), _.invalidateQueries({ queryKey: ["formsEncounter"] }));
295
+ l.patientUUID === s && l.updatedConcepts.size > 0 && (W(), _.invalidateQueries({ queryKey: ["formsEncounterFHIR"] }));
296
296
  },
297
297
  [s]
298
298
  );
299
- const I = y(() => !M || !r?.formName ? [] : je(
300
- M,
299
+ const B = h(() => !R || !r?.formName ? [] : Ke(
300
+ R,
301
301
  r.formName
302
- ), [M, r?.formName]), S = y(
302
+ ), [R, r?.formName]), S = h(
303
303
  () => [
304
304
  { key: "recordedOn", header: n("FORM_RECORDED_ON") },
305
305
  { key: "recordedBy", header: n("FORM_RECORDED_BY") }
306
306
  ],
307
307
  [n]
308
- ), X = y(
308
+ ), X = h(
309
309
  () => [
310
310
  { key: "recordedOn", sortable: !0 },
311
311
  { key: "recordedBy", sortable: !0 }
312
312
  ],
313
313
  []
314
- ), G = y(() => {
314
+ ), G = h(() => {
315
315
  const l = T.reduce(
316
316
  (m, u) => {
317
317
  const O = u.formName;
318
318
  m[O] ??= [];
319
- const D = u.providers.map((ee) => ee.providerName).filter(Boolean).join(", ");
319
+ const w = u.providers.map((ee) => ee.providerName).filter(Boolean).join(", ");
320
320
  return m[O].push({
321
321
  id: u.encounterUuid,
322
322
  formName: u.formName,
323
- recordedOn: pe(u.encounterDateTime, n, he).formattedResult,
324
- recordedBy: D ?? "--",
323
+ recordedOn: pe(u.encounterDateTime, n, ge).formattedResult,
324
+ recordedBy: w ?? "--",
325
325
  encounterDateTime: u.encounterDateTime,
326
326
  encounterUuid: u.encounterUuid
327
327
  }), m;
@@ -332,17 +332,17 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
332
332
  ([m, u]) => ({
333
333
  formName: m,
334
334
  records: u.sort(
335
- (O, D) => D.encounterDateTime - O.encounterDateTime
335
+ (O, w) => w.encounterDateTime - O.encounterDateTime
336
336
  )
337
337
  })
338
338
  ).sort((m, u) => m.formName.localeCompare(u.formName));
339
- }, [T, n]), q = F((l) => {
339
+ }, [T, n]), q = L((l) => {
340
340
  p(l), i(!0);
341
- }, []), Z = F(() => {
341
+ }, []), Z = L(() => {
342
342
  i(!1), p(null);
343
- }, []), U = F(
344
- (l, g) => {
345
- switch (g) {
343
+ }, []), U = L(
344
+ (l, y) => {
345
+ switch (y) {
346
346
  case "recordedOn":
347
347
  return /* @__PURE__ */ d(be, { onClick: () => q(l), children: l.recordedOn });
348
348
  case "recordedBy":
@@ -367,7 +367,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
367
367
  className: o.formsTableBody,
368
368
  dataTestId: "forms-table"
369
369
  }
370
- ) : /* @__PURE__ */ d(fe, { align: "start", children: G.map((l, g) => {
370
+ ) : /* @__PURE__ */ d(fe, { align: "start", children: G.map((l, y) => {
371
371
  const { formName: m, records: u } = l;
372
372
  return /* @__PURE__ */ d(
373
373
  _e,
@@ -375,7 +375,7 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
375
375
  title: m,
376
376
  className: o.customAccordianItem,
377
377
  testId: `accordian-title-${m}`,
378
- open: g === 0,
378
+ open: y === 0,
379
379
  children: /* @__PURE__ */ d(
380
380
  x,
381
381
  {
@@ -406,13 +406,13 @@ const Ne = "_formsTableBody_1pd36_1", Oe = "_customAccordianItem_1pd36_6", Le =
406
406
  passiveModal: !0,
407
407
  size: "md",
408
408
  testId: "form-details-modal",
409
- children: /* @__PURE__ */ d("div", { className: o.formContent, children: Y || J ? /* @__PURE__ */ d(ge, { width: "100%", lineCount: 3 }) : E ? /* @__PURE__ */ d("div", { children: H(E).message ?? n("ERROR_FETCHING_FORM_METADATA") }) : B ? /* @__PURE__ */ d("div", { children: H(B).message ?? n("ERROR_FETCHING_FORM_DATA") }) : I.length > 0 ? /* @__PURE__ */ d("div", { className: o.formDetailsContainer, children: I.map(({ obs: l, comment: g }, m) => /* @__PURE__ */ d(
409
+ children: /* @__PURE__ */ d("div", { className: o.formContent, children: Y || J ? /* @__PURE__ */ d(ye, { width: "100%", lineCount: 3 }) : E ? /* @__PURE__ */ d("div", { children: H(E).message ?? n("ERROR_FETCHING_FORM_METADATA") }) : I ? /* @__PURE__ */ d("div", { children: H(I).message ?? n("ERROR_FETCHING_FORM_DATA") }) : B.length > 0 ? /* @__PURE__ */ d("div", { className: o.formDetailsContainer, children: B.map(({ obs: l, comment: y }, m) => /* @__PURE__ */ d(
410
410
  He,
411
411
  {
412
412
  observation: l,
413
413
  index: m,
414
414
  formName: r.formName,
415
- comment: g
415
+ comment: y
416
416
  },
417
417
  `${l.id}`
418
418
  )) }) : /* @__PURE__ */ d("div", { children: n("NO_FORM_DATA_AVAILABLE") }) })
@@ -1,15 +1,15 @@
1
- import { jsx as d, jsxs as D } from "react/jsx-runtime";
2
- import { j as k, _ as S, k as q, D as M, n as V, N as K, $ as Q, u as G, q as j, r as H, s as P, A as z, e as Y, v as J, w as W, B as X, t as Z } from "./index-veQFQARd.js";
1
+ import { jsx as d, jsxs as C } from "react/jsx-runtime";
2
+ import { k, _ as S, n as q, C as M, q as V, N as K, $ as Q, u as G, r as H, s as P, v as j, O as z, e as Y, w as J, x as W, B as X, t as Z } from "./index-OaX83Bam.js";
3
3
  import { useQueries as x, useQuery as ee } from "@tanstack/react-query";
4
4
  import { useRef as te, useEffect as I, useMemo as h } from "react";
5
- import { useTranslation as C } from "react-i18next";
5
+ import { useTranslation as D } from "react-i18next";
6
6
  const U = (t, c, n, l, o) => {
7
7
  const s = q(t, c), r = s.value, a = M(r);
8
8
  let i = r;
9
9
  a === "Image" && (i = /* @__PURE__ */ d(K, { imageSrc: r, alt: r, id: `${r}-img` })), a === "Video" && (i = /* @__PURE__ */ d(Q, { id: `${r}-video`, videoSrc: r }));
10
10
  const u = o("OBSERVATIONS_RECORDED_BY", {
11
11
  provider: s.provider
12
- }), b = t.display, p = t.observationValue?.isAbnormal ? "abnormal-obs" : "obs", f = l ? `${l}-${p}-${b}-${n}-${c}` : `${p}-${b}-${n}-${c}`;
12
+ }), b = t.display, m = t.observationValue?.isAbnormal ? "abnormal-obs" : "obs", f = l ? `${l}-${m}-${b}-${n}-${c}` : `${m}-${b}-${n}-${c}`;
13
13
  return /* @__PURE__ */ d(
14
14
  V,
15
15
  {
@@ -37,9 +37,9 @@ const U = (t, c, n, l, o) => {
37
37
  groupedData: t,
38
38
  title: c = ""
39
39
  }) => {
40
- const { t: n } = C(), l = (o, s, r) => {
40
+ const { t: n } = D(), l = (o, s, r) => {
41
41
  const a = k(o.encounterDetails, n);
42
- return /* @__PURE__ */ D(
42
+ return /* @__PURE__ */ C(
43
43
  S,
44
44
  {
45
45
  title: a,
@@ -78,34 +78,34 @@ const U = (t, c, n, l, o) => {
78
78
  }, re = "_observations_kfbhq_1", ae = "_title_kfbhq_12", N = {
79
79
  observations: re,
80
80
  title: ae
81
- }, ne = (t) => ["conceptUuid", t], ie = (t, c) => ["observations", t, ...c], pe = ({ config: t }) => {
82
- const c = t, { conceptNames: n = [], conceptUuid: l = [] } = c, o = te(/* @__PURE__ */ new Set()), s = G(), { addNotification: r } = j(), { t: a } = C(), i = x({
81
+ }, ne = (t) => ["conceptUuid", t], ie = (t, c) => ["observations", t, ...c], me = ({ config: t }) => {
82
+ const c = t, { conceptNames: n = [], conceptUuid: l = [] } = c, o = te(/* @__PURE__ */ new Set()), s = G(), { addNotification: r } = H(), { t: a } = D(), i = x({
83
83
  queries: n.map((e) => ({
84
84
  queryKey: ne(e),
85
- queryFn: () => H(e),
85
+ queryFn: () => P(e),
86
86
  enabled: !!e
87
87
  }))
88
88
  });
89
89
  I(() => {
90
- i.forEach((e, m) => {
91
- if (e.isError && !o.current.has(m)) {
92
- const g = n[m];
90
+ i.forEach((e, p) => {
91
+ if (e.isError && !o.current.has(p)) {
92
+ const g = n[p];
93
93
  r({
94
94
  title: a("ERROR_DEFAULT_TITLE"),
95
95
  message: a("ERROR_FETCHING_CONCEPT", { conceptName: g }),
96
96
  type: "error"
97
- }), o.current.add(m);
98
- } else e.isError || o.current.delete(m);
97
+ }), o.current.add(p);
98
+ } else e.isError || o.current.delete(p);
99
99
  });
100
100
  }, [i, n]);
101
101
  const u = h(() => i.map((e) => e.data?.uuid).filter((e) => !!e), [i]), b = h(() => [.../* @__PURE__ */ new Set([...u, ...l])], [u, l]), v = h(() => n.length === 0 ? !0 : i.every((e) => !e.isLoading), [i, n.length]), {
102
- data: p,
102
+ data: m,
103
103
  isLoading: f,
104
104
  isError: O,
105
105
  refetch: R
106
106
  } = ee({
107
107
  queryKey: ie(s, b),
108
- queryFn: () => P(s, b),
108
+ queryFn: () => j(s, b),
109
109
  enabled: !!s && b.length > 0 && v
110
110
  });
111
111
  z(
@@ -123,15 +123,15 @@ const U = (t, c, n, l, o) => {
123
123
  });
124
124
  }, [O]);
125
125
  const T = h(() => {
126
- if (!p) return [];
127
- const e = Y(p), m = J(e);
128
- return W(m);
129
- }, [p]), B = [
126
+ if (!m) return [];
127
+ const e = Y(m), p = J(e);
128
+ return W(p);
129
+ }, [m]), B = [
130
130
  { key: "name", header: "name" },
131
131
  { key: "value", header: "value" },
132
132
  { key: "form", header: "form" }
133
- ], _ = f || !v, $ = O && v, A = (!p || p.entry?.length === 0 || b.length === 0) && v, F = $ ? a("ERROR_FETCHING_OBSERVATIONS") : null, L = A ? a("NO_OBSERVATIONS_FOUND") : void 0, w = T.length > 0 && !_ && !$, E = c.titleTranslationKey, y = E ? a(E) : "";
134
- return /* @__PURE__ */ D(
133
+ ], _ = f || !v, $ = O && v, A = (!m || m.entry?.length === 0 || b.length === 0) && v, F = $ ? a("ERROR_FETCHING_OBSERVATIONS") : null, L = A ? a("NO_OBSERVATIONS_FOUND") : void 0, w = T.length > 0 && !_ && !$, E = c.titleTranslationKey, y = E ? a(E) : "";
134
+ return /* @__PURE__ */ C(
135
135
  "div",
136
136
  {
137
137
  id: "observations",
@@ -167,6 +167,6 @@ const U = (t, c, n, l, o) => {
167
167
  };
168
168
  export {
169
169
  ne as conceptUuidQueryKeys,
170
- pe as default,
170
+ me as default,
171
171
  ie as observationsQueryKeys
172
172
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GenericServiceRequestTable.d.ts","sourceRoot":"","sources":["../../src/genericServiceRequest/GenericServiceRequestTable.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAI/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD,eAAO,MAAM,8BAA8B,GACzC,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,iBAAiB,MAAM,EAAE,6EAEoD,CAAC;AAehF;;;GAGG;AACH,QAAA,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAmOrD,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"GenericServiceRequestTable.d.ts","sourceRoot":"","sources":["../../src/genericServiceRequest/GenericServiceRequestTable.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAI/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAahD,eAAO,MAAM,8BAA8B,GACzC,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,iBAAiB,MAAM,EAAE,6EAEoD,CAAC;AAehF;;;GAGG;AACH,QAAA,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAkOrD,CAAC;AAEF,eAAe,0BAA0B,CAAC"}