@abloatai/transaction 0.37.0 → 0.38.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 (148) hide show
  1. package/dist/ai-sdk/index.d.ts +3 -1
  2. package/dist/ai-sdk/index.d.ts.map +1 -1
  3. package/dist/ai-sdk/index.js +2 -1
  4. package/dist/ai-sdk/index.js.map +1 -1
  5. package/dist/ai-sdk/modelTools.d.ts +67 -0
  6. package/dist/ai-sdk/modelTools.d.ts.map +1 -0
  7. package/dist/ai-sdk/modelTools.js +89 -0
  8. package/dist/ai-sdk/modelTools.js.map +1 -0
  9. package/dist/ai-sdk/toolOptions.d.ts +8 -0
  10. package/dist/ai-sdk/toolOptions.d.ts.map +1 -0
  11. package/dist/ai-sdk/toolOptions.js +2 -0
  12. package/dist/ai-sdk/toolOptions.js.map +1 -0
  13. package/dist/ai-sdk/{coordinatedTool.d.ts → updateTool.d.ts} +21 -28
  14. package/dist/ai-sdk/updateTool.d.ts.map +1 -0
  15. package/dist/ai-sdk/{coordinatedTool.js → updateTool.js} +39 -50
  16. package/dist/ai-sdk/updateTool.js.map +1 -0
  17. package/dist/auth/capability.d.ts +6 -0
  18. package/dist/auth/capability.d.ts.map +1 -1
  19. package/dist/auth/capability.js +4 -0
  20. package/dist/auth/capability.js.map +1 -1
  21. package/dist/auth/capabilityLifecycle.d.ts +3 -0
  22. package/dist/auth/capabilityLifecycle.d.ts.map +1 -1
  23. package/dist/auth/identity.d.ts +6 -4
  24. package/dist/auth/identity.d.ts.map +1 -1
  25. package/dist/auth/identity.js +7 -11
  26. package/dist/auth/identity.js.map +1 -1
  27. package/dist/auth/schemas.d.ts +5 -5
  28. package/dist/auth/schemas.d.ts.map +1 -1
  29. package/dist/auth/schemas.js +5 -2
  30. package/dist/auth/schemas.js.map +1 -1
  31. package/dist/auth/sessionMint.d.ts.map +1 -1
  32. package/dist/auth/sessionMint.js +3 -0
  33. package/dist/auth/sessionMint.js.map +1 -1
  34. package/dist/branches.d.ts +251 -0
  35. package/dist/branches.d.ts.map +1 -0
  36. package/dist/branches.js +108 -0
  37. package/dist/branches.js.map +1 -0
  38. package/dist/coordination/awaitClaimGrant.d.ts +2 -0
  39. package/dist/coordination/awaitClaimGrant.d.ts.map +1 -1
  40. package/dist/coordination/awaitClaimGrant.js +15 -2
  41. package/dist/coordination/awaitClaimGrant.js.map +1 -1
  42. package/dist/coordination/schema.d.ts +2 -0
  43. package/dist/coordination/schema.d.ts.map +1 -1
  44. package/dist/coordination/schema.js +2 -0
  45. package/dist/coordination/schema.js.map +1 -1
  46. package/dist/docs/catalog.d.ts +5 -5
  47. package/dist/docs/catalog.d.ts.map +1 -1
  48. package/dist/docs/catalog.js +12 -12
  49. package/dist/docs/catalog.js.map +1 -1
  50. package/dist/footprint.d.ts +3 -5
  51. package/dist/footprint.d.ts.map +1 -1
  52. package/dist/footprint.js +0 -0
  53. package/dist/footprint.js.map +1 -1
  54. package/dist/index.d.ts +1 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/keys/index.d.ts +15 -7
  59. package/dist/keys/index.d.ts.map +1 -1
  60. package/dist/keys/index.js +45 -14
  61. package/dist/keys/index.js.map +1 -1
  62. package/dist/schema/openapi.d.ts +1 -1
  63. package/dist/schema/openapi.d.ts.map +1 -1
  64. package/dist/schema/openapi.js +308 -29
  65. package/dist/schema/openapi.js.map +1 -1
  66. package/dist/server/commit.d.ts +2 -15
  67. package/dist/server/commit.d.ts.map +1 -1
  68. package/dist/source/adapter.d.ts +7 -2
  69. package/dist/source/adapter.d.ts.map +1 -1
  70. package/dist/source/adapter.js +4 -2
  71. package/dist/source/adapter.js.map +1 -1
  72. package/dist/source/adapterFactory.d.ts +10 -0
  73. package/dist/source/adapterFactory.d.ts.map +1 -0
  74. package/dist/source/adapterFactory.js +33 -0
  75. package/dist/source/adapterFactory.js.map +1 -0
  76. package/dist/source/adapterProfile.d.ts +55 -0
  77. package/dist/source/adapterProfile.d.ts.map +1 -0
  78. package/dist/source/adapterProfile.js +54 -0
  79. package/dist/source/adapterProfile.js.map +1 -0
  80. package/dist/source/adapters/drizzle.d.ts.map +1 -1
  81. package/dist/source/adapters/drizzle.js +5 -2
  82. package/dist/source/adapters/drizzle.js.map +1 -1
  83. package/dist/source/adapters/kysely.d.ts.map +1 -1
  84. package/dist/source/adapters/kysely.js +7 -4
  85. package/dist/source/adapters/kysely.js.map +1 -1
  86. package/dist/source/adapters/memory.d.ts.map +1 -1
  87. package/dist/source/adapters/memory.js +5 -2
  88. package/dist/source/adapters/memory.js.map +1 -1
  89. package/dist/source/adapters/prisma.d.ts.map +1 -1
  90. package/dist/source/adapters/prisma.js +5 -2
  91. package/dist/source/adapters/prisma.js.map +1 -1
  92. package/dist/source/conformance.d.ts.map +1 -1
  93. package/dist/source/conformance.js +18 -0
  94. package/dist/source/conformance.js.map +1 -1
  95. package/dist/source/index.d.ts +2 -0
  96. package/dist/source/index.d.ts.map +1 -1
  97. package/dist/source/index.js +2 -0
  98. package/dist/source/index.js.map +1 -1
  99. package/dist/source/types.d.ts +3 -14
  100. package/dist/source/types.d.ts.map +1 -1
  101. package/dist/source/types.js.map +1 -1
  102. package/dist/syncLog/contract.d.ts +1 -1
  103. package/dist/syncLog/contract.d.ts.map +1 -1
  104. package/dist/syncLog/contract.js +1 -2
  105. package/dist/syncLog/contract.js.map +1 -1
  106. package/dist/wire/accountResponses.d.ts +5 -9
  107. package/dist/wire/accountResponses.d.ts.map +1 -1
  108. package/dist/wire/accountResponses.js +5 -6
  109. package/dist/wire/accountResponses.js.map +1 -1
  110. package/dist/wire/delta.d.ts +11 -0
  111. package/dist/wire/delta.d.ts.map +1 -1
  112. package/dist/wire/delta.js +11 -0
  113. package/dist/wire/delta.js.map +1 -1
  114. package/dist/wire/inboundFrames.d.ts +2 -0
  115. package/dist/wire/inboundFrames.d.ts.map +1 -1
  116. package/package.json +8 -2
  117. package/src/ai-sdk/index.ts +19 -6
  118. package/src/ai-sdk/modelTools.ts +165 -0
  119. package/src/ai-sdk/toolOptions.ts +18 -0
  120. package/src/ai-sdk/{coordinatedTool.ts → updateTool.ts} +59 -69
  121. package/src/auth/capability.ts +4 -0
  122. package/src/auth/identity.ts +16 -16
  123. package/src/auth/schemas.ts +5 -2
  124. package/src/auth/sessionMint.ts +3 -0
  125. package/src/branches.ts +134 -0
  126. package/src/coordination/awaitClaimGrant.ts +18 -2
  127. package/src/coordination/schema.ts +2 -0
  128. package/src/docs/catalog.ts +24 -12
  129. package/src/footprint.ts +0 -0
  130. package/src/index.ts +1 -0
  131. package/src/keys/index.ts +56 -17
  132. package/src/schema/openapi.ts +366 -38
  133. package/src/server/commit.ts +2 -15
  134. package/src/source/adapter.ts +7 -2
  135. package/src/source/adapterFactory.ts +60 -0
  136. package/src/source/adapterProfile.ts +75 -0
  137. package/src/source/adapters/drizzle.ts +5 -2
  138. package/src/source/adapters/kysely.ts +10 -4
  139. package/src/source/adapters/memory.ts +5 -2
  140. package/src/source/adapters/prisma.ts +5 -2
  141. package/src/source/conformance.ts +18 -0
  142. package/src/source/index.ts +14 -0
  143. package/src/source/types.ts +3 -14
  144. package/src/syncLog/contract.ts +1 -2
  145. package/src/wire/accountResponses.ts +5 -6
  146. package/src/wire/delta.ts +11 -0
  147. package/dist/ai-sdk/coordinatedTool.d.ts.map +0 -1
  148. package/dist/ai-sdk/coordinatedTool.js.map +0 -1
