@the-ai-company/cbio-node-runtime 1.69.0 → 1.71.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 (158) hide show
  1. package/README.md +25 -0
  2. package/dist/clients/owner/client.js +39 -4
  3. package/dist/clients/owner/client.js.map +1 -1
  4. package/dist/clients/owner/contracts.d.ts +3 -1
  5. package/dist/public-types.d.ts +2 -1
  6. package/dist/public-types.js.map +1 -1
  7. package/dist/runtime/index.d.ts +4 -2
  8. package/dist/runtime/index.js +1 -1
  9. package/dist/runtime/index.js.map +1 -1
  10. package/dist/vault-core/contracts.d.ts +26 -28
  11. package/dist/vault-core/contracts.js +0 -6
  12. package/dist/vault-core/contracts.js.map +1 -1
  13. package/dist/vault-core/core.d.ts +8 -6
  14. package/dist/vault-core/core.js +125 -52
  15. package/dist/vault-core/core.js.map +1 -1
  16. package/dist/vault-core/defaults.d.ts +11 -11
  17. package/dist/vault-core/defaults.js +75 -35
  18. package/dist/vault-core/defaults.js.map +1 -1
  19. package/dist/vault-core/index.d.ts +3 -3
  20. package/dist/vault-core/index.js +1 -1
  21. package/dist/vault-core/index.js.map +1 -1
  22. package/dist/vault-core/persistence.d.ts +39 -42
  23. package/dist/vault-core/persistence.js +332 -372
  24. package/dist/vault-core/persistence.js.map +1 -1
  25. package/dist/vault-core/ports.d.ts +9 -8
  26. package/dist/vault-ingress/index.d.ts +22 -0
  27. package/dist/vault-ingress/index.js +40 -14
  28. package/dist/vault-ingress/index.js.map +1 -1
  29. package/dist/vault-ingress/server-utils.d.ts +30 -0
  30. package/dist/vault-ingress/server-utils.js +151 -0
  31. package/dist/vault-ingress/server-utils.js.map +1 -1
  32. package/docs/ARCHITECTURE.md +3 -3
  33. package/docs/REFERENCE.md +7 -3
  34. package/docs/api/README.md +5 -2
  35. package/docs/api/classes/IdentityError.md +1 -1
  36. package/docs/api/classes/OwnerClientError.md +1 -1
  37. package/docs/api/classes/PersistentVaultAgentIdentityRegistry.md +9 -5
  38. package/docs/api/classes/PersistentVaultAgentSecretGrantRegistry.md +11 -11
  39. package/docs/api/classes/PersistentVaultAuditLog.md +29 -5
  40. package/docs/api/classes/PersistentVaultSecretCustody.md +5 -5
  41. package/docs/api/classes/PersistentVaultSecretDestinationGrantRegistry.md +14 -14
  42. package/docs/api/classes/PersistentVaultSecretRepository.md +5 -5
  43. package/docs/api/classes/VaultCore.md +32 -16
  44. package/docs/api/classes/VaultCoreError.md +1 -1
  45. package/docs/api/enumerations/AuditOperation.md +1 -37
  46. package/docs/api/enumerations/DispatchStatus.md +1 -1
  47. package/docs/api/enumerations/IdentityErrorCode.md +1 -1
  48. package/docs/api/enumerations/OwnerClientErrorCode.md +1 -1
  49. package/docs/api/functions/createAgentClient.md +1 -1
  50. package/docs/api/functions/createIdentity.md +1 -1
  51. package/docs/api/functions/createOwnerClient.md +1 -1
  52. package/docs/api/functions/createPersistentVaultCoreDependencies.md +1 -1
  53. package/docs/api/functions/createVault.md +1 -1
  54. package/docs/api/functions/createVaultCore.md +1 -1
  55. package/docs/api/functions/createVaultCoreDependencies.md +1 -1
  56. package/docs/api/functions/createVaultService.md +1 -1
  57. package/docs/api/functions/createWorkspaceStorage.md +1 -1
  58. package/docs/api/functions/deriveRootAgentId.md +1 -1
  59. package/docs/api/functions/deriveVaultWorkingKeyFromPassword.md +1 -1
  60. package/docs/api/functions/getDefaultWorkspaceDir.md +1 -1
  61. package/docs/api/functions/handleVaultAgentControlHttp.md +1 -1
  62. package/docs/api/functions/handleVaultAuditSse.md +30 -0
  63. package/docs/api/functions/handleVaultHttpDispatch.md +1 -1
  64. package/docs/api/functions/handleVaultPendingDispatchSse.md +30 -0
  65. package/docs/api/functions/initializeVaultCustody.md +1 -1
  66. package/docs/api/functions/listVaults.md +1 -1
  67. package/docs/api/functions/openOwnerSession.md +1 -1
  68. package/docs/api/functions/readVaultProfile.md +1 -1
  69. package/docs/api/functions/recoverVault.md +1 -1
  70. package/docs/api/functions/recoverVaultWorkingKey.md +1 -1
  71. package/docs/api/functions/restoreIdentity.md +1 -1
  72. package/docs/api/functions/updateVaultMetadata.md +1 -1
  73. package/docs/api/functions/writeVaultProfile.md +1 -1
  74. package/docs/api/interfaces/AgentClient.md +1 -1
  75. package/docs/api/interfaces/AgentDispatchIntent.md +1 -1
  76. package/docs/api/interfaces/AgentDispatchTransport.md +1 -1
  77. package/docs/api/interfaces/AgentIdentity.md +1 -1
  78. package/docs/api/interfaces/AgentIdentityRecord.md +1 -1
  79. package/docs/api/interfaces/AgentRequestRecord.md +11 -1
  80. package/docs/api/interfaces/AgentRuntimeManifest.md +1 -1
  81. package/docs/api/interfaces/AgentSecretGrant.md +3 -3
  82. package/docs/api/interfaces/AgentSigner.md +1 -1
  83. package/docs/api/interfaces/AgentVisibleRequestRecord.md +7 -1
  84. package/docs/api/interfaces/AgentVisibleSecretRecord.md +1 -1
  85. package/docs/api/interfaces/AuditEntry.md +1 -1
  86. package/docs/api/interfaces/CbioRuntime.md +59 -1
  87. package/docs/api/interfaces/CreateAgentClientOptions.md +1 -1
  88. package/docs/api/interfaces/CreateIdentityOptions.md +1 -1
  89. package/docs/api/interfaces/CreateOwnerClientOptions.md +1 -1
  90. package/docs/api/interfaces/CreatePersistentVaultCoreDependenciesOptions.md +1 -1
  91. package/docs/api/interfaces/CreateVaultOptions.md +1 -1
  92. package/docs/api/interfaces/CreatedVault.md +1 -1
  93. package/docs/api/interfaces/DefaultPolicyEngineOptions.md +1 -23
  94. package/docs/api/interfaces/DispatchAuthorization.md +1 -1
  95. package/docs/api/interfaces/DispatchInstruction.md +1 -1
  96. package/docs/api/interfaces/DispatchRequest.md +1 -1
  97. package/docs/api/interfaces/DispatchResult.md +1 -1
  98. package/docs/api/interfaces/IStorageProvider.md +1 -1
  99. package/docs/api/interfaces/InitializeVaultCustodyOptions.md +1 -1
  100. package/docs/api/interfaces/InitializedVaultCustody.md +1 -1
  101. package/docs/api/interfaces/OpenOwnerSessionOptions.md +1 -1
  102. package/docs/api/interfaces/OwnerAgentProvisionResult.md +1 -1
  103. package/docs/api/interfaces/OwnerAuditSubscription.md +45 -0
  104. package/docs/api/interfaces/OwnerClient.md +17 -1
  105. package/docs/api/interfaces/OwnerCreateSecretInput.md +1 -1
  106. package/docs/api/interfaces/OwnerPendingDispatchSubscription.md +1 -1
  107. package/docs/api/interfaces/OwnerRemoveSecretInput.md +1 -1
  108. package/docs/api/interfaces/OwnerRequestRecord.md +11 -1
  109. package/docs/api/interfaces/OwnerSensitiveActionConfirmation.md +1 -1
  110. package/docs/api/interfaces/OwnerSensitiveActionContext.md +1 -1
  111. package/docs/api/interfaces/OwnerSession.md +1 -1
  112. package/docs/api/interfaces/OwnerUpdateSecretInput.md +9 -3
  113. package/docs/api/interfaces/OwnerVisibleRequestRecord.md +7 -1
  114. package/docs/api/interfaces/PendingDispatchEvent.md +1 -1
  115. package/docs/api/interfaces/RecoverVaultOptions.md +1 -1
  116. package/docs/api/interfaces/RecoveredVault.md +1 -1
  117. package/docs/api/interfaces/RequestRecord.md +5 -1
  118. package/docs/api/interfaces/RestoreIdentityOptions.md +1 -1
  119. package/docs/api/interfaces/SecretAlias.md +1 -1
  120. package/docs/api/interfaces/SecretDestinationGrant.md +3 -3
  121. package/docs/api/interfaces/SecretId.md +1 -1
  122. package/docs/api/interfaces/SecretRecord.md +1 -1
  123. package/docs/api/interfaces/Signer.md +1 -1
  124. package/docs/api/interfaces/VaultApproveDispatchInput.md +1 -1
  125. package/docs/api/interfaces/VaultAuditQueryInput.md +1 -1
  126. package/docs/api/interfaces/VaultCoreDependenciesOptions.md +1 -1
  127. package/docs/api/interfaces/VaultCreateAgentInput.md +1 -1
  128. package/docs/api/interfaces/VaultExportSecretInput.md +1 -1
  129. package/docs/api/interfaces/VaultGetRequestInput.md +1 -1
  130. package/docs/api/interfaces/VaultGrantAgentSecretInput.md +1 -1
  131. package/docs/api/interfaces/VaultGrantSecretDestinationInput.md +1 -1
  132. package/docs/api/interfaces/VaultId.md +1 -1
  133. package/docs/api/interfaces/VaultImportAgentInput.md +1 -1
  134. package/docs/api/interfaces/VaultIssueSessionTokenInput.md +1 -1
  135. package/docs/api/interfaces/VaultListAgentsInput.md +1 -1
  136. package/docs/api/interfaces/VaultListGrantsInput.md +1 -1
  137. package/docs/api/interfaces/VaultListRequestsInput.md +1 -1
  138. package/docs/api/interfaces/VaultListSecretsInput.md +1 -1
  139. package/docs/api/interfaces/VaultMetadata.md +1 -1
  140. package/docs/api/interfaces/VaultObject.md +1 -1
  141. package/docs/api/interfaces/VaultPrincipal.md +1 -1
  142. package/docs/api/interfaces/VaultProfile.md +1 -1
  143. package/docs/api/interfaces/VaultReadAgentPrivateKeyInput.md +1 -1
  144. package/docs/api/interfaces/VaultReadSecretPlaintextInput.md +1 -1
  145. package/docs/api/interfaces/VaultRevokeAgentSecretInput.md +1 -1
  146. package/docs/api/interfaces/VaultRevokeSecretDestinationInput.md +1 -1
  147. package/docs/api/interfaces/VaultRevokeSessionTokenInput.md +1 -1
  148. package/docs/api/interfaces/VaultService.md +17 -1
  149. package/docs/api/interfaces/VaultUpdateAgentInput.md +1 -1
  150. package/docs/api/type-aliases/AgentId.md +1 -1
  151. package/docs/api/type-aliases/AgentRequestResult.md +1 -1
  152. package/docs/api/type-aliases/CbioRuntimeModule.md +1 -1
  153. package/docs/api/type-aliases/DispatchApprovalDecision.md +1 -1
  154. package/docs/api/type-aliases/GrantStatus.md +1 -1
  155. package/docs/api/type-aliases/SecretLifecycleStatus.md +1 -1
  156. package/docs/api/type-aliases/VaultPrincipalKind.md +2 -2
  157. package/docs/api/variables/DEFAULT_VAULT_KEY_CUSTODY_BLOB_KEY.md +1 -1
  158. package/package.json +10 -3
