@kdeveloper/kvark 1.1.0 → 1.1.2
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/README.md +4 -0
- package/dist/family.d.ts +55 -9
- package/dist/family.js +1 -58
- package/dist/index.js +1 -1
- package/dist/{store-DeTRbkBP.js → store-CpNQ6odV.js} +385 -16
- package/dist/store-CpNQ6odV.js.map +1 -0
- package/package.json +1 -1
- package/dist/family.js.map +0 -1
- package/dist/store-DeTRbkBP.js.map +0 -1
package/README.md
CHANGED
|
@@ -714,6 +714,10 @@ A built-in helper that serialises plain objects and arrays into a deterministic
|
|
|
714
714
|
- Not supported: class instances (other than plain `Object`/`Array`), `Map`, `Set`, `Symbol`, functions, circular references.
|
|
715
715
|
- Memoises by object reference via a `WeakMap` — repeated calls with the **same object reference** are O(1). Treat param objects as **immutable** after the first call; mutating an object after it has been memoised will silently return the stale key.
|
|
716
716
|
|
|
717
|
+
#### Development-only stability check
|
|
718
|
+
|
|
719
|
+
In development builds (`process.env.NODE_ENV !== "production"`), `atomFamily` and `infinityAtomFamily` track how `param` maps to a cache key. If `paramKey` returns a different key for the same param reference, or if you call the family with two different object references that have the same content but no `paramKey` is provided, a `console.warn` is emitted explaining the problem. After 50 such warnings the family throws to interrupt what is almost certainly an infinite-loading loop. The check is fully removed by bundlers in production builds.
|
|
720
|
+
|
|
717
721
|
### Batching (`atomFamily` with `batch`)
|
|
718
722
|
|
|
719
723
|
Instead of fetching each atom individually, you can batch multiple concurrent requests into a single call — inspired by [`@yornaath/batshit`](https://www.npmjs.com/package/@yornaath/batshit). Replace `read` with `batch`:
|
package/dist/family.d.ts
CHANGED
|
@@ -20,6 +20,11 @@ type BatchFetchInput<Param, Key, Deps extends Record<string, DependencyEntry>> =
|
|
|
20
20
|
signal: AbortSignal;
|
|
21
21
|
ctx: AtomContext<Deps>;
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* Input passed to a batched `stream` fetcher. Same shape as {@link BatchFetchInput},
|
|
25
|
+
* just aliased for clarity at call sites.
|
|
26
|
+
*/
|
|
27
|
+
type BatchStreamInput<Param, Key, Deps extends Record<string, DependencyEntry>> = BatchFetchInput<Param, Key, Deps>;
|
|
23
28
|
//#endregion
|
|
24
29
|
//#region src/internal/family.d.ts
|
|
25
30
|
type AtomFamilyBaseOptions<Param, Key = Param> = {
|
|
@@ -53,23 +58,64 @@ type AtomFamilyGetOptions<Param, Value, Deps extends Record<string, DependencyEn
|
|
|
53
58
|
dependencies?: (param: Param) => Deps;
|
|
54
59
|
read: (param: Param) => (ctx: AtomContext<Deps>) => Promise<Value>;
|
|
55
60
|
write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
61
|
+
stream?: never;
|
|
62
|
+
reduce?: never;
|
|
63
|
+
initialValue?: never;
|
|
56
64
|
batch?: never;
|
|
57
65
|
};
|
|
58
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Streaming variant of `atomFamily` (non-batched). Mirrors `atom({ stream, reduce, initialValue })`,
|
|
68
|
+
* but with a `param` curried in front so each member of the family can build its own iterable
|
|
69
|
+
* (e.g. SSE / WebSocket subscription scoped to `param`).
|
|
70
|
+
*/
|
|
71
|
+
type AtomFamilyStreamOptions<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyBaseOptions<Param, Key> & {
|
|
72
|
+
dependencies?: (param: Param) => Deps;
|
|
73
|
+
/**
|
|
74
|
+
* Initial value used at the start of every `stream` run (including
|
|
75
|
+
* re-runs after invalidation). Provide a function to derive a per-param
|
|
76
|
+
* initial value.
|
|
77
|
+
*/
|
|
78
|
+
initialValue: Value | ((param: Param) => Value);
|
|
79
|
+
stream: (param: Param) => (ctx: AtomContext<Deps>) => AsyncIterable<Chunk> | Promise<AsyncIterable<Chunk>>;
|
|
80
|
+
reduce: (param: Param) => (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
|
|
81
|
+
write?: (param: Param) => (ctx: WritableAtomContext<Deps, Value>, ...args: Args) => Promise<void>;
|
|
82
|
+
read?: never;
|
|
83
|
+
batch?: never;
|
|
84
|
+
};
|
|
85
|
+
type AtomFamilyBatchFetchConfig<Param, Value, Deps extends Record<string, DependencyEntry>, Key> = {
|
|
86
|
+
fetch: (input: BatchFetchInput<Param, Key, Deps>) => Promise<Map<Key, Value>>;
|
|
87
|
+
scheduler?: BatchScheduler;
|
|
88
|
+
stream?: never;
|
|
89
|
+
reduce?: never;
|
|
90
|
+
initialValue?: never;
|
|
91
|
+
};
|
|
92
|
+
type AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps extends Record<string, DependencyEntry>, Key> = {
|
|
93
|
+
/**
|
|
94
|
+
* Streaming batch fetcher. Each yielded `Map<Key, Chunk>` routes its entries to
|
|
95
|
+
* the matching member atoms; chunks for keys that are not currently subscribed
|
|
96
|
+
* are ignored.
|
|
97
|
+
*/
|
|
98
|
+
stream: (input: BatchStreamInput<Param, Key, Deps>) => AsyncIterable<Map<Key, Chunk>> | Promise<AsyncIterable<Map<Key, Chunk>>>;
|
|
99
|
+
reduce: (value: Value, chunk: Chunk, ctx: AtomContext<Deps>) => Value | Promise<Value>;
|
|
100
|
+
initialValue: Value | ((param: Param) => Value);
|
|
101
|
+
scheduler?: BatchScheduler;
|
|
102
|
+
fetch?: never;
|
|
103
|
+
};
|
|
104
|
+
type AtomFamilyBatchOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Key = Param, Chunk = never> = AtomFamilyBaseOptions<Param, Key> & {
|
|
59
105
|
/**
|
|
60
106
|
* In batch mode `dependencies` takes **no param** — the same set of dependency atoms
|
|
61
107
|
* is shared by every member of the family. This ensures that `ctx` passed to `batch.fetch`
|
|
62
|
-
* is valid for the entire batch.
|
|
108
|
+
* (or `batch.stream`) is valid for the entire batch.
|
|
63
109
|
*/
|
|
64
110
|
dependencies?: () => Deps;
|
|
65
|
-
batch:
|
|
66
|
-
fetch: (input: BatchFetchInput<Param, Key, Deps>) => Promise<Map<Key, Value>>;
|
|
67
|
-
scheduler?: BatchScheduler;
|
|
68
|
-
};
|
|
111
|
+
batch: AtomFamilyBatchFetchConfig<Param, Value, Deps, Key> | AtomFamilyBatchStreamConfig<Param, Value, Chunk, Deps, Key>;
|
|
69
112
|
read?: never;
|
|
70
113
|
write?: never;
|
|
114
|
+
stream?: never;
|
|
115
|
+
reduce?: never;
|
|
116
|
+
initialValue?: never;
|
|
71
117
|
};
|
|
72
|
-
type AtomFamilyOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param> = AtomFamilyGetOptions<Param, Value, Deps, Args, Key> | AtomFamilyBatchOptions<Param, Value, Deps, Key>;
|
|
118
|
+
type AtomFamilyOptions<Param, Value, Deps extends Record<string, DependencyEntry>, Args extends readonly unknown[], Key = Param, Chunk = never> = AtomFamilyGetOptions<Param, Value, Deps, Args, Key> | AtomFamilyStreamOptions<Param, Value, Chunk, Deps, Args, Key> | AtomFamilyBatchOptions<Param, Value, Deps, Key, Chunk>;
|
|
73
119
|
interface AtomFamily<Param, Value, Key = Param> {
|
|
74
120
|
(param: Param): Atom<Value>;
|
|
75
121
|
invalidate(param: Param): void;
|
|
@@ -80,7 +126,7 @@ interface AtomFamily<Param, Value, Key = Param> {
|
|
|
80
126
|
clear(): void;
|
|
81
127
|
getCache(): ReadonlyMap<Key, Atom<Value>>;
|
|
82
128
|
}
|
|
83
|
-
declare function atomFamily<Param, Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly [], Key = Param>(options: AtomFamilyOptions<Param, Value, Deps, Args, Key>): AtomFamily<Param, Value, Key>;
|
|
129
|
+
declare function atomFamily<Param, Value, Deps extends Record<string, DependencyEntry> = Record<never, never>, Args extends readonly unknown[] = readonly [], Key = Param, Chunk = never>(options: AtomFamilyOptions<Param, Value, Deps, Args, Key, Chunk>): AtomFamily<Param, Value, Key>;
|
|
84
130
|
//#endregion
|
|
85
131
|
//#region src/internal/stable-family-key.d.ts
|
|
86
132
|
/**
|
|
@@ -96,5 +142,5 @@ declare function atomFamily<Param, Value, Deps extends Record<string, Dependency
|
|
|
96
142
|
*/
|
|
97
143
|
declare function stableFamilyKey(value: unknown): string;
|
|
98
144
|
//#endregion
|
|
99
|
-
export { type Atom, type AtomConfig, type AtomContext, type AtomFamily, type AtomFamilyBatchOptions, type AtomFamilyGetOptions, type AtomFamilyOptions, type AtomState, type AtomValue, type BatchFetchInput, type BatchScheduler, type BatchSchedulerContext, type InfiniteData, type InfinityAtomFamily, type InfinityAtomFamilyOptions, type InfinityAtomOptions, type InfinityFamilyAtom, type Mutation, type MutationContext, type Register, type RegisteredContext, type StalePolicy, type Store, type StoreClient, type StoreInspection, type StoreOptions, type WritableAtom, atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
|
|
145
|
+
export { type Atom, type AtomConfig, type AtomContext, type AtomFamily, type AtomFamilyBatchOptions, type AtomFamilyGetOptions, type AtomFamilyOptions, type AtomFamilyStreamOptions, type AtomState, type AtomValue, type BatchFetchInput, type BatchScheduler, type BatchSchedulerContext, type BatchStreamInput, type InfiniteData, type InfinityAtomFamily, type InfinityAtomFamilyOptions, type InfinityAtomOptions, type InfinityFamilyAtom, type Mutation, type MutationContext, type Register, type RegisteredContext, type StalePolicy, type Store, type StoreClient, type StoreInspection, type StoreOptions, type WritableAtom, atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
|
|
100
146
|
//# sourceMappingURL=family.d.ts.map
|
package/dist/family.js
CHANGED
|
@@ -1,59 +1,2 @@
|
|
|
1
|
-
import { a as microtaskScheduler, c as infinityAtomFamily, i as maxBatchSizeScheduler, l as
|
|
2
|
-
//#region src/internal/stable-family-key.ts
|
|
3
|
-
/**
|
|
4
|
-
* Produces a deterministic string key for plain-object/array/primitive values.
|
|
5
|
-
*
|
|
6
|
-
* Supported types: string, number, boolean, null, undefined, bigint,
|
|
7
|
-
* plain objects (incl. nested), arrays.
|
|
8
|
-
*
|
|
9
|
-
* Not supported (throws or produces non-unique output): circular references,
|
|
10
|
-
* class instances other than plain Object/Array, Map, Set, Symbol, functions.
|
|
11
|
-
* Treat the parameter as immutable — mutating an object after its first key is
|
|
12
|
-
* computed via a WeakMap memo will silently return the stale cached key.
|
|
13
|
-
*/
|
|
14
|
-
const memo = /* @__PURE__ */ new WeakMap();
|
|
15
|
-
function formatUnknownForError(value) {
|
|
16
|
-
switch (typeof value) {
|
|
17
|
-
case "string": return JSON.stringify(value);
|
|
18
|
-
case "number":
|
|
19
|
-
case "boolean":
|
|
20
|
-
case "bigint": return String(value);
|
|
21
|
-
case "symbol": return value.description ?? "(symbol)";
|
|
22
|
-
case "function": return `function ${value.name}`;
|
|
23
|
-
default: return "(unknown)";
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function stableFamilyKey(value) {
|
|
27
|
-
if (value !== null && typeof value === "object") {
|
|
28
|
-
const cached = memo.get(value);
|
|
29
|
-
if (cached !== void 0) return cached;
|
|
30
|
-
const result = serializeValue(value);
|
|
31
|
-
memo.set(value, result);
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
return serializeValue(value);
|
|
35
|
-
}
|
|
36
|
-
function serializeValue(value) {
|
|
37
|
-
if (value === null) return "null";
|
|
38
|
-
if (value === void 0) return "undefined";
|
|
39
|
-
const t = typeof value;
|
|
40
|
-
if (t === "string") return JSON.stringify(value);
|
|
41
|
-
if (t === "number") return String(value);
|
|
42
|
-
if (t === "boolean") return String(value);
|
|
43
|
-
if (t === "bigint") return `${String(value)}n`;
|
|
44
|
-
if (t !== "object") throw new TypeError(`stableFamilyKey: unsupported type "${t}" (${formatUnknownForError(value)})`);
|
|
45
|
-
if (Array.isArray(value)) return `[${value.map(serializeValue).join(",")}]`;
|
|
46
|
-
const proto = Object.getPrototypeOf(value);
|
|
47
|
-
if (proto !== Object.prototype && proto !== null) {
|
|
48
|
-
const ctorName = value.constructor?.name ?? "unknown";
|
|
49
|
-
throw new TypeError(`stableFamilyKey: only plain objects are supported (got ${ctorName})`);
|
|
50
|
-
}
|
|
51
|
-
return `{${Object.keys(value).sort().map((k) => {
|
|
52
|
-
const v = value[k];
|
|
53
|
-
return `${JSON.stringify(k)}:${serializeValue(v)}`;
|
|
54
|
-
}).join(",")}}`;
|
|
55
|
-
}
|
|
56
|
-
//#endregion
|
|
1
|
+
import { a as microtaskScheduler, c as infinityAtomFamily, d as atom, i as maxBatchSizeScheduler, l as stableFamilyKey, n as mutation, o as windowScheduler, r as atomFamily, s as windowedFiniteBatchScheduler, t as createStore, u as infinityAtom } from "./store-CpNQ6odV.js";
|
|
57
2
|
export { atom, atomFamily, createStore, infinityAtom, infinityAtomFamily, maxBatchSizeScheduler, microtaskScheduler, mutation, stableFamilyKey, windowScheduler, windowedFiniteBatchScheduler };
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=family.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { c as infinityAtomFamily,
|
|
1
|
+
import { c as infinityAtomFamily, d as atom, n as mutation, t as createStore, u as infinityAtom } from "./store-CpNQ6odV.js";
|
|
2
2
|
export { atom, createStore, infinityAtom, infinityAtomFamily, mutation };
|
|
@@ -245,6 +245,156 @@ function normalizeMaxSize(maxSize) {
|
|
|
245
245
|
return Math.max(0, Math.floor(maxSize));
|
|
246
246
|
}
|
|
247
247
|
//#endregion
|
|
248
|
+
//#region src/internal/is-dev.ts
|
|
249
|
+
/**
|
|
250
|
+
* Development-mode flag. Mirrors the convention used by React / Preact:
|
|
251
|
+
* checks `process.env.NODE_ENV` at module evaluation time so that bundlers
|
|
252
|
+
* (Vite, Rollup, esbuild, webpack, …) can statically inline the value and
|
|
253
|
+
* tree-shake the guarded branches in production builds.
|
|
254
|
+
*
|
|
255
|
+
* Not exported from the public API; for internal use only.
|
|
256
|
+
*/
|
|
257
|
+
const isDev = typeof process !== "undefined" && typeof process.env !== "undefined" && process.env["NODE_ENV"] !== "production";
|
|
258
|
+
//#endregion
|
|
259
|
+
//#region src/internal/stable-family-key.ts
|
|
260
|
+
/**
|
|
261
|
+
* Produces a deterministic string key for plain-object/array/primitive values.
|
|
262
|
+
*
|
|
263
|
+
* Supported types: string, number, boolean, null, undefined, bigint,
|
|
264
|
+
* plain objects (incl. nested), arrays.
|
|
265
|
+
*
|
|
266
|
+
* Not supported (throws or produces non-unique output): circular references,
|
|
267
|
+
* class instances other than plain Object/Array, Map, Set, Symbol, functions.
|
|
268
|
+
* Treat the parameter as immutable — mutating an object after its first key is
|
|
269
|
+
* computed via a WeakMap memo will silently return the stale cached key.
|
|
270
|
+
*/
|
|
271
|
+
const memo = /* @__PURE__ */ new WeakMap();
|
|
272
|
+
function formatUnknownForError(value) {
|
|
273
|
+
switch (typeof value) {
|
|
274
|
+
case "string": return JSON.stringify(value);
|
|
275
|
+
case "number":
|
|
276
|
+
case "boolean":
|
|
277
|
+
case "bigint": return String(value);
|
|
278
|
+
case "symbol": return value.description ?? "(symbol)";
|
|
279
|
+
case "function": return `function ${value.name}`;
|
|
280
|
+
default: return "(unknown)";
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
function stableFamilyKey(value) {
|
|
284
|
+
if (value !== null && typeof value === "object") {
|
|
285
|
+
const cached = memo.get(value);
|
|
286
|
+
if (cached !== void 0) return cached;
|
|
287
|
+
const result = serializeValue(value);
|
|
288
|
+
memo.set(value, result);
|
|
289
|
+
return result;
|
|
290
|
+
}
|
|
291
|
+
return serializeValue(value);
|
|
292
|
+
}
|
|
293
|
+
function serializeValue(value) {
|
|
294
|
+
if (value === null) return "null";
|
|
295
|
+
if (value === void 0) return "undefined";
|
|
296
|
+
const t = typeof value;
|
|
297
|
+
if (t === "string") return JSON.stringify(value);
|
|
298
|
+
if (t === "number") return String(value);
|
|
299
|
+
if (t === "boolean") return String(value);
|
|
300
|
+
if (t === "bigint") return `${String(value)}n`;
|
|
301
|
+
if (t !== "object") throw new TypeError(`stableFamilyKey: unsupported type "${t}" (${formatUnknownForError(value)})`);
|
|
302
|
+
if (Array.isArray(value)) return `[${value.map(serializeValue).join(",")}]`;
|
|
303
|
+
const proto = Object.getPrototypeOf(value);
|
|
304
|
+
if (proto !== Object.prototype && proto !== null) {
|
|
305
|
+
const ctorName = value.constructor?.name ?? "unknown";
|
|
306
|
+
throw new TypeError(`stableFamilyKey: only plain objects are supported (got ${ctorName})`);
|
|
307
|
+
}
|
|
308
|
+
return `{${Object.keys(value).sort().map((k) => {
|
|
309
|
+
const v = value[k];
|
|
310
|
+
return `${JSON.stringify(k)}:${serializeValue(v)}`;
|
|
311
|
+
}).join(",")}}`;
|
|
312
|
+
}
|
|
313
|
+
//#endregion
|
|
314
|
+
//#region src/internal/family-param-key-dev.ts
|
|
315
|
+
/**
|
|
316
|
+
* Number of unstable paramKey detections after which the tracker throws.
|
|
317
|
+
* Aligns with the React-style convention of warning loudly in development and
|
|
318
|
+
* then hard-failing once the situation looks like an infinite loop.
|
|
319
|
+
*/
|
|
320
|
+
const MAX_UNSTABLE_PARAM_KEY_RETRIES = 50;
|
|
321
|
+
/**
|
|
322
|
+
* Detects two classes of unstable cache keys that cause `atomFamily` /
|
|
323
|
+
* `infinityAtomFamily` to create a new atom on every call and therefore loop
|
|
324
|
+
* forever in Suspense / hook-driven render trees:
|
|
325
|
+
*
|
|
326
|
+
* - **A.** `paramKey` is provided but returns a different value for the same
|
|
327
|
+
* `param` (mutable state, impure function).
|
|
328
|
+
* - **B.** `paramKey` is not provided and the same content object is passed by
|
|
329
|
+
* reference more than once (e.g. an inline literal recreated each render).
|
|
330
|
+
*
|
|
331
|
+
* In both cases a `console.warn` is emitted; after
|
|
332
|
+
* `MAX_UNSTABLE_PARAM_KEY_RETRIES` warnings the tracker throws so that the
|
|
333
|
+
* runaway loop surfaces as a real error.
|
|
334
|
+
*/
|
|
335
|
+
function createFamilyParamKeyDevTracker(options) {
|
|
336
|
+
const label = options.debugLabel ?? "atomFamily";
|
|
337
|
+
let warningCount = 0;
|
|
338
|
+
const seenObjectParams = /* @__PURE__ */ new WeakMap();
|
|
339
|
+
const seenPrimitiveParams = /* @__PURE__ */ new Map();
|
|
340
|
+
const seenStableKeys = /* @__PURE__ */ new Map();
|
|
341
|
+
function trigger(message) {
|
|
342
|
+
warningCount++;
|
|
343
|
+
console.warn(message);
|
|
344
|
+
if (warningCount >= MAX_UNSTABLE_PARAM_KEY_RETRIES) throw new Error(`${label}: detected ${MAX_UNSTABLE_PARAM_KEY_RETRIES} unstable paramKey resolutions in a row. This almost certainly causes infinite re-fetching. Provide a stable \`paramKey\` (e.g. \`stableFamilyKey\` from \`@kdeveloper/kvark/family\`) or treat param objects as immutable.`);
|
|
345
|
+
}
|
|
346
|
+
function trackParamKeyStability(param, key) {
|
|
347
|
+
if (param !== null && typeof param === "object") {
|
|
348
|
+
if (!seenObjectParams.has(param)) {
|
|
349
|
+
seenObjectParams.set(param, key);
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
const prev = seenObjectParams.get(param);
|
|
353
|
+
if (prev !== key) {
|
|
354
|
+
seenObjectParams.set(param, key);
|
|
355
|
+
trigger(`${label}: \`paramKey\` returned a different key for the same param reference (previous: ${formatKey(prev)}, current: ${formatKey(key)}). paramKey must be a pure function of param; do not derive keys from mutable state.`);
|
|
356
|
+
}
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
if (!seenPrimitiveParams.has(param)) {
|
|
360
|
+
seenPrimitiveParams.set(param, key);
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
const prev = seenPrimitiveParams.get(param);
|
|
364
|
+
if (prev !== key) {
|
|
365
|
+
seenPrimitiveParams.set(param, key);
|
|
366
|
+
trigger(`${label}: \`paramKey\` returned a different key for the same param value (previous: ${formatKey(prev)}, current: ${formatKey(key)}).`);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
function trackMissingParamKey(param) {
|
|
370
|
+
if (param === null || typeof param !== "object") return;
|
|
371
|
+
let stable;
|
|
372
|
+
try {
|
|
373
|
+
stable = stableFamilyKey(param);
|
|
374
|
+
} catch {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
const firstRef = seenStableKeys.get(stable);
|
|
378
|
+
if (firstRef === void 0) {
|
|
379
|
+
seenStableKeys.set(stable, param);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
if (firstRef !== param) trigger(`${label}: received two different object references with the same content (${stable}) but no \`paramKey\` was provided, so they were cached as separate atoms. This commonly causes infinite loading in render loops. Pass \`paramKey: stableFamilyKey\` (or another stable key function) to atomFamily.`);
|
|
383
|
+
}
|
|
384
|
+
return { track(param, key) {
|
|
385
|
+
if (options.hasParamKey) {
|
|
386
|
+
trackParamKeyStability(param, key);
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
trackMissingParamKey(param);
|
|
390
|
+
} };
|
|
391
|
+
}
|
|
392
|
+
function formatKey(value) {
|
|
393
|
+
if (typeof value === "string") return JSON.stringify(value);
|
|
394
|
+
if (typeof value === "bigint") return `${String(value)}n`;
|
|
395
|
+
return String(value);
|
|
396
|
+
}
|
|
397
|
+
//#endregion
|
|
248
398
|
//#region src/internal/infinity-atom-family.ts
|
|
249
399
|
function infinityAtomFamily(options) {
|
|
250
400
|
const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
|
|
@@ -260,8 +410,14 @@ function infinityAtomFamily(options) {
|
|
|
260
410
|
};
|
|
261
411
|
}
|
|
262
412
|
};
|
|
413
|
+
const devTracker = isDev ? createFamilyParamKeyDevTracker({
|
|
414
|
+
hasParamKey: options.paramKey != null,
|
|
415
|
+
debugLabel: options.debugLabel
|
|
416
|
+
}) : null;
|
|
263
417
|
function keyOf(param) {
|
|
264
|
-
|
|
418
|
+
const key = options.paramKey != null ? options.paramKey(param) : param;
|
|
419
|
+
devTracker?.track(param, key);
|
|
420
|
+
return key;
|
|
265
421
|
}
|
|
266
422
|
function attachLink(target) {
|
|
267
423
|
target[FAMILY_LINK] = link;
|
|
@@ -435,6 +591,169 @@ var BatchCoordinator = class {
|
|
|
435
591
|
});
|
|
436
592
|
}
|
|
437
593
|
};
|
|
594
|
+
function createBuffer() {
|
|
595
|
+
return {
|
|
596
|
+
chunks: [],
|
|
597
|
+
closed: false,
|
|
598
|
+
error: null,
|
|
599
|
+
resolveNext: null,
|
|
600
|
+
rejectNext: null
|
|
601
|
+
};
|
|
602
|
+
}
|
|
603
|
+
function pushChunk(buf, chunk) {
|
|
604
|
+
if (buf.closed) return;
|
|
605
|
+
if (buf.resolveNext != null) {
|
|
606
|
+
const resolve = buf.resolveNext;
|
|
607
|
+
buf.resolveNext = null;
|
|
608
|
+
buf.rejectNext = null;
|
|
609
|
+
resolve({
|
|
610
|
+
value: chunk,
|
|
611
|
+
done: false
|
|
612
|
+
});
|
|
613
|
+
return;
|
|
614
|
+
}
|
|
615
|
+
buf.chunks.push(chunk);
|
|
616
|
+
}
|
|
617
|
+
function closeBuffer(buf, error) {
|
|
618
|
+
if (buf.closed) return;
|
|
619
|
+
buf.closed = true;
|
|
620
|
+
if (error !== void 0) buf.error = error;
|
|
621
|
+
if (buf.resolveNext != null) {
|
|
622
|
+
const resolve = buf.resolveNext;
|
|
623
|
+
const reject = buf.rejectNext;
|
|
624
|
+
buf.resolveNext = null;
|
|
625
|
+
buf.rejectNext = null;
|
|
626
|
+
if (error !== void 0 && reject != null) reject(error);
|
|
627
|
+
else resolve({
|
|
628
|
+
value: void 0,
|
|
629
|
+
done: true
|
|
630
|
+
});
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
function bufferIterable(buf) {
|
|
634
|
+
const iterator = {
|
|
635
|
+
[Symbol.asyncIterator]() {
|
|
636
|
+
return iterator;
|
|
637
|
+
},
|
|
638
|
+
next() {
|
|
639
|
+
if (buf.chunks.length > 0) {
|
|
640
|
+
const value = buf.chunks.shift();
|
|
641
|
+
return Promise.resolve({
|
|
642
|
+
value,
|
|
643
|
+
done: false
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
if (buf.closed) {
|
|
647
|
+
if (buf.error !== null && buf.error !== void 0) return Promise.reject(buf.error);
|
|
648
|
+
return Promise.resolve({
|
|
649
|
+
value: void 0,
|
|
650
|
+
done: true
|
|
651
|
+
});
|
|
652
|
+
}
|
|
653
|
+
return new Promise((resolve, reject) => {
|
|
654
|
+
buf.resolveNext = resolve;
|
|
655
|
+
buf.rejectNext = reject;
|
|
656
|
+
});
|
|
657
|
+
},
|
|
658
|
+
return() {
|
|
659
|
+
closeBuffer(buf);
|
|
660
|
+
return Promise.resolve({
|
|
661
|
+
value: void 0,
|
|
662
|
+
done: true
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
};
|
|
666
|
+
return iterator;
|
|
667
|
+
}
|
|
668
|
+
var StreamBatchCoordinator = class {
|
|
669
|
+
#stream;
|
|
670
|
+
#scheduler;
|
|
671
|
+
#queue = [];
|
|
672
|
+
#keySet = /* @__PURE__ */ new Set();
|
|
673
|
+
constructor(stream, scheduler) {
|
|
674
|
+
this.#stream = stream;
|
|
675
|
+
this.#scheduler = scheduler ?? microtaskScheduler();
|
|
676
|
+
}
|
|
677
|
+
enqueue(key, param, ctx, signal) {
|
|
678
|
+
const buffer = createBuffer();
|
|
679
|
+
const entry = {
|
|
680
|
+
key,
|
|
681
|
+
param,
|
|
682
|
+
ctx,
|
|
683
|
+
signal,
|
|
684
|
+
buffer
|
|
685
|
+
};
|
|
686
|
+
if (signal.aborted) {
|
|
687
|
+
closeBuffer(buffer, new DOMException("The operation was aborted", "AbortError"));
|
|
688
|
+
return bufferIterable(buffer);
|
|
689
|
+
}
|
|
690
|
+
signal.addEventListener("abort", () => {
|
|
691
|
+
closeBuffer(buffer, new DOMException("The operation was aborted", "AbortError"));
|
|
692
|
+
}, { once: true });
|
|
693
|
+
this.#queue.push(entry);
|
|
694
|
+
this.#keySet.add(key);
|
|
695
|
+
this.#scheduler.schedule(() => this.#flush(), { pendingCount: this.#keySet.size });
|
|
696
|
+
return bufferIterable(buffer);
|
|
697
|
+
}
|
|
698
|
+
#flush() {
|
|
699
|
+
if (this.#queue.length === 0) return;
|
|
700
|
+
const entries = this.#queue;
|
|
701
|
+
this.#queue = [];
|
|
702
|
+
this.#keySet = /* @__PURE__ */ new Set();
|
|
703
|
+
this.#scheduler.reset();
|
|
704
|
+
const uniqueKeys = [];
|
|
705
|
+
const uniqueParams = [];
|
|
706
|
+
const entriesByKey = /* @__PURE__ */ new Map();
|
|
707
|
+
for (const entry of entries) {
|
|
708
|
+
let bucket = entriesByKey.get(entry.key);
|
|
709
|
+
if (bucket == null) {
|
|
710
|
+
bucket = [];
|
|
711
|
+
entriesByKey.set(entry.key, bucket);
|
|
712
|
+
uniqueKeys.push(entry.key);
|
|
713
|
+
uniqueParams.push(entry.param);
|
|
714
|
+
}
|
|
715
|
+
bucket.push(entry);
|
|
716
|
+
}
|
|
717
|
+
const firstEntry = entries[0];
|
|
718
|
+
if (firstEntry == null) return;
|
|
719
|
+
const firstCtx = firstEntry.ctx;
|
|
720
|
+
const controller = new AbortController();
|
|
721
|
+
let abortedCount = 0;
|
|
722
|
+
const total = entries.length;
|
|
723
|
+
const onEntryAbort = () => {
|
|
724
|
+
abortedCount++;
|
|
725
|
+
if (abortedCount === total) controller.abort();
|
|
726
|
+
};
|
|
727
|
+
for (const entry of entries) if (entry.signal.aborted) abortedCount++;
|
|
728
|
+
else entry.signal.addEventListener("abort", onEntryAbort, { once: true });
|
|
729
|
+
if (abortedCount === total) controller.abort();
|
|
730
|
+
const closeAll = (error) => {
|
|
731
|
+
for (const entry of entries) if (error !== void 0) closeBuffer(entry.buffer, error);
|
|
732
|
+
else closeBuffer(entry.buffer);
|
|
733
|
+
};
|
|
734
|
+
(async () => {
|
|
735
|
+
try {
|
|
736
|
+
const iterable = await this.#stream({
|
|
737
|
+
keys: uniqueKeys,
|
|
738
|
+
params: uniqueParams,
|
|
739
|
+
signal: controller.signal,
|
|
740
|
+
ctx: firstCtx
|
|
741
|
+
});
|
|
742
|
+
for await (const chunkMap of iterable) {
|
|
743
|
+
if (controller.signal.aborted) break;
|
|
744
|
+
for (const [key, chunk] of chunkMap) {
|
|
745
|
+
const bucket = entriesByKey.get(key);
|
|
746
|
+
if (bucket == null) continue;
|
|
747
|
+
for (const entry of bucket) if (!entry.signal.aborted) pushChunk(entry.buffer, chunk);
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
closeAll();
|
|
751
|
+
} catch (error) {
|
|
752
|
+
closeAll(error);
|
|
753
|
+
}
|
|
754
|
+
})();
|
|
755
|
+
}
|
|
756
|
+
};
|
|
438
757
|
//#endregion
|
|
439
758
|
//#region src/internal/family.ts
|
|
440
759
|
function getFamilyLink(target) {
|
|
@@ -443,9 +762,28 @@ function getFamilyLink(target) {
|
|
|
443
762
|
function atomFamily(options) {
|
|
444
763
|
const cache = new LruCache(options.cachePolicy === "lru" ? options.lruSize ?? 100 : Infinity);
|
|
445
764
|
const storeCallbacks = /* @__PURE__ */ new Set();
|
|
446
|
-
|
|
765
|
+
let fetchCoordinator = null;
|
|
766
|
+
let streamCoordinator = null;
|
|
767
|
+
let batchStreamConfig = null;
|
|
768
|
+
if (options.batch != null) {
|
|
769
|
+
const batch = options.batch;
|
|
770
|
+
if (batch.fetch != null) fetchCoordinator = new BatchCoordinator(batch.fetch, batch.scheduler);
|
|
771
|
+
else {
|
|
772
|
+
batchStreamConfig = batch;
|
|
773
|
+
streamCoordinator = new StreamBatchCoordinator(batchStreamConfig.stream, batchStreamConfig.scheduler);
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
const devTracker = isDev ? createFamilyParamKeyDevTracker({
|
|
777
|
+
hasParamKey: options.paramKey != null,
|
|
778
|
+
debugLabel: options.debugLabel
|
|
779
|
+
}) : null;
|
|
447
780
|
function keyOf(param) {
|
|
448
|
-
|
|
781
|
+
const key = options.paramKey != null ? options.paramKey(param) : param;
|
|
782
|
+
devTracker?.track(param, key);
|
|
783
|
+
return key;
|
|
784
|
+
}
|
|
785
|
+
function resolveInitialValue(initial, param) {
|
|
786
|
+
return typeof initial === "function" ? initial(param) : initial;
|
|
449
787
|
}
|
|
450
788
|
const link = {
|
|
451
789
|
invalidateAtom(target) {
|
|
@@ -466,36 +804,67 @@ function atomFamily(options) {
|
|
|
466
804
|
const cached = cache.get(key);
|
|
467
805
|
if (cached != null) return cached;
|
|
468
806
|
let deps;
|
|
469
|
-
let
|
|
807
|
+
let source;
|
|
470
808
|
let writeFn;
|
|
471
|
-
if (
|
|
809
|
+
if (fetchCoordinator != null) {
|
|
810
|
+
deps = options.dependencies?.();
|
|
811
|
+
const coord = fetchCoordinator;
|
|
812
|
+
source = {
|
|
813
|
+
kind: "read",
|
|
814
|
+
read: (ctx) => coord.enqueue(key, param, ctx, ctx.signal)
|
|
815
|
+
};
|
|
816
|
+
writeFn = void 0;
|
|
817
|
+
} else if (streamCoordinator != null && batchStreamConfig != null) {
|
|
472
818
|
deps = options.dependencies?.();
|
|
473
|
-
|
|
819
|
+
const coord = streamCoordinator;
|
|
820
|
+
const cfg = batchStreamConfig;
|
|
821
|
+
source = {
|
|
822
|
+
kind: "stream",
|
|
823
|
+
initialValue: resolveInitialValue(cfg.initialValue, param),
|
|
824
|
+
stream: (ctx) => coord.enqueue(key, param, ctx, ctx.signal),
|
|
825
|
+
reduce: cfg.reduce
|
|
826
|
+
};
|
|
474
827
|
writeFn = void 0;
|
|
828
|
+
} else if (options.stream != null) {
|
|
829
|
+
const streamOptions = options;
|
|
830
|
+
deps = streamOptions.dependencies?.(param);
|
|
831
|
+
source = {
|
|
832
|
+
kind: "stream",
|
|
833
|
+
initialValue: resolveInitialValue(streamOptions.initialValue, param),
|
|
834
|
+
stream: streamOptions.stream(param),
|
|
835
|
+
reduce: streamOptions.reduce(param)
|
|
836
|
+
};
|
|
837
|
+
writeFn = streamOptions.write?.(param);
|
|
475
838
|
} else {
|
|
476
839
|
const readOptions = options;
|
|
477
840
|
deps = readOptions.dependencies?.(param);
|
|
478
|
-
|
|
841
|
+
source = {
|
|
842
|
+
kind: "read",
|
|
843
|
+
read: readOptions.read(param)
|
|
844
|
+
};
|
|
479
845
|
writeFn = readOptions.write?.(param);
|
|
480
846
|
}
|
|
481
847
|
const labelSuffix = options.paramKey != null ? String(key) : String(param);
|
|
482
|
-
const created = createAtom(options.debugLabel != null ? `${options.debugLabel}(${labelSuffix})` : void 0, deps,
|
|
848
|
+
const created = createAtom(options.debugLabel != null ? `${options.debugLabel}(${labelSuffix})` : void 0, deps, source, writeFn);
|
|
483
849
|
attachLink(created);
|
|
484
850
|
cache.set(key, created);
|
|
485
851
|
return created;
|
|
486
852
|
}
|
|
487
|
-
function createAtom(label, deps,
|
|
488
|
-
const base = {
|
|
853
|
+
function createAtom(label, deps, source, writeFn) {
|
|
854
|
+
const base = {};
|
|
855
|
+
if (source.kind === "read") base.read = source.read;
|
|
856
|
+
else {
|
|
857
|
+
base.initialValue = source.initialValue;
|
|
858
|
+
base.stream = source.stream;
|
|
859
|
+
base.reduce = source.reduce;
|
|
860
|
+
}
|
|
489
861
|
if (label != null) base.debugLabel = label;
|
|
490
862
|
if (deps != null) base.dependencies = deps;
|
|
491
863
|
if (options.stalePolicy != null) base.stalePolicy = options.stalePolicy;
|
|
492
864
|
if (options.retry != null) base.retry = options.retry;
|
|
493
865
|
if (options.retryDelay != null) base.retryDelay = options.retryDelay;
|
|
494
866
|
if (options.invalidateAfterWrite != null) base.invalidateAfterWrite = options.invalidateAfterWrite;
|
|
495
|
-
if (writeFn != null)
|
|
496
|
-
base.write = writeFn;
|
|
497
|
-
return atom(base);
|
|
498
|
-
}
|
|
867
|
+
if (writeFn != null) base.write = writeFn;
|
|
499
868
|
return atom(base);
|
|
500
869
|
}
|
|
501
870
|
const family = getOrCreate;
|
|
@@ -1064,6 +1433,6 @@ function extractPreviousValue(state) {
|
|
|
1064
1433
|
if (state.status === "error") return state.value;
|
|
1065
1434
|
}
|
|
1066
1435
|
//#endregion
|
|
1067
|
-
export { microtaskScheduler as a, infinityAtomFamily as c, maxBatchSizeScheduler as i,
|
|
1436
|
+
export { microtaskScheduler as a, infinityAtomFamily as c, atom as d, maxBatchSizeScheduler as i, stableFamilyKey as l, mutation as n, windowScheduler as o, atomFamily as r, windowedFiniteBatchScheduler as s, createStore as t, infinityAtom as u };
|
|
1068
1437
|
|
|
1069
|
-
//# sourceMappingURL=store-
|
|
1438
|
+
//# sourceMappingURL=store-CpNQ6odV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-CpNQ6odV.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#stream","#atoms","#entries","#rdeps","#pending","#familyUnsubs","#registeredFamilies","#context","#disposed","#assertActive","#getOrCreate","#runRead","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#abortRead","#flushScheduled","#flushPending","#markReverseDependentsStale","#registerSingleRdep","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/infinity-atom.ts","../src/internal/lru-cache.ts","../src/internal/is-dev.ts","../src/internal/stable-family-key.ts","../src/internal/family-param-key-dev.ts","../src/internal/infinity-atom-family.ts","../src/internal/family-batch-schedulers.ts","../src/internal/family-batch.ts","../src/internal/family.ts","../src/internal/mutation.ts","../src/internal/store.ts"],"mappings":"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"}
|
package/package.json
CHANGED
package/dist/family.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"family.js","names":[],"sources":["../src/internal/stable-family-key.ts"],"mappings":";;;;;;;;;;;;;AAYA,MAAM,uBAAO,IAAI,SAAyB;AAE1C,SAAS,sBAAsB,OAAwB;CACrD,QAAQ,OAAO,OAAf;EACE,KAAK,UACH,OAAO,KAAK,UAAU,MAAM;EAC9B,KAAK;EACL,KAAK;EACL,KAAK,UACH,OAAO,OAAO,MAAM;EACtB,KAAK,UACH,OAAO,MAAM,eAAe;EAC9B,KAAK,YACH,OAAO,YAAY,MAAM;EAC3B,SACE,OAAO;;;AAIb,SAAgB,gBAAgB,OAAwB;CACtD,IAAI,UAAU,QAAQ,OAAO,UAAU,UAAU;EAC/C,MAAM,SAAS,KAAK,IAAI,MAAM;EAC9B,IAAI,WAAW,KAAA,GACb,OAAO;EAGT,MAAM,SAAS,eAAe,MAAM;EACpC,KAAK,IAAI,OAAO,OAAO;EACvB,OAAO;;CAGT,OAAO,eAAe,MAAM;;AAG9B,SAAS,eAAe,OAAwB;CAC9C,IAAI,UAAU,MACZ,OAAO;CAET,IAAI,UAAU,KAAA,GACZ,OAAO;CAGT,MAAM,IAAI,OAAO;CAEjB,IAAI,MAAM,UACR,OAAO,KAAK,UAAU,MAAM;CAE9B,IAAI,MAAM,UACR,OAAO,OAAO,MAAgB;CAEhC,IAAI,MAAM,WACR,OAAO,OAAO,MAAiB;CAEjC,IAAI,MAAM,UACR,OAAO,GAAG,OAAO,MAAgB,CAAC;CAGpC,IAAI,MAAM,UACR,MAAM,IAAI,UACR,sCAAsC,EAAE,KAAK,sBAAsB,MAAM,CAAC,GAC3E;CAGH,IAAI,MAAM,QAAQ,MAAM,EAEtB,OAAO,IADQ,MAAoB,IAAI,eACvB,CAAC,KAAK,IAAI,CAAC;CAG7B,MAAM,QAAQ,OAAO,eAAe,MAAgB;CACpD,IAAI,UAAU,OAAO,aAAa,UAAU,MAAM;EAChD,MAAM,WAAY,MAA8C,aAAa,QAAQ;EACrF,MAAM,IAAI,UAAU,0DAA0D,SAAS,GAAG;;CAQ5F,OAAO,IALM,OAAO,KAAK,MAAiC,CAAC,MACzC,CAAC,KAAK,MAAM;EAC5B,MAAM,IAAK,MAAkC;EAC7C,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC,GAAG,eAAe,EAAE;GAElC,CAAC,KAAK,IAAI,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-DeTRbkBP.js","names":["#maxSize","#nodeMap","#valueMap","#head","#tail","#moveToMru","#insertBeforeTail","#evict","#detach","#fetch","#scheduler","#queue","#keySet","#flush","#atoms","#entries","#rdeps","#pending","#familyUnsubs","#registeredFamilies","#context","#disposed","#assertActive","#getOrCreate","#runRead","#registerRdeps","#makeCtx","#runStreamRead","#scheduleNotify","#markStale","#schedulePendingFlush","#abortRead","#flushScheduled","#flushPending","#markReverseDependentsStale","#registerSingleRdep","#autoRegisterFamily","#relatedOptimisticWrite","#rollbackRelatedSnapshots","#client"],"sources":["../src/internal/atom.ts","../src/internal/infinity-atom.ts","../src/internal/lru-cache.ts","../src/internal/infinity-atom-family.ts","../src/internal/family-batch-schedulers.ts","../src/internal/family-batch.ts","../src/internal/family.ts","../src/internal/mutation.ts","../src/internal/store.ts"],"mappings":";;AA8FA,SAAgB,KAKd,iBACA,SACa;CACb,IAAI,aAAgC,gBAAgB,EAClD,OAAO,WAAW,gBAAgB;CAEpC,OAAO,iBAAiB,iBAAiB,QAAQ;;AAGnD,SAAS,aAIP,OAAsF;CACtF,OACE,OAAO,UAAU,YACjB,UAAU,SACT,OAAQ,MAA6B,SAAS,cAC7C,OAAQ,MAA+B,WAAW;;AAIxD,SAAS,WAIP,QAAoD;CACpD,MAAM,WAAsC,OAAO,OAAO,KAAK;CAC/D,IAAI,OAAO,QAAQ,MACjB,SAAS,OAAO,OAAO;CAEzB,IAAI,OAAO,UAAU,MAAM;EACzB,SAAS,eAAe,OAAO;EAC/B,SAAS,SAAS,OAAO;EACzB,SAAS,SAAS,OAAO;;CAG3B,IAAI,OAAO,cAAc,MACvB,SAAS,aAAa,OAAO;CAE/B,IAAI,OAAO,gBAAgB,MACzB,SAAS,eAAe,OAAO;CAEjC,IAAI,OAAO,eAAe,MACxB,SAAS,cAAc,OAAO;CAEhC,IAAI,OAAO,SAAS,MAClB,SAAS,QAAQ,OAAO;CAE1B,IAAI,OAAO,cAAc,MACvB,SAAS,aAAa,OAAO;CAE/B,IAAI,OAAO,wBAAwB,MACjC,SAAS,uBAAuB,OAAO;CAEzC,IAAI,OAAO,SAAS,MAClB,SAAS,QAAQ,OAAO;CAE1B,IAAI,OAAO,WAAW,MACpB,SAAS,UAAU,OAAO;CAG5B,IAAI,OAAO,SAAS,MAClB,OAAO;GACJ,SAAS;GACT,WAAW,EAAE;EACd,YAAY,OAAO;EACpB;CAGH,OAAO;GACJ,SAAS;EACV,YAAY,OAAO;EACpB;;AAGH,SAAS,iBACP,cACA,SAC2D;CAC3D,MAAM,WAAsC,OAAO,OAAO,KAAK;CAQ/D,SAAS,OAAO,OAAO,QAAQ;EAC7B,MAAM,QAAQ,SAAS;EACvB,MAAM,OAAO,IAAI,kBAAkB;EACnC,OAAO,SAAS,KAAA,IAAY,eAAe;;CAG7C,SAAS,uBAAuB;CAEhC,SAAS,QAAQ,OAAO,KAAK,GAAG,SAAS;EACvC,MAAM,gBAAgB,KAAK;EAC3B,MAAM,WAAW,IAAI,kBAAkB;EAEvC,MAAM,OACJ,OAAO,kBAAkB,aACpB,cAHa,aAAa,KAAA,IAAY,eAAe,SAGP,GAC/C;EACN,IAAI,mBAAmB,KAAK;;CAG9B,IAAI,SAAS,cAAc,MACzB,SAAS,aAAa,QAAQ;CAEhC,IAAI,SAAS,WAAW,MACtB,SAAS,UAAU,QAAQ;CAG7B,OAAO;GACJ,SAAS;GACT,WAAW,EAAE;EACd,YAAY,SAAS;EACtB;;;;ACxLH,SAAgB,aACd,SACgE;CAGhE,SAAS,cAAc,OAAe,SAAyD;EAC7F,IAAI,QAAQ,YAAY,QAAQ,MAAM,SAAS,QAAQ,UAAU;GAC/D,MAAM,SAAS,MAAM,SAAS,QAAQ;GACtC,OAAO;IAAE,OAAO,MAAM,MAAM,OAAO;IAAE,SAAS,QAAQ,MAAM,OAAO;IAAE;;EAEvE,OAAO;GAAE;GAAO;GAAS;;CAG3B,SAAS,YAAY,OAAe,aAA6B;EAC/D,MAAM,UAAU,cAAc,OAAO,YAAY;EACjD,MAAM,WAAW,QAAQ,MAAM,QAAQ,MAAM,SAAS;EACtD,MAAM,aACJ,YAAY,OAAO,QAAQ,cAAc,UAAU,QAAQ,MAAM,GAAG,KAAA;EACtE,OAAO;GACL,OAAO,QAAQ;GACf,aAAa,QAAQ;GACrB,aAAa,cAAc;GAC3B,oBAAoB;GACrB;;CAGH,MAAM,SAAsF;EAM1F,sBAAsB;EACtB,MAAM,OAAO,QAAQ;GACnB,MAAM,OAAO,IAAI,kBAAkB;GAEnC,IAAI,QAAQ,MAMV,OAAO,YAAY,CAAC,MALD,QAAQ,QAAQ;IACjC,QAAQ,QAAQ;IAChB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACb,CAAC,CACuB,EAAE,CAAC,QAAQ,cAAc,CAAC;GAIrD,MAAM,QAAgB,EAAE;GACxB,MAAM,cAAwB,EAAE;GAChC,KAAK,MAAM,UAAU,KAAK,aAAa;IACrC,MAAM,OAAO,MAAM,QAAQ,QAAQ;KAAE;KAAQ,QAAQ,IAAI;KAAQ,QAAQ,IAAI;KAAQ,CAAC;IACtF,MAAM,KAAK,KAAK;IAChB,YAAY,KAAK,OAAO;;GAE1B,OAAO,YAAY,OAAO,YAAY;;EAExC,OAAO,OAAO,KAAK,WAAW;GAC5B,IAAI,WAAW,YACb;GAGF,MAAM,UAAU,IAAI,kBAAkB;GACtC,IAAI,WAAW,QAAQ,CAAC,QAAQ,aAC9B;GAGF,MAAM,WAAW,QAAQ,MAAM,QAAQ,MAAM,SAAS;GACtD,IAAI,YAAY,MACd;GAGF,MAAM,aAAa,QAAQ,cAAc,UAAU,QAAQ,MAAM;GACjE,IAAI,cAAc,MAChB;GAGF,IAAI,mBAAmB;IAAE,GAAG;IAAS,oBAAoB;IAAM,CAAC;GAEhE,MAAM,OAAO,MAAM,QAAQ,QAAQ;IACjC,QAAQ;IACR,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACb,CAAC;GAEF,MAAM,QAAQ,CAAC,GAAG,QAAQ,OAAO,KAAK;GACtC,MAAM,cAAc,CAAC,GAAG,QAAQ,aAAa,WAAW;GAExD,IAAI,mBAAmB,YAAY,OAAO,YAAY,CAAC;;EAE1D;CAED,IAAI,QAAQ,cAAc,MACxB,OAAO,aAAa,QAAQ;CAE9B,IAAI,QAAQ,eAAe,MACzB,OAAO,cAAc,QAAQ;CAE/B,IAAI,QAAQ,SAAS,MACnB,OAAO,QAAQ,QAAQ;CAEzB,IAAI,QAAQ,cAAc,MACxB,OAAO,aAAa,QAAQ;CAE9B,IAAI,QAAQ,gBAAgB,MAC1B,OAAO,eAAe,QAAQ;CAGhC,OAAO,KAAK,OAAO;;;;;;;;;;;AC9HrB,IAAa,WAAb,MAA4B;CAC1B;CACA,2BAAoB,IAAI,KAAoB;CAC5C,4BAAqB,IAAI,KAAW;CACpC;CACA;CAEA,YAAY,SAAiB;EAC3B,KAAKA,WAAW,iBAAiB,QAAQ;EACzC,KAAKG,QAAQ;GAAE,KAAK,KAAA;GAA2B,MAAM;GAAM,MAAM;GAAM;EACvE,KAAKC,QAAQ;GAAE,KAAK,KAAA;GAA2B,MAAM,KAAKD;GAAO,MAAM;GAAM;EAC7E,KAAKA,MAAM,OAAO,KAAKC;;;CAIzB,IAAI,KAAuB;EACzB,MAAM,OAAO,KAAKH,SAAS,IAAI,IAAI;EACnC,IAAI,QAAQ,MACV;EAEF,KAAKI,WAAW,KAAK;EACrB,OAAO,KAAKH,UAAU,IAAI,IAAI;;;CAIhC,KAAK,KAAuB;EAC1B,OAAO,KAAKA,UAAU,IAAI,IAAI;;;CAIhC,IAAI,KAAQ,OAAgB;EAC1B,MAAM,WAAW,KAAKD,SAAS,IAAI,IAAI;EACvC,IAAI,YAAY,MAAM;GACpB,KAAKC,UAAU,IAAI,KAAK,MAAM;GAC9B,KAAKG,WAAW,SAAS;GACzB;;EAGF,MAAM,OAAmB;GAAE;GAAK,MAAM;GAAM,MAAM;GAAM;EACxD,KAAKJ,SAAS,IAAI,KAAK,KAAK;EAC5B,KAAKC,UAAU,IAAI,KAAK,MAAM;EAC9B,KAAKI,kBAAkB,KAAK;EAC5B,KAAKC,QAAQ;;CAGf,OAAO,KAAc;EACnB,MAAM,OAAO,KAAKN,SAAS,IAAI,IAAI;EACnC,IAAI,QAAQ,MACV;EAEF,KAAKO,QAAQ,KAAK;EAClB,KAAKP,SAAS,OAAO,IAAI;EACzB,KAAKC,UAAU,OAAO,IAAI;;CAG5B,QAAc;EACZ,KAAKD,SAAS,OAAO;EACrB,KAAKC,UAAU,OAAO;EACtB,KAAKC,MAAM,OAAO,KAAKC;EACvB,KAAKA,MAAM,OAAO,KAAKD;;CAGzB,SAA8B;EAC5B,OAAO,KAAKD,UAAU,QAAQ;;;CAIhC,gBAAmC;EACjC,OAAO,KAAKA;;CAGd,WAAW,MAAwB;EACjC,KAAKM,QAAQ,KAAK;EAClB,KAAKF,kBAAkB,KAAK;;CAG9B,QAAQ,MAAwB;EAC9B,MAAM,EAAE,MAAM,SAAS;EACvB,IAAI,QAAQ,QAAQ,QAAQ,MAC1B;EAEF,KAAK,OAAO;EACZ,KAAK,OAAO;;CAGd,kBAAkB,MAAwB;EACxC,MAAM,SAAS,KAAKF,MAAM;EAC1B,IAAI,UAAU,MACZ;EAEF,OAAO,OAAO;EACd,KAAK,OAAO;EACZ,KAAK,OAAO,KAAKA;EACjB,KAAKA,MAAM,OAAO;;CAGpB,SAAe;EACb,IAAI,CAAC,OAAO,SAAS,KAAKJ,SAAS,EACjC;EAEF,OAAO,KAAKC,SAAS,OAAO,KAAKD,UAAU;GACzC,MAAM,SAAS,KAAKG,MAAM;GAC1B,IAAI,UAAU,QAAQ,WAAW,KAAKC,OACpC;GAEF,KAAKI,QAAQ,OAAO;GACpB,KAAKP,SAAS,OAAO,OAAO,IAAI;GAChC,KAAKC,UAAU,OAAO,OAAO,IAAI;;;;AAKvC,SAAS,iBAAiB,SAAyB;CACjD,IAAI,CAAC,OAAO,SAAS,QAAQ,EAC3B,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,QAAQ,CAAC;;;;AC7DzC,SAAgB,mBACd,SAC8C;CAE9C,MAAM,QAAQ,IAAI,SADF,QAAQ,gBAAgB,QAAS,QAAQ,WAAW,MAAO,SACD;CAC1E,MAAM,iCAAiB,IAAI,KAAoC;CAE/D,MAAM,OAAmB;EACvB,eAAe,QAA6B;GAC1C,KAAK,MAAM,MAAM,gBACf,GAAG,OAAO;;EAGd,cAAc,IAA+C;GAC3D,eAAe,IAAI,GAAG;GACtB,aAAa;IACX,eAAe,OAAO,GAAG;;;EAG9B;CAED,SAAS,MAAM,OAAmB;EAChC,OAAO,QAAQ,YAAY,OAAO,QAAQ,SAAS,MAAM,GAAI;;CAG/D,SAAS,WAAW,QAAgD;EAClE,OAAkD,eAAe;;CAGnE,SAAS,iBAAiB,OAAc,KAA6C;EACnF,MAAM,OAA0C;GAC9C,eAAe,QAAQ,cAAc,MAAM;GAC3C,SAAS,QAAQ,QAAQ,MAAM;GAC/B,eAAe,QAAQ,cAAc,MAAM;GAC5C;EAED,IAAI,QAAQ,YAAY,MACtB,KAAK,WAAW,QAAQ;EAE1B,IAAI,QAAQ,eAAe,MACzB,KAAK,cAAc,QAAQ;EAE7B,IAAI,QAAQ,SAAS,MACnB,KAAK,QAAQ,QAAQ;EAEvB,IAAI,QAAQ,cAAc,MACxB,KAAK,aAAa,QAAQ;EAE5B,IAAI,QAAQ,gBAAgB,MAC1B,KAAK,eAAe,QAAQ,aAAa,MAAM;EAGjD,IAAI,QAAQ,cAAc,MAAM;GAC9B,MAAM,cAAc,QAAQ,YAAY,OAAO,OAAO,IAAI,GAAG,OAAO,MAAM;GAC1E,KAAK,aAAa,GAAG,QAAQ,WAAW,GAAG,YAAY;;EAGzD,OAAO;;CAGT,SAAS,YAAY,OAAgD;EACnE,MAAM,MAAM,MAAM,MAAM;EACxB,MAAM,SAAS,MAAM,IAAI,IAAI;EAC7B,IAAI,UAAU,MACZ,OAAO;EAGT,MAAM,UAAU,aAA2B,iBAAiB,OAAO,IAAI,CAAC;EACxE,WAAW,QAAQ;EACnB,MAAM,IAAI,KAAK,QAAQ;EAEvB,OAAO;;CAGT,MAAM,SAAS;CAEf,OAAO,cAAc,UAAuB;EAC1C,MAAM,SAAS,MAAM,KAAK,MAAM,MAAM,CAAC;EACvC,IAAI,UAAU,MACZ,KAAK,eAAe,OAAO;;CAI/B,OAAO,sBAA4B;EACjC,KAAK,MAAM,UAAU,MAAM,QAAQ,EACjC,KAAK,eAAe,OAAO;;CAI/B,OAAO,OAAO,UAA0B,MAAM,KAAK,MAAM,MAAM,CAAC,IAAI;CAEpE,OAAO,QAAQ,UACb,MAAM,KAAK,MAAM,MAAM,CAAC;CAE1B,OAAO,UAAU,UAAuB;EACtC,MAAM,OAAO,MAAM,MAAM,CAAC;;CAG5B,OAAO,cAAoB;EACzB,MAAM,OAAO;;CAGf,OAAO,iBAAqE,MAAM,eAAe;CAEjG,OAAO;;;;ACnKT,SAAgB,qBAAqC;CACnD,IAAI,YAAY;CAChB,OAAO;EACL,SAAS,OAAO;GACd,IAAI,CAAC,WAAW;IACd,YAAY;IACZ,eAAe,MAAM;;;EAGzB,QAAQ;GACN,YAAY;;EAEf;;AAGH,SAAgB,gBAAgB,IAA4B;CAC1D,IAAI,QAA8C;CAClD,OAAO;EACL,SAAS,OAAO;GACd,IAAI,SAAS,MACX,QAAQ,WAAW,OAAO,GAAG;;EAGjC,QAAQ;GACN,IAAI,SAAS,MAAM;IACjB,aAAa,MAAM;IACnB,QAAQ;;;EAGb;;AAGH,SAAgB,sBAAsB,SAAiC;CACrE,OAAO;EACL,SAAS,OAAO,SAAS;GACvB,IAAI,QAAQ,gBAAgB,SAC1B,OAAO;;EAGX,QAAQ;EACT;;AAGH,SAAgB,6BAA6B,IAAY,SAAiC;CACxF,IAAI,QAA8C;CAClD,OAAO;EACL,SAAS,OAAO,SAAS;GACvB,IAAI,QAAQ,gBAAgB,SAAS;IACnC,IAAI,SAAS,MAAM;KACjB,aAAa,MAAM;KACnB,QAAQ;;IAEV,OAAO;IACP;;GAEF,IAAI,SAAS,MACX,QAAQ,WAAW,OAAO,GAAG;;EAGjC,QAAQ;GACN,IAAI,SAAS,MAAM;IACjB,aAAa,MAAM;IACnB,QAAQ;;;EAGb;;;;ACtDH,IAAa,mBAAb,MAAiD;CAC/C;CAGA;CACA,SAAqC,EAAE;CACvC,0BAAU,IAAI,KAAU;CAExB,YACE,OAGA,WACA;EACA,KAAKO,SAAS;EACd,KAAKC,aAAa,aAAa,oBAAoB;;CAGrD,QACE,KACA,OACA,KACA,QACgB;EAChB,OAAO,IAAI,SAAgB,SAAS,WAAW;GAC7C,KAAKC,OAAO,KAAK;IACf;IACA;IACA;IACS;IACT;IACA;IACD,CAAC;GACF,KAAKC,QAAQ,IAAI,IAAI;GAErB,KAAKF,WAAW,eAAe,KAAKG,QAAQ,EAAE,EAC5C,cAAc,KAAKD,QAAQ,MAC5B,CAAC;IACF;;CAGJ,SAAe;EACb,IAAI,KAAKD,OAAO,WAAW,GACzB;EAGF,MAAM,UAAU,KAAKA;EACrB,KAAKA,SAAS,EAAE;EAChB,KAAKC,0BAAU,IAAI,KAAK;EACxB,KAAKF,WAAW,OAAO;EAEvB,MAAM,aAAoB,EAAE;EAC5B,MAAM,eAAwB,EAAE;EAChC,MAAM,uBAAO,IAAI,KAAU;EAC3B,KAAK,MAAM,SAAS,SAClB,IAAI,CAAC,KAAK,IAAI,MAAM,IAAI,EAAE;GACxB,KAAK,IAAI,MAAM,IAAI;GACnB,WAAW,KAAK,MAAM,IAAI;GAC1B,aAAa,KAAK,MAAM,MAAM;;EAKlC,MAAM,aAAa,QAAQ;EAC3B,IAAI,cAAc,MAChB;EAEF,MAAM,WAAW,WAAW;EAE5B,MAAM,aAAa,IAAI,iBAAiB;EACxC,IAAI,eAAe;EAEnB,KAAK,MAAM,SAAS,SAClB,IAAI,MAAM,OAAO,SACf;OAEA,MAAM,OAAO,iBACX,eACM;GACJ;GACA,IAAI,iBAAiB,QAAQ,QAC3B,WAAW,OAAO;KAGtB,EAAE,MAAM,MAAM,CACf;EAIL,IAAI,iBAAiB,QAAQ,QAC3B,WAAW,OAAO;EAGpB,KAAUD,OAAO;GACf,MAAM;GACN,QAAQ;GACR,QAAQ,WAAW;GACnB,KAAK;GACN,CAAC,CAAC,MACA,cAAc;GACb,KAAK,MAAM,SAAS,SAClB,IAAI,MAAM,OAAO,SACf,MAAM,OAAO,IAAI,aAAa,6BAA6B,aAAa,CAAC;QACpE,IAAI,UAAU,IAAI,MAAM,IAAI,EACjC,MAAM,QAAQ,UAAU,IAAI,MAAM,IAAI,CAAC;QAEvC,MAAM,uBACJ,IAAI,MAAM,+CAA+C,OAAO,MAAM,IAAI,GAAG,CAC9E;MAIN,UAAmB;GAClB,KAAK,MAAM,SAAS,SAClB,MAAM,OAAO,MAAM;IAGxB;;;;;ACpCL,SAAgB,cAAc,QAA+C;CAC3E,OAAQ,OAA6D;;AAGvE,SAAgB,WAMd,SAA0F;CAE1F,MAAM,QAAQ,IAAI,SADF,QAAQ,gBAAgB,QAAS,QAAQ,WAAW,MAAO,SACtB;CACrD,MAAM,iCAAiB,IAAI,KAAoC;CAE/D,MAAM,cACJ,QAAQ,SAAS,OACb,IAAI,iBACF,QAAQ,MAAM,OAGd,QAAQ,MAAM,UACf,GACD;CAEN,SAAS,MAAM,OAAmB;EAChC,OAAO,QAAQ,YAAY,OAAO,QAAQ,SAAS,MAAM,GAAI;;CAG/D,MAAM,OAAmB;EACvB,eAAe,QAA6B;GAC1C,KAAK,MAAM,MAAM,gBACf,GAAG,OAAO;;EAGd,cAAc,IAA+C;GAC3D,eAAe,IAAI,GAAG;GACtB,aAAa;IACX,eAAe,OAAO,GAAG;;;EAG9B;CAED,SAAS,WAAW,QAA2B;EAC7C,OAAkD,eAAe;;CAGnE,SAAS,YAAY,OAA2B;EAC9C,MAAM,MAAM,MAAM,MAAM;EACxB,MAAM,SAAS,MAAM,IAAI,IAAI;EAC7B,IAAI,UAAU,MACZ,OAAO;EAGT,IAAI;EACJ,IAAI;EACJ,IAAI;EAIJ,IAAI,eAAe,MAAM;GACvB,OAAQ,QAA4D,gBAAgB;GACpF,UAAU,QACR,YAAY,QACV,KACA,OACA,KACA,IAAI,OACL;GACH,UAAU,KAAA;SACL;GACL,MAAM,cAAc;GACpB,OAAO,YAAY,eAAe,MAAM;GACxC,SAAS,YAAY,KAAK,MAAM;GAChC,UAAU,YAAY,QAAQ,MAAM;;EAGtC,MAAM,cAAc,QAAQ,YAAY,OAAO,OAAO,IAAI,GAAG,OAAO,MAAM;EAG1E,MAAM,UAAU,WAFF,QAAQ,cAAc,OAAO,GAAG,QAAQ,WAAW,GAAG,YAAY,KAAK,KAAA,GAEnD,MAAM,QAAQ,QAAQ;EACxD,WAAW,QAAQ;EACnB,MAAM,IAAI,KAAK,QAAQ;EAEvB,OAAO;;CAGT,SAAS,WACP,OACA,MACA,QACA,SACa;EACb,MAAM,OAAO,EACX,MAAM,QACP;EAWD,IAAI,SAAS,MACX,KAAK,aAAa;EAEpB,IAAI,QAAQ,MACV,KAAK,eAAe;EAEtB,IAAI,QAAQ,eAAe,MACzB,KAAK,cAAc,QAAQ;EAE7B,IAAI,QAAQ,SAAS,MACnB,KAAK,QAAQ,QAAQ;EAEvB,IAAI,QAAQ,cAAc,MACxB,KAAK,aAAa,QAAQ;EAE5B,IAAI,QAAQ,wBAAwB,MAClC,KAAK,uBAAuB,QAAQ;EAGtC,IAAI,WAAW,MAAM;GACnB,KAAK,QAAQ;GACb,OAAO,KACL,KAGD;;EAGH,OAAO,KAAK,KAAmC;;CAGjD,MAAM,SAAS;CAEf,OAAO,cAAc,UAAuB;EAC1C,MAAM,SAAS,MAAM,KAAK,MAAM,MAAM,CAAC;EACvC,IAAI,UAAU,MACZ,KAAK,eAAe,OAAO;;CAI/B,OAAO,sBAA4B;EACjC,KAAK,MAAM,UAAU,MAAM,QAAQ,EACjC,KAAK,eAAe,OAAO;;CAI/B,OAAO,OAAO,UAA0B,MAAM,KAAK,MAAM,MAAM,CAAC,IAAI;CAEpE,OAAO,QAAQ,UAA0C,MAAM,KAAK,MAAM,MAAM,CAAC;CAEjF,OAAO,UAAU,UAAuB;EACtC,MAAM,OAAO,MAAM,MAAM,CAAC;;CAG5B,OAAO,cAAoB;EACzB,MAAM,OAAO;;CAGf,OAAO,iBAAgD,MAAM,eAAe;CAE5E,OAAO;;;;ACzQT,MAAa,eAAe,OAAO,oBAAoB;AAMvD,SAAgB,SACd,IACgB;CAChB,OAAO,GAAG,eAAe,IAAI;;;;ACwD/B,MAAM,gBAAkC;CACtC,QAAQ;CACR,OAAO,KAAA;CACP,OAAO,KAAA;CACR;AAMD,IAAa,QAAb,MAAmB;CACjB,yBAAkB,IAAI,SAA4C;CAClE,2BAAoB,IAAI,KAAyB;CACjD,yBAAkB,IAAI,KAAwC;CAC9D,2BAAoB,IAAI,KAAoB;CAC5C,gCAAyB,IAAI,KAAiB;CAC9C,sCAA+B,IAAI,SAAiB;CACpD;CACA,UAA8B;CAC9B,kBAAkB;CAClB,YAAY;CAEZ,YACE,GAAG,MACH;EACA,MAAM,CAAC,WAAW;EAClB,KAAKW,WAAW,SAAS;;CAG3B,aAAgB,MAA6B;EAC3C,IAAI,QAAQ,KAAKN,OAAO,IAAI,KAAK;EACjC,IAAI,SAAS,MAAM;GACjB,QAAQ;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,YAAY;IACZ,2BAAW,IAAI,KAAK;IACpB,YAAY;IACZ,SAAS;IACV;GACD,KAAKA,OAAO,IAAI,MAAM,MAA4B;GAClD,KAAKC,SAAS,IAAI,MAA4B;;EAEhD,OAAO;;CAGT,gBAAsB;EACpB,IAAI,KAAKM,WACP,MAAM,IAAI,MAAM,0BAA0B;;CAI9C,WAAW,MAA2B;EACpC,MAAM,QAAQ,KAAKP,OAAO,IAAI,KAAK;EACnC,IAAI,OAAO,cAAc,MAAM;GAC7B,MAAM,WAAW,OAAO;GACxB,MAAM,aAAa;;;CAIvB,IAAO,MAA6B;EAClC,OAAO,KAAK,YAAY,KAAK;;CAG/B,KAAQ,MAA8B;EACpC,KAAKQ,eAAe;EACpB,MAAM,QAAQ,KAAKR,OAAO,IAAI,KAAK;EACnC,IAAI,SAAS,MACX;EAEF,OAAO,qBAAqB,MAAM,MAAM;;CAG1C,OAAU,MAA2B;EACnC,KAAKQ,eAAe;EACpB,MAAM,QAAQ,KAAKR,OAAO,IAAI,KAAK;EACnC,IAAI,SAAS,MAAM;GACjB,IAAI,MAAM,MAAM,WAAW,WAAW,MAAM,MAAM,WAAW,SAC3D,OAAO,QAAQ,QAAQ,MAAM,MAAM,MAAM;GAE3C,IAAI,MAAM,MAAM,WAAW,WAAW,MAAM,MAAM,UAAU,KAAA,GAC1D,OAAO,QAAQ,QAAQ,MAAM,MAAM,MAAM;;EAG7C,OAAO,KAAK,KAAK,KAAK;;CAGxB,KAAQ,MAA2B;EACjC,KAAKQ,eAAe;EACpB,MAAM,QAAQ,KAAKC,aAAa,KAAK;EACrC,IAAI,MAAM,WAAW,MACnB,OAAO,MAAM;EAGf,MAAM,UAAU,KAAKC,SAAS,KAAK,CAAC,cAAc;GAChD,MAAM,IAAI,KAAKV,OAAO,IAAI,KAAK;GAC/B,IAAI,KAAK,MACP,EAAE,UAAU;IAEd;EAKF,QAAQ,YAAY,KAAA,EAAU;EAC9B,MAAM,UAAU;EAChB,OAAO;;CAGT,MAAMU,SAAY,MAA2B;EAC3C,MAAM,SAAgC,KAAK;EAC3C,MAAM,eAAe,OAAO;EAC5B,MAAM,cAA2B,OAAO,eAAe;EACvD,MAAM,aAAa,eAAe,OAAO,MAAM;EAC/C,MAAM,aAAa,OAAO,cAAc;EACxC,MAAM,QAAQ,KAAKD,aAAa,KAAK;EAErC,MAAM,8BAAc,IAAI,KAA+B;EACvD,IAAI,gBAAgB,MAAM;GACxB,KAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,aAAa,EAAE;IAKrD,IAAI,aAAa,IAAI,EACnB;IAEF,IAAI,CAAC,YAAY,IAAI,IAAI,EACvB,YAAY,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC;;GAKxC,KAAKE,eAAe,MAAM,aAAa;;EAGzC,MAAM,MAAM,KAAKC,SAAS,MAAM,gBAAgB,EAAE,EAAE,YAAY;EAEhE,IAAI;EACJ,KAAK,IAAI,UAAU,GAAG,WAAW,YAAY,WAAW;GACtD,IAAI,UAAU,GAAG;IACf,IAAI,IAAI,OAAO,SACb,MAAM,IAAI,aAAa,6BAA6B,aAAa;IAEnE,MAAM,QAAQ,OAAO,eAAe,aAAa,WAAW,UAAU,EAAE,GAAG;IAC3E,IAAI,QAAQ,GACV,MAAM,eAAe,OAAO,IAAI,OAAO;;GAI3C,IAAI;IACF,IAAI,YAAY,OAAO,GACrB,MAAM,QAAQ,IAAI,YAAY,QAAQ,CAAC;IAEzC,IAAI,OAAO,QAAQ,MAAM;KACvB,MAAM,QAAQ,MAAM,KAAKC,eAAe,MAAM,QAAQ,IAAI;KAC1D,IAAI,IAAI,OAAO,SACb,MAAM,IAAI,aAAa,6BAA6B,aAAa;KAEnE,OAAO;;IAGT,MAAM,QAAQ,MAAM,OAAO,KAAK,IAAI;IACpC,IAAI,IAAI,OAAO,SACb,MAAM,IAAI,aAAa,6BAA6B,aAAa;IAEnE,MAAM,QAAQ;KAAE,QAAQ;KAAS;KAAO,OAAO,KAAA;KAAW;IAC1D,MAAM;IACN,KAAKC,gBAAgB,KAAK;IAC1B,OAAO;YACA,GAAY;IACnB,IAAI,aAAa,EAAE,EACjB,MAAM;IAER,YAAY;;;EAIhB,MAAM,YAAY,qBAAwB,MAAM,MAAM;EACtD,MAAM,QAAQ;GACZ,QAAQ;GACR,OAAO,gBAAgB,SAAS,YAAY,KAAA;GAC5C,OAAO;GACR;EACD,MAAM;EACN,KAAKA,gBAAgB,KAAK;EAC1B,MAAM;;CAGR,MAAMD,eACJ,MACA,QACA,KACY;EACZ,MAAM,SAAS,OAAO;EACtB,MAAM,SAAS,OAAO;EACtB,IAAI,UAAU,QAAQ,UAAU,QAAQ,EAAE,kBAAkB,SAC1D,MAAM,IAAI,MAAM,4CAA4C;EAG9D,MAAM,QAAQ,KAAKJ,aAAa,KAAK;EACrC,IAAI,QAAQ,OAAO;EACnB,MAAM,QAAQ;GAAE,QAAQ;GAAS;GAAO,OAAO,KAAA;GAAW;EAC1D,MAAM;EACN,KAAKK,gBAAgB,KAAK;EAE1B,MAAM,WAAW,MAAM,OAAO,IAAI;EAClC,WAAW,MAAM,SAAS,UAAU;GAClC,IAAI,IAAI,OAAO,SACb,MAAM,IAAI,aAAa,6BAA6B,aAAa;GAEnE,QAAS,MAAM,OAAO,OAAO,OAAO,IAAI;GACxC,IAAI,IAAI,OAAO,SACb,MAAM,IAAI,aAAa,6BAA6B,aAAa;GAEnE,MAAM,QAAQ;IAAE,QAAQ;IAAS;IAAO,OAAO,KAAA;IAAW;GAC1D,MAAM;GACN,KAAKA,gBAAgB,KAAK;;EAG5B,OAAO;;CAGT,WAAW,MAA2B;EACpC,KAAKN,eAAe;EACpB,KAAKO,WAAW,KAAK;EACrB,KAAKZ,SAAS,IAAI,KAAK;EACvB,KAAKa,uBAAuB;;CAG9B,eAAe,OAA2C;EACxD,KAAKR,eAAe;EACpB,KAAK,MAAM,KAAK,OAAO;GACrB,KAAKO,WAAW,EAAE;GAClB,KAAKZ,SAAS,IAAI,EAAE;;EAEtB,IAAI,KAAKA,SAAS,OAAO,GACvB,KAAKa,uBAAuB;;CAIhC,WAAW,MAAqB,0BAAU,IAAI,KAAoB,EAAQ;EACxE,IAAI,QAAQ,IAAI,KAAK,EACnB;EAEF,QAAQ,IAAI,KAAK;EAEjB,MAAM,QAAQ,KAAKhB,OAAO,IAAI,KAAK;EACnC,IAAI,SAAS,MAAM;GACjB,MAAM,cAA2B,KAAK,QAAQ,eAAe;GAE7D,IAAI,MAAM,MAAM,WAAW,SACzB,IAAI,gBAAgB,SAClB,MAAM,QAAQ;QAEd,MAAM,QAAQ;IAAE,GAAG,MAAM;IAAO,QAAQ;IAAS;GAIrD,MAAM,UAAU;GAChB,KAAKiB,WAAW,KAAK;;EAGvB,MAAM,QAAQ,KAAKf,OAAO,IAAI,KAAK;EACnC,IAAI,SAAS,MACX,KAAK,MAAM,OAAO,OAChB,KAAKa,WAAW,KAAK,QAAQ;;CAKnC,4BAA4B,MAA2B;EACrD,MAAM,QAAQ,KAAKb,OAAO,IAAI,KAAK;EACnC,IAAI,SAAS,MAAM;GACjB,MAAM,UAAU,IAAI,IAAmB,CAAC,KAAK,CAAC;GAC9C,KAAK,MAAM,OAAO,OAAO;IACvB,KAAKa,WAAW,KAAK,QAAQ;IAC7B,KAAKZ,SAAS,IAAI,IAAI;;;;CAK5B,gBAAsB;EACpB,MAAM,QAAQ,CAAC,GAAG,KAAKA,SAAS;EAChC,KAAKA,SAAS,OAAO;EACrB,MAAM,2BAAW,IAAI,KAAiB;EACtC,KAAK,MAAM,KAAK,OAAO;GACrB,MAAM,QAAQ,KAAKH,OAAO,IAAI,EAAE;GAChC,IAAI,SAAS,MACX,KAAK,MAAM,KAAK,MAAM,WACpB,SAAS,IAAI,EAAE;;EAIrB,KAAK,MAAM,KAAK,UACd,GAAG;;CAIP,wBAA8B;EAC5B,IAAI,CAAC,KAAKkB,iBAAiB;GACzB,KAAKA,kBAAkB;GACvB,qBAAqB;IACnB,IAAI,KAAKX,WAAW;KAClB,KAAKW,kBAAkB;KACvB,KAAKf,SAAS,OAAO;KACrB;;IAEF,KAAKe,kBAAkB;IACvB,KAAKC,eAAe;KACpB;;;CAIN,gBAAgB,MAA2B;EACzC,KAAKhB,SAAS,IAAI,KAAK;EACvB,KAAKa,uBAAuB;;CAG9B,wBACE,QACA,eACA,kBACM;EACN,MAAM,cAAc,KAAKP,aAAa,OAAO;EAC7C,IAAI,CAAC,iBAAiB,IAAI,OAAO,EAC/B,iBAAiB,IAAI,QAAQ;GAAE,OAAO,YAAY;GAAO,SAAS,YAAY;GAAS,CAAC;EAE1F,KAAKQ,WAAW,OAAO;EACvB,YAAY,UAAU;EAKtB,YAAY,QAAQ;GAAE,QAAQ;GAAS,OAHrC,OAAO,kBAAkB,aACpB,cAA6C,qBAAqB,YAAY,MAAM,CAAC,GACtF;GAC8C,OAAO,KAAA;GAAW;EACtE,YAAY;EACZ,KAAKH,gBAAgB,OAAO;EAC5B,KAAKM,4BAA4B,OAAO;;CAG1C,0BACE,kBACM;EACN,KAAK,MAAM,CAAC,QAAQ,eAAe,kBAAkB;GACnD,MAAM,cAAc,KAAKpB,OAAO,IAAI,OAAO;GAC3C,IAAI,eAAe,MAAM;IACvB,YAAY,QAAQ,WAAW;IAC/B,YAAY,UAAU,WAAW;IACjC,KAAKc,gBAAgB,OAAO;;;;CAKlC,eAAe,MAAqB,MAA6C;EAC/E,KAAK,MAAM,OAAO,OAAO,OAAO,KAAK,EAAE;GAGrC,IAAI,aAAa,IAAI,EACnB;GAEF,KAAKO,oBAAoB,MAAM,IAAI;;;CAIvC,oBAAoB,MAAqB,KAA0B;EACjE,IAAI,MAAM,KAAKnB,OAAO,IAAI,IAAI;EAC9B,IAAI,OAAO,MAAM;GACf,sBAAM,IAAI,KAAK;GACf,KAAKA,OAAO,IAAI,KAAK,IAAI;;EAE3B,IAAI,IAAI,KAAK;;CAGf,SACE,MACA,MACA,aAC8C;EAC9C,KAAKe,WAAW,KAAK;EACrB,MAAM,aAAa,IAAI,iBAAiB;EACxC,KAAKR,aAAa,KAAK,CAAC,aAAa;EAOrC,MAAM,OAAO,OAAO,KAAa,GAAG,SAA+C;GACjF,MAAM,MAAM,KAAK;GACjB,IAAI,OAAO,MACT,MAAM,IAAI,MAAM,4BAA4B,OAAO,IAAI,CAAC,GAAG;GAE7D,IAAI,aAAa,IAAI,EAAE;IACrB,IAAI,KAAK,WAAW,GAClB,MAAM,IAAI,MACR,eAAe,OAAO,IAAI,CAAC,6DACR,OAAO,IAAI,CAAC,iCAAiC,OAAO,IAAI,CAAC,KAC7E;IAEH,MAAM,QAAQ,KAAK;IACnB,MAAM,SAAU,IAAyC,MAAM;IAC/D,KAAKY,oBAAoB,MAAM,OAAO;IACtC,OAAO,KAAK,KAAK,OAAO;;GAE1B,IAAI,KAAK,SAAS,GAChB,MAAM,IAAI,MACR,eAAe,OAAO,IAAI,CAAC,mEACR,OAAO,IAAI,CAAC,+BAChC;GAEH,MAAM,SAAS,aAAa,IAAI,IAAI;GACpC,IAAI,UAAU,MACZ,OAAO;GAET,OAAO,KAAK,KAAK,IAAqB;;EAGxC,OAAO;GACL,QAAQ,KAAKf;GACb,QAAQ,WAAW;GACb;GACN,wBAAiC;IAC/B,OAAO,qBAAqB,KAAKG,aAAa,KAAK,CAAC,MAAM;;GAE7D;;CAGH,UAAa,MAAe,UAAkC;EAC5D,KAAKD,eAAe;EACpB,MAAM,QAAQ,KAAKC,aAAa,KAAK;EACrC,MAAM,UAAU,IAAI,SAAS;EAE7B,KAAKa,oBAAoB,KAAK;EAE9B,KACG,MAAM,MAAM,WAAW,aAAa,MAAM,MAAM,WAAW,YAC5D,MAAM,WAAW,MAEjB,KAAU,KAAK,KAAK;EAGtB,MAAM;EACN,IAAI,MAAM,eAAe,GAAG;GAC1B,MAAM,SAAgC,KAAK;GAC3C,IAAI,OAAO,WAAW,MAAM;IAC1B,MAAM,YAAY,UAAmB;KACnC,MAAM,QAAQ;MAAE,QAAQ;MAAS;MAAO,OAAO,KAAA;MAAW;KAC1D,MAAM;KACN,KAAKR,gBAAgB,KAAK;;IAE5B,MAAM,UAAU,OAAO,QAAQ,UAAsC,EACnE,QAAQ,KAAKR,UACd,CAAC;IACF,IAAI,OAAO,YAAY,YACrB,MAAM,UAAU;;;EAKtB,IAAI,SAAS;EACb,aAAa;GACX,IAAI,CAAC,QACH;GAEF,SAAS;GACT,IAAI,KAAKC,WACP;GAEF,MAAM,UAAU,OAAO,SAAS;GAChC,MAAM;GACN,IAAI,MAAM,eAAe,KAAK,MAAM,WAAW,MAAM;IACnD,MAAM,SAAS;IACf,MAAM,UAAU;;;;CAKtB,oBAAoB,MAA2B;EAC7C,MAAM,OAAO,cAAc,KAAK;EAChC,IAAI,QAAQ,MACV;EAEF,IAAI,KAAKF,oBAAoB,IAAI,KAAK,EACpC;EAEF,KAAKA,oBAAoB,IAAI,KAAK;EAClC,MAAM,QAAQ,KAAK,eAAe,WAA0B;GAC1D,KAAK,WAAW,OAAO;IACvB;EACF,KAAKD,cAAc,IAAI,MAAM;;CAG/B,YAAe,MAA6B;EAC1C,KAAKI,eAAe;EACpB,OAAO,KAAKC,aAAa,KAAK,CAAC;;CAGjC,kBAAqB,MAA6B;EAChD,KAAKD,eAAe;EACpB,MAAM,QAAQ,KAAKR,OAAO,IAAI,KAAK;EACnC,IAAI,SAAS,MACX,OAAO,MAAM;EAEf,OAAO;;CAGT,MAAM,MACJ,MACA,GAAG,MACY;EACf,KAAKQ,eAAe;EACpB,MAAM,SAAgC,KAAK;EAC3C,IAAI,OAAO,SAAS,MAClB,MAAM,IAAI,MACR,OAAO,KAAK,cAAc,OAAO,KAAK,KAAK,WAAW,KAAK,GAAG,kBAC/D;EAGH,MAAM,OAAO,OAAO,gBAAgB,EAAE;EACtC,MAAM,UAAU,KAAKI,SAAS,MAAM,KAAK;EACzC,MAAM,QAAQ,KAAKH,aAAa,KAAK;EAErC,MAAM,qBAEF,EAAE,SAAS,MAAM;EACrB,MAAM,mCAAmB,IAAI,KAG1B;EAEH,MAAM,MAA+D;GACnE,GAAG;GACH,wBAAuC;IACrC,OAAO,qBAAwB,MAAM,MAAM;;GAE7C,qBAAqB,kBAA0D;IAC7E,IAAI,mBAAmB,WAAW,MAChC,mBAAmB,UAAU;KAAE,OAAO,MAAM;KAAO,SAAS,MAAM;KAAS;IAM7E,MAAM,QAAQ;KAAE,QAAQ;KAAS,OAH/B,OAAO,kBAAkB,aACpB,cAA6C,qBAAqB,MAAM,MAAM,CAAC,GAChF;KACwC,OAAO,KAAA;KAAW;IAChE,MAAM;IACN,KAAKK,gBAAgB,KAAK;IAC1B,KAAKM,4BAA4B,KAAK;;GAExC,kBACE,QACA,kBACS;IACT,KAAKG,wBAAwB,QAAQ,eAAe,iBAAiB;;GAEvE,aAAa,WAAgC,KAAK,WAAW,OAAO;GACpE,iBAAiB,YAAgD,KAAK,eAAe,QAAQ;GAC9F;EAED,IAAI;GACF,MAAM,OAAO,MAAM,KAAK,GAAG,KAAK;WACzB,GAAY;GACnB,MAAM,OAAO,mBAAmB;GAChC,IAAI,QAAQ,MAAM;IAChB,MAAM,QAAQ,KAAK;IACnB,MAAM,UAAU,KAAK;IACrB,KAAKT,gBAAgB,KAAK;;GAE5B,KAAKU,0BAA0B,iBAAiB;GAChD,MAAM;;EAGR,IAAI,OAAO,yBAAyB,OAClC,KAAK,WAAW,KAAK;;CAIzB,MAAM,OACJ,UACA,GAAG,MACY;EACf,KAAKhB,eAAe;EACpB,MAAM,mCAAmB,IAAI,KAG1B;EAEH,MAAM,MAAuB;GAC3B,QAAQ,KAAKF;GACb,OAAU,SAA8B,KAAK,KAAK,KAAK;GACvD,kBACE,QACA,kBACS;IACT,KAAKiB,wBAAwB,QAAQ,eAAe,iBAAiB;;GAEvE,aAAa,WAAgC,KAAK,WAAW,OAAO;GACpE,iBAAiB,YAAgD,KAAK,eAAe,QAAQ;GAC9F;EAED,IAAI;GACF,MAAM,SAAS,cAAc,KAAK,GAAG,KAAK;WACnC,GAAY;GACnB,KAAKC,0BAA0B,iBAAiB;GAChD,MAAM;;;CAMV,MAAS,MAAe,eAAuD;EAC7E,KAAKhB,eAAe;EACpB,MAAM,QAAQ,KAAKC,aAAa,KAAK;EACrC,KAAKQ,WAAW,KAAK;EACrB,MAAM,UAAU;EAKhB,MAAM,QAAQ;GAAE,QAAQ;GAAS,OAH/B,OAAO,kBAAkB,aACpB,cAA6C,qBAAqB,MAAM,MAAM,CAAC,GAChF;GACwC,OAAO,KAAA;GAAW;EAChE,MAAM;EACN,KAAKH,gBAAgB,KAAK;EAC1B,KAAKM,4BAA4B,KAAK;;CAGxC,IACE,MACA,GAAG,MACY;EACf,OAAO,KAAK,MAAM,MAAM,GAAG,KAAK;;CAGlC,YACE,UACA,GAAG,MACY;EACf,OAAO,KAAK,OAAO,UAAU,GAAG,KAAK;;CAKvC,IAAO,MAAe,eAAuD;EAC3E,KAAK,MAAM,MAAM,cAAmB;;CAGtC,QAAW,MAAe,UAAqD;EAC7E,OAAO,KAAK,UAAU,YAAY;GAChC,SAAS,KAAK,YAAY,KAAK,CAAC;IAChC;;CAGJ,QAAQ,MAAsC;EAC5C,KAAKZ,eAAe;EACpB,MAAM,QAAQ,KAAKR,OAAO,IAAI,KAAK;EACnC,OAAO;GACL,YAAY,KAAK;GACjB,QAAQ,OAAO,MAAM,UAAU;GAC/B,iBAAiB,OAAO,KAAK,KAAK,QAAQ,gBAAgB,EAAE,CAAC,CAAC;GAC9D,uBAAuB,KAAKE,OAAO,IAAI,KAAK,EAAE,QAAQ;GACtD,eAAe,OAAO,UAAU,QAAQ;GACxC,YAAY,OAAO,cAAc;GACjC,YAAY,OAAO,WAAW;GAC/B;;CAGH,UAAgB;EACd,IAAI,KAAKK,WACP;EAEF,KAAKA,YAAY;EACjB,KAAKJ,SAAS,OAAO;EACrB,KAAK,MAAM,SAAS,KAAKC,eACvB,OAAO;EAET,KAAKA,cAAc,OAAO;EAC1B,KAAK,MAAM,SAAS,KAAKH,UAAU;GACjC,MAAM,YAAY,OAAO;GACzB,MAAM,aAAa;GACnB,MAAM,UAAU;GAChB,MAAM,UAAU,OAAO;GACvB,MAAM,aAAa;GACnB,IAAI,MAAM,WAAW,MAAM;IACzB,MAAM,SAAS;IACf,MAAM,UAAU;;;;CAKtB,YAAyB;EACvB,KAAKO,eAAe;EACpB,IAAI,KAAKiB,WAAW,MAClB,OAAO,KAAKA;EAGd,KAAKA,UAAU;GACb,MAAS,SAAgC,KAAK,IAAI,KAAK;GACvD,OAAU,SAAiC,KAAK,KAAK,KAAK;GAC1D,SAAY,SAA8B,KAAK,OAAO,KAAK;GAC3D,OAAU,SAA8B,KAAK,KAAK,KAAK;GACvD,MAAuC,MAA0B,GAAG,SAClE,KAAK,IAAI,MAAM,GAAG,KAAK;GACzB,QACE,MACA,GAAG,SACe,KAAK,MAAM,MAAM,GAAG,KAAK;GAC7C,cACE,GACA,GAAG,SACe,KAAK,YAAY,GAAG,GAAG,KAAK;GAChD,SAA0C,GAAmB,GAAG,SAC9D,KAAK,OAAO,GAAG,GAAG,KAAK;GACzB,MAAS,MAAe,kBACtB,KAAK,IAAI,MAAM,cAAmB;GACpC,QAAW,MAAe,kBACxB,KAAK,MAAM,MAAM,cAAmB;GACtC,aAAa,SAA8B,KAAK,WAAW,KAAK;GAChE,iBAAiB,UAA8C,KAAK,eAAe,MAAM;GACzF,UAAa,MAAe,aAC1B,KAAK,QAAQ,MAAM,SAAS;GAC9B,YAAe,MAAe,aAC5B,KAAK,QAAQ,MAAM,SAAS;GAC9B,UAAU,SAAyC,KAAK,QAAQ,KAAK;GACrE,eAAqB,KAAK,SAAS;GACpC;EACD,OAAO,KAAKA;;;AAIhB,SAAgB,YACd,GAAG,MACI;CACP,OAAO,IAAI,MAAM,GAAG,KAAK;;AAG3B,MAAM,gBAAgB;AAEtB,SAAS,eAAe,OAA6C;CACnE,IAAI,SAAS,QAAQ,UAAU,OAC7B,OAAO;CAET,IAAI,UAAU,MACZ,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,MAAM,CAAC;;AAGvC,SAAS,eAAe,IAAY,QAAoC;CACtE,OAAO,IAAI,SAAe,SAAS,WAAW;EAC5C,IAAI,OAAO,SAAS;GAClB,OAAO,IAAI,aAAa,6BAA6B,aAAa,CAAC;GACnE;;EAEF,MAAM,QAAQ,WAAW,SAAS,GAAG;EACrC,OAAO,iBACL,eACM;GACJ,aAAa,MAAM;GACnB,OAAO,IAAI,aAAa,6BAA6B,aAAa,CAAC;KAErE,EAAE,MAAM,MAAM,CACf;GACD;;AAGJ,SAAS,aAAa,GAAqB;CACzC,OAAO,aAAa,gBAAgB,EAAE,SAAS;;AAGjD,SAAS,aAAa,KAAuD;CAC3E,IAAI,OAAO,QAAQ,YACjB,OAAO;CAET,MAAM,IAAI;CACV,OAAO,OAAO,EAAE,eAAe,cAAc,OAAO,EAAE,kBAAkB;;AAG1E,SAAS,qBAAwB,OAAoC;CACnE,IAAI,MAAM,WAAW,WAAW,MAAM,WAAW,SAC/C,OAAO,MAAM;CAEf,IAAI,MAAM,WAAW,SACnB,OAAO,MAAM"}
|