@danielfgray/pg-sourcerer 0.2.1 → 0.2.2

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 (164) hide show
  1. package/dist/cli.js +3 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.d.ts +14 -1
  8. package/dist/errors.d.ts.map +1 -1
  9. package/dist/errors.js +2 -0
  10. package/dist/errors.js.map +1 -1
  11. package/dist/generate.d.ts +5 -9
  12. package/dist/generate.d.ts.map +1 -1
  13. package/dist/generate.js +27 -29
  14. package/dist/generate.js.map +1 -1
  15. package/dist/index.d.ts +19 -12
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +25 -13
  18. package/dist/index.js.map +1 -1
  19. package/dist/init.d.ts.map +1 -1
  20. package/dist/init.js +39 -9
  21. package/dist/init.js.map +1 -1
  22. package/dist/ir/extensions/queries.d.ts +264 -0
  23. package/dist/ir/extensions/queries.d.ts.map +1 -0
  24. package/dist/ir/extensions/queries.js +153 -0
  25. package/dist/ir/extensions/queries.js.map +1 -0
  26. package/dist/ir/extensions/schema-builder.d.ts +61 -0
  27. package/dist/ir/extensions/schema-builder.d.ts.map +1 -0
  28. package/dist/ir/extensions/schema-builder.js +5 -0
  29. package/dist/ir/extensions/schema-builder.js.map +1 -0
  30. package/dist/lib/conjure.d.ts +66 -0
  31. package/dist/lib/conjure.d.ts.map +1 -1
  32. package/dist/lib/conjure.js +127 -29
  33. package/dist/lib/conjure.js.map +1 -1
  34. package/dist/lib/hex.d.ts +10 -3
  35. package/dist/lib/hex.d.ts.map +1 -1
  36. package/dist/lib/hex.js +18 -8
  37. package/dist/lib/hex.js.map +1 -1
  38. package/dist/plugins/arktype.d.ts +27 -14
  39. package/dist/plugins/arktype.d.ts.map +1 -1
  40. package/dist/plugins/arktype.js +166 -130
  41. package/dist/plugins/arktype.js.map +1 -1
  42. package/dist/plugins/effect.d.ts +53 -0
  43. package/dist/plugins/effect.d.ts.map +1 -0
  44. package/dist/plugins/effect.js +1074 -0
  45. package/dist/plugins/effect.js.map +1 -0
  46. package/dist/plugins/http-elysia.d.ts +32 -0
  47. package/dist/plugins/http-elysia.d.ts.map +1 -0
  48. package/dist/plugins/http-elysia.js +613 -0
  49. package/dist/plugins/http-elysia.js.map +1 -0
  50. package/dist/plugins/http-express.d.ts +36 -0
  51. package/dist/plugins/http-express.d.ts.map +1 -0
  52. package/dist/plugins/http-express.js +388 -0
  53. package/dist/plugins/http-express.js.map +1 -0
  54. package/dist/plugins/http-hono.d.ts +36 -0
  55. package/dist/plugins/http-hono.d.ts.map +1 -0
  56. package/dist/plugins/http-hono.js +453 -0
  57. package/dist/plugins/http-hono.js.map +1 -0
  58. package/dist/plugins/http-orpc.d.ts +55 -0
  59. package/dist/plugins/http-orpc.d.ts.map +1 -0
  60. package/dist/plugins/http-orpc.js +370 -0
  61. package/dist/plugins/http-orpc.js.map +1 -0
  62. package/dist/plugins/http-trpc.d.ts +59 -0
  63. package/dist/plugins/http-trpc.d.ts.map +1 -0
  64. package/dist/plugins/http-trpc.js +392 -0
  65. package/dist/plugins/http-trpc.js.map +1 -0
  66. package/dist/plugins/kysely/queries.d.ts +92 -0
  67. package/dist/plugins/kysely/queries.d.ts.map +1 -0
  68. package/dist/plugins/kysely/queries.js +1169 -0
  69. package/dist/plugins/kysely/queries.js.map +1 -0
  70. package/dist/plugins/kysely/shared.d.ts +59 -0
  71. package/dist/plugins/kysely/shared.d.ts.map +1 -0
  72. package/dist/plugins/kysely/shared.js +247 -0
  73. package/dist/plugins/kysely/shared.js.map +1 -0
  74. package/dist/plugins/kysely/types.d.ts +22 -0
  75. package/dist/plugins/kysely/types.d.ts.map +1 -0
  76. package/dist/plugins/kysely/types.js +428 -0
  77. package/dist/plugins/kysely/types.js.map +1 -0
  78. package/dist/plugins/kysely.d.ts +72 -0
  79. package/dist/plugins/kysely.d.ts.map +1 -0
  80. package/dist/plugins/kysely.js +906 -0
  81. package/dist/plugins/kysely.js.map +1 -0
  82. package/dist/plugins/sql-queries.d.ts +55 -11
  83. package/dist/plugins/sql-queries.d.ts.map +1 -1
  84. package/dist/plugins/sql-queries.js +467 -218
  85. package/dist/plugins/sql-queries.js.map +1 -1
  86. package/dist/plugins/types.d.ts +20 -14
  87. package/dist/plugins/types.d.ts.map +1 -1
  88. package/dist/plugins/types.js +90 -112
  89. package/dist/plugins/types.js.map +1 -1
  90. package/dist/plugins/valibot.d.ts +45 -0
  91. package/dist/plugins/valibot.d.ts.map +1 -0
  92. package/dist/plugins/valibot.js +422 -0
  93. package/dist/plugins/valibot.js.map +1 -0
  94. package/dist/plugins/zod.d.ts +27 -14
  95. package/dist/plugins/zod.d.ts.map +1 -1
  96. package/dist/plugins/zod.js +231 -166
  97. package/dist/plugins/zod.js.map +1 -1
  98. package/dist/services/artifact-store.d.ts +11 -1
  99. package/dist/services/artifact-store.d.ts.map +1 -1
  100. package/dist/services/artifact-store.js +9 -0
  101. package/dist/services/artifact-store.js.map +1 -1
  102. package/dist/services/core-providers.d.ts +15 -0
  103. package/dist/services/core-providers.d.ts.map +1 -0
  104. package/dist/services/core-providers.js +23 -0
  105. package/dist/services/core-providers.js.map +1 -0
  106. package/dist/services/emissions.d.ts +14 -0
  107. package/dist/services/emissions.d.ts.map +1 -1
  108. package/dist/services/emissions.js +86 -47
  109. package/dist/services/emissions.js.map +1 -1
  110. package/dist/services/execution.d.ts +35 -0
  111. package/dist/services/execution.d.ts.map +1 -0
  112. package/dist/services/execution.js +86 -0
  113. package/dist/services/execution.js.map +1 -0
  114. package/dist/services/file-builder.d.ts +4 -0
  115. package/dist/services/file-builder.d.ts.map +1 -1
  116. package/dist/services/file-builder.js.map +1 -1
  117. package/dist/services/inflection.d.ts +2 -2
  118. package/dist/services/inflection.d.ts.map +1 -1
  119. package/dist/services/inflection.js +4 -4
  120. package/dist/services/inflection.js.map +1 -1
  121. package/dist/services/ir-builder.d.ts.map +1 -1
  122. package/dist/services/ir-builder.js +10 -3
  123. package/dist/services/ir-builder.js.map +1 -1
  124. package/dist/services/pg-types.d.ts +31 -0
  125. package/dist/services/pg-types.d.ts.map +1 -1
  126. package/dist/services/pg-types.js +24 -0
  127. package/dist/services/pg-types.js.map +1 -1
  128. package/dist/services/plugin-runner.d.ts +27 -37
  129. package/dist/services/plugin-runner.d.ts.map +1 -1
  130. package/dist/services/plugin-runner.js +73 -171
  131. package/dist/services/plugin-runner.js.map +1 -1
  132. package/dist/services/plugin.d.ts +349 -217
  133. package/dist/services/plugin.d.ts.map +1 -1
  134. package/dist/services/plugin.js +182 -130
  135. package/dist/services/plugin.js.map +1 -1
  136. package/dist/services/resolution.d.ts +38 -0
  137. package/dist/services/resolution.d.ts.map +1 -0
  138. package/dist/services/resolution.js +242 -0
  139. package/dist/services/resolution.js.map +1 -0
  140. package/dist/services/service-registry.d.ts +74 -0
  141. package/dist/services/service-registry.d.ts.map +1 -0
  142. package/dist/services/service-registry.js +61 -0
  143. package/dist/services/service-registry.js.map +1 -0
  144. package/dist/services/symbols.d.ts +59 -0
  145. package/dist/services/symbols.d.ts.map +1 -1
  146. package/dist/services/symbols.js +16 -0
  147. package/dist/services/symbols.js.map +1 -1
  148. package/dist/testing.d.ts +4 -25
  149. package/dist/testing.d.ts.map +1 -1
  150. package/dist/testing.js +2 -23
  151. package/dist/testing.js.map +1 -1
  152. package/package.json +1 -1
  153. package/dist/plugins/effect-model.d.ts +0 -17
  154. package/dist/plugins/effect-model.d.ts.map +0 -1
  155. package/dist/plugins/effect-model.js +0 -409
  156. package/dist/plugins/effect-model.js.map +0 -1
  157. package/dist/plugins/kysely-queries.d.ts +0 -66
  158. package/dist/plugins/kysely-queries.d.ts.map +0 -1
  159. package/dist/plugins/kysely-queries.js +0 -951
  160. package/dist/plugins/kysely-queries.js.map +0 -1
  161. package/dist/plugins/kysely-types.d.ts +0 -35
  162. package/dist/plugins/kysely-types.d.ts.map +0 -1
  163. package/dist/plugins/kysely-types.js +0 -601
  164. package/dist/plugins/kysely-types.js.map +0 -1
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Schema Builder Contract
3
+ *
4
+ * Defines the interface for schema plugins to provide inline schema generation
5
+ * capabilities to HTTP plugins. This enables http-elysia to generate param/query
6
+ * schemas using whatever schema library (Zod, ArkType, Valibot) is configured.
7
+ *
8
+ * Schema plugins register this service via ctx.registerHandler("schema-builder", ...).
9
+ * HTTP plugins consume via ctx.request("schema-builder", params).
10
+ */
11
+ import type { namedTypes as n } from "ast-types";
12
+ import type { QueryMethodParam } from "./queries.js";
13
+ /**
14
+ * Import specification for the schema library.
15
+ */
16
+ export interface SchemaImportSpec {
17
+ /** Named imports, e.g., ["z"] for Zod */
18
+ readonly names?: readonly string[];
19
+ /** Namespace import, e.g., "v" for Valibot */
20
+ readonly namespace?: string;
21
+ /** Package name, e.g., "zod" */
22
+ readonly from: string;
23
+ }
24
+ /**
25
+ * Request params for schema-builder service.
26
+ */
27
+ export interface SchemaBuilderRequest {
28
+ /** What kind of schema to build */
29
+ readonly variant: "params" | "query";
30
+ /** The parameters to generate schema for */
31
+ readonly params: readonly QueryMethodParam[];
32
+ }
33
+ /**
34
+ * Result from schema-builder service.
35
+ */
36
+ export interface SchemaBuilderResult {
37
+ /** The AST expression for the schema (e.g., z.object({ id: z.string() })) */
38
+ readonly ast: n.Expression;
39
+ /** Import needed for the schema library */
40
+ readonly importSpec: SchemaImportSpec;
41
+ }
42
+ /**
43
+ * Schema builder service interface.
44
+ *
45
+ * Implemented by schema plugins (zod, arktype, valibot).
46
+ * Consumed by HTTP plugins (http-elysia, http-hono).
47
+ */
48
+ export interface SchemaBuilder {
49
+ /**
50
+ * Build a schema for path/query parameters.
51
+ *
52
+ * @param request - What to build and from what params
53
+ * @returns AST expression and import spec, or undefined if cannot build
54
+ */
55
+ readonly build: (request: SchemaBuilderRequest) => SchemaBuilderResult | undefined;
56
+ }
57
+ /**
58
+ * Service kind for schema-builder.
59
+ */
60
+ export declare const SCHEMA_BUILDER_KIND: "schema-builder";
61
+ //# sourceMappingURL=schema-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-builder.d.ts","sourceRoot":"","sources":["../../../src/ir/extensions/schema-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAA;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,mBAAmB,GAAG,SAAS,CAAA;CACnF;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Service kind for schema-builder.
3
+ */
4
+ export const SCHEMA_BUILDER_KIND = "schema-builder";
5
+ //# sourceMappingURL=schema-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../../../src/ir/extensions/schema-builder.ts"],"names":[],"mappings":"AA6DA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAyB,CAAA"}
@@ -224,6 +224,16 @@ export declare const exp: {
224
224
  * Useful for exporting the inferred type alongside a schema constant.
225
225
  */
226
226
  readonly type: (name: string, ctx: SymbolContext, type: n.TSType) => SymbolStatement;
227
+ /**
228
+ * Export TypeScript enum declaration: `export enum Name { A = 'a', B = 'b' }`
229
+ *
230
+ * Member names are normalized: uppercase with non-alphanumeric chars replaced by underscore.
231
+ *
232
+ * @example
233
+ * exp.tsEnum("Status", { capability: "types", entity: "Status" }, ["active", "pending"])
234
+ * // export enum Status { ACTIVE = "active", PENDING = "pending" }
235
+ */
236
+ readonly tsEnum: (name: string, ctx: SymbolContext, values: readonly string[]) => SymbolStatement;
227
237
  };