@@ -63,67 +63,67 @@ export class VaultCore {
63
63
  }
64
64
  }
65
65
  // ─── Grant Management ─────────────────────────────────────────────────────────
66
- async ownerGrantAgentSecret(actor, root_agent_id, secret_alias, request) {
66
+ async ownerGrantAgentSecret(actor, root_agent_id, secret_id, request) {
67
67
  this._assertOwnerPrincipal(actor);
68
68
  const now = this._deps.clock.nowIso();
69
69
  const grant = {
70
70
  vault_id: this._deps.vault_id,
71
71
  root_agent_id,
72
- secret_alias,
72
+ secret_id,
73
73
  status: "approved",
74
74
  requested_at: now,
75
75
  granted_at: now,
76
76
  };
77
77
  await this._deps.agent_secretGrants.upsert(grant);
78
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_SECRET, "allowed", "succeeded", `granted secret "${secret_alias}" to agent "${root_agent_id}"`, {
78
+ await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_SECRET, "allowed", "succeeded", `granted secret "${secret_id.value}" to agent "${root_agent_id}"`, {
79
79
  request_id: request?.request_id,
80
80
  root_agent_id,
81
- secret_alias: secret_alias,
81
+ secret_id: secret_id.value,
82
82
  }));
83
83
  return grant;
84
84
  }
85
- async ownerGrantSecretDestination(actor, secret_alias, site_id, request) {
85
+ async ownerGrantSecretDestination(actor, secret_id, site_id, request) {
86
86
  this._assertOwnerPrincipal(actor);
87
87
  const now = this._deps.clock.nowIso();
88
88
  const grant = {
89
89
  vault_id: this._deps.vault_id,
90
- secret_alias,
90
+ secret_id,
91
91
  site_id,
92
92
  status: "approved",
93
93
  requested_at: now,
94
94
  granted_at: now,
95
95
  };
96
96
  await this._deps.secret_destinationGrants.upsert(grant);
97
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_DESTINATION, "allowed", "succeeded", `granted destination "${site_id}" for secret "${secret_alias}"`, {
97
+ await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_DESTINATION, "allowed", "succeeded", `granted destination "${site_id}" for secret "${secret_id.value}"`, {
98
98
  request_id: request?.request_id,
99
- secret_alias: secret_alias,
99
+ secret_id: secret_id.value,
100
100
  site_id,
101
101
  }));
102
102
  return grant;
103
103
  }
