@typed/async-data 0.3.2 → 0.3.4

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,42 +1,43 @@
1
- import * as Cause from "effect/Cause";
1
+ import type * as Cause from "effect/Cause";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Effectable from "effect/Effectable";
4
4
  import * as Equal from "effect/Equal";
5
5
  import * as Hash from "effect/Hash";
6
- import * as Option from "effect/Option";
7
- import * as Unify from "effect/Unify";
8
- import { type AsyncData, type Failure, type Loading, type Success } from "../AsyncData.js";
6
+ import type * as Option from "effect/Option";
7
+ import type { AsyncData, Failure, Loading, Optimistic, Success } from "../AsyncData.js";
8
+ import { AsyncDataTypeId } from "../TypeId.js";
9
9
  export declare class FailureImpl<E> extends Effectable.Class<never, E, never> implements Failure<E> {
10
10
  readonly cause: Cause.Cause<E>;
11
11
  readonly timestamp: number;
12
12
  readonly refreshing: Option.Option<Loading>;
13
- readonly _tag = "Failure";
13
+ readonly [AsyncDataTypeId]: AsyncDataTypeId;
14
+ readonly _tag: "Failure";
14
15
  commit: () => Effect.Effect<never, E, never>;
15
- [Unify.typeSymbol]: unknown;
16
- [Unify.unifySymbol]: AsyncData.Unify<this>;
17
- [Unify.ignoreSymbol]: AsyncData.IgnoreList;
18
16
  constructor(cause: Cause.Cause<E>, timestamp: number, refreshing: Option.Option<Loading>);
19
- [Equal.symbol]: (that: unknown) => boolean;
20
- [Hash.symbol]: () => number;
17
+ [Equal.symbol](that: unknown): boolean;
18
+ [Hash.symbol](): number;
21
19
  }
22
20
  export declare class SuccessImpl<A> extends Effectable.Class<never, never, A> implements Success<A> {
23
21
  readonly value: A;
24
22
  readonly timestamp: number;
25
23
  readonly refreshing: Option.Option<Loading>;
26
- readonly _tag = "Success";
24
+ readonly [AsyncDataTypeId]: AsyncDataTypeId;
25
+ readonly _tag: "Success";
27
26
  commit: () => Effect.Effect<never, never, A>;
28
- [Unify.typeSymbol]: unknown;
29
- [Unify.unifySymbol]: AsyncData.Unify<this>;
30
- [Unify.ignoreSymbol]: AsyncData.IgnoreList;
31
27
  constructor(value: A, timestamp: number, refreshing: Option.Option<Loading>);
32
- [Equal.symbol]: (that: unknown) => boolean;
33
- [Hash.symbol]: () => number;
28
+ [Equal.symbol](that: unknown): boolean;
29
+ [Hash.symbol](): number;
30
+ }
31
+ export declare class OptimisticImpl<E, A> extends Effectable.Class<never, never, A> implements Optimistic<E, A> {
32
+ readonly value: A;
33
+ readonly timestamp: number;
34
+ readonly previous: AsyncData<E, A>;
35
+ readonly [AsyncDataTypeId]: AsyncDataTypeId;
36
+ readonly _tag: "Optimistic";
37
+ commit: () => Effect.Effect<never, never, A>;
38
+ constructor(value: A, timestamp: number, previous: AsyncData<E, A>);
39
+ [Equal.symbol](that: unknown): boolean;
40
+ [Hash.symbol](): number;
34
41
  }
35
- export declare function hasDataOptions(u: Record<PropertyKey, unknown>): boolean;
36
- export declare function hasEquality(u: Record<PropertyKey, unknown>): boolean;
37
- export declare function isTaggedRecord(u: unknown): u is Record<PropertyKey, unknown> & {
38
- readonly _tag: unknown;
39
- };
40
- export declare function isRecord(u: unknown): u is Record<PropertyKey, unknown>;
41
42
  export declare function isAsyncData<E, A>(u: unknown): u is AsyncData<E, A>;
