@tacuchi/agent-workflow-cli 25.2.0 → 25.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 (57) hide show
  1. package/README.md +1 -0
  2. package/dist/application/decision-note-service.js +20 -3
  3. package/dist/application/decision-note-service.js.map +1 -1
  4. package/dist/application/flow/advance.js +91 -5
  5. package/dist/application/flow/advance.js.map +1 -1
  6. package/dist/application/flow/internal-actions.js +167 -7
  7. package/dist/application/flow/internal-actions.js.map +1 -1
  8. package/dist/application/flow/submit.js +187 -4
  9. package/dist/application/flow/submit.js.map +1 -1
  10. package/dist/application/plan-current-point.js +54 -0
  11. package/dist/application/plan-current-point.js.map +1 -0
  12. package/dist/application/plan-exec-decision-service.js +143 -4
  13. package/dist/application/plan-exec-decision-service.js.map +1 -1
  14. package/dist/application/plan-locator.js +78 -0
  15. package/dist/application/plan-locator.js.map +1 -0
  16. package/dist/application/plan-open-run.js +129 -0
  17. package/dist/application/plan-open-run.js.map +1 -0
  18. package/dist/application/reseal-service.js +14 -44
  19. package/dist/application/reseal-service.js.map +1 -1
  20. package/dist/application/resume-service.js +9 -3
  21. package/dist/application/resume-service.js.map +1 -1
  22. package/dist/application/settle-service.js +442 -0
  23. package/dist/application/settle-service.js.map +1 -0
  24. package/dist/application/workline-index-service.js +165 -62
  25. package/dist/application/workline-index-service.js.map +1 -1
  26. package/dist/cli/commands/index.js +2 -0
  27. package/dist/cli/commands/index.js.map +1 -1
  28. package/dist/cli/commands/settle.js +197 -0
  29. package/dist/cli/commands/settle.js.map +1 -0
  30. package/dist/cli/commands/status.js +2 -0
  31. package/dist/cli/commands/status.js.map +1 -1
  32. package/dist/cli/help-groups.js +7 -0
  33. package/dist/cli/help-groups.js.map +1 -1
  34. package/dist/cli/parser.js +6 -0
  35. package/dist/cli/parser.js.map +1 -1
  36. package/dist/domain/decision-note.js +166 -3
  37. package/dist/domain/decision-note.js.map +1 -1
  38. package/dist/domain/decision-preview.js.map +1 -1
  39. package/dist/domain/effective-contract.js +4 -3
  40. package/dist/domain/effective-contract.js.map +1 -1
  41. package/dist/domain/flow/answer.js +10 -0
  42. package/dist/domain/flow/answer.js.map +1 -1
  43. package/dist/domain/flow/authority.js +116 -0
  44. package/dist/domain/flow/authority.js.map +1 -1
  45. package/dist/domain/flow/directive.js +8 -1
  46. package/dist/domain/flow/directive.js.map +1 -1
  47. package/dist/domain/flow/run-state.js +95 -9
  48. package/dist/domain/flow/run-state.js.map +1 -1
  49. package/dist/domain/obligation-correspondence.js +95 -0
  50. package/dist/domain/obligation-correspondence.js.map +1 -0
  51. package/dist/domain/reconciliation.js +142 -25
  52. package/dist/domain/reconciliation.js.map +1 -1
  53. package/dist/domain/settlement.js +129 -0
  54. package/dist/domain/settlement.js.map +1 -0
  55. package/package.json +1 -1
  56. package/skills/w/commands/resume.md +2 -2
  57. package/skills/w/loops/plan-exec-loop/LOOP.md +31 -0