104
- async ownerRevokeAgentSecret(actor, root_agent_id, secret_alias, request) {
104
+ async ownerRevokeAgentSecret(actor, root_agent_id, secret_id, request) {
105
105
  this._assertOwnerPrincipal(actor);
106
- await this._deps.agent_secretGrants.delete(this._deps.vault_id, root_agent_id, secret_alias);
107
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_SECRET, "allowed", "succeeded", `revoked secret "${secret_alias}" from agent "${root_agent_id}"`, {
106
+ await this._deps.agent_secretGrants.delete(this._deps.vault_id, root_agent_id, secret_id);
107
+ await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_SECRET, "allowed", "succeeded", `revoked secret "${secret_id.value}" from agent "${root_agent_id}"`, {
108
108
  request_id: request?.request_id,
109
109
  root_agent_id,
110
- secret_alias: secret_alias,
110
+ secret_id: secret_id.value,
111
111
  }));
112
112
  }
113
- async ownerRevokeSecretDestination(actor, secret_alias, site_id, request) {
113
+ async ownerRevokeSecretDestination(actor, secret_id, site_id, request) {
114
114
  this._assertOwnerPrincipal(actor);
115
- await this._deps.secret_destinationGrants.delete(this._deps.vault_id, secret_alias, site_id);
116
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_DESTINATION, "allowed", "succeeded", `revoked destination "${site_id}" from secret "${secret_alias}"`, {
115
+ await this._deps.secret_destinationGrants.delete(this._deps.vault_id, secret_id, site_id);
116
+ await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.REVOKE_DESTINATION, "allowed", "succeeded", `revoked destination "${site_id}" from secret "${secret_id.value}"`, {
117
117
  request_id: request?.request_id,
118
- secret_alias: secret_alias,
118
+ secret_id: secret_id.value,
119
119
  site_id,
120
120
  }));
121
121
  }
122
- async ownerListGrants(actor, root_agent_id, secret_alias) {
122
+ async ownerListGrants(actor, root_agent_id, secret_id) {
123
123
  this._assertOwnerPrincipal(actor);
124
124
  const [agent_secrets, secret_destinations] = await Promise.all([
125
125
  this._deps.agent_secretGrants.list(this._deps.vault_id, root_agent_id),
126
- this._deps.secret_destinationGrants.list(this._deps.vault_id, secret_alias),
126
+ this._deps.secret_destinationGrants.list(this._deps.vault_id, secret_id),
127
127
  ]);
128
128
  return { agent_secrets, secret_destinations };
129
129
  }
@@ -138,11 +138,11 @@ export class VaultCore {
138
138
  return { vault_id: this._deps.vault_id, decision: "deny", reason: `secret not found: ${secret_alias}`, secret_id: null };
139
139
  }
140
140
  // 1. Check Agent-Secret Grant
141
- const agent_secretGrant = await this._deps.agent_secretGrants.get(this._deps.vault_id, agent.id, secret_alias);
141
+ const agent_secretGrant = await this._deps.agent_secretGrants.get(this._deps.vault_id, agent.id, secret.secret_id);
142
142
  const agent_secretApproved = agent_secretGrant?.status === "approved";
143
143
  // 2. Check Secret-Destination Grant
144
144
  const site_id = extractDomain(target_url);
145
- const destGrant = await this._deps.secret_destinationGrants.get(this._deps.vault_id, secret_alias, site_id);
145
+ const destGrant = await this._deps.secret_destinationGrants.get(this._deps.vault_id, secret.secret_id, site_id);
146
146
  const destApproved = destGrant?.status === "approved";
147
147
  if (agent_secretApproved && destApproved) {
148
148
  return { vault_id: this._deps.vault_id, decision: "allow", reason: "granted", secret_id: secret.secret_id };
@@ -161,8 +161,10 @@ export class VaultCore {
161
161
  }
162
162
  async agentDispatchSecret(request) {
163
163
  await this._verifyAgentControlProof(request, "dispatch");
164
- await this._createInitialRequestRecord(request);
164
+ // Resolve secret early to capture stable ID in logs
165
165
  const authorization = await this.agentAuthorizeDispatch(request);
166
+ const secret_id = authorization.secret_id;
167
+ await this._recordRequestInternal(request, DispatchStatus.IN_PROGRESS, secret_id);
166
168
  if (authorization.decision === "deny") {
167
169
  const result = {
168
170
  vault_id: this._deps.vault_id,
@@ -177,8 +179,9 @@ export class VaultCore {
177
179
  root_agent_id: request.agent.id,
178
180
  target: { kind: "http", url: request.target_url },
179
181
  secret_alias: request.secret_alias,
182
+ secret_id: secret_id?.value,
180
183
  }));
181
- await this._updateRequestRecordInternal(request, result);
184
+ await this._updateRequestRecordInternal(request, result, secret_id);
182
185
  return result;
183
186
  }
184
187
  if (authorization.decision === "pending") {
@@ -189,17 +192,20 @@ export class VaultCore {
189
192
  target_url: request.target_url,
190
193
  method: request.method,
191
194
  };
195
+ await this._updateRequestRecordInternal(request, result, secret_id, authorization.missing_grants);
192
196
  await this._appendAudit(toAuditEntry(this._deps, request.agent, AuditOperation.DISPATCH_HOLD, "allowed", "not_executed", "request held for human approval", {
193
197
  request_id: request.request_id,
194
198
  root_agent_id: request.agent.id,
195
199
  target: { kind: "http", url: request.target_url },
196
200
  secret_alias: request.secret_alias,
201
+ secret_id: secret_id?.value,
197
202
  }));
198
- await this._updateRequestRecordInternal(request, result, authorization.missing_grants);
199
203
  return result;
200
204
  }
201
205
  // Proceed with dispatch
202
- const secret_id = authorization.secret_id;
206
+ if (!secret_id) {
207
+ throw new VaultCoreError("secret_id required for dispatch", "VAULT_INTERNAL_ERROR");
208
+ }
203
209
  const secretRecord = await this._deps.secrets.getById(secret_id);
204
210
  if (!secretRecord) {
205
211
  throw new VaultCoreError("secret record not found after authorization", "VAULT_INTERNAL_ERROR");
@@ -224,7 +230,7 @@ export class VaultCore {
224
230
  secret_alias: request.secret_alias,
225
231
  secret_id: secret_id.value,
226
232
  }));
227
- await this._updateRequestRecordInternal(request, result);
233
+ await this._updateRequestRecordInternal(request, result, secret_id);
228
234
  return {
229
235
  ...result,
230
236
  vault_id: this._deps.vault_id,
@@ -250,6 +256,8 @@ export class VaultCore {
250
256
  await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.DISPATCH_REJECT, "allowed", "succeeded", "dispatch rejected by owner", {
251
257
  request_id,
252
258
  root_agent_id: record.root_agent_id,
259
+ secret_alias: record.request.secret_alias,
260
+ secret_id: record.request.secret_id?.value,
253
261
  }));
254
262
  return null;
255
263
  }