228
238
  /**
229
239
  * Create a SymbolProgram from statements, extracting symbol metadata.
@@ -240,6 +250,20 @@ export declare const conjure: {
240
250
  readonly id: (name: string) => ChainBuilder;
241
251
  /** Start a chain from any expression */
242
252
  readonly chain: (expr: n.Expression) => ChainBuilder;
253
+ /**
254
+ * Quick method call: `callee.method(args)`
255
+ *
256
+ * More concise than `conjure.chain(callee).method(name, args).build()` for one-shot calls.
257
+ *
258
+ * @param callee - The object to call the method on (string or expression)
259
+ * @param method - The method name
260
+ * @param args - Optional arguments to pass
261
+ *
262
+ * @example
263
+ * conjure.call("db", "selectFrom", [conjure.str("users")])
264
+ * // db.selectFrom("users")
265
+ */
266
+ readonly call: (callee: n.Expression | string, method: string, args?: n.Expression[]) => n.Expression;
243
267
  /** Start an object literal builder */
244
268
  readonly obj: () => ObjBuilder;
245
269
  /** Start an array literal builder */
@@ -303,6 +327,8 @@ export declare const conjure: {
303
327
  readonly forOf: (varKind: "const" | "let", varName: string, iterable: n.Expression, body: n.Statement[]) => recast.types.namedTypes.ForOfStatement;
304
328
  /** Block statement */
305
329
  readonly block: (...statements: n.Statement[]) => recast.types.namedTypes.BlockStatement;
330
+ /** Async function declaration */
331
+ readonly asyncFn: (name: string, params: (n.Identifier | n.ObjectPattern)[], body: n.Statement[]) => n.FunctionDeclaration;
306
332
  };