package/README.md CHANGED
@@ -186,6 +186,7 @@ Workspace artifacts live under `.<namespace>/`. Resolution order (first match wi
186
186
  - `release-data` — corpus reader backing the `export-*` skills.
187
187
  - `self install-skill` / `self doctor` / `self update` / `mcp` — CLI maintenance.
188
188
  - `amend <apply|revert|list>` — correct the WORDING of an already closed spec or plan in one act, under the workspace lock and with the document's own digest as the compare-and-swap base; it demands an explicit declaration that no scope, criteria or rules move, records the exact pre-image in an append-only ledger, and refuses structurally whatever touches the contract (naming the refinement instead). CLI-only: there is no `/w:amend`.
189
+ - `settle <list|prepare|apply>` — settle or acknowledge the live obligations a decision note left on a plan whose execution run is already closed. `list` shows each one with its note, position, class, whether that class was declared and the plan's CURRENT resume point; `prepare` derives the same settlement note the closure derives, writes nothing and returns the digest that authorizes it; `apply` re-derives from the live workspace, demands that digest and publishes under the lock. It refuses while an execution run holds the plan, naming that run — its closure settles its own obligations. CLI-only: there is no `/w:settle`.
189
190
 
190
191
  Run `agent-workflow --help` (or `aw --help`) for the full list, or `agent-workflow <command> --help` for per-command flags.
191
192
 
@@ -1,5 +1,5 @@
1
1
  import { join } from "node:path";
2
- import { checkAppendOnly, computeNoteDigest, orderNotes, validateDecisionNote, } from "../domain/decision-note.js";
2
+ import { checkAppendOnly, checkObligationsDeclared, computeNoteDigest, noteToWire, orderNotes, validateDecisionNote, } from "../domain/decision-note.js";
3
3
  /**
4
4
  * Where a lineage's decision notes live, and how one is added.
5
5
  *
@@ -108,6 +108,15 @@ export function nextNoteId(index) {
108
108
  }
109
109
  /** Seal a note draft: its id and digest come from the chain, never from the caller. */
110
110
  export function sealNote(index, draft) {
111
+ // The draft comes from an author, so its obligations may still be in either
112
+ // form. Normalizing HERE — before the id and the seal — is what makes the
113
+ // digest a function of the bytes that will be written, whichever form they
114
+ // arrived in; `appendNote` is where a missing class is refused, not here.
115
+ // The draft is sealed AS IT CAME. Normalizing here would either invent an
116
+ // empty list for a draft that forgot to say anything — making "none" and "we
117
+ // did not say" the same claim — or move the seal of one that arrived in the
118
+ // legacy form. The digest is a function of the wire form either way, and
119
+ // `appendNote` is where an unreadable or unclassed draft is refused.
111
120
  const withId = { ...draft, id: nextNoteId(index) };
112
121
  return { ...withId, digest: computeNoteDigest(withId) };
113
122
  }
@@ -122,14 +131,22 @@ export function sealNote(index, draft) {
122
131
  export function appendNote(index, note) {
123
132
  const read = validateDecisionNote(note);
124
133
  const chain = checkAppendOnly(index.notes, note);
125
- const failures = [...read.failures, ...chain];
134
+ // Over the note the reader RETURNED: asking whether an obligation declared its
135
+ // class only means something once the record is known to hold obligations.
136
+ const classed = read.ok && read.value !== null ? checkObligationsDeclared(read.value) : [];
137
+ const failures = [...read.failures, ...chain, ...classed];
126
138
  if (failures.length > 0)
127
139
  return { ok: false, failures };
128
140
  return { ok: true, index: { ...index, notes: orderNotes([...index.notes, note]) } };
129
141
  }
130
142
  /** The artifact a proposal publishes for this index — stable, pretty, newline-terminated. */
131
143
  export function noteIndexArtifact(path, index) {
132
- return { path, content: `${JSON.stringify(index, null, 2)}\n` };
144
+ // Each note goes back out in the form it came in. Appending one note must not
145
+ // rewrite the bytes of the ones already published — that is the append-only
146
+ // rule at the level of the file, and a normalized re-serialization would break
147
+ // every legacy seal in the chain on the next append.
148
+ const wire = { ...index, notes: index.notes.map(noteToWire) };
149
+ return { path, content: `${JSON.stringify(wire, null, 2)}\n` };
133
150
  }
134
151
  /**
135
152
  * Refuse a publication that would rewrite the very baseline it decides on.
@@ -1 +1 @@
1
- {"version":3,"file":"decision-note-service.js","sourceRoot":"","sources":["../../src/application/decision-note-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decision-note-service.js","sourceRoot":"","sources":["../../src/application/decision-note-service.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,12 @@
25
25
  * registry — not this file — is where a new transition is added.
26
26
  */
27
27
  import { touchesTheWorld } from "../../domain/capability/effects.js";
28
- import { DOCS_BOUNDARY, FIX_PREVIEW_TRANSITION, actionOf, alternativesOf, effectsOf, internalActionOf, isRouteEvaluation, proposalContractOf, publishApprovalOf, routeControlOf, } from "../../domain/flow/authority.js";
28
+ import { DOCS_BOUNDARY, FIX_PREVIEW_TRANSITION, SETTLEMENT_READINGS, actionOf, alternativesOf, effectsOf, internalActionOf, isRouteEvaluation, proposalContractOf, publishApprovalOf, routeControlOf, } from "../../domain/flow/authority.js";
29
29
  import { authorizeTransition, effectApprovalDigest, } from "../../domain/flow/authorization.js";
30
30
  import { PAUSE_LABEL, STOP_LABEL, buildFlowDirective, skippedStepOf, stepOf, } from "../../domain/flow/directive.js";
31
31
  import { ROUTE_ACCEPT_LABEL, ROUTE_ADJUST_LABEL, dispositionOf } from "../../domain/flow/route.js";
32
32
  import { bindAction, docsBoundaryBreach, skipReason, } from "../../domain/flow/rules.js";
33
- import { MAX_BOUNDARY_ATTEMPTS, applyAttemptReconciliation, applyTransition, attemptAccountingAt, attemptsAt, checkAgainstJourney, currentBatchIteration, degradeTransition, positionDigest, reconcileAttemptsAt, skipTransition, withBoundary, withPendingAction, withPlanExecBatchStageForTransition, } from "../../domain/flow/run-state.js";
33
+ import { MAX_BOUNDARY_ATTEMPTS, applyAttemptReconciliation, applyTransition, attemptAccountingAt, attemptsAt, checkAgainstJourney, currentBatchIteration, degradeTransition, positionDigest, reconcileAttemptsAt, settlementAmbiguous, settlementOwed, skipTransition, withBoundary, withPendingAction, withPlanExecBatchStageForTransition, } from "../../domain/flow/run-state.js";
34
34
  import { buildSemanticRequest, semanticDigest, } from "../semantic-operation/protocol.js";
35
35
  import { sessionSlug } from "../session-resolver.js";
36
36
  export function advanceFlowRun(input) {
@@ -150,7 +150,8 @@ function walk(from, journey) {
150
150
  function passOver(state, decision, journey) {
151
151
  const conditional = routeSkipReason(state, decision) ??
152
152
  skipReason(decision, journey, state.observations, currentBatchIteration(state, decision.id)) ??
153
- nothingToPublish(state, decision);
153
+ nothingToPublish(state, decision) ??
154
+ nothingToSettle(state, decision);
154
155
  const degraded = conditional === null ? exhaustionSkip(state, decision) : null;
155
156
  const reason = conditional ?? degraded;
156
157
  if (reason === null)
@@ -389,6 +390,42 @@ function nothingToPublish(state, decision) {
389
390
  return null;
390
391
  return "no quedó ninguna propuesta aprobada: no se escribió nada";
391
392
  }
393
+ /** The three rows of the settlement, in the order the closure walks them. */
394
+ const SETTLEMENT_TRANSITIONS = new Set([
395
+ "plan-exec.settlement-authoring",
396
+ "plan-exec.settlement-question",
397
+ "plan-exec.settlement-publication",
398
+ ]);
399
+ /**
400
+ * A closure with nothing owing walks straight past the settlement.
401
+ *
402
+ * This is what makes the three rows cost NOTHING on the normal path: the batch
403
+ * loop's end already snapshotted what the plan owes, so the walk answers "is
404
+ * there anything to settle" from the run's own state without asking anybody. A
405
+ * plan with no live compensation closes exactly as it closed before these rows
406
+ * existed — same boundaries, same questions, none of them new.
407
+ *
408
+ * The question skips on a second count, and it is the one that keeps the person
409
+ * out of the CLI's bookkeeping: an obligation whose class the note declared, or
410
+ * whose text the plan already enumerates as a handoff, has exactly ONE reading.
411
+ * Asking about it would be asking somebody to ratify arithmetic.
412
+ */
413
+ function nothingToSettle(state, decision) {
414
+ if (!SETTLEMENT_TRANSITIONS.has(decision.id))
415
+ return null;
416
+ if (!settlementOwed(state)) {
417
+ // Dicho sobre el SNAPSHOT y no sobre el plan, porque son dos cosas: un plan
418
+ // cuyo linaje no se puede leer tampoco deja nada en el snapshot —no hay nota
419
+ // que sustituir— y no por eso es cerrable. Afirmar «el plan no conserva
420
+ // compensación vigente» era falso justo ahí, y `plan-done` lo rechaza
421
+ // después nombrando la reparación.
422
+ return "el recorrido no tiene ninguna obligación que saldar: sin una nota vigente que sustituir no hay saldo que publicar";
423
+ }
424
+ if (decision.id === "plan-exec.settlement-question" && settlementAmbiguous(state).length === 0) {
425
+ return "ninguna obligación vigente admite más de una lectura: no hay nada que preguntar";
426
+ }
427
+ return null;
428
+ }
392
429
  /**
393
430
  * Why an exhausted boundary is passed over — or `null` when it must not be.
394
431
  *
@@ -762,18 +799,21 @@ export function boundaryRequest(decision, state) {
762
799
  ? ""
763
800
  : ` Devolvé en 'artifacts' los bytes exactos que hay que escribir, cada uno con su 'path' dentro de ${proposes.destinations.join(", ")}. El CLI sella la propuesta, la muestra como vista previa y la escribe entera o no la escribe: vos no armás digests, envelopes ni referencias.`;
764
801
  const decisionDraft = decision.id === "plan-exec.deviation-recognition"
765
- ? " Si la desviación puede resolverse registrando una decisión, incluí en 'decisions.decision' su question y draft completos ahora: el CLI preparará y mostrará el preview sellado antes de que una persona elija registrarlo."
802
+ ? " Si la desviación puede resolverse registrando una decisión, incluí en 'decisions.decision' su question y draft completos ahora: el CLI preparará y mostrará el preview sellado antes de que una persona elija registrarlo. Cada obligación del draft va como { text, kind }: 'compensation' es trabajo que este linaje debe y bloquea su cierre, 'handoff' es trabajo que queda a cargo de otra gente y no lo bloquea."
766
803
  : "";
767
804
  // La misma pista que el borrador de decisión, y por el mismo motivo: la forma
768
805
  // exacta se dice ANTES para que el primer intento la traiga. Acá pesa el doble,
769
806
  // porque un preview inválido es un rechazo evaluado y gasta uno de los tres.
807
+ const settlementDraft = decision.id === "plan-exec.settlement-authoring"
808
+ ? ` Devolvé en 'decisions.settlement' una lista con una entrada por cada compensación vigente: { note, index, outcome, evidence? }. 'note' e 'index' son los que el tablero ya nombra. 'outcome' es 'settled' —con 'evidence': la salida real de lo que lo prueba—, 'handoff' —el trabajo es de otra gente— o 'pending' —todavía no se hizo, y entonces el cierre se detiene acá hasta que se haga—. Para una obligación cuya clase nadie declaró y que el plan no enumera, lo que declares es la lectura que PROPONÉS: una persona la ratifica en la frontera siguiente.`
809
+ : "";
770
810
  const fixPreview = decision.id === FIX_PREVIEW_TRANSITION
771
811
  ? " Devolvé en 'decisions.preview' un objeto con 'files' (las rutas que vas a tocar, lista que puede ir VACÍA si el entregable es un análisis), 'intent' (qué arregla y por qué) y 'diff' (la forma esperada del diff). Proporcional a la tarea: una línea para algo trivial; enfoque, archivos y riesgos para algo complejo."
772
812
  : "";
773
813
  return buildSemanticRequest({
774
814
  operation: `flow.${decision.id}`,
775
815
  inputs: boundaryInputs(state, decision),
776
- contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera.${isRouteEvaluation(decision) ? " En 'decisions.route' incluí summary { finding, diagnosis, solution } con una explicación breve para una persona que no conoce Workline; basis (intention, checkout, conventions, adopted_decisions); y controls: solo ids configurados como route_control, con disposition apply|omit|substitute, reason y, para substitute, substitution { validation, risk }. No incluyas gates duros: el CLI los rechaza." : ""} ${taxonomy}${authoring}${decisionDraft}${fixPreview} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
816
+ contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera.${isRouteEvaluation(decision) ? " En 'decisions.route' incluí summary { finding, diagnosis, solution } con una explicación breve para una persona que no conoce Workline; basis (intention, checkout, conventions, adopted_decisions); y controls: solo ids configurados como route_control, con disposition apply|omit|substitute, reason y, para substitute, substitution { validation, risk }. No incluyas gates duros: el CLI los rechaza." : ""} ${taxonomy}${authoring}${decisionDraft}${settlementDraft}${fixPreview} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
777
817
  inventory: { flow: state.flow, applied: state.applied, signals: vocabulary },
778
818
  allowedDestinations: proposes === null ? [] : [...proposes.destinations],
779
819
  limits: proposes === null
@@ -848,9 +888,55 @@ function humanChoices(decision, state) {
848
888
  ...(standaloneRegistration(decision, state, choice.outcome)
849
889
  ? { consequence: STANDALONE_REGISTRATION_CONSEQUENCE }
850
890
  : {}),
891
+ ...settlementRecommendation(decision, state, choice),
851
892
  }));
852
893
  return [...resolve, ...flowControlChoices()];
853
894
  }
895
+ /** The label each settlement reading is offered under — from the row's own table. */
896
+ const SETTLEMENT_LABELS = new Map(SETTLEMENT_READINGS.map((reading) => [reading.outcome, reading.label]));
897
+ /**
898
+ * What the settlement question recommends, and why that is not the CLI deciding.
899
+ *
900
+ * The recommendation is the AGENT's proposed reading, carried from the authoring
901
+ * row: it read the obligation, the plan and the evidence, so starting the person
902
+ * from a cold menu would waste the one thing that boundary produced. When the
903
+ * proposals disagree with each other the recommendation falls back to the safe
904
+ * reading, because one answer is applied to all of them and the safe one is the
905
+ * only reading that cannot discharge work nobody did.
906
+ *
907
+ * The consequence names the obligations at stake and the evidence gathered for
908
+ * them, so what is being ratified is on screen and not one row back.
909
+ */
910
+ function settlementRecommendation(decision, state, choice) {
911
+ if (decision.id !== "plan-exec.settlement-question")
912
+ return {};
913
+ const ambiguous = settlementAmbiguous(state);
914
+ if (ambiguous.length === 0)
915
+ return {};
916
+ const declared = state.settlement?.declared ?? [];
917
+ const proposals = new Set(ambiguous.map((obligation) => declared.find((entry) => entry.note === obligation.note && entry.index === obligation.index)
918
+ ?.outcome ?? "pending"));
919
+ const [only] = [...proposals];
920
+ const proposed = proposals.size === 1 && only !== undefined ? only : "pending";
921
+ // The evidence OF THESE obligations, never of every declaration in the run: a
922
+ // question about one obligation that displayed another's proof would be the
923
+ // opposite of the auditability this boundary exists for.
924
+ const evidence = ambiguous
925
+ .map((obligation) => declared.find((entry) => entry.note === obligation.note && entry.index === obligation.index)
926
+ ?.evidence)
927
+ .filter((value) => value !== undefined)
928
+ .join("; ");
929
+ const subject = ambiguous
930
+ .map((obligation) => `${obligation.note}: ${obligation.text}`)
931
+ .join("; ");
932
+ return {
933
+ recommended: SETTLEMENT_LABELS.get(proposed) === choice.label,
934
+ // Appended, never replacing: what each reading DOES is the row's own text,
935
+ // and dropping it would leave the person choosing between three subjects
936
+ // with no consequences attached.
937
+ consequence: `${choice.consequence} · se aplica a ${subject}${evidence.length === 0 ? "" : ` · evidencia declarada: ${evidence}`}`,
938
+ };
939
+ }
854
940
  /** The only route decision: accept the complete sealed preview or request changes. */
855
941
  function routeChoices() {
856
942
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/application/flow/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAoB,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EACL,aAAa,EAEb,sBAAsB,EAEtB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAGL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAML,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,MAAM,GACP,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAEL,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,oBAAoB,EACpB,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAoBrD,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAEnE,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE5D,8EAA8E;IAC9E,yEAAyE;IACzE,4EAA4E;IAC5E,+CAA+C;IAC/C,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACjE,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QAC1D,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,MAAM,UAAU,GAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7E,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,+EAA+E;IAC/E,+BAA+B;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC5D,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;IACjD,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,+CAA+C;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7D,KAAK,GAAG,iBAAiB,CACvB,KAAK,EACL,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAClC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAC9D,CAAC;IACF,OAAO,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAmB,EAAE,OAAgC;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACtD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,IAAI,CACX,IAAkB,EAClB,OAAgC;IAEhC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK;YAAE,MAAM;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM;QAC5B,IACE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO;aACpF,MAAM,GAAG,CAAC,EACb,CAAC;YACD,MAAM;QACR,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,MAAM;QACvC,KAAK,GAAG,mCAAmC,CACzC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,EACxD,QAAQ,CAAC,EAAE,CACZ,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,QAAQ,CACf,KAAmB,EACnB,QAAsB,EACtB,OAAgC;IAEhC,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;QAChC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5F,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,MAAM,GAAG,WAAW,IAAI,QAAQ,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,KAAK,EACH,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;QACrD,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,eAAe,CAAC,KAAmB,EAAE,QAAsB;IAClE,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,IAAI,QAAQ,EAAE,WAAW,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,uFAAuF,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO;QAClC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QAChC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;QAC9B,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAmCD,4EAA4E;AAC5E,SAAS,UAAU,CAAC,KAAmB;IACrC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,4EAA4E;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,uDAAuD;QACvD,IAAI,EAAE,KAAK,CAAC,OAAO;QACnB,2EAA2E;QAC3E,0EAA0E;QAC1E,8DAA8D;QAC9D,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,KAAmB,EACnB,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,OAAO,KAAK,IAAI;QACrB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;QACxD,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,YAAY,CACnB,KAAmB,EACnB,OAAqB,EACrB,OAA2D;IAE3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,2EAA2E;YAClG,MAAM,EACJ,0KAA0K;SAC7K,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,iBAAiB,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,OAAO,qCAAqC;YACxG,MAAM,EACJ,8FAA8F;SACjG,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,iBAAiB,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,OAAO,eAAe,KAAK,CAAC,IAAI,kCAAkC;YAC9H,MAAM,EAAE,+BAA+B,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,+FAA+F;SACpK,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,4DAA4D;IAC5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9B,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,oBAAoB;QACpB,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,eAAe,qBAAqB,oEAAoE,cAAc,CAAC,UAAU,CAAC,EAAE;YAC3J,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC;SACxC,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,6EAA6E;YAC7E,4EAA4E;YAC5E,0EAA0E;YAC1E,oDAAoD;YACpD,OAAO,EAAE,uDAAuD,OAAO,CAAC,EAAE,8CAA8C,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE;YACpL,MAAM,EAAE,8DAA8D,iBAAiB,CAAC,KAAK,CAAC,iHAAiH;SAChN,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,KAAmB,EAAE,OAAqB;IACjE,gFAAgF;IAChF,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,0EAA0E;IAC1E,2EAA2E;IAC3E,sCAAsC;IACtC,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,SAAS,EAAE,KAAK,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,wDAAwD,SAAS,CAAC,MAAM,MAAM,iBAAiB,CAAC,KAAK,CAAC,gHAAgH,CAAC;IAChO,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,GAAG,cAAc,4FAA4F,CAAC;IACvH,CAAC;IACD,OAAO,GAAG,cAAc,mMAAmM,iBAAiB,CAAC,KAAK,CAAC,yEAAyE,CAAC;AAC/T,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,UAA6B;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,SAAS;SACpB,GAAG,CACF,CAAC,QAAQ,EAAE,EAAE,CACX,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,CACjJ;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,wCAAwC,KAAK,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,KAAmB;IAC5C,OAAO,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,oFAAoF;AACpF,MAAM,cAAc,GAClB,oLAAoL,CAAC;AAEvL,2EAA2E;AAC3E,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAsB;IAC5D,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,qBAAqB,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,KAAK,CAAC,QAAsB;IACnC,OAAO,QAAQ,CAAC,SAAS,KAAK,WAAW,CAAC;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,KAAmB,EAAE,QAAsB;IACnE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,SAAS,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAC9E,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,0DAA0D,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAS,cAAc,CAAC,KAAmB,EAAE,QAAsB;IACjE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,8EAA8E;IAC9E,2EAA2E;IAC3E,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAC3F,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,OAAO,KAAK,IAAI,IAAI,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,IACE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;QAC9F,CAAC,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,qBAAqB,WAAW,CAAC;IAC5D,OAAO,OAAO,KAAK,IAAI;QACrB,CAAC,CAAC,GAAG,KAAK,KAAK,cAAc,EAAE;QAC/B,CAAC,CAAC,iCAAiC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,OAAO,KAAK,KAAK,cAAc,EAAE,CAAC;AACzG,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,KAAmB,EACnB,UAAkB;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,QAAsB,EACtB,OAA0C;IAE1C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,OAAO;QACP,6EAA6E;QAC7E,8EAA8E;QAC9E,8BAA8B;QAC9B,cAAc,EAAE,cAAc,CAAC;YAC7B,iBAAiB,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC5F,OAAO;SACR,CAAC;QACF,qBAAqB,EACnB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,cAAc,IAAI,IAAI;QAC5E,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,IAA0B;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,OAAe;IACrD,OAAO,oGAAoG,OAAO,qDAAqD,OAAO,EAAE,CAAC;AACnL,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,OAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;YACb,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,OAAO;YACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/B,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO;YACL,OAAO;YACP,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,OAAO;YACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;YAClC,KAAK,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,uBAAuB,KAAK,CAAC,OAAO,CAAC,WAAW,YAAY,KAAK,CAAC,eAAe,EAAE,KAAK,IAAI,eAAe,iCAAiC,OAAO,CAAC,EAAE,GAAG;gBAClK,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;aAC5D;SACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,qBAAqB;IACrB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,+EAA+E;IAC/E,iFAAiF;IACjF,4EAA4E;IAC5E,iFAAiF;IACjF,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,aAAa,GACjB,OAAO,CAAC,SAAS,KAAK,KAAK;QACzB,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC;QAC7D,CAAC,CAAC,IAAI,CAAC;IACX,8EAA8E;IAC9E,gFAAgF;IAChF,UAAU;IACV,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IAChF,MAAM,IAAI,GACR,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,OAAO;QACP,IAAI;QACJ,aAAa;QACb,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QACrE,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACpD,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;QACzD,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC;QACvF,OAAO;QACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,KAAmB,EAAE,OAAqB;IAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,kBAAkB,CAAC;IAC9E,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AACvF,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,QAAsB;IAEtB,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc,CAAC,KAAmB;IACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,YAAY,CAAC,OAAqB,EAAE,YAAqB;IAChE,IAAI,YAAY;QAAE,OAAO,eAAe,CAAC;IACzC,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IACrD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,KAAmB,EAAE,OAA4B;IAC5E,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,KAAmB,EACnB,OAA4B;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO;QACL,yEAAyE;QACzE,4EAA4E;QAC5E,qDAAqD;QACrD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;QAC5B,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI;QAC/B,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAC1B,KAAmB,EACnB,QAA0B,EAC1B,UAA+B,EAC/B,YAAkE,EAAE;IAEpE,MAAM,QAAQ,GACZ,QAAQ,CAAC,OAAO,KAAK,IAAI;QACvB,CAAC,CAAC;YACE,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf;QACH,CAAC,CAAC;YACE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/B,SAAS,EACP,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI;gBAClE,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS;YAChC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;YACrC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC7B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;SACpC,CAAC;IACR,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;QACR,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;QACvF,WAAW,EAAE,QAAQ,CAAC,IAAI;QAC1B,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,eAAe,EACb,KAAK,CAAC,oBAAoB,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC7F,0EAA0E;QAC1E,6EAA6E;QAC7E,mDAAmD;QACnD,UAAU,EACR,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,4BAA4B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5F,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK,CAAC,cAAc;YAC9B,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;QACD,cAAc,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE;QACrD,qEAAqE;QACrE,oEAAoE;QACpE,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,8EAA8E;QAC9E,wDAAwD;QACxD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7D,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;SAC/B;QACD,4EAA4E;QAC5E,6EAA6E;QAC7E,eAAe;QACf,iBAAiB,EACf,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpF,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAC7E,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsB,EAAE,KAAmB;IACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,UAAU,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,6EAA6E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,uGAAuG,CAAC;IAChN,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,iEAAiE;IACjE,MAAM,SAAS,GACb,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,oGAAoG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gJAAgJ,CAAC;IAC3R,MAAM,aAAa,GACjB,QAAQ,CAAC,EAAE,KAAK,iCAAiC;QAC/C,CAAC,CAAC,6NAA6N;QAC/N,CAAC,CAAC,EAAE,CAAC;IACT,8EAA8E;IAC9E,gFAAgF;IAChF,6EAA6E;IAC7E,MAAM,UAAU,GACd,QAAQ,CAAC,EAAE,KAAK,sBAAsB;QACpC,CAAC,CAAC,4TAA4T;QAC9T,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,oBAAoB,CAAC;QAC1B,SAAS,EAAE,QAAQ,QAAQ,CAAC,EAAE,EAAE;QAChC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QACvC,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,yEAAyE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,+YAA+Y,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,+KAA+K;QAC1vB,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;QAC5E,mBAAmB,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;QACxE,MAAM,EACJ,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE;YAC7C,CAAC,CAAC;gBACE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;gBAC3C,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB;aACrD;QACP,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5B,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,OAAO;QACL;YACE,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,uGAAuG;YACzG,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/C;QACD;YACE,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,QAAQ,IAAI,0EAA0E;YACxF,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;SAC9C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,YAAY,CAAC,QAAsB,EAAE,KAAmB;IAC/D,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GACX,GAAG,KAAK,IAAI;QACV,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,YAAY,QAAQ,CAAC,KAAK,kCAAkC;gBACzE,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC9B;SACF;QACH,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnB,GAAG,MAAM;YACT,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;gBACzD,CAAC,CAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY;IACnB,OAAO;QACL;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACT,2FAA2F;YAC7F,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SAC9B;QACD;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACT,6FAA6F;YAC/F,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SAC9B;QACD,GAAG,kBAAkB,EAAE;KACxB,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,mCAAmC,GACvC,mKAAmK,CAAC;AAEtK;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAC7B,QAAsB,EACtB,KAAmB,EACnB,OAAoD;IAEpD,OAAO,CACL,QAAQ,CAAC,EAAE,KAAK,0BAA0B;QAC1C,OAAO,CAAC,IAAI,KAAK,mBAAmB;QACpC,KAAK,CAAC,oBAAoB,EAAE,IAAI,KAAK,YAAY,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,QAAsB,EACtB,aAAsC;IAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO;QACL;YACE,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,IAAI,QAAQ,CAAC,KAAK,YAAY,OAAO,uEAAuE;YACzH,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SAC9B;QACD,GAAG,kBAAkB,CACnB,gBAAgB,OAAO,uDAAuD,CAC/E;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,IAAsB,EACtB,OAAqB,EACrB,YAA4C,EAC5C,KAAmB;IAEnB,IAAI,IAAI,KAAK,eAAe,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,KAAmB;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU;YACnC,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,yBAAyB,KAAK,CAAC,SAAS,+DAA+D,CAAC;IAC9G,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,2CAA2C,KAAK,mEAAmE,cAAc,EAAE,CAAC;AAC7I,CAAC;AAED,SAAS,aAAa,CACpB,KAAmB,EACnB,QAAsB,EACtB,QAA0B;IAE1B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,yDAAyD,CAAC;IACzE,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,GAAG,MAAM,kDAAkD,OAAO,CAAC,KAAK,GAAG,CAAC;QACrF,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,4EAA4E;YAC5E,4EAA4E;YAC5E,4EAA4E;YAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YAC1E,OAAO,GAAG,MAAM,mBAAmB,MAAM,iBAAiB,OAAO,UAAU,OAAO,CAAC,KAAK,GAAG,CAAC;QAC9F,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,qEAAqE;YACrE,4EAA4E;YAC5E,4EAA4E;YAC5E,iCAAiC;YACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,IAAI,GACR,MAAM,KAAK,IAAI;gBACb,CAAC,CAAC,OAAO,CAAC,EAAE;gBACZ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC;YACvE,OAAO,YAAY,IAAI,QAAQ,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,qBAAqB,MAAM,MAAM,kFAAkF,QAAQ,uDAAuD,CAAC;QACjP,CAAC;QACD;YACE,OAAO,0BAA0B,OAAO,CAAC,KAAK,sCAAsC,CAAC;IACzF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/application/flow/advance.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,9 @@
25
25
  */
26
26
  import { join } from "node:path";
27
27
  import { dispositionOf } from "../../domain/flow/route.js";
28
- import { withPlanExecBatch, withPlanExecBatchLoop, } from "../../domain/flow/run-state.js";
28
+ import { withPlanExecBatch, withPlanExecBatchLoop, withSettlement, } from "../../domain/flow/run-state.js";
29
29
  import { sealProposal } from "../../domain/proposal.js";
30
+ import { obligationExit } from "../../domain/reconciliation.js";
30
31
  import { runArtifactsCommand } from "../artifacts-service.js";
31
32
  import { appendClaimEvent, claimKey, claimShapedAmong, completedClaimsIn, ledgerPath, openClaimsOf, readClaimEvents, revokedAmong, } from "../claims-ledger.js";
32
33
  import { applyLocalProposal } from "../local-proposal.js";
@@ -35,6 +36,7 @@ import { parsePhases } from "../parsers/phases.js";
35
36
  import { parseTasks } from "../parsers/tasks.js";
36
37
  import { resolveWorkspaceRoot } from "../paths-service.js";
37
38
  import { inferPlanExecBatch, preparePlanExecDoneSeal, publishPlanExecBatch, } from "../plan-exec-batch-service.js";
39
+ import { settlePlanExecObligations } from "../plan-exec-decision-service.js";
38
40
  import { readSessionArtifacts } from "../release-data/artifacts.js";
39
41
  import { canonicalJson } from "../semantic-operation/protocol.js";
40
42
  import { runSessionClose } from "../session-close-service.js";
@@ -42,6 +44,7 @@ import { recordPublication } from "../session-custody-recorder.js";
42
44
  import { runStatusCommand } from "../status-service.js";
43
45
  import { buildWorklineIndex } from "../workline-index-service.js";
44
46
  import { runWorktree } from "../worktree-service.js";
47
+ import { projectRun } from "./run-projection.js";
45
48
  import { applyUnderLock, locateRun, readRun } from "./run-state-service.js";
46
49
  export function internalActionExecutor(deps) {
47
50
  return async (plan, run) => {
@@ -62,6 +65,8 @@ export function internalActionExecutor(deps) {
62
65
  return closeBatch(deps, run);
63
66
  case "plan-exec.plan-done":
64
67
  return sealPlanDone(deps, run);
68
+ case "plan-exec.settlement-publish":
69
+ return publishSettlement(deps, run);
65
70
  }
66
71
  };
67
72
  }
@@ -420,9 +425,15 @@ async function inferBatch(deps, run) {
420
425
  if (next.failure.code !== "PLAN_EXEC_BATCH_NONE_OPEN") {
421
426
  return { ok: false, failure: next.failure };
422
427
  }
428
+ // The loop has ended, which is the one moment the closure can be told
429
+ // what the plan still owes. Snapshotting it HERE — under the same lock,
430
+ // from the board's own reconciliation — is what lets the settlement rows
431
+ // be passed over on their own: the walk stays a pure function of the
432
+ // registry and this state, so a plan that owes nothing closes exactly as
433
+ // it closed before those rows existed.
423
434
  return {
424
435
  ok: true,
425
- state: withPlanExecBatchLoop(current, { pending: false, iteration: null }),
436
+ state: withSettlement(withPlanExecBatchLoop(current, { pending: false, iteration: null }), await settlementSnapshot(deps, scope.plan)),
426
437
  value: { batch: null, created: false, no_work: true },
427
438
  };
428
439
  }
@@ -447,6 +458,100 @@ async function inferBatch(deps, run) {
447
458
  state: inferred.state,
448
459
  };
449
460
  }
461
+ /**
462
+ * Publish the successor of every note whose obligation this closure discharged.
463
+ *
464
+ * It takes nothing from the caller: the obligations are the snapshot the batch
465
+ * loop's end sealed, and what was declared about each of them is the authoring
466
+ * row's own answer, both read from the run's state. What it does is derive and
467
+ * hand them to the same sealed registration the deviation gate uses.
468
+ *
469
+ * A compensation the run declared STILL PENDING stops it here, and that is the
470
+ * point: the closure is not a place to record that work remains, it is the place
471
+ * to finish it. The refusal names the work and the command that comes back.
472
+ */
473
+ async function publishSettlement(deps, run) {
474
+ if (run.scope === null) {
475
+ return refusal("plan-exec.settlement-publish", "la corrida no fijó el plan cuyo saldo debe publicar", canonicalJson({ scope: null }));
476
+ }
477
+ const root = await resolveWorkspaceRoot(deps.fs, deps.env, deps.paths);
478
+ const read = await readRun(deps.fs, locateRun(deps.paths, run.session));
479
+ if (!read.ok) {
480
+ return refusal("plan-exec.settlement-publish", `${read.failure.message} — ${read.failure.action}`, canonicalJson({ failure: read.failure }));
481
+ }
482
+ if (run.state_digest !== undefined && read.state.digest !== run.state_digest) {
483
+ return refusal("plan-exec.settlement-publish", "la corrida cambió mientras se preparaba el saldo", canonicalJson({ expected: run.state_digest, actual: read.state.digest }));
484
+ }
485
+ // Reaching here with nothing declared means the authoring row never answered —
486
+ // it was exhausted and passed over — and publishing "nothing" would credit
487
+ // this plan as owing nothing when it owes everything it owed before.
488
+ const declared = read.state.settlement?.declared ?? [];
489
+ if (declared.length === 0 && (read.state.settlement?.compensations.length ?? 0) > 0) {
490
+ return refusal("plan-exec.settlement-publish", `el plan conserva compensación vigente y la corrida no declaró nada sobre ella: ${(read.state.settlement?.compensations ?? []).map((o) => `${o.note}: ${o.text}`).join("; ")} — devolvele sus intentos a la frontera de autoría con 'aw flow recover --session ${run.session}' y declará el saldo`, canonicalJson({ declared: [], compensations: read.state.settlement?.compensations ?? [] }));
491
+ }
492
+ const settled = await settlePlanExecObligations(deps.fs, deps.paths, {
493
+ root,
494
+ plan: run.scope.plan,
495
+ // This run, at its closure: saying so is more honest than borrowing the
496
+ // phase of a batch that is already integrated.
497
+ execution: () => ({ session: run.session, phase: "cierre" }),
498
+ date: new Date().toISOString().slice(0, 10),
499
+ declarations: declared.map((declaration) => ({
500
+ note: declaration.note,
501
+ index: declaration.index,
502
+ outcome: declaration.outcome,
503
+ ...(declaration.evidence === undefined ? {} : { evidence: declaration.evidence }),
504
+ })),
505
+ });
506
+ if (!settled.ok) {
507
+ return refusal("plan-exec.settlement-publish", `${settled.failure.message} — ${settled.failure.action}`, canonicalJson({ failure: settled.failure }));
508
+ }
509
+ if (settled.published.length === 0) {
510
+ return refusal("plan-exec.settlement-publish", "ninguna declaración cambia la cadena: no hay saldo que publicar y el plan sigue debiendo lo mismo", canonicalJson({ declared }));
511
+ }
512
+ return {
513
+ ok: true,
514
+ summary: `saldo publicado: ${settled.published.map((note) => note.id).join(", ")}`,
515
+ output: canonicalJson({
516
+ published: settled.published.map((note) => note.id),
517
+ settled: settled.settled,
518
+ reconciliation: settled.reconciliation,
519
+ }),
520
+ // A successor landed, or was already on disk from an interrupted run — and
521
+ // either way the index it joined existed, so overwriting is what happened.
522
+ effects: ["mutate_overwrite"],
523
+ };
524
+ }
525
+ /**
526
+ * What the plan owes when its last batch closed, read from the board.
527
+ *
528
+ * From the board and not from a second walk of the chain: `aw status` already
529
+ * decides which notes are in force, which obligations they carry and which of
530
+ * them are compensations, and a closure computing that again would be a second
531
+ * authority on whether a plan may close. A plan the board cannot judge at all —
532
+ * unsealed baseline, no chain — owes nothing, which is the same answer the board
533
+ * gives and the same one the closure gave before this row existed.
534
+ */
535
+ async function settlementSnapshot(deps, plan) {
536
+ const index = await buildWorklineIndex(deps.fs, deps.env, deps.paths, { git: deps.git });
537
+ const found = index.plans.find((candidate) => candidate.file === plan);
538
+ // A lineage that does not COMPOSE reports its own refusal as what is owed — an
539
+ // unreadable chain, an overlap — and those pending entries name no note.
540
+ // Offering them for settlement would ask the closure to discharge a parse
541
+ // error, and the publication would then go looking for a note called
542
+ // "composición". That refusal is `plan-done`'s, which reports it as what it is.
543
+ const reconciliation = found?.contract === null ? undefined : found?.reconciliation;
544
+ const owed = (obligations) => obligations.map((obligation) => ({
545
+ note: obligation.by,
546
+ index: obligation.index,
547
+ text: obligation.text,
548
+ legacy: obligation.legacy,
549
+ }));
550
+ return {
551
+ compensations: owed(reconciliation?.pending ?? []),
552
+ handoffs: owed(reconciliation?.handoffs ?? []),
553
+ };
554
+ }
450
555
  /**
451
556
  * Close the already inferred real batch, not a human-declared list of effects.
452
557
  *
@@ -497,6 +602,13 @@ async function closeBatch(deps, run) {
497
602
  if (!published.ok) {
498
603
  return refusal("plan-exec.batch-close", `${published.failure.message} — ${published.failure.action}`, canonicalJson({ failure: published.failure }));
499
604
  }
605
+ // THE LOOP ENDS HERE, and this is the only place that knows it: the publisher
606
+ // derives the next cursor from the exact bytes it just wrote, and when nothing
607
+ // is left open it sets `pending: false` — which means the inference row is
608
+ // never walked again, and a snapshot taken only there would never exist for a
609
+ // run that actually executed work. So the closure is told what the plan still
610
+ // owes at the moment its last batch lands.
611
+ const state = await recordSettlementOwed(deps, run, published.state);
500
612
  return {
501
613
  ok: true,
502
614
  summary: published.already_applied
@@ -508,9 +620,33 @@ async function closeBatch(deps, run) {
508
620
  already_applied: published.already_applied,
509
621
  }),
510
622
  effects: ["mutate_overwrite"],
511
- state: published.state,
623
+ state,
512
624
  };
513
625
  }
626
+ /**
627
+ * Seal what the plan owes into the run, once the batch loop has ended.
628
+ *
629
+ * Persisted and not merely returned: the driver settles against the digest this
630
+ * state carries, so a snapshot that lived only in memory would fail its own
631
+ * compare-and-swap. A loop still running gets nothing — there is no closure to
632
+ * inform yet — and a state that cannot be written keeps the one it had, which
633
+ * leaves the settlement rows passed over and `plan-done` refusing on its own
634
+ * terms: the same answer, one step later.
635
+ */
636
+ async function recordSettlementOwed(deps, run, published) {
637
+ if (published.batch_loop?.pending !== false || run.scope === null)
638
+ return published;
639
+ const owed = await settlementSnapshot(deps, run.scope.plan);
640
+ const sealed = await applyUnderLock(deps.fs, locateRun(deps.paths, run.session), (live) => live === null
641
+ ? { ok: false, failure: RUN_GONE }
642
+ : { ok: true, state: withSettlement(live, owed), value: null }, { expectDigest: published.digest });
643
+ return sealed.ok ? sealed.state : published;
644
+ }
645
+ const RUN_GONE = {
646
+ code: "FLOW_RUN_ABSENT",
647
+ message: "la corrida desapareció antes de sellar lo que el plan debe",
648
+ action: "reanudá la corrida con 'aw flow advance' antes de cerrar el batch",
649
+ };
514
650
  const PLAN_DONE_REQUIRED_TRANSITIONS = [
515
651
  "plan-exec.final-validation",
516
652
  "plan-exec.commit-execution",
@@ -585,7 +721,7 @@ async function sealPlanDone(deps, run) {
585
721
  // The index is re-read while the document publication holds the workspace
586
722
  // lock. This closes the decision-note race: a new compensatory obligation
587
723
  // cannot appear between the run's earlier reading and a `done` write.
588
- precondition: () => planDonePrecondition(deps, run.scope?.plan ?? ""),
724
+ precondition: () => planDonePrecondition(deps, run.scope?.plan ?? "", run.session),
589
725
  });
590
726
  if (!applied.ok) {
591
727
  return refusal("plan-exec.plan-done", `${applied.failure.message} — ${applied.failure.action}`, canonicalJson({ failure: applied.failure }));
@@ -633,7 +769,7 @@ function planDoneClosure(state, session) {
633
769
  return `validación final, commits e integración acreditados por la corrida ${session}`;
634
770
  }
635
771
  /** The documentary checks that must pass in the same critical section as done. */
636
- async function planDonePrecondition(deps, path) {
772
+ export async function planDonePrecondition(deps, path, session) {
637
773
  const index = await buildWorklineIndex(deps.fs, deps.env, deps.paths, { git: deps.git });
638
774
  if (index.docs_canon_error !== undefined) {
639
775
  return {
@@ -658,10 +794,34 @@ async function planDonePrecondition(deps, path) {
658
794
  };
659
795
  }
660
796
  if (plan.reconciliation !== null && !plan.reconciliation.closable) {
797
+ // The SAME derivation the board's headline and the pipeline row come from.
798
+ // The run is this one: `plan-done` executes inside it, so the exit it needs
799
+ // is its own next boundary — the board asks the same question of a plan it
800
+ // is only looking at, and gets the answer for whichever run holds it.
801
+ //
802
+ // And the command is READ from the projection, not spelled here. The two
803
+ // agreed by accident: at an internal boundary the projection happens to
804
+ // return exactly `aw flow advance --code <NNN>`. It does not have to — a
805
+ // legacy run refuses a bare `advance` and needs `--flow … --adopt`, and only
806
+ // the projection knows that. Synthesizing it was the third derivation this
807
+ // phase set out to remove.
808
+ const run = await projectRun(deps.fs, deps.paths, session);
809
+ const exit = obligationExit(plan.reconciliation, {
810
+ plan: path,
811
+ current_point: plan.current_point,
812
+ run: {
813
+ session,
814
+ // `plan-done` runs inside a live run, so the projection is there; the
815
+ // fallback is the shape TypeScript needs, not a case anybody reaches.
816
+ command: run?.command ?? `aw flow advance --code ${session}`,
817
+ why: "tiene la corrida de ejecución que llegó a este cierre",
818
+ },
819
+ });
661
820
  return {
662
821
  code: "PLAN_EXEC_DONE_RECONCILIATION_PENDING",
663
- message: `${path} conserva obligaciones de reconciliación`,
664
- action: `resolvé la compensación desde ${plan.reconciliation.resume_point ?? "su punto de reanudación"} antes de cerrar`,
822
+ message: exit === null ? `${path} conserva obligaciones de reconciliación` : exit.headline,
823
+ action: exit?.action ??
824
+ `resolvé la compensación vigente de '${path}' y volvé a sellar: 'aw settle prepare ${path}' la lista`,
665
825
  };
666
826
  }
667
827
  if (plan.baseline.status === "divergent" ||