@ashlr/hub 3.2.6 → 3.3.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.
Files changed (195) hide show
  1. package/CHANGELOG.md +290 -0
  2. package/README.md +4 -1
  3. package/dist/build-identity.json +2 -2
  4. package/dist/cli/activation.d.ts +41 -0
  5. package/dist/cli/activation.js +485 -0
  6. package/dist/cli/activation.js.map +1 -0
  7. package/dist/cli/audit.js +18 -0
  8. package/dist/cli/audit.js.map +1 -1
  9. package/dist/cli/backlog.d.ts +0 -5
  10. package/dist/cli/backlog.js +18 -0
  11. package/dist/cli/backlog.js.map +1 -1
  12. package/dist/cli/comms.js +20 -0
  13. package/dist/cli/comms.js.map +1 -1
  14. package/dist/cli/completions.d.ts +6 -1
  15. package/dist/cli/completions.js +37 -11
  16. package/dist/cli/completions.js.map +1 -1
  17. package/dist/cli/conductor-permit.d.ts +1 -0
  18. package/dist/cli/conductor-permit.js +122 -0
  19. package/dist/cli/conductor-permit.js.map +1 -0
  20. package/dist/cli/daemon.js +10 -3
  21. package/dist/cli/daemon.js.map +1 -1
  22. package/dist/cli/demo.d.ts +0 -27
  23. package/dist/cli/demo.js +17 -0
  24. package/dist/cli/demo.js.map +1 -1
  25. package/dist/cli/goals.d.ts +2 -0
  26. package/dist/cli/goals.js +90 -5
  27. package/dist/cli/goals.js.map +1 -1
  28. package/dist/cli/help.js +21 -3
  29. package/dist/cli/help.js.map +1 -1
  30. package/dist/cli/inbox.d.ts +14 -2
  31. package/dist/cli/inbox.js +137 -23
  32. package/dist/cli/inbox.js.map +1 -1
  33. package/dist/cli/index.d.ts +1 -0
  34. package/dist/cli/index.js +16 -0
  35. package/dist/cli/index.js.map +1 -1
  36. package/dist/cli/loop.js +26 -5
  37. package/dist/cli/loop.js.map +1 -1
  38. package/dist/cli/onboard.d.ts +0 -13
  39. package/dist/cli/onboard.js +20 -0
  40. package/dist/cli/onboard.js.map +1 -1
  41. package/dist/cli/resources.js +15 -0
  42. package/dist/cli/resources.js.map +1 -1
  43. package/dist/cli/run.js +1 -1
  44. package/dist/cli/run.js.map +1 -1
  45. package/dist/cli/sandbox.js +43 -0
  46. package/dist/cli/sandbox.js.map +1 -1
  47. package/dist/cli/tui.d.ts +0 -6
  48. package/dist/cli/tui.js +14 -0
  49. package/dist/cli/tui.js.map +1 -1
  50. package/dist/core/comms/elon-dialogue.js +16 -7
  51. package/dist/core/comms/elon-dialogue.js.map +1 -1
  52. package/dist/core/config.js +70 -0
  53. package/dist/core/config.js.map +1 -1
  54. package/dist/core/daemon/activation-permit.d.ts +357 -33
  55. package/dist/core/daemon/activation-permit.js +1585 -183
  56. package/dist/core/daemon/activation-permit.js.map +1 -1
  57. package/dist/core/daemon/goal-conductor-permit-operator.d.ts +75 -0
  58. package/dist/core/daemon/goal-conductor-permit-operator.js +842 -0
  59. package/dist/core/daemon/goal-conductor-permit-operator.js.map +1 -0
  60. package/dist/core/daemon/loop.d.ts +13 -1
  61. package/dist/core/daemon/loop.js +294 -29
  62. package/dist/core/daemon/loop.js.map +1 -1
  63. package/dist/core/daemon/runtime-activation-resident-start-protocol.d.ts +141 -0
  64. package/dist/core/daemon/runtime-activation-resident-start-protocol.js +462 -0
  65. package/dist/core/daemon/runtime-activation-resident-start-protocol.js.map +1 -0
  66. package/dist/core/daemon/runtime-activation-resident-start-runtime.d.ts +27 -0
  67. package/dist/core/daemon/runtime-activation-resident-start-runtime.js +28 -0
  68. package/dist/core/daemon/runtime-activation-resident-start-runtime.js.map +1 -0
  69. package/dist/core/daemon/runtime-activation-stopped-consumer.d.ts +139 -0
  70. package/dist/core/daemon/runtime-activation-stopped-consumer.js +995 -0
  71. package/dist/core/daemon/runtime-activation-stopped-consumer.js.map +1 -0
  72. package/dist/core/daemon/runtime-activation-stopped-runtime.d.ts +36 -0
  73. package/dist/core/daemon/runtime-activation-stopped-runtime.js +134 -0
  74. package/dist/core/daemon/runtime-activation-stopped-runtime.js.map +1 -0
  75. package/dist/core/daemon/runtime-activation-transaction.d.ts +41 -17
  76. package/dist/core/daemon/runtime-activation-transaction.js +80 -11
  77. package/dist/core/daemon/runtime-activation-transaction.js.map +1 -1
  78. package/dist/core/daemon/runtime-release-dependency-inventory.js +1 -0
  79. package/dist/core/daemon/runtime-release-dependency-inventory.js.map +1 -1
  80. package/dist/core/daemon/service-install-authority.d.ts +0 -4
  81. package/dist/core/daemon/service-install-authority.js +18 -3
  82. package/dist/core/daemon/service-install-authority.js.map +1 -1
  83. package/dist/core/dashboard.d.ts +10 -0
  84. package/dist/core/dashboard.js +103 -28
  85. package/dist/core/dashboard.js.map +1 -1
  86. package/dist/core/effective-config.js +7 -0
  87. package/dist/core/effective-config.js.map +1 -1
  88. package/dist/core/fleet/automerge-pass.js +33 -0
  89. package/dist/core/fleet/automerge-pass.js.map +1 -1
  90. package/dist/core/fleet/decisions-ledger.js +35 -12
  91. package/dist/core/fleet/decisions-ledger.js.map +1 -1
  92. package/dist/core/fleet/external-skill-git-capture.js +9 -1
  93. package/dist/core/fleet/external-skill-git-capture.js.map +1 -1
  94. package/dist/core/fleet/judge-decision-metadata.d.ts +8 -1
  95. package/dist/core/fleet/judge-decision-metadata.js +14 -1
  96. package/dist/core/fleet/judge-decision-metadata.js.map +1 -1
  97. package/dist/core/fleet/manager.d.ts +15 -1
  98. package/dist/core/fleet/manager.js +108 -30
  99. package/dist/core/fleet/manager.js.map +1 -1
  100. package/dist/core/fleet/post-merge-credit.d.ts +134 -9
  101. package/dist/core/fleet/post-merge-credit.js +350 -10
  102. package/dist/core/fleet/post-merge-credit.js.map +1 -1
  103. package/dist/core/fleet/quota.d.ts +74 -7
  104. package/dist/core/fleet/quota.js +688 -34
  105. package/dist/core/fleet/quota.js.map +1 -1
  106. package/dist/core/fleet/self-improve.d.ts +34 -1
  107. package/dist/core/fleet/self-improve.js +106 -1
  108. package/dist/core/fleet/self-improve.js.map +1 -1
  109. package/dist/core/fleet/skill-library.d.ts +21 -2
  110. package/dist/core/fleet/skill-library.js +54 -12
  111. package/dist/core/fleet/skill-library.js.map +1 -1
  112. package/dist/core/fleet/status.js +7 -5
  113. package/dist/core/fleet/status.js.map +1 -1
  114. package/dist/core/fleet/worked-ledger.d.ts +22 -0
  115. package/dist/core/fleet/worked-ledger.js +32 -0
  116. package/dist/core/fleet/worked-ledger.js.map +1 -1
  117. package/dist/core/foundry/automerge-scope-policy.d.ts +2 -2
  118. package/dist/core/foundry/automerge-scope-policy.js +9 -2
  119. package/dist/core/foundry/automerge-scope-policy.js.map +1 -1
  120. package/dist/core/goals/advance.js +34 -5
  121. package/dist/core/goals/advance.js.map +1 -1
  122. package/dist/core/goals/conductor-quota.d.ts +38 -0
  123. package/dist/core/goals/conductor-quota.js +110 -0
  124. package/dist/core/goals/conductor-quota.js.map +1 -0
  125. package/dist/core/goals/conductor-target.d.ts +24 -0
  126. package/dist/core/goals/conductor-target.js +35 -0
  127. package/dist/core/goals/conductor-target.js.map +1 -0
  128. package/dist/core/goals/conductor.d.ts +15 -0
  129. package/dist/core/goals/conductor.js +116 -9
  130. package/dist/core/goals/conductor.js.map +1 -1
  131. package/dist/core/goals/store.d.ts +29 -5
  132. package/dist/core/goals/store.js +197 -30
  133. package/dist/core/goals/store.js.map +1 -1
  134. package/dist/core/goals/timestamp-repair.d.ts +50 -0
  135. package/dist/core/goals/timestamp-repair.js +740 -0
  136. package/dist/core/goals/timestamp-repair.js.map +1 -0
  137. package/dist/core/inbox/apply.js +5 -2
  138. package/dist/core/inbox/apply.js.map +1 -1
  139. package/dist/core/inbox/merge.d.ts +94 -1
  140. package/dist/core/inbox/merge.js +349 -16
  141. package/dist/core/inbox/merge.js.map +1 -1
  142. package/dist/core/integrations/github.d.ts +2 -0
  143. package/dist/core/integrations/github.js +2 -1
  144. package/dist/core/integrations/github.js.map +1 -1
  145. package/dist/core/integrations/pulse-sync.js +13 -4
  146. package/dist/core/integrations/pulse-sync.js.map +1 -1
  147. package/dist/core/learn/reflect.d.ts +42 -4
  148. package/dist/core/learn/reflect.js +56 -5
  149. package/dist/core/learn/reflect.js.map +1 -1
  150. package/dist/core/run/best-of-n.d.ts +18 -0
  151. package/dist/core/run/best-of-n.js +163 -18
  152. package/dist/core/run/best-of-n.js.map +1 -1
  153. package/dist/core/run/engines.d.ts +8 -0
  154. package/dist/core/run/engines.js +9 -1
  155. package/dist/core/run/engines.js.map +1 -1
  156. package/dist/core/run/learned-router.js +28 -3
  157. package/dist/core/run/learned-router.js.map +1 -1
  158. package/dist/core/run/orchestrator.d.ts +7 -2
  159. package/dist/core/run/orchestrator.js +140 -60
  160. package/dist/core/run/orchestrator.js.map +1 -1
  161. package/dist/core/strategy/goal-planner.js +7 -1
  162. package/dist/core/strategy/goal-planner.js.map +1 -1
  163. package/dist/core/swarm/planner.d.ts +2 -2
  164. package/dist/core/swarm/planner.js +52 -5
  165. package/dist/core/swarm/planner.js.map +1 -1
  166. package/dist/core/swarm/rollback.d.ts +11 -0
  167. package/dist/core/swarm/rollback.js +54 -0
  168. package/dist/core/swarm/rollback.js.map +1 -1
  169. package/dist/core/swarm/runner.js +123 -11
  170. package/dist/core/swarm/runner.js.map +1 -1
  171. package/dist/core/types.d.ts +139 -1
  172. package/dist/core/types.js.map +1 -1
  173. package/dist/core/web/api.js +105 -7
  174. package/dist/core/web/api.js.map +1 -1
  175. package/dist/core/web/control.d.ts +20 -0
  176. package/dist/core/web/control.js +49 -34
  177. package/dist/core/web/control.js.map +1 -1
  178. package/dist/core/web/fleet-status-cache.d.ts +68 -0
  179. package/dist/core/web/fleet-status-cache.js +120 -0
  180. package/dist/core/web/fleet-status-cache.js.map +1 -0
  181. package/dist/core/web/public/next/assets/index-CY0U241s.css +1 -0
  182. package/dist/core/web/public/next/assets/index-Ct0mf8n4.js +69 -0
  183. package/dist/core/web/public/next/assets/index-Ct0mf8n4.js.map +1 -0
  184. package/dist/core/web/public/next/index.html +15 -0
  185. package/dist/release-dependency-inventory.json +1 -1
  186. package/dist/tui/app.js +2 -2
  187. package/dist/tui/app.js.map +1 -1
  188. package/dist/tui/render.d.ts +2 -0
  189. package/dist/tui/render.js +162 -4
  190. package/dist/tui/render.js.map +1 -1
  191. package/docs/RUNTIME_ACTIVATION_AUTHORITY.md +126 -21
  192. package/docs/contracts/CONTRACT-M521.md +102 -0
  193. package/package.json +20 -3
  194. package/schema/config.schema.json +800 -5
  195. package/node_modules/which/CHANGELOG.md +0 -166