@@ -269,14 +277,14 @@ export class VaultCore {
269
277
  this._deps.agent_secretGrants.upsert({
270
278
  vault_id: this._deps.vault_id,
271
279
  root_agent_id: record.root_agent_id,
272
- secret_alias,
280
+ secret_id: secret.secret_id,
273
281
  status: "approved",
274
282
  requested_at: now,
275
283
  granted_at: now,
276
284
  }),
277
285
  this._deps.secret_destinationGrants.upsert({
278
286
  vault_id: this._deps.vault_id,
279
- secret_alias,
287
+ secret_id: secret.secret_id,
280
288
  site_id,
281
289
  status: "approved",
282
290
  requested_at: now,
@@ -284,11 +292,15 @@ export class VaultCore {
284
292
  }),
285
293
  ]);
286
294
  await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_SECRET, "allowed", "succeeded", "granted during dispatch approval", {
295
+ request_id,
287
296
  root_agent_id: record.root_agent_id,
288
297
  secret_alias: secret_alias,
298
+ secret_id: secret.secret_id.value,
289
299
  }));
290
300
  await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.GRANT_DESTINATION, "allowed", "succeeded", "granted during dispatch approval", {
301
+ request_id,
291
302
  secret_alias: secret_alias,
303
+ secret_id: secret.secret_id.value,
292
304
  site_id,
293
305
  }));
294
306
  }
@@ -320,6 +332,8 @@ export class VaultCore {
320
332
  await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.DISPATCH_APPROVE, "allowed", "succeeded", `dispatch approved (${decision})`, {
321
333
  request_id,
322
334
  root_agent_id: record.root_agent_id,
335
+ secret_alias: record.request.secret_alias,
336
+ secret_id: record.request.secret_id?.value,
323
337
  }));
324
338
  await this._appendAudit(toAuditEntry(this._deps, { kind: "agent", id: record.root_agent_id }, AuditOperation.SECRET_DISPATCH, "allowed", result.status === DispatchStatus.SUCCEEDED ? "succeeded" : "failed", result.status === DispatchStatus.SUCCEEDED ? "dispatch completed" : (result.error ?? "dispatch failed"), {
325
339
  request_id,
@@ -339,11 +353,10 @@ export class VaultCore {
339
353
  }
340
354
  const [agent_secrets, secret_destinations] = await Promise.all([
341
355
  this._deps.agent_secretGrants.list(this._deps.vault_id, command.agent.id),
342
- this._deps.secret_destinationGrants.list(this._deps.vault_id), // All destination grants for these secrets? Or just a subset?
343
- // For simplicity, return all destinations that mention a secret the agent has a grant for.
356
+ this._deps.secret_destinationGrants.list(this._deps.vault_id),
344
357
  ]);
345
- const secret_aliases = new Set(agent_secrets.map(g => g.secret_alias));
346
- const relevantDestinations = secret_destinations.filter(d => secret_aliases.has(d.secret_alias));
358
+ const secret_ids = new Set(agent_secrets.map(g => g.secret_id.value));
359
+ const relevantDestinations = secret_destinations.filter(d => secret_ids.has(d.secret_id.value));
347
360
  return {
348
361
  root_agent_id: command.agent.id,
349
362
  vault_id: this._deps.vault_id.value,
@@ -365,7 +378,7 @@ export class VaultCore {
365
378
  await this._verifyAgentControlProof(command, "list_secrets");
366
379
  const records = await this._deps.secrets.list(this._deps.vault_id);
367
380
  const grants = await this._deps.agent_secretGrants.list(this._deps.vault_id, command.agent.id);
368
- const approvedAliases = new Set(grants.filter(g => g.status === "approved").map(g => g.secret_alias));
381
+ const approvedSecretIds = new Set(grants.filter(g => g.status === "approved").map(g => g.secret_id.value));
369
382
  return records.map(record => ({
370
383
  vault_id: record.vault_id,
371
384
  secret_id: record.secret_id,
@@ -376,7 +389,7 @@ export class VaultCore {
376
389
  source: record.source,
377
390
  created_at: record.created_at,
378
391
  updated_at: record.updated_at,
379
- granted: approvedAliases.has(record.alias.value),
392
+ granted: approvedSecretIds.has(record.secret_id.value),
380
393
  }));
381
394
  }
382
395
  async agentListRequests(command) {
@@ -453,16 +466,29 @@ export class VaultCore {
453
466
  const existing = await this._deps.secrets.getByAlias({ value: command.alias });
454
467
  if (!existing)
455
468
  throw new VaultCoreError("secret not found", "VAULT_SECRET_NOT_FOUND");
469
+ const finalAlias = command.new_alias && command.new_alias !== command.alias ? command.new_alias : command.alias;
470
+ const isRename = finalAlias !== command.alias;
471
+ if (isRename) {
472
+ const duplicate = await this._deps.secrets.getByAlias({ value: finalAlias });
473
+ if (duplicate) {
474
+ throw new VaultCoreError(`secret alias already exists: "${finalAlias}"`, "VAULT_ALIAS_ALREADY_EXISTS");
475
+ }
476
+ }
456
477
  const secret_id = existing.secret_id;
457
478
  const now = this._deps.clock.nowIso();
458
479
  const record = {
459
480
  ...existing,
481
+ alias: { value: finalAlias },
460
482
  version: this._deps.ids.newVersion(),
461
483
  updated_at: now,
462
484
  };
485
+ // No migration needed! Grants and pending requests are already tied to secret_id
486
+ // or resolved via alias lookup at runtime.
463
487
  await this._deps.secrets.save(record);
464
- await this._deps.custody.store(secret_id, command.plaintext);
465
- await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditOperation.SECRET_WRITE, "allowed", "succeeded", `secret updated: "${command.alias}"`, { secret_alias: command.alias, secret_id: secret_id.value }));
488
+ if (command.plaintext !== undefined) {
489
+ await this._deps.custody.store(secret_id, command.plaintext);
490
+ }
491
+ await this._appendAudit(toAuditEntry(this._deps, command.owner, AuditOperation.SECRET_WRITE, "allowed", "succeeded", `secret updated: "${finalAlias}"`, { secret_alias: finalAlias, secret_id: secret_id.value }));
466
492
  return record;
467
493
  }
468
494
  async ownerRemoveSecret(command) {
@@ -476,9 +502,7 @@ export class VaultCore {
476
502
  }
477
503
  async ownerReadAudit(actor, query) {
478
504
  this._assertOwnerPrincipal(actor);
479
- const entries = await this._deps.audit.query(query);
480
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_READ_AUDIT, "allowed", "succeeded", "audit log accessed", { detail: JSON.stringify(query) }));
481
- return entries;
505
+ return this._deps.audit.query(query);
482
506
  }
483
507
  async ownerExportSecret(actor, alias) {
484
508
  this._assertOwnerPrincipal(actor);
@@ -499,14 +523,11 @@ export class VaultCore {
499
523
  for (const st of sessionTokens) {
500
524
  tokensByAgentId.set(st.root_agent_id, st);
501
525
  }
502
- const result = identities.map(id => ({ ...id, session_token: tokensByAgentId.get(id.root_agent_id) }));
503
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_AGENTS, "allowed", "succeeded", "agent identity list accessed"));
504
- return result;
526
+ return identities.map(id => ({ ...id, session_token: tokensByAgentId.get(id.root_agent_id) }));
505
527
  }
506
528
  async ownerListRequests(actor, root_agent_id) {
507
529
  this._assertOwnerPrincipal(actor);
508
530
  const records = await this._deps.requests.list(this._deps.vault_id, root_agent_id);
509
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_REQUESTS, "allowed", "succeeded", "request list accessed"));
510
531
  return records.map(r => this.toOwnerVisibleRequestRecord(r));
511
532
  }