42
43
  //# sourceMappingURL=async-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-data.d.ts","sourceRoot":"","sources":["../../../src/internal/async-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-data.d.ts","sourceRoot":"","sources":["../../../src/internal/async-data.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export declare const NO_DATA_TAG: "NoData";
2
2
  export declare const LOADING_TAG: "Loading";
3
3
  export declare const FAILURE_TAG: "Failure";
4
4
  export declare const SUCCESS_TAG: "Success";
5
+ export declare const OPTIMISTIC_TAG: "Optimistic";
5
6
  //# sourceMappingURL=tag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/internal/tag.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAAoB,CAAA;AAE5C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,WAAW,WAAqB,CAAA"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/internal/tag.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAAoB,CAAA;AAE5C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,WAAW,WAAqB,CAAA;AAE7C,eAAO,MAAM,cAAc,cAAwB,CAAA"}
@@ -15,13 +15,18 @@ import { dual } from "effect/Function";
15
15
  import * as Option from "effect/Option";
16
16
  import * as Unify from "effect/Unify";
17
17
  import * as internal from "./internal/async-data.js";
18
- import { FAILURE_TAG, LOADING_TAG, NO_DATA_TAG, SUCCESS_TAG } from "./internal/tag.js";
18
+ import { FAILURE_TAG, LOADING_TAG, NO_DATA_TAG, OPTIMISTIC_TAG, SUCCESS_TAG } from "./internal/tag.js";
19
19
  import * as Progress from "./Progress.js";
20
+ import { AsyncDataTypeId } from "./TypeId.js";
20
21
  const getCurrentTimestamp = () => Date.now();
21
22
  /**
22
23
  * @since 1.0.0
23
24
  */