@@ -8,7 +8,10 @@
8
8
  * Key design rules:
9
9
  * - Never throws (runManager wraps everything).
10
10
  * - On LLM parse failure: default to verdict 'review' — never auto-reject on
11
- * uncertainty.
11
+ * uncertainty. This fallback is tagged verdict.judgeFailure ('parse' |
12
+ * 'network') so it is never mistaken for — or counted as — a real
13
+ * considered judgment downstream (ledger judgeReasonCode, self-improve
14
+ * rejection learning, judgeNonShipCount/auto-archive).
12
15
  * - wouldMerge is advisory only (does not trigger any apply).
13
16
  * - applyRejects=false (default): pure shadow — no setStatus calls.
14
17
  * - applyRejects=true: setStatus(id,'rejected',...) only for noise/harmful.
@@ -202,17 +205,49 @@ function extractFullReasoning(raw) {
202
205
  function isJsonRecord(value) {
203
206
  return value !== null && typeof value === 'object' && !Array.isArray(value);
204
207
  }
208
+ // Case-insensitive field lookup. Some models (notably local/open-weight
209
+ // engines run through Ollama) emit rubric JSON with differently-cased keys
210
+ // ("Value", "VERDICT", ...). Exact-case `obj['value']` lookups silently miss
211
+ // those, clamp() defaults the score to 1, and a perfectly good response gets
212
+ // treated as malformed. Forensic evidence (real judge transcripts) showed
213
+ // this is a real, recurring failure mode, not a hypothetical one.
214
+ function ciField(obj, name) {
215
+ if (Object.prototype.hasOwnProperty.call(obj, name))
216
+ return obj[name];
217
+ const lower = name.toLowerCase();
218
+ for (const k of Object.keys(obj)) {
219
+ if (k.toLowerCase() === lower)
220
+ return obj[k];
221
+ }
222
+ return undefined;
223
+ }
224
+ function ciString(obj, name) {
225
+ const v = ciField(obj, name);
226
+ return typeof v === 'string' ? v : undefined;
227
+ }
205
228
  function isVerdictJson(value) {
206
229
  if (!isJsonRecord(value))
207
230
  return false;
208
- if (Object.prototype.hasOwnProperty.call(value, 'verdict'))
231
+ if (ciField(value, 'verdict') !== undefined)
209
232
  return true;
210
233
  // Single score-like fields appear in provider telemetry envelopes. Treat a
211
234
  // score-only object as verdict JSON only when it carries the complete rubric.
212
- return (Object.prototype.hasOwnProperty.call(value, 'value') &&
213
- Object.prototype.hasOwnProperty.call(value, 'correctness') &&
214
- Object.prototype.hasOwnProperty.call(value, 'scope') &&
215
- Object.prototype.hasOwnProperty.call(value, 'alignment'));
235
+ return (ciField(value, 'value') !== undefined &&
236
+ ciField(value, 'correctness') !== undefined &&
237
+ ciField(value, 'scope') !== undefined &&
238
+ ciField(value, 'alignment') !== undefined);
239
+ }
240
+ // Tolerates the single most common LLM JSON defect — a trailing comma before
241
+ // a closing brace/bracket — after a strict JSON.parse fails. Still throws on
242
+ // anything else malformed; callers already handle that via try/catch.
243
+ function parseJsonLenient(text) {
244
+ try {
245
+ return JSON.parse(text);
246
+ }
247
+ catch {
248
+ const cleaned = text.replace(/,(\s*[}\]])/g, '$1');
249
+ return JSON.parse(cleaned);
250
+ }
216
251
  }
