@cleocode/core 2026.6.5 → 2026.6.7

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.
Files changed (156) hide show
  1. package/dist/dispatch/contracts/output-contracts.d.ts +36 -0
  2. package/dist/dispatch/contracts/output-contracts.d.ts.map +1 -0
  3. package/dist/dispatch/contracts/output-contracts.js +38 -0
  4. package/dist/dispatch/contracts/output-contracts.js.map +1 -0
  5. package/dist/dispatch/describe-operation.d.ts +98 -0
  6. package/dist/dispatch/describe-operation.d.ts.map +1 -0
  7. package/dist/dispatch/describe-operation.js +101 -0
  8. package/dist/dispatch/describe-operation.js.map +1 -0
  9. package/dist/docs/export-document.js +933 -489
  10. package/dist/docs/export-document.js.map +3 -3
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +5 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/internal.d.ts +2 -0
  16. package/dist/internal.d.ts.map +1 -1
  17. package/dist/internal.js +6 -0
  18. package/dist/internal.js.map +1 -1
  19. package/dist/llm/api-mode.d.ts +64 -0
  20. package/dist/llm/api-mode.d.ts.map +1 -0
  21. package/dist/llm/api-mode.js +72 -0
  22. package/dist/llm/api-mode.js.map +1 -0
  23. package/dist/llm/api.d.ts.map +1 -1
  24. package/dist/llm/api.js +6 -37
  25. package/dist/llm/api.js.map +1 -1
  26. package/dist/llm/auxiliary-fallback.d.ts.map +1 -1
  27. package/dist/llm/auxiliary-fallback.js +24 -38
  28. package/dist/llm/auxiliary-fallback.js.map +1 -1
  29. package/dist/llm/index.d.ts +1 -3
  30. package/dist/llm/index.d.ts.map +1 -1
  31. package/dist/llm/index.js +1 -2
  32. package/dist/llm/index.js.map +1 -1
  33. package/dist/llm/model-metadata.d.ts +14 -0
  34. package/dist/llm/model-metadata.d.ts.map +1 -1
  35. package/dist/llm/model-metadata.js +23 -0
  36. package/dist/llm/model-metadata.js.map +1 -1
  37. package/dist/llm/model-runner.d.ts +127 -0
  38. package/dist/llm/model-runner.d.ts.map +1 -0
  39. package/dist/llm/model-runner.js +312 -0
  40. package/dist/llm/model-runner.js.map +1 -0
  41. package/dist/llm/plugin-facade.js +30084 -1748
  42. package/dist/llm/plugin-facade.js.map +3 -3
  43. package/dist/llm/provider-registry/builtin/anthropic.d.ts.map +1 -1
  44. package/dist/llm/provider-registry/builtin/anthropic.js +4 -0
  45. package/dist/llm/provider-registry/builtin/anthropic.js.map +1 -1
  46. package/dist/llm/provider-registry/builtin/gemini.d.ts.map +1 -1
  47. package/dist/llm/provider-registry/builtin/gemini.js +4 -0
  48. package/dist/llm/provider-registry/builtin/gemini.js.map +1 -1
  49. package/dist/llm/provider-registry/builtin/ollama.d.ts.map +1 -1
  50. package/dist/llm/provider-registry/builtin/ollama.js +4 -0
  51. package/dist/llm/provider-registry/builtin/ollama.js.map +1 -1
  52. package/dist/llm/provider-registry/builtin/openai.d.ts.map +1 -1
  53. package/dist/llm/provider-registry/builtin/openai.js +6 -0
  54. package/dist/llm/provider-registry/builtin/openai.js.map +1 -1
  55. package/dist/llm/role-executor.d.ts +6 -5
  56. package/dist/llm/role-executor.d.ts.map +1 -1
  57. package/dist/llm/role-executor.js +40 -86
  58. package/dist/llm/role-executor.js.map +1 -1
  59. package/dist/llm/role-resolver.d.ts +28 -1
  60. package/dist/llm/role-resolver.d.ts.map +1 -1
  61. package/dist/llm/role-resolver.js +10 -0
  62. package/dist/llm/role-resolver.js.map +1 -1
  63. package/dist/llm/session-factory.d.ts +4 -6
  64. package/dist/llm/session-factory.d.ts.map +1 -1
  65. package/dist/llm/session-factory.js +6 -72
  66. package/dist/llm/session-factory.js.map +1 -1
  67. package/dist/llm/system-resolver.d.ts.map +1 -1
  68. package/dist/llm/system-resolver.js +6 -0
  69. package/dist/llm/system-resolver.js.map +1 -1
  70. package/dist/llm/tool-loop.d.ts.map +1 -1
  71. package/dist/llm/tool-loop.js +9 -32
  72. package/dist/llm/tool-loop.js.map +1 -1
  73. package/dist/llm/transports/index.d.ts +5 -3
  74. package/dist/llm/transports/index.d.ts.map +1 -1
  75. package/dist/llm/transports/index.js +5 -2
  76. package/dist/llm/transports/index.js.map +1 -1
  77. package/dist/reconciliation/reconciliation-engine.d.ts.map +1 -1
  78. package/dist/reconciliation/reconciliation-engine.js +3 -0
  79. package/dist/reconciliation/reconciliation-engine.js.map +1 -1
  80. package/dist/release/plan.d.ts +27 -0
  81. package/dist/release/plan.d.ts.map +1 -1
  82. package/dist/release/plan.js +36 -2
  83. package/dist/release/plan.js.map +1 -1
  84. package/dist/release/provenance-fk.d.ts +74 -0
  85. package/dist/release/provenance-fk.d.ts.map +1 -0
  86. package/dist/release/provenance-fk.js +122 -0
  87. package/dist/release/provenance-fk.js.map +1 -0
  88. package/dist/release/reconcile.d.ts +10 -0
  89. package/dist/release/reconcile.d.ts.map +1 -1
  90. package/dist/release/reconcile.js +107 -2
  91. package/dist/release/reconcile.js.map +1 -1
  92. package/dist/sticky/convert.d.ts.map +1 -1
  93. package/dist/sticky/convert.js +3 -0
  94. package/dist/sticky/convert.js.map +1 -1
  95. package/dist/store/exodus/column-transforms.d.ts +275 -0
  96. package/dist/store/exodus/column-transforms.d.ts.map +1 -0
  97. package/dist/store/exodus/column-transforms.js +478 -0
  98. package/dist/store/exodus/column-transforms.js.map +1 -0
  99. package/dist/store/exodus/count-parity.d.ts +71 -0
  100. package/dist/store/exodus/count-parity.d.ts.map +1 -0
  101. package/dist/store/exodus/count-parity.js +124 -0
  102. package/dist/store/exodus/count-parity.js.map +1 -0
  103. package/dist/store/exodus/health.d.ts +70 -0
  104. package/dist/store/exodus/health.d.ts.map +1 -0
  105. package/dist/store/exodus/health.js +130 -0
  106. package/dist/store/exodus/health.js.map +1 -0
  107. package/dist/store/exodus/index.d.ts +3 -0
  108. package/dist/store/exodus/index.d.ts.map +1 -1
  109. package/dist/store/exodus/index.js +3 -0
  110. package/dist/store/exodus/index.js.map +1 -1
  111. package/dist/store/exodus/migrate.d.ts.map +1 -1
  112. package/dist/store/exodus/migrate.js +103 -298
  113. package/dist/store/exodus/migrate.js.map +1 -1
  114. package/dist/store/exodus/plan.d.ts +48 -4
  115. package/dist/store/exodus/plan.d.ts.map +1 -1
  116. package/dist/store/exodus/plan.js +67 -9
  117. package/dist/store/exodus/plan.js.map +1 -1
  118. package/dist/store/exodus/seal.d.ts +69 -0
  119. package/dist/store/exodus/seal.d.ts.map +1 -0
  120. package/dist/store/exodus/seal.js +73 -0
  121. package/dist/store/exodus/seal.js.map +1 -0
  122. package/dist/store/exodus/types.d.ts +24 -1
  123. package/dist/store/exodus/types.d.ts.map +1 -1
  124. package/dist/store/exodus/types.js.map +1 -1
  125. package/dist/store/exodus/verify-migration.d.ts.map +1 -1
  126. package/dist/store/exodus/verify-migration.js +109 -24
  127. package/dist/store/exodus/verify-migration.js.map +1 -1
  128. package/dist/tasks/add.d.ts +13 -0
  129. package/dist/tasks/add.d.ts.map +1 -1
  130. package/dist/tasks/add.js +50 -18
  131. package/dist/tasks/add.js.map +1 -1
  132. package/dist/tasks/archive.d.ts.map +1 -1
  133. package/dist/tasks/archive.js +12 -7
  134. package/dist/tasks/archive.js.map +1 -1
  135. package/dist/tasks/child-disposition.d.ts +66 -0
  136. package/dist/tasks/child-disposition.d.ts.map +1 -0
  137. package/dist/tasks/child-disposition.js +80 -0
  138. package/dist/tasks/child-disposition.js.map +1 -0
  139. package/dist/tasks/delete-preview.js +1 -1
  140. package/dist/tasks/delete-preview.js.map +1 -1
  141. package/dist/tasks/deletion-strategy.d.ts +21 -3
  142. package/dist/tasks/deletion-strategy.d.ts.map +1 -1
  143. package/dist/tasks/deletion-strategy.js +61 -15
  144. package/dist/tasks/deletion-strategy.js.map +1 -1
  145. package/dist/tasks/engine-wrap.d.ts +8 -0
  146. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  147. package/dist/tasks/engine-wrap.js +22 -9
  148. package/dist/tasks/engine-wrap.js.map +1 -1
  149. package/dist/tasks/update.d.ts.map +1 -1
  150. package/dist/tasks/update.js +12 -0
  151. package/dist/tasks/update.js.map +1 -1
  152. package/package.json +12 -12
  153. package/dist/llm/transports/openai.d.ts +0 -181
  154. package/dist/llm/transports/openai.d.ts.map +0 -1
  155. package/dist/llm/transports/openai.js +0 -645
  156. package/dist/llm/transports/openai.js.map +0 -1