24
25
  export class NoData extends Data.TaggedError(NO_DATA_TAG) {
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+ [AsyncDataTypeId] = AsyncDataTypeId;
25
30
  /**
26
31
  * @since 1.0.0
27
32
  */
@@ -43,6 +48,10 @@ export const noData = () => new NoData();
43
48
  * @since 1.0.0
44
49
  */
45
50
  export class Loading extends Data.TaggedError(LOADING_TAG) {
51
+ /**
52
+ * @since 1.0.0
53
+ */
54
+ [AsyncDataTypeId] = AsyncDataTypeId;
46
55
  /**
47
56
  * @since 1.0.0
48
57
  */
@@ -60,6 +69,7 @@ export class Loading extends Data.TaggedError(LOADING_TAG) {
60
69
  * @since 1.0.0
61
70
  */
62
71
  export const loading = (options) => new Loading({
72
+ [AsyncDataTypeId]: AsyncDataTypeId,
63
73
  timestamp: options?.timestamp ?? getCurrentTimestamp(),
64
74
  progress: Option.fromNullable(options?.progress)
65
75
  });
@@ -75,10 +85,21 @@ export const fail = (error, options) => failCause(Cause.fail(error), options);
75
85
  * @since 1.0.0
76
86
  */
77
87
  export const success = (value, options) => new internal.SuccessImpl(value, options?.timestamp ?? getCurrentTimestamp(), Option.fromNullable(options?.refreshing));
88
+ const isAsyncDataFirst = (args) => isAsyncData(args[0]);
89
+ /**
90
+ * @since 1.0.0
91
+ */
92
+ export const optimistic = dual((args) => args.length === 3 || isAsyncDataFirst(args), (previous, value, options) => new internal.OptimisticImpl(value, options?.timestamp ?? getCurrentTimestamp(),
93
+ // We don't want to nest Optimistic values, so we unwrap the previous value if it's already optimistic
94
+ previous._tag === "Optimistic" ? previous.previous : previous));
78
95
  /**
79
96
  * @since 1.0.0
80
97
  */
81
98
  export const isSuccess = (data) => data._tag === SUCCESS_TAG;
99
+ /**
100
+ * @since 1.0.0
101
+ */
102
+ export const isOptimistic = (data) => data._tag === OPTIMISTIC_TAG;
82
103
  /**
83
104
  * @since 1.0.0
84
105
  */
@@ -94,11 +115,15 @@ export const isNoData = (data) => data._tag === NO_DATA_TAG;
94
115
  /**
95
116
  * @since 1.0.0
96
117
  */
97
- export const isRefreshing = (data) => isSuccess(data) || isFailure(data) ? Option.isSome(data.refreshing) : false;
118
+ export const isRefreshing = (data) => isSuccess(data) || isFailure(data)
119
+ ? Option.isSome(data.refreshing)
120
+ : isOptimistic(data)
121
+ ? isRefreshing(data.previous)
122
+ : false;
98
123
  /**
99
124
  * @since 1.0.0
100
125
  */
101
- export const isLoadingOrRefreshing = (data) => isLoading(data) || isRefreshing(data);
126
+ export const isLoadingOrRefreshing = (data) => isLoading(data) || isRefreshing(data) || (isOptimistic(data) && isLoadingOrRefreshing(data.previous));
102
127
  /**
103
128
  * @since 1.0.0
104
129
  */
@@ -112,25 +137,40 @@ export const match = dual(2, (data, matchers) => {
112
137
  else if (isLoading(data)) {
113
138
  return matchers.Loading(data);
114
139
  }
115
- else {
140
+ else if (isNoData(data)) {
116
141
  return matchers.NoData(data);
117
142
  }
143
+ else {
144
+ return matchers.Optimistic(data.value, data);
145
+ }
118
146
  });
119
147
  /**
120
148
  * @since 1.0.0
121
149
  */
122
- export const map = dual(2, function (data, f) {
123
- return isSuccess(data) ?
124
- success(f(data.value), {
150
+ export const map = dual(2, function map(data, f) {
151
+ if (isSuccess(data)) {
152
+ return success(f(data.value), {
153
+ timestamp: data.timestamp,
125
154
  refreshing: Option.getOrUndefined(data.refreshing)
126
- }) :
127
- data;
155
+ });
156
+ }
157
+ else if (isOptimistic(data)) {
158
+ return optimistic(map(data.previous, f), f(data.value), { timestamp: data.timestamp });
159
+ }
160
+ else {
161
+ return data;
162
+ }
128
163
  });
129
164
  /**
130
165
  * @since 1.0.0
131
166
  */
132
167
  export const flatMap = dual(2, function (data, f) {
133
- return isSuccess(data) ? f(data.value, data) : data;
168
+ if (isSuccess(data) || isOptimistic(data)) {
169
+ return f(data.value, data);
170
+ }
171
+ else {
172
+ return data;
173
+ }
134
174
  });
135
175
  /**
136
176
  * @since 1.0.0
@@ -144,6 +184,9 @@ export const startLoading = (data) => {
144
184
  ? data
145
185
  : failCause(data.cause, { ...data, refreshing: loading() });
146
186
  }
187
+ else if (isOptimistic(data)) {
188
+ return optimistic(startLoading(data.previous), data.value, data);
189
+ }
147
190
  else {
148
191
  return loading();
149
192
  }
@@ -158,6 +201,9 @@ export const stopLoading = (data) => {
158
201
  else if (isFailure(data)) {
159
202
  return Option.isSome(data.refreshing) ? failCause(data.cause) : data;
160
203
  }
204
+ else if (isOptimistic(data)) {
205
+ return optimistic(stopLoading(data.previous), data.value, data);
206
+ }
161
207
  else {
162
208
  return noData();
163
209
  }
@@ -180,7 +226,7 @@ export const getFailure = (data) => isFailure(data) ? Cause.failureOption(data.c
180
226
  /**
181
227
  * @since 1.0.0
182
228
  */
183
- export const getSuccess = (data) => isSuccess(data) ? Option.some(data.value) : Option.none();
229
+ export const getSuccess = (data) => isSuccess(data) || isOptimistic(data) ? Option.some(data.value) : Option.none();
184
230
  const optionProgressEq = Option.getEquivalence(Progress.equals);
185
231
  const loadingEquivalence = Equivalence.struct({
186
232
  _tag: Equivalence.string,
@@ -200,18 +246,38 @@ const successEquivalence = (valueEq) => Equivalence.struct({
200
246
  timestamp: Equivalence.number,
201
247
  refreshing: optionLoadingEq
202
248
  });
249
+ const optimisticEquivalence = (valueEq) => {
250
+ let previousEq;
251
+ const get = () => {
252
+ if (previousEq === undefined) {
253
+ previousEq = getEquivalence(valueEq);
254
+ }
255
+ return previousEq;
256
+ };
257
+ return Equivalence.struct({
258
+ _tag: Equivalence.string,
259
+ value: valueEq,
260
+ timestamp: Equivalence.number,
261
+ previous: (a, b) => get()(a, b)
262
+ });
263
+ };
203
264
  /**
204
265
  * @since 1.0.0
205
266
  */
206
- export const getEquivalence = (valueEq = Equal.equals) => (a, b) => {
207
- if (a === b)
208
- return true;
209
- return match(a, {
210
- NoData: () => isNoData(b),
211
- Loading: (l1) => isLoading(b) ? loadingEquivalence(l1, b) : false,
212
- Failure: (_, f1) => isFailure(b) ? failureEquivalence(f1, b) : false,
213
- Success: (_, s1) => isSuccess(b) ? successEquivalence(valueEq)(s1, b) : false
214
- });
267
+ export const getEquivalence = (valueEq = Equal.equals) => {
268
+ const successEq_ = successEquivalence(valueEq);
269
+ const optimisticEq_ = optimisticEquivalence(valueEq);
270
+ return (a, b) => {
271
+ if (a === b)
272
+ return true;
273
+ return match(a, {
274
+ NoData: () => isNoData(b),
275
+ Loading: (l1) => isLoading(b) ? loadingEquivalence(l1, b) : false,
276
+ Failure: (_, f1) => isFailure(b) ? failureEquivalence(f1, b) : false,
277
+ Success: (_, s1) => isSuccess(b) ? successEq_(s1, b) : false,
278
+ Optimistic: (_, o1) => isOptimistic(b) ? optimisticEq_(o1, b) : false
279
+ });
280
+ };
215
281
  };
216
282
  /**
217
283
  * @since 1.0.0
@@ -231,25 +297,25 @@ export function fromEither(either) {
231
297
  onRight: (a) => success(a)
232
298
  });
233
299
  }
234
- const isAsyncDataFirst = (args) => args.length === 3 || isAsyncData(args[0]);
235
300
  /**
236
301
  * @since 1.0.0
237
302
  */
238
303
  export const isExpired = dual(isAsyncDataFirst, function isExpired(data, ttl, now = getCurrentTimestamp()) {
239
304
  return match(data, {
240
305
  NoData: () => true,
241
- Loading: () => false,
306
+ Loading: ({ timestamp }) => isPastTTL(timestamp, ttl, now),
242
307
  Failure: (_, f) => Option.isNone(f.refreshing)
243
308
  ? isPastTTL(f.timestamp, ttl, now)
244
309
  : isPastTTL(f.refreshing.value.timestamp, ttl, now),
245
310
  Success: (_, s) => Option.isNone(s.refreshing)
246
311
  ? isPastTTL(s.timestamp, ttl, now) :
247
- isPastTTL(s.refreshing.value.timestamp, ttl, now)
312
+ isPastTTL(s.refreshing.value.timestamp, ttl, now),
313
+ Optimistic: (_, o) => isPastTTL(o.timestamp, ttl, now) || (o.previous._tag === NO_DATA_TAG ? false : isExpired(o.previous, ttl, now))
248
314
  });
249
315
  });
250
316
  function isPastTTL(timestamp, ttl, now) {
251
317
  const millis = Duration.toMillis(ttl);
252
- return now - timestamp > millis;
318
+ return now - timestamp >= millis;
253
319
  }
254
320
  /**
255
321
  * Checks if two AsyncData are equal, disregarding the timestamps associated with them. Useful for testing
@@ -262,7 +328,8 @@ export function dataEqual(first, second) {
262
328
  NoData: () => isNoData(second),
263
329
  Loading: (l) => isLoading(second) && Equal.equals(l.progress, second.progress),
264
330
  Failure: (_, f1) => isFailure(second) && Equal.equals(f1.cause, second.cause) && Equal.equals(f1.refreshing, second.refreshing),
265
- Success: (_, s1) => isSuccess(second) && Equal.equals(s1.value, second.value) && Equal.equals(s1.refreshing, second.refreshing)
331
+ Success: (_, s1) => isSuccess(second) && Equal.equals(s1.value, second.value) && Equal.equals(s1.refreshing, second.refreshing),
332
+ Optimistic: (_, o1) => isOptimistic(second) && Equal.equals(o1.value, second.value) && dataEqual(o1.previous, second.previous)
266
333
  });
267
334
  }
268
335
  //# sourceMappingURL=AsyncData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncData.js","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsyncData.js","sourceRoot":"","sources":["../../src/AsyncData.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACtG,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;AAiD5C;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAK;IAC3D;;OAEG;IACM,CAAC,eAAe,CAAC,GAAoB,eAAe,CAAA;IAE7D;;OAEG;IACM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAU;IACrC;;OAEG;IACM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAwB;IACpD;;OAEG;IACM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAuB;CACrD;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAGf,GAAW,EAAE,CAAC,IAAI,MAAM,EAAE,CAAA;AAE9B;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,CAAiB;IACxE;;OAEG;IACM,CAAC,eAAe,CAAC,GAAoB,eAAe,CAAA;IAE7D;;OAEG;IACM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAU;IACrC;;OAEG;IACM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAwB;IACpD;;OAEG;IACM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAuB;CACrD;AAmBD;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAGhB,CAAC,OAAyC,EAAW,EAAE,CACzD,IAAI,OAAO,CAAC;IACV,CAAC,eAAe,CAAC,EAAE,eAAe;IAClC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE;IACtD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC1C,CAAC,CAAA;AAoDX;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAGlB,CAAI,KAAqB,EAAE,OAAyC,EAAc,EAAE,CACtF,IAAI,QAAQ,CAAC,WAAW,CACtB,KAAK,EACL,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,EAC3C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAClC,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAGb,CAAI,KAAQ,EAAE,OAAyC,EAAc,EAAE,CAAC,SAAS,CAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;AA6BpH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAGhB,CAAI,KAAQ,EAAE,OAAyC,EAAc,EAAE,CACzE,IAAI,QAAQ,CAAC,WAAW,CACtB,KAAK,EACL,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,EAC3C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAClC,CAAA;AAwBV,MAAM,gBAAgB,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAGnB,IAAI,CACN,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EACrD,CAAO,QAAyB,EAAE,KAAQ,EAAE,OAA4C,EAAoB,EAAE,CAC5G,IAAI,QAAQ,CAAC,cAAc,CACzB,KAAK,EACL,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE;AAC3C,sGAAsG;AACtG,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CACvD,CACX,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAO,IAAqB,EAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAA;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,IAAqB,EAA4B,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAA;AAEnH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAO,IAAqB,EAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAA;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAO,IAAqB,EAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAA;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAO,IAAqB,EAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAA;AAqBlG;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,IAAqB,EAA4B,EAAE,CACpF,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC;IAChC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;QACpB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAA;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAO,IAAqB,EAAsC,EAAE,CACvG,SAAS,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEvG;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAqBd,IAAI,CAAC,CAAC,EAAE,CAA2B,IAAqB,EAAE,QAM7D,EAAkC,EAAE;IACnC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAmC,CAAA;IAC7E,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAmC,CAAA;IAC7E,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAmC,CAAA;IACjE,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAmC,CAAA;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAmC,CAAA;IAChF,CAAC;AACH,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,CAAU,IAAqB,EAAE,CAAc;IACrE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;SACnD,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACxF,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAQhB,IAAI,CACN,CAAC,EACD,UACE,IAAqB,EACrB,CAAkE;IAElE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CACF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,IAAqB,EAAmB,EAAE;IAC3E,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IACxG,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,EAAE,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAO,IAAqB,EAAmB,EAAE;IAC1E,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACpE,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtE,CAAC;SAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACjE,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,EAAE,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAA+C,QAAQ,CAAC,WAAW,CAAA;AAE3F;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAO,IAAqB,EAAmB,EAAE,CACnE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACf,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;IACtC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACrC,CAAC,CAAA;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAO,IAAqB,EAAoB,EAAE,CAC1E,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAO,IAAqB,EAAoB,EAAE,CAC1E,SAAS,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AAEjF,MAAM,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAE/D,MAAM,kBAAkB,GAAqC,WAAW,CAAC,MAAM,CAAC;IAC9E,IAAI,EAAE,WAAW,CAAC,MAAM;IACxB,SAAS,EAAE,WAAW,CAAC,MAAM;IAC7B,QAAQ,EAAE,gBAAgB;CAC3B,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;AAEjE,MAAM,kBAAkB,GAA0C,WAAW,CAAC,MAAM,CAAC;IACnF,IAAI,EAAE,WAAW,CAAC,MAAM;IACxB,KAAK,EAAE,KAAK,CAAC,MAAM;IACnB,SAAS,EAAE,WAAW,CAAC,MAAM;IAC7B,UAAU,EAAE,eAAe;CAC5B,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,CAAI,OAAmC,EAAuC,EAAE,CACzG,WAAW,CAAC,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC,MAAM;IACxB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW,CAAC,MAAM;IAC7B,UAAU,EAAE,eAAe;CAC5B,CAAC,CAAA;AAEJ,MAAM,qBAAqB,GAAG,CAC5B,OAAmC,EACQ,EAAE;IAC7C,IAAI,UAAgE,CAAA;IACpE,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IAED,OAAO,WAAW,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,WAAW,CAAC,MAAM;QACxB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW,CAAC,MAAM;QAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KAChC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,UAAsC,KAAK,CAAC,MAAM,EACR,EAAE;IAC5C,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACpD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAExB,OAAO,KAAK,CAAC,CAAC,EAAE;YACd,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YACjE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YACpE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YAC5D,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;SACtE,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAO,IAAqB;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QACtC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACrC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAO,MAA2B;IAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QAC1B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KAC3B,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAGlB,IAAI,CAAC,gBAAgB,EAAE,SAAS,SAAS,CAC3C,IAAqB,EACrB,GAA2B,EAC3B,MAAc,mBAAmB,EAAE;IAEnC,OAAO,KAAK,CAAC,IAAI,EAAE;QACjB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;QAClB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;QAC1D,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;YAClC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;QACvD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;QACrD,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnB,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;KAClH,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,SAAS,CAAC,SAAiB,EAAE,GAA2B,EAAE,GAAW;IAC5E,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAErC,OAAO,GAAG,GAAG,SAAS,IAAI,MAAM,CAAA;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAO,KAAsB,EAAE,MAAuB;IAC7E,OAAO,KAAK,CAAC,KAAK,EAAE;QAClB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CACjB,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QAC7G,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CACjB,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;QAC7G,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;KAC1G,CAAC,CAAA;AACJ,CAAC"}