@sentropic/track 0.11.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/events/store.d.ts +53 -0
- package/dist/events/store.d.ts.map +1 -1
- package/dist/events/store.js +106 -0
- package/dist/events/store.js.map +1 -1
- package/dist/ingest/ingest.d.ts.map +1 -1
- package/dist/ingest/ingest.js +31 -1
- package/dist/ingest/ingest.js.map +1 -1
- package/dist/track.d.ts +29 -3
- package/dist/track.d.ts.map +1 -1
- package/dist/track.js +74 -26
- package/dist/track.js.map +1 -1
- package/package.json +1 -1
package/dist/events/store.d.ts
CHANGED
|
@@ -16,10 +16,63 @@ export declare class EventStore {
|
|
|
16
16
|
* Append one command's events atomically. A multi-event command (`inputs.length > 1`)
|
|
17
17
|
* requires `opts.cmdId` and is tagged with `cmd:{i,n}`; a single-event command is
|
|
18
18
|
* standalone (no `cmdId`). Refuses to extend a log that does not pass `validate`.
|
|
19
|
+
*
|
|
20
|
+
* Idempotency backstop (M3-channel): under the lock, after the existing log's integrity is proven (F3)
|
|
21
|
+
* and before framing, an idempotency hook may dedup a concurrent retry — returning the ORIGINAL persisted
|
|
22
|
+
* events and appending NOTHING. This is ATOMIC w.r.t. concurrent writers: a racing second writer that
|
|
23
|
+
* bypassed the ingest-layer fast-path re-reads HERE and sees the first writer's events. The hook is
|
|
24
|
+
* INJECTABLE via `opts.dedupe`; the DEFAULT (no hook) is `dedupByClientToken`, scoped by
|
|
25
|
+
* `(clientToken, aggregateId)` — the store-neutral backstop for direct callers that have no workspace
|
|
26
|
+
* (across workspaces aggregateIds always differ, so a token in V never suppresses a write in W). The
|
|
27
|
+
* workspace-aware caller (ingest) injects a hook keyed on `(workspace, clientToken)`, which is stable
|
|
28
|
+
* across a re-minted aggregateId (so a concurrent CREATE-retry — fresh aggregateId per attempt — dedups
|
|
29
|
+
* to ONE event). A command with no token, or a token absent from the log, appends normally; the default
|
|
30
|
+
* hook fails closed (throws) on a token reused across a PARTIAL aggregate overlap. See `dedupByClientToken`.
|
|
19
31
|
*/
|
|
20
32
|
appendCommand(inputs: ReadonlyArray<CommandEvent>, opts?: {
|
|
21
33
|
cmdId?: Ulid;
|
|
34
|
+
/**
|
|
35
|
+
* Optional under-lock idempotency hook (the ingest workspace-scoped path). Called AFTER the
|
|
36
|
+
* existing-log integrity is proven (F3) and BEFORE framing, with the command's `inputs` and the
|
|
37
|
+
* just-read `existing` log. Returns the persisted originals to dedup (append NOTHING, return them
|
|
38
|
+
* verbatim), or `null` to append normally. DEFAULT (no hook) = `dedupByClientToken` — the
|
|
39
|
+
* store-neutral `(clientToken, aggregateId)` backstop for direct callers that have no workspace.
|
|
40
|
+
* A workspace-aware caller (ingest) injects a hook keyed on `(workspace, clientToken)`, which is
|
|
41
|
+
* stable across a re-minted aggregateId (so a concurrent create-retry dedups to ONE event).
|
|
42
|
+
*/
|
|
43
|
+
dedupe?: (inputs: ReadonlyArray<CommandEvent>, existing: readonly TrackEvent[]) => TrackEvent[] | null;
|
|
22
44
|
}): TrackEvent[];
|
|
45
|
+
/**
|
|
46
|
+
* Under-lock delivery-idempotency recheck. Returns the EXACT persisted events for this command's
|
|
47
|
+
* `clientToken` when the command is a true atomic-batch retry (dedup), `null` when it is a fresh write
|
|
48
|
+
* (append normally), and THROWS fail-closed when a delivery token is reused across a logically distinct
|
|
49
|
+
* aggregate set (partial overlap → would double-write).
|
|
50
|
+
*
|
|
51
|
+
* Decision rule (scoped by `(clientToken, aggregateId)`):
|
|
52
|
+
* - One delivery token per command. `inputAggregates` = the command's aggregateIds; `tokenAggregates` =
|
|
53
|
+
* the aggregateIds in `existing` that already carry this token. `presentInputs` = their intersection.
|
|
54
|
+
* - Case A (`presentInputs` empty): the token covers NONE of this command's aggregates — a fresh write,
|
|
55
|
+
* OR the load-bearing namespacing case (the token lives on OTHER aggregates/workspaces, whose
|
|
56
|
+
* aggregateIds always differ) → return `null` (append normally). MUST NOT throw.
|
|
57
|
+
* - Case B (`presentInputs` == `inputAggregates`, every input aggregate already carries the token): a
|
|
58
|
+
* true atomic-batch retry → dedup, returning EXACTLY the persisted events whose `aggregateId` is in
|
|
59
|
+
* `inputAggregates` AND `clientToken === token`, in stream (persisted) order — the original batch's
|
|
60
|
+
* events (NOT every event carrying the token). Because `appendAtomic` is all-or-nothing, a genuine
|
|
61
|
+
* retry of one batch always satisfies this set-equality, so callers/idempotency get stable ids.
|
|
62
|
+
* - Case C (`presentInputs` non-empty but != `inputAggregates`): a genuine partial overlap — a producer
|
|
63
|
+
* reused a delivery token across logically distinct commands; appending would double-write the present
|
|
64
|
+
* aggregates → THROW fail-closed (never a silent superset return or a cross-workspace disclosure).
|
|
65
|
+
*
|
|
66
|
+
* The store is WORKSPACE-BLIND by design (F1): workspace containment is the INGEST layer's load-bearing
|
|
67
|
+
* property; the `(clientToken, aggregateId)` scope here assumes per-workspace aggregateId uniqueness
|
|
68
|
+
* (ULID minting + ingest containment) and fails closed (Case C) on any token/aggregate anomaly rather
|
|
69
|
+
* than silently suppressing. It deliberately does NOT compare event bodies/`contentHash` (F2): a retry
|
|
70
|
+
* legitimately RE-MINTS a fresh `id`/`at` per attempt, so `contentHash` differs across a legitimate
|
|
71
|
+
* retry — a body-digest check here would reject the very concurrent-retry this backstop exists to absorb.
|
|
72
|
+
* Body-digest "409 on same key / different body" conflict detection (over the stable, pre-mint WorkEvent
|
|
73
|
+
* payload) is the GATEWAY/INGEST layer's contract, deferred to M3-HTTP — never enforced here.
|
|
74
|
+
*/
|
|
75
|
+
private dedupByClientToken;
|
|
23
76
|
/**
|
|
24
77
|
* Post-write verification (under the append lock). Re-reads the persisted log + head and asserts:
|
|
25
78
|
* (1) the log grew by exactly `events.length` (length); (2) the persisted suffix matches the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/events/store.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAqB,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAgBnF;;;;;;;GAOG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,mFAAmF;IACnF,OAAO,IAAI,UAAU,EAAE;IAiBvB
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/events/store.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAqB,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAgBnF;;;;;;;GAOG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,mFAAmF;IACnF,OAAO,IAAI,UAAU,EAAE;IAiBvB;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CACX,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,GAAE;QACJ,KAAK,CAAC,EAAE,IAAI,CAAA;QACZ;;;;;;;;WAQG;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,UAAU,EAAE,KAAK,UAAU,EAAE,GAAG,IAAI,CAAA;KAClG,GACL,UAAU,EAAE;IA+Ff;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,OAAO,CAAC,kBAAkB;IAkD1B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA4CpB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;CAcrB"}
|
package/dist/events/store.js
CHANGED
|
@@ -55,6 +55,18 @@ export class EventStore {
|
|
|
55
55
|
* Append one command's events atomically. A multi-event command (`inputs.length > 1`)
|
|
56
56
|
* requires `opts.cmdId` and is tagged with `cmd:{i,n}`; a single-event command is
|
|
57
57
|
* standalone (no `cmdId`). Refuses to extend a log that does not pass `validate`.
|
|
58
|
+
*
|
|
59
|
+
* Idempotency backstop (M3-channel): under the lock, after the existing log's integrity is proven (F3)
|
|
60
|
+
* and before framing, an idempotency hook may dedup a concurrent retry — returning the ORIGINAL persisted
|
|
61
|
+
* events and appending NOTHING. This is ATOMIC w.r.t. concurrent writers: a racing second writer that
|
|
62
|
+
* bypassed the ingest-layer fast-path re-reads HERE and sees the first writer's events. The hook is
|
|
63
|
+
* INJECTABLE via `opts.dedupe`; the DEFAULT (no hook) is `dedupByClientToken`, scoped by
|
|
64
|
+
* `(clientToken, aggregateId)` — the store-neutral backstop for direct callers that have no workspace
|
|
65
|
+
* (across workspaces aggregateIds always differ, so a token in V never suppresses a write in W). The
|
|
66
|
+
* workspace-aware caller (ingest) injects a hook keyed on `(workspace, clientToken)`, which is stable
|
|
67
|
+
* across a re-minted aggregateId (so a concurrent CREATE-retry — fresh aggregateId per attempt — dedups
|
|
68
|
+
* to ONE event). A command with no token, or a token absent from the log, appends normally; the default
|
|
69
|
+
* hook fails closed (throws) on a token reused across a PARTIAL aggregate overlap. See `dedupByClientToken`.
|
|
58
70
|
*/
|
|
59
71
|
appendCommand(inputs, opts = {}) {
|
|
60
72
|
if (inputs.length === 0) {
|
|
@@ -71,12 +83,29 @@ export class EventStore {
|
|
|
71
83
|
return withFileLock(this.filePath, () => {
|
|
72
84
|
const existing = this.readAll();
|
|
73
85
|
const before = existing.length;
|
|
86
|
+
// Existing-log integrity FIRST (F3) — proven BEFORE any success path, including the dedup
|
|
87
|
+
// short-circuit. A duplicate must NEVER return rc=0 on a corrupt/tampered/truncated log: the
|
|
88
|
+
// "original" events read back from a tampered log are not a trustworthy receipt. So every success
|
|
89
|
+
// path first proves the existing log is sound; only then may the dedup early-return fire.
|
|
74
90
|
const integrity = validate(existing, readHead(this.filePath));
|
|
75
91
|
if (!integrity.ok) {
|
|
76
92
|
const kinds = integrity.findings.map((f) => f.kind).join(', ');
|
|
77
93
|
throw new Error(`EventStore.appendCommand: refusing to extend an invalid log ` +
|
|
78
94
|
`(${integrity.findings.length} finding(s): ${kinds})`);
|
|
79
95
|
}
|
|
96
|
+
// Under-lock idempotency recheck (atomic with the append) — the concurrent-retry backstop, run
|
|
97
|
+
// only AFTER the existing log has proven sound. If this command carries a delivery token already
|
|
98
|
+
// present in the just-read log for the SAME aggregate set, return the ORIGINAL persisted events and
|
|
99
|
+
// append NOTHING. The lock makes this authoritative: a racing second writer that bypassed the ingest
|
|
100
|
+
// fast-path re-reads HERE and sees the first writer's token. The store is WORKSPACE-BLIND by design —
|
|
101
|
+
// workspace containment is the INGEST layer's load-bearing property; the (clientToken, aggregateId)
|
|
102
|
+
// scope here assumes per-workspace aggregateId uniqueness (ULID minting + ingest containment), and
|
|
103
|
+
// FAILS CLOSED on a token/aggregate anomaly (partial overlap → throw) rather than silently
|
|
104
|
+
// suppressing. A tokenless command, or a token-absent log, falls through and appends normally. The
|
|
105
|
+
// command's events are framed/hashed only AFTER this skip.
|
|
106
|
+
const deduped = (opts.dedupe ?? ((i, e) => this.dedupByClientToken(i, e)))(inputs, existing);
|
|
107
|
+
if (deduped !== null)
|
|
108
|
+
return deduped;
|
|
80
109
|
let prevHash = existing.length > 0 ? existing[existing.length - 1].contentHash : null;
|
|
81
110
|
// Next per-aggregate seq = max(seq) + 1, aligned with validate's authority.
|
|
82
111
|
const lastSeqByAggregate = new Map();
|
|
@@ -120,6 +149,83 @@ export class EventStore {
|
|
|
120
149
|
return events;
|
|
121
150
|
}, lockOptionsFromEnv());
|
|
122
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Under-lock delivery-idempotency recheck. Returns the EXACT persisted events for this command's
|
|
154
|
+
* `clientToken` when the command is a true atomic-batch retry (dedup), `null` when it is a fresh write
|
|
155
|
+
* (append normally), and THROWS fail-closed when a delivery token is reused across a logically distinct
|
|
156
|
+
* aggregate set (partial overlap → would double-write).
|
|
157
|
+
*
|
|
158
|
+
* Decision rule (scoped by `(clientToken, aggregateId)`):
|
|
159
|
+
* - One delivery token per command. `inputAggregates` = the command's aggregateIds; `tokenAggregates` =
|
|
160
|
+
* the aggregateIds in `existing` that already carry this token. `presentInputs` = their intersection.
|
|
161
|
+
* - Case A (`presentInputs` empty): the token covers NONE of this command's aggregates — a fresh write,
|
|
162
|
+
* OR the load-bearing namespacing case (the token lives on OTHER aggregates/workspaces, whose
|
|
163
|
+
* aggregateIds always differ) → return `null` (append normally). MUST NOT throw.
|
|
164
|
+
* - Case B (`presentInputs` == `inputAggregates`, every input aggregate already carries the token): a
|
|
165
|
+
* true atomic-batch retry → dedup, returning EXACTLY the persisted events whose `aggregateId` is in
|
|
166
|
+
* `inputAggregates` AND `clientToken === token`, in stream (persisted) order — the original batch's
|
|
167
|
+
* events (NOT every event carrying the token). Because `appendAtomic` is all-or-nothing, a genuine
|
|
168
|
+
* retry of one batch always satisfies this set-equality, so callers/idempotency get stable ids.
|
|
169
|
+
* - Case C (`presentInputs` non-empty but != `inputAggregates`): a genuine partial overlap — a producer
|
|
170
|
+
* reused a delivery token across logically distinct commands; appending would double-write the present
|
|
171
|
+
* aggregates → THROW fail-closed (never a silent superset return or a cross-workspace disclosure).
|
|
172
|
+
*
|
|
173
|
+
* The store is WORKSPACE-BLIND by design (F1): workspace containment is the INGEST layer's load-bearing
|
|
174
|
+
* property; the `(clientToken, aggregateId)` scope here assumes per-workspace aggregateId uniqueness
|
|
175
|
+
* (ULID minting + ingest containment) and fails closed (Case C) on any token/aggregate anomaly rather
|
|
176
|
+
* than silently suppressing. It deliberately does NOT compare event bodies/`contentHash` (F2): a retry
|
|
177
|
+
* legitimately RE-MINTS a fresh `id`/`at` per attempt, so `contentHash` differs across a legitimate
|
|
178
|
+
* retry — a body-digest check here would reject the very concurrent-retry this backstop exists to absorb.
|
|
179
|
+
* Body-digest "409 on same key / different body" conflict detection (over the stable, pre-mint WorkEvent
|
|
180
|
+
* payload) is the GATEWAY/INGEST layer's contract, deferred to M3-HTTP — never enforced here.
|
|
181
|
+
*/
|
|
182
|
+
dedupByClientToken(inputs, existing) {
|
|
183
|
+
// One delivery token per command (emitBatch stamps the same token on the whole batch). If the inputs
|
|
184
|
+
// carry no single shared token, there is nothing to dedup.
|
|
185
|
+
const tokens = new Set(inputs.map((i) => i.clientToken));
|
|
186
|
+
if (tokens.size !== 1)
|
|
187
|
+
return null;
|
|
188
|
+
const token = inputs[0].clientToken;
|
|
189
|
+
if (token === undefined)
|
|
190
|
+
return null;
|
|
191
|
+
// Persisted events carrying this token, grouped/ordered by aggregateId, plus the set of those
|
|
192
|
+
// aggregateIds (`tokenAggregates`).
|
|
193
|
+
const persistedByAggregate = new Map();
|
|
194
|
+
for (const e of existing) {
|
|
195
|
+
if (e.clientToken !== token)
|
|
196
|
+
continue;
|
|
197
|
+
const group = persistedByAggregate.get(e.aggregateId);
|
|
198
|
+
if (group === undefined)
|
|
199
|
+
persistedByAggregate.set(e.aggregateId, [e]);
|
|
200
|
+
else
|
|
201
|
+
group.push(e);
|
|
202
|
+
}
|
|
203
|
+
const inputAggregates = new Set(inputs.map((i) => i.aggregateId));
|
|
204
|
+
let presentCount = 0;
|
|
205
|
+
for (const aggregateId of inputAggregates) {
|
|
206
|
+
if (persistedByAggregate.has(aggregateId))
|
|
207
|
+
presentCount += 1;
|
|
208
|
+
}
|
|
209
|
+
// Case A — the token covers NONE of this command's aggregates: a fresh write, or the namespacing case
|
|
210
|
+
// (the token lives on OTHER aggregates/workspaces). Append normally. MUST NOT throw.
|
|
211
|
+
if (presentCount === 0)
|
|
212
|
+
return null;
|
|
213
|
+
// Case C — partial overlap: some input aggregates carry the token, some do not. A delivery token reused
|
|
214
|
+
// across a logically distinct aggregate set; appending would double-write the present aggregates.
|
|
215
|
+
if (presentCount !== inputAggregates.size) {
|
|
216
|
+
throw new Error(`EventStore.appendCommand: delivery clientToken ${token} reused across a different aggregate set ` +
|
|
217
|
+
`(partial overlap) — refusing to append (would double-write)`);
|
|
218
|
+
}
|
|
219
|
+
// Case B — every input aggregate already carries the token: a true atomic-batch retry. Return EXACTLY
|
|
220
|
+
// the persisted events for this command's aggregates (clientToken === token), in stream (persisted)
|
|
221
|
+
// order — the original batch's events, never the full token superset.
|
|
222
|
+
const original = [];
|
|
223
|
+
for (const e of existing) {
|
|
224
|
+
if (e.clientToken === token && inputAggregates.has(e.aggregateId))
|
|
225
|
+
original.push(e);
|
|
226
|
+
}
|
|
227
|
+
return original;
|
|
228
|
+
}
|
|
123
229
|
/**
|
|
124
230
|
* Post-write verification (under the append lock). Re-reads the persisted log + head and asserts:
|
|
125
231
|
* (1) the log grew by exactly `events.length` (length); (2) the persisted suffix matches the
|
package/dist/events/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/events/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAoB,MAAM,WAAW,CAAA;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC;;;;;GAKG;AACH,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAChD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAChC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACQ;IAA7B,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,mFAAmF;IACnF,OAAO;QACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAQ;YAC5D,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC,CAAA;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/events/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/ingest/ingest.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/ingest/ingest.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAgB,UAAU,EAAc,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAG7D,MAAM,WAAW,aAAa;IAC5B,kGAAkG;IAClG,EAAE,EAAE,OAAO,CAAA;IACX,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAA;IAChB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACzC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAmSD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,YAAY,CA0BxG"}
|
package/dist/ingest/ingest.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
// acceptance.run) is allowed only on an authenticated channel (auth ∈ {local-user, signed}); an
|
|
9
9
|
// unauthenticated channel may only create/prepare.
|
|
10
10
|
// State is re-folded each iteration, so an id created earlier in the same batch resolves to ctx.workspace.
|
|
11
|
+
import { fold } from '../state/fold.js';
|
|
11
12
|
import { Track } from '../track.js';
|
|
12
13
|
import { IngestError, mapWorkEvent } from './map.js';
|
|
13
14
|
// Allowlist (not `!== 'unauthenticated'`, which would admit any future enum value). `'signed'` is
|
|
@@ -263,6 +264,30 @@ function tokenIndex(events, state, workspace) {
|
|
|
263
264
|
}
|
|
264
265
|
return idx;
|
|
265
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* The under-lock idempotency hook ingest injects into `appendCommand`, keyed on `(workspace, clientToken)`
|
|
269
|
+
* — STABLE across a re-minted aggregateId (so a concurrent CREATE-retry, which mints a fresh aggregateId
|
|
270
|
+
* per attempt, still dedups to ONE event). Folds the just-read `existing` log (the SAME fold the
|
|
271
|
+
* `tokenIndex`/`eventWorkspace` fast-path uses), then collects every persisted event carrying this
|
|
272
|
+
* command's `token` whose `eventWorkspace === workspace`, in stream order. Returns that array when
|
|
273
|
+
* non-empty (dedup — append nothing, return the originals verbatim), else `null` (append normally).
|
|
274
|
+
*
|
|
275
|
+
* Workspace is IN the key ⇒ a token used in workspace V can NEVER suppress a write in W (the load-bearing
|
|
276
|
+
* namespacing property). `appendAtomic` is all-or-nothing ⇒ a `(workspace, token)` is present as the whole
|
|
277
|
+
* original command or absent (no partial/superset), so there is nothing to fail-closed on here. Bodies are
|
|
278
|
+
* NOT compared (a retry legitimately re-mints `id`/`at`): `(workspace, clientToken)` is the only stable key.
|
|
279
|
+
*/
|
|
280
|
+
function workspaceDedupe(token, workspace) {
|
|
281
|
+
return (_inputs, existing) => {
|
|
282
|
+
const state = fold(existing);
|
|
283
|
+
const original = [];
|
|
284
|
+
for (const e of existing) {
|
|
285
|
+
if (e.clientToken === token && eventWorkspace(e, state) === workspace)
|
|
286
|
+
original.push(e);
|
|
287
|
+
}
|
|
288
|
+
return original.length > 0 ? original : null;
|
|
289
|
+
};
|
|
290
|
+
}
|
|
266
291
|
/**
|
|
267
292
|
* Apply a WorkEvent stream to the store under channel authorization. Each event maps 1:1 to a Track
|
|
268
293
|
* command (its own locked, atomic append).
|
|
@@ -292,7 +317,12 @@ export function ingest(events, ctx, store) {
|
|
|
292
317
|
continue;
|
|
293
318
|
}
|
|
294
319
|
authorize(cmd, ctx, track.state()); // fresh fold each iteration (re-fold after each apply)
|
|
295
|
-
|
|
320
|
+
// Pass the workspace-scoped under-lock dedupe hook ONLY for a tokened command — keyed on
|
|
321
|
+
// (workspace, clientToken), stable across a re-minted aggregateId, so a concurrent create-retry that
|
|
322
|
+
// defeated the fast-path dedups to ONE event under the store lock. A tokenless command passes no hook
|
|
323
|
+
// (the store would have no key) and keeps the at-least-once behavior.
|
|
324
|
+
const dedupeOpt = cmd.clientToken !== undefined ? { dedupe: workspaceDedupe(cmd.clientToken, ctx.workspace) } : {};
|
|
325
|
+
const id = track.withClientToken(cmd.clientToken, () => applyCommand(track, cmd, ctx), dedupeOpt) ?? null;
|
|
296
326
|
if (cmd.clientToken !== undefined)
|
|
297
327
|
seen.set(cmd.clientToken, id); // intra-stream duplicates also skip
|
|
298
328
|
ids.push(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/ingest/ingest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/ingest/ingest.ts"],"names":[],"mappings":"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"}
|
package/dist/track.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventStore } from './events/store.js';
|
|
2
|
-
import type { ActorId, Provenance, Ulid } from './events/types.js';
|
|
2
|
+
import type { ActorId, CommandEvent, Provenance, TrackEvent, Ulid } from './events/types.js';
|
|
3
3
|
import { type RunReportFormat } from './accept/ingest.js';
|
|
4
4
|
import { type QueryFilter, type Report, type ReportOptions, type ReportRow } from './report/build.js';
|
|
5
5
|
import type { EvidenceKind, RunResult } from './model/acceptance.js';
|
|
@@ -16,6 +16,12 @@ export interface ImportResult {
|
|
|
16
16
|
created: number;
|
|
17
17
|
updated: number;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Under-lock idempotency hook (the ingest workspace-scoped path). Receives a command's `inputs` and the
|
|
21
|
+
* just-read `existing` log UNDER THE STORE LOCK; returns the persisted originals to dedup (append nothing,
|
|
22
|
+
* return them verbatim) or `null` to append normally. See `EventStore.appendCommand`'s `dedupe` opt.
|
|
23
|
+
*/
|
|
24
|
+
export type DedupeHook = (inputs: ReadonlyArray<CommandEvent>, existing: readonly TrackEvent[]) => TrackEvent[] | null;
|
|
19
25
|
export interface TrackOptions {
|
|
20
26
|
/** Injectable clock (ISO-8601 ms). Defaults to wall clock. */
|
|
21
27
|
now?: () => string;
|
|
@@ -55,6 +61,13 @@ export declare class Track {
|
|
|
55
61
|
private readonly prov;
|
|
56
62
|
/** Delivery idempotency token stamped on emitted events for the duration of a `withClientToken` scope. */
|
|
57
63
|
private activeClientToken;
|
|
64
|
+
/**
|
|
65
|
+
* Under-lock idempotency hook for the active scope (the ingest workspace-scoped path). When set, it is
|
|
66
|
+
* passed straight through to `EventStore.appendCommand`'s `dedupe` opt, so a concurrent retry that
|
|
67
|
+
* bypassed the ingest fast-path is deduped UNDER THE LOCK keyed on `(workspace, clientToken)` — stable
|
|
68
|
+
* across a re-minted aggregateId. Absent ⇒ the store's default `(clientToken, aggregateId)` backstop.
|
|
69
|
+
*/
|
|
70
|
+
private activeDedupe;
|
|
58
71
|
constructor(store: EventStore, opts?: TrackOptions);
|
|
59
72
|
/** Materialized state from a full replay of the log. */
|
|
60
73
|
state(): State;
|
|
@@ -62,8 +75,15 @@ export declare class Track {
|
|
|
62
75
|
* Run `fn` (one command) with `token` stamped on every event it emits — the delivery idempotency key
|
|
63
76
|
* (v2.3c). Scoped (restored in `finally`), so it stamps exactly this command's batch and nothing else.
|
|
64
77
|
* `undefined` ⇒ no token (today's behavior). Not nested by the ingest seam.
|
|
78
|
+
*
|
|
79
|
+
* `opts.dedupe` (the ingest path) installs an under-lock idempotency hook for the same scope, plumbed
|
|
80
|
+
* straight to `EventStore.appendCommand`. It lets ingest key the concurrent-retry dedup on
|
|
81
|
+
* `(workspace, clientToken)` — stable across a re-minted aggregateId — instead of the store's default
|
|
82
|
+
* `(clientToken, aggregateId)`. Restored in `finally` alongside the token.
|
|
65
83
|
*/
|
|
66
|
-
withClientToken<T>(token: string | undefined, fn: () => T
|
|
84
|
+
withClientToken<T>(token: string | undefined, fn: () => T, opts?: {
|
|
85
|
+
dedupe?: DedupeHook;
|
|
86
|
+
}): T;
|
|
67
87
|
createItem(input: ItemCreatedPayload): ItemId;
|
|
68
88
|
/**
|
|
69
89
|
* Move an item under a new parent — or detach it to root when `parentId` is omitted (Workpackages
|
|
@@ -200,7 +220,13 @@ export declare class Track {
|
|
|
200
220
|
private evidenceOwner;
|
|
201
221
|
private requireItem;
|
|
202
222
|
private emit;
|
|
203
|
-
/**
|
|
223
|
+
/**
|
|
224
|
+
* Append a command's events; a multi-event command is one atomic `cmdId` batch (SPEC §3). Returns the
|
|
225
|
+
* events `appendCommand` actually PERSISTED — the fresh appends, OR (when a concurrent-retry dedup fires)
|
|
226
|
+
* the ORIGINAL persisted events. The single source of truth for a caller's result ids is therefore the
|
|
227
|
+
* log: the ingest seam derives a deduped retry's id from these returned events, never from a
|
|
228
|
+
* freshly-minted (never-persisted) id.
|
|
229
|
+
*/
|
|
204
230
|
private emitBatch;
|
|
205
231
|
}
|
|
206
232
|
//# sourceMappingURL=track.d.ts.map
|
package/dist/track.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"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"}
|
package/dist/track.js
CHANGED
|
@@ -25,6 +25,13 @@ export class Track {
|
|
|
25
25
|
prov;
|
|
26
26
|
/** Delivery idempotency token stamped on emitted events for the duration of a `withClientToken` scope. */
|
|
27
27
|
activeClientToken;
|
|
28
|
+
/**
|
|
29
|
+
* Under-lock idempotency hook for the active scope (the ingest workspace-scoped path). When set, it is
|
|
30
|
+
* passed straight through to `EventStore.appendCommand`'s `dedupe` opt, so a concurrent retry that
|
|
31
|
+
* bypassed the ingest fast-path is deduped UNDER THE LOCK keyed on `(workspace, clientToken)` — stable
|
|
32
|
+
* across a re-minted aggregateId. Absent ⇒ the store's default `(clientToken, aggregateId)` backstop.
|
|
33
|
+
*/
|
|
34
|
+
activeDedupe;
|
|
28
35
|
constructor(store, opts = {}) {
|
|
29
36
|
this.store = store;
|
|
30
37
|
this.clock = opts.now ?? (() => new Date().toISOString());
|
|
@@ -43,15 +50,23 @@ export class Track {
|
|
|
43
50
|
* Run `fn` (one command) with `token` stamped on every event it emits — the delivery idempotency key
|
|
44
51
|
* (v2.3c). Scoped (restored in `finally`), so it stamps exactly this command's batch and nothing else.
|
|
45
52
|
* `undefined` ⇒ no token (today's behavior). Not nested by the ingest seam.
|
|
53
|
+
*
|
|
54
|
+
* `opts.dedupe` (the ingest path) installs an under-lock idempotency hook for the same scope, plumbed
|
|
55
|
+
* straight to `EventStore.appendCommand`. It lets ingest key the concurrent-retry dedup on
|
|
56
|
+
* `(workspace, clientToken)` — stable across a re-minted aggregateId — instead of the store's default
|
|
57
|
+
* `(clientToken, aggregateId)`. Restored in `finally` alongside the token.
|
|
46
58
|
*/
|
|
47
|
-
withClientToken(token, fn) {
|
|
48
|
-
const
|
|
59
|
+
withClientToken(token, fn, opts = {}) {
|
|
60
|
+
const prevToken = this.activeClientToken;
|
|
61
|
+
const prevDedupe = this.activeDedupe;
|
|
49
62
|
this.activeClientToken = token;
|
|
63
|
+
this.activeDedupe = opts.dedupe;
|
|
50
64
|
try {
|
|
51
65
|
return fn();
|
|
52
66
|
}
|
|
53
67
|
finally {
|
|
54
|
-
this.activeClientToken =
|
|
68
|
+
this.activeClientToken = prevToken;
|
|
69
|
+
this.activeDedupe = prevDedupe;
|
|
55
70
|
}
|
|
56
71
|
}
|
|
57
72
|
createItem(input) {
|
|
@@ -69,8 +84,11 @@ export class Track {
|
|
|
69
84
|
assertRoleNesting(input.role, parent.role, '<new>', input.parentId);
|
|
70
85
|
}
|
|
71
86
|
const itemId = this.newId();
|
|
72
|
-
|
|
73
|
-
|
|
87
|
+
// Result id = the PERSISTED event's aggregateId. On a fresh append that IS `itemId`; on a concurrent-
|
|
88
|
+
// retry dedup it is the ORIGINAL persisted item's id (the under-lock hook re-minted-aggregateId-blind),
|
|
89
|
+
// so a racing create-retry returns the first writer's id, never this attempt's never-persisted one.
|
|
90
|
+
const [persisted] = this.emit('item', itemId, 'item.created', { ...input });
|
|
91
|
+
return persisted?.aggregateId ?? itemId;
|
|
74
92
|
}
|
|
75
93
|
/**
|
|
76
94
|
* Move an item under a new parent — or detach it to root when `parentId` is omitted (Workpackages
|
|
@@ -124,7 +142,9 @@ export class Track {
|
|
|
124
142
|
throw new DomainError(`cannot declare scope on item ${itemId}: scope is only declarable on a workpackage or spec-phase (Scope §B(a))`);
|
|
125
143
|
}
|
|
126
144
|
const validated = assertScopeDecl(scope);
|
|
127
|
-
const emit = () =>
|
|
145
|
+
const emit = () => {
|
|
146
|
+
this.emit('item', itemId, 'scope.declared', { scope: validated });
|
|
147
|
+
};
|
|
128
148
|
if (clientToken !== undefined)
|
|
129
149
|
this.withClientToken(clientToken, emit);
|
|
130
150
|
else
|
|
@@ -146,7 +166,9 @@ export class Track {
|
|
|
146
166
|
if (!this.state().items.has(itemId))
|
|
147
167
|
throw new DomainError(`unknown item ${itemId}`);
|
|
148
168
|
const validated = assertSpecAmend({ ...amend, itemId });
|
|
149
|
-
const emit = () =>
|
|
169
|
+
const emit = () => {
|
|
170
|
+
this.emit('item', itemId, 'spec.amended', { ...validated });
|
|
171
|
+
};
|
|
150
172
|
if (clientToken !== undefined)
|
|
151
173
|
this.withClientToken(clientToken, emit);
|
|
152
174
|
else
|
|
@@ -218,8 +240,12 @@ export class Track {
|
|
|
218
240
|
},
|
|
219
241
|
});
|
|
220
242
|
}
|
|
221
|
-
|
|
222
|
-
|
|
243
|
+
// Result id = the PERSISTED batch's first event (decision.created) aggregateId. On a fresh append that
|
|
244
|
+
// IS `decisionId`; on a concurrent-retry dedup it is the ORIGINAL persisted decision's id (the
|
|
245
|
+
// under-lock hook returned the first writer's batch), so a racing create-retry returns the original id,
|
|
246
|
+
// never this attempt's never-persisted one. The decision.created is always parts[0] ⇒ persisted[0].
|
|
247
|
+
const persisted = this.emitBatch(parts);
|
|
248
|
+
return persisted[0]?.aggregateId ?? decisionId;
|
|
223
249
|
}
|
|
224
250
|
/**
|
|
225
251
|
* Settle (or defer) a Decision's outcome (SPEC §2.6). Legal: pending→{go,no-go,deferred};
|
|
@@ -288,7 +314,9 @@ export class Track {
|
|
|
288
314
|
throw new DomainError(`unknown decision ${decisionId}`);
|
|
289
315
|
}
|
|
290
316
|
const validated = assertDossierArtifact(artifact);
|
|
291
|
-
const emit = () =>
|
|
317
|
+
const emit = () => {
|
|
318
|
+
this.emit('decision', decisionId, 'decision.artifact-added', { artifact: validated });
|
|
319
|
+
};
|
|
292
320
|
// Stamp a CALLER-supplied token (the facade path). When called via the ingest seam the token is
|
|
293
321
|
// already in scope (withClientToken), so a `clientToken` arg is omitted and we must NOT clobber it
|
|
294
322
|
// with `withClientToken(undefined, …)`.
|
|
@@ -349,7 +377,10 @@ export class Track {
|
|
|
349
377
|
resolutionRule = input.resolutionRule ?? 'linked-done';
|
|
350
378
|
}
|
|
351
379
|
const blockerId = this.newId();
|
|
352
|
-
|
|
380
|
+
// Result id = the PERSISTED event's aggregateId (createItem pattern). On a fresh append that IS
|
|
381
|
+
// `blockerId`; on a concurrent-retry dedup it is the ORIGINAL persisted blocker's id, so a racing
|
|
382
|
+
// raise-retry returns the first writer's id, never this attempt's never-persisted one.
|
|
383
|
+
const [persisted] = this.emit('blocker', blockerId, 'blocker.opened', {
|
|
353
384
|
blockerId,
|
|
354
385
|
targetId: input.targetId,
|
|
355
386
|
kind: input.kind,
|
|
@@ -360,7 +391,7 @@ export class Track {
|
|
|
360
391
|
...(scope === 'extra' ? { scope } : {}),
|
|
361
392
|
...(input.engagementRef !== undefined ? { engagementRef: input.engagementRef } : {}),
|
|
362
393
|
});
|
|
363
|
-
return blockerId;
|
|
394
|
+
return persisted?.aggregateId ?? blockerId;
|
|
364
395
|
}
|
|
365
396
|
resolveBlocker(blockerId) {
|
|
366
397
|
const blocker = this.state().blockers.get(blockerId);
|
|
@@ -404,9 +435,12 @@ export class Track {
|
|
|
404
435
|
continue;
|
|
405
436
|
parts.push({ aggregate: 'blocker', aggregateId: b.id, type: 'blocker.resolved', payload: { blockerId: b.id, engagementRef } });
|
|
406
437
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
438
|
+
// Result ids = the PERSISTED events' aggregateIds (the resolved blockers). These address EXISTING
|
|
439
|
+
// blocker aggregates (no fresh mint), so they are stable regardless of dedup; deriving from the
|
|
440
|
+
// returned events keeps the single-source-of-truth invariant (a deduped retry returns the originals).
|
|
441
|
+
if (parts.length === 0)
|
|
442
|
+
return [];
|
|
443
|
+
return this.emitBatch(parts).map((e) => e.aggregateId);
|
|
410
444
|
}
|
|
411
445
|
// ---- Acceptance (SPEC §2.4) ----
|
|
412
446
|
/** Add an acceptance criterion to a non-decision item (A3 forbids criteria on a Decision). */
|
|
@@ -418,21 +452,28 @@ export class Track {
|
|
|
418
452
|
if (!state.items.has(itemId))
|
|
419
453
|
throw new DomainError(`unknown item ${itemId}`);
|
|
420
454
|
const criterionId = this.newId();
|
|
421
|
-
|
|
422
|
-
|
|
455
|
+
// Result id = the PERSISTED event's payload.criterionId (payload field, not aggregateId). On a fresh
|
|
456
|
+
// append that IS `criterionId`; on a concurrent-retry dedup it is the ORIGINAL persisted event's id, so
|
|
457
|
+
// a racing add-retry returns the original, never this attempt's never-persisted one.
|
|
458
|
+
const [persisted] = this.emit('item', itemId, 'acceptance.criterion.added', { criterionId, statement });
|
|
459
|
+
return (persisted?.payload?.criterionId) ?? criterionId;
|
|
423
460
|
}
|
|
424
461
|
linkEvidence(criterionId, kind, locator) {
|
|
425
462
|
const criterion = this.state().criteria.get(criterionId);
|
|
426
463
|
if (!criterion)
|
|
427
464
|
throw new DomainError(`unknown criterion ${criterionId}`);
|
|
428
465
|
const evidenceId = this.newId();
|
|
429
|
-
|
|
466
|
+
// Result id = the PERSISTED event's payload.evidenceId. On a fresh append that IS `evidenceId`; on a
|
|
467
|
+
// concurrent-retry dedup it is the ORIGINAL persisted event's evidenceId (the under-lock hook returned
|
|
468
|
+
// the first writer's event), so a racing link-retry returns the original id, never this attempt's
|
|
469
|
+
// freshly-minted (never-persisted) one. evidenceId is a PAYLOAD field, not the aggregateId.
|
|
470
|
+
const [persisted] = this.emit('item', criterion.itemId, 'acceptance.evidence.linked', {
|
|
430
471
|
evidenceId,
|
|
431
472
|
criterionId,
|
|
432
473
|
kind,
|
|
433
474
|
locator,
|
|
434
475
|
});
|
|
435
|
-
return evidenceId;
|
|
476
|
+
return (persisted?.payload?.evidenceId) ?? evidenceId;
|
|
436
477
|
}
|
|
437
478
|
recordRun(evidenceId, run) {
|
|
438
479
|
this.emit('item', this.evidenceOwner(evidenceId), 'acceptance.run', { evidenceId, ...run });
|
|
@@ -455,7 +496,9 @@ export class Track {
|
|
|
455
496
|
}
|
|
456
497
|
const aggregate = validated.wpRef !== undefined ? 'item' : 'verification';
|
|
457
498
|
const aggregateId = validated.wpRef ?? `verification:${opts.workspace}`;
|
|
458
|
-
const emit = () =>
|
|
499
|
+
const emit = () => {
|
|
500
|
+
this.emit(aggregate, aggregateId, 'scope.verification-recorded', { ...validated });
|
|
501
|
+
};
|
|
459
502
|
if (clientToken !== undefined)
|
|
460
503
|
this.withClientToken(clientToken, emit);
|
|
461
504
|
else
|
|
@@ -677,9 +720,15 @@ export class Track {
|
|
|
677
720
|
return item;
|
|
678
721
|
}
|
|
679
722
|
emit(aggregate, aggregateId, type, payload) {
|
|
680
|
-
this.emitBatch([{ aggregate, aggregateId, type, payload }]);
|
|
723
|
+
return this.emitBatch([{ aggregate, aggregateId, type, payload }]);
|
|
681
724
|
}
|
|
682
|
-
/**
|
|
725
|
+
/**
|
|
726
|
+
* Append a command's events; a multi-event command is one atomic `cmdId` batch (SPEC §3). Returns the
|
|
727
|
+
* events `appendCommand` actually PERSISTED — the fresh appends, OR (when a concurrent-retry dedup fires)
|
|
728
|
+
* the ORIGINAL persisted events. The single source of truth for a caller's result ids is therefore the
|
|
729
|
+
* log: the ingest seam derives a deduped retry's id from these returned events, never from a
|
|
730
|
+
* freshly-minted (never-persisted) id.
|
|
731
|
+
*/
|
|
683
732
|
emitBatch(parts) {
|
|
684
733
|
const at = this.clock();
|
|
685
734
|
const events = parts.map((part) => ({
|
|
@@ -693,12 +742,11 @@ export class Track {
|
|
|
693
742
|
...(this.activeClientToken !== undefined ? { clientToken: this.activeClientToken } : {}),
|
|
694
743
|
payload: part.payload,
|
|
695
744
|
}));
|
|
745
|
+
const dedupeOpt = this.activeDedupe !== undefined ? { dedupe: this.activeDedupe } : {};
|
|
696
746
|
if (events.length > 1) {
|
|
697
|
-
this.store.appendCommand(events, { cmdId: this.newId() });
|
|
698
|
-
}
|
|
699
|
-
else {
|
|
700
|
-
this.store.appendCommand(events);
|
|
747
|
+
return this.store.appendCommand(events, { cmdId: this.newId(), ...dedupeOpt });
|
|
701
748
|
}
|
|
749
|
+
return this.store.appendCommand(events, dedupeOpt);
|
|
702
750
|
}
|
|
703
751
|
}
|
|
704
752
|
//# sourceMappingURL=track.js.map
|
package/dist/track.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,cAAc,EAAwB,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EACL,WAAW,EACX,KAAK,IAAI,QAAQ,GAKlB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,mBAAmB,EACnB,SAAS,GAGV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,mBAAmB,GAIpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GAKxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,WAAW,GAWZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,qBAAqB,EAAoC,MAAM,yBAAyB,CAAA;AACjG,OAAO,EAAE,eAAe,EAAyB,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAc,MAAM,iBAAiB,CAAA;AA2ClD;;;;GAIG;AACH,MAAM,OAAO,KAAK;IASG;IARF,KAAK,CAAc;IACnB,KAAK,CAAY;IACjB,KAAK,CAAS;IACd,IAAI,CAAwB;IAC7C,0GAA0G;IAClG,iBAAiB,CAAoB;IAE7C,YACmB,KAAiB,EAClC,OAAqB,EAAE;QADN,UAAK,GAAL,KAAK,CAAY;QAGlC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAA;QAChC,kGAAkG;QAClG,iGAAiG;QACjG,uGAAuG;QACvG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,CAAC;IAED,wDAAwD;IACxD,KAAK;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAI,KAAyB,EAAE,EAAW;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAA;QACnC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;QAC9B,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAyB;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,WAAW,CAAC,uHAAuH,CAAC,CAAA;QAChJ,CAAC;QACD,oGAAoG;QACpG,sGAAsG;QACtG,oGAAoG;QACpG,mGAAmG;QACnG,8BAA8B;QAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACrD,IAAI,MAAM,KAAK,SAAS;gBAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/F,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QACvD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAc,EAAE,QAAiB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,QAAQ,KAAK,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,wBAAwB,MAAM,eAAe,CAAC,CAAA;YAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACxC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAA;YACrE,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,IAAI,WAAW,CACnB,2CAA2C,MAAM,WAAW,IAAI,CAAC,SAAS,aAAa,QAAQ,WAAW,MAAM,CAAC,SAAS,GAAG,CAC9H,CAAA;YACH,CAAC;YACD,gGAAgG;YAChG,iGAAiG;YACjG,6FAA6F;YAC7F,sGAAsG;YACtG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC3D,6FAA6F;YAC7F,KAAK,IAAI,MAAM,GAAuB,QAAQ,EAAE,MAAM,KAAK,SAAS,GAAI,CAAC;gBACvE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,MAAM,IAAI,WAAW,CAAC,wBAAwB,MAAM,6BAA6B,QAAQ,UAAU,CAAC,CAAA;gBACtG,CAAC;gBACD,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,MAAc,EAAE,KAAgB,EAAE,WAAoB;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9D,MAAM,IAAI,WAAW,CACnB,gCAAgC,MAAM,yEAAyE,CAChH,CAAA;QACH,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC1F,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAc,EAAE,KAAuB,EAAE,WAAoB;QACrE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QACpF,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;QACpF,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,EAAc;QACpC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACtD,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAc,EAAE,EAAe;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,IAAI,EAAE,CAAC;YACT,2BAA2B,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAC3D,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,2BAA2B,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/D,OAAM;QACR,CAAC;QACD,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAA6B;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,WAAW,CAAC,kDAAkD,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,WAAW,CAAC,8CAA8C,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,WAAW,CAAC,8CAA8C,QAAQ,QAAQ,CAAC,CAAA;YACvF,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,WAAW,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAgB;YACzB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE;SACpG,CAAA;QACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE;oBACP,SAAS;oBACT,QAAQ;oBACR,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,UAAU;oBACf,MAAM,EAAE,YAAY,KAAK,CAAC,YAAY,WAAW;iBAClD;aACF,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,UAAkB,EAAE,EAAW;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAChD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACtE,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAE7C,MAAM,KAAK,GAAgB;YACzB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;SAC9F,CAAA;QACD,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAClC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAC1F,CAAA;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,CAAC,IAAI,CAAC;wBACT,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,OAAO,CAAC,EAAE;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE;qBAC/C,CAAC,CAAA;gBACJ,CAAC;gBACD,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;oBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBACxC,uFAAuF;oBACvF,oFAAoF;oBACpF,mFAAmF;oBACnF,yFAAyF;oBACzF,yFAAyF;oBACzF,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa,CAAC,EAAE,CAAC;wBACvF,KAAK,CAAC,IAAI,CAAC;4BACT,SAAS,EAAE,MAAM;4BACjB,WAAW,EAAE,QAAQ;4BACrB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE;yBACnD,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,aAAa,CAAC,UAAkB,EAAE,OAAgB;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,UAAkB,EAAE,QAAyB,EAAE,WAAoB;QACrF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QAC9G,gGAAgG;QAChG,mGAAmG;QACnG,wCAAwC;QACxC,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAc,EAAE,IAAU,EAAE,WAAwB,EAAE,MAAe;QAClF,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,WAAW,CACnB,mFAAmF,CACpF,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QACpF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE;YAChD,MAAM;YACN,IAAI;YACJ,WAAW;YACX,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CAAC,uBAAuB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,sGAAsG;QACtG,2EAA2E;QAC3E,MAAM,KAAK,GAAiB,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC5F,IAAI,cAA0C,CAAA;QAE9C,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,WAAW,CAAC,0DAA0D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACvG,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1E,MAAM,IAAI,WAAW,CAAC,oFAAoF,CAAC,CAAA;YAC7G,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,WAAW,CAAC,gGAAgG,CAAC,CAAA;YACzH,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC5E,MAAM,IAAI,WAAW,CAAC,0DAA0D,KAAK,CAAC,cAAc,iCAAiC,CAAC,CAAA;YACxI,CAAC;YACD,cAAc,GAAG,QAAQ,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,WAAW,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChE,CAAC;YACD,6FAA6F;YAC7F,gCAAgC;YAChC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,aAAa,CAAA;QACxD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE;YAChD,SAAS;YACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,cAAc,CAAC,SAAoB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,WAAW,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAA;QACnE,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,WAAW,SAAS,sBAAsB,CAAC,CAAA;QACpF,qGAAqG;QACrG,0GAA0G;QAC1G,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE;YAClD,SAAS;YACT,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,yBAAyB,CAAC,aAAqB,EAAE,KAAmB;QAClE,sGAAsG;QACtG,qGAAqG;QACrG,oCAAoC;QACpC,IAAI,KAAK,KAAK,gBAAgB,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACvJ,MAAM,IAAI,WAAW,CAAC,6FAA6F,CAAC,CAAA;QACtH,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAgB,EAAE,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,aAAa,KAAK,aAAa;gBAAE,SAAQ;YAC5G,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,KAAK,SAAS;gBAAE,SAAQ;YAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;QAChI,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACxC,CAAC;IAED,mCAAmC;IAEnC,8FAA8F;IAC9F,YAAY,CAAC,MAAc,EAAE,SAAiB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,WAAW,CAAC,qDAAqD,MAAM,QAAQ,CAAC,CAAA;QAC5F,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;QACnF,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,IAAkB,EAAE,OAAe;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAA;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE;YAChE,UAAU;YACV,WAAW;YACX,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CACP,UAAkB,EAClB,GAAuE;QAEvE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,KAAkC,EAAE,IAA2B,EAAE,WAAoB;QACtG,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,WAAW,CAAC,sBAAsB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,MAAM,SAAS,GAAc,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAA;QACpF,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,IAAI,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAA;QACvE,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;QAC3G,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED,KAAK,CAAC,WAAmB,EAAE,MAAc;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE;YACvD,WAAW;YACX,MAAM;YACN,EAAE,EAAE,IAAI,CAAC,KAAK;SACf,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,UAAU,CACR,OAAe,EACf,MAAuB,EACvB,GAAoD;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,4FAA4F;QAC5F,8FAA8F;QAC9F,iGAAiG;QACjG,iGAAiG;QACjG,6FAA6F;QAC7F,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,GAAW,EAAE,MAAc,EAAU,EAAE,CAC3F,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA,CAAC,2CAA2C;QAE/F,gGAAgG;QAChG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAA;QAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;gBAAE,SAAQ;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAkC,CAAA;YAC9C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;YACrD,IACE,OAAO,UAAU,KAAK,QAAQ;gBAC9B,OAAO,MAAM,KAAK,QAAQ;gBAC1B,OAAO,GAAG,KAAK,QAAQ;gBACvB,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,EACxC,CAAC;gBACD,SAAQ,CAAC,sDAAsD;YACjE,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QAClE,CAAC;QAED,sFAAsF;QACtF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqB,CAAA;QACjD,MAAM,KAAK,GAA+D,EAAE,CAAA;QAC5E,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACpD,sEAAsE;YACtE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;oBAAE,SAAQ;gBAChD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;gBAC1D,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;gBAClG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA,CAAC,wCAAwC;YAC9E,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,MAAM,KAAK,GAAgB,EAAE,CAAA;QAC7B,KAAK,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;YACrC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM;gBAAE,SAAQ,CAAC,qCAAqC;YACjF,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;aACtF,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,KAAK,CAAC,MAAM,CAAA;IACrB,CAAC;IAED,uCAAuC;IAEvC,wFAAwF;IACxF,cAAc,CAAC,MAAc,EAAE,MAAkB;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QACpF,MAAM,UAAU,GAAuB;YACrC,MAAM;YACN,QAAQ,EAAE,MAAM;YAChB,aAAa,EAAE,mBAAmB;YAClC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;YACrB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;YACxB,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;SACjB,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;QACjE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,8CAA8C;IAE9C,iEAAiE;IACjE,MAAM,CAAC,OAAsB;QAC3B,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,MAAmB,EAAE,OAAsB;QAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,uCAAuC;IAEvC;;;;;OAKG;IACH,YAAY,CACV,OAAe,EACf,IAA6D;QAE7D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACnG,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;QAC/D,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAyB,EAAE,CACnE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QAEzE,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAClD,MAAM,SAAS,GACb,OAAO,EAAE,EAAE;YACX,IAAI,CAAC,UAAU,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU;gBAChD,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC,CAAA;QACJ,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAA;QAEvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;YACpD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;YACpC,MAAM,KAAK,GACT,IAAI,EAAE,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,SAAS,EAAE,MAAM,CAAC,UAAU;oBAC5B,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,CAAC,IAAI,CAAC;iBACd,CAAC,CAAA;YACJ,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAA;YAEpB,6FAA6F;YAC7F,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,WAAW,CAAA;gBAC1D,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;oBACzC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;oBAClC,OAAO,EAAE,CAAA;gBACX,CAAC;qBAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;oBACrC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;oBAClC,OAAO,EAAE,CAAA;gBACX,CAAC;YACH,CAAC;YAED,gGAAgG;YAChG,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,OAAO,CAClE,CAAA;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,kFAAkF;oBAClF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CACrC,CAAA;wBACD,IAAI,QAAQ,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;4BAC3C,MAAM,UAAU,GACd,QAAQ,EAAE,EAAE;gCACZ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;4BAC5E,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gCACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;gCAC7B,GAAG,EAAE,KAAK;gCACV,MAAM,EAAE,QAAQ;gCAChB,MAAM,EAAE,MAAM;6BACf,CAAC,CAAA;4BACF,OAAO,EAAE,CAAA;wBACX,CAAC;oBACH,CAAC;oBACD,SAAQ;gBACV,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC7F,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;wBACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;wBAC7B,GAAG,EAAE,KAAK;wBACV,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,MAAM;qBACf,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;QAED,mGAAmG;QACnG,IAAI,OAAO,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU;gBACV,6FAA6F;gBAC7F,0FAA0F;gBAC1F,aAAa,EAAE,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;aAC3D,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IACvE,CAAC;IAEO,aAAa,CAAC,UAAkB;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACtE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,YAAY,UAAU,kCAAkC,CAAC,CAAA;QAC/F,OAAO,SAAS,CAAC,MAAM,CAAA;IACzB,CAAC;IAEO,WAAW,CAAC,MAAc;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,IAAI,CACV,SAAoB,EACpB,WAAiB,EACjB,IAAe,EACf,OAAgC;QAEhC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED,8FAA8F;IACtF,SAAS,CAAC,KAAkB;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,MAAM,GAAmB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,EAAE;YACF,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC,CAAA;QACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAC3D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,cAAc,EAAwB,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EACL,WAAW,EACX,KAAK,IAAI,QAAQ,GAKlB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,mBAAmB,EACnB,SAAS,GAGV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,mBAAmB,GAIpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GAKxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,WAAW,GAWZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,qBAAqB,EAAoC,MAAM,yBAAyB,CAAA;AACjG,OAAO,EAAE,eAAe,EAAyB,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAc,MAAM,iBAAiB,CAAA;AAqDlD;;;;GAIG;AACH,MAAM,OAAO,KAAK;IAgBG;IAfF,KAAK,CAAc;IACnB,KAAK,CAAY;IACjB,KAAK,CAAS;IACd,IAAI,CAAwB;IAC7C,0GAA0G;IAClG,iBAAiB,CAAoB;IAC7C;;;;;OAKG;IACK,YAAY,CAAwB;IAE5C,YACmB,KAAiB,EAClC,OAAqB,EAAE;QADN,UAAK,GAAL,KAAK,CAAY;QAGlC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAA;QAChC,kGAAkG;QAClG,iGAAiG;QACjG,uGAAuG;QACvG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChE,CAAC;IAED,wDAAwD;IACxD,KAAK;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe,CAAI,KAAyB,EAAE,EAAW,EAAE,OAAgC,EAAE;QAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAA;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAA;QACpC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;YAClC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAA;QAChC,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAyB;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,WAAW,CAAC,uHAAuH,CAAC,CAAA;QAChJ,CAAC;QACD,oGAAoG;QACpG,sGAAsG;QACtG,oGAAoG;QACpG,mGAAmG;QACnG,8BAA8B;QAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACrD,IAAI,MAAM,KAAK,SAAS;gBAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/F,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC3B,sGAAsG;QACtG,wGAAwG;QACxG,oGAAoG;QACpG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;QAC3E,OAAQ,SAAS,EAAE,WAAsB,IAAI,MAAM,CAAA;IACrD,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAc,EAAE,QAAiB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,QAAQ,KAAK,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,wBAAwB,MAAM,eAAe,CAAC,CAAA;YAC7F,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACxC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAA;YACrE,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,IAAI,WAAW,CACnB,2CAA2C,MAAM,WAAW,IAAI,CAAC,SAAS,aAAa,QAAQ,WAAW,MAAM,CAAC,SAAS,GAAG,CAC9H,CAAA;YACH,CAAC;YACD,gGAAgG;YAChG,iGAAiG;YACjG,6FAA6F;YAC7F,sGAAsG;YACtG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC3D,6FAA6F;YAC7F,KAAK,IAAI,MAAM,GAAuB,QAAQ,EAAE,MAAM,KAAK,SAAS,GAAI,CAAC;gBACvE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,MAAM,IAAI,WAAW,CAAC,wBAAwB,MAAM,6BAA6B,QAAQ,UAAU,CAAC,CAAA;gBACtG,CAAC;gBACD,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,MAAc,EAAE,KAAgB,EAAE,WAAoB;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9D,MAAM,IAAI,WAAW,CACnB,gCAAgC,MAAM,yEAAyE,CAChH,CAAA;QACH,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QACnE,CAAC,CAAA;QACD,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,MAAc,EAAE,KAAuB,EAAE,WAAoB;QACrE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QACpF,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;QAC7D,CAAC,CAAA;QACD,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,EAAc;QACpC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACtD,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAc,EAAE,EAAe;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,IAAI,EAAE,CAAC;YACT,2BAA2B,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAC3D,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,2BAA2B,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/D,OAAM;QACR,CAAC;QACD,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAA6B;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,WAAW,CAAC,kDAAkD,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,WAAW,CAAC,8CAA8C,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,WAAW,CAAC,8CAA8C,QAAQ,QAAQ,CAAC,CAAA;YACvF,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,WAAW,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,MAAM,KAAK,GAAgB;YACzB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE;SACpG,CAAA;QACD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE;oBACP,SAAS;oBACT,QAAQ;oBACR,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,UAAU;oBACf,MAAM,EAAE,YAAY,KAAK,CAAC,YAAY,WAAW;iBAClD;aACF,CAAC,CAAA;QACJ,CAAC;QACD,uGAAuG;QACvG,+FAA+F;QAC/F,wGAAwG;QACxG,oGAAoG;QACpG,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACvC,OAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,WAAsB,IAAI,UAAU,CAAA;IAC5D,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,UAAkB,EAAE,EAAW;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAChD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACtE,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAE7C,MAAM,KAAK,GAAgB;YACzB,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;SAC9F,CAAA;QACD,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;YAClC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAC1F,CAAA;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,CAAC,IAAI,CAAC;wBACT,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,OAAO,CAAC,EAAE;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE;qBAC/C,CAAC,CAAA;gBACJ,CAAC;gBACD,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;oBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBACxC,uFAAuF;oBACvF,oFAAoF;oBACpF,mFAAmF;oBACnF,yFAAyF;oBACzF,yFAAyF;oBACzF,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,KAAK,aAAa,CAAC,EAAE,CAAC;wBACvF,KAAK,CAAC,IAAI,CAAC;4BACT,SAAS,EAAE,MAAM;4BACjB,WAAW,EAAE,QAAQ;4BACrB,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE;yBACnD,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,aAAa,CAAC,UAAkB,EAAE,OAAgB;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACnE,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,UAAkB,EAAE,QAAyB,EAAE,WAAoB;QACrF,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;QACvF,CAAC,CAAA;QACD,gGAAgG;QAChG,mGAAmG;QACnG,wCAAwC;QACxC,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAc,EAAE,IAAU,EAAE,WAAwB,EAAE,MAAe;QAClF,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,WAAW,CACnB,mFAAmF,CACpF,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QACpF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE;YAChD,MAAM;YACN,IAAI;YACJ,WAAW;YACX,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,WAAW,CAAC,uBAAuB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,sGAAsG;QACtG,2EAA2E;QAC3E,MAAM,KAAK,GAAiB,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC5F,IAAI,cAA0C,CAAA;QAE9C,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,WAAW,CAAC,0DAA0D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACvG,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1E,MAAM,IAAI,WAAW,CAAC,oFAAoF,CAAC,CAAA;YAC7G,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,WAAW,CAAC,gGAAgG,CAAC,CAAA;YACzH,CAAC;YACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC5E,MAAM,IAAI,WAAW,CAAC,0DAA0D,KAAK,CAAC,cAAc,iCAAiC,CAAC,CAAA;YACxI,CAAC;YACD,cAAc,GAAG,QAAQ,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,IAAI,WAAW,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChE,CAAC;YACD,6FAA6F;YAC7F,gCAAgC;YAChC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,aAAa,CAAA;QACxD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC9B,gGAAgG;QAChG,kGAAkG;QAClG,uFAAuF;QACvF,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE;YACpE,SAAS;YACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF,CAAC,CAAA;QACF,OAAQ,SAAS,EAAE,WAAyB,IAAI,SAAS,CAAA;IAC3D,CAAC;IAED,cAAc,CAAC,SAAoB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,WAAW,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAA;QACnE,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,WAAW,SAAS,sBAAsB,CAAC,CAAA;QACpF,qGAAqG;QACrG,0GAA0G;QAC1G,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE;YAClD,SAAS;YACT,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,yBAAyB,CAAC,aAAqB,EAAE,KAAmB;QAClE,sGAAsG;QACtG,qGAAqG;QACrG,oCAAoC;QACpC,IAAI,KAAK,KAAK,gBAAgB,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACvJ,MAAM,IAAI,WAAW,CAAC,6FAA6F,CAAC,CAAA;QACtH,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAgB,EAAE,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,aAAa,KAAK,aAAa;gBAAE,SAAQ;YAC5G,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,KAAK,SAAS;gBAAE,SAAQ;YAC7F,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;QAChI,CAAC;QACD,kGAAkG;QAClG,gGAAgG;QAChG,sGAAsG;QACtG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACxD,CAAC;IAED,mCAAmC;IAEnC,8FAA8F;IAC9F,YAAY,CAAC,MAAc,EAAE,SAAiB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,WAAW,CAAC,qDAAqD,MAAM,QAAQ,CAAC,CAAA;QAC5F,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAChC,qGAAqG;QACrG,wGAAwG;QACxG,qFAAqF;QACrF,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;QACvG,OAAO,CAAE,SAAS,EAAE,OAAgD,EAAE,WAAW,CAAC,IAAI,WAAW,CAAA;IACnG,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,IAAkB,EAAE,OAAe;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAA;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,qGAAqG;QACrG,uGAAuG;QACvG,kGAAkG;QAClG,4FAA4F;QAC5F,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,4BAA4B,EAAE;YACpF,UAAU;YACV,WAAW;YACX,IAAI;YACJ,OAAO;SACR,CAAC,CAAA;QACF,OAAO,CAAE,SAAS,EAAE,OAA+C,EAAE,UAAU,CAAC,IAAI,UAAU,CAAA;IAChG,CAAC;IAED,SAAS,CACP,UAAkB,EAClB,GAAuE;QAEvE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;IAC7F,CAAC;IAED;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,KAAkC,EAAE,IAA2B,EAAE,WAAoB;QACtG,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,WAAW,CAAC,sBAAsB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,MAAM,SAAS,GAAc,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAA;QACpF,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,IAAI,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAA;QACvE,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;QACpF,CAAC,CAAA;QACD,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;;YACjE,IAAI,EAAE,CAAA;IACb,CAAC;IAED,KAAK,CAAC,WAAmB,EAAE,MAAc;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE;YACvD,WAAW;YACX,MAAM;YACN,EAAE,EAAE,IAAI,CAAC,KAAK;SACf,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,UAAU,CACR,OAAe,EACf,MAAuB,EACvB,GAAoD;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,4FAA4F;QAC5F,8FAA8F;QAC9F,iGAAiG;QACjG,iGAAiG;QACjG,6FAA6F;QAC7F,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,GAAW,EAAE,MAAc,EAAU,EAAE,CAC3F,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA,CAAC,2CAA2C;QAE/F,gGAAgG;QAChG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAA;QAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;gBAAE,SAAQ;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAkC,CAAA;YAC9C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;YACrD,IACE,OAAO,UAAU,KAAK,QAAQ;gBAC9B,OAAO,MAAM,KAAK,QAAQ;gBAC1B,OAAO,GAAG,KAAK,QAAQ;gBACvB,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,EACxC,CAAC;gBACD,SAAQ,CAAC,sDAAsD;YACjE,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QAClE,CAAC;QAED,sFAAsF;QACtF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqB,CAAA;QACjD,MAAM,KAAK,GAA+D,EAAE,CAAA;QAC5E,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACpD,sEAAsE;YACtE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;oBAAE,SAAQ;gBAChD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;gBAC1D,IAAI,CAAC,SAAS;oBAAE,SAAQ;gBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;gBAClG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA,CAAC,wCAAwC;YAC9E,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,MAAM,KAAK,GAAgB,EAAE,CAAA;QAC7B,KAAK,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;YACrC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM;gBAAE,SAAQ,CAAC,qCAAqC;YACjF,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;aACtF,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,KAAK,CAAC,MAAM,CAAA;IACrB,CAAC;IAED,uCAAuC;IAEvC,wFAAwF;IACxF,cAAc,CAAC,MAAc,EAAE,MAAkB;QAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QACpF,MAAM,UAAU,GAAuB;YACrC,MAAM;YACN,QAAQ,EAAE,MAAM;YAChB,aAAa,EAAE,mBAAmB;YAClC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;YACrB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;YACxB,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;SACjB,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;QACjE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,8CAA8C;IAE9C,iEAAiE;IACjE,MAAM,CAAC,OAAsB;QAC3B,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,MAAmB,EAAE,OAAsB;QAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,uCAAuC;IAEvC;;;;;OAKG;IACH,YAAY,CACV,OAAe,EACf,IAA6D;QAE7D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACnG,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;QAC/D,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAyB,EAAE,CACnE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QAEzE,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAClD,MAAM,SAAS,GACb,OAAO,EAAE,EAAE;YACX,IAAI,CAAC,UAAU,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU;gBAChD,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,KAAK,EAAE,CAAC,IAAI,CAAC;gBACb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC,CAAA;QACJ,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAA;QAEvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,EAAE,CAAA;YACpD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;YACpC,MAAM,KAAK,GACT,IAAI,EAAE,EAAE;gBACR,IAAI,CAAC,UAAU,CAAC;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,SAAS,EAAE,MAAM,CAAC,UAAU;oBAC5B,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,CAAC,IAAI,CAAC;iBACd,CAAC,CAAA;YACJ,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAA;YAEpB,6FAA6F;YAC7F,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,WAAW,CAAA;gBAC1D,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;oBACzC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;oBAClC,OAAO,EAAE,CAAA;gBACX,CAAC;qBAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;oBACrC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;oBAClC,OAAO,EAAE,CAAA;gBACX,CAAC;YACH,CAAC;YAED,gGAAgG;YAChG,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,OAAO,CAClE,CAAA;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,kFAAkF;oBAClF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACf,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CACrC,CAAA;wBACD,IAAI,QAAQ,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;4BAC3C,MAAM,UAAU,GACd,QAAQ,EAAE,EAAE;gCACZ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;4BAC5E,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;gCACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;gCAC7B,GAAG,EAAE,KAAK;gCACV,MAAM,EAAE,QAAQ;gCAChB,MAAM,EAAE,MAAM;6BACf,CAAC,CAAA;4BACF,OAAO,EAAE,CAAA;wBACX,CAAC;oBACH,CAAC;oBACD,SAAQ;gBACV,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC7F,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;wBACzB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;wBAC7B,GAAG,EAAE,KAAK;wBACV,MAAM,EAAE,QAAQ;wBAChB,MAAM,EAAE,MAAM;qBACf,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;QAED,mGAAmG;QACnG,IAAI,OAAO,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE;gBAC9C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU;gBACV,6FAA6F;gBAC7F,0FAA0F;gBAC1F,aAAa,EAAE,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;aAC3D,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IACvE,CAAC;IAEO,aAAa,CAAC,UAAkB;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,WAAW,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAA;QACtE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,YAAY,UAAU,kCAAkC,CAAC,CAAA;QAC/F,OAAO,SAAS,CAAC,MAAM,CAAA;IACzB,CAAC;IAEO,WAAW,CAAC,MAAc;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,IAAI,CACV,SAAoB,EACpB,WAAiB,EACjB,IAAe,EACf,OAAgC;QAEhC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,KAAkB;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QACvB,MAAM,MAAM,GAAmB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,EAAE;YACF,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC,CAAA;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACtF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACpD,CAAC;CACF"}
|
package/package.json
CHANGED