@@ -111,12 +111,14 @@
111
111
  * agent_credentials/brain_release_links tables)
112
112
  * @saga T11242
113
113
  */
114
- import { copyFileSync, existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
114
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
115
115
  import { join } from 'node:path';
116
116
  import { getLogger } from '../../logger.js';
117
117
  import { getCleoVersion } from '../../scaffold/ensure-config.js';
118
118
  import { openDualScopeDbAtPath } from '../dual-scope-db.js';
119
119
  import { openCleoDbSnapshot } from '../open-cleo-db.js';
120
+ import { buildEpochToIsoExpr, detectIsoGlobColumns, ENUM_NORMALIZATIONS, enumNormExpr, NUMERIC_CLAMPS, numericClampExpr, typeDefaultLiteral, } from './column-transforms.js';
121
+ import { STAGING_HEADROOM_FACTOR } from './plan.js';
120
122
  import { resolveConsolidatedTableName, resolveTableTargetScope } from './table-name-map.js';
121
123
  import { EXODUS_TARGET_SCHEMA_VERSION } from './types.js';
122
124
  const log = getLogger('exodus-migrate');
@@ -252,6 +254,24 @@ function releaseAdvisoryLock(dbPath) {
252
254
  // Ignore — lock may already be gone
253
255
  }
254
256
  }
257
+ /**
258
+ * Return a file's size in bytes, or `0` when it cannot be stat'd (T11838).
259
+ *
260
+ * Used to decide whether a source exceeds the staging-copy skip threshold. A
261
+ * non-existent / unreadable source is treated as 0 bytes (it is filtered out of
262
+ * the copy loop separately), so it never trips the large-source skip branch.
263
+ *
264
+ * @param filePath - Absolute path to the file to stat.
265
+ * @returns The file size in bytes, or `0` on any stat failure.
266
+ */
267
+ function safeStatBytes(filePath) {
268
+ try {
269
+ return statSync(filePath).size;
270
+ }
271
+ catch {
272
+ return 0;
273
+ }
274
+ }
255
275
  // ---------------------------------------------------------------------------
256
276
  // Unique ATTACH alias per source DB (T11531)
257
277
  // ---------------------------------------------------------------------------
@@ -273,190 +293,6 @@ function makeAttachAlias(name, index) {
273
293
  // Include the index to guarantee uniqueness even if two names normalise identically.
274
294
  return `_src_${safe}_${index}`;
275
295
  }