217
252
  function addTextCandidate(candidates, text) {
218
253
  if (typeof text === 'string' && text.trim().length > 0)
@@ -295,7 +330,7 @@ function normaliseJudgeTextCandidates(raw) {
295
330
  function extractJson(raw) {
296
331
  // Try direct parse first.
297
332
  try {
298
- const parsed = JSON.parse(raw.trim());
333
+ const parsed = parseJsonLenient(raw.trim());
299
334
  if (isVerdictJson(parsed))
300
335
  return parsed;
301
336
  }
@@ -304,7 +339,7 @@ function extractJson(raw) {
304
339
  const fenceMatch = raw.match(/```(?:json)?\s*([\s\S]*?)```/);
305
340
  if (fenceMatch?.[1]) {
306
341
  try {
307
- const parsed = JSON.parse(fenceMatch[1].trim());
342
+ const parsed = parseJsonLenient(fenceMatch[1].trim());
308
343
  if (isVerdictJson(parsed))
309
344
  return parsed;
310
345
  }
@@ -319,7 +354,7 @@ function extractJson(raw) {
319
354
  const allBraceMatches = [...raw.matchAll(/\{[^{}]*(?:\{[^{}]*\}[^{}]*)*/g)];
320
355
  for (let i = allBraceMatches.length - 1; i >= 0; i--) {
321
356
  try {
322
- const parsed = JSON.parse(allBraceMatches[i][0]);
357
+ const parsed = parseJsonLenient(allBraceMatches[i][0]);
323
358
  if (isVerdictJson(parsed))
324
359
  return parsed;
325
360
  }
@@ -343,7 +378,7 @@ function extractJson(raw) {
343
378
  }
344
379
  if (end !== -1) {
345
380
  try {
346
- const parsed = JSON.parse(raw.slice(start, end + 1));
381
+ const parsed = parseJsonLenient(raw.slice(start, end + 1));
347
382
  if (isVerdictJson(parsed))
348
383
  return parsed;
349
384
  }
@@ -433,7 +468,13 @@ function autoMergeBounds(cfg) {
433
468
  * On any parse/network failure returns a safe 'review' verdict.
434
469
  */
435
470
  export async function judgeProposal(proposal, cfg, client, options = {}) {
436
- const fallback = () => {
471
+ // A fallback verdict is NEVER a real judgment — it is what gets returned
472
+ // when we couldn't get one. It stays fail-closed (verdict:'review',
473
+ // wouldMerge:false, never auto-rejects) but is tagged via `judgeFailure` so
474
+ // downstream consumers (ledger, self-improve, auto-archive counters) can
475
+ // tell it apart from an actual considered 'review' verdict instead of it
476
+ // silently masquerading as one.
477
+ const fallback = (kind = 'parse') => {
437
478
  const verdict = {
438
479
  proposalId: proposal.id,
439
480
  verdict: 'review',
@@ -441,8 +482,11 @@ export async function judgeProposal(proposal, cfg, client, options = {}) {
441
482
  correctness: 3,
442
483
  scope: 3,
443
484
  alignment: 3,
444
- rationale: 'parse failure — defaulting to review',
485
+ rationale: kind === 'network'
486
+ ? 'judge call failed (network/API error) — held for human review; NOT a considered judgment'
487
+ : 'judge response unparseable after retry — held for human review; NOT a considered judgment',
445
488
  wouldMerge: false,
489
+ judgeFailure: kind,
446
490
  };
447
491
  return verdict;
448
492
  };
@@ -463,7 +507,7 @@ export async function judgeProposal(proposal, cfg, client, options = {}) {
463
507
  }
464
508
  catch {
465
509
  throwIfJudgeCancelled(options.signal);
466
- return fallback();
510
+ return fallback('network');
467
511
  }
468
512
  const parsed = parseJudgeResponse(raw);
469
513
  let obj = parsed.obj;
@@ -498,20 +542,21 @@ export async function judgeProposal(proposal, cfg, client, options = {}) {
498
542
  };
499
543
  const rVerdictM = rprose.match(/VERDICT\s*[:=]\s*(ship|review|noise|harmful)\b/i);
500
544
  if (!obj)
501
- return fallback();
502
- const jsonVerdict = typeof obj['verdict'] === 'string' ? obj['verdict'] : undefined;
545
+ return fallback('parse');
546
+ const jsonVerdict = ciString(obj, 'verdict');
503
547
  const reasoningVerdict = rVerdictM?.[1]?.toLowerCase();
504
548
  const verdict = jsonVerdict
505
549
  ? (VALID_VERDICTS.has(jsonVerdict.toLowerCase())
506
550
  ? jsonVerdict.toLowerCase()
507
551
  : normaliseVerdict(jsonVerdict))
508
552
  : (reasoningVerdict ?? 'review');
509
- const value = clamp(obj['value'] ?? rNum('VALUE'), 1, 5);
510
- const correctness = clamp(obj['correctness'] ?? rNum('CORRECTNESS'), 1, 5);
511
- const scope = clamp(obj['scope'] ?? rNum('SCOPE'), 1, 5);
512
- const alignment = clamp(obj['alignment'] ?? rNum('ALIGNMENT'), 1, 5);
513
- const rationale = typeof obj['rationale'] === 'string' && obj['rationale'].length > 0
514
- ? obj['rationale'].slice(0, 200)
553
+ const value = clamp(ciField(obj, 'value') ?? rNum('VALUE'), 1, 5);
554
+ const correctness = clamp(ciField(obj, 'correctness') ?? rNum('CORRECTNESS'), 1, 5);
555
+ const scope = clamp(ciField(obj, 'scope') ?? rNum('SCOPE'), 1, 5);
556
+ const alignment = clamp(ciField(obj, 'alignment') ?? rNum('ALIGNMENT'), 1, 5);
557
+ const rationaleField = ciString(obj, 'rationale');
558
+ const rationale = rationaleField && rationaleField.length > 0
559
+ ? rationaleField.slice(0, 200)
515
560
  : 'no rationale provided';
516
561
  // wouldMerge is advisory only. The merge gate independently re-checks
517
562
  // verification, provenance, risk, scope, enrollment, policy, and kill switch.
@@ -557,9 +602,11 @@ export async function judgeProposal(proposal, cfg, client, options = {}) {
557
602
  wouldMerge,
558
603
  };
559
604
  const completeStructuredRubric = parseSource === 'json' &&
560
- typeof obj['verdict'] === 'string' && VALID_VERDICTS.has(obj['verdict'].toLowerCase()) &&
561
- ['value', 'correctness', 'scope', 'alignment'].every((field) => typeof obj[field] === 'number' && Number.isInteger(obj[field]) &&
562
- Number(obj[field]) >= 1 && Number(obj[field]) <= 5);
605
+ !!jsonVerdict && VALID_VERDICTS.has(jsonVerdict.toLowerCase()) &&
606
+ ['value', 'correctness', 'scope', 'alignment'].every((field) => {
607
+ const v = ciField(obj, field);
608
+ return typeof v === 'number' && Number.isInteger(v) && v >= 1 && v <= 5;
609
+ });
563
610
  const semanticEvents = completeStructuredRubric
564
611
  ? safeManagerSemanticEvents(result, client.model)
565
612
  : undefined;
@@ -915,11 +962,6 @@ export function resolveFrontierJudgeClient(cfg, opts = {}) {
915
962
  return (reviewerFamily === 'claude' || reviewerFamily === 'openai') &&
916
963
  evaluateReviewerIndependence(opts.producerModel, resolved.model).independent;
917
964
  };
918
- const configuredEngine = cfg.foundry?.['managerJudgeEngine'];
919
- if (configuredEngine !== undefined && configuredEngine !== 'auto') {
920
- const configured = resolve(cfg);
921
- return eligible(configured) ? configured : null;
922
- }
923
965
  const withEngine = (engine) => ({
924
966
  ...cfg,
925
967
  foundry: {
@@ -928,6 +970,23 @@ export function resolveFrontierJudgeClient(cfg, opts = {}) {
928
970
  },
929
971
  });
930
972
  const producerFamily = producerModelFamily(opts.producerModel);
973
+ // `cfg` always goes first — this is where an explicit cfg.foundry.managerJudgeEngine
974
+ // (or 'auto') is actually honoured, via resolveJudgeClient reading it internally.
975
+ // The opposite-family candidate(s) are the fallback when that first try isn't
976
+ // independent of the producer.
977
+ //
978
+ // Previously an EXPLICIT managerJudgeEngine short-circuited straight to null
979
+ // when it wasn't independent, instead of falling through to this same search.
980
+ // That silently and PERMANENTLY starved independence-required judging for an
981
+ // entire producer family whenever the operator's configured judge engine
982
+ // matched it (e.g. managerJudgeEngine='codex' can never judge codex-produced
983
+ // proposals) — those proposals never receive a 'judged' ledger entry, so
984
+ // Gate 4b criterion 1 / Gate 7 (src/core/inbox/merge.ts) could never find
985
+ // one and the proposal sat pending forever. Falling through here does NOT
986
+ // weaken the independence bar (`eligible` above is unchanged, still
987
+ // required) — it only widens which engine may be tried to satisfy it when
988
+ // the operator's specific pick cannot, exactly mirroring what 'auto' already
989
+ // did.
931
990
  const candidates = producerFamily === 'claude'
932
991
  ? [cfg, withEngine('codex')]
933
992
  : producerFamily === 'openai'
@@ -1017,6 +1076,17 @@ function buildConcerns(verdicts) {
1017
1076
  if (lowValue.length > 0) {
1018
1077
  concerns.push(`${lowValue.length} proposal(s) scored value ≤2 — low return on inference spend.`);
1019
1078
  }
1079
+ // Judge failures are NOT considered verdicts — surface them loudly so they
1080
+ // never get silently read as genuine 'review' judgments by an operator
1081
+ // skimming the report.
1082
+ const parseFailures = verdicts.filter((v) => v.judgeFailure === 'parse');
1083
+ if (parseFailures.length > 0) {
1084
+ concerns.push(`${parseFailures.length} proposal(s) got an UNPARSEABLE judge response (not a real judgment, held for human review): ${parseFailures.map((v) => v.proposalId).join(', ')}`);
1085
+ }
1086
+ const networkFailures = verdicts.filter((v) => v.judgeFailure === 'network');
1087
+ if (networkFailures.length > 0) {
1088
+ concerns.push(`${networkFailures.length} proposal(s) hit a judge network/API error (not a real judgment, held for human review): ${networkFailures.map((v) => v.proposalId).join(', ')}`);
1089
+ }
1020
1090
  return concerns;
1021
1091
  }
1022
1092
  // ---------------------------------------------------------------------------
@@ -1198,7 +1268,15 @@ export async function runManager(cfg, opts = {}) {
1198
1268
  ...(judgeStats?.tokensOut !== undefined ? { tokensOut: judgeStats.tokensOut } : {}),
1199
1269
  verdict: verdict.verdict,
1200
1270
  ...(!judgeClient ? { reason: 'manager-judge-unavailable' } : {}),
1201
- detail: verdict.wouldMerge && reviewerIndependent ? 'would-merge' : '',
1271
+ // A judgeFailure fallback is NOT a considered verdict — tag it with a
1272
+ // distinct, finite detail sentinel (never free text) so the ledger's
1273
+ // judgeReasonCode is 'judge-parse-failure' / 'judge-network-failure'
1274
+ // instead of silently indistinguishable from a real 'judge-review'.
1275
+ detail: verdict.judgeFailure === 'parse'
1276
+ ? 'judge-parse-failure'
1277
+ : verdict.judgeFailure === 'network'
1278
+ ? 'judge-network-failure'
1279
+ : (verdict.wouldMerge && reviewerIndependent ? 'would-merge' : ''),
1202
1280
  ...(verdict.semanticEvents ? { semanticEvents: verdict.semanticEvents } : {}),
1203
1281
  ...(judgeAttestation !== undefined ? { judgeAttestation } : {}),
1204
1282
  ...(judgeAttestation !== undefined
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/core/fleet/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,4BAA4B,CAAC;AAgCpC,MAAM,UAAU,qBAAqB,CACnC,OAC4F,EAC5F,KAAK,GAAG,SAAS;IAEjB,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,QAAiB;QACvB,SAAS,EAAE,yBAAkC;QAC7C,UAAU,EAAE,eAAwB;QACpC,MAAM,EAAE,WAAoB;KAC7B,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU;QAChE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,mBAAmB,OAAO,CAAC,OAAO,EAAE;YACvG,aAAa,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE;YAClG,QAAQ,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS;gBACrC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO;oBAC3B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,QAAQ;SACN,CAAC;IACf,OAAO,yBAAyB,CAAC;QAC/B,UAAU;QACV,YAAY,EAAE,SAAS;QACvB,mBAAmB;QACnB,eAAe,EAAE,qBAAqB;KACvC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAoD,EACpD,KAAc;IAEd,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAmBD,SAAS,gBAAgB,CAAC,MAAmB;IAC3C,IAAI,MAAM,CAAC,MAAM,YAAY,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC3D,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,sBAAsB,CAC3B,CAAC;IACF,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoB;IACjD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAwBD,kDAAkD;AAClD,SAAS,YAAY,CAAC,IAAwB;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,WAAW,CAAC;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,wHAAwH;IAC3I,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,GAAG,wBAAwB,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yIA6CoH,CAAC;AAC1I,MAAM,kBAAkB,GAAG,4NAA4N,CAAC;AAExP;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAwB;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACvD,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;aAC/B,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;aAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;aACrC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB,EAAE,OAA0D;IACtG,MAAM,aAAa,GAAG,OAAO;QAC3B,CAAC,CAAC,wBAAwB,OAAO,CAAC,SAAS,sBAAsB,OAAO,CAAC,UAAU,IAAI;QACvF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;;SAEA,QAAQ,CAAC,KAAK;WACZ,QAAQ,CAAC,OAAO;QACnB,QAAQ,CAAC,IAAI;UACX,QAAQ,CAAC,WAAW,IAAI,SAAS,GAAG,aAAa;;EAEzD,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,6EAA6E;AAE7E;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7C,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAID,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,2EAA2E;IAC3E,8EAA8E;IAC9E,OAAO,CACL,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAoB,EAAE,IAAa;IAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAE5C,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,IACE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ;QACjC,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,CAAC,EACnF,CAAC;QACD,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAE5C,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QACjF,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAW;IAC/C,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,yBAAyB;IACzB,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,gFAAgF;IAChF,4EAA4E;IAC5E,oEAAoE;IACpE,iDAAiD;IACjD,MAAM,eAAe,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC5E,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,mDAAmD;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACvB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAAC,GAAG,GAAG,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;YAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,aAAa,CAAC,MAAM,CAAC;oBAAE,OAAO,MAAM,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,KAAa,EAAiB,EAAE;QAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,KAAK,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC/F,IACE,KAAK,KAAK,IAAI;QACd,WAAW,KAAK,IAAI;QACpB,KAAK,KAAK,IAAI;QACd,SAAS,KAAK,IAAI;QAClB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAA+B,CAAC;IAC3E,MAAM,SAAS,GACb,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;QAC3B,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAC5D,8BAA8B,CAAC;IAEjC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IAKrC,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAE3F,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG;YAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,GAAG;YAAE,OAAO;gBACd,GAAG;gBACH,aAAa,EAAE,aAAa,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACnF,MAAM,EAAE,WAAW;aACpB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEvE,2DAA2D;AAC3D,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACxG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IACvF,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAClH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,KAAK,CAAC,CAAU,EAAE,EAAU,EAAE,EAAU;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAW,CAAC;AAE3D,SAAS,eAAe,CAAC,GAAgB;IAMvC,MAAM,SAAS,GACX,GAAG,CAAC,OAA+C,EAAE,CAAC,WAAW,CAErD,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GACX,SAAS,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,MAAM;QAClE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC3D,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,gBAAgB,EAAE,WAAW,CAAC,EAAE;KACjC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAkB,EAClB,GAAgB,EAChB,MAAmD,EACnD,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,GAAmB,EAAE;QACpC,MAAM,OAAO,GAAmB;YAC9B,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,sCAAsC;YACjD,UAAU,EAAE,KAAK;SAClB,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,mFAAmF;IACnF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IACtE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,sFAAsF;IACtF,MAAM,WAAW,GAAI,GAAG,CAAC,OAA+C,EAAE,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACnG,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,GAAG,YAAY,OAAO,gBAAgB,EAAE;QAC1C,CAAC,CAAC,YAAY,CAAC;IAEjB,IAAI,GAAW,CAAC;IAChB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CACzB,oBAAoB,EACpB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnC,OAAO,CAAC,MAAM,CACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACrB,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACrC,6EAA6E;IAC7E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAAC;YAC7E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;YACtB,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;YACjC,aAAa,GAAG,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,6CAA6C;QAC/C,CAAC;IACH,CAAC;IACD,oEAAoE;IACpE,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,kEAAkE;IAClE,MAAM,MAAM,GAAG,aAAa,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,KAAa,EAAsB,EAAE;QACjD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtC,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAElF,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,EAAE,CAAC;IAE5B,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACvD,MAAM,OAAO,GAA8B,WAAW;QACpD,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5C,CAAC,CAAE,WAAW,CAAC,WAAW,EAAgC;YAC1D,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAE,gBAA0D,IAAI,QAAQ,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,GACb,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;QACjE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAChC,CAAC,CAAC,uBAAuB,CAAC;IAE9B,sEAAsE;IACtE,8EAA8E;IAC9E,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACpC,UAAU;gBACR,SAAS,CAAC,EAAE;oBACZ,MAAM,CAAC,gBAAgB;oBACvB,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC9C,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ;oBAClC,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAGD,2EAA2E;IAC3E,4EAA4E;IAC5E,YAAY;IACZ,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,gBAAgB,CAAC;YACf,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,WAAW,EAAG,MAA6B,CAAC,KAAK,IAAI,SAAS;YAC9D,OAAO;YACP,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAmB;QAC7B,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,OAAO;QACP,KAAK;QACL,WAAW;QACX,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;KACX,CAAC;IACF,MAAM,wBAAwB,GAAG,WAAW,KAAK,MAAM;QACrD,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACtF,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7D,OAAO,GAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAI,CAAC,KAAK,CAAC,CAAC;YAChE,MAAM,CAAC,GAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,wBAAwB;QAC7C,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAwBD;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,GAA0B;IAE1B,kEAAkE;IAClE,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;IAC7E,CAAC;IAED,mDAAmD;IACnD,IAAI,GAAG,CAAC,WAAW,IAAI,OAAQ,GAAG,CAAC,WAAuC,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;QACpG,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;YAC7B,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;gBACtF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;oBACpC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,OAAO;oBAC3B,QAAQ,EAAE;wBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;wBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;qBAChC;oBACD,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,CAAC;iBACf,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YACjD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;YAC7B,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;gBACtF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;oBACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;iBAChC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,OAAO,CAAC;YACtB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,OAAe,EACf,KAAa,EACb,MAAc,EACd,IAAY,EACZ,SAAiB,EACjB,WAAmB,EACnB,MAAoB;IAEpB,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ;IACrE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;iBAChC;gBACD,MAAM,EAAE,KAAK;gBACb,WAAW;gBACX,UAAU,EAAE,SAAS;aACtB,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6D,CAAC;QAC9F,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IACnD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAGD,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AACtD,SAAS,uBAAuB,CAAC,GAAgB;IAC/C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,2BAA2B,CAAC;AAChF,CAAC;AAgBD;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAC7B,GAAgB,EAChB,KAAa,EACb,KAAsB;IAEtB,MAAM,OAAO,GAAG,4BAA4B,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,iCAAiC;IACjC,IAAI,KAAK,KAAK,oBAAoB;QAAE,OAAO,OAAO,CAAC;IACnD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACvF,OAAO,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;QACnF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,GAAG,CAAC;QACvC,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAgB,EAChB,KAAa,EACb,KAAsB;IAEtB,OAAO,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;QACnF,IAAI,CAAC;YACH,sEAAsE;YACtE,qEAAqE;YACrE,yEAAyE;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,KAAK,CAAC;gBACnB,OAAO,KAAK,CAAC,UAAU,CAAC;gBACxB,OAAO,KAAK,CAAC,OAAO,CAAC;gBACrB,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACtB,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzC,SAAS,EAAE,OAAO;gBAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC,CAAC,qBAAqB;YACzB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC5C,iFAAiF;YACjF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA4B,CAAC;gBACpE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,uEAAuE;gBACvE,oEAAoE;gBACpE,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAChD,MAAM,CAAC,GAAG,KAAgC,CAAC;wBAC3C,IAAI,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,QAAQ;4BAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;wBAC9E,IAAI,OAAO,CAAC,CAAC,eAAe,CAAC,KAAK,QAAQ;4BAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,OAAO,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAC5B,GAAgB,EAChB,KAAa,EACb,KAAsB;IAEtB,OAAO,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;QACnF,IAAI,CAAC;YACH,wEAAwE;YACxE,8BAA8B;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,KAAK,CAAC;gBACnB,OAAO,KAAK,CAAC,UAAU,CAAC;gBACxB,OAAO,KAAK,CAAC,OAAO,CAAC;gBACrB,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACtB,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzC,SAAS,EAAE,OAAO;gBAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC,CAAC,qBAAqB;YACzB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC5C,0EAA0E;YAC1E,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CACzB,GAAgB,EAChB,aAAqB,EACrB,UAAkB;IAOlB,MAAM,OAAO,GAAG,GAAG,CAAC,OAA8C,CAAC;IACnE,MAAM,kBAAkB,GAAI,OAAO,EAAE,CAAC,oBAAoB,CAAwB,IAAI,MAAM,CAAC;IAC7F,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,gFAAgF;IAChF,MAAM,gBAAgB,GAAG,OAAO,EAAE,CAAC,sBAAsB,CAAyB,CAAC;IACnF,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,qBAAqB,GAAG,gBAAgB;QAC5C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,CAAC,4DAA4D;IACtE,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,UAAU,GAAG,kBAAkB,KAAK,MAAM,IAAI,kBAAkB,KAAK,QAAQ,CAAC;IACpF,MAAM,SAAS,GAAG,kBAAkB,KAAK,OAAO,CAAC;IAEjD,2EAA2E;IAC3E,2EAA2E;IAC3E,oEAAoE;IACpE,oFAAoF;IACpF,mFAAmF;IACnF,IAAI,2BAA2B,GAAG,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,aAAa,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAChG,2BAA2B,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,+CAA+C;IAC/C,IAAI,UAAU,IAAI,qBAAqB,IAAI,CAAC,2BAA2B,IAAI,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;QAC1G,qEAAqE;QACrE,6CAA6C;QAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC9E,OAAO;YACL,QAAQ,EAAE,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC;YACzD,WAAW,EAAE,WAAW;YACxB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,sFAAsF;IACtF,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,UAAU,IAAI,2BAA2B,CAAC,CAAC;IAC1E,IAAI,QAAQ,IAAI,oBAAoB,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QACtE,uFAAuF;QACvF,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,KAAK,SAAS,CAAC;QAClH,MAAM,iBAAiB,GAAG,SAAS,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACjE,OAAO;YACL,QAAQ,EAAE,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC;YACvD,WAAW,EAAE,UAAU;YACvB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,YAAY,GAAG,aAAa,CAAC;IACnC,MAAM,UAAU,GAAG,UAAU,CAAC;IAC9B,OAAO;QACL,QAAQ,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAE,EAAE,CAC/D,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC;QAC9E,WAAW,EAAE,UAAU;QACvB,KAAK;KACN,CAAC;AACJ,CAAC;AAmCD,MAAM,UAAU,0BAA0B,CACxC,GAAgB,EAChB,OAAuC,EAAE;IAEzC,MAAM,UAAU,GACZ,GAAG,CAAC,OAA+C,EAAE,CAAC,mBAAmB,CAAwB;QACnG,6BAA6B,CAAC;IAChC,MAAM,UAAU,GAAI,GAAG,CAAC,MAA8C,EAAE,CAAC,QAAQ,CAAuB,CAAC;IACzG,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,wBAAwB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;IAC3F,MAAM,OAAO,GAAG,CAAC,SAAsB,EAA8B,EAAE;QACrE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvE,MAAM,QAAQ,GAAG,CAAC,QAAoC,EAAmC,EAAE;QACzF,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,QAAQ,CAAC;YACjE,4BAA4B,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;IACjF,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAI,GAAG,CAAC,OAA+C,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACtG,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,MAAM,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,MAA0B,EAAe,EAAE,CAAC,CAAC;QAC/D,GAAG,GAAG;QACN,OAAO,EAAE;YACP,GAAG,GAAG,CAAC,OAAO;YACd,kBAAkB,EAAE,MAAM;SACD;KAC5B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,cAAc,KAAK,QAAQ;QAC5C,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,cAAc,KAAK,QAAQ;YAC3B,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,uDAAuD;AACvD,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,MAAqB;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,SAAS,cAAc,CAAC,OAAuB,EAAE,QAA0B;IACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAEjD,OAAO,CACL,gBAAgB,KAAK,uBAAuB,OAAO,CAAC,MAAM,WAAW;QACrE,GAAG,KAAK,mBAAmB,OAAO,iBAAiB,MAAM,WAAW,OAAO,YAAY;QACvF,oFAAoF;QACpF,iBAAiB,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACvH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAuB,EAAE,QAA0B;IAC/E,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACxE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,+EAA+E,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC5E,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,8EAA8E,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,QAA0B;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAEhE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,+DAA+D,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAgB,EAChB,OAAkF,EAAE;IAEpF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;IAEhD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,WAAW,GAAG,OAAO,CAAC;IAE1B,mEAAmE;IACnE,MAAM,WAAW,GAAG,GAAkB,EAAE,CAAC,CAAC;QACxC,WAAW;QACX,MAAM;QACN,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC;QACtC,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,CAAC,iEAAiE,CAAC;QACpF,SAAS,EAAE,uDAAuD;QAClE,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,4EAA4E;QAC5E,4EAA4E;QAC5E,4DAA4D;QAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0D,CAAC;QAC1F,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,0BAA0B,GAAG,CAAC,QAAkB,EAAuC,EAAE;YAC7F,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,SAAS,GAAG,CAAC,KAAK,IAAyC,EAAE;gBACjE,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,EAAE;oBAChD,aAAa,EAAE,QAAQ,CAAC,WAAW;oBACnC,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,IAAI,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAEhC,MAAM,gBAAgB,GAAI,GAAG,CAAC,OAA+C,EAAE,CAAC,oBAAoB,CAAC,CAAC;gBACtG,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,MAAM;oBAAE,OAAO,IAAI,CAAC;gBAE/E,MAAM,WAAW,GAAG,cAAc,KAAK,QAAQ;oBAC7C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,aAAa,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACvE,MAAM,cAAc,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC5E,MAAM,oBAAoB,GAAI,GAAG,CAAC,OAA+C,EAAE,CACjF,sBAAsB,CACvB,CAAC;gBACF,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBACtE,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;wBAC3C,UAAU,EAAE,IAAI;wBAChB,QAAQ,EAAE,cAAc;wBACxB,KAAK,EAAE,WAAW;qBACnB,CAA0B,CAAC;oBAC5B,IAAI,SAAS,CAAC,EAAE,KAAK,cAAc;wBAAE,OAAO,IAAI,CAAC;oBACjD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;oBACtC,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS;wBAAE,OAAO,IAAI,CAAC;oBAC5E,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACxD,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,QAAQ,CAAC;wBAC9D,CAAC,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW;wBAAE,OAAO,IAAI,CAAC;oBAClF,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YACL,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,0EAA0E;QAC1E,IAAI,SAAS,GAAe,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC5D,SAAS,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,0EAA0E;QAC1E,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,OAAuB,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,iBAAiB,GAAG,WAAW,EAAE,KAAK,IAAI,aAAa,CAAC;YAC5D,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,CAAC;YACtC,WAAW,GAAG,iBAAiB,CAAC;YAEhC,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBAC1D,iBAAiB,GAAG,UAAU,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;gBAC3D,WAAW,GAAG,iBAAiB,CAAC;gBAChC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,MAAM,eAAe,GAAmB;oBACtC,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,OAAO,EAAE,QAAQ;oBACjB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,CAAC;oBACd,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,2CAA2C;oBACtD,UAAU,EAAE,KAAK;iBAClB,CAAC;gBACF,OAAO,GAAG,eAAe,CAAC;YAC5B,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,yEAAyE;YACzE,qEAAqE;YACrE,kEAAkE;YAClE,2EAA2E;YAC3E,uEAAuE;YACvE,gCAAgC;YAChC,IAAI,gBAAoC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,2GAA2G;YAC3G,MAAM,oBAAoB,GACxB,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC9E,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,iBAAiB,KAAK,OAAO,CAAC;YACnH,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,WAAW,CAAC;YAClG,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,oBAAoB;gBACnF,mBAAmB,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC/C,gBAAgB,GAAG,oBAAoB,CAAC;wBACtC,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,WAAW,EAAE,iBAAiB;wBAC9B,OAAO,EAAE,MAAM;wBACf,QAAQ;wBACR,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,aAAa;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,sEAAsE;oBACtE,8DAA8D;oBAC9D,gBAAgB,GAAG,SAAS,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,cAAc,CAAC;gBACb,EAAE,EAAE,UAAU;gBACd,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,GAAG,0BAA0B,CAAC,QAAQ,EAAE;oBACtC,EAAE,EAAE,UAAU;oBACd,cAAc,EAAE,iBAAiB;oBACjC,UAAU,EAAE,eAAe;iBAC5B,CAAC;gBACF,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;gBAC5C,MAAM,EAAE,iBAAiB;gBACzB,oEAAoE;gBACpE,mEAAmE;gBACnE,gEAAgE;gBAChE,kEAAkE;gBAClE,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,iBAAiB;gBAC7C,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,UAAU,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,UAAU,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;gBACtE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,gBAAgB,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE,wBAAwB,EAAE,UAAU,EAAE,sBAAsB,EAAE,aAAsB,EAAE;oBAC1F,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YAEH,+DAA+D;YAC/D,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC;oBACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBACxD,SAAS,CACP,QAAQ,CAAC,EAAE,EACX,UAAU,EACV,SAAS,EACT,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAChD,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,8BAA8B;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,QAAQ;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEL,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,WAAW,GAAG,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,CAAC;aAAM,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvC,WAAW,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAE,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAkB;YAC5B,WAAW;YACX,MAAM;YACN,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,eAAe;YACf,SAAS;YACT,WAAW;SACZ,CAAC;QAEF,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC;IAEhB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/core/fleet/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,4BAA4B,CAAC;AA2CpC,MAAM,UAAU,qBAAqB,CACnC,OAC4F,EAC5F,KAAK,GAAG,SAAS;IAEjB,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,QAAiB;QACvB,SAAS,EAAE,yBAAkC;QAC7C,UAAU,EAAE,eAAwB;QACpC,MAAM,EAAE,WAAoB;KAC7B,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU;QAChE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,mBAAmB,OAAO,CAAC,OAAO,EAAE;YACvG,aAAa,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,OAAO,EAAE;YAClG,QAAQ,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS;gBACrC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO;oBAC3B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,QAAQ;SACN,CAAC;IACf,OAAO,yBAAyB,CAAC;QAC/B,UAAU;QACV,YAAY,EAAE,SAAS;QACvB,mBAAmB;QACnB,eAAe,EAAE,qBAAqB;KACvC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAoD,EACpD,KAAc;IAEd,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAmBD,SAAS,gBAAgB,CAAC,MAAmB;IAC3C,IAAI,MAAM,CAAC,MAAM,YAAY,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC3D,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,sBAAsB,CAC3B,CAAC;IACF,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC1B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAoB;IACjD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAwBD,kDAAkD;AAClD,SAAS,YAAY,CAAC,IAAwB;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,WAAW,CAAC;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,wHAAwH;IAC3I,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,GAAG,wBAAwB,CAAC;AACzC,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yIA6CoH,CAAC;AAC1I,MAAM,kBAAkB,GAAG,4NAA4N,CAAC;AAExP;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAwB;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACvD,yDAAyD;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;aAC/B,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;aAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;aACrC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB,EAAE,OAA0D;IACtG,MAAM,aAAa,GAAG,OAAO;QAC3B,CAAC,CAAC,wBAAwB,OAAO,CAAC,SAAS,sBAAsB,OAAO,CAAC,UAAU,IAAI;QACvF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;;SAEA,QAAQ,CAAC,KAAK;WACZ,QAAQ,CAAC,OAAO;QACnB,QAAQ,CAAC,IAAI;UACX,QAAQ,CAAC,WAAW,IAAI,SAAS,GAAG,aAAa;;EAEzD,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,6EAA6E;AAE7E;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7C,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAID,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,wEAAwE;AACxE,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,kEAAkE;AAClE,SAAS,OAAO,CAAC,GAAe,EAAE,IAAY;IAC5C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAe,EAAE,IAAY;IAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEzD,2EAA2E;IAC3E,8EAA8E;IAC9E,OAAO,CACL,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS;QACrC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,SAAS;QAC3C,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,SAAS;QACrC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,SAAS,CAC1C,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,sEAAsE;AACtE,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAoB,EAAE,IAAa;IAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAE5C,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,IACE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ;QACjC,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,YAAY,CAAC,EACnF,CAAC;QACD,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAE5C,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS;QACjF,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAW;IAC/C,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,yBAAyB;IACzB,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC7D,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,gFAAgF;IAChF,4EAA4E;IAC5E,oEAAoE;IACpE,iDAAiD;IACjD,MAAM,eAAe,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC5E,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,mDAAmD;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACvB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAAC,GAAG,GAAG,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;YAAC,CAAC;QAC5E,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3D,IAAI,aAAa,CAAC,MAAM,CAAC;oBAAE,OAAO,MAAM,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,KAAa,EAAiB,EAAE;QAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,KAAK,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC/F,IACE,KAAK,KAAK,IAAI;QACd,WAAW,KAAK,IAAI;QACpB,KAAK,KAAK,IAAI;QACd,SAAS,KAAK,IAAI;QAClB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAA+B,CAAC;IAC3E,MAAM,SAAS,GACb,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;QAC3B,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAC5D,8BAA8B,CAAC;IAEjC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IAKrC,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAE3F,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG;YAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,GAAG;YAAE,OAAO;gBACd,GAAG;gBACH,aAAa,EAAE,aAAa,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE;gBACnF,MAAM,EAAE,WAAW;aACpB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEvE,2DAA2D;AAC3D,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACxG,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IACvF,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAClH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,KAAK,CAAC,CAAU,EAAE,EAAU,EAAE,EAAU;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAW,CAAC;AAE3D,SAAS,eAAe,CAAC,GAAgB;IAMvC,MAAM,SAAS,GACX,GAAG,CAAC,OAA+C,EAAE,CAAC,WAAW,CAErD,IAAI,EAAE,CAAC;IACvB,MAAM,OAAO,GACX,SAAS,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,MAAM;QAClE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC3D,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,gBAAgB,EAAE,WAAW,CAAC,EAAE;KACjC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAkB,EAClB,GAAgB,EAChB,MAAmD,EACnD,UAAgC,EAAE;IAElC,yEAAyE;IACzE,oEAAoE;IACpE,4EAA4E;IAC5E,yEAAyE;IACzE,yEAAyE;IACzE,gCAAgC;IAChC,MAAM,QAAQ,GAAG,CAAC,OAA4B,OAAO,EAAkB,EAAE;QACvE,MAAM,OAAO,GAAmB;YAC9B,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,CAAC;YACR,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,0FAA0F;gBAC5F,CAAC,CAAC,2FAA2F;YAC/F,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,mFAAmF;IACnF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IACtE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,sFAAsF;IACtF,MAAM,WAAW,GAAI,GAAG,CAAC,OAA+C,EAAE,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACnG,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,GAAG,YAAY,OAAO,gBAAgB,EAAE;QAC1C,CAAC,CAAC,YAAY,CAAC;IAEjB,IAAI,GAAW,CAAC;IAChB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CACzB,oBAAoB,EACpB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnC,OAAO,CAAC,MAAM,CACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACrB,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACrC,6EAA6E;IAC7E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAAC;YAC7E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,oBAAoB,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACtF,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;YACtB,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;YACjC,aAAa,GAAG,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,6CAA6C;QAC/C,CAAC;IACH,CAAC;IACD,oEAAoE;IACpE,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,kEAAkE;IAClE,MAAM,MAAM,GAAG,aAAa,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,KAAa,EAAsB,EAAE;QACjD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtC,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAElF,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACvD,MAAM,OAAO,GAA8B,WAAW;QACpD,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5C,CAAC,CAAE,WAAW,CAAC,WAAW,EAAgC;YAC1D,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAE,gBAA0D,IAAI,QAAQ,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,SAAS,GACb,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QACzC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC9B,CAAC,CAAC,uBAAuB,CAAC;IAE9B,sEAAsE;IACtE,8EAA8E;IAC9E,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACpC,UAAU;gBACR,SAAS,CAAC,EAAE;oBACZ,MAAM,CAAC,gBAAgB;oBACvB,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC9C,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ;oBAClC,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAGD,2EAA2E;IAC3E,4EAA4E;IAC5E,YAAY;IACZ,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,gBAAgB,CAAC;YACf,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,WAAW,EAAG,MAA6B,CAAC,KAAK,IAAI,SAAS;YAC9D,OAAO;YACP,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAmB;QAC7B,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,OAAO;QACP,KAAK;QACL,WAAW;QACX,KAAK;QACL,SAAS;QACT,SAAS;QACT,UAAU;KACX,CAAC;IACF,MAAM,wBAAwB,GAAG,WAAW,KAAK,MAAM;QACrD,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC9D,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,GAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,MAAM,cAAc,GAAG,wBAAwB;QAC7C,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAwBD;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,GAA0B;IAE1B,kEAAkE;IAClE,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;IAC7E,CAAC;IAED,mDAAmD;IACnD,IAAI,GAAG,CAAC,WAAW,IAAI,OAAQ,GAAG,CAAC,WAAuC,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;QACpG,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;YAC7B,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;gBACtF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;oBACpC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,OAAO;oBAC3B,QAAQ,EAAE;wBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;wBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;qBAChC;oBACD,UAAU,EAAE,GAAG;oBACf,WAAW,EAAE,CAAC;iBACf,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YACjD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;YAC7B,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;gBACtF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;oBACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;iBAChC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,OAAO,CAAC;YACtB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,OAAe,EACf,KAAa,EACb,MAAc,EACd,IAAY,EACZ,SAAiB,EACjB,WAAmB,EACnB,MAAoB;IAEpB,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ;IACrE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;iBAChC;gBACD,MAAM,EAAE,KAAK;gBACb,WAAW;gBACX,UAAU,EAAE,SAAS;aACtB,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6D,CAAC;QAC9F,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IACnD,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAGD,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AACtD,SAAS,uBAAuB,CAAC,GAAgB;IAC/C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,2BAA2B,CAAC;AAChF,CAAC;AAgBD;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAC7B,GAAgB,EAChB,KAAa,EACb,KAAsB;IAEtB,MAAM,OAAO,GAAG,4BAA4B,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,iCAAiC;IACjC,IAAI,KAAK,KAAK,oBAAoB;QAAE,OAAO,OAAO,CAAC;IACnD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACvF,OAAO,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;QACnF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,GAAG,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,GAAG,CAAC;QACvC,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,GAAgB,EAChB,KAAa,EACb,KAAsB;IAEtB,OAAO,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;QACnF,IAAI,CAAC;YACH,sEAAsE;YACtE,qEAAqE;YACrE,yEAAyE;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,KAAK,CAAC;gBACnB,OAAO,KAAK,CAAC,UAAU,CAAC;gBACxB,OAAO,KAAK,CAAC,OAAO,CAAC;gBACrB,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACtB,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzC,SAAS,EAAE,OAAO;gBAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC,CAAC,qBAAqB;YACzB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC5C,iFAAiF;YACjF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA4B,CAAC;gBACpE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,uEAAuE;gBACvE,oEAAoE;gBACpE,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ;wBAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;oBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAChD,MAAM,CAAC,GAAG,KAAgC,CAAC;wBAC3C,IAAI,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,QAAQ;4BAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;wBAC9E,IAAI,OAAO,CAAC,CAAC,eAAe,CAAC,KAAK,QAAQ;4BAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;gBACrC,CAAC;gBACD,OAAO,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAC5B,GAAgB,EAChB,KAAa,EACb,KAAsB;IAEtB,OAAO,KAAK,EAAE,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAmB,EAAE;QACnF,IAAI,CAAC;YACH,wEAAwE;YACxE,8BAA8B;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,KAAK,CAAC;gBACnB,OAAO,KAAK,CAAC,UAAU,CAAC;gBACxB,OAAO,KAAK,CAAC,OAAO,CAAC;gBACrB,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACtB,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzC,SAAS,EAAE,OAAO;gBAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC,CAAC,qBAAqB;YACzB,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC5C,0EAA0E;YAC1E,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CACzB,GAAgB,EAChB,aAAqB,EACrB,UAAkB;IAOlB,MAAM,OAAO,GAAG,GAAG,CAAC,OAA8C,CAAC;IACnE,MAAM,kBAAkB,GAAI,OAAO,EAAE,CAAC,oBAAoB,CAAwB,IAAI,MAAM,CAAC;IAC7F,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,0EAA0E;IAC1E,4EAA4E;IAC5E,8EAA8E;IAC9E,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,gFAAgF;IAChF,MAAM,gBAAgB,GAAG,OAAO,EAAE,CAAC,sBAAsB,CAAyB,CAAC;IACnF,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,qBAAqB,GAAG,gBAAgB;QAC5C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,IAAI,CAAC,CAAC,4DAA4D;IACtE,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,oBAAoB,GAAG,gBAAgB;QAC3C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,UAAU,GAAG,kBAAkB,KAAK,MAAM,IAAI,kBAAkB,KAAK,QAAQ,CAAC;IACpF,MAAM,SAAS,GAAG,kBAAkB,KAAK,OAAO,CAAC;IAEjD,2EAA2E;IAC3E,2EAA2E;IAC3E,oEAAoE;IACpE,oFAAoF;IACpF,mFAAmF;IACnF,IAAI,2BAA2B,GAAG,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,aAAa,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAChG,2BAA2B,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,+CAA+C;IAC/C,IAAI,UAAU,IAAI,qBAAqB,IAAI,CAAC,2BAA2B,IAAI,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;QAC1G,qEAAqE;QACrE,6CAA6C;QAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC9E,OAAO;YACL,QAAQ,EAAE,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC;YACzD,WAAW,EAAE,WAAW;YACxB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,sFAAsF;IACtF,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,UAAU,IAAI,2BAA2B,CAAC,CAAC;IAC1E,IAAI,QAAQ,IAAI,oBAAoB,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QACtE,uFAAuF;QACvF,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,KAAK,SAAS,CAAC;QAClH,MAAM,iBAAiB,GAAG,SAAS,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACjE,OAAO;YACL,QAAQ,EAAE,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC;YACvD,WAAW,EAAE,UAAU;YACvB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,YAAY,GAAG,aAAa,CAAC;IACnC,MAAM,UAAU,GAAG,UAAU,CAAC;IAC9B,OAAO;QACL,QAAQ,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,MAAoB,EAAE,EAAE,CAC/D,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC;QAC9E,WAAW,EAAE,UAAU;QACvB,KAAK;KACN,CAAC;AACJ,CAAC;AAmCD,MAAM,UAAU,0BAA0B,CACxC,GAAgB,EAChB,OAAuC,EAAE;IAEzC,MAAM,UAAU,GACZ,GAAG,CAAC,OAA+C,EAAE,CAAC,mBAAmB,CAAwB;QACnG,6BAA6B,CAAC;IAChC,MAAM,UAAU,GAAI,GAAG,CAAC,MAA8C,EAAE,CAAC,QAAQ,CAAuB,CAAC;IACzG,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,wBAAwB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;IAC3F,MAAM,OAAO,GAAG,CAAC,SAAsB,EAA8B,EAAE;QACrE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvE,MAAM,QAAQ,GAAG,CAAC,QAAoC,EAAmC,EAAE;QACzF,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,QAAQ,CAAC;YACjE,4BAA4B,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;IACjF,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAA0B,EAAe,EAAE,CAAC,CAAC;QAC/D,GAAG,GAAG;QACN,OAAO,EAAE;YACP,GAAG,GAAG,CAAC,OAAO;YACd,kBAAkB,EAAE,MAAM;SACD;KAC5B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,qFAAqF;IACrF,kFAAkF;IAClF,8EAA8E;IAC9E,+BAA+B;IAC/B,EAAE;IACF,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,0EAA0E;IAC1E,6EAA6E;IAC7E,OAAO;IACP,MAAM,UAAU,GAAG,cAAc,KAAK,QAAQ;QAC5C,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,cAAc,KAAK,QAAQ;YAC3B,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,uDAAuD;AACvD,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAAC,MAAqB;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,SAAS,cAAc,CAAC,OAAuB,EAAE,QAA0B;IACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAEjD,OAAO,CACL,gBAAgB,KAAK,uBAAuB,OAAO,CAAC,MAAM,WAAW;QACrE,GAAG,KAAK,mBAAmB,OAAO,iBAAiB,MAAM,WAAW,OAAO,YAAY;QACvF,oFAAoF;QACpF,iBAAiB,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACvH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAuB,EAAE,QAA0B;IAC/E,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACxE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,+EAA+E,CAAC,CAAC;IAC1G,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC5E,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,8EAA8E,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,QAA0B;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAEhE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,+DAA+D,CAAC,CAAC;IACnG,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,uBAAuB;IACvB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC;IACzE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CACX,GAAG,aAAa,CAAC,MAAM,gGACrB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtD,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;IAC7E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CACX,GAAG,eAAe,CAAC,MAAM,4FACvB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxD,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAgB,EAChB,OAAkF,EAAE;IAEpF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;IAEhD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,WAAW,GAAG,OAAO,CAAC;IAE1B,mEAAmE;IACnE,MAAM,WAAW,GAAG,GAAkB,EAAE,CAAC,CAAC;QACxC,WAAW;QACX,MAAM;QACN,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC;QACtC,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,CAAC,iEAAiE,CAAC;QACpF,SAAS,EAAE,uDAAuD;QAClE,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,4EAA4E;QAC5E,4EAA4E;QAC5E,4DAA4D;QAC5D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0D,CAAC;QAC1F,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,0BAA0B,GAAG,CAAC,QAAkB,EAAuC,EAAE;YAC7F,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,SAAS,GAAG,CAAC,KAAK,IAAyC,EAAE;gBACjE,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,EAAE;oBAChD,aAAa,EAAE,QAAQ,CAAC,WAAW;oBACnC,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,IAAI,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAEhC,MAAM,gBAAgB,GAAI,GAAG,CAAC,OAA+C,EAAE,CAAC,oBAAoB,CAAC,CAAC;gBACtG,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,MAAM;oBAAE,OAAO,IAAI,CAAC;gBAE/E,MAAM,WAAW,GAAG,cAAc,KAAK,QAAQ;oBAC7C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,aAAa,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACvE,MAAM,cAAc,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC5E,MAAM,oBAAoB,GAAI,GAAG,CAAC,OAA+C,EAAE,CACjF,sBAAsB,CACvB,CAAC;gBACF,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBACtE,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE;wBAC3C,UAAU,EAAE,IAAI;wBAChB,QAAQ,EAAE,cAAc;wBACxB,KAAK,EAAE,WAAW;qBACnB,CAA0B,CAAC;oBAC5B,IAAI,SAAS,CAAC,EAAE,KAAK,cAAc;wBAAE,OAAO,IAAI,CAAC;oBACjD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;oBACtC,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS;wBAAE,OAAO,IAAI,CAAC;oBAC5E,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACxD,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,QAAQ,CAAC;wBAC9D,CAAC,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW;wBAAE,OAAO,IAAI,CAAC;oBAClF,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;YACL,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,0EAA0E;QAC1E,IAAI,SAAS,GAAe,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC5D,SAAS,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,0EAA0E;QAC1E,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,OAAuB,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,iBAAiB,GAAG,WAAW,EAAE,KAAK,IAAI,aAAa,CAAC;YAC5D,MAAM,UAAU,GAAG,WAAW,EAAE,KAAK,CAAC;YACtC,WAAW,GAAG,iBAAiB,CAAC;YAEhC,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBAC1D,iBAAiB,GAAG,UAAU,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;gBAC3D,WAAW,GAAG,iBAAiB,CAAC;gBAChC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,MAAM,eAAe,GAAmB;oBACtC,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,OAAO,EAAE,QAAQ;oBACjB,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,CAAC;oBACd,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,2CAA2C;oBACtD,UAAU,EAAE,KAAK;iBAClB,CAAC;gBACF,OAAO,GAAG,eAAe,CAAC;YAC5B,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,yEAAyE;YACzE,qEAAqE;YACrE,kEAAkE;YAClE,2EAA2E;YAC3E,uEAAuE;YACvE,gCAAgC;YAChC,IAAI,gBAAoC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,2GAA2G;YAC3G,MAAM,oBAAoB,GACxB,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC9E,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,iBAAiB,KAAK,OAAO,CAAC;YACnH,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,WAAW,CAAC;YAClG,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,oBAAoB;gBACnF,mBAAmB,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC/C,gBAAgB,GAAG,oBAAoB,CAAC;wBACtC,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,WAAW,EAAE,iBAAiB;wBAC9B,OAAO,EAAE,MAAM;wBACf,QAAQ;wBACR,QAAQ,EAAE,UAAU;wBACpB,WAAW,EAAE,aAAa;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,sEAAsE;oBACtE,8DAA8D;oBAC9D,gBAAgB,GAAG,SAAS,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,cAAc,CAAC;gBACb,EAAE,EAAE,UAAU;gBACd,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,GAAG,0BAA0B,CAAC,QAAQ,EAAE;oBACtC,EAAE,EAAE,UAAU;oBACd,cAAc,EAAE,iBAAiB;oBACjC,UAAU,EAAE,eAAe;iBAC5B,CAAC;gBACF,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;gBAC5C,MAAM,EAAE,iBAAiB;gBACzB,oEAAoE;gBACpE,mEAAmE;gBACnE,gEAAgE;gBAChE,kEAAkE;gBAClE,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,iBAAiB;gBAC7C,GAAG,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,UAAU,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,CAAC,UAAU,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,sEAAsE;gBACtE,qEAAqE;gBACrE,qEAAqE;gBACrE,oEAAoE;gBACpE,MAAM,EAAE,OAAO,CAAC,YAAY,KAAK,OAAO;oBACtC,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;wBAClC,CAAC,CAAC,uBAAuB;wBACzB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,gBAAgB,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE,wBAAwB,EAAE,UAAU,EAAE,sBAAsB,EAAE,aAAsB,EAAE;oBAC1F,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;YAEH,+DAA+D;YAC/D,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC;oBACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBACxD,SAAS,CACP,QAAQ,CAAC,EAAE,EACX,UAAU,EACV,SAAS,EACT,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAChD,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,8BAA8B;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,QAAQ;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEL,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,WAAW,GAAG,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,CAAC;aAAM,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvC,WAAW,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAE,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAkB;YAC5B,WAAW;YACX,MAAM;YACN,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,eAAe;YACf,SAAS;YACT,WAAW;SACZ,CAAC;QAEF,WAAW,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC;IAEhB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,18 +1,143 @@
1
1
  /**
2
- * Positive post-merge learning authority.
2
+ * Positive post-merge learning authority — the release protocol.
3
3
  *
4
- * A realized merge is an immutable operational fact, not proof that the change
5
- * remained beneficial. Only the future purpose-built release protocol may mint
6
- * this label. Existing merge receipts and observation-only stability witnesses
7
- * deliberately do not satisfy it.
4
+ * A realized merge is an immutable operational fact, not proof that the
5
+ * change remained beneficial. This module is the ONLY place allowed to mint
6
+ * "post-merge credit release" authority, and it does so conservatively:
7
+ *
8
+ * 1. The proposal must carry an AUTHENTICATED realized-merge witness
9
+ * (authenticatedRealizedMergeOf — binds to this exact proposal via a
10
+ * local receipt HMAC or host reconciliation; shape alone is never
11
+ * authority).
12
+ * 2. At least MIN_POST_MERGE_OBSERVATION_WINDOW_MS must have elapsed since
13
+ * the merge was observed. The regression sentinel / outcome watcher
14
+ * (outcome-watcher.ts) sweeps merged proposals on a 6h throttle with a
15
+ * 7-day follow-up window; 14 days gives ~2x that follow-up window and
16
+ * dozens of scan cycles of headroom before we trust the silence.
17
+ * 3. The signed, observation-only post-merge-observations ledger
18
+ * (post-merge-observations.ts) must contain NO adverse record
19
+ * ('regressed' | 'reverted' | 'followed-up') for this exact
20
+ * (repo, proposalId, mergeCommit) event, and the ledger must have read
21
+ * back healthy/complete (a degraded read fails closed — we never treat
22
+ * "couldn't check" as "checked clean").
23
+ *
24
+ * That ledger is adverse-only (it never records a positive "we checked, it's
25
+ * clean" row), so eligibility here is inherently a "silence after a
26
+ * conservative window" heuristic, not a positive confirmation. That is a
27
+ * known, documented limitation — see sweepPostMergeCreditReleases' doc
28
+ * comment — not an oversight.
29
+ *
30
+ * MINTING: hasReleasedPostMergeCredit(labelBasis) verifies a self-describing,
31
+ * HMAC-signed token — NOT bare string equality against
32
+ * POST_MERGE_CREDIT_RELEASE_LABEL. This is deliberate: several downstream
33
+ * consumers persist labelBasis-shaped fields on structures that are, at least
34
+ * in tests and in caller-authored proposal/ledger data, fully attacker/
35
+ * test-controlled. A bare literal is trivially replayable; only a value
36
+ * carrying a valid local-key HMAC over the specific (repo, proposalId,
37
+ * mergeCommit) event can pass. isPostMergeCreditReleaseLabel() remains
38
+ * "structural recognition only" — matching the bare literal — for the
39
+ * existing defensive filters elsewhere that specifically reject the
40
+ * unauthenticated literal (e.g. skill-records.ts, decisions-ledger.ts).
8
41
  */
42
+ import type { Proposal, SkillCard } from '../types.js';
9
43
  export declare const POST_MERGE_CREDIT_POLICY_VERSION: "post-merge-credit-v1";
10
44
  export declare const POST_MERGE_CREDIT_RELEASE_LABEL: "post-merge-credit-release-v1";
11
45
  /** Structural recognition only; this string is not release authority. */
12
46
  export declare function isPostMergeCreditReleaseLabel(labelBasis: unknown): boolean;
13
47
  /**
14
- * No authenticated release verifier exists in this protocol version.
15
- * Deliberately return false even for the reserved label so raw ledgers,
16
- * injected dependencies, and caller-controlled metadata cannot mint credit.
48
+ * Minimum wall-clock time since the realized merge before credit MAY be
49
+ * released. See module doc for rationale (~2x the outcome-watcher follow-up
50
+ * window, dozens of throttled scan cycles of headroom).
51
+ */
52
+ export declare const MIN_POST_MERGE_OBSERVATION_WINDOW_MS: number;
53
+ /**
54
+ * Verify that `labelBasis` is a validly-signed post-merge-credit release
55
+ * token minted by evaluatePostMergeCreditRelease. Pure, synchronous
56
+ * (host-local key read only), never throws. Deliberately rejects the bare
57
+ * POST_MERGE_CREDIT_RELEASE_LABEL literal and any other string that is not a
58
+ * correctly-formed, correctly-signed token — so raw ledgers, injected
59
+ * dependencies, and caller-controlled metadata cannot mint credit.
60
+ */
61
+ export declare function hasReleasedPostMergeCredit(labelBasis: unknown): boolean;
62
+ export type PostMergeCreditEligibilityReason = 'clean-window-elapsed' | 'no-authenticated-merge-witness' | 'invalid-merge-timestamp' | 'observation-window-not-elapsed' | 'observation-ledger-degraded' | 'adverse-outcome-observed' | 'signing-unavailable' | 'error';
63
+ export interface PostMergeCreditEligibility {
64
+ eligible: boolean;
65
+ /** Signed token to persist as labelBasis when eligible; null otherwise. */
66
+ label: string | null;
67
+ reason: PostMergeCreditEligibilityReason;
68
+ }
69
+ /**
70
+ * Determine whether `proposal` is eligible for post-merge credit release
71
+ * RIGHT NOW, and mint the signed token when it is. Fail-closed on every
72
+ * ambiguous path (missing witness, unparseable timestamp, window not yet
73
+ * elapsed, degraded/incomplete observation-ledger read, any adverse
74
+ * observation for this exact merge event, signing failure). Never throws.
75
+ *
76
+ * This function does NOT persist anything — see sweepPostMergeCreditReleases
77
+ * for the write-back that records a minted label to the decisions ledger.
78
+ */
79
+ export declare function evaluatePostMergeCreditRelease(proposal: Proposal, opts?: {
80
+ nowMs?: number;
81
+ }): PostMergeCreditEligibility;
82
+ export interface PostMergeCreditSweepResult {
83
+ /** Applied proposals inspected this pass. */
84
+ scanned: number;
85
+ /** Proposals for which a new credit-release decision row was recorded. */
86
+ released: number;
87
+ /** Proposals inspected but not released this pass (not yet eligible, or a
88
+ * transient error) — never a reason to trust the negative permanently. */
89
+ skipped: number;
90
+ /** False when the proposal or decisions source was incomplete/degraded, or
91
+ * the candidate cap was hit — a hint the pass should be retried. */
92
+ sourceComplete: boolean;
93
+ }
94
+ /**
95
+ * Sweep applied proposals for newly-eligible post-merge credit and record it
96
+ * to the decisions ledger (a new 'merged' row with the signed labelBasis
97
+ * token — decisions-ledger.ts's own newest-row-wins semantics let this
98
+ * supersede the plain merge-fact row written at merge time). Idempotent: a
99
+ * proposal that already carries a released decision row is left alone.
100
+ *
101
+ * KNOWN LIMITATION (by design, not a bug): the post-merge-observations ledger
102
+ * only ever records ADVERSE outcomes. This sweep therefore releases credit on
103
+ * "no adverse record after a conservative window", not on a positive
104
+ * "actively confirmed clean" signal — there is no such positive signal
105
+ * anywhere in the fleet today. If a repo's outcome-watcher coverage were
106
+ * somehow disabled for a specific proposal's repo (not enrolled, or the local
107
+ * clone was deleted), this sweep cannot detect that and would release credit
108
+ * on elapsed time alone. The MIN_POST_MERGE_OBSERVATION_WINDOW_MS margin
109
+ * exists specifically to bound that risk; closing it fully would require
110
+ * outcome-watcher.ts (unowned here) to also persist a positive "swept clean"
111
+ * marker per merge event.
112
+ *
113
+ * SCALING NOTE: unlike outcome-watcher.ts, this sweep has no persistent
114
+ * cursor — it re-scans applied proposals from the top of listProposalsDetailed
115
+ * every pass, bounded by MAX_SWEEP_CANDIDATES. At small-to-moderate applied-
116
+ * proposal counts this converges fine (already-released proposals are
117
+ * skipped instantly via the decisions-ledger dedup check, so the cap mostly
118
+ * matters for proposals still awaiting their window). At very large scale a
119
+ * persistent cursor (mirroring monitoring-cursor.ts) would be needed to
120
+ * guarantee every proposal eventually gets swept; out of scope here.
121
+ *
122
+ * Never throws.
123
+ */
124
+ export declare function sweepPostMergeCreditReleases(opts?: {
125
+ nowMs?: number;
126
+ listProposals?: () => Proposal[];
127
+ }): PostMergeCreditSweepResult;
128
+ /**
129
+ * Sign a SkillCard that legitimately carries released post-merge credit.
130
+ *
131
+ * skill-attestation.ts's generic attestSkillCard() deliberately refuses any
132
+ * card for which hasReleasedPostMergeCredit(card.labelBasis) is true — its
133
+ * signature payload doesn't cover the credit-release claim, so it must not
134
+ * be the thing vouching for it. This module owns that proof, so it owns this
135
+ * signing boundary too: same crypto primitive (signSkillCardAttestation),
136
+ * same payload shape, so verifyAttestedSkillCard() on the read side still
137
+ * validates cards signed here — only the gating differs (this function signs
138
+ * ONLY when hasReleasedPostMergeCredit is true; attestSkillCard signs only
139
+ * when it is false).
140
+ *
141
+ * Never throws.
17
142
  */
18
- export declare function hasReleasedPostMergeCredit(_labelBasis: unknown): boolean;
143
+ export declare function attestPostMergeCreditSkillCard(card: SkillCard): SkillCard | null;