512
533
  async ownerGetRequest(actor, request_id) {
@@ -514,14 +535,11 @@ export class VaultCore {
514
535
  const record = await this._deps.requests.get(this._deps.vault_id, request_id);
515
536
  if (!record)
516
537
  throw new VaultCoreError("request record not found", "VAULT_REQUEST_NOT_FOUND");
517
- const result = this.toOwnerRequestRecord(record);
518
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_READ_REQUEST, "allowed", "succeeded", `dispatch request detailed: "${request_id}"`, { request_id }));
519
- return result;
538
+ return this.toOwnerRequestRecord(record);
520
539
  }
521
540
  async ownerListSecrets(actor) {
522
541
  this._assertOwnerPrincipal(actor);
523
542
  const records = await this._deps.secrets.list(this._deps.vault_id);
524
- await this._appendAudit(toAuditEntry(this._deps, actor, AuditOperation.MANAGEMENT_LIST_SECRETS, "allowed", "succeeded", "secret list accessed"));
525
543
  return records.map(r => ({
526
544
  vault_id: r.vault_id,
527
545
  secret_id: r.secret_id,
@@ -552,10 +570,30 @@ export class VaultCore {
552
570
  await this._appendAudit(toAuditEntry(this._deps, request.actor, AuditOperation.IDENTITY_REVOKE_TOKEN, "allowed", "succeeded", "session token revoked"));
553
571
  }
554
572
  ownerOnPendingDispatch(subscription) {
555
- return this._deps.requests.subscribePending(this._deps.vault_id, subscription);
573
+ return this._deps.audit.subscribe(this._deps.vault_id, {
574
+ operations: [AuditOperation.DISPATCH_HOLD],
575
+ onEvent: async (entry) => {
576
+ if (!entry.request_id)
577
+ return;
578
+ const record = await this._deps.requests.get(this._deps.vault_id, entry.request_id);
579
+ if (!record || record.execution.status !== DispatchStatus.AWAITING_APPROVAL)
580
+ return;
581
+ const pendingEventId = record.pending_dispatch_event?.event_id ?? entry.event_id;
582
+ if (subscription.afterEventId && pendingEventId <= subscription.afterEventId)
583
+ return;
584
+ subscription.onEvent({
585
+ event_id: pendingEventId,
586
+ emitted_at: record.pending_dispatch_event?.emitted_at ?? entry.ts,
587
+ record,
588
+ });
589
+ },
590
+ });
591
+ }
592
+ ownerOnAudit(subscription) {
593
+ return this._deps.audit.subscribe(this._deps.vault_id, subscription);
556
594
  }
557
595
  // ─── Internal Helpers ──────────────────────────────────────────────────────────
558
- async _recordRequestInternal(request, status) {
596
+ async _recordRequestInternal(request, status, secret_id = null) {
559
597
  const record = {
560
598
  vault_id: this._deps.vault_id,
561
599
  request_id: request.request_id,
@@ -569,15 +607,16 @@ export class VaultCore {
569
607
  headers: request.headers,
570
608
  body: request.body,
571
609
  secret_alias: request.secret_alias,
610
+ secret_id,
572
611
  },
573
612
  execution: { status },
574
613
  };
575
614
  await this._deps.requests.save(record);
576
615
  }
577
- async _createInitialRequestRecord(request) {
578
- await this._recordRequestInternal(request, DispatchStatus.IN_PROGRESS);
616
+ async _createInitialRequestRecord(request, secret_id = null) {
617
+ await this._recordRequestInternal(request, DispatchStatus.IN_PROGRESS, secret_id);
579
618
  }
580
- async _updateRequestRecordInternal(request, result, missing_grants) {
619
+ async _updateRequestRecordInternal(request, result, secret_id = null, missing_grants) {
581
620
  const existing = await this._deps.requests.get(this._deps.vault_id, request.request_id);
582
621
  const baseRecord = existing ?? {
583
622
  vault_id: this._deps.vault_id,
@@ -592,6 +631,7 @@ export class VaultCore {
592
631
  headers: request.headers,
593
632
  body: request.body,
594
633
  secret_alias: request.secret_alias,
634
+ secret_id: secret_id,
595
635
  },
596
636
  execution: { status: DispatchStatus.IN_PROGRESS },
597
637
  };
@@ -628,6 +668,7 @@ export class VaultCore {
628
668
  response_status: record.response?.status,
629
669
  error: record.response?.error,
630
670
  has_response_body: !!record.response?.body,
671
+ secret_id: record.request.secret_id ?? undefined,
631
672
  };
632
673
  }
633
674
  toOwnerVisibleRequestRecord(record) {
@@ -642,6 +683,7 @@ export class VaultCore {
642
683
  error: record.response?.error,
643
684
  has_response_body: !!record.response?.body,
644
685
  missing_grants: record.missing_grants,
686
+ secret_id: record.request.secret_id ?? undefined,
645
687
  };
646
688
  }
647
689
  toOwnerRequestRecord(record) {
@@ -657,10 +699,41 @@ export class VaultCore {
657
699
  headers: record.request.headers,
658
700
  body: record.request.body,
659
701
  secret_alias: record.request.secret_alias,
702
+ secret_id: record.request.secret_id ?? undefined,
660
703
  },
661
- response: record.response,
704
+ response: record.response ? {
705
+ status: record.response.status,
706
+ headers: record.response.headers,
707
+ body: record.response.body,
708
+ error: record.response.error,
709
+ } : undefined,
662
710
  execution_status: record.execution.status,
663
711
  missing_grants: record.missing_grants,
712
+ secret_id: record.request.secret_id ?? undefined,
713
+ };
714
+ }
715
+ toAgentRequestRecord(record) {
716
+ return {
717
+ request_id: record.request_id,
718
+ created_at: record.created_at,
719
+ requested_at: record.requested_at,
720
+ reason: record.reason,
721
+ request: {
722
+ target_url: record.request.target_url,
723
+ method: record.request.method,
724
+ headers: record.request.headers,
725
+ body: record.request.body,
726
+ secret_alias: record.request.secret_alias,
727
+ secret_id: record.request.secret_id ?? undefined,
728
+ },
729
+ response: record.response ? {
730
+ status: record.response.status,
731
+ headers: record.response.headers,
732
+ body: record.response.body,
733
+ error: record.response.error,
734
+ } : undefined,
735
+ execution_status: record.execution.status,
736
+ secret_id: record.request.secret_id ?? undefined,
664
737
  };
665
738
  }
666
739
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/vault-core/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,GA8Bf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,SAAS,YAAY,CAAC,KAAa,EAAE,GAAW;IAC9C,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAA2B,EAC3B,KAAqB,EACrB,SAAyB,EACzB,QAA8B,EAC9B,gBAAyD,EACzD,MAAc,EACd,QAA6B,EAAE;IAE/B,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE;QACpC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;QAC7B,KAAK;QACL,SAAS;QACT,QAAQ;QACR,gBAAgB;QAChB,MAAM;QACN,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,SAAS;IACH,KAAK,CAAwB;IAE9C,YAAY,IAA2B;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,KAAqB,EAAE,YAAgC,qBAAqB;QACxG,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAiB;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,OAA4G,EAC5G,UAAkB,EAClB,aAAkC,EAAE;QAEpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAc,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAc,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,8BAA8B,MAAM,EAAE,EAAE;gBACxI,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,YAAY,EAAG,OAAe,CAAC,YAAY;gBAC3C,GAAG,UAAU;aACd,CAAC,CACH,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,qBAAqB,CACzB,KAAyC,EACzC,aAAqB,EACrB,YAAoB,EACpB,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,KAAK,GAAqB;YAC9B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,aAAa;YACb,YAAY;YACZ,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,YAAY,eAAe,aAAa,GAAG,EAAE;YACnJ,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,aAAa;YACb,YAAY,EAAE,YAAY;SAC3B,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,KAAyC,EACzC,YAAoB,EACpB,OAAe,EACf,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,KAAK,GAA2B;YACpC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,YAAY;YACZ,OAAO;YACP,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,OAAO,iBAAiB,YAAY,GAAG,EAAE;YACzJ,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,YAAY,EAAE,YAAY;YAC1B,OAAO;SACR,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAyC,EACzC,aAAqB,EACrB,YAAoB,EACpB,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7F,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,YAAY,iBAAiB,aAAa,GAAG,EAAE;YACtJ,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,aAAa;YACb,YAAY,EAAE,YAAY;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,KAAyC,EACzC,YAAoB,EACpB,OAAe,EACf,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,OAAO,kBAAkB,YAAY,GAAG,EAAE;YAC3J,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,YAAY,EAAE,YAAY;YAC1B,OAAO;SACR,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAyC,EACzC,aAAsB,EACtB,YAAqB;QAErB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC5E,CAAC,CAAC;QACH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC;IAChD,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,sBAAsB,CAAC,OAAwB;QACnD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC/G,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC3H,CAAC;QAED,8BAA8B;QAC9B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC/G,MAAM,oBAAoB,GAAG,iBAAiB,EAAE,MAAM,KAAK,UAAU,CAAC;QAEtE,oCAAoC;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC5G,MAAM,YAAY,GAAG,SAAS,EAAE,MAAM,KAAK,UAAU,CAAC;QAEtD,IAAI,oBAAoB,IAAI,YAAY,EAAE,CAAC;YACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9G,CAAC;QAED,MAAM,cAAc,GAAG;YACrB,YAAY,EAAE,CAAC,oBAAoB;YACnC,kBAAkB,EAAE,CAAC,YAAY;SAClC,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,cAAc;SACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAwB;QAChD,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACtC,MAAM,MAAM,GAAmB;gBAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,aAAa,CAAC,MAAM,IAAI,QAAQ;aACxC,CAAC;YACF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,IAAI,QAAQ,EAAE;gBAClI,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;gBACjD,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC,CACH,CAAC;YACF,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,MAAM,GAAmB;gBAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,cAAc,CAAC,iBAAiB;gBACxC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC;YACF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,iCAAiC,EAAE;gBAClI,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;gBACjD,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC,CACH,CAAC;YACF,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YACvF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wBAAwB;QACxB,MAAM,SAAS,GAAG,aAAa,CAAC,SAAU,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,6CAA6C,EAAE,sBAAsB,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC/C;YACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,EACD,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CACpC,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CACV,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,KAAK,EACb,cAAc,CAAC,eAAe,EAC9B,SAAS,EACT,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EACnE,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,EACvG;YACE,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;YACjD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,SAAS,CAAC,KAAK;SAC3B,CACF,CACF,CAAC;QAEF,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzD,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,aAAa,EAAE,SAAS,EAAE,6BAA6B;SACxD,CAAC;IACJ,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,oBAAoB,CACxB,KAAyC,EACzC,UAAkB,EAClB,QAAkC;QAElC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACjE,MAAM,IAAI,cAAc,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,OAAO,GAAkB;gBAC7B,GAAG,MAAM;gBACT,SAAS,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE;aAC7C,CAAC;YACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACpH,UAAU;gBACV,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CAAC,kCAAkC,EAAE,wBAAwB,CAAC,CAAC;QACzF,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEzD,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBACnC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,YAAY;oBACZ,MAAM,EAAE,UAAU;oBAClB,YAAY,EAAE,GAAG;oBACjB,UAAU,EAAE,GAAG;iBAChB,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;oBACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC7B,YAAY;oBACZ,OAAO;oBACP,MAAM,EAAE,UAAU;oBAClB,YAAY,EAAE,GAAG;oBACjB,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBACvH,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,YAAY,EAAE,YAAY;aAC3B,CAAC,CACH,CAAC;YACF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAC5H,YAAY,EAAE,YAAY;gBAC1B,OAAO;aACR,CAAC,CACH,CAAC;QACJ,CAAC;QAED,UAAU;QACV,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC/C;YACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU;YACV,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;YACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;SAC1B,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAC9B,CAAC;QAEF,MAAM,WAAW,GAAkB;YACjC,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM,CAAC,eAAe;gBAC9B,OAAO,EAAE,MAAM,CAAC,gBAAgB;gBAChC,IAAI,EAAE,MAAM,CAAC,aAAa;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;YACD,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SACrC,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,QAAQ,GAAG,EAAE;YAC1H,UAAU;YACV,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CACH,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CACV,IAAI,CAAC,KAAK,EACV,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,EAC3C,cAAc,CAAC,eAAe,EAC9B,SAAS,EACT,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EACnE,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,EACvG;YACE,UAAU;YACV,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;YACxD,YAAY;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;SAClC,CACF,CACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,uBAAuB,CAAC,OAA4G;QACxI,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE,uBAAuB,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,+DAA+D;YAC9H,2FAA2F;SAC5F,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QACvE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjG,OAAO;YACL,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK;YACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACpC,KAAK,EAAE;gBACL,aAAa,EAAE,WAAW,CAAC,aAAa;gBAChC,UAAU,EAAE,WAAW,CAAC,UAAU;gBAC1C,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;gBACjE,mBAAmB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;aAC/E;YACD,KAAK,EAAE,eAAe,EAAE;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA4G;QACjI,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;QAEtG,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,QAAQ;YACrD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA4G;QAClI,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAuI;QAC3J,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;gBACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;gBAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;aAC1C;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;SAC1C,CAAC;IACJ,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,0BAA0B,CAAC,OAAiI;QAChK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,+BAA+B,OAAO,CAAC,WAAW,CAAC,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACxP,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAyK;QACtM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClI,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,OAAO,CAAC,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzN,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,cAAc,CAAC,iCAAiC,OAAO,CAAC,KAAK,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAiB;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS;YACT,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;YACpC,gBAAgB,EAAE,QAAQ;YAC1B,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpK,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzN,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QACtF,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAiB;YAC3B,GAAG,QAAQ;YACX,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;YACpC,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzN,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA2I;QACjK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnO,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAyC,EAAE,KAAiB;QAC/E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAChL,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAyC,EAAE,KAAa;QAC9E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,SAAS,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;QACxG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvN,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IAChJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAyC;QAC7D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;QAC9D,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACvG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,sBAAsB,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC;QACxJ,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAyC,EAAE,aAAsB;QACvF,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,wBAAwB,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACnJ,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAyC,EAAE,UAAkB;QACjF,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,uBAAuB,EAAE,SAAS,EAAE,WAAW,EAAE,+BAA+B,UAAU,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACvL,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAyC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,uBAAuB,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACjJ,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,QAAQ;YAChD,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAA4E;QACvG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,oBAAoB,EAAE,SAAS,EAAE,WAAW,EAAE,oCAAoC,OAAO,CAAC,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACtO,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,KAAyC;QAC7E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7I,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAoE;QAChG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1J,CAAC;IACD,sBAAsB,CAAC,YAA8C;QACnE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjF,CAAC;IAED,kFAAkF;IAE1E,KAAK,CAAC,sBAAsB,CAClC,OAAwB,EACxB,MAAsB;QAEtB,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC;YACD,SAAS,EAAE,EAAE,MAAM,EAAE;SACtB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,OAAwB;QAChE,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,OAAwB,EACxB,MAAsB,EACtB,cAAyE;QAEzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,QAAQ,IAAI;YAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC;YACD,SAAS,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE;SAClD,CAAC;QACF,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB;YAC/E,CAAC,CAAC,CAAC,QAAQ,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7C,OAAO;oBACL,QAAQ,EAAE,GAAG,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE;oBAChD,UAAU;iBACX,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACrC,MAAM,MAAM,GAAkB;YAC5B,GAAG,UAAU;YACb,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM,CAAC,eAAe;gBAC9B,OAAO,EAAE,MAAM,CAAC,gBAAgB;gBAChC,IAAI,EAAE,MAAM,CAAC,aAAa;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;YACD,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACpC,cAAc;YACd,sBAAsB;SACvB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,2BAA2B,CAAC,MAAqB;QACvD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;YACrC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;YACzC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM;YACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK;YAC7B,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI;SAC3C,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAAC,MAAqB;QACvD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;YACrC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;YACzC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM;YACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK;YAC7B,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI;YAC1C,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,MAAqB;QAChD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;gBACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;gBAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;aAC1C;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,OAAO,IAAI,SAAS,CAAC;QACnB,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,6BAA6B,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/vault-core/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,GA+Bf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,SAAS,YAAY,CAAC,KAAa,EAAE,GAAW;IAC9C,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAA2B,EAC3B,KAAqB,EACrB,SAAyB,EACzB,QAA8B,EAC9B,gBAAyD,EACzD,MAAc,EACd,QAA6B,EAAE;IAE/B,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE;QACpC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;QAC7B,KAAK;QACL,SAAS;QACT,QAAQ;QACR,gBAAgB;QAChB,MAAM;QACN,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,SAAS;IACH,KAAK,CAAwB;IAE9C,YAAY,IAA2B;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,KAAqB,EAAE,YAAgC,qBAAqB;QACxG,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAiB;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,OAA4G,EAC5G,UAAkB,EAClB,aAAkC,EAAE;QAEpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAc,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAc,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,8BAA8B,MAAM,EAAE,EAAE;gBACxI,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,YAAY,EAAG,OAAe,CAAC,YAAY;gBAC3C,GAAG,UAAU;aACd,CAAC,CACH,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,qBAAqB,CACzB,KAAyC,EACzC,aAAqB,EACrB,SAAmB,EACnB,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,KAAK,GAAqB;YAC9B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,aAAa;YACb,SAAS;YACT,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,SAAS,CAAC,KAAK,eAAe,aAAa,GAAG,EAAE;YACtJ,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,aAAa;YACb,SAAS,EAAE,SAAS,CAAC,KAAK;SAC3B,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,KAAyC,EACzC,SAAmB,EACnB,OAAe,EACf,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,KAAK,GAA2B;YACpC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,SAAS;YACT,OAAO;YACP,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,OAAO,iBAAiB,SAAS,CAAC,KAAK,GAAG,EAAE;YAC5J,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,SAAS,EAAE,SAAS,CAAC,KAAK;YAC1B,OAAO;SACR,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAyC,EACzC,aAAqB,EACrB,SAAmB,EACnB,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,SAAS,CAAC,KAAK,iBAAiB,aAAa,GAAG,EAAE;YACzJ,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,aAAa;YACb,SAAS,EAAE,SAAS,CAAC,KAAK;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,KAAyC,EACzC,SAAmB,EACnB,OAAe,EACf,OAAiC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,OAAO,kBAAkB,SAAS,CAAC,KAAK,GAAG,EAAE;YAC9J,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,SAAS,EAAE,SAAS,CAAC,KAAK;YAC1B,OAAO;SACR,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAyC,EACzC,aAAsB,EACtB,SAAoB;QAEpB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;SACzE,CAAC,CAAC;QACH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC;IAChD,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,sBAAsB,CAAC,OAAwB;QACnD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC/G,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC3H,CAAC;QAED,8BAA8B;QAC9B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACnH,MAAM,oBAAoB,GAAG,iBAAiB,EAAE,MAAM,KAAK,UAAU,CAAC;QAEtE,oCAAoC;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChH,MAAM,YAAY,GAAG,SAAS,EAAE,MAAM,KAAK,UAAU,CAAC;QAEtD,IAAI,oBAAoB,IAAI,YAAY,EAAE,CAAC;YACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9G,CAAC;QAED,MAAM,cAAc,GAAG;YACrB,YAAY,EAAE,CAAC,oBAAoB;YACnC,kBAAkB,EAAE,CAAC,YAAY;SAClC,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,cAAc;SACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAwB;QAChD,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzD,oDAAoD;QACpD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAE1C,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAElF,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACtC,MAAM,MAAM,GAAmB;gBAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,aAAa,CAAC,MAAM,IAAI,QAAQ;aACxC,CAAC;YACF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,IAAI,QAAQ,EAAE;gBAClI,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;gBACjD,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,SAAS,EAAE,SAAS,EAAE,KAAK;aAC5B,CAAC,CACH,CAAC;YACF,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,MAAM,GAAmB;gBAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,cAAc,CAAC,iBAAiB;gBACxC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC;YACF,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;YAClG,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,iCAAiC,EAAE;gBAClI,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;gBACjD,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,SAAS,EAAE,SAAS,EAAE,KAAK;aAC5B,CAAC,CACH,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,cAAc,CAAC,iCAAiC,EAAE,sBAAsB,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,6CAA6C,EAAE,sBAAsB,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC/C;YACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,EACD,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,CACpC,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CACV,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,KAAK,EACb,cAAc,CAAC,eAAe,EAC9B,SAAS,EACT,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EACnE,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,EACvG;YACE,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;YACjD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,SAAS,CAAC,KAAK;SAC3B,CACF,CACF,CAAC;QAEF,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEpE,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,aAAa,EAAE,SAAS,EAAE,6BAA6B;SACxD,CAAC;IACJ,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,oBAAoB,CACxB,KAAyC,EACzC,UAAkB,EAClB,QAAkC;QAElC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACjE,MAAM,IAAI,cAAc,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,OAAO,GAAkB;gBAC7B,GAAG,MAAM;gBACT,SAAS,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE;aAC7C,CAAC;YACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACpH,UAAU;gBACV,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;gBACzC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK;aAC3C,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,cAAc,CAAC,kCAAkC,EAAE,wBAAwB,CAAC,CAAC;QACzF,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEzD,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBACnC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,MAAM,EAAE,UAAU;oBAClB,YAAY,EAAE,GAAG;oBACjB,UAAU,EAAE,GAAG;iBAChB,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC;oBACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO;oBACP,MAAM,EAAE,UAAU;oBAClB,YAAY,EAAE,GAAG;oBACjB,UAAU,EAAE,GAAG;iBAChB,CAAC;aACH,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBACvH,UAAU;gBACV,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,YAAY,EAAE,YAAY;gBAC1B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;aAClC,CAAC,CACH,CAAC;YACF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAC5H,UAAU;gBACV,YAAY,EAAE,YAAY;gBAC1B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;gBACjC,OAAO;aACR,CAAC,CACH,CAAC;QACJ,CAAC;QAED,UAAU;QACV,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC/C;YACE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU;YACV,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;YACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;SAC1B,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAC9B,CAAC;QAEF,MAAM,WAAW,GAAkB;YACjC,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM,CAAC,eAAe;gBAC9B,OAAO,EAAE,MAAM,CAAC,gBAAgB;gBAChC,IAAI,EAAE,MAAM,CAAC,aAAa;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;YACD,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SACrC,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,QAAQ,GAAG,EAAE;YAC1H,UAAU;YACV,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;YACzC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK;SAC3C,CAAC,CACH,CAAC;QAEF,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,CACV,IAAI,CAAC,KAAK,EACV,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,EAC3C,cAAc,CAAC,eAAe,EAC9B,SAAS,EACT,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EACnE,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,EACvG;YACE,UAAU;YACV,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;YACxD,YAAY;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;SAClC,CACF,CACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,uBAAuB,CAAC,OAA4G;QACxI,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,cAAc,CAAC,+BAA+B,EAAE,uBAAuB,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC9D,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhG,OAAO;YACL,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK;YACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACpC,KAAK,EAAE;gBACL,aAAa,EAAE,WAAW,CAAC,aAAa;gBAChC,UAAU,EAAE,WAAW,CAAC,UAAU;gBAC1C,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B;YACD,MAAM,EAAE;gBACN,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;gBACjE,mBAAmB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;aAC/E;YACD,KAAK,EAAE,eAAe,EAAE;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA4G;QACjI,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3G,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,QAAQ;YACrD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;SACvD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA4G;QAClI,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAuI;QAC3J,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;gBACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;gBAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;aAC1C;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;SAC1C,CAAC;IACJ,CAAC;IAED,iFAAiF;IAEjF,KAAK,CAAC,0BAA0B,CAAC,OAAiI;QAChK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,+BAA+B,OAAO,CAAC,WAAW,CAAC,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACxP,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAyK;QACtM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClI,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,OAAO,CAAC,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACzN,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,cAAc,CAAC,iCAAiC,OAAO,CAAC,KAAK,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAiB;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS;YACT,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;YACpC,gBAAgB,EAAE,QAAQ;YAC1B,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,UAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpK,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzN,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QAEtF,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAChH,MAAM,QAAQ,GAAG,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC;QAE9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7E,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,cAAc,CAAC,iCAAiC,UAAU,GAAG,EAAE,4BAA4B,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAEtC,MAAM,MAAM,GAAiB;YAC3B,GAAG,QAAQ;YACX,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;YACpC,UAAU,EAAE,GAAG;SAChB,CAAC;QAEF,iFAAiF;QACjF,2CAA2C;QAE3C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,UAAU,GAAG,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnN,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA2I;QACjK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnO,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAyC,EAAE,KAAiB;QAC/E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAyC,EAAE,KAAa;QAC9E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,SAAS,KAAK,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;QACxG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,KAAK,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvN,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IAChJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAyC;QAC7D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;QAC9D,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YAC/B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAyC,EAAE,aAAsB;QACvF,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAyC,EAAE,UAAkB;QACjF,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,cAAc,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAyC;QAC9D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,QAAQ;YAChD,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAA4E;QACvG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,oBAAoB,EAAE,SAAS,EAAE,WAAW,EAAE,oCAAoC,OAAO,CAAC,aAAa,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACtO,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,KAAyC;QAC7E,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7I,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAoE;QAChG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1J,CAAC;IACD,sBAAsB,CAAC,YAA8C;QACnE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrD,UAAU,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,UAAU;oBAAE,OAAO;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB;oBAAE,OAAO;gBACpF,MAAM,cAAc,GAAG,MAAM,CAAC,sBAAsB,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;gBACjF,IAAI,YAAY,CAAC,YAAY,IAAI,cAAc,IAAI,YAAY,CAAC,YAAY;oBAAE,OAAO;gBACrF,YAAY,CAAC,OAAO,CAAC;oBACnB,QAAQ,EAAE,cAAc;oBACxB,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,UAAU,IAAI,KAAK,CAAC,EAAE;oBACjE,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,YAAY,CAAC,YAAoC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,kFAAkF;IAE1E,KAAK,CAAC,sBAAsB,CAClC,OAAwB,EACxB,MAAsB,EACtB,YAA6B,IAAI;QAEjC,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,SAAS;aACV;YACD,SAAS,EAAE,EAAE,MAAM,EAAE;SACtB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,OAAwB,EAAE,YAA6B,IAAI;QACnG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,OAAwB,EACxB,MAAsB,EACtB,YAA6B,IAAI,EACjC,cAAyE;QAEzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,QAAQ,IAAI;YAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,SAAS,EAAE,SAAS;aACrB;YACD,SAAS,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE;SAClD,CAAC;QACF,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,iBAAiB;YAC/E,CAAC,CAAC,CAAC,QAAQ,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7C,OAAO;oBACL,QAAQ,EAAE,GAAG,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE;oBAChD,UAAU;iBACX,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACrC,MAAM,MAAM,GAAkB;YAC5B,GAAG,UAAU;YACb,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM,CAAC,eAAe;gBAC9B,OAAO,EAAE,MAAM,CAAC,gBAAgB;gBAChC,IAAI,EAAE,MAAM,CAAC,aAAa;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;YACD,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACpC,cAAc;YACd,sBAAsB;SACvB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEO,2BAA2B,CAAC,MAAqB;QACvD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;YACrC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;YACzC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM;YACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK;YAC7B,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI;YAC1C,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS;SACjD,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAAC,MAAqB;QACvD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;YACrC,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;YACzC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM;YACxC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK;YAC7B,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI;YAC1C,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS;SACjD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,MAAqB;QAChD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;gBACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;gBAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;gBACzC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS;aACjD;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAC9B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;gBAChC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;gBAC1B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;aAC7B,CAAC,CAAC,CAAC,SAAS;YACb,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS;SACjD,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,MAAqB;QAChD,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;gBACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;gBAC/B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBACzB,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;gBACzC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS;aACjD;YACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAC9B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;gBAChC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;gBAC1B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;aAC7B,CAAC,CAAC,CAAC,SAAS;YACb,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;YACzC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS;SACjD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,OAAO,IAAI,SAAS,CAAC;QACnB,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,6BAA6B,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC"}