@@ -7,6 +7,7 @@ import { ABLO_HOSTED_HTTP_BASE_URL } from '../auth/hostedEndpoints.js';
7
7
  import { z } from 'zod';
8
8
  import { commitRequestSchema, commitReceiptSchema } from '../wire/commit.js';
9
9
  import { claimRequestSchema, claimHeartbeatRequestSchema, listQuerySchema, claimStateSchema, claimAcquiredResponseSchema, claimQueuedResponseSchema, claimHeartbeatReplySchema, claimHeartbeatBatchReplySchema, claimListQuerySchema, claimListResponseSchema, claimReorderRequestSchema, claimReorderReplySchema, claimReleaseReplySchema, } from '../wire/claims.js';
10
+ import { errorEnvelopeSchema } from '../wire/errorEnvelope.js';
10
11
  import { modelReadResponseSchema, modelListResponseSchema } from '../wire/modelResponses.js';
11
12
  import { modelMutationRequestSchema } from '../wire/modelMutations.js';
12
13
  import { logListResponseSchema, logQuerySchema } from '../wire/feedEvent.js';
@@ -14,6 +15,73 @@ import { schemaReadResponseSchema } from '../wire/accountResponses.js';
14
15
  import { ephemeralKeyRequestSchema, capabilityRequestSchema, capabilityMintResponseSchema, } from '../wire/auth.js';
15
16
  import { EphemeralKeyResponseSchema } from '../auth/schemas.js';
16
17
  import { capabilityRotationRequestSchema, capabilityRotationResponseSchema, sessionRevocationResponseSchema, } from '../auth/capabilityLifecycle.js';