307
333
  readonly export: {
308
334
  /**
@@ -339,6 +365,8 @@ export declare const conjure: {
339
365
  readonly?: boolean;
340
366
  }[]) => n.ExportNamedDeclaration;
341
367
  };
368
+ /** Async function declaration */
369
+ readonly asyncFn: (name: string, params: (n.Identifier | n.ObjectPattern)[], body: n.Statement[]) => n.FunctionDeclaration;
342
370
  readonly ts: {
343
371
  readonly string: () => recast.types.namedTypes.TSStringKeyword;
344
372
  readonly number: () => recast.types.namedTypes.TSNumberKeyword;
@@ -405,6 +433,34 @@ export declare const conjure: {
405
433
  }[]) => recast.types.namedTypes.TSTypeLiteral;
406
434
  /** Indexed access type: `T["key"]` or `T[K]` */
407
435
  readonly indexedAccess: (objectType: n.TSType, indexType: n.TSType) => recast.types.namedTypes.TSIndexedAccessType;
436
+ /** Make type nullable: `T | null` */
437
+ readonly nullable: (type: n.TSType) => n.TSType;
438
+ /** Wrap type in array: `T[]` */
439
+ readonly asArray: (type: n.TSType) => n.TSType;
440
+ /**
441
+ * Apply modifiers to a type.
442
+ * Order: array first, then nullable (so `T[] | null`, not `(T | null)[]`)
443
+ */
444
+ readonly withModifiers: (type: n.TSType, opts: {
445
+ nullable?: boolean;
446
+ array?: boolean;
447
+ }) => n.TSType;
448
+ /**
449
+ * Parse a type string into a TSType AST node.
450
+ *
451
+ * Handles:
452
+ * - Primitives: "string", "number", "boolean", "bigint", "unknown", "void", "null"
453
+ * - Built-ins: "Date", "Buffer"
454
+ * - Array suffix: "string[]", "MyType[]"
455
+ * - References: anything else becomes `ts.ref(typeName)`
456
+ *
457
+ * @example
458
+ * ts.fromString("string") // TSStringKeyword
459
+ * ts.fromString("Date") // TSTypeReference to "Date"
460
+ * ts.fromString("string[]") // TSArrayType(TSStringKeyword)
461
+ * ts.fromString("User") // TSTypeReference to "User"
462
+ */
463
+ readonly fromString: (typeName: string) => n.TSType;
408
464
  };
409
465
  readonly param: {
410
466
  /**
@@ -457,6 +513,16 @@ export declare const conjure: {
457
513
  * Useful for exporting the inferred type alongside a schema constant.
458
514
  */
459
515
  readonly type: (name: string, ctx: SymbolContext, type: n.TSType) => SymbolStatement;
516
+ /**
517
+ * Export TypeScript enum declaration: `export enum Name { A = 'a', B = 'b' }`
518
+ *
519
+ * Member names are normalized: uppercase with non-alphanumeric chars replaced by underscore.
520
+ *
521
+ * @example
522
+ * exp.tsEnum("Status", { capability: "types", entity: "Status" }, ["active", "pending"])
523
+ * // export enum Status { ACTIVE = "active", PENDING = "pending" }
524
+ */
525
+ readonly tsEnum: (name: string, ctx: SymbolContext, values: readonly string[]) => SymbolStatement;
460
526
  };
461
527
  /** Await expression */
462
528
  readonly await: (expr: n.Expression) => recast.types.namedTypes.AwaitExpression;
@@ -1 +1 @@
1
- {"version":3,"file":"conjure.d.ts","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conjure.d.ts","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
@@ -132,7 +132,7 @@ function createObj(props = []) {
132
132
  function createArr(elems = []) {
133
133
  return {
134
134
  add(...exprs) {
135
- const newElems = exprs.map((e) => toExpr(e));
135
+ const newElems = exprs.map(e => toExpr(e));
136
136
  return createArr([...elems, ...newElems]);
137
137
  },
138
138
  spread(expr) {
@@ -302,9 +302,7 @@ const stmt = {
302
302
  if (type) {
303
303
  id.typeAnnotation = b.tsTypeAnnotation(toTSType(type));
304
304
  }
305
- return b.variableDeclaration("let", [
306
- b.variableDeclarator(id, init ? toExpr(init) : null),
307
- ]);
305
+ return b.variableDeclaration("let", [b.variableDeclarator(id, init ? toExpr(init) : null)]);
308
306
  },
309
307
  /** `return expr` */
310
308
  return: (expr) => expr ? b.returnStatement(toExpr(expr)) : b.returnStatement(null),
@@ -317,11 +315,15 @@ const stmt = {
317
315
  /** Try-catch statement */
318
316
  try: (block, catchParam, catchBlock, finallyBlock) => b.tryStatement(b.blockStatement(block.map(toStmt)), b.catchClause(b.identifier(catchParam), null, b.blockStatement(catchBlock.map(toStmt))), finallyBlock ? b.blockStatement(finallyBlock.map(toStmt)) : null),
319
317
  /** For...of statement */
320
- forOf: (varKind, varName, iterable, body) => b.forOfStatement(b.variableDeclaration(varKind, [
321
- b.variableDeclarator(b.identifier(varName)),
322
- ]), toExpr(iterable), b.blockStatement(body.map(toStmt))),
318
+ forOf: (varKind, varName, iterable, body) => b.forOfStatement(b.variableDeclaration(varKind, [b.variableDeclarator(b.identifier(varName))]), toExpr(iterable), b.blockStatement(body.map(toStmt))),
323
319
  /** Block statement */
324
320
  block: (...statements) => b.blockStatement(statements.map(toStmt)),
321
+ /** Async function declaration */
322
+ asyncFn: (name, params, body) => {
323
+ const fn = b.functionDeclaration(b.identifier(name), params, b.blockStatement(body.map(toStmt)));
324
+ fn.async = true;
325
+ return fn;
326
+ },
325
327
  };
326
328
  // =============================================================================
327
329
  // TypeScript Type Helpers
@@ -418,7 +420,7 @@ const ts = {
418
420
  tuple: (...types) => b.tsTupleType(types.map(toTSType)),
419
421
  /** Function type: `(a: A, b: B) => R` */
420
422
  fn: (params, returnType) => {
421
- const fnParams = params.map((p) => {
423
+ const fnParams = params.map(p => {
422
424
  const param = b.identifier(p.name);
423
425
  param.typeAnnotation = b.tsTypeAnnotation(toTSType(p.type));
424
426
  if (p.optional) {
@@ -464,6 +466,72 @@ const ts = {
464
466
  })),
465
467
  /** Indexed access type: `T["key"]` or `T[K]` */
466
468
  indexedAccess: (objectType, indexType) => b.tsIndexedAccessType(toTSType(objectType), toTSType(indexType)),
469
+ // === Type Modifiers ===
470
+ /** Make type nullable: `T | null` */
471
+ nullable: (type) => b.tsUnionType([toTSType(type), b.tsNullKeyword()]),
472
+ /** Wrap type in array: `T[]` */
473
+ asArray: (type) => b.tsArrayType(toTSType(type)),
474
+ /**
475
+ * Apply modifiers to a type.
476
+ * Order: array first, then nullable (so `T[] | null`, not `(T | null)[]`)
477
+ */
478
+ withModifiers: (type, opts) => {
479
+ let result = type;
480
+ if (opts.array)
481
+ result = b.tsArrayType(toTSType(result));
482
+ if (opts.nullable)
483
+ result = b.tsUnionType([toTSType(result), b.tsNullKeyword()]);
484
+ return result;
485
+ },
486
+ /**
487
+ * Parse a type string into a TSType AST node.
488
+ *
489
+ * Handles:
490
+ * - Primitives: "string", "number", "boolean", "bigint", "unknown", "void", "null"
491
+ * - Built-ins: "Date", "Buffer"
492
+ * - Array suffix: "string[]", "MyType[]"
493
+ * - References: anything else becomes `ts.ref(typeName)`
494
+ *
495
+ * @example
496
+ * ts.fromString("string") // TSStringKeyword
497
+ * ts.fromString("Date") // TSTypeReference to "Date"
498
+ * ts.fromString("string[]") // TSArrayType(TSStringKeyword)
499
+ * ts.fromString("User") // TSTypeReference to "User"
500
+ */
501
+ fromString(typeName) {
502
+ // Handle array suffix first
503
+ if (typeName.endsWith("[]")) {
504
+ const elemType = typeName.slice(0, -2);
505
+ return b.tsArrayType(toTSType(this.fromString(elemType)));
506
+ }
507
+ switch (typeName) {
508
+ case "string":
509
+ return b.tsStringKeyword();
510
+ case "number":
511
+ return b.tsNumberKeyword();
512
+ case "boolean":
513
+ return b.tsBooleanKeyword();
514
+ case "bigint":
515
+ return b.tsBigIntKeyword();
516
+ case "unknown":
517
+ return b.tsUnknownKeyword();
518
+ case "void":
519
+ return b.tsVoidKeyword();
520
+ case "null":
521
+ return b.tsNullKeyword();
522
+ case "undefined":
523
+ return b.tsUndefinedKeyword();
524
+ case "any":
525
+ return b.tsAnyKeyword();
526
+ case "never":
527
+ return b.tsNeverKeyword();
528
+ case "Date":
529
+ case "Buffer":
530
+ default:
531
+ // Everything else is a type reference
532
+ return b.tsTypeReference(b.identifier(typeName));
533
+ }
534
+ },
467
535
  };
468
536
  /**
469
537
  * Parameter builders for function signatures.
@@ -504,7 +572,7 @@ const param = {
504
572
  * // { id, name }: Pick<UserRow, "id" | "name">
505
573
  */
506
574
  pick: (fields, entityType) => {
507
- const pattern = b.objectPattern(fields.map((f) => {
575
+ const pattern = b.objectPattern(fields.map(f => {
508
576
  const prop = b.objectProperty(b.identifier(f), b.identifier(f));
509
577
  prop.shorthand = true;
510
578
  return prop;
@@ -512,9 +580,7 @@ const param = {
512
580
  // Pick<Entity, 'field1' | 'field2'>
513
581
  const pickType = ts.ref("Pick", [
514
582
  ts.ref(entityType),
515
- fields.length === 1
516
- ? ts.literal(fields[0])
517
- : ts.union(...fields.map((f) => ts.literal(f))),
583
+ fields.length === 1 ? ts.literal(fields[0]) : ts.union(...fields.map(f => ts.literal(f))),
518
584
  ]);
519
585
  pattern.typeAnnotation = b.tsTypeAnnotation(toTSType(pickType));
520
586
  return pattern;
@@ -530,18 +596,16 @@ const param = {
530
596
  * // { limit = 50, offset = 0 }: { limit?: number; offset?: number }
531
597
  */
532
598
  destructured: (fields) => {
533
- const pattern = b.objectPattern(fields.map((f) => {
599
+ const pattern = b.objectPattern(fields.map(f => {
534
600
  const id = b.identifier(f.name);
535
601
  // Use AssignmentPattern for default values: { limit = 50 }
536
- const value = f.defaultValue
537
- ? b.assignmentPattern(id, toExpr(f.defaultValue))
538
- : id;
602
+ const value = f.defaultValue ? b.assignmentPattern(id, toExpr(f.defaultValue)) : id;
539
603
  const prop = b.objectProperty(b.identifier(f.name), value);
540
604
  prop.shorthand = true;
541
605
  return prop;
542
606
  }));
543
607
  // Build the type annotation: { name: type; name?: type; }
544
- const typeAnnotation = ts.objectType(fields.map((f) => ({ name: f.name, type: f.type, optional: f.optional })));
608
+ const typeAnnotation = ts.objectType(fields.map(f => ({ name: f.name, type: f.type, optional: f.optional })));
545
609
  pattern.typeAnnotation = b.tsTypeAnnotation(toTSType(typeAnnotation));
546
610
  return pattern;
547
611
  },
@@ -563,9 +627,7 @@ const exportHelpers = {
563
627
  if (type) {
564
628
  id.typeAnnotation = b.tsTypeAnnotation(toTSType(type));
565
629
  }
566
- const decl = b.variableDeclaration("const", [
567
- b.variableDeclarator(id, toExpr(init)),
568
- ]);
630
+ const decl = b.variableDeclaration("const", [b.variableDeclarator(id, toExpr(init))]);
569
631
  return b.exportNamedDeclaration(decl, []);
570
632
  },
571
633
  /**
@@ -585,7 +647,7 @@ const exportHelpers = {
585
647
  * Also supports renaming: `export { a as b }`
586
648
  */
587
649
  named: (...names) => {
588
- const specifiers = names.map((n) => {
650
+ const specifiers = names.map(n => {
589
651
  if (typeof n === "string") {
590
652
  return b.exportSpecifier.from({
591
653
  local: b.identifier(n),
@@ -687,9 +749,7 @@ export const exp = {
687
749
  if (typeAnnotation) {
688
750
  id.typeAnnotation = b.tsTypeAnnotation(toTSType(typeAnnotation));
689
751
  }
690
- const decl = b.variableDeclaration("const", [
691
- b.variableDeclarator(id, toExpr(init)),
692
- ]);
752
+ const decl = b.variableDeclaration("const", [b.variableDeclarator(id, toExpr(init))]);
693
753
  const exportDecl = b.exportNamedDeclaration(decl, []);
694
754
  return symbolStatement(exportDecl, createSymbolMeta(name, ctx, false));
695
755
  },
@@ -704,6 +764,20 @@ export const exp = {
704
764
  const exportDecl = b.exportNamedDeclaration(decl, []);
705
765
  return symbolStatement(exportDecl, createSymbolMeta(name, ctx, true));
706
766
  },
767
+ /**
768
+ * Export TypeScript enum declaration: `export enum Name { A = 'a', B = 'b' }`
769
+ *
770
+ * Member names are normalized: uppercase with non-alphanumeric chars replaced by underscore.
771
+ *
772
+ * @example
773
+ * exp.tsEnum("Status", { capability: "types", entity: "Status" }, ["active", "pending"])
774
+ * // export enum Status { ACTIVE = "active", PENDING = "pending" }
775
+ */
776
+ tsEnum: (name, ctx, values) => {
777
+ const enumDecl = b.tsEnumDeclaration(b.identifier(name), values.map(v => b.tsEnumMember(b.identifier(v.toUpperCase().replace(/[^A-Z0-9_]/g, "_")), b.stringLiteral(v))));
778
+ const exportDecl = b.exportNamedDeclaration(enumDecl, []);
779
+ return symbolStatement(exportDecl, createSymbolMeta(name, ctx, true));
780
+ },
707
781
  };
708
782
  // =============================================================================
709
783
  // Program Builder
@@ -712,10 +786,7 @@ export const exp = {
712
786
  * Type guard for SymbolStatement
713
787
  */
714
788
  function isSymbolStatement(stmt) {
715
- return (typeof stmt === "object" &&
716
- stmt !== null &&
717
- "_tag" in stmt &&
718
- stmt._tag === "SymbolStatement");
789
+ return (typeof stmt === "object" && stmt !== null && "_tag" in stmt && stmt._tag === "SymbolStatement");
719
790
  }
720
791
  /**
721
792
  * Create a SymbolProgram from statements, extracting symbol metadata.
@@ -753,11 +824,28 @@ export const conjure = {
753
824
  id: (name) => createChain(b.identifier(name)),
754
825
  /** Start a chain from any expression */
755
826
  chain: (expr) => createChain(expr),
827
+ /**
828
+ * Quick method call: `callee.method(args)`
829
+ *
830
+ * More concise than `conjure.chain(callee).method(name, args).build()` for one-shot calls.
831
+ *
832
+ * @param callee - The object to call the method on (string or expression)
833
+ * @param method - The method name
834
+ * @param args - Optional arguments to pass
835
+ *
836
+ * @example
837
+ * conjure.call("db", "selectFrom", [conjure.str("users")])
838
+ * // db.selectFrom("users")
839
+ */
840
+ call: (callee, method, args = []) => {
841
+ const calleeExpr = typeof callee === "string" ? b.identifier(callee) : callee;
842
+ return b.callExpression(b.memberExpression(toExpr(calleeExpr), b.identifier(method)), args.map(toExpr));
843
+ },
756
844
  // === Compound builders ===
757
845
  /** Start an object literal builder */
758
846
  obj: () => createObj(),
759
847
  /** Start an array literal builder */
760
- arr: (...elements) => createArr(elements.map((e) => toExpr(e))),
848
+ arr: (...elements) => createArr(elements.map(e => toExpr(e))),
761
849
  /** Start a function builder */
762
850
  fn: () => createFn({
763
851
  params: [],
@@ -789,6 +877,16 @@ export const conjure = {
789
877
  stmt,
790
878
  // === Export statements ===
791
879
  export: exportHelpers,
880
+ /** Async function declaration */
881
+ asyncFn: (name, params, body) => {
882
+ const fn = b.functionDeclaration.from({
883
+ id: b.identifier(name),
884
+ params: params,
885
+ body: b.blockStatement(body.map(toStmt)),
886
+ async: true,
887
+ });
888
+ return fn;
889
+ },
792
890
  // === TypeScript types ===
793
891
  ts,
794
892
  // === Parameter helpers ===
@@ -1 +1 @@
1
- {"version":3,"file":"conjure.js","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conjure.js","sourceRoot":"","sources":["../../src/lib/conjure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAuB5B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AAEhC,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;;;;GAOG;AAEH,2EAA2E;AAC3E,SAAS,MAAM,CAAC,IAAkB;IAChC,OAAO,IAAsB,CAAC;AAChC,CAAC;AAED,yEAAyE;AACzE,SAAS,MAAM,CAAC,IAAiB;IAC/B,OAAO,IAAqB,CAAC;AAC/B,CAAC;AAED,mEAAmE;AACnE,SAAS,QAAQ,CAAC,IAAc;IAC9B,OAAO,IAAkB,CAAC;AAC5B,CAAC;AAgCD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,0CAA0C;IAC1C,MAAM;IACN,gDAAgD;IAChD,WAAW,EAAE,CAAC,IAAoC,EAAoB,EAAE,CAAC,IAAwB;IACjG,wCAAwC;IACxC,MAAM;IACN,kCAAkC;IAClC,QAAQ;CACA,CAAC;AA0EX,SAAS,WAAW,CAAC,KAAmB;IACtC,OAAO;QACL,IAAI,EAAE,KAAK;QAEX,IAAI,CAAC,IAAI;YACP,OAAO,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;YACpB,OAAO,WAAW,CAChB,CAAC,CAAC,cAAc,CACd,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EACzD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CACjB,CACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,EAAE;YACZ,OAAO,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,CAAC,IAAI;YACR,OAAO,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,KAAK;YACH,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AA6BD,4DAA4D;AAC5D,SAAS,SAAS,CAAC,QAA8B,EAAE;IACjD,OAAO;QACL,IAAI,CAAC,GAAG,EAAE,KAAK;YACb,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,OAAO,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,KAAK;YACnB,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE,KAAK;YACjB,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,CAAC,IAAI;YACT,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,SAAS,CAAC,GAAG;YACX,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,KAAK;YACH,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC;AAoBD,4DAA4D;AAC5D,SAAS,SAAS,CAAC,QAA4B,EAAE;IAC/C,OAAO;QACL,GAAG,CAAC,GAAG,KAAK;YACV,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAqB,CAAC,CAAC;YAC/D,OAAO,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI;YACT,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK;YACH,OAAO,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC;AAuBD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAAe,EAAW,EAAE,CAAC,CAAC;IAChE,IAAI;IACJ,IAAI;IACJ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,KAAK;IACX,YAAY,EAAE,SAAS;CACxB,CAAC,CAAC;AAwCH,SAAS,QAAQ,CAAC,MAAgB;IAChC,MAAM,WAAW,GAAG,GAAkB,EAAE,CACtC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAe,EAAE;QACnC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAgB,CAAC;QAC9C,CAAC;aAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YAC1B,6DAA6D;YAC7D,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAgB,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,OAAO,KAAoB,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,KAAK,CAAC,IAAI,EAAE,IAAI;YACd,OAAO,QAAQ,CAAC;gBACd,GAAG,MAAM;gBACT,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACrD,CAAC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,IAAI,EAAE,IAAI;YACtB,OAAO,QAAQ,CAAC;gBACd,GAAG,MAAM;gBACT,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC5E,CAAC,CAAC;QACL,CAAC;QAED,SAAS,CAAC,IAAI,EAAE,IAAI;YAClB,OAAO,QAAQ,CAAC;gBACd,GAAG,MAAM;gBACT,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aACxE,CAAC,CAAC;QACL,CAAC;QAED,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI;YACnC,OAAO,QAAQ,CAAC;gBACd,GAAG,MAAM;gBACT,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,IAAI;YACV,OAAO,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,GAAG,UAAU;YAChB,OAAO,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,KAAK;YACH,OAAO,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,KAAK;YACH,OAAO,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,SAAS;YACP,OAAO,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,KAAK;YACH,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAExD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,EAAE,GAAG,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3D,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC1B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClE,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBACzE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC1B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClE,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,aAAa,CAAC,IAAI;YAChB,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACxD,MAAM,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YACxF,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;KACF,CAAC;AACJ,CAAC;AAoCD;;GAEG;AACH,MAAM,EAAE,GAAG;IACT,gCAAgC;IAChC,MAAM,EAAE,CAAC,IAAkB,EAAE,QAAkB,EAAE,KAAmB,EAAE,EAAE,CACtE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3D,sCAAsC;IACtC,OAAO,EAAE,CAAC,IAAkB,EAAE,QAAmB,EAAE,KAAmB,EAAE,EAAE,CACxE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5D,uBAAuB;IACvB,KAAK,EAAE,CAAC,QAAiB,EAAE,QAAsB,EAAE,EAAE,CACnD,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,EAAE,CACN,IAAmD,EACnD,QAAkB,EAClB,KAAmB,EACnB,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzE,qCAAqC;IACrC,OAAO,EAAE,CAAC,IAAkB,EAAE,UAAwB,EAAE,SAAuB,EAAE,EAAE,CACjF,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9E,qBAAqB;IACrB,GAAG,EAAE,CAAC,MAAoB,EAAE,OAAuB,EAAE,EAAE,EAAE,CACvD,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnD,mBAAmB;IACnB,6BAA6B;IAC7B,EAAE,EAAE,CAAC,IAAkB,EAAE,KAAmB,EAAE,EAAE,CAC9C,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAExD,+BAA+B;IAC/B,GAAG,EAAE,CAAC,IAAkB,EAAE,KAAmB,EAAE,EAAE,CAC/C,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAExD,uBAAuB;IACvB,GAAG,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEjE,wBAAwB;IACxB,GAAG,EAAE,CAAC,IAAkB,EAAE,KAAmB,EAAE,EAAE,CAC/C,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAExD,uBAAuB;IACvB,EAAE,EAAE,CAAC,IAAkB,EAAE,KAAmB,EAAE,EAAE,CAC9C,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAExD,+BAA+B;IAC/B,OAAO,EAAE,CAAC,IAAkB,EAAE,KAAmB,EAAE,EAAE,CACnD,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CAChD,CAAC;AAEX,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,IAAI,GAAG;IACX,0BAA0B;IAC1B,KAAK,EAAE,CAAC,IAAY,EAAE,IAAkB,EAAE,IAAe,EAAE,EAAE;QAC3D,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,wBAAwB;IACxB,GAAG,EAAE,CAAC,IAAY,EAAE,IAAmB,EAAE,IAAe,EAAE,EAAE;QAC1D,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,oBAAoB;IACpB,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE,CAC9B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;IAElE,oCAAoC;IACpC,IAAI,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEjE,mBAAmB;IACnB,EAAE,EAAE,CAAC,IAAkB,EAAE,UAAyB,EAAE,SAAyB,EAAE,EAAE,CAC/E,CAAC,CAAC,WAAW,CACX,MAAM,CAAC,IAAI,CAAC,EACZ,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EACxC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3D;IAEH,sBAAsB;IACtB,KAAK,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,GAAG,EAAE,CACH,KAAoB,EACpB,UAAkB,EAClB,UAAyB,EACzB,YAA4B,EAC5B,EAAE,CACF,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EACnC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EACvF,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACjE;IAEH,yBAAyB;IACzB,KAAK,EAAE,CAAC,OAAwB,EAAE,OAAe,EAAE,QAAsB,EAAE,IAAmB,EAAE,EAAE,CAChG,CAAC,CAAC,cAAc,CACd,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAC7E,MAAM,CAAC,QAAQ,CAAC,EAChB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CACnC;IAEH,sBAAsB;IACtB,KAAK,EAAE,CAAC,GAAG,UAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjF,iCAAiC;IACjC,OAAO,EAAE,CACP,IAAY,EACZ,MAA0C,EAC1C,IAAmB,EACI,EAAE;QACzB,MAAM,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAC9B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAClB,MAAM,EACN,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CACnC,CAAC;QACF,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;CACO,CAAC;AAEX,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,EAAE,GAAG;IACT,gBAAgB;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;IACjC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE;IACnC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;IACjC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE;IAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE;IACnC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;IAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE;IAC7B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE;IAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;IAEvC,kDAAkD;IAClD,GAAG,EAAE,CAAC,IAAY,EAAE,UAAuB,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,4BAA4B,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,YAAY,EAAE,CACZ,KAAa,EACb,MAAc,EACd,iBAAuC,EACvC,GAAG,IAAc,EACjB,EAAE;QACF,IAAI,KAAe,CAAC;QACpB,IAAI,UAAkC,CAAC;QAEvC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,8EAA8E;YAC9E,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;YACpD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,2FAA2F;YAC3F,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxB,UAAU,GAAG,iBAAiB,CAAC;QACjC,CAAC;QAED,yCAAyC;QACzC,iDAAiD;QACjD,IAAI,aAAa,GAAqC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,4BAA4B,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,sBAAsB,EAAE,CAAC,KAAe,EAAE,UAAsB,EAAE,EAAE;QAClE,IAAI,aAAa,GAAqC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,aAAa,GAAG,CAAC,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,4BAA4B,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,wBAAwB;IACxB,KAAK,EAAE,CAAC,WAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEtE,8BAA8B;IAC9B,KAAK,EAAE,CAAC,GAAG,KAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEnE,iCAAiC;IACjC,YAAY,EAAE,CAAC,GAAG,KAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEjF,sCAAsC;IACtC,OAAO,EAAE,CAAC,KAAgC,EAAE,EAAE;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,KAAK,EAAE,CAAC,GAAG,KAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEnE,yCAAyC;IACzC,EAAE,EAAE,CAAC,MAA8D,EAAE,UAAoB,EAAE,EAAE;QAC3F,MAAM,QAAQ,GAAkB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,OAAO,KAAoB,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8BAA8B;IAC9B,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE3D,4BAA4B;IAC5B,KAAK,EAAE,CAAC,IAAc,EAAE,EAAE,CACxB,CAAC;QACC,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;KAC/B,CAAqB;IAExB,kCAAkC;IAClC,QAAQ,EAAE,CAAC,IAAc,EAAE,EAAE,CAC3B,CAAC;QACC,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,UAAU;QACpB,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;KAC/B,CAAqB;IAExB,iCAAiC;IACjC,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE,CAC3B,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/F;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,KAAiF,EAAE,EAAE,CAChG,CAAC,CAAC,aAAa,CACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAC/B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EACpB,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACrC,CAAC;QACF,IAAI,CAAC,CAAC,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,CAAC,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CACH;IAEH,gDAAgD;IAChD,aAAa,EAAE,CAAC,UAAoB,EAAE,SAAmB,EAAE,EAAE,CAC3D,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAElE,yBAAyB;IAEzB,qCAAqC;IACrC,QAAQ,EAAE,CAAC,IAAc,EAAY,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IAE1F,gCAAgC;IAChC,OAAO,EAAE,CAAC,IAAc,EAAY,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,aAAa,EAAE,CAAC,IAAc,EAAE,IAA6C,EAAY,EAAE;QACzF,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,QAAgB;QACzB,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC;YAC7B,KAAK,SAAS;gBACZ,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC9B,KAAK,QAAQ;gBACX,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC;YAC7B,KAAK,SAAS;gBACZ,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3B,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3B,KAAK,WAAW;gBACd,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAChC,KAAK,KAAK;gBACR,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;YAC1B,KAAK,OAAO;gBACV,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd;gBACE,sCAAsC;gBACtC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACO,CAAC;AAgBX;;GAEG;AACH,MAAM,KAAK,GAAG;IACZ;;OAEG;IACH,KAAK,EAAE,CAAC,IAAY,EAAE,IAAc,EAAgB,EAAE;QACpD,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,QAAQ,EAAE,CAAC,IAAY,EAAE,IAAc,EAAgB,EAAE;QACvD,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,WAAW,EAAE,CAAC,IAAY,EAAE,YAA0B,EAAE,IAAe,EAAuB,EAAE;QAC9F,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,MAAyB,EAAE,UAAkB,EAAmB,EAAE;QACvE,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,CAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACb,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;QACF,oCAAoC;QACpC,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;YAC9B,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;YAClB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3F,CAAC,CAAC;QACH,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,YAAY,EAAE,CAAC,MAAoC,EAAmB,EAAE;QACtE,MAAM,OAAO,GAAG,CAAC,CAAC,aAAa,CAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACb,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChC,2DAA2D;YAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;QACF,0DAA0D;QAC1D,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CACxE,CAAC;QACF,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC;IACjB,CAAC;CACO,CAAC;AAEX,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,aAAa,GAAG;IACpB;;OAEG;IACH,KAAK,EAAE,CAAC,IAAY,EAAE,IAAkB,EAAE,IAAe,EAA4B,EAAE;QACrF,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,EAAE,EAAE,CAAC,EAAyB,EAA4B,EAAE;QAC1D,OAAO,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,OAAO,EAAE,CAAC,IAAkB,EAA8B,EAAE;QAC1D,OAAO,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,EAAE,CAAC,GAAG,KAAuD,EAA4B,EAAE;QAC9F,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;oBAC5B,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtB,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;iBAC1B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC;oBAC5B,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,IAAI,EAAE,CAAC,IAAY,EAAE,IAAc,EAA4B,EAAE;QAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS,EAAE,CACT,IAAY,EACZ,UAAsF,EAC5D,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAuB,EAAE;YACxD,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YACpC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;CACO,CAAC;AAEX,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAEhF;;GAEG;AACH,SAAS,eAAe,CAAC,IAAiB,EAAE,MAAkB;IAC5D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAkB,EAAE,MAAe;IACzE,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM;KACP,CAAC;IACF,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAYD;;GAEG;AACH,SAAS,wBAAwB,CAAC,KAA4B;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAuB,EAAE;QAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,CAAC,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,CAAC,QAAQ;YAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB;;OAEG;IACH,SAAS,EAAE,CACT,IAAY,EACZ,GAAkB,EAClB,UAAiC,EAChB,EAAE;QACnB,MAAM,IAAI,GAAG,CAAC,CAAC,sBAAsB,CACnC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAClB,CAAC,CAAC,eAAe,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CACxD,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,SAAS,EAAE,CAAC,IAAY,EAAE,GAAkB,EAAE,IAAc,EAAmB,EAAE;QAC/E,MAAM,IAAI,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,EAAE,CACL,IAAY,EACZ,GAAkB,EAClB,IAAkB,EAClB,cAAyB,EACR,EAAE;QACnB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,cAAc,EAAE,CAAC;YACnB,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,IAAI,EAAE,CAAC,IAAY,EAAE,GAAkB,EAAE,IAAc,EAAmB,EAAE;QAC1E,4DAA4D;QAC5D,wDAAwD;QACxD,MAAM,IAAI,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,EAAE,CAAC,IAAY,EAAE,GAAkB,EAAE,MAAyB,EAAmB,EAAE;QACvF,MAAM,QAAQ,GAAG,CAAC,CAAC,iBAAiB,CAClC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACb,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,EACzD,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CACF,CACF,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;CACO,CAAC;AAEX,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAmC;IAC5D,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAC/F,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,GAAG,UAA6C;IAC3E,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,yBAAyB;IAEzB,uCAAuC;IACvC,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAErD,wCAAwC;IACxC,KAAK,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;IAEhD;;;;;;;;;;;;OAYG;IACH,IAAI,EAAE,CACJ,MAA6B,EAC7B,MAAc,EACd,OAAuB,EAAE,EACX,EAAE;QAChB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,OAAO,CAAC,CAAC,cAAc,CACrB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC5D,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CACjB,CAAC;IACJ,CAAC;IAED,4BAA4B;IAE5B,sCAAsC;IACtC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;IAEtB,qCAAqC;IACrC,GAAG,EAAE,CAAC,GAAG,QAAwB,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAqB,CAAC,CAAC;IAEjG,+BAA+B;IAC/B,EAAE,EAAE,GAAG,EAAE,CACP,QAAQ,CAAC;QACP,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,KAAK;KACnB,CAAC;IAEJ,mBAAmB;IAEnB,qBAAqB;IACrB,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;IAE9C,sBAAsB;IACtB,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;IAE/C,sBAAsB;IACtB,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;IAEjD,WAAW;IACX,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;IAE3B,gBAAgB;IAChB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;IAE1C,uBAAuB;IACvB,QAAQ,EAAE,CAAC,MAAgB,EAAE,GAAG,WAA2B,EAAE,EAAE;QAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CACjE,CAAC;QACF,OAAO,CAAC,CAAC,eAAe,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB;IACpB,EAAE;IAEF,qBAAqB;IACrB,IAAI;IAEJ,4BAA4B;IAC5B,MAAM,EAAE,aAAa;IAErB,iCAAiC;IACjC,OAAO,EAAE,CACP,IAAY,EACZ,MAA0C,EAC1C,IAAmB,EACI,EAAE;QACzB,MAAM,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACpC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2BAA2B;IAC3B,EAAE;IAEF,4BAA4B;IAC5B,KAAK;IAEL,yBAAyB;IACzB,GAAG;IAEH,kBAAkB;IAElB,uBAAuB;IACvB,KAAK,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE9D,kDAAkD;IAClD,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7D,oCAAoC;IACpC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI;IAEhD,8DAA8D;IAC9D,OAAO,EAAE,CAAC,GAAG,UAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5E;;;;OAIG;IACH,aAAa,EAAE,mBAAmB;IAElC,sCAAsC;IAEtC,iDAAiD;IACjD,CAAC;CACO,CAAC;AAEX,eAAe,OAAO,CAAC"}