276
- /**
277
- * Determine a safe SQL literal default for a NOT NULL column with no schema
278
- * default, given its SQLite type affinity.
279
- *
280
- * Used to coalesce NULL source values for target-only NOT NULL columns so that
281
- * rows are not silently dropped by `INSERT OR IGNORE` when a source value is
282
- * NULL (T11533 ROOT CAUSE 2 fix).
283
- *
284
- * @param colType - Raw `type` string from `PRAGMA table_info` (e.g. `"INTEGER"`,
285
- * `"TEXT"`, `"REAL"`, `"BLOB"`, or compound forms like `"text NOT NULL"`).
286
- * @returns A SQL literal string suitable for embedding in a `COALESCE()` call.
287
- */
288
- function typeDefaultLiteral(colType) {
289
- const upper = colType.toUpperCase();
290
- if (upper.includes('INT'))
291
- return '0';
292
- if (upper.includes('REAL') || upper.includes('FLOAT') || upper.includes('DOUBLE'))
293
- return '0.0';
294
- if (upper.includes('BLOB'))
295
- return "x''";
296
- // TEXT and any other affinity (SQLite permissive) → empty string
297
- return "''";
298
- }
299
- const ENUM_NORMALIZATIONS = new Map([
300
- // --- task_commits.link_source -------------------------------------------
301
- // 'commit-message' → 'commit-subject' (pre-T9506 legacy value)
302
- [
303
- 'tasks_task_commits.link_source',
304
- (src) => `CASE ${src} WHEN 'commit-message' THEN 'commit-subject' ELSE ${src} END`,
305
- ],
306
- // --- architecture_decisions.status (case + date-suffix normalization) ----
307
- // 'Accepted', 'ACCEPTED', 'approved', 'Accepted (2026-04-18)', … → 'accepted'
308
- // 'Proposed', 'PROPOSED' → 'proposed'
309
- // 'Superseded', 'SUPERSEDED' → 'superseded'
310
- [
311
- 'tasks_architecture_decisions.status',
312
- (src) => `CASE` +
313
- ` WHEN lower(${src}) = 'accepted' OR lower(${src}) LIKE 'accepted %' OR lower(${src}) = 'approved' THEN 'accepted'` +
314
- ` WHEN lower(${src}) = 'proposed' THEN 'proposed'` +
315
- ` WHEN lower(${src}) = 'superseded' THEN 'superseded'` +
316
- ` WHEN lower(${src}) = 'deprecated' THEN 'deprecated'` +
317
- ` ELSE ${src}` +
318
- ` END`,
319
- ],
320
- // --- brain_* enum normalizations REMOVED (T11647) -----------------------
321
- // The brain memory family now lands in the consolidated cleo.db in its LEGACY
322
- // RUNTIME shape — INTEGER epoch timestamps and, critically, NO SQL CHECK
323
- // constraints (the `text({ enum })` unions are enforced only at the
324
- // application layer, exactly as the runtime `drizzle-brain` tables are). With
325
- // no brain CHECK constraint to satisfy, exodus MUST copy every brain enum
326
- // value VERBATIM — coercing them (e.g. source_type 'observer-compressed'/
327
- // 'sleep-consolidation' → 'agent', type 'observation'/'proposal'/'pattern' →
328
- // nearest) would now be unnecessary data CORRUPTION, not a constraint fix.
329
- // The previous brain entries (brain_observations.{source_type,type},
330
- // brain_decisions.{confirmation_state,decision_category,confidence,outcome,
331
- // decided_by}) are therefore deleted. The non-brain entries below still apply
332
- // because those consolidated tables retain their CHECK constraints.
333
- // --- tasks_token_usage.transport (T11548 → REMOVED T11649) ---------------
334
- // NO normalization. 'mcp' is a first-class transport origin (MCP-gateway
335
- // requests) and is preserved verbatim. The consolidated CHECK enum was WIDENED
336
- // to include 'mcp' (canonical TOKEN_USAGE_TRANSPORTS SSoT + forward migration
337
- // 20260602000002_t11649-token-usage-transport-mcp), so the value lands without
338
- // coercion. The earlier 'mcp' → 'agent' mapping was a silent semantic alteration
339
- // of ~194 rows (count-preserving, NOT integrity-preserving) — see T11649.
340
- // (brain_decisions.{decision_category,confidence} normalizations removed —
341
- // T11647: brain target = runtime shape with no CHECK; copy values verbatim.)
342
- // --- tasks_commits.conventional_type (T11548 + T11578) -------------------
343
- // The consolidated CHECK enum is feat/fix/chore/docs/refactor/test/build/ci/
344
- // perf/revert/breaking. Real git history carries non-conventional subjects:
345
- // - 'style' → 'chore' (pre-T11548 mapping; no 'style' in enum).
346
- // - 'merge'/'release' → 'chore' (T11578): merge + release commits are
347
- // maintenance-class; the precise semantic is preserved by the dedicated
348
- // `is_merge_commit` / `is_release_commit` boolean columns, so collapsing
349
- // `conventional_type` to the maintenance catch-all 'chore' is lossless at
350
- // the row grain. Without this the 'merge'/'release' rows violate the CHECK,
351
- // `INSERT OR IGNORE` drops the WHOLE commits table, and the exodus-on-open
352
- // data-continuity gate aborts the cutover (T11578 CI regression).
353
- // - any OTHER out-of-enum value → 'chore' (defensive: future non-conventional
354
- // subjects must never re-break the zero-deficit gate; the boolean flags and
355
- // raw subject text remain the precise provenance).
356
- [
357
- 'tasks_commits.conventional_type',
358
- (src) => `CASE` +
359
- ` WHEN ${src} IS NULL THEN NULL` +
360
- ` WHEN ${src} IN ('feat', 'fix', 'chore', 'docs', 'refactor', 'test', 'build', 'ci', 'perf', 'revert', 'breaking') THEN ${src}` +
361
- ` ELSE 'chore'` +
362
- ` END`,
363
- ],
364
- // --- tasks_task_relations.relation_type (T11548) -------------------------
365
- // 'grouped-by' → 'groups' (enum: related/blocks/duplicates/absorbs/fixes/extends/
366
- // supersedes/groups). 4 rows.
367
- [
368
- 'tasks_task_relations.relation_type',
369
- (src) => `CASE ${src} WHEN 'grouped-by' THEN 'groups' ELSE ${src} END`,
370
- ],
371
- // --- tasks_lifecycle_stages.stage_name (T11548) --------------------------
372
- // Legacy camelCase / past-tense values → canonical snake_case stage names.
373
- // 'implemented' → 'implementation', 'qaPassed' → 'validation',
374
- // 'testsPassed' → 'testing'. 3 rows.
375
- [
376
- 'tasks_lifecycle_stages.stage_name',
377
- (src) => `CASE ${src}` +
378
- ` WHEN 'implemented' THEN 'implementation'` +
379
- ` WHEN 'qaPassed' THEN 'validation'` +
380
- ` WHEN 'testsPassed' THEN 'testing'` +
381
- ` ELSE ${src}` +
382
- ` END`,
383
- ],
384
- // --- tasks_architecture_decisions.gate_status (T11548) ------------------
385
- // 'passed (T5313 consensus)' → 'passed', 'approved' → 'passed'
386
- // (enum: pending/passed/failed/waived). 2 rows.
387
- [
388
- 'tasks_architecture_decisions.gate_status',
389
- (src) => `CASE` +
390
- ` WHEN ${src} LIKE 'passed%' THEN 'passed'` +
391
- ` WHEN ${src} = 'approved' THEN 'passed'` +
392
- ` ELSE ${src}` +
393
- ` END`,
394
- ],
395
- // --- tasks_evidence_ac_bindings.binding_type (T11548) -------------------
396
- // Values with a 'validator:...' prefix → 'direct'
397
- // (enum: direct/satisfies/coverage). 3 rows.
398
- // Strip the namespace prefix introduced before the enum was tightened.
399
- [
400
- 'tasks_evidence_ac_bindings.binding_type',
401
- (src) => `CASE` + ` WHEN ${src} LIKE 'validator:%' THEN 'direct'` + ` ELSE ${src}` + ` END`,
402
- ],
403
- // (brain_decisions.{outcome,decided_by} normalizations removed — T11647:
404
- // brain target = runtime shape with no CHECK; legacy values like 'accepted',
405
- // 'rejected', 'prime' now survive VERBATIM instead of being coerced.)
406
- ]);
407
- /**
408
- * Return a SQL CASE expression that normalises legacy enum values for `col` in
409
- * `targetTableName` to the canonical values accepted by the consolidated CHECK,
410
- * or return `null` when no normalization rule exists for this (table, column).
411
- *
412
- * @param targetTableName - Physical consolidated target table name.
413
- * @param col - Column name.
414
- * @param srcRef - SQL expression referencing the source column.
415
- * @returns A SQL CASE expression string, or `null` if no rule applies.
416
- */
417
- function enumNormExpr(targetTableName, col, srcRef) {
418
- const key = `${targetTableName}.${col}`;
419
- const fn = ENUM_NORMALIZATIONS.get(key);
420
- return fn ? fn(srcRef) : null;
421
- }
422
- const NUMERIC_CLAMPS = new Map([
423
- // --- brain_weight_history.delta_weight (T11782) -------------------------
424
- // +Inf → 1.0 (max canonical reinforcement), -Inf → -1.0 (max canonical
425
- // depression), NaN → 0.0 (no-op delta). Finite values pass through.
426
- [
427
- 'brain_weight_history.delta_weight',
428
- (src) => `CASE` +
429
- ` WHEN ${src} = 9e999 THEN 1.0` +
430
- ` WHEN ${src} = -9e999 THEN -1.0` +
431
- ` WHEN ${src} != ${src} THEN 0.0` +
432
- ` ELSE ${src}` +
433
- ` END`,
434
- ],
435
- ]);
436
- /**
437
- * Return a SQL CASE expression that clamps non-finite legacy REAL values for
438
- * `col` in `targetTableName` to a finite in-range value, or `null` when no
439
- * clamp rule exists for this (table, column).
440
- *
441
- * @param targetTableName - Physical consolidated target table name.
442
- * @param col - Column name.
443
- * @param srcRef - SQL expression referencing the source column.
444
- * @returns A SQL CASE expression string, or `null` if no rule applies.
445
- */
446
- function numericClampExpr(targetTableName, col, srcRef) {
447
- const key = `${targetTableName}.${col}`;
448
- const fn = NUMERIC_CLAMPS.get(key);
449
- return fn ? fn(srcRef) : null;
450
- }
451
- // ---------------------------------------------------------------------------
452
- // Epoch-to-ISO coercion layer (ROOT CAUSE 1 fix — T11546)
453
- // ---------------------------------------------------------------------------
454
- /**
455
- * Regex to detect ISO GLOB CHECK constraints in DDL SQL.
456
- * Matches: `CHECK ("colname" IS NULL OR "colname" GLOB '[0-9]...')`
457
- * Uses `\[0-9` to match the literal `[0-9` at the start of the GLOB pattern.
458
- */
459
- const ISO_CHECK_REGEX = /CHECK\s*\(\s*"([^"]+)"\s+IS\s+NULL\s+OR\s+"[^"]+"\s+GLOB\s+'\[0-9/gi;
460
296
  /**
461
297
  * Per-source-DB epoch unit lookup — used as a primary hint for the SQL magnitude
462
298
  * heuristic (T11549 coercion fix). When the magnitude heuristic is ambiguous
@@ -503,85 +339,6 @@ function epochUnitForSource(sourceName) {
503
339
  }
504
340
  return 'seconds';
505
341
  }
506
- /**
507
- * Magnitude threshold distinguishing epoch SECONDS from epoch MILLISECONDS.
508
- *
509
- * A Unix epoch value for years 2020–2100 is roughly 1.6e9 – 4.1e9 seconds,
510
- * or 1.6e12 – 4.1e12 milliseconds. The safe boundary is 1e11 (100 billion):
511
- * any value BELOW 1e11 is in seconds (even year 2100 seconds ≈ 4.1e9 < 1e11);
512
- * any value AT OR ABOVE 1e11 is in milliseconds (year 2020 ms ≈ 1.6e12 > 1e11).
513
- *
514
- * This constant is embedded directly in the generated SQL CASE expression so
515
- * it is evaluated per-row — each row's epoch is classified independently.
516
- */
517
- const EPOCH_SECONDS_THRESHOLD = 100_000_000_000; // 1e11
518
- /**
519
- * Build a SQL expression that converts an INTEGER epoch column to ISO-8601 TEXT,
520
- * automatically detecting whether the stored value is in seconds or milliseconds
521
- * using a magnitude heuristic (T11549 correctness fix).
522
- *
523
- * ## Heuristic
524
- *
525
- * A per-row CASE checks whether the column value is below {@link EPOCH_SECONDS_THRESHOLD}
526
- * (100 billion). If so, the value is treated as seconds and passed directly to
527
- * `strftime(..., 'unixepoch')`. If at or above the threshold, it is divided by
528
- * 1000.0 first (milliseconds → seconds).
529
- *
530
- * This replaces the previous per-source heuristic which failed when individual
531
- * columns within a source DB used a different epoch unit than the majority of that
532
- * source's columns. The specific bug: `nexus.user_profile.{first_observed_at,
533
- * last_reinforced_at}` stores SECONDS (value ≈ 1.78e9) but the nexus source was
534
- * labeled `milliseconds`, causing these values to be divided by 1000 and converted
535
- * to a 1970 date.
536
- *
537
- * ## NULL handling
538
- *
539
- * A NULL source value is preserved as NULL so it passes the `IS NULL` branch of
540
- * the ISO GLOB CHECK constraint on the target column.
541
- *
542
- * @param srcRef - SQL expression referencing the source column value.
543
- * @returns A SQL CASE expression producing an ISO-8601 TEXT timestamp.
544
- */
545
- function buildEpochToIsoExpr(srcRef) {
546
- return (`CASE` +
547
- ` WHEN ${srcRef} IS NULL THEN NULL` +
548
- ` WHEN ${srcRef} < ${EPOCH_SECONDS_THRESHOLD}` +
549
- ` THEN strftime('%Y-%m-%dT%H:%M:%fZ', ${srcRef}, 'unixepoch')` +
550
- ` ELSE strftime('%Y-%m-%dT%H:%M:%fZ', ${srcRef}/1000.0, 'unixepoch')` +
551
- ` END`);
552
- }
553
- /**
554
- * Parse the DDL for a given table from `sqlite_master` and return the set of
555
- * column names that have an ISO GLOB CHECK constraint.
556
- *
557
- * Reads the raw DDL text and uses a regex to extract column names appearing in
558
- * `CHECK ("colname" IS NULL OR "colname" GLOB '[0-9]...')` patterns. This is
559
- * robust to Drizzle's generated CHECK format (all CHECK constraints generated
560
- * by T11363 follow this exact pattern).
561
- *
562
- * @param db - Target DB with the consolidated schema.
563
- * @param tableName - Physical table name (consolidated, e.g. `conduit_messages`).
564
- * @param targetSchema - Schema name the target table lives in (`'main'`, or an
565
- * ATTACH alias for cross-scope routing — ADR-090 nexus graph residency, T11539).
566
- * @returns Set of column names that require ISO GLOB validation.
567
- */
568
- function detectIsoGlobColumns(db, tableName, targetSchema = 'main') {
569
- const escapedTable = tableName.replace(/'/g, "''");
570
- const row = db
571
- .prepare(`SELECT sql FROM "${targetSchema}".sqlite_master WHERE type='table' AND name='${escapedTable}'`)
572
- .get();
573
- if (!row?.sql)
574
- return new Set();
575
- const isoColumns = new Set();
576
- // Pattern: CHECK ("colname" IS NULL OR "colname" GLOB '[0-9]...')
577
- // The column name appears TWICE — we capture the first occurrence.
578
- // Use matchAll to avoid the biome no-assign-in-expressions rule.
579
- ISO_CHECK_REGEX.lastIndex = 0; // reset before reuse (global regex stateful)
580
- for (const match of row.sql.matchAll(ISO_CHECK_REGEX)) {
581
- isoColumns.add(match[1]);
582
- }
583
- return isoColumns;
584
- }
585
342
  /**
586
343
  * Build a SQL SELECT expression for a shared column, applying (in priority order):
587
344
  *
@@ -597,10 +354,10 @@ function detectIsoGlobColumns(db, tableName, targetSchema = 'main') {
597
354
  * target is NOT NULL with no schema default.
598
355
  * 5. **Plain column reference** otherwise.
599
356
  *
600
- * The epoch→ISO conversion uses `buildEpochToIsoExpr` which detects the epoch
601
- * scale (seconds vs milliseconds) per-row using a magnitude heuristic: values
602
- * below {@link EPOCH_SECONDS_THRESHOLD} (1e11) are treated as seconds; values at
603
- * or above are treated as milliseconds and divided by 1000.0 before conversion
357
+ * The epoch→ISO conversion uses `buildEpochToIsoExpr` (from `column-transforms.ts`)
358
+ * which detects the epoch scale (seconds vs milliseconds) per-row using a magnitude
359
+ * heuristic: values below `EPOCH_SECONDS_THRESHOLD` (1e11) are treated as seconds;
360
+ * values at or above are treated as milliseconds and divided by 1000.0 before conversion
604
361
  * (T11549 correctness fix — the previous per-source unit was incorrect for
605
362
  * individual columns that diverged from the source default, e.g.
606
363
  * `nexus.user_profile.first_observed_at` stores SECONDS even though most nexus
@@ -860,40 +617,65 @@ function copyTableFromAttached(targetNativeDb, srcNativeDb, attachAlias, legacyT
860
617
  // on CHECK constraint violations (dangerous — must detect and report).
861
618
  // `targetSchema` is `main` by default; for cross-scope nexus graph tables
862
619
  // (ADR-090 T11539) it is the ATTACH alias of the project consolidated cleo.db.
620
+ // Capture the target row count BEFORE the INSERT so a deficit can be classified
621
+ // precisely (T11835). A row that fails to copy because its PK already exists is
622
+ // accounted for by a pre-existing target row; only a shortfall those rows
623
+ // cannot explain is genuine constraint loss. (The prior code claimed it "did
624
+ // not know existingBefore" and hard-coded a CHECK-violation guess — which fired
625
+ // on every idempotent re-run against an already-populated target.)
626
+ const existingBeforeRow = targetNativeDb
627
+ .prepare(`SELECT COUNT(*) AS c FROM "${targetSchema}"."${targetTableName}"`)
628
+ .get();
629
+ const existingBefore = Number(existingBeforeRow?.c ?? 0);
863
630
  const stmt = targetNativeDb.prepare(`INSERT OR IGNORE INTO "${targetSchema}"."${targetTableName}" (${colList}) ` +
864
631
  `SELECT ${selectList} FROM "${attachAlias}"."${legacyTableName}"`);
865
632
  const result = stmt.run();
866
633
  const rowsCopied = result.changes ?? 0;
867
- // --- Step 7: No-swallow assertion (ROOT CAUSE 1b T11546) ---
868
- //
869
- // If rowsCopied < sourceCount, rows were silently dropped. This can happen for
870
- // two reasons:
871
- // a) PK/UNIQUE conflict on idempotent resume — EXPECTED and SAFE (the data
872
- // is already in the target from a previous run).
873
- // b) CHECK / NOT NULL / type constraint violation — DATA LOSS, must error.
634
+ // --- Step 7: No-swallow assertion idempotent dedup vs real loss (T11835) ---
874
635
  //
875
- // We distinguish these by counting existing target rows BEFORE the INSERT
876
- // and comparing: if (existingBefore + sourceCount) > rowsCopied + existingBefore,
877
- // some rows were dropped by constraints rather than deduplicated. However,
878
- // since we are mid-transaction and do not know existingBefore (prior sources
879
- // may have written to the same table), we take a simpler approach: if
880
- // rowsCopied == 0 AND sourceCount > 0, this is almost certainly a constraint
881
- // failure (a full-table dedup on resume would be extremely unusual). If
882
- // rowsCopied < sourceCount but > 0, it may be a partial dedup. We log a
883
- // warning for partial losses and a hard error for full (0-row) losses.
636
+ // When `rowsCopied < sourceCount`, INSERT OR IGNORE dropped rows for one of two
637
+ // VERY different reasons:
638
+ // a) PK/UNIQUE conflict the row is ALREADY in the target (a re-run against
639
+ // a populated cleo.db, or an earlier source in this same migration wrote
640
+ // the same key). EXPECTED, idempotent, ZERO loss.
641
+ // b) CHECK / NOT NULL / type / enum constraint the row was REJECTED.
642
+ // Genuine DATA LOSS that must be surfaced.
884
643
  //
885
- // The verifier (`runExodusVerify`) catches any remaining discrepancy post-hoc.
644
+ // `existingBefore` (target rows present before this INSERT) tells them apart
645
+ // precisely: a PK-deduped source row is accounted for by a pre-existing target
646
+ // row, so `existingBefore + rowsCopied` is the number of source rows provably
647
+ // present after the INSERT. If that is >= sourceCount every source row is
648
+ // present (idempotent — no loss, no error); a smaller value is the genuine
649
+ // shortfall. The verifier (`verifyMigration`) independently re-confirms via
650
+ // COUNT(*) parity.
886
651
  if (rowsCopied < sourceCount) {
887
- const dropped = sourceCount - rowsCopied;
888
- if (rowsCopied === 0) {
889
- // Full table drop almost certainly a CHECK or type constraint failure.
890
- const reason = `INSERT OR IGNORE dropped ALL ${sourceCount} rows from '${legacyTableName}'→'${targetTableName}' (rowsCopied=0, sourceCount=${sourceCount}). Likely a CHECK/type constraint violation check epoch coercion or enum values.`;
891
- log.error({ legacyTableName, targetTableName, sourceName, sourceCount, rowsCopied }, `Exodus: ${reason}`);
892
- return { rowsCopied: 0, skipped: false, reason };
652
+ const presentAccountedFor = existingBefore + rowsCopied;
653
+ if (presentAccountedFor >= sourceCount) {
654
+ // Idempotent: every source row is already in the target (PK dedup on a
655
+ // re-run / already-populated target). NOT data loss no error reason; the
656
+ // table is journaled `done` with the rows it actually needed to copy.
657
+ log.info({ legacyTableName, targetTableName, sourceName, sourceCount, rowsCopied, existingBefore }, `Exodus: '${legacyTableName}'→'${targetTableName}' ${sourceCount - rowsCopied} of ` +
658
+ `${sourceCount} row(s) already present in target (idempotent PK dedup), ${rowsCopied} ` +
659
+ `newly copied; no loss`);
660
+ return { rowsCopied, skipped: false };
893
661
  }
894
- // Partial drop could be UNIQUE dedup on resume or a real constraint drop.
895
- // Log as warning and let the verifier catch genuine losses.
896
- log.warn({ legacyTableName, targetTableName, sourceName, sourceCount, rowsCopied, dropped }, `Exodus: INSERT OR IGNORE dropped ${dropped}/${sourceCount} rows from '${legacyTableName}'→'${targetTableName}' — may be idempotent-resume dedup or a constraint violation; verify will confirm`);
662
+ // Genuine shortfall: more rows are missing than the pre-existing target rows
663
+ // can explain a CHECK / NOT NULL / type / enum constraint rejected them.
664
+ const missing = sourceCount - presentAccountedFor;
665
+ const reason = `INSERT OR IGNORE lost ${missing} of ${sourceCount} rows from ` +
666
+ `'${legacyTableName}'→'${targetTableName}' (rowsCopied=${rowsCopied}, ` +
667
+ `existingBefore=${existingBefore}) — a CHECK/NOT NULL/type/enum constraint rejected ` +
668
+ `them (NOT PK dedup); inspect epoch coercion + enum normalization. verify will confirm.`;
669
+ log.error({
670
+ legacyTableName,
671
+ targetTableName,
672
+ sourceName,
673
+ sourceCount,
674
+ rowsCopied,
675
+ existingBefore,
676
+ missing,
677
+ }, `Exodus: ${reason}`);
678
+ return { rowsCopied, skipped: false, reason };
897
679
  }
898
680
  return { rowsCopied, skipped: false };
899
681
  }
@@ -931,14 +713,21 @@ function checkSchemaVersion(journal, forceCrossVersion) {
931
713
  */
932
714
  export async function runExodusMigrate(plan, forceCrossVersion = false, onProgress) {
933
715
  const { sources, stagingDir, diskPreflight, projectDbPath, globalDbPath } = plan;
934
- // AC8: disk pre-flight
716
+ // AC8 (right-sized — T11838): disk pre-flight. The requirement is
717
+ // `1.2 × largestSource + consolidatedEstimate`, NOT 3× the SUM of all sources.
935
718
  if (!diskPreflight) {
719
+ const shortfall = Math.max(0, plan.requiredBytes - plan.availableBytes);
936
720
  return {
937
721
  ok: false,
938
722
  tables: [],
939
723
  stagingDir,
940
724
  backupPaths: [],
941
- error: `Insufficient disk space: need ≥3× source size (${plan.totalSourceBytes} bytes source, ${plan.availableBytes} bytes available). Free up space or use a different storage location.`,
725
+ error: `Insufficient disk space for exodus: need ≥${plan.requiredBytes} bytes ` +
726
+ `(≈${STAGING_HEADROOM_FACTOR}× largest source ${plan.largestSourceBytes} + ` +
727
+ `consolidated estimate ${plan.totalSourceBytes}), but only ${plan.availableBytes} bytes ` +
728
+ `are free on the target filesystem — ${shortfall} bytes short. ` +
729
+ `Free up at least ${shortfall} bytes (e.g. \`cleo backup prune\`, clear caches), ` +
730
+ `or move the .cleo/ directory to a larger volume, then retry.`,
942
731
  };
943
732
  }
944
733
  // Ensure staging directory exists (AC5)
@@ -986,12 +775,28 @@ export async function runExodusMigrate(plan, forceCrossVersion = false, onProgre
986
775
  let projectHandle = null;
987
776
  let globalHandle = null;
988
777
  try {
989
- // 1. Back up existing source DBs into staging dir and acquire advisory locks
778
+ // 1. Back up existing source DBs into staging dir and acquire advisory locks.
779
+ //
780
+ // T11838: the full `copyFileSync` staging backup is SKIPPED for sources
781
+ // larger than `plan.stagingCopyThresholdBytes`. On a successful cutover the
782
+ // legacy source is ARCHIVED (renamed into `_archive/`, not deleted — see
783
+ // archive.ts / T11777), so a redundant full-file backup of a multi-GB source
784
+ // only doubles its disk + I/O cost. The staging copy's sole remaining value
785
+ // is a rollback fallback if the migration crashes BEFORE archival; the
786
+ // consolidated target is written on a dedicated isolated handle and the
787
+ // source is never mutated in place, so skipping it for large sources cannot
788
+ // lose data. Small sources keep the cheap backup (common-case safety).
990
789
  for (const src of sources) {
991
790
  if (!existsSync(src.path))
992
791
  continue;
993
792
  const backupDest = join(stagingDir, `${src.name.replace(/[^a-z0-9-]/g, '_')}-backup.db`);
994
- if (!existsSync(backupDest)) {
793
+ const srcBytes = safeStatBytes(src.path);
794
+ const skipStagingCopy = srcBytes > plan.stagingCopyThresholdBytes;
795
+ if (skipStagingCopy) {
796
+ onProgress?.(`Skipping full staging copy of ${src.name} (${srcBytes} bytes > ` +
797
+ `${plan.stagingCopyThresholdBytes} threshold) — source is archived, not deleted, on success.`);
798
+ }
799
+ else if (!existsSync(backupDest)) {
995
800
  onProgress?.(`Backing up ${src.name} → staging dir…`);
996
801
  copyFileSync(src.path, backupDest);
997
802
  backupPaths.push(backupDest);
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgHG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAW5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,GAAG,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAExC,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,cAAuB,CAAC;AAErD,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG,qBAA8B,CAAC;AAExD;;GAEG;AACH,SAAS,gBAAgB,CAAC,EAAgB;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,GAAG,EAA0B,CAAC;QACrF,OAAO,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,EAAgB;IAClC,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN,8HAA8H,CAC/H;SACA,GAAG,EAA6B,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,UAAkB,EAAE,OAAsB;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;IACrC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACxE,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,UAAkB;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAkB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,UAAU,CAAC,WAAW,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CACN,EAAE,UAAU,EAAE,EACd,wFAAwF,CACzF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,EAAE,GAAG,EAAE,UAAU,EAAE,EACnB,iGAAiG,CAClG,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,aAAqB;IACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,cAAc,EAAE;QAC7B,mBAAmB,EAAE,4BAA4B;QACjD,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,aAAa;QACb,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,SAAS,QAAQ,CAAC,MAAc;IAC9B,OAAO,GAAG,MAAM,GAAG,oBAAoB,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,CAAC;QACH,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,IAAI,GAAG,IAAI;SACd,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,qFAAqF;IACrF,OAAO,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC;AACjC,CAAC;AAsBD;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAChG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,iEAAiE;IACjE,OAAO,IAAI,CAAC;AACd,CAAC;AAwFD,MAAM,mBAAmB,GAAqC,IAAI,GAAG,CAAC;IACpE,2EAA2E;IAC3E,+DAA+D;IAC/D;QACE,gCAAgC;QAChC,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,GAAG,qDAAqD,GAAG,MAAM;KAC3F;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,sCAAsC;IACtC,4CAA4C;IAC5C;QACE,qCAAqC;QACrC,CAAC,GAAW,EAAE,EAAE,CACd,MAAM;YACN,eAAe,GAAG,2BAA2B,GAAG,gCAAgC,GAAG,gCAAgC;YACnH,eAAe,GAAG,gCAAgC;YAClD,eAAe,GAAG,oCAAoC;YACtD,eAAe,GAAG,oCAAoC;YACtD,SAAS,GAAG,EAAE;YACd,MAAM;KACT;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,oEAAoE;IACpE,8EAA8E;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,qEAAqE;IACrE,4EAA4E;IAC5E,8EAA8E;IAC9E,oEAAoE;IAEpE,4EAA4E;IAC5E,yEAAyE;IACzE,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,iFAAiF;IACjF,0EAA0E;IAE1E,2EAA2E;IAC3E,8EAA8E;IAE9E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,gFAAgF;IAChF,+EAA+E;IAC/E,sEAAsE;IACtE,gFAAgF;IAChF,gFAAgF;IAChF,uDAAuD;IACvD;QACE,iCAAiC;QACjC,CAAC,GAAW,EAAE,EAAE,CACd,MAAM;YACN,SAAS,GAAG,oBAAoB;YAChC,SAAS,GAAG,8GAA8G,GAAG,EAAE;YAC/H,eAAe;YACf,MAAM;KACT;IAED,4EAA4E;IAC5E,kFAAkF;IAClF,8BAA8B;IAC9B;QACE,oCAAoC;QACpC,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,GAAG,yCAAyC,GAAG,MAAM;KAC/E;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,+DAA+D;IAC/D,qCAAqC;IACrC;QACE,mCAAmC;QACnC,CAAC,GAAW,EAAE,EAAE,CACd,QAAQ,GAAG,EAAE;YACb,2CAA2C;YAC3C,oCAAoC;YACpC,oCAAoC;YACpC,SAAS,GAAG,EAAE;YACd,MAAM;KACT;IAED,2EAA2E;IAC3E,+DAA+D;IAC/D,gDAAgD;IAChD;QACE,0CAA0C;QAC1C,CAAC,GAAW,EAAE,EAAE,CACd,MAAM;YACN,SAAS,GAAG,+BAA+B;YAC3C,SAAS,GAAG,6BAA6B;YACzC,SAAS,GAAG,EAAE;YACd,MAAM;KACT;IAED,2EAA2E;IAC3E,kDAAkD;IAClD,6CAA6C;IAC7C,uEAAuE;IACvE;QACE,yCAAyC;QACzC,CAAC,GAAW,EAAE,EAAE,CACd,MAAM,GAAG,SAAS,GAAG,mCAAmC,GAAG,SAAS,GAAG,EAAE,GAAG,MAAM;KACrF;IAED,yEAAyE;IACzE,8EAA8E;IAC9E,uEAAuE;CACxE,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,eAAuB,EAAE,GAAW,EAAE,MAAc;IACxE,MAAM,GAAG,GAAG,GAAG,eAAe,IAAI,GAAG,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAmCD,MAAM,cAAc,GAAwC,IAAI,GAAG,CAAC;IAClE,2EAA2E;IAC3E,uEAAuE;IACvE,oEAAoE;IACpE;QACE,mCAAmC;QACnC,CAAC,GAAW,EAAE,EAAE,CACd,MAAM;YACN,SAAS,GAAG,mBAAmB;YAC/B,SAAS,GAAG,qBAAqB;YACjC,SAAS,GAAG,OAAO,GAAG,WAAW;YACjC,SAAS,GAAG,EAAE;YACd,MAAM;KACT;CACF,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,eAAuB,EAAE,GAAW,EAAE,MAAc;IAC5E,MAAM,GAAG,GAAG,GAAG,eAAe,IAAI,GAAG,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,eAAe,GAAG,qEAAqE,CAAC;AAgB9F;;;;;;;;;;;;;;;GAeG;AACH,MAAM,kBAAkB,GAAmC,IAAI,GAAG,CAAC;IACjE,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,OAAO,EAAE,cAAc,CAAC;IACzB,CAAC,iBAAiB,EAAE,cAAc,CAAC;IACnC,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAClC,CAAC,YAAY,EAAE,SAAS,CAAC;IACzB,CAAC,OAAO,EAAE,cAAc,CAAC;IACzB,CAAC,OAAO,EAAE,cAAc,CAAC;IACzB,CAAC,QAAQ,EAAE,cAAc,CAAC;CAC3B,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACrC,wEAAwE;IACxE,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACjD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,uBAAuB,GAAG,eAAwB,CAAC,CAAC,OAAO;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,CACL,MAAM;QACN,SAAS,MAAM,oBAAoB;QACnC,SAAS,MAAM,MAAM,uBAAuB,EAAE;QAC9C,wCAAwC,MAAM,gBAAgB;QAC9D,wCAAwC,MAAM,uBAAuB;QACrE,MAAM,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,oBAAoB,CAC3B,EAAgB,EAChB,SAAiB,EACjB,YAAY,GAAG,MAAM;IAErB,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN,oBAAoB,YAAY,gDAAgD,YAAY,GAAG,CAChG;SACA,GAAG,EAA4B,CAAC;IAEnC,IAAI,CAAC,GAAG,EAAE,GAAG;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAEhC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,kEAAkE;IAClE,mEAAmE;IACnE,iEAAiE;IACjE,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,6CAA6C;IAC5E,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACtD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,SAAS,eAAe,CACtB,WAAmB,EACnB,WAAmB,EACnB,eAAuB,EACvB,GAAW,EACX,OAAe,EACf,OAAqE,EACrE,WAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,WAAW,MAAM,WAAW,MAAM,GAAG,GAAG,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,SAAS,CAAC;IAC9F,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;IAErF,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAC5C,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,kFAAkF;QAClF,gEAAgE;QAChE,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,YAAY,OAAO,aAAa,GAAG,GAAG,CAAC;QAChD,CAAC;QACD,OAAO,GAAG,OAAO,QAAQ,GAAG,GAAG,CAAC;IAClC,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,YAAY,SAAS,KAAK,UAAU,SAAS,GAAG,GAAG,CAAC;QAC7D,CAAC;QACD,OAAO,GAAG,SAAS,QAAQ,GAAG,GAAG,CAAC;IACpC,CAAC;IAED,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,wEAAwE;QACxE,6EAA6E;QAC7E,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,YAAY,QAAQ,KAAK,UAAU,SAAS,GAAG,GAAG,CAAC;QAC5D,CAAC;QACD,OAAO,GAAG,QAAQ,QAAQ,GAAG,GAAG,CAAC;IACnC,CAAC;IAED,qEAAqE;IACrE,iDAAiD;IACjD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,YAAY,MAAM,KAAK,UAAU,SAAS,GAAG,GAAG,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,SAAS,qBAAqB,CAC5B,cAA4B,EAC5B,WAAyB,EACzB,WAAmB,EACnB,eAAuB,EACvB,UAAkB,EAClB,YAAY,GAAG,MAAM;IAErB,4EAA4E;IAC5E,MAAM,UAAU,GAAG,4BAA4B,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE7E,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAC1D,uCAAuC,UAAU,CAAC,MAAM,EAAE,CAC3D,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC;IAE9C,qEAAqE;IACrE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,sBAAsB,eAAe,IAAI,CAAC,CAAC,GAAG,EAKlF,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEpE,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,8BAA8B,eAAe,GAAG,CAAC,CAAC,GAAG,EAElF,CAAC;IACT,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEhE,6DAA6D;IAC7D,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,cAAc;SAC7B,OAAO,CACN,qBAAqB,YAAY,gDAAgD,aAAa,GAAG,CAClG;SACA,GAAG,EAA6B,CAAC;IAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,uDAAuD;QACvD,MAAM,MAAM,GAAG,wBAAwB,eAAe,oCAAoC,eAAe,IAAI,CAAC;QAC9G,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,EAC3E,WAAW,MAAM,EAAE,CACpB,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAED,+EAA+E;IAC/E,MAAM,SAAS,GAAG,cAAc;SAC7B,OAAO,CAAC,WAAW,YAAY,iBAAiB,eAAe,IAAI,CAAC;SACpE,GAAG,EAAuF,CAAC;IAE9F,kEAAkE;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,0DAA0D;IAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,0CAA0C,eAAe,iBAAiB,eAAe,GAAG,CAAC;QAC5G,GAAG,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,WAAW,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,EAChF,gHAAgH,CACjH,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,EAAE;IACF,kFAAkF;IAClF,8EAA8E;IAC9E,wEAAwE;IACxE,mFAAmF;IACnF,mFAAmF;IACnF,gBAAgB;IAChB,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAErD,0EAA0E;IAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnE,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACzB,2EAA2E;QAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CACN;gBACE,eAAe;gBACf,eAAe;gBACf,UAAU;gBACV,WAAW;gBACX,aAAa;aACd,EACD,iEAAiE,WAAW,CAAC,MAAM,4BAA4B,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,EAAE;IACF,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAClD,mBAAmB,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,GAAG,EAAE,CAAC,CACrD,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,EAChE,iDAAiD,cAAc,CAAC,MAAM,qBAAqB,CAC5F,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,yCAAyC;IACzC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/C,cAAc,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,GAAG,EAAE,CAAC,CAChD,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,EAC7D,iDAAiD,WAAW,CAAC,MAAM,qBAAqB,CACzF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,EAAE;IACF,sEAAsE;IACtE,wFAAwF;IACxF,0EAA0E;IAC1E,yFAAyF;IACzF,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACpC,OAAO,eAAe,CACpB,WAAW,EACX,eAAe,EACf,eAAe,EACf,GAAG,EACH,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,EAAE;IACF,2EAA2E;IAC3E,iFAAiF;IACjF,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG;QACrB,GAAG,WAAW;QACd,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACjC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACxD,CAAC,CAAC;KACH,CAAC;IAEF,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7C,qEAAqE;IACrE,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CACjC,0BAA0B,YAAY,MAAM,eAAe,MAAM,OAAO,IAAI;QAC1E,UAAU,UAAU,UAAU,WAAW,MAAM,eAAe,GAAG,CACpE,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAI,MAAyC,CAAC,OAAO,IAAI,CAAC,CAAC;IAE3E,gEAAgE;IAChE,EAAE;IACF,+EAA+E;IAC/E,eAAe;IACf,6EAA6E;IAC7E,sDAAsD;IACtD,6EAA6E;IAC7E,EAAE;IACF,0EAA0E;IAC1E,kFAAkF;IAClF,2EAA2E;IAC3E,6EAA6E;IAC7E,sEAAsE;IACtE,6EAA6E;IAC7E,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,EAAE;IACF,+EAA+E;IAC/E,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;QACzC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,yEAAyE;YACzE,MAAM,MAAM,GAAG,gCAAgC,WAAW,eAAe,eAAe,MAAM,eAAe,gCAAgC,WAAW,oFAAoF,CAAC;YAC7O,GAAG,CAAC,KAAK,CACP,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,EACzE,WAAW,MAAM,EAAE,CACpB,CAAC;YACF,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACnD,CAAC;QACD,4EAA4E;QAC5E,4DAA4D;QAC5D,GAAG,CAAC,IAAI,CACN,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,EAClF,oCAAoC,OAAO,IAAI,WAAW,eAAe,eAAe,MAAM,eAAe,mFAAmF,CACjM,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,OAAsB,EAAE,iBAA0B;IAC5E,IAAI,OAAO,CAAC,mBAAmB,KAAK,4BAA4B,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,oCAAoC,OAAO,CAAC,mBAAmB,cAAc,4BAA4B,EAAE,CAAC;QACxH,IAAI,iBAAiB,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,6CAA6C,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,2CAA2C,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAgB,EAChB,iBAAiB,GAAG,KAAK,EACzB,UAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEjF,uBAAuB;IACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,EAAE;YACV,UAAU;YACV,WAAW,EAAE,EAAE;YACf,KAAK,EAAE,kDAAkD,IAAI,CAAC,gBAAgB,kBAAkB,IAAI,CAAC,cAAc,uEAAuE;SAC3L,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,8DAA8D;IAC9D,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM;QACR,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,EAAE;gBACV,UAAU;gBACV,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,kEAAkE;aAC1E,CAAC;QACJ,CAAC;QACD,UAAU,EAAE,CAAC,yCAAyC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,eAAe,GAAsB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,oBAAoB;IACpB,IAAI,aAAa,GAA6B,IAAI,CAAC;IACnD,IAAI,YAAY,GAA6B,IAAI,CAAC;IAElD,IAAI,CAAC;QACH,6EAA6E;QAC7E,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACzF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,UAAU,EAAE,CAAC,cAAc,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBACtD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;YACD,8BAA8B;YAC9B,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,iEAAiE;QACjE,UAAU,EAAE,CAAC,0EAA0E,CAAC,CAAC;QACzF,aAAa,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE;YAC/E,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,UAAU,EAAE,CAAC,yEAAyE,CAAC,CAAC;QACxF,YAAY,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5E,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,2EAA2E;QAC3E,SAAS,eAAe,CAAC,MAAuB;YAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,EAA6B,CAAC;YAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,MAAM,IAAI,OAAQ,MAAkC,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;gBACnF,OAAO,MAAsB,CAAC;YAChC,CAAC;YACD,wEAAwE;YACxE,IAAI,OAAQ,aAAoD,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC3F,OAAO,aAAwC,CAAC;YAClD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAEnD,uCAAuC;QACvC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9F,MAAM,YAAY,CAChB,SAAS,EACT,cAAc,EACd,aAAa,EACb,OAAO,EACP,UAAU,EACV,eAAe,EACf,UAAU,CACX,CAAC;QACF,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,6EAA6E;QAC7E,2EAA2E;QAC3E,MAAM,YAAY,CAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,eAAe,EACf,UAAU,EACV,aAAa,CACd,CAAC;QAEF,uBAAuB;QACvB,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChF,CAAC;YAAS,CAAC;QACT,6EAA6E;QAC7E,0EAA0E;QAC1E,8EAA8E;QAC9E,IAAI,CAAC;YACH,aAAa,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QACD,IAAI,CAAC;YACH,YAAY,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QACD,yBAAyB;QACzB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,KAAK,UAAU,YAAY,CACzB,KAAkB,EAClB,OAA6B,EAC7B,cAA4B,EAC5B,OAAsB,EACtB,UAAkB,EAClB,eAAkC,EAClC,UAAkC,EAClC,oBAA6B;IAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,UAAU,EAAE,CAAC,aAAa,KAAK,iBAAiB,CAAC,CAAC;IAElD,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,cAAc,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACjD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,0DAA0D,CAAC,CAAC;IAEhF,IAAI,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjD,0EAA0E;YAC1E,gEAAgE;YAChE,cAAc,CAAC,IAAI,CAAC,oBAAoB,WAAW,SAAS,WAAW,GAAG,CAAC,CAAC;YAC5E,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,WAAW,GAAG,CAAC,CAAC;YAE7D,0EAA0E;YAC1E,yEAAyE;YACzE,wEAAwE;YACxE,2EAA2E;YAC3E,0EAA0E;YAC1E,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,UAAU,GAAG,WAAW,WAAW,EAAE,CAAC;gBACtC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClE,cAAc,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,SAAS,UAAU,GAAG,CAAC,CAAC;gBAChF,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,qCAAqC,UAAU,GAAG,CAAC,CAAC;YACjF,CAAC;YAED,wEAAwE;YACxE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEnC,oEAAoE;gBACpE,mEAAmE;gBACnE,6BAA6B;gBAC7B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,IAAI,MAAM,GAAG,IAAI,CAAC;gBAElB,IAAI,CAAC;oBACH,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;wBAC/B,iCAAiC;wBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAC5D,CAAC;wBACF,IAAI,QAAQ,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;4BAChC,UAAU,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,IAAI,SAAS,4BAA4B,CAAC,CAAC;4BACvE,eAAe,CAAC,IAAI,CAAC;gCACnB,QAAQ,EAAE,GAAG,CAAC,IAAI;gCAClB,SAAS;gCACT,UAAU,EAAE,QAAQ,CAAC,UAAU;gCAC/B,OAAO,EAAE,KAAK;6BACf,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;wBAED,UAAU,EAAE,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;wBACtD,IAAI,UAAU,GAAG,CAAC,CAAC;wBACnB,IAAI,MAAM,GAAyB,MAAM,CAAC;wBAC1C,IAAI,QAA4B,CAAC;wBACjC,IAAI,OAAO,GAAG,KAAK,CAAC;wBAEpB,IAAI,CAAC;4BACH,gFAAgF;4BAChF,6EAA6E;4BAC7E,mFAAmF;4BACnF,EAAE;4BACF,oEAAoE;4BACpE,mEAAmE;4BACnE,iEAAiE;4BACjE,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;4BAC3E,MAAM,YAAY,GAAG,cAAc,KAAK,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;4BAClF,IAAI,cAAc,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;gCAC5C,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,WAAW,GAAG,CAAC,IAAI,eAAe,cAAc,SAAS;oCAC1E,kDAAkD,KAAK,wBAAwB,CAClF,CAAC;4BACJ,CAAC;4BACD,MAAM,UAAU,GAAG,qBAAqB,CACtC,cAAc,EACd,IAAI,CAAC,EAAE,EACP,WAAW,EACX,SAAS,EACT,GAAG,CAAC,IAAI,EACR,YAAY,CACb,CAAC;4BACF,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;4BACnC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gCACvB,MAAM,GAAG,SAAS,CAAC;gCACnB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;gCAC7B,OAAO,GAAG,IAAI,CAAC;4BACjB,CAAC;iCAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gCAC7B,+DAA+D;gCAC/D,mEAAmE;gCACnE,4DAA4D;gCAC5D,EAAE;gCACF,+DAA+D;gCAC/D,mEAAmE;gCACnE,8DAA8D;gCAC9D,gEAAgE;gCAChE,mEAAmE;gCACnE,iDAAiD;gCACjD,mEAAmE;gCACnE,kEAAkE;gCAClE,+DAA+D;gCAC/D,2CAA2C;gCAC3C,MAAM,GAAG,SAAS,CAAC;gCACnB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;gCAC7B,4FAA4F;4BAC9F,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,8BAA8B,CAAC,CAAC;4BACjF,MAAM,GAAG,SAAS,CAAC;4BACnB,QAAQ,GAAG,GAAG,CAAC;4BACf,OAAO,GAAG,IAAI,CAAC;wBACjB,CAAC;wBAED,uBAAuB;wBACvB,MAAM,KAAK,GAAsB;4BAC/B,QAAQ,EAAE,GAAG,CAAC,IAAI;4BAClB,SAAS;4BACT,MAAM;4BACN,UAAU;4BACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACzC,CAAC;wBAEF,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAC5D,CAAC;wBACF,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;4BACb,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC7B,CAAC;wBACD,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBAC7C,gEAAgE;wBAChE,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBAElC,eAAe,CAAC,IAAI,CAAC;4BACnB,QAAQ,EAAE,GAAG,CAAC,IAAI;4BAClB,SAAS;4BACT,UAAU;4BACV,OAAO;4BACP,MAAM,EAAE,QAAQ;yBACjB,CAAC,CAAC;oBACL,CAAC;oBAED,6CAA6C;oBAC7C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,CAAC;4BACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAClC,CAAC;wBAAC,MAAM,CAAC;4BACP,yBAAyB;wBAC3B,CAAC;oBACH,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,iDAAiD;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,wEAAwE;gBACxE,mDAAmD;gBACnD,IAAI,CAAC;oBACH,cAAc,CAAC,IAAI,CAAC,oBAAoB,WAAW,GAAG,CAAC,CAAC;oBACxD,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,WAAW,GAAG,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,iEAAiE;oBACjE,uEAAuE;oBACvE,GAAG,CAAC,IAAI,CACN,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EACnD,oDAAoD,CACrD,CAAC;gBACJ,CAAC;gBAED,uEAAuE;gBACvE,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,cAAc,CAAC,IAAI,CAAC,oBAAoB,UAAU,GAAG,CAAC,CAAC;wBACvD,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,kCAAkC,UAAU,GAAG,CAAC,CAAC;oBAC9E,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,GAAG,CAAC,IAAI,CACN,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAClD,gEAAgE,CACjE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,4BAA4B;IAChC,CAAC;YAAS,CAAC;QACT,gFAAgF;QAChF,6EAA6E;QAC7E,+EAA+E;QAC/E,wDAAwD;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAKpE,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EACnE,0CAA0C,OAAO,CAAC,MAAM,0FAA0F,CACnJ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,0DAA0D,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CACN,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EACxB,yGAAyG,CAC1G,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,kDAAkD,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/store/exodus/migrate.ts"],"names":[],"mappings":"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"}