18
+ import { branchCredentialRequestSchema, branchCredentialResponseSchema, branchListResponseSchema, branchResponseSchema, branchStatusResponseSchema, createBranchRequestSchema, } from '../branches.js';
19
+ import { modelClaimSchema } from '../coordination/schema.js';
20
+ const HTTP_METHODS = new Set(['get', 'post', 'put', 'patch', 'delete']);
21
+ /**
22
+ * Give generators a stable public name for every operation.
23
+ *
24
+ * The map is deliberately exhaustive: adding a route without naming it throws
25
+ * while rendering the document instead of letting each language generator
26
+ * invent a different method name.
27
+ */
28
+ function applyOperationIds(paths, operationIds) {
29
+ const usedKeys = new Set();
30
+ const usedIds = new Set();
31
+ for (const [path, rawPathItem] of Object.entries(paths)) {
32
+ const pathItem = rawPathItem;
33
+ for (const [method, rawOperation] of Object.entries(pathItem)) {
34
+ if (!HTTP_METHODS.has(method))
35
+ continue;
36
+ const key = `${method.toUpperCase()} ${path}`;
37
+ const operationId = operationIds[key];
38
+ if (!operationId) {
39
+ throw new Error(`OpenAPI operation ${key} has no stable operationId`);
40
+ }
41
+ if (usedIds.has(operationId)) {
42
+ throw new Error(`OpenAPI operationId ${operationId} is not unique`);
43
+ }
44
+ pathItem[method] = { ...rawOperation, operationId };
45
+ usedKeys.add(key);
46
+ usedIds.add(operationId);
47
+ }
48
+ }
49
+ const stale = Object.keys(operationIds).filter((key) => !usedKeys.has(key));
50
+ if (stale.length > 0) {
51
+ throw new Error(`OpenAPI operationId map names operations that do not exist: ${stale.join(', ')}`);
52
+ }
53
+ }
54
+ const ABLO_OPERATION_IDS = {
55
+ 'GET /v1/models/{model}': 'listModelRows',
56
+ 'POST /v1/models/{model}': 'createModelRow',
57
+ 'GET /v1/models/{model}/{id}': 'getModelRow',
58
+ 'PATCH /v1/models/{model}/{id}': 'updateModelRow',
59
+ 'DELETE /v1/models/{model}/{id}': 'deleteModelRow',
60
+ 'POST /v1/models/{model}/{id}/claim': 'acquireModelClaim',
61
+ 'DELETE /v1/models/{model}/{id}/claim': 'releaseModelClaim',
62
+ 'POST /v1/models/{model}/{id}/claim/heartbeat': 'heartbeatModelClaim',
63
+ 'POST /v1/models/{model}/{id}/claim/reorder': 'reorderModelClaimQueue',
64
+ 'POST /v1/ephemeral_keys': 'mintEphemeralKey',
65
+ 'GET /v1/branches': 'listBranches',
66
+ 'POST /v1/branches': 'createBranch',
67
+ 'GET /v1/branches/{id}': 'getBranch',
68
+ 'DELETE /v1/branches/{id}': 'deleteBranch',
69
+ 'POST /v1/branches/{id}/credentials': 'mintBranchCredential',
70
+ 'GET /v1/branches/{id}/status': 'getBranchStatus',
71
+ 'GET /v1/claims': 'listClaims',
72
+ 'POST /v1/claims': 'acquireClaim',
73
+ 'POST /v1/claims/heartbeat': 'heartbeatClaims',
74
+ 'GET /v1/claims/{claimId}': 'getClaim',
75
+ 'DELETE /v1/claims/{claimId}': 'releaseClaim',
76
+ 'POST /v1/claims/{claimId}/heartbeat': 'heartbeatClaim',
77
+ 'POST /v1/capabilities': 'mintCapability',
78
+ 'GET /v1/capabilities/{id}': 'getCapability',
79
+ 'DELETE /v1/capabilities/{id}': 'revokeCapability',
80
+ 'POST /v1/capabilities/{id}/rotate': 'rotateCapability',
81
+ 'GET /v1/schema': 'getSchema',
82
+ 'GET /v1/logs': 'listLogEntries',
83
+ 'POST /v1/commits': 'commit',
84
+ };
17
85
  function fieldSchema(f) {
18
86
  switch (f.type) {
19
87
  case 'number':
@@ -46,6 +114,50 @@ const jsonResp = (description, schema) => ({
46
114
  description,
47
115
  content: { 'application/json': { schema } },
48
116
  });
117
+ const schemaRef = (name) => ({ $ref: `#/components/schemas/${name}` });
118
+ const namedResp = (description, name) => jsonResp(description, schemaRef(name));
119
+ /**
120
+ * Zod emits JSON Schema 2020-12. OpenAPI 3.1 accepts it, but SDK generators
121
+ * intentionally support a narrower, portable subset:
122
+ *
123
+ * - `$schema` belongs on a standalone JSON Schema document, not every embedded
124
+ * OpenAPI Schema Object;
125
+ * - `propertyNames: { type: 'string' }` is redundant for JSON objects and is
126
+ * unsupported by Stainless;
127
+ * - `additionalProperties: {}` means "any JSON value", but Stainless requires
128
+ * the equivalent, explicit `true`.
129
+ *
130
+ * Keeping this normalization at the rendering boundary lets the Zod schemas
131
+ * remain the wire authority without publishing generator-hostile syntax.
132
+ */
133
+ function portableSchema(value) {
134
+ if (Array.isArray(value))
135
+ return value.map(portableSchema);
136
+ if (typeof value !== 'object' || value === null)
137
+ return value;
138
+ const source = value;
139
+ const result = {};
140
+ for (const [key, child] of Object.entries(source)) {
141
+ if (key === '$schema')
142
+ continue;
143
+ if (key === 'propertyNames' &&
144
+ typeof child === 'object' &&
145
+ child !== null &&
146
+ Object.keys(child).length === 1 &&
147
+ child.type === 'string') {
148
+ continue;
149
+ }
150
+ if (key === 'additionalProperties' &&
151
+ typeof child === 'object' &&
152
+ child !== null &&
153
+ Object.keys(child).length === 0) {
154
+ result[key] = true;
155
+ continue;
156
+ }
157
+ result[key] = portableSchema(child);
158
+ }
159
+ return result;
160
+ }
49
161
  /**
50
162
  * Derive a JSON Schema from a wire schema.
51
163
  *
@@ -55,8 +167,8 @@ const jsonResp = (description, schema) => ({
55
167
  * looks like a working spec — which is why the direction is stated at every
56
168
  * call site rather than defaulted.
57
169
  */
58
- const derive = (schema, io) => z.toJSONSchema(schema, { io, unrepresentable: 'any' });
59
- const commitReceipt = () => jsonResp('Commit receipt', derive(commitReceiptSchema, 'output'));
170
+ const derive = (schema, io) => portableSchema(z.toJSONSchema(schema, { io, unrepresentable: 'any' }));
171
+ const commitReceipt = () => namedResp('Commit receipt', 'CommitReceipt');
60
172
  const modelParam = () => ({
61
173
  name: 'model',
62
174
  in: 'path',
@@ -105,14 +217,23 @@ function withGenericRows(derived) {
105
217
  */
106
218
  function queryParams(schema) {
107
219
  const props = (derive(schema, 'input').properties ?? {});
108
- return Object.entries(props).map(([name, s]) => ({ name, in: 'query', schema: s }));
220
+ return Object.entries(props).map(([name, s]) => ({
221
+ name,
222
+ in: 'query',
223
+ // Query strings arrive at the server as text, but OpenAPI describes the
224
+ // caller-facing value before serialization. Generated clients should take
225
+ // an integer here and encode it, not expose a stringly typed page size.
226
+ schema: name === 'limit'
227
+ ? { type: 'integer', minimum: 1 }
228
+ : s,
229
+ }));
109
230
  }
110
231
  /**
111
232
  * Both release routes answer in one shape. `released` distinguishes "this call
112
233
  * ended your lease" from "there was nothing of yours to end" — both success,
113
234
  * and a retry after a lost response deserves to know which it got.
114
235
  */
115
- const releaseResp = () => jsonResp('Released', derive(claimReleaseReplySchema, 'output'));
236
+ const releaseResp = () => namedResp('Released', 'ClaimRelease');
116
237
  const claimIdParam = () => ({
117
238
  name: 'claimId',
118
239
  in: 'path',
@@ -133,8 +254,12 @@ function envelope(options, description, paths, schemas) {
133
254
  openapi: '3.1.0',
134
255
  info: {
135
256
  title: options.title ?? 'Ablo API',
136
- version: options.version ?? '1.0.0',
257
+ version: options.version ?? 'development',
137
258
  description,
259
+ license: {
260
+ name: 'Apache License 2.0',
261
+ identifier: 'Apache-2.0',
262
+ },
138
263
  },
139
264
  servers: [{ url: options.serverUrl ?? `${ABLO_HOSTED_HTTP_BASE_URL}/api` }],
140
265
  security: [{ bearerAuth: [] }],
@@ -147,6 +272,80 @@ function envelope(options, description, paths, schemas) {
147
272
  paths,
148
273
  };
149
274
  }
275
+ const ERROR_RESPONSES = {
276
+ '400': 'The request did not satisfy the published contract.',
277
+ '401': 'The Bearer credential is missing, malformed, or expired.',
278
+ '403': 'The credential does not authorize this operation.',
279
+ '404': 'The addressed resource does not exist in the credential scope.',
280
+ '409': 'The request conflicts with current claim, version, or idempotency state.',
281
+ '429': 'The caller exceeded an enforced rate limit.',
282
+ '500': 'The server could not complete the request.',
283
+ '503': 'A required service is temporarily unavailable.',
284
+ };
285
+ /**
286
+ * Every route passes failures through the same server error funnel. Publish
287
+ * that fact on every operation so generated transports decode all HTTP errors
288
+ * through `ErrorEnvelope`, rather than falling back to a language-specific raw
289
+ * response type.
290
+ */
291
+ function attachCanonicalErrors(paths) {
292
+ for (const rawPathItem of Object.values(paths)) {
293
+ const pathItem = rawPathItem;
294
+ for (const [method, rawOperation] of Object.entries(pathItem)) {
295
+ if (!HTTP_METHODS.has(method))
296
+ continue;
297
+ const operation = rawOperation;
298
+ const responses = { ...operation.responses };
299
+ for (const [status, description] of Object.entries(ERROR_RESPONSES)) {
300
+ responses[status] = namedResp(description, 'ErrorEnvelope');
301
+ }
302
+ responses.default = namedResp('An HTTP error not otherwise listed; decoded through the canonical envelope.', 'ErrorEnvelope');
303
+ operation.responses = responses;
304
+ }
305
+ }
306
+ }
307
+ function abloComponentSchemas() {
308
+ const commitReceiptSchemaJson = derive(commitReceiptSchema, 'output');
309
+ commitReceiptSchemaJson.discriminator = { propertyName: 'status' };
310
+ const schemas = {
311
+ Cursor: {
312
+ type: 'string',
313
+ description: 'An opaque pagination position. Copy it unchanged into the next request.',
314
+ },
315
+ ErrorEnvelope: derive(errorEnvelopeSchema, 'output'),
316
+ Claim: derive(modelClaimSchema, 'output'),
317
+ ClaimAcquire: {
318
+ oneOf: [schemaRef('ClaimAcquired'), schemaRef('ClaimQueued')],
319
+ discriminator: { propertyName: 'status' },
320
+ },
321
+ ClaimAcquired: derive(claimAcquiredResponseSchema, 'output'),
322
+ ClaimQueued: derive(claimQueuedResponseSchema, 'output'),
323
+ ClaimState: derive(claimStateSchema, 'output'),
324
+ ClaimList: derive(claimListResponseSchema, 'output'),
325
+ ClaimHeartbeat: derive(claimHeartbeatReplySchema, 'output'),
326
+ ClaimHeartbeatBatch: derive(claimHeartbeatBatchReplySchema, 'output'),
327
+ ClaimRelease: derive(claimReleaseReplySchema, 'output'),
328
+ ClaimReorder: derive(claimReorderReplySchema, 'output'),
329
+ CommitReceipt: commitReceiptSchemaJson,
330
+ ModelRead: withGenericRows(derive(modelReadResponseSchema, 'output')),
331
+ ModelPage: withGenericRows(derive(modelListResponseSchema, 'output')),
332
+ LogPage: derive(logListResponseSchema, 'output'),
333
+ SchemaRead: derive(schemaReadResponseSchema, 'output'),
334
+ };
335
+ // Reuse protocol concepts inside the named envelopes too. Without these
336
+ // refs, generators invent separate anonymous Claim and cursor models for
337
+ // every operation even though the server validates one canonical shape.
338
+ const properties = (name) => (schemas[name]?.properties ?? {});
339
+ properties('ClaimAcquired').claim = schemaRef('Claim');
340
+ properties('ClaimList').data.items = schemaRef('Claim');
341
+ properties('ModelRead').claims.items = schemaRef('Claim');
342
+ for (const name of ['ClaimList', 'ModelPage', 'LogPage']) {
343
+ properties(name).next_cursor = {
344
+ oneOf: [schemaRef('Cursor'), { type: 'null' }],
345
+ };
346
+ }
347
+ return schemas;
348
+ }
150
349
  /**
151
350
  * The protocol reference: the route templates the server actually serves.
152
351
  *
@@ -162,7 +361,7 @@ function envelope(options, description, paths, schemas) {
162
361
  * {@link schemaToOpenApi}.
163
362
  */
164
363
  export function abloOpenApi(options = {}) {
165
- const rowResp = jsonResp('The row, with the watermark it was read at and who holds it.', withGenericRows(derive(modelReadResponseSchema, 'output')));
364
+ const rowResp = namedResp('The row, with the watermark it was read at and who holds it.', 'ModelRead');
166
365
  const tags = ['models'];
167
366
  const paths = {
168
367
  '/v1/models/{model}': {
@@ -171,8 +370,8 @@ export function abloOpenApi(options = {}) {
171
370
  summary: 'List rows of a model',
172
371
  parameters: [modelParam(), ...queryParams(listQuerySchema)],
173
372
  responses: {
174
- '200': jsonResp('A page of rows. `next_cursor` feeds `starting_after` on the next ' +
175
- 'call; `stamp` is the watermark the page was read at.', withGenericRows(derive(modelListResponseSchema, 'output'))),
373
+ '200': namedResp('A page of rows. `next_cursor` feeds `starting_after` on the next ' +
374
+ 'call; `stamp` is the watermark the page was read at.', 'ModelPage'),
176
375
  },
177
376
  },
178
377
  post: {
@@ -211,11 +410,11 @@ export function abloOpenApi(options = {}) {
211
410
  parameters: [modelParam(), idParam()],
212
411
  requestBody: optionalJsonBody(derive(claimRequestSchema, 'input')),
213
412
  responses: {
214
- '201': jsonResp('The lease is yours. `claim.fenceToken` is set when the coordinator ' +
215
- 'minted one; carry it on writes made under the lease.', derive(claimAcquiredResponseSchema, 'output')),
216
- '202': jsonResp('The row was already held and you asked to queue. You are in line at ' +
413
+ '201': namedResp('The lease is yours. `claim.fenceToken` is set when the coordinator ' +
414
+ 'minted one; carry it on writes made under the lease.', 'ClaimAcquire'),
415
+ '202': namedResp('The row was already held and you asked to queue. You are in line at ' +
217
416
  '`position` — heartbeat to keep the slot, and poll ' +
218
- '`GET /v1/claims/{claimId}` for the grant.', derive(claimQueuedResponseSchema, 'output')),
417
+ '`GET /v1/claims/{claimId}` for the grant.', 'ClaimAcquire'),
219
418
  },
220
419
  },
221
420
  delete: {
@@ -232,7 +431,7 @@ export function abloOpenApi(options = {}) {
232
431
  parameters: [modelParam(), idParam()],
233
432
  requestBody: optionalJsonBody(derive(claimHeartbeatRequestSchema, 'input')),
234
433
  responses: {
235
- '200': jsonResp('Lease extended (or queued slot refreshed)', derive(claimHeartbeatReplySchema, 'output')),
434
+ '200': namedResp('Lease extended (or queued slot refreshed)', 'ClaimHeartbeat'),
236
435
  },
237
436
  },
238
437
  },
@@ -245,7 +444,7 @@ export function abloOpenApi(options = {}) {
245
444
  parameters: [modelParam(), idParam()],
246
445
  requestBody: optionalJsonBody(derive(claimReorderRequestSchema, 'input')),
247
446
  responses: {
248
- '200': jsonResp('Reordered', derive(claimReorderReplySchema, 'output')),
447
+ '200': namedResp('Reordered', 'ClaimReorder'),
249
448
  },
250
449
  },
251
450
  },
@@ -262,6 +461,64 @@ export function abloOpenApi(options = {}) {
262
461
  responses: { '201': jsonResp('The minted credential', derive(EphemeralKeyResponseSchema, 'output')) },
263
462
  },
264
463
  },
464
+ '/v1/branches': {
465
+ get: {
466
+ tags: ['branches'],
467
+ summary: 'List transaction branches for the credential project',
468
+ responses: {
469
+ '200': jsonResp('The root and every active child branch.', derive(branchListResponseSchema, 'output')),
470
+ },
471
+ },
472
+ post: {
473
+ tags: ['branches'],
474
+ summary: 'Create an isolated child branch',
475
+ description: 'The returned id is immutable; retain it for automation. The slug is a project-scoped human handle.',
476
+ requestBody: jsonBody(derive(createBranchRequestSchema, 'input')),
477
+ responses: {
478
+ '201': jsonResp('The ready branch.', derive(branchResponseSchema, 'output')),
479
+ },
480
+ },
481
+ },
482
+ '/v1/branches/{id}': {
483
+ get: {
484
+ tags: ['branches'],
485
+ summary: 'Retrieve a branch by immutable id',
486
+ parameters: [idParam()],
487
+ responses: {
488
+ '200': jsonResp('The branch.', derive(branchResponseSchema, 'output')),
489
+ },
490
+ },
491
+ delete: {
492
+ tags: ['branches'],
493
+ summary: 'Delete a non-root branch and revoke its credentials',
494
+ parameters: [idParam()],
495
+ responses: {
496
+ '200': jsonResp('The deleted branch.', derive(branchResponseSchema, 'output')),
497
+ },
498
+ },
499
+ },
500
+ '/v1/branches/{id}/credentials': {
501
+ post: {
502
+ tags: ['branches', 'credentials'],
503
+ summary: 'Mint an expiring branch-bound test credential',
504
+ parameters: [idParam()],
505
+ requestBody: optionalJsonBody(derive(branchCredentialRequestSchema, 'input')),
506
+ responses: {
507
+ '201': jsonResp('A one-time plaintext credential. Do not persist it in source control.', derive(branchCredentialResponseSchema, 'output')),
508
+ },
509
+ },
510
+ },
511
+ '/v1/branches/{id}/status': {
512
+ get: {
513
+ tags: ['branches'],
514
+ summary: 'Diagnose one branch plane',
515
+ description: 'Returns branch lifecycle, active schema, compatibility with the parent schema, safe datasource coordinates, and readiness blockers.',
516
+ parameters: [idParam()],
517
+ responses: {
518
+ '200': jsonResp('The complete branch readiness view.', derive(branchStatusResponseSchema, 'output')),
519
+ },
520
+ },
521
+ },
265
522
  '/v1/claims': {
266
523
  get: {
267
524
  tags: ['claims'],
@@ -272,7 +529,7 @@ export function abloOpenApi(options = {}) {
272
529
  'request names both `model` and `id` — a wait line belongs to one row.',
273
530
  parameters: queryParams(claimListQuerySchema),
274
531
  responses: {
275
- '200': jsonResp('Live claims, and the wait line behind the named row.', derive(claimListResponseSchema, 'output')),
532
+ '200': namedResp('Live claims, and the wait line behind the named row.', 'ClaimList'),
276
533
  },
277
534
  },
278
535
  post: {
@@ -282,8 +539,8 @@ export function abloOpenApi(options = {}) {
282
539
  'row in `target` instead of the URL. Answers identically.',
283
540
  requestBody: jsonBody(derive(claimRequestSchema, 'input')),
284
541
  responses: {
285
- '201': jsonResp('The lease is yours.', derive(claimAcquiredResponseSchema, 'output')),
286
- '202': jsonResp('Already held, and you asked to queue. You are in line at `position`.', derive(claimQueuedResponseSchema, 'output')),
542
+ '201': namedResp('The lease is yours.', 'ClaimAcquire'),
543
+ '202': namedResp('Already held, and you asked to queue. You are in line at `position`.', 'ClaimAcquire'),
287
544
  },
288
545
  },
289
546
  },
@@ -296,7 +553,7 @@ export function abloOpenApi(options = {}) {
296
553
  'credential holds on this plane.',
297
554
  requestBody: optionalJsonBody(derive(claimHeartbeatRequestSchema, 'input')),
298
555
  responses: {
299
- '200': jsonResp('One ack per lease extended.', derive(claimHeartbeatBatchReplySchema, 'output')),
556
+ '200': namedResp('One ack per lease extended.', 'ClaimHeartbeatBatch'),
300
557
  },
301
558
  },
302
559
  },
@@ -308,7 +565,7 @@ export function abloOpenApi(options = {}) {
308
565
  'was granted. `position` is advisory — a privileged reorder can move it ' +
309
566
  'up — so branch on `status`, never on position.',
310
567
  parameters: [claimIdParam()],
311
- responses: { '200': jsonResp('The claim state', derive(claimStateSchema, 'output')) },
568
+ responses: { '200': namedResp('The claim state', 'ClaimState') },
312
569
  },
313
570
  delete: {
314
571
  tags: ['claims'],
@@ -332,7 +589,7 @@ export function abloOpenApi(options = {}) {
332
589
  parameters: [claimIdParam()],
333
590
  requestBody: optionalJsonBody(derive(claimHeartbeatRequestSchema, 'input')),
334
591
  responses: {
335
- '200': jsonResp('Lease extended, or queued slot refreshed.', derive(claimHeartbeatReplySchema, 'output')),
592
+ '200': namedResp('Lease extended, or queued slot refreshed.', 'ClaimHeartbeat'),
336
593
  },
337
594
  },
338
595
  },
@@ -392,7 +649,7 @@ export function abloOpenApi(options = {}) {
392
649
  'the shape once and poll the hashes after: a refetch only ever answers ' +
393
650
  'a push.',
394
651
  responses: {
395
- '200': jsonResp('The deployed schema, or `active: false` when nothing is pushed.', derive(schemaReadResponseSchema, 'output')),
652
+ '200': namedResp('The deployed schema, or `active: false` when nothing is pushed.', 'SchemaRead'),
396
653
  },
397
654
  },
398
655
  },
@@ -407,9 +664,9 @@ export function abloOpenApi(options = {}) {
407
664
  'widen what it sees by asking.',
408
665
  parameters: queryParams(logQuerySchema),
409
666
  responses: {
410
- '200': jsonResp('A page of the feed, oldest first. Entries are discriminated on ' +
667
+ '200': namedResp('A page of the feed, oldest first. Entries are discriminated on ' +
411
668
  '`object`, so a reader that meets an entry kind it does not know ' +
412
- 'can skip it and keep paging.', derive(logListResponseSchema, 'output')),
669
+ 'can skip it and keep paging.', 'LogPage'),
413
670
  },
414
671
  },
415
672
  },
@@ -423,9 +680,11 @@ export function abloOpenApi(options = {}) {
423
680
  },
424
681
  },
425
682
  };
683
+ applyOperationIds(paths, ABLO_OPERATION_IDS);
684
+ attachCanonicalErrors(paths);
426
685
  return envelope(options, 'The Ablo transaction layer: commit, read, and claim. `{model}` is any model ' +
427
686
  'from your pushed schema — the routes are the same whichever it is. ' +
428
- 'Authenticate every request with your API key as a Bearer token.', paths, {});
687
+ 'Authenticate every request with your API key as a Bearer token.', paths, abloComponentSchemas());
429
688
  }
430
689
  /**
431
690
  * The per-tenant expansion: every model's routes written out with typed payloads.
@@ -439,6 +698,7 @@ export function schemaToOpenApi(schema, options = {}) {
439
698
  const models = schema.models;
440
699
  const paths = {};
441
700
  const schemas = {};
701
+ const operationIds = {};
442
702
  for (const [key, def] of Object.entries(models)) {
443
703
  const ref = { $ref: `#/components/schemas/${pascal(key)}` };
444
704
  const properties = { id: { type: 'string' } };
@@ -453,7 +713,22 @@ export function schemaToOpenApi(schema, options = {}) {
453
713
  }
454
714
  schemas[pascal(key)] = { type: 'object', properties, required };
455
715
  const createBody = jsonBody({ type: 'object', properties: createProps });
456
- paths[`/v1/models/${key}`] = {
716
+ const collectionPath = `/v1/models/${key}`;
717
+ const rowPath = `/v1/models/${key}/{id}`;
718
+ const claimPath = `/v1/models/${key}/{id}/claim`;
719
+ const heartbeatPath = `/v1/models/${key}/{id}/claim/heartbeat`;
720
+ const reorderPath = `/v1/models/${key}/{id}/claim/reorder`;
721
+ const modelName = pascal(key);
722
+ operationIds[`GET ${collectionPath}`] = `list${modelName}Rows`;
723
+ operationIds[`POST ${collectionPath}`] = `create${modelName}Row`;
724
+ operationIds[`GET ${rowPath}`] = `get${modelName}Row`;
725
+ operationIds[`PATCH ${rowPath}`] = `update${modelName}Row`;
726
+ operationIds[`DELETE ${rowPath}`] = `delete${modelName}Row`;
727
+ operationIds[`POST ${claimPath}`] = `acquire${modelName}Claim`;
728
+ operationIds[`DELETE ${claimPath}`] = `release${modelName}Claim`;
729
+ operationIds[`POST ${heartbeatPath}`] = `heartbeat${modelName}Claim`;
730
+ operationIds[`POST ${reorderPath}`] = `reorder${modelName}ClaimQueue`;
731
+ paths[collectionPath] = {
457
732
  get: {
458
733
  tags: [key],
459
734
  summary: `List ${key}`,
@@ -467,7 +742,7 @@ export function schemaToOpenApi(schema, options = {}) {
467
742
  },
468
743
  post: { tags: [key], summary: `Create a ${key}`, requestBody: createBody, responses: { '200': commitReceipt() } },
469
744
  };
470
- paths[`/v1/models/${key}/{id}`] = {
745
+ paths[rowPath] = {
471
746
  get: {
472
747
  tags: [key],
473
748
  summary: `Retrieve a ${key}`,
@@ -482,14 +757,14 @@ export function schemaToOpenApi(schema, options = {}) {
482
757
  patch: { tags: [key], summary: `Update a ${key}`, parameters: [idParam()], requestBody: createBody, responses: { '200': commitReceipt() } },
483
758
  delete: { tags: [key], summary: `Delete a ${key}`, parameters: [idParam()], responses: { '200': commitReceipt() } },
484
759
  };
485
- paths[`/v1/models/${key}/{id}/claim`] = {
760
+ paths[claimPath] = {
486
761
  post: { tags: [key], summary: `Claim a ${key} (acquire lease)`, parameters: [idParam()], responses: { '200': jsonResp('Claim acquired', { type: 'object' }) } },
487
762
  delete: { tags: [key], summary: `Release a ${key} claim`, parameters: [idParam()], responses: { '200': jsonResp('Released', { type: 'object' }) } },
488
763
  };
489
- paths[`/v1/models/${key}/{id}/claim/heartbeat`] = {
764
+ paths[heartbeatPath] = {
490
765
  post: { tags: [key], summary: `Heartbeat a held ${key} claim (extend the lease for long-running work)`, parameters: [idParam()], responses: { '200': jsonResp('Lease extended (or queued slot refreshed)', derive(claimHeartbeatReplySchema, 'output')) } },
491
766
  };
492
- paths[`/v1/models/${key}/{id}/claim/reorder`] = {
767
+ paths[reorderPath] = {
493
768
  post: { tags: [key], summary: `Reorder the ${key} wait-line (privileged)`, parameters: [idParam()], responses: { '200': jsonResp('Reordered', { type: 'object' }) } },
494
769
  };
495
770
  }
@@ -502,6 +777,10 @@ export function schemaToOpenApi(schema, options = {}) {
502
777
  responses: { '200': commitReceipt() },
503
778
  },
504
779
  };
780
+ operationIds['POST /v1/commits'] = 'commit';
781
+ applyOperationIds(paths, operationIds);
782
+ attachCanonicalErrors(paths);
783
+ Object.assign(schemas, abloComponentSchemas());
505
784
  return envelope(options, 'Generated from your pushed Ablo schema — these routes are your models. ' +
506
785
  'Authenticate every request with your API key as a Bearer token.', paths, schemas);
507
786
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/schema/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/schema/openapi.ts"],"names":[],"mappings":"AAwBA,iFAAiF;AACjF,8CAA8C;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,4EAA4E;AAC5E,uEAAuE;AACvE,gBAAgB;AAChB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAc7D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAExE;;;;;;GAMG;AACH,SAAS,iBAAiB,CACxB,KAAW,EACX,YAA8C;IAE9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,WAAmB,CAAC;QACrC,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACxC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,4BAA4B,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,gBAAgB,CAAC,CAAC;YACtE,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,GAAI,YAAqB,EAAE,WAAW,EAAE,CAAC;YAC9D,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,+DAA+D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,kBAAkB,GAAqC;IAC3D,wBAAwB,EAAE,eAAe;IACzC,yBAAyB,EAAE,gBAAgB;IAC3C,6BAA6B,EAAE,aAAa;IAC5C,+BAA+B,EAAE,gBAAgB;IACjD,gCAAgC,EAAE,gBAAgB;IAClD,oCAAoC,EAAE,mBAAmB;IACzD,sCAAsC,EAAE,mBAAmB;IAC3D,8CAA8C,EAAE,qBAAqB;IACrE,4CAA4C,EAAE,wBAAwB;IACtE,yBAAyB,EAAE,kBAAkB;IAC7C,kBAAkB,EAAE,cAAc;IAClC,mBAAmB,EAAE,cAAc;IACnC,uBAAuB,EAAE,WAAW;IACpC,0BAA0B,EAAE,cAAc;IAC1C,oCAAoC,EAAE,sBAAsB;IAC5D,8BAA8B,EAAE,iBAAiB;IACjD,gBAAgB,EAAE,YAAY;IAC9B,iBAAiB,EAAE,cAAc;IACjC,2BAA2B,EAAE,iBAAiB;IAC9C,0BAA0B,EAAE,UAAU;IACtC,6BAA6B,EAAE,cAAc;IAC7C,qCAAqC,EAAE,gBAAgB;IACvD,uBAAuB,EAAE,gBAAgB;IACzC,2BAA2B,EAAE,eAAe;IAC5C,8BAA8B,EAAE,kBAAkB;IAClD,mCAAmC,EAAE,kBAAkB;IACvD,gBAAgB,EAAE,WAAW;IAC7B,cAAc,EAAE,gBAAgB;IAChC,kBAAkB,EAAE,QAAQ;CAC7B,CAAC;AAEF,SAAS,WAAW,CAAC,CAAY;IAC/B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjD,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzF,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACxD,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7E,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACrG,MAAM,QAAQ,GAAG,CAAC,MAAY,EAAQ,EAAE,CAAC,CAAC;IACxC,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE;CAC5C,CAAC,CAAC;AACH,iFAAiF;AACjF,MAAM,gBAAgB,GAAG,CAAC,MAAY,EAAQ,EAAE,CAAC,CAAC;IAChD,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE;CAC5C,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAE,MAAY,EAAQ,EAAE,CAAC,CAAC;IAC7D,WAAW;IACX,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE;CAC5C,CAAC,CAAC;AACH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,IAAI,EAAE,EAAE,CAAC,CAAC;AACrF,MAAM,SAAS,GAAG,CAAC,WAAmB,EAAE,IAAY,EAAQ,EAAE,CAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,IACE,GAAG,KAAK,eAAe;YACvB,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAC9B,KAAiC,CAAC,IAAI,KAAK,QAAQ,EACpD,CAAC;YACD,SAAS;QACX,CAAC;QACD,IACE,GAAG,KAAK,sBAAsB;YAC9B,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAC/B,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAG,CAAC,MAAiB,EAAE,EAAsB,EAAQ,EAAE,CACjE,cAAc,CACZ,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAC/C,CAAC;AAEZ,MAAM,aAAa,GAAG,GAAS,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAE/E,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,CAAC;IAC9B,IAAI,EAAE,OAAO;IACb,EAAE,EAAE,MAAM;IACV,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,WAAW,EAAE,oDAAoD;CAClE,CAAC,CAAC;AACH,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,GAAS,EAAE,CAC9B,QAAQ,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC;AAExD;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,OAAa;IACpC,MAAM,UAAU,GAAG,EAAE,GAAI,OAAO,CAAC,UAA+C,EAAE,CAAC;IACnF,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5C,UAAU,CAAC,IAAI;QACZ,UAAU,CAAC,IAAyB,EAAE,IAAI,KAAK,OAAO;YACrD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACxC,CAAC,CAAC,UAAU,EAAE,CAAC;IACnB,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,MAAiB;IACpC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,UAAU,IAAI,EAAE,CAAyB,CAAC;IACjF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI;QACJ,EAAE,EAAE,OAAO;QACX,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,EAAE,IAAI,KAAK,OAAO;YACtB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;YACjC,CAAC,CAAC,CAAC;KACN,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,GAAS,EAAE,CAC7B,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAExC,MAAM,YAAY,GAAG,GAAS,EAAE,CAAC,CAAC;IAChC,IAAI,EAAE,SAAS;IACf,EAAE,EAAE,MAAM;IACV,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9E,gFAAgF;AAChF,SAAS,QAAQ,CAAC,OAA+B,EAAE,WAAmB,EAAE,KAAW,EAAE,OAA6B;IAChH,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,UAAU;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,aAAa;YACzC,WAAW;YACX,OAAO,EAAE;gBACP,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,YAAY;aACzB;SACF;QACD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG,yBAAyB,MAAM,EAAE,CAAC;QAC3E,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC9B,UAAU,EAAE;YACV,eAAe,EAAE;gBACf,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;aAChG;YACD,OAAO;SACR;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAqC;IACxD,KAAK,EAAE,qDAAqD;IAC5D,KAAK,EAAE,0DAA0D;IACjE,KAAK,EAAE,mDAAmD;IAC1D,KAAK,EAAE,gEAAgE;IACvE,KAAK,EAAE,0EAA0E;IACjF,KAAK,EAAE,6CAA6C;IACpD,KAAK,EAAE,4CAA4C;IACnD,KAAK,EAAE,gDAAgD;CACxD,CAAC;AAEF;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,KAAW;IACxC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,WAAmB,CAAC;QACrC,KAAK,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACxC,MAAM,SAAS,GAAG,YAAoB,CAAC;YACvC,MAAM,SAAS,GAAG,EAAE,GAAI,SAAS,CAAC,SAA8B,EAAE,CAAC;YACnE,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,CAAC,OAAO,GAAG,SAAS,CAC3B,6EAA6E,EAC7E,eAAe,CAChB,CAAC;YACF,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,uBAAuB,GAAG,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACtE,uBAAuB,CAAC,aAAa,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAEnE,MAAM,OAAO,GAAyB;QACpC,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yEAAyE;SACvF;QACD,aAAa,EAAE,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QACzC,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;YAC7D,aAAa,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE;SAC1C;QACD,aAAa,EAAE,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC;QAC5D,WAAW,EAAE,MAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC;QACxD,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAC9C,SAAS,EAAE,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC;QACpD,cAAc,EAAE,MAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC;QAC3D,mBAAmB,EAAE,MAAM,CAAC,8BAA8B,EAAE,QAAQ,CAAC;QACrE,YAAY,EAAE,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC;QACvD,YAAY,EAAE,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC;QACvD,aAAa,EAAE,uBAAuB;QACtC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QACrE,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,EAAE,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC;QAChD,UAAU,EAAE,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC;KACvD,CAAC;IAEF,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,UAAU,GAAG,CAAC,IAAY,EAAwB,EAAE,CACxD,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,EAAE,CAAyB,CAAC;IAC5D,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACtD,UAAU,CAAC,WAAW,CAAC,CAAC,IAAa,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjE,UAAU,CAAC,WAAW,CAAC,CAAC,MAAe,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEpE,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG;YAC7B,KAAK,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkC,EAAE;IAC9D,MAAM,OAAO,GAAG,SAAS,CACvB,8DAA8D,EAC9D,WAAW,CACZ,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,KAAK,GAAS;QAClB,oBAAoB,EAAE;YACpB,GAAG,EAAE;gBACH,IAAI;gBACJ,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC3D,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,mEAAmE;wBACjE,sDAAsD,EACxD,WAAW,CACZ;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,IAAI;gBACJ,OAAO,EAAE,cAAc;gBACvB,WAAW,EACT,kEAAkE;oBAClE,yDAAyD;gBAC3D,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;gBAC1B,WAAW,EAAE,YAAY,EAAE;gBAC3B,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;aACtC;SACF;QACD,yBAAyB,EAAE;YACzB,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9G,KAAK,EAAE;gBACL,IAAI;gBACJ,OAAO,EAAE,cAAc;gBACvB,WAAW,EACT,oEAAoE;oBACpE,sEAAsE;gBACxE,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;gBACrC,WAAW,EAAE,YAAY,EAAE;gBAC3B,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;aACtC;YACD,MAAM,EAAE;gBACN,IAAI;gBACJ,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;gBACrC,WAAW,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACnD,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;aACtC;SACF;QACD,+BAA+B,EAAE;YAC/B,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,6BAA6B;gBACtC,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;gBACrC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;gBAClE,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,qEAAqE;wBACnE,sDAAsD,EACxD,cAAc,CACf;oBACD,KAAK,EAAE,SAAS,CACd,sEAAsE;wBACpE,oDAAoD;wBACpD,2CAA2C,EAC7C,cAAc,CACf;iBACF;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;gBACrC,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;aACpC;SACF;QACD,yCAAyC,EAAE;YACzC,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,iEAAiE;gBAC1E,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;gBACrC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;gBAC3E,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,2CAA2C,EAC3C,gBAAgB,CACjB;iBACF;aACF;SACF;QACD,uCAAuC,EAAE;YACvC,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,oCAAoC;gBAC7C,WAAW,EACT,sEAAsE;oBACtE,+DAA+D;gBACjE,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;gBACrC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;gBACzE,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC;iBAC9C;aACF;SACF;QACD,oBAAoB,EAAE;YACpB,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,aAAa,CAAC;gBACrB,OAAO,EAAE,uCAAuC;gBAChD,WAAW,EACT,0EAA0E;oBAC1E,oDAAoD;gBACtD,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,qEAAqE,EAAE;iBAC1J;gBACD,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;gBACjE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,EAAE;aACtG;SACF;QACD,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,OAAO,EAAE,sDAAsD;gBAC/D,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CACb,yCAAyC,EACzC,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAC3C;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,OAAO,EAAE,iCAAiC;gBAC1C,WAAW,EACT,oGAAoG;gBACtG,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;gBACjE,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;iBAC7E;aACF;SACF;QACD,mBAAmB,EAAE;YACnB,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,OAAO,EAAE,mCAAmC;gBAC5C,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;iBACvE;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,OAAO,EAAE,qDAAqD;gBAC9D,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;iBAC/E;aACF;SACF;QACD,+BAA+B,EAAE;YAC/B,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;gBACjC,OAAO,EAAE,+CAA+C;gBACxD,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,WAAW,EAAE,gBAAgB,CAC3B,MAAM,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAC/C;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CACb,uEAAuE,EACvE,MAAM,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CACjD;iBACF;aACF;SACF;QACD,0BAA0B,EAAE;YAC1B,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC;gBAClB,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EACT,qIAAqI;gBACvI,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CACb,qCAAqC,EACrC,MAAM,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAC7C;iBACF;aACF;SACF;QACD,YAAY,EAAE;YACZ,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,oCAAoC;gBAC7C,WAAW,EACT,oEAAoE;oBACpE,6DAA6D;oBAC7D,sEAAsE;oBACtE,uEAAuE;gBACzE,UAAU,EAAE,WAAW,CAAC,oBAAoB,CAAC;gBAC7C,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,sDAAsD,EACtD,WAAW,CACZ;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,+BAA+B;gBACxC,WAAW,EACT,uEAAuE;oBACvE,0DAA0D;gBAC5D,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;gBAC1D,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,qBAAqB,EACrB,cAAc,CACf;oBACD,KAAK,EAAE,SAAS,CACd,sEAAsE,EACtE,cAAc,CACf;iBACF;aACF;SACF;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,gDAAgD;gBACzD,WAAW,EACT,wEAAwE;oBACxE,oEAAoE;oBACpE,iCAAiC;gBACnC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;gBAC3E,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,6BAA6B,EAC7B,qBAAqB,CACtB;iBACF;aACF;SACF;QACD,sBAAsB,EAAE;YACtB,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,oCAAoC;gBAC7C,WAAW,EACT,uEAAuE;oBACvE,yEAAyE;oBACzE,gDAAgD;gBAClD,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;gBAC5B,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE;aACjE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,yCAAyC;gBAClD,WAAW,EACT,yEAAyE;oBACzE,oEAAoE;oBACpE,kBAAkB;gBACpB,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;gBAC5B,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;aACpC;SACF;QACD,gCAAgC,EAAE;YAChC,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,0CAA0C;gBACnD,WAAW,EACT,iEAAiE;oBACjE,sEAAsE;oBACtE,qEAAqE;oBACrE,wEAAwE;oBACxE,2DAA2D;gBAC7D,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;gBAC5B,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;gBAC3E,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,2CAA2C,EAC3C,gBAAgB,CACjB;iBACF;aACF;SACF;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,aAAa,CAAC;gBACrB,OAAO,EAAE,0CAA0C;gBACnD,WAAW,EACT,mEAAmE;oBACnE,yDAAyD;gBAC3D,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;gBAC/D,SAAS,EAAE;oBACT,kEAAkE;oBAClE,mEAAmE;oBACnE,mCAAmC;oBACnC,KAAK,EAAE,QAAQ,CACb,qEAAqE;wBACnE,gEAAgE;wBAChE,yCAAyC,EAC3C,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAC/C;iBACF;aACF;SACF;QACD,uBAAuB,EAAE;YACvB,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,aAAa,CAAC;gBACrB,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;aACrE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,aAAa,CAAC;gBACrB,OAAO,EAAE,qBAAqB;gBAC9B,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CACb,SAAS,EACT,MAAM,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAClD;iBACF;aACF;SACF;QACD,8BAA8B,EAAE;YAC9B,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,aAAa,CAAC;gBACrB,OAAO,EAAE,wCAAwC;gBACjD,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,WAAW,EAAE,gBAAgB,CAC3B,MAAM,CAAC,+BAA+B,EAAE,OAAO,CAAC,CACjD;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CACb,wBAAwB,EACxB,MAAM,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CACnD;iBACF;aACF;SACF;QACD,YAAY,EAAE;YACZ,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EACT,uEAAuE;oBACvE,qEAAqE;oBACrE,mEAAmE;oBACnE,oEAAoE;oBACpE,wEAAwE;oBACxE,wEAAwE;oBACxE,SAAS;gBACX,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,iEAAiE,EACjE,YAAY,CACb;iBACF;aACF;SACF;QACD,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,OAAO,EAAE,mBAAmB;gBAC5B,WAAW,EACT,gEAAgE;oBAChE,8DAA8D;oBAC9D,qEAAqE;oBACrE,sEAAsE;oBACtE,+BAA+B;gBACjC,UAAU,EAAE,WAAW,CAAC,cAAc,CAAC;gBACvC,SAAS,EAAE;oBACT,KAAK,EAAE,SAAS,CACd,iEAAiE;wBAC/D,kEAAkE;wBAClE,8BAA8B,EAChC,SAAS,CACV;iBACF;aACF;SACF;QACD,aAAa,EAAE;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,SAAS,CAAC;gBACjB,OAAO,EAAE,2EAA2E;gBACpF,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,kEAAkE,EAAE,CAAC;gBACpK,WAAW,EAAE,UAAU,EAAE;gBACzB,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;aACtC;SACF;KACF,CAAC;IAEF,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC7C,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,QAAQ,CACb,OAAO,EACP,8EAA8E;QAC5E,qEAAqE;QACrE,iEAAiE,EACnE,KAAK,EACL,oBAAoB,EAAE,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiB,EACjB,UAAkC,EAAE;IAEpC,MAAM,MAAM,GAAiB,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,KAAK,GAAS,EAAE,CAAC;IACvB,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,GAAS,EAAE,IAAI,EAAE,wBAAwB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAClE,MAAM,UAAU,GAAyB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAa,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,WAAW,GAAyB,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC9B,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACvB,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,UAAU;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QAEzE,MAAM,cAAc,GAAG,cAAc,GAAG,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,cAAc,GAAG,OAAO,CAAC;QACzC,MAAM,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC;QACjD,MAAM,aAAa,GAAG,cAAc,GAAG,uBAAuB,CAAC;QAC/D,MAAM,WAAW,GAAG,cAAc,GAAG,qBAAqB,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,YAAY,CAAC,OAAO,cAAc,EAAE,CAAC,GAAG,OAAO,SAAS,MAAM,CAAC;QAC/D,YAAY,CAAC,QAAQ,cAAc,EAAE,CAAC,GAAG,SAAS,SAAS,KAAK,CAAC;QACjE,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,GAAG,MAAM,SAAS,KAAK,CAAC;QACtD,YAAY,CAAC,SAAS,OAAO,EAAE,CAAC,GAAG,SAAS,SAAS,KAAK,CAAC;QAC3D,YAAY,CAAC,UAAU,OAAO,EAAE,CAAC,GAAG,SAAS,SAAS,KAAK,CAAC;QAC5D,YAAY,CAAC,QAAQ,SAAS,EAAE,CAAC,GAAG,UAAU,SAAS,OAAO,CAAC;QAC/D,YAAY,CAAC,UAAU,SAAS,EAAE,CAAC,GAAG,UAAU,SAAS,OAAO,CAAC;QACjE,YAAY,CAAC,QAAQ,aAAa,EAAE,CAAC,GAAG,YAAY,SAAS,OAAO,CAAC;QACrE,YAAY,CAAC,QAAQ,WAAW,EAAE,CAAC,GAAG,UAAU,SAAS,YAAY,CAAC;QAEtE,KAAK,CAAC,cAAc,CAAC,GAAG;YACtB,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,OAAO,EAAE,QAAQ,GAAG,EAAE;gBACtB,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC;gBACxC,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE;wBAC9B,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;qBAChG,CAAC;iBACH;aACF;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;SAClH,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAG;YACf,GAAG,EAAE;gBACH,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,OAAO,EAAE,cAAc,GAAG,EAAE;gBAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,EAAE;oBACT,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;qBACtD,CAAC;iBACH;aACF;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;YAC3I,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE;SACpH,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,GAAG;YACjB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,kBAAkB,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YAC/J,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;SACpJ,CAAC;QACF,KAAK,CAAC,aAAa,CAAC,GAAG;YACrB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,iDAAiD,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,2CAA2C,EAAE,MAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE;SAC5P,CAAC;QACF,KAAK,CAAC,WAAW,CAAC,GAAG;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,yBAAyB,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;SACtK,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG;QACrB,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,OAAO,EAAE,2EAA2E;YACpF,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,kEAAkE,EAAE,CAAC;YACpK,WAAW,EAAE,UAAU,EAAE;YACzB,SAAS,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;SACtC;KACF,CAAC;IACF,YAAY,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;IAC5C,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACvC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE7B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAE/C,OAAO,QAAQ,CACb,OAAO,EACP,yEAAyE;QACvE,iEAAiE,EACnE,KAAK,EACL,OAAO,CACR,CAAC;AACJ,CAAC"}