odai-dsh-agent 0.2.23 → 0.2.26

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 (63) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +155 -155
  3. package/build/bin/odai-dsh-agent.mjs +26 -19
  4. package/build/bin/odai-dsh-agent.mjs.map +1 -1
  5. package/build/src/control-center-installer.d.mts.map +1 -1
  6. package/build/src/control-center-installer.mjs +90 -50
  7. package/build/src/control-center-installer.mjs.map +1 -1
  8. package/build/src/installer.d.mts +3 -0
  9. package/build/src/installer.d.mts.map +1 -1
  10. package/build/src/installer.mjs +145 -24
  11. package/build/src/installer.mjs.map +1 -1
  12. package/build/src/operation-lock.d.mts +2 -0
  13. package/build/src/operation-lock.d.mts.map +1 -0
  14. package/build/src/operation-lock.mjs +48 -0
  15. package/build/src/operation-lock.mjs.map +1 -0
  16. package/client/client.js +12 -12
  17. package/control-center.cordis.patch.yml +3 -3
  18. package/package.json +90 -90
  19. package/preset/odai/agent.cordis.yml +260 -260
  20. package/preset/odai/preset.yml +3 -3
  21. package/preset/odai/runtime/governance.d.mts +2 -0
  22. package/preset/odai/runtime/governance.d.mts.map +1 -1
  23. package/preset/odai/runtime/governance.mjs +15 -4
  24. package/preset/odai/runtime/governance.mjs.map +1 -1
  25. package/preset/odai/runtime/model-route.d.mts.map +1 -1
  26. package/preset/odai/runtime/model-route.mjs +21 -14
  27. package/preset/odai/runtime/model-route.mjs.map +1 -1
  28. package/preset/odai/runtime/role-overlays.mjs +8 -8
  29. package/preset/odai/runtime/semantic-memory.d.mts.map +1 -1
  30. package/preset/odai/runtime/semantic-memory.mjs +63 -25
  31. package/preset/odai/runtime/semantic-memory.mjs.map +1 -1
  32. package/preset/odai/runtime/session-evidence.d.mts.map +1 -1
  33. package/preset/odai/runtime/session-evidence.mjs +4 -104
  34. package/preset/odai/runtime/session-evidence.mjs.map +1 -1
  35. package/preset/odai/runtime/store-lock.d.mts.map +1 -1
  36. package/preset/odai/runtime/store-lock.mjs +42 -11
  37. package/preset/odai/runtime/store-lock.mjs.map +1 -1
  38. package/preset/odai/skills/odai/SKILL.md +70 -68
  39. package/preset/odai/skills/odai/agents/openai.yaml +4 -4
  40. package/preset/odai/skills/odai/assets/claude-agents/agent.md +11 -11
  41. package/preset/odai/skills/odai/assets/codex-agents/config.toml +11 -11
  42. package/preset/odai/skills/odai/assets/codex-agents/role.toml +5 -5
  43. package/preset/odai/skills/odai/assets/copilot-agents/agent.md +13 -13
  44. package/preset/odai/skills/odai/assets/hooks-policy.example.json +24 -24
  45. package/preset/odai/skills/odai/assets/routing-roles/controller.md +15 -15
  46. package/preset/odai/skills/odai/assets/routing-roles/frontend.md +7 -7
  47. package/preset/odai/skills/odai/assets/routing-roles/planner.md +28 -28
  48. package/preset/odai/skills/odai/assets/routing-roles/researcher.md +7 -7
  49. package/preset/odai/skills/odai/assets/routing-roles/reviewer.md +11 -11
  50. package/preset/odai/skills/odai/assets/task-state.md +14 -14
  51. package/preset/odai/skills/odai/manifest.json +52 -52
  52. package/preset/odai/skills/odai/references/craft.md +54 -54
  53. package/preset/odai/skills/odai/references/dao.md +32 -31
  54. package/preset/odai/skills/odai/references/leverage.md +53 -50
  55. package/preset/odai/skills/odai/references/planning.md +83 -83
  56. package/preset/odai/skills/odai/references/support.md +31 -30
  57. package/preset/odai/skills/odai/references/verification.md +24 -24
  58. package/preset/odai/skills/odai/scripts/build-hooks.mjs +273 -273
  59. package/preset/odai/skills/odai/scripts/build-routing.mjs +315 -315
  60. package/preset/odai/skills/odai/scripts/install-routing.mjs +448 -393
  61. package/preset/odai/skills/odai/scripts/odai-hook.mjs +457 -457
  62. package/preset/odai/skills/odai/scripts/run-role.mjs +285 -285
  63. package/preset/odai/skills/odai/scripts/verify-routing.mjs +103 -103
@@ -22,33 +22,40 @@ const TRANSIENT_CODES = new Set([
22
22
  function nestedFailure(error) {
23
23
  return isUnknownRecord(error.failure) ? error.failure : undefined;
24
24
  }
25
- function errorCode(error) {
26
- if (!isUnknownRecord(error))
27
- return "UNKNOWN";
28
- const code = error.code ?? nestedFailure(error)?.code;
29
- return typeof code === "string" && code.trim() ? code.trim().toUpperCase() : "UNKNOWN";
25
+ function normalizedCode(value) {
26
+ return typeof value === "string" && value.trim() ? value.trim().toUpperCase() : undefined;
27
+ }
28
+ function knownCode(code) {
29
+ return code === "ABORTED"
30
+ || (code !== undefined && (DETERMINISTIC_CODES.has(code) || ENVIRONMENT_CODES.has(code) || TRANSIENT_CODES.has(code)));
30
31
  }
31
- function errorMessage(error) {
32
+ function failureDetails(error) {
32
33
  if (!isUnknownRecord(error))
33
- return String(error);
34
- const message = error.message ?? nestedFailure(error)?.message;
35
- return typeof message === "string" && message.trim() ? message.trim() : String(error);
34
+ return { code: "UNKNOWN", message: String(error) };
35
+ const nested = nestedFailure(error);
36
+ const outerCode = normalizedCode(error.code);
37
+ const nestedCode = normalizedCode(nested?.code);
38
+ const selected = knownCode(outerCode) || nestedCode === undefined ? error : nested;
39
+ const message = selected?.message ?? error.message ?? nested?.message;
40
+ return {
41
+ code: selected === nested ? nestedCode ?? "UNKNOWN" : outerCode ?? "UNKNOWN",
42
+ message: typeof message === "string" && message.trim() ? message.trim() : String(error),
43
+ };
36
44
  }
37
45
  function explicitMissingModel(message) {
38
46
  return /(?:\bmodel\b[^\n]{0,80}\b(?:not found|does not exist|unknown|unsupported)\b)|(?:\b(?:not found|unknown)\b[^\n]{0,80}\bmodel\b)|(?:\bmodel_not_found\b)/iu.test(message);
39
47
  }
40
48
  export function classifyModelRouteFailure(error) {
41
- const code = errorCode(error);
42
- const message = errorMessage(error);
49
+ const { code, message } = failureDetails(error);
43
50
  let kind = "unknown";
44
- if (DETERMINISTIC_CODES.has(code) || explicitMissingModel(message))
45
- kind = "deterministic";
46
- else if (ENVIRONMENT_CODES.has(code))
51
+ if (ENVIRONMENT_CODES.has(code))
47
52
  kind = "environment";
48
53
  else if (TRANSIENT_CODES.has(code))
49
54
  kind = "transient";
50
55
  else if (code === "ABORTED")
51
56
  kind = "cancelled";
57
+ else if (DETERMINISTIC_CODES.has(code) || explicitMissingModel(message))
58
+ kind = "deterministic";
52
59
  return Object.freeze({ kind, code, message });
53
60
  }
54
61
  export async function probeModelRoute(resolveCallConfig, route, signal) {
@@ -1 +1 @@
1
- {"version":3,"file":"model-route.mjs","sourceRoot":"","sources":["../src/model-route.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-route.mjs","sourceRoot":"","sources":["../src/model-route.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS;IAC1C,YAAY;IACZ,eAAe;IACf,8BAA8B;IAC9B,eAAe;IACf,sBAAsB;IACtB,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS;IACxC,MAAM;IACN,oBAAoB;IACpB,YAAY;IACZ,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;IACtC,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,WAAW;CACZ,CAAC,CAAC;AAoBH,SAAS,aAAa,CAAC,KAAoB;IACzC,OAAO,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC;AAED,SAAS,SAAS,CAAC,IAAwB;IACzC,OAAO,IAAI,KAAK,SAAS;WACpB,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3H,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACnF,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,CAAC;IACtE,OAAO;QACL,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS;QAC5E,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,OAAO,0JAA0J,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClL,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,IAAI,GAA0B,SAAS,CAAC;IAC5C,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,aAAa,CAAC;SACjD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,WAAW,CAAC;SAClD,IAAI,IAAI,KAAK,SAAS;QAAE,IAAI,GAAG,WAAW,CAAC;SAC3C,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC;QAAE,IAAI,GAAG,eAAe,CAAC;IAChG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,iBAAgD,EAChD,KAAiB,EACjB,MAAoB;IAEpB,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1E,CAAC,CAAC,QAAQ,CAAC,MAAM;YACjB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,iBAAgD,EAChD,KAAiB,EACjB,MAAoB,EACpB,OAAO,GAAG,aAAa;IAEvB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,IAAI,KAAK,CAAC,GAAG,OAAO,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EACnF,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CACrE,CAAC;IACF,MAAM,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAA4C,EAC5C,KAA6C;IAE7C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,MAAM,GAAkC,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IACpG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,15 +1,15 @@
1
1
  const DSH_ROLE_OVERLAYS = Object.freeze({
2
- researcher: `## DSH researcher execution boundary
3
-
2
+ researcher: `## DSH researcher execution boundary
3
+
4
4
  This responsibility is always read-only. In child dispatch, return JSON only, with no fence and no fields beyond this exact shape: {"schemaVersion":1,"question":"...","facts":[{"claim":"...","excerpt":"exact complete cited line","source":{"path":"repository/relative/path","line":1},"authority":"source role and freshness boundary"}],"conflicts":[],"unknowns":[],"stop":"..."}. In same-turn dispatch, build that same bounded packet, then call odai_responsibility_return with target=controller, the packet as summary, and decisive source references; never emit a terminal response. Use only read, glob, grep, and other non-mutating source tools; do not run shell commands, edit, plan, recommend, approve, or delegate. Return the smallest useful 2-6 facts from at least two distinct files. DSH validates child packet citations inside the project root before exposing them; the controller must independently verify any same-turn handback that changes a decision.`,
5
- planner: `## DSH planner execution boundary
6
-
5
+ planner: `## DSH planner execution boundary
6
+
7
7
  This responsibility is read-only in both dispatch modes. Child dispatch receives a bounded packet and returns its plan to the controller automatically. Same-turn dispatch retains the current conversation and project context; when complete it must call odai_responsibility_return with target=controller instead of emitting a terminal response. When the user-persisted planner mapping explicitly includes maxTokens, that responsibility ceiling overrides the controller ceiling only inside a same-turn scope. Do not implement or edit. For plan-only work, a new task, expanded scope, or missing user-owned authorization, return to controller for the minimum user decision.`,
8
- reviewer: `## DSH reviewer execution boundary
9
-
8
+ reviewer: `## DSH reviewer execution boundary
9
+
10
10
  Child dispatch starts only from a bounded, hash-addressed packet that contains verified tool evidence. A frozen requirements ledger, when present, contains controller-normalized decisions whose exact excerpts and ordering were verified against authenticated direct-user messages; that source binding does not prove the normalized meaning or replacement semantics. Check each claimed replacement against its excerpts, and use only active entries for coverage after that check. Without the ledger, do not infer coverage from controller prose or supersede requirements yourself. The child's effective request header must match its configured route before its output is accepted. Same-turn dispatch is a read-only non-independent check; it must call odai_responsibility_return with target=controller and must never claim independent acceptance. Without a sufficient child packet, the recorded reviewer gap remains pending for silent reassessment after new acceptance, write, diff, test, check, failure, or host-evidence diagnostics; report the missing packet only once for that proposal. A controller-local or same-turn check may guide evidence gathering, but it must not stop the authorized task solely to ask the user for artifacts the project can produce.`,
11
- frontend: `## DSH frontend execution boundary
12
-
11
+ frontend: `## DSH frontend execution boundary
12
+
13
13
  Same-turn dispatch runs in one bounded controller responsibility scope, is not an independent child, retains the active conversation, workspace, dev-server, and browser context, and may perform the authorized frontend implementation. Child dispatch is read-only design responsibility: inspect the bounded packet, return concrete design, interaction, state, and acceptance guidance, and leave all edits, shell work, dev-server control, browser execution, and final delivery to the controller. DSH may use a user-persisted frontend provider/model/reasoning route and, only when that mapping explicitly includes maxTokens, apply that responsibility ceiling inside a same-turn scope or child request. The runtime compares the effective DSH request header with that mapping and records an applied, mismatch, or unverified receipt; configuration and self-report are not routing evidence.`,
14
14
  });
15
15
  export function dshRoleContract(role, canonicalContract, referenceContracts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-memory.d.mts","sourceRoot":"","sources":["../src/semantic-memory.mts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAEhB,gBAAgB,EAChB,UAAU,EAKX,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,QAAQ,EAER,UAAU,EACV,WAAW,EAEX,aAAa,EACd,MAAM,qBAAqB,CAAC;AAG7B,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAOD,UAAU,mBAAmB;IAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAC3G,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACtC;AAWD,UAAU,iBAAkB,SAAQ,aAAa;IAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC7E,UAAU,yBAAyB;IACjC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACjE;AAED,UAAU,mBAAoB,SAAQ,aAAa;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AACD,UAAU,oBAAqB,SAAQ,aAAa;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAqFD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAY9F;AASD,eAAO,MAAM,aAAa,QAOd,CAAC;AAMb,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAU7D;AAwCD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,EAChC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,UAAU,GAAG,SAAS,CAqCxB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AAyED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAmB7G;AAgHD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,SAAS,QAAQ,CAAC,aAAa,CAAC,EAAE,CAgCrH;AAqBD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,SAAS,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CA4C7H;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,GAAG,MAAM,CAS5F;AA8ED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,yBAA8B,GACtC,WAAW,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAwRxD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAWtE"}
1
+ {"version":3,"file":"semantic-memory.d.mts","sourceRoot":"","sources":["../src/semantic-memory.mts"],"names":[],"mappings":"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"}
@@ -97,12 +97,27 @@ export function claimSemanticMemoryTurn(agent, turn, step) {
97
97
  keys.add(key);
98
98
  return true;
99
99
  }
100
- const MANAGEMENT_INTENT = Object.freeze({
101
- confirm: /(?:确认|接受|启用|采用).{0,16}(?:记忆|候选)|\b(?:confirm|accept|activate)\b.{0,16}\bmemory\b/iu,
102
- correct: /(?:更正|纠正|修改|改写|改为|改成).{0,24}(?:记忆|偏好|决定|约束)|\b(?:correct|update|change)\b.{0,24}\bmemory\b/iu,
103
- forget: /(?:忘掉|忘记|删除|移除|清除).{0,24}(?:记忆|偏好|决定|约束)|\b(?:forget|delete|remove)\b.{0,24}\bmemory\b/iu,
104
- mode: /(?:开启|启用|关闭|停用).{0,16}(?:长期|语义)?记忆|(?:长期|语义)?记忆.{0,16}(?:开启|启用|关闭|停用)|\b(?:enable|disable|turn on|turn off)\b.{0,24}\bmemory\b/iu,
105
- });
100
+ const COMMAND_END = "[。.!!]?";
101
+ function escapedPattern(value) {
102
+ return value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
103
+ }
104
+ function exactIdCommand(action, id) {
105
+ const verb = action === "confirm" ? "(?:确认|接受|采用|启用)" : "(?:忘掉|忘记|删除|移除|清除)";
106
+ const englishVerb = action === "confirm" ? "(?:confirm|accept|activate)" : "(?:forget|delete|remove)";
107
+ const literal = escapedPattern(id);
108
+ return new RegExp(`^(?:请\\s*)?(?:${verb}(?:这条|该条)?(?:候选)?记忆|(?:please\\s+)?${englishVerb}(?:\\s+(?:this|the))?\\s+(?:candidate\\s+)?memory(?:\\s+(?:with\\s+)?id)?)[\\s:#:]*${literal}${COMMAND_END}$`, "iu");
109
+ }
110
+ function exactCorrectionCommand(excerpt) {
111
+ const literal = escapedPattern(normalizeWhitespace(excerpt));
112
+ return new RegExp(`^(?:请\\s*)?(?:(?:更正|纠正|修改|改写)(?:这条|该条)?(?:记忆|偏好|决定|约束)?[\\s::]*|(?:把|将).{1,128}?(?:改为|改成)[\\s::]*|(?:please\\s+)?(?:correct|update|change)(?:\\s+(?:this|the))?\\s+(?:memory|preference|decision|constraint)(?:\\s+to)?[\\s::]*)${literal}${COMMAND_END}$`, "iu");
113
+ }
114
+ function exactModeCommand(mode, excerpt) {
115
+ const direction = mode === "auto"
116
+ ? "(?:(?:开启|启用)(?:长期|语义)?记忆|(?:长期|语义)?记忆(?:开启|启用)|(?:enable|turn on)\\s+(?:long-term\\s+|semantic\\s+)?memory)"
117
+ : "(?:(?:关闭|停用|禁用)(?:长期|语义)?记忆|(?:长期|语义)?记忆(?:关闭|停用|禁用)|(?:disable|turn off)\\s+(?:long-term\\s+|semantic\\s+)?memory)";
118
+ const literal = escapedPattern(normalizeWhitespace(excerpt));
119
+ return new RegExp(`^(?:请\\s*|please\\s+)?(?=${direction}${COMMAND_END}$)${literal}${COMMAND_END}$`, "iu");
120
+ }
106
121
  export const MEMORY_PROMPT = [
107
122
  "## Odai long-term semantic memory",
108
123
  "Odai maintains local, scoped semantic memory under DSH_HOME. The runtime automatically captures only high-confidence durable preferences, settled decisions, and standing constraints from the direct-human message authenticated by the latest open-turn session event; it makes no hidden provider, model, embedding, subagent, or compaction call.",
@@ -250,13 +265,23 @@ function inferredSubject(value, category) {
250
265
  function sentenceSegments(text) {
251
266
  const segments = [];
252
267
  let fenced = false;
268
+ let quotedBlock = false;
253
269
  for (const line of text.split(/\r?\n/u)) {
270
+ const trimmed = line.trim();
254
271
  if (/^\s*```/u.test(line)) {
255
272
  fenced = !fenced;
256
273
  continue;
257
274
  }
258
- if (fenced || /^\s*>/u.test(line))
275
+ if (trimmed === "") {
276
+ quotedBlock = false;
277
+ continue;
278
+ }
279
+ if (fenced || /^\s*>/u.test(line) || quotedBlock)
259
280
  continue;
281
+ if (/[::]\s*$/u.test(trimmed) && matchesAny(trimmed, QUOTED_OR_REPORTED_PATTERNS)) {
282
+ quotedBlock = true;
283
+ continue;
284
+ }
260
285
  for (const match of line.matchAll(/[^。!?!?;;]+[。!?!?;;]?/gu)) {
261
286
  const value = match[0].trim();
262
287
  if (value)
@@ -555,10 +580,20 @@ function requireCurrentExcerpt(agent, excerpt) {
555
580
  throw new Error("excerpt must occur byte-for-byte in the current open turn's latest direct human message");
556
581
  return { message, text };
557
582
  }
558
- function requireManagementIntent(text, action) {
559
- const pattern = MANAGEMENT_INTENT[action];
560
- if (!pattern?.test(text))
561
- throw new Error(`the current direct human message does not authorize memory ${action}`);
583
+ function requireManagementIntent(text, request) {
584
+ const command = normalizeWhitespace(text);
585
+ let authorized = false;
586
+ if (request.action === "confirm" || request.action === "forget") {
587
+ authorized = exactIdCommand(request.action, request.id).test(command);
588
+ }
589
+ else if (request.action === "correct") {
590
+ authorized = exactCorrectionCommand(request.excerpt).test(command);
591
+ }
592
+ else {
593
+ authorized = exactModeCommand(request.mode, request.excerpt).test(command);
594
+ }
595
+ if (!authorized)
596
+ throw new Error(`the current direct human message does not authorize memory ${request.action}`);
562
597
  }
563
598
  function scopeForRequest(scope, cwd, excerpt) {
564
599
  if (scope === "session")
@@ -727,8 +762,11 @@ export function createSemanticMemoryTool(storePath, options = {}) {
727
762
  if (!isMemoryMode(args.mode))
728
763
  throw new TypeError("mode must be auto or off");
729
764
  const mode = args.mode;
730
- const { text } = requireCurrentExcerpt(agent, args.excerpt);
731
- requireManagementIntent(text, "mode");
765
+ if (typeof args.excerpt !== "string")
766
+ throw new TypeError("excerpt is required for set-mode");
767
+ const excerpt = args.excerpt;
768
+ const { text } = requireCurrentExcerpt(agent, excerpt);
769
+ requireManagementIntent(text, { action: "set-mode", mode, excerpt });
732
770
  const result = mutateMemoryStore(storePath, (store) => {
733
771
  if (store.settings.mode === mode)
734
772
  return { changed: false, reasonCode: "unchanged" };
@@ -748,7 +786,7 @@ export function createSemanticMemoryTool(storePath, options = {}) {
748
786
  throw new TypeError("excerpt is required for consider/correct");
749
787
  const { message, text } = requireCurrentExcerpt(agent, args.excerpt);
750
788
  if (args.action === "correct")
751
- requireManagementIntent(text, "correct");
789
+ requireManagementIntent(text, { action: "correct", excerpt: args.excerpt });
752
790
  if (!isMemoryCategory(args.category))
753
791
  throw new TypeError("category is required for consider/correct");
754
792
  if (typeof args.subject !== "string")
@@ -797,14 +835,14 @@ export function createSemanticMemoryTool(storePath, options = {}) {
797
835
  const currentText = messageText(current);
798
836
  if (!current)
799
837
  throw new Error("a current open turn with a direct human message is required");
800
- if (["confirm", "forget"].includes(args.action)
801
- && (typeof args.id !== "string" || args.id === "")) {
838
+ const requestedId = typeof args.id === "string" ? args.id : "";
839
+ if (["confirm", "forget"].includes(args.action) && requestedId === "") {
802
840
  throw new TypeError("id is required for confirm/forget");
803
841
  }
804
842
  if (args.action === "confirm") {
805
- requireManagementIntent(currentText, "confirm");
843
+ requireManagementIntent(currentText, { action: "confirm", id: requestedId });
806
844
  const result = mutateMemoryStore(storePath, (store) => {
807
- const entry = accessibleEntries(store, cwd).find((item) => item.id === args.id);
845
+ const entry = accessibleEntries(store, cwd).find((item) => item.id === requestedId);
808
846
  if (!entry)
809
847
  return { changed: false, reasonCode: "not-found" };
810
848
  if (suppressesGovernance(entry.value))
@@ -828,29 +866,29 @@ export function createSemanticMemoryTool(storePath, options = {}) {
828
866
  return { changed: true, reasonCode: "confirmed", entry: entrySummary(entry) };
829
867
  });
830
868
  if (result.changed)
831
- onChanged(agent, { action: "confirm", id: args.id });
869
+ onChanged(agent, { action: "confirm", id: requestedId });
832
870
  return Promise.resolve(resultValue("confirm", settings, storePath, result.entry ? [result.entry] : [], {
833
871
  changed: result.changed,
834
872
  reasonCode: result.reasonCode,
835
873
  }));
836
874
  }
837
875
  if (args.action === "forget") {
838
- requireManagementIntent(currentText, "forget");
876
+ requireManagementIntent(currentText, { action: "forget", id: requestedId });
839
877
  const result = mutateMemoryStore(storePath, (store) => {
840
878
  const visible = accessibleEntries(store, cwd);
841
- if (!visible.some((entry) => entry.id === args.id))
879
+ if (!visible.some((entry) => entry.id === requestedId))
842
880
  return { changed: false, reasonCode: "not-found" };
843
881
  store.entries = store.entries
844
- .filter((entry) => entry.id !== args.id)
882
+ .filter((entry) => entry.id !== requestedId)
845
883
  .map((entry) => ({
846
884
  ...entry,
847
- supersedes: entry.supersedes.filter((id) => id !== args.id),
848
- conflictsWith: entry.conflictsWith.filter((id) => id !== args.id),
885
+ supersedes: entry.supersedes.filter((id) => id !== requestedId),
886
+ conflictsWith: entry.conflictsWith.filter((id) => id !== requestedId),
849
887
  }));
850
888
  return { changed: true, reasonCode: "forgotten" };
851
889
  });
852
890
  if (result.changed)
853
- onChanged(agent, { action: "forget", id: args.id });
891
+ onChanged(agent, { action: "forget", id: requestedId });
854
892
  return Promise.resolve(resultValue("forget", settings, storePath, [], {
855
893
  changed: result.changed,
856
894
  reasonCode: result.reasonCode,
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-memory.mjs","sourceRoot":"","sources":["../src/semantic-memory.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-memory.mjs","sourceRoot":"","sources":["../src/semantic-memory.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAoBrC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAqErE,MAAM,gBAAgB,GAAG;IACvB,0DAA0D;IAC1D,8DAA8D;IAC9D,+CAA+C;IAC/C,8IAA8I;CAC/I,CAAC;AACF,MAAM,mBAAmB,GAAG;IAC1B,yCAAyC;CAC1C,CAAC;AACF,MAAM,mBAAmB,GAAG;IAC1B,2CAA2C;IAC3C,mFAAmF;CACpF,CAAC;AACF,MAAM,kBAAkB,GAAG;IACzB,sCAAsC;IACtC,qCAAqC;IACrC,qFAAqF;CACtF,CAAC;AACF,MAAM,2BAA2B,GAAG;IAClC,wCAAwC;IACxC,wFAAwF;CACzF,CAAC;AACF,MAAM,oBAAoB,GAAG;IAC3B,8EAA8E;IAC9E,gGAAgG;CACjG,CAAC;AACF,MAAM,+BAA+B,GAAG;IACtC,mIAAmI;IACnI,kGAAkG;IAClG,uPAAuP;IACvP,gJAAgJ;IAChJ,8FAA8F;IAC9F,iGAAiG;IACjG,sMAAsM;IACtM,+JAA+J;IAC/J,8YAA8Y;IAC9Y,iYAAiY;IACjY,wLAAwL;IACxL,6IAA6I;CAC9I,CAAC;AACF,MAAM,kBAAkB,GAAG;IACzB,qCAAqC;IACrC,gFAAgF;IAChF,+FAA+F;IAC/F,oEAAoE;IACpE,6CAA6C;IAC7C,0BAA0B;IAC1B,0BAA0B;IAC1B,mEAAmE;IACnE,8HAA8H;IAC9H,kVAAkV;CACnV,CAAC;AACF,MAAM,qBAAqB,GAAG;IAC5B,iCAAiC;IACjC,kEAAkE;CACnE,CAAC;AACF,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAC/E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC,CAAC;AACtI,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5F,CAAC;AACD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AACD,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC;AAGD,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,UAAqD,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzC,IAAI,QAAQ,YAAY,OAAO;QAAE,OAAO,QAAQ,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAuB,CAAC;IACnD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE;QAC7C,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAe,EAAE,IAAa,EAAE,IAAa;IACnF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpH,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,MAA4B,EAAE,EAAU;IAC9D,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC7E,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,0BAA0B,CAAC;IACtG,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,IAAI,MAAM,CACf,iBAAiB,IAAI,sCAAsC,WAAW,sFAAsF,OAAO,GAAG,WAAW,GAAG,EACpL,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,OAAO,IAAI,MAAM,CACf,mOAAmO,OAAO,GAAG,WAAW,GAAG,EAC3P,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAgB,EAAE,OAAe;IACzD,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM;QAC/B,CAAC,CAAC,6GAA6G;QAC/G,CAAC,CAAC,qHAAqH,CAAC;IAC1H,MAAM,OAAO,GAAG,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,OAAO,IAAI,MAAM,CAAC,4BAA4B,SAAS,GAAG,WAAW,KAAK,OAAO,GAAG,WAAW,GAAG,EAAE,IAAI,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,mCAAmC;IACnC,uVAAuV;IACvV,uaAAua;IACva,+hBAA+hB;IAC/hB,sxBAAsxB;IACtxB,2SAA2S;CAC5S,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,KAAK;SACrB,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC;SACnC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IACnG,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,OAA+B;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC,OAAO;SACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC3E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1G,OAAO,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;AAC3E,CAAC;AAGD,SAAS,uBAAuB,CAAC,KAAe;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,SAAS;QAChE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;eAC1B,OAAO,GAAG,KAAK,QAAQ;eACvB,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;eAC1B,GAAG,GAAG,CAAC;eACP,OAAO,IAAI,KAAK,QAAQ;eACxB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;eAC3B,IAAI,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,KAAe;IACrC,OAAO,uBAAuB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAe,EACf,QAAgC,EAChC,OAAO,GAAsB,EAAE;IAE/B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IACvD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAEnF,IAAI,SAA+B,CAAC;IACpC,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;YAC3C,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,EAAE,IAAI,CAAC;IACtC,MAAM,YAAY,GAAG,SAAS,EAAE,GAAG,CAAC;IACpC,IAAI,CAAC,SAAS;WACT,OAAO,YAAY,KAAK,QAAQ;WAChC,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;WACnC,YAAY,IAAI,QAAQ,CAAC,GAAG;WAC5B,CAAC,mBAAmB,CAAC,aAAa,CAAC;WACnC,OAAO,aAAa,CAAC,EAAE,KAAK,QAAQ;WACpC,aAAa,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;WAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG;WAC7B,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAEzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/C,IAAI,QAAgC,CAAC;QACrC,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;IAC3F,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,QAA2B;IAC5D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,UAAU,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,UAAU,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC1E,IAAI,wDAAwD,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5F,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,UAAU,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,QAAwB;IAC9D,MAAM,QAAQ,GAA2C;QACvD,CAAC,6BAA6B,EAAE,iBAAiB,CAAC;QAClD,CAAC,mCAAmC,EAAE,aAAa,CAAC;QACpD,CAAC,uBAAuB,EAAE,WAAW,CAAC;QACtC,CAAC,+CAA+C,EAAE,yBAAyB,CAAC;QAC5E,CAAC,qCAAqC,EAAE,YAAY,CAAC;QACrD,CAAC,yCAAyC,EAAE,UAAU,CAAC;QACvD,CAAC,oCAAoC,EAAE,oBAAoB,CAAC;QAC5D,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;QAC9C,CAAC,iBAAiB,EAAE,eAAe,CAAC;QACpC,CAAC,gCAAgC,EAAE,gBAAgB,CAAC;KACrD,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,QAAQ,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC,MAAM,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,WAAW,GAAG,KAAK,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW;YAAE,SAAS;QAC3D,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,2BAA2B,CAAC,EAAE,CAAC;YAClF,WAAW,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/C,IAAI,UAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACtE,IAAI,UAAU,CAAC,KAAK,EAAE,mBAAmB,CAAC;QAAE,OAAO,YAAY,CAAC;IAChE,IAAI,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9D,IAAI,UAAU,CAAC,KAAK,EAAE,2BAA2B,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAChF,IAAI,uBAAuB,CAAC,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACvD,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACjE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAa;IAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAwC,EAAE,CAAC;IAC3D,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,sBAAsB;YAAE,SAAS;QACxE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC;YAAE,SAAS;QAC9D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACzC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;YAC3B,QAAQ;YACR,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;YACzC,KAAK;YACL,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC;YACtC,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,SAAS,CAAC,IAAiB,EAAE,KAAkB;IACtD,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;AAC5D,CAAC;AAED,SAAS,cAAc,CAAC,IAAsB,EAAE,KAAuB;IACrE,OAAO,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;WACxC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;WACtC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAC,KAAuC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;QACvB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI;QACjD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAChD,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACzC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB,EAAE,SAAoC;IAC9E,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QAChE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,uBAAuB,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC3G,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,KAAK,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACpH,OAAO,iBAAiB,CAAyB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;eAC9E,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;eACrC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACpF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,CAAC;YACD,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;YACvB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;YAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC5F,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACxB,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;YAC5B,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAClI,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ;eACtE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;eACvC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ;eACrC,KAAK,CAAC,OAAO,KAAK,OAAO;eACzB,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;QAC5C,MAAM,KAAK,GAAuB;YAChC,EAAE;YACF,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE;YAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,OAAO;YACP,KAAK;YACL,MAAM;YACN,UAAU,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YACnD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9D,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,UAAU,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;YACzC,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,CAAC;SACf,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO;iBAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;iBAC1C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;YAC1E,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;gBAC/B,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;YAC9H,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC/D,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,aAAa;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,SAAS,IAAI,iCAAiC,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,oBAAoB,CAAC;YACtC,KAAK;YACL,OAAO,EAAE,aAAa;YACtB,IAAI;YACJ,OAAO,EAAE,SAAS,CAAC,KAAK;YACxB,UAAU,EAAE,SAAS,CAAC,UAAU;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI;YAChC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzG,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC;QACnE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAuC,EAAE,WAAgC;IAC/F,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,WAAW;QAAE,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;IAC1E,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACzG,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,OAAO,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,cAAc,GAAG,WAAW,CAAC;AAC3F,CAAC;AAWD,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAC3F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;QAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IACxH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,GAAG,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;QAC3E,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACtI,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO;SAChD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/D,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ;WACpE,OAAO,CAAC,KAAK,CAAC;WACd,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;WACpC,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;WAClC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,OAAO;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;SACtE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;WAC1C,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS;WAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAsC,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,GAAG,CAAC,KAAkB,EAAQ,EAAE;QACvC,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,OAAO;QAClE,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC5C,IAAI,KAAK,GAAG,IAAI,GAAG,QAAQ;YAAE,OAAO;QACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,KAAK,IAAI,IAAI,CAAC;IAChB,CAAC,CAAC;IACF,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,MAAM;QAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO;SACrB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACtE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;WACpG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;WAChC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAyC;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO;QACL,uDAAuD;QACvD,kPAAkP;QAClP,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CACxB,KAA8C,EAC9C,GAAY;IAEZ,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAwB;IACjD,IAAI,CAAC,SAAS,EAAE,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;IAC/C,MAAM,eAAe,GAAG,MAAM,EAAE,eAAe,CAAC;IAChD,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU,IAAI,CAAC,OAAO,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3I,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAe,EAAE,OAAgB;IAC9D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QACnG,MAAM,IAAI,SAAS,CAAC,iDAAiD,sBAAsB,aAAa,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IACpJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,OAAgC;IAC7E,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChE,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,8DAA8D,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACnH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,GAAY,EAAE,OAAiB;IACtE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;YAC1G,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;QACvH,CAAC;QACD,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB;IAC5C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC5B,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,6BAA6B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAOD,SAAS,WAAW,CAClB,MAAc,EACd,QAA4D,EAC5D,SAAiB,EACjB,OAAO,GAAqC,EAAE,EAC9C,KAAK,GAAsB,EAAE;IAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM;QACN,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,MAAM;QAC3B,SAAS;QACT,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI;QAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;KACvG,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,OAAO,GAA8B,EAAE;IAEvC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,uBAAuB,CAAC,IAAI,CAAC;IAC9E,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IACzF,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,6IAA6I;YAC7I,+YAA+Y;YAC/Y,2cAA2c;SAC5c,CAAC,IAAI,CAAC,GAAG,CAAC;QACX,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;gBACxH,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;gBACjE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,EAAE;gBAC1D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE;aAClD;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC;gBAC7E,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE;oBACjD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE;oBAC/G,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC9B,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvC,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,oBAAoB,EAAE,KAAK;4BAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;4BACvJ,UAAU,EAAE;gCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;gCACtD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,EAAE;gCAC1D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE;gCACrE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gCACxD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gCAChC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gCACxD,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gCAC3D,MAAM,EAAE;oCACN,IAAI,EAAE,QAAQ;oCACd,oBAAoB,EAAE,KAAK;oCAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;oCACxC,UAAU,EAAE;wCACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wCACzB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC5B;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;YACD,MAAM,CAAC,KAAK,EAAE,KAAK;gBACjB,MAAM,KAAK,GAAG;oBACZ,sBAAsB,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,UAAU,YAAY,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;oBACnH,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,2BAA2B,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9F,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;iBACnI,CAAC;gBACF,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;SACF;QACD,OAAO,CAAC,IAAI,EAAE,SAAS;YACrB,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC;YACjH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,yBAAyB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5G,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC;YACvC,IAAI,QAA4D,CAAC;YACjE,IAAI,UAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,QAAQ,GAAG,uBAAuB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,GAAG,KAAK,CAAC;gBACnB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;YACpH,CAAC;YACD,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC1C,MAAM,IAAI,0BAA0B,CAAC,wFAAwF,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACxJ,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxF,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,mBAAmB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1E,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC9G,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,OAAO,GAAG,iBAAiB,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClC,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ;oBAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;gBACxH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxH,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;oBAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;gBAClG,IAAI,OAAO,GAAG,OAAO,CAAC;gBACtB,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS;oBAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrF,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC9B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,GAAG,OAAO;qBACd,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBAC1F,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnG,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;gBAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;gBAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACvD,uBAAuB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;wBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;oBACrF,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;gBACvD,CAAC,CAAC,CAAC;gBACH,QAAQ,GAAG,uBAAuB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;gBACxE,IAAI,MAAM,CAAC,OAAO;oBAAE,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;oBACtE,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC,CAAC;YACN,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5D,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;gBACtG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;oBAAE,uBAAuB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAAE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;gBACvG,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;oBAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;gBACtG,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC;gBAC1H,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBAC/G,CAAC;gBACD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7D,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBAC/E,MAAM,UAAU,GAAG,oBAAoB,CAAC;oBACtC,KAAK;oBACL,OAAO;oBACP,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;oBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,UAAU,EAAE,oBAAoB;iBACjC,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACnG,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE;oBACxC,KAAK;oBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,IAAI,CAAC,OAAO;oBACnB,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;oBAC3F,UAAU,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC1E,UAAU,EAAE,oBAAoB;oBAChC,UAAU;iBACX,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,OAAO;oBAAE,SAAS,CAAC,KAAK,EAAE;wBACnC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE;wBACpB,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM;wBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;qBAC9B,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvG,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC7F,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACtE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,uBAAuB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC7E,MAAM,MAAM,GAAG,iBAAiB,CAAyB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC5E,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;oBACpF,IAAI,CAAC,KAAK;wBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;oBAC/D,IAAI,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;wBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC;oBACvG,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;wBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;2BACpE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;2BAClC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;2BAChC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;2BAC9B,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;wBAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAClC,CAAC;oBACD,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;oBACxB,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;oBAC1B,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5F,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;oBACzB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,OAAO;oBAAE,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC7E,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrG,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC,CAAC;YACN,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,uBAAuB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5E,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC;wBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;oBAC3G,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO;yBAC1B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC;yBAC3C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACf,GAAG,KAAK;wBACR,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC;wBAC/D,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC;qBACtE,CAAC,CAAC,CAAC;oBACN,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;gBACpD,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,OAAO;oBAAE,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;oBACpE,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;oBACnE,UAAU,EAAE,wBAAwB;oBACpC,mBAAmB,EAAE,MAAM;iBAC5B,CAAC,CAAC,CAAC;YACN,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,0BAA0B,CAAC,oFAAoF,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpJ,CAAC;gBACD,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBAC5B,QAAQ,GAAG,uBAAuB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;gBACxE,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpG,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;oBACnE,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,uBAAuB;iBACpC,CAAC,CAAC,CAAC;YACN,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACpD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACpC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChF,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACzH,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO;gBAAE,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAClG,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;gBACnE,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,iBAAiB;SACxB,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-evidence.d.mts","sourceRoot":"","sources":["../src/session-evidence.mts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMrF,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AAgBD,UAAU,cAAc;IACtB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAWD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAC;IACtF,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAChD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC;CAC9F;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAiSD,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAUrF;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,cAA8B,GACrC,oBAAoB,EAAE,CAGxB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,QAAQ,CAAC,eAAe,CAAC,CA4CtG"}
1
+ {"version":3,"file":"session-evidence.d.mts","sourceRoot":"","sources":["../src/session-evidence.mts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMrF,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AAgBD,UAAU,cAAc;IACtB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAWD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAAC;IACtF,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAChD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC;CAC9F;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAuMD,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAUrF;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,cAA8B,GACrC,oBAAoB,EAAE,CAGxB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,QAAQ,CAAC,eAAe,CAAC,CA4CtG"}
@@ -1,6 +1,7 @@
1
- import { createHash, randomUUID } from "node:crypto";
2
- import { closeSync, existsSync, fsyncSync, ftruncateSync, mkdirSync, openSync, readFileSync, rmSync, statSync, writeSync, } from "node:fs";
1
+ import { createHash } from "node:crypto";
2
+ import { closeSync, existsSync, fsyncSync, ftruncateSync, mkdirSync, openSync, readFileSync, statSync, writeSync, } from "node:fs";
3
3
  import { dirname, resolve } from "node:path";
4
+ import { acquireOwnedStoreLock } from "./store-lock.mjs";
4
5
  import { isUnknownRecord } from "./runtime-types.mjs";
5
6
  const STORE_SCHEMA_VERSION = 1;
6
7
  const GLOBAL_STATE_KEY = Symbol.for("odai.dsh.session-evidence.v2");
@@ -159,107 +160,6 @@ function stateFor(agent, root, logger) {
159
160
  roots.set(root, state);
160
161
  return state;
161
162
  }
162
- function errorCode(error) {
163
- if (error === null || typeof error !== "object" || !("code" in error))
164
- return undefined;
165
- return typeof error.code === "string" ? error.code : undefined;
166
- }
167
- function readLockOwner(lockPath) {
168
- try {
169
- const value = readFileSync(lockPath, "utf8").trim();
170
- const separator = value.indexOf(":");
171
- const pid = Number(separator < 0 ? "" : value.slice(0, separator));
172
- return Number.isSafeInteger(pid) && pid > 0 && separator < value.length - 1 ? { value, pid } : undefined;
173
- }
174
- catch (error) {
175
- if (errorCode(error) === "ENOENT")
176
- return undefined;
177
- throw error;
178
- }
179
- }
180
- function processIsAlive(pid) {
181
- try {
182
- process.kill(pid, 0);
183
- return true;
184
- }
185
- catch (error) {
186
- return errorCode(error) !== "ESRCH";
187
- }
188
- }
189
- function createLock(lockPath, owner) {
190
- const handle = openSync(lockPath, "wx", 0o600);
191
- try {
192
- const content = Buffer.from(`${owner}\n`, "utf8");
193
- if (writeSync(handle, content, 0, content.length) !== content.length) {
194
- throw new Error(`short write while acquiring odai evidence lock: ${lockPath}`);
195
- }
196
- fsyncSync(handle);
197
- return handle;
198
- }
199
- catch (error) {
200
- closeSync(handle);
201
- rmSync(lockPath, { force: true });
202
- throw error;
203
- }
204
- }
205
- function releaseLock(handle, lockPath, owner) {
206
- closeSync(handle);
207
- const current = readLockOwner(lockPath);
208
- if (current === undefined)
209
- throw new Error(`odai evidence lock disappeared before release: ${lockPath}`);
210
- if (current.value !== owner)
211
- throw new Error(`odai evidence lock ownership changed before release: ${lockPath}`);
212
- rmSync(lockPath);
213
- }
214
- function acquireLock(path) {
215
- const lockPath = `${path}.lock`;
216
- const claimPath = `${lockPath}.claim`;
217
- const owner = `${process.pid}:${randomUUID()}`;
218
- const claimOwner = `${process.pid}:${randomUUID()}`;
219
- let claimHandle;
220
- try {
221
- claimHandle = createLock(claimPath, claimOwner);
222
- }
223
- catch (error) {
224
- if (errorCode(error) === "EEXIST")
225
- throw new Error(`odai evidence lock acquisition is already in progress: ${path}`);
226
- throw error;
227
- }
228
- let handle;
229
- try {
230
- try {
231
- handle = createLock(lockPath, owner);
232
- }
233
- catch (error) {
234
- if (errorCode(error) !== "EEXIST")
235
- throw error;
236
- const current = readLockOwner(lockPath);
237
- if (current === undefined || processIsAlive(current.pid))
238
- throw new Error(`odai evidence is being updated by another runtime: ${path}`);
239
- rmSync(lockPath);
240
- handle = createLock(lockPath, owner);
241
- }
242
- }
243
- finally {
244
- try {
245
- releaseLock(claimHandle, claimPath, claimOwner);
246
- }
247
- catch (error) {
248
- if (handle !== undefined) {
249
- try {
250
- releaseLock(handle, lockPath, owner);
251
- }
252
- catch { }
253
- handle = undefined;
254
- }
255
- throw error;
256
- }
257
- }
258
- if (handle === undefined)
259
- throw new Error(`could not lock odai evidence: ${path}`);
260
- const ownedHandle = handle;
261
- return () => releaseLock(ownedHandle, lockPath, owner);
262
- }
263
163
  function syncDirectory(path) {
264
164
  let handle;
265
165
  try {
@@ -277,7 +177,7 @@ function syncDirectory(path) {
277
177
  function persistRecord(root, sessionId, record, logger) {
278
178
  mkdirSync(root, { recursive: true, mode: 0o700 });
279
179
  const path = evidencePath(root, sessionId);
280
- const release = acquireLock(path);
180
+ const release = acquireOwnedStoreLock(path, "odai evidence");
281
181
  try {
282
182
  const stored = readStoredState(root, sessionId, logger, true);
283
183
  if (stored.ids.has(record.id))