@superblocksteam/vite-plugin-file-sync 2.0.103 → 2.0.104-next.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 (36) hide show
  1. package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
  2. package/dist/ai-service/agent/prompts/api-prompts.js +17 -4
  3. package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
  4. package/dist/ai-service/agent/tools/apis/api-testing-state.d.ts.map +1 -1
  5. package/dist/ai-service/agent/tools/apis/api-testing-state.js +21 -4
  6. package/dist/ai-service/agent/tools/apis/api-testing-state.js.map +1 -1
  7. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  8. package/dist/ai-service/agent/tools/apis/build-api.js +5 -1
  9. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  10. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/get-api-docs.js +10 -2
  12. package/dist/ai-service/agent/tools/apis/get-api-docs.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/integration-types.d.ts +11 -0
  14. package/dist/ai-service/agent/tools/apis/integration-types.d.ts.map +1 -1
  15. package/dist/ai-service/agent/tools/apis/integration-types.js +27 -0
  16. package/dist/ai-service/agent/tools/apis/integration-types.js.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools/apis/test-api.js +13 -8
  19. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  20. package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools/build-delete-file.js +1 -0
  22. package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
  23. package/dist/ai-service/index.d.ts +5 -0
  24. package/dist/ai-service/index.d.ts.map +1 -1
  25. package/dist/ai-service/index.js +34 -1
  26. package/dist/ai-service/index.js.map +1 -1
  27. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
  28. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
  29. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +33 -0
  30. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
  31. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  32. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  33. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +2 -2
  34. package/dist/ai-service/state-machine/clark-fsm.d.ts +10 -0
  35. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  36. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"build-delete-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-delete-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-delete-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-delete-file.ts"],"names":[],"mappings":"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"}
@@ -173,6 +173,11 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
173
173
  alwaysAllowPermissions?: AiToolPermission[];
174
174
  denyMessage?: string;
175
175
  }, peer: EditorClient, peerId: string): Promise<void>;
176
+ /**
177
+ * Builds a continuation prompt when a tool permission is denied.
178
+ * For testApi, provides specific guidance to continue testing other APIs.
179
+ */
180
+ private buildDenialContinuationPrompt;
176
181
  handleUserConnected(peer: EditorClient, peerId: string): void;
177
182
  handleUserDisconnected(peerId: string): void;
178
183
  private clearPeerConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAE9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EAMb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAKL,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuB1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAatE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAW3D,OAAO,EAAE,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAoC9E,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,wBAAgB,UAAU,CACxB,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAShC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAQjD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpE;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,MAAM,GACf,CAAC,EAAE,CAkBL;AAsBD,qBAAa,SAAU,SAAQ,kBAAkB,CAAC,eAAe,CAAC;IAsJpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IArJnC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,aAAa,CAAgB;IACrC,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CACD;IACrC,OAAO,CAAC,6BAA6B,CAA2B;IAChE,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IACjD,OAAO,CAAC,wBAAwB,CAAC,CAAmB;IACpD,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAE7C,IAAW,UAAU,IAAI,eAAe,CAEvC;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACI,qBAAqB,CAC1B,UAAU,CAAC,EAAE,UAAU,EACvB,WAAW,CAAC,EAAE,kBAAkB,EAChC,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,IAAI;IAMA,yBAAyB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5D,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;;OAGG;IACI,YAAY,IAAI,SAAS,GAAG,IAAI;IAQvC;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;OAEG;IACI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACI,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACI,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAI7C;;;;OAIG;IACU,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;OAGG;IACI,mBAAmB,IAAI,gBAAgB;IAI9C;;OAEG;IACU,0BAA0B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAK/D,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED,IAAW,qBAAqB,IAAI,OAAO,CAE1C;IAED;;OAEG;IACI,gBAAgB,IAAI,OAAO;gBAIL,MAAM,EAAE,eAAe;IAkNpD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjC;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,4BAA4B;IAoHpC,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,6BAA6B;YAYvB,UAAU;YAuBV,sBAAsB;IAsCvB,gBAAgB,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA2EH,mBAAmB,CAC9B,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;IA0NH,yBAAyB,CACpC,OAAO,EAAE,0BAA0B,EACnC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;IAgMH,sBAAsB,CACjC,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;YAgJF,oBAAoB;IAyBrB,uBAAuB,CAClC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC;IAkGrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsD/B,OAAO,CAAC,0BAA0B;IAqBrB,uBAAuB,CAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAqBH,uBAAuB,CAClC,IAAI,EAAE,YAAY,EAClB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAwBH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhD;;;OAGG;IACU,yBAAyB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,WAAW,GAC1B,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,GAAG,aAAa,CAAA;KAAE,CAAC;IAkBjD;;;OAGG;YACW,oBAAoB;IAoDlC;;;;;;;OAOG;YACW,oBAAoB;IA6CrB,kBAAkB,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAiDhB;;;;;;;;OAQG;IACU,+BAA+B,CAC1C,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,EACD,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAuTT,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAyE7D,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA4BnD,OAAO,CAAC,mBAAmB;IASpB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAyB1C,kBAAkB,CAAC,SAAS,EAAE,gBAAgB;IA8C9C,uBAAuB,CAAC,EAAE,EAAE,MAAM;IAYlC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAqCjD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IA8ChE,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAqB/C,4BAA4B,IAAI,IAAI;IAY9B,0BAA0B,CACrC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,EACvE,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;OAQG;IACU,qBAAqB,CAAC,OAAO,EAAE;QAC1C,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,iBAAiB,CAAC;QAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC1C,gBAAgB,CAAC,EAAE,GAAG,CAAC;KACxB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA8H3B,gBAAgB,CAAC,MAAM,EAAE,UAAU;IAQ7B,aAAa;IAY1B;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAMhD;;OAEG;IACU,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;OAEG;IACU,aAAa,CACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,SAAS,CAAC;IAKrB;;OAEG;IACU,WAAW,CACtB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAoFvB,qBAAqB,CAChC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAyEH,eAAe,CAAC,MAAM,EAAE,SAAS;IAkBvC,MAAM,IAAI,OAAO;IAQjB,cAAc,IAAI,OAAO;IAIhC;;;;OAIG;IACI,YAAY,IAAI,OAAO;IAS9B;;;;;;OAMG;IACU,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzD;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAQpB,gCAAgC,IAAI,OAAO,CAAC,OAAO,CAAC;IAY1D,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS;IAQzD,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB;IAMzD,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAI1C,aAAa,IAAI,aAAa,GAAG,SAAS;IAIjD,OAAO,CAAC,sBAAsB;CA+C/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
@@ -1524,6 +1524,17 @@ export class AiService extends TracedEventEmitter {
1524
1524
  }
1525
1525
  else {
1526
1526
  const denyReason = request.denyMessage || "User denied permission for this tool call";
1527
+ // For testApi denials, update apiTestingState:
1528
+ // - Remove from untested (user has addressed this API)
1529
+ // - Add to denied (prevent re-marking as untested on file rewrites)
1530
+ if (toolName === "testApi") {
1531
+ const apiName = rawInput?.apiName;
1532
+ if (apiName && this.clark.context.apiTestingState) {
1533
+ this.clark.context.apiTestingState.untested.delete(apiName);
1534
+ this.clark.context.apiTestingState.denied.add(apiName);
1535
+ logger.info(`[ai-service] testApi denied for ${apiName}, moved from untested to denied`);
1536
+ }
1537
+ }
1527
1538
  toolResultMessage = {
1528
1539
  role: "tool",
1529
1540
  content: [
@@ -1588,7 +1599,7 @@ export class AiService extends TracedEventEmitter {
1588
1599
  const continueRequest = {
1589
1600
  prompt: request.approved
1590
1601
  ? ``
1591
- : `Continue with the task using alternative approaches. The tool ${toolName} was denied permission.`,
1602
+ : this.buildDenialContinuationPrompt(toolName, rawInput),
1592
1603
  promptContext: {
1593
1604
  entities: [],
1594
1605
  integrations: [],
@@ -1613,6 +1624,28 @@ export class AiService extends TracedEventEmitter {
1613
1624
  peerId,
1614
1625
  });
1615
1626
  }
1627
+ /**
1628
+ * Builds a continuation prompt when a tool permission is denied.
1629
+ * For testApi, provides specific guidance to continue testing other APIs.
1630
+ */
1631
+ buildDenialContinuationPrompt(toolName, rawInput) {
1632
+ if (toolName === "testApi") {
1633
+ const deniedApiName = rawInput?.apiName;
1634
+ const apiTestingState = this.clark.context.apiTestingState;
1635
+ const remainingUntested = apiTestingState?.untested;
1636
+ if (remainingUntested && remainingUntested.size > 0) {
1637
+ const remainingList = Array.from(remainingUntested).join(", ");
1638
+ return (`The user denied permission to test the API "${deniedApiName ?? "unknown"}". ` +
1639
+ `Do NOT attempt to rewrite or modify this API. ` +
1640
+ `Continue testing the remaining untested APIs: ${remainingList}. ` +
1641
+ `Call testApi for each of these APIs.`);
1642
+ }
1643
+ return (`The user denied permission to test the API "${deniedApiName ?? "unknown"}". ` +
1644
+ `Do NOT attempt to rewrite or modify this API. ` +
1645
+ `There are no other untested APIs remaining. Continue with the task.`);
1646
+ }
1647
+ return `Continue with the task using alternative approaches. The tool ${toolName} was denied permission.`;
1648
+ }
1616
1649
  handleUserConnected(peer, peerId) {
1617
1650
  const existingPeerId = this.clark.context.peerId;
1618
1651
  this.getLogger().info(`[ai-service] handleUserConnected: peerId=${peerId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,WAAW,GAIZ,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,MAAM,GAKP,MAAM,uCAAuC,CAAC;AAoB/C,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,4BAA4B,GAE7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EACL,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAqB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,eAAe,EACf,KAAK,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,8BAA8B,CAAC;AAWtC,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,uEAAuE;AACvE,MAAM,UAAU,UAAU,CAExB,KAAU,EAAE,KAAa;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,6DAA6D;QAC7D,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,QAAgB;IAC1D,oDAAoD;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,GAAG,CAAC;IACvC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,iBAAiB,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAAU,EACV,QAAgB;IAEhB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,kEAAkE;IAClE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,+CAA+C;QACvE,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,SAAS,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACrC,SAAS,IAAI,QAAQ,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,mDAAmD;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,iBAAiB,GAAG,CACxB,QAAsB,EACtB,QAAsB,EACG,EAAE;IAC3B,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI;QACtC,QAAQ,EACN,QAAQ,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ;QAC3E,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,YAAY;QAC9D,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ;QAClD,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK;QACzC,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,QAAQ,EAAE,WAAW;QAC3D,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,QAAQ,EAAE,aAAa;KAClE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,SAAU,SAAQ,kBAAmC;IAsJnC;IArJrB,iBAAiB,CAAoB;IACrC,gBAAgB,CAAmB;IACnC,QAAQ,CAAW;IACnB,mBAAmB,CAAsB;IACzC,gBAAgB,CAAmB;IACnC,gBAAgB,CAAmB;IACnC,WAAW,CAAkB;IAC7B,mBAAmB,CAAsB;IACzC,OAAO,CAAS;IACP,KAAK,CAAQ;IACtB,aAAa,CAAgB;IACrB,gBAAgB,CAAmB;IAClC,gBAAgB,CAAmB;IACnC,SAAS,CAAY;IACrB,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;IAChD,qBAAqB,GACpC,IAAI,4BAA4B,EAAE,CAAC;IAC7B,6BAA6B,CAA2B;IACxD,eAAe,CAAU;IACzB,UAAU,CAAiB;IAClB,gBAAgB,CAA6B;IAC7C,gBAAgB,CAAmB;IACnC,SAAS,CAAS;IAC3B,kBAAkB,CAAc;IAChC,mBAAmB,CAAsB;IACzC,wBAAwB,CAAoB;IAC5C,uBAAuB,CAAc;IAE7C,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,qBAAqB,CAC1B,UAAuB,EACvB,WAAgC,EAChC,gBAAmC;QAEnC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;QACvC,IAAI,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;IACnD,CAAC;IAEM,yBAAyB,CAAC,QAAoB;QACnD,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACpC,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACpC,CAAC;IAED,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,YAAY;QACjB,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,GAAW;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,4BAA4B;IAE5B;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,SAAkB;QAC7C,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,0BAA0B;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;QACpE,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,IAAW,0BAA0B;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,KAAK,IAAI,CAAC;IAChE,CAAC;IAED,IAAW,qBAAqB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,KAAK,IAAI,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC;IACrC,CAAC;IAED,YAA6B,MAAuB;QAClD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QADM,WAAM,GAAN,MAAM,CAAiB;QAElD,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,wDAAwD;QACxD,sFAAsF;QACtF,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC;QAC3B,uFAAuF;QACvF,MAAM,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QACjD,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG;YACzB,SAAS,EAAE;gBACT,OAAO,EAAE,MAAM,CAAC,kBAAkB;gBAClC,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,iCAAiC;gBACvC,GAAG,MAAM,CAAC,gBAAgB,EAAE,SAAS;aACtC;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM,CAAC,kBAAkB;gBAClC,IAAI,EAAE,sBAAsB;gBAC5B,gBAAgB,EAAE,SAAS;gBAC3B,GAAG,MAAM,CAAC,gBAAgB,EAAE,KAAK;aAClC;SACF,CAAC;QACF,IAAI,CAAC,gBAAgB;YACnB,MAAM,CAAC,gBAAgB;gBACvB,IAAI,gBAAgB,CAAC;oBACnB,mBAAmB,EAAE,IAAI;oBACzB,WAAW,EAAE,MAAM,CAAC,cAAc;iBACnC,CAAC,CAAC;QAEL,mFAAmF;QACnF,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAE/C,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC;YAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,iBAAiB,EAAE,8BAA8B,CAAC;gBAChD,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe;gBAChD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa;gBAC5C,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC;YACF,aAAa,EAAE,mBAAmB,CAChC,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,KAAK,CACvC;YACD,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CAAC,uBAAuB,IAAI,KAAK;YACzE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC/B,sDAAsD;gBACtD,IACE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;oBACvB,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAsB;wBACtC,OAAO,CAAC,IAAI,KAAK,wBAAwB,CAAC,EAC5C,CAAC;oBACD,MAAM,eAAe,GAAG,sBAAsB,CAC5C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,CACtB,CAAC;oBACF,MAAM,eAAe,CAAC;wBACpB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,EAAE;wBACR,KAAK,EAAE,WAAW;wBAClB,MAAM,EAAE,OAAO;wBACf,aAAa,EAAE,OAAO;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAErD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,SAAS,EACT,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,QAAQ,CAAC,2BAA2B,EAC3C,MAAM,CAAC,QAAQ,CAAC,gCAAgC,EAChD,MAAM,CAAC,uBAAuB,EAC9B,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,aAAa,EACpB,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAC/B,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEjE,IAAI,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEpF,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;gBACpD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,OAAO,EAAE,IAAI,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC;YACzD,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,YAAY,EAAE,GAAG,EAAE;gBACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC;gBAC9C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBACzC,OAAO;oBACL,IAAI;oBACJ,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ;iBACzD,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,sBAAsB,IAAI,KAAK;YACvE,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3B,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzB,oCAAoC;gBACpC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;oBACnC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;oBACxC,IAAI,CAAC,OAAO;wBAAE,OAAO,OAAO,CAAC;oBAE7B,OAAO;wBACL,GAAG,OAAO;wBACV,eAAe,EAAE;4BACf,GAAG,OAAO;4BACV,aAAa,EAAE,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS;4BACtD,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;4BAC9C,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;4BACjD,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;4BACpD,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;4BACvD,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,sBAAsB,CAAC;4BAChE,YAAY,EACV,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,sBAAsB,CAAC,MAAM;yBAC7D;qBACF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;YACrB,cAAc,EAAE;gBACd,eAAe,EAAE,IAAI,eAAe,EAAE;aACvC;YACD,uBAAuB,EAAE,IAAI,CAAC,4BAA4B,EAAE;YAC5D,iBAAiB,EAAE,IAAI,CAAC,6BAA6B,EAAE;YACvD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE1E,6DAA6D;QAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,aAAa,EAAE,IAAI,CAAC,IAAI,CACtB,MAAM,CAAC,cAAc,EACrB,cAAc,EACd,YAAY,CACb;YACD,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,cAAc;aACvB,oBAAoB,EAAE;aACtB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;oBACvB,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,cAAc,CAAQ,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvD,KAAK,YAAY,CAAgB;oBAC/B,IAAI,EAAE,0BAA0B;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,wDAAwD,KAAK,EAAE,EAC/D,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,MAAM,cAAc,GAAG;YACrB,kBAAkB;YAClB,iCAAiC;YACjC,yBAAyB;YACzB,yBAAyB;YACzB,oBAAoB;YACpB,oBAAoB;YACpB,wBAAwB;YACxB,oBAAoB;YACpB,yBAAyB;YACzB,kBAAkB;YAClB,oBAAoB;YACpB,4BAA4B;YAC5B,uBAAuB;SACxB,CAAC;QACF,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzD,oCAAoC;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAEzC,wEAAwE;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;YACxE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,0CAA0C,EAC1C,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAClE,CAAC;IAEO,SAAS;QACf,sEAAsE;QACtE,kFAAkF;QAClF,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,4BAA4B;QAClC,MAAM,0BAA0B,GAA+B;YAC7D,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,eAAe;YAC9B,aAAa,EAAE,eAAe;YAC9B,cAAc,EAAE,gBAAgB;YAChC,gBAAgB,EAAE,kBAAkB;YACpC,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,OAAO,KAAK,EAAE,UAA2B,EAAE,EAAE;gBAC3C,MAAM,MAAM,GAAG;oBACb,GAAG,IAAI,CAAC,MAAM;oBACd,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;oBACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;oBACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,IAA2C;oBACpD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;oBAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,eAAe,EAAE,IAAI,CAAC,UAAU;oBAChC,WAAW,EAAE,iBAAiB,CAC5B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EACpD,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EACnB,KAAK,CAAC,OAAO,CAAC,SAAS,EACvB,GAAiB,EAAE,CAAC,CAAC;wBACnB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;wBACjC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;wBAC3C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;wBACzC,UAAU,EAAE,IAAI,CAAC,SAAS;wBAC1B,iFAAiF;wBACjF,IAAI,EACF,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;wBAC9D,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;qBAClC,CAAC,CACH;oBACD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;oBACjD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,UAAU,EAAE,IAAI,CAAC,kBAAkB;oBACnC,WAAW,EAAE,IAAI,CAAC,mBAAmB;oBACrC,gBAAgB,EAAE,IAAI,CAAC,wBAAwB;oBAC/C,sBAAsB,EAAE,IAAI,CAAC,uBAAuB;iBACrD,CAAC;gBACF,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAC5C,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CACpE,CACF,CAAC;gBAEF,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;gBAEvC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEtD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC/B,IAAI,CAAC,aAAa,CAAC,UAAU,CAC3B,IAAI,CAAC,QAAQ,EACb,KAAK,CAAC,OAAO,CAAC,YAAY,CAC3B,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;oBAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;gBAChD,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,kCAAkC,IAAI,OAAO,EAAE,eAAe,KAAK,CAAC,IAAI,EAAE,CAC3E,CAAC;gBAEF,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;oBAE1B,uEAAuE;oBACvE,IACE,EAAE,KAAK,eAAe,CAAC,IAAI;wBAC3B,EAAE,KAAK,eAAe,CAAC,YAAY,EACnC,CAAC;wBACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBACtC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,2CAA2C,EAAE,eAAe,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,EACpG,SAAS,CACV,CAAC;oBACF,IACE,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO;wBAC7C,KAAK,CAAC,IAAI,KAAK,aAAa;wBAC5B,KAAK,CAAC,IAAI,KAAK,cAAc,EAC7B,CAAC;wBACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;oBAC7C,CAAC;oBAED,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBAClC,OAAO,KAAK,CAAC,IAAI,CAAC;4BAChB,IAAI,EAAE,cAAc;4BACpB,MAAM,EAAE,iDAAiD;yBAC1D,CAAC,CAAC;oBACL,CAAC;oBAED,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,4DAA4D;QAC5D,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;IAClC,CAAC;IAEO,6BAA6B;QACnC,OAAO,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC,CAAC;gBACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBACpC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;gBACtC,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;aACtC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CAAI,EAC1B,GAAG,EACH,IAAI,GAIL;QACC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,QAAQ,IAAI,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,GAAG,EAAE;gBAC9B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAY;QAC/C,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,yDAAyD,CAC1D,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAGhC;gBACD,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,aAAa;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,sBAAsB,CAAC;gBACtD,MAAM,OAAO,GACX,MAAM,KAAK,eAAe;oBACxB,CAAC,CAAC,iCAAiC;oBACnC,CAAC,CAAC,MAAM,KAAK,kBAAkB;wBAC7B,CAAC,CAAC,oFAAoF;wBACtF,CAAC,CAAC,mDAAmD,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,YAAY,MAAM,GAAG,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,mDAAmD,EACnD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,OAA0B,EAC1B,IAAkB,EAClB,MAAc;QAEd,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;QAEzE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,sCAAsC,EACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/C,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAElC,SAAS,EAAE,CAAC,IAAI,CACd,6CAA6C,EAC7C,OAAO,CAAC,SAAS,IAAI,EAAE,CACxB,CAAC;QAEF,SAAS,EAAE,CAAC,IAAI,CAAC,gDAAgD,EAAE;YACjE,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;YAClD,0BAA0B,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ;YACzD,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ;YACrE,oBAAoB,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI;SACrD,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,SAAS,EAAE,CAAC,IAAI,CAAC,uDAAuD,EAAE;YACxE,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,OAAO;gBACL,GAAG,OAAO;gBACV,QAAQ;gBACR,iBAAiB,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;gBAClD,WAAW,EAAE,iBAAiB,CAC5B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB;gBACD,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,uCAAuC;gBACvC,eAAe,EAAE;oBACf,aAAa,EAAE,CAAC;oBAChB,SAAS,EAAE,CAAC;oBACZ,UAAU,EAAE,CAAC;oBACb,WAAW,EAAE,CAAC;oBACd,YAAY,EAAE,CAAC;oBACf,QAAQ,EAAE,EAAE;oBACZ,YAAY,EAAE,CAAC;oBACf,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC5C;gBACD,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe,EAAE,SAAS;aAC3B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,cAAc,CAAwB,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvE,KAAK,YAAY,CAAiB;YAChC,IAAI,EAAE,gBAAgB;YACtB,OAAO;YACP,IAAI;YACJ,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,OAA6B,EAC7B,IAAkB;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,sCAAsC,EACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAElC,SAAS,EAAE,CAAC,IAAI,CACd,iCAAiC,OAAO,CAAC,QAAQ,MAAM,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAChG,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,CAAC;YAC5D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,eAAe,CACpC,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,YAAY,CACrB,CAAC;YAEF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,KAAK,EAAE,eAAe;iBACvB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CACpE,OAAO,CAAC,MAAmB,CAC5B,CAAC;YAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAC5B,gBAAgB,CACjB,CAAC;YAEF,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,CAAC;gBACrD,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEtE,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE;gBACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YAEH,SAAS,EAAE,CAAC,IAAI,CACd,gCAAgC,gBAAgB,qBAAqB,WAAW,EAAE,MAAM,IAAI,CAAC,EAAE,CAChG,CAAC;YAEF,IAAI,MAAc,CAAC;YACnB,IAAI,OAAO,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBACxC,MAAM,GAAG,6BAA6B,CAAC;oBACrC,IAAI;oBACJ,WAAW;oBACX,gBAAgB,EAAE,mBAAmB,CAAC,IAAI;oBAC1C,gBAAgB,EAAE,cAAc,CAAC,IAAI;iBACtC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,SAAS,GAAkC,OAAO,CAAC,SAAS;gBAChE,CAAC,CAAC;oBACE,GAAG,OAAO,CAAC,SAAS;oBACpB,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,KAAK;iBACvB;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,gBAAgB,CACnD,SAAS,EACT,IAAI,EACJ,oBAAoB,OAAO,CAAC,QAAQ,GAAG,CACxC,CAAC;YAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAEnE,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;YAC9B,SAAS,EAAE,CAAC,IAAI,CAAC,mDAAmD,EAAE;gBACpE,QAAQ;gBACR,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;aACzC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,iBAAiB,CACnC,mBAAmB,EACnB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EACjB,SAAS,EACT,GAAG,EAAE,CAAC,CAAC;gBACL,SAAS,EAAE,QAAQ;gBACnB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACzC,UAAU,EAAE,IAAI,CAAC,SAAS;aAC3B,CAAC,CACH,CAAC;YACF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAElD,SAAS,EAAE,CAAC,IAAI,CACd,mDAAmD,EACnD,IAAI,CAAC,SAAS,CAAC;gBACb,YAAY,EAAE,SAAS,EAAE,QAAQ;gBACjC,mBAAmB;aACpB,CAAC,CACH,CAAC;YAEF,SAAS,EAAE,CAAC,IAAI,CACd,4CAA4C,EAC5C,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CACH,CAAC;YAEF,MAAM,QAAQ,CACZ,qBAAqB,EACrB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,IAAI,EAAE;gBACT,SAAS,EAAE,CAAC,IAAI,CACd,uDAAuD,MAAM,CAAC,MAAM,EAAE,CACvE,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;wBACnD,KAAK;wBACL,QAAQ,EAAE,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC/C,KAAK,EAAE;4BACL,cAAc;4BACd,mBAAmB;yBACpB;wBACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;wBACvC,eAAe;wBACf,OAAO;wBACP,cAAc,EAAE;4BACd,QAAQ,EACL,SAAS,EAAE,QAA+C;gCAC3D,QAAQ;4BACV,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,mBAAmB;yBACnD;wBACD,cAAc,EAAE,SAAS,EAAE,sBAAsB,IAAI,KAAK;qBAC3D,CAAC,CAAC;oBAEH,IAAI,gBAAgB,GAAG,KAAK,CAAC;oBAC7B,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;oBAEzD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAClD,kEAAkE;wBAClE,IACE,KAAK,CAAC,IAAI,KAAK,kBAAkB;4BACjC,KAAK,CAAC,QAAQ,KAAK,mBAAmB,CAAC,IAAI,EAC3C,CAAC;4BACD,gBAAgB,GAAG,IAAI,CAAC;wBAC1B,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;4BAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;4BAE1B,IAAI,CAAC,KAAK;gCAAE,SAAS;4BAErB,KAAK,MAAM,YAAY,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAClD,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;oCACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oCACtB,YAAY,EAAE,OAAO,CAAC,YAAY;oCAClC,KAAK,EAAE,YAAY;oCACnB,UAAU,EAAE,KAAK;iCAClB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,yBAAyB;oBACzB,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;wBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzD,MAAM,UAAU,GACd,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,SAAS,EAAE,CAAC,KAAK,CACf,kCAAkC,QAAQ,YAAY,UAAU,EAAE,CACnE,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,EACD,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAC9B,MAAM,CACP,CAAC;YAEF,SAAS,EAAE,CAAC,IAAI,CACd,8CAA8C,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CACvF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,SAAS,EAAE,CAAC,KAAK,CACf,uCAAuC,YAAY,EAAE,EACrD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YAEF,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,KAAK,EAAE,4BAA4B;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,yBAAyB,CACpC,OAAmC,EACnC,IAAkB;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,SAAS,EAAE,CAAC,IAAI,CACd,2CAA2C,OAAO,CAAC,OAAO,EAAE,CAC7D,CAAC;QAEF,IAAI,CAAC;YACH,wDAAwD;YACxD,IAAI,aAAiC,CAAC;YACtC,IAAI,YAES,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC7C,eAAe,OAAO,CAAC,OAAO,SAAS;iBACxC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvC,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;YAClD,CAAC;YAED,oEAAoE;YACpE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,kBAAkB,GAAG;oBACzB,GAAG,aAAa,CAAC,QAAQ,CACvB,oDAAoD,CACrD;iBACF,CAAC;gBACF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,YAAY,GAAG,kBAAkB;yBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;yBACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACX,GAAG,EAAE,CAAC,CAAC,CAAC,CAAE;wBACV,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAE;wBACf,EAAE,EAAE,CAAC,CAAC,CAAC,CAAE;qBACV,CAAC,CAAC,CAAC;gBACR,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChD,sBAAsB;aACvB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,CAAC,CAAC;YACxB,MAAM,aAAa,GAGd,EAAE,CAAC;YAER,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAC5C,qBAAqB,EACrB,MAAM,CACP,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,0BAA0B,cAAc,QAAQ,CACjD,CAAC;YAEF,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;gBACnC,IAAI,OAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAErC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;wBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC;wBAC1D,aAAa,CAAC,IAAI,CAAC;4BACjB,QAAQ;4BACR,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;yBACpD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,4BAA4B,CAAC;gBAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,aAAa;gBACb,YAAY;gBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,aAAa;aACd,CAAC,CAAC;YAEH,MAAM,SAAS,GAAkC,OAAO,CAAC,SAAS;gBAChE,CAAC,CAAC;oBACE,GAAG,OAAO,CAAC,SAAS;oBACpB,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,KAAK;iBACvB;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,gBAAgB,CACnD,SAAS,EACT,IAAI,EACJ,2BAA2B,OAAO,CAAC,OAAO,GAAG,CAC9C,CAAC;YAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;YAC9B,SAAS,EAAE,CAAC,IAAI,CACd,0DAA0D,EAC1D,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CACvD,CAAC;YAEF,MAAM,WAAW,GAAG,iBAAiB,CACnC,mBAAmB,EACnB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EACjB,SAAS,EACT,GAAG,EAAE,CAAC,CAAC;gBACL,SAAS,EAAE,QAAQ;gBACnB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACzC,UAAU,EAAE,IAAI,CAAC,SAAS;aAC3B,CAAC,CACH,CAAC;YACF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAElD,MAAM,QAAQ,CACZ,2BAA2B,EAC3B,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;wBACnD,KAAK;wBACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;wBACvC,eAAe;wBACf,OAAO;wBACP,cAAc,EAAE;4BACd,QAAQ,EACL,SAAS,EAAE,QAA+C;gCAC3D,QAAQ;4BACV,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,mBAAmB;yBACnD;wBACD,cAAc,EAAE,SAAS,EAAE,sBAAsB,IAAI,KAAK;qBAC3D,CAAC,CAAC;oBAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAClD,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;gCACpC,OAAO,EAAE,OAAO,CAAC,OAAO;gCACxB,KAAK,EAAE,KAAK;6BACb,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;wBACpC,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzD,SAAS,EAAE,CAAC,KAAK,CACf,wDAAwD,QAAQ,EAAE,CACnE,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,EACD,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAC5B,MAAM,CACP,CAAC;YAEF,SAAS,EAAE,CAAC,IAAI,CACd,oDAAoD,OAAO,CAAC,OAAO,EAAE,CACtE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,SAAS,EAAE,CAAC,KAAK,CACf,6CAA6C,YAAY,EAAE,EAC3D,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YAEF,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACpC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,kCAAkC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB,CACjC,OAAgC,EAChC,IAAkB;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,IAAI,aAAiC,CAAC;YACtC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACpE,IAAI,UAAU,EAAE,CAAC;wBACf,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gDAAgD;gBAClD,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG;gBACb,mFAAmF;gBACnF,4KAA4K;gBAC5K,0FAA0F;gBAC1F,4EAA4E;gBAC5E,4EAA4E;gBAC5E,8OAA8O;gBAC9O,2GAA2G;gBAC3G,2IAA2I;gBAC3I,qIAAqI;gBACrI,EAAE;gBACF,oHAAoH;gBACpH,kHAAkH;gBAClH,8HAA8H;gBAC9H,iGAAiG;gBACjG,EAAE;gBACF,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;gBACrD,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC3D,qBAAqB,OAAO,CAAC,QAAQ,EAAE;gBACvC,qBAAqB,OAAO,CAAC,eAAe,EAAE;gBAC9C,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC3D,kBAAkB,OAAO,CAAC,YAAY,EAAE;gBACxC,OAAO,CAAC,KAAK;oBACX,CAAC,CAAC,2BAA2B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBAC1D,CAAC,CAAC,EAAE;gBACN,aAAa;oBACX,CAAC,CAAC,uCAAuC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU;oBAC/E,CAAC,CAAC,EAAE;aACP;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,SAAS,GAAkC,OAAO,CAAC,SAAS;gBAChE,CAAC,CAAC;oBACE,GAAG,OAAO,CAAC,SAAS;oBACpB,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,KAAK;iBACvB;gBACH,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,gBAAgB,CACnD,SAAS,EACT,IAAI,EACJ,oBAAoB,CACrB,CAAC;YAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;YAC9B,SAAS,EAAE,CAAC,IAAI,CAAC,sDAAsD,EAAE;gBACvE,QAAQ;gBACR,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;aACzC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,iBAAiB,CACnC,mBAAmB,EACnB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EACjB,SAAS,EACT,GAAG,EAAE,CAAC,CAAC;gBACL,SAAS,EAAE,QAAQ;gBACnB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBACzC,UAAU,EAAE,IAAI,CAAC,SAAS;aAC3B,CAAC,CACH,CAAC;YACF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAElD,MAAM,QAAQ,CACZ,wBAAwB,EACxB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;wBACnD,KAAK;wBACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;wBACvC,eAAe;wBACf,OAAO;wBACP,cAAc,EAAE;4BACd,QAAQ,EACL,SAAS,EAAE,QAA+C;gCAC3D,QAAQ;4BACV,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,mBAAmB;yBACnD;wBACD,cAAc,EAAE,SAAS,EAAE,sBAAsB,IAAI,KAAK;qBAC3D,CAAC,CAAC;oBAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAClD,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;gCACjC,UAAU,EAAE,OAAO,CAAC,UAAU;gCAC9B,KAAK,EAAE,KAAK;6BACb,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;wBACjC,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,GACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzD,SAAS,EAAE,CAAC,KAAK,CACf,oDAAoD,QAAQ,EAAE,CAC/D,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,EACD,EAAE,EACF,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,SAAS,EAAE,CAAC,KAAK,CACf,yCAAyC,YAAY,EAAE,EACvD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YAEF,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACjC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,KAAK,EAAE,kCAAkC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAAe;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC;QAC5D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACpD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACnD,OAAO,EACP,UAAU,CACX,CAAC;YACF,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAClC,OAAiC;QAEjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC;QAEvB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;YAC/C,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,SAAS;YAC1C,IAAI,EAAE,UAAU,CAAC,IAAI;SACtB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAkC,OAAO,CAAC,SAAS;YAChE,CAAC,CAAC;gBACE,GAAG,OAAO,CAAC,SAAS;gBACpB,mBAAmB,EAAE,KAAK;gBAC1B,eAAe,EAAE,KAAK;aACvB;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAEnE,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,SAAS,EAAE,CAAC,IAAI,CAAC,uDAAuD,EAAE;YACxE,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,iBAAiB,CACnC,mBAAmB,EACnB,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EACjB,SAAS,EACT,GAAG,EAAE,CAAC,CAAC;YACL,SAAS,EAAE,QAAQ;YACnB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YACzC,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B,CAAC,CACH,CAAC;QAEF,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;YACrC,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,uGAAuG,CACxG;YACH,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,+IAA+I,CAChJ;SACJ,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,eAAe,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAE7D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC;gBAC9C,KAAK;gBACL,MAAM,EAAE,qBAAqB;gBAC7B,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,sFAAsF;6BAC7F;4BACD,WAAW;yBACZ;qBACF;iBACF;gBACD,WAAW,EAAE,iBAAiB,CAAC,MAAM;aACtC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE1C,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACxD,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU;aACX,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,UAAsB;QAEtB,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACrC,wCAAwC;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;YAC3C,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC;YAClD,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,SAAS;gBACT,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC;QACJ,CAAC;QAED,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,+BAA+B,CAAC,UAAU,CAErC,CAAC;QACf,CAAC;QAED,MAAM,wBAAwB,GAC5B,+BAA+B,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,wBAAwB,EAAE,CAAC;YAC7B,4DAA4D;YAC5D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ;iBACxD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;iBACtB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;iBACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;iBACvB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzB,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ;iBACxD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;iBACtB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;iBACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;iBACvB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;iBACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,wBAAwB,CAAC,OAAO,eAAe,iBAAiB,eAAe,iBAAiB,OAAO,wBAAwB,CAAC,OAAO,OAAO,wBAAwB,CAAC,OAAO,QAAQ;aACjM,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CACb,gCAAiC,UAAyB,CAAC,IAAI,EAAE,CAClE,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAAC,WAAoB;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,6DAA6D,CAC9D,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACtD,KAAK,EAAE,eAAe;gBACtB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;aAC7C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,sDAAsD,KAAK,EAAE,EAC7D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAC7C,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAClC,IAAkB,EAClB,QAAkB;QAElB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAE9D,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,uDAAuD;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBACvB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAgB,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,KAAK,YAAY,CAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAClC,IAAkB,EAClB,QAAkB;QAElB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAE9D,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,uDAAuD;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBACvB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAgB,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,KAAK,YAAY,CAAoB;YACnC,IAAI,EAAE,mBAAmB;YACzB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;QAE5C,sDAAsD;QACtD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC,CAAC;QAEJ,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,yBAAyB,CACpC,OAA0B,EAC1B,IAAkB,EAClB,MAAc,EACd,IAA2B;QAE3B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,kDAAkD,MAAM,UAAU,IAAI,EAAE,CACzE,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAChC,OAA0B,EAC1B,IAAkB,EAClB,MAAc;QAEd,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC;QAEvE,MAAM,gBAAgB,GAAG;YACvB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;YAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;YACvC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB;SAChE,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,0EAA0E,eAAe,CAAC,MAAM,EAAE,CACnG,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACvB,IAAI;YACJ,MAAM;YACN,GAAG,EAAE,gBAAgB,CAAC,GAAG;YACzB,SAAS,EAAE,gBAAgB,CAAC,SAAS;YACrC,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;YAC7D,eAAe,EAAE,IAAI,eAAe,EAAE;YACtC,eAAe,EAAE,SAAS;YAC1B,6BAA6B,EAAE,IAAI;YACnC,uBAAuB,EAAE,OAAO,CAAC,MAAM;SACxC,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;gBAC1C,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,+LAA+L,OAAO,CAAC,MAAM,EAAE,CAAC;QAEvO,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,oBAAoB;QAChC,MAAM,aAAa,GAAG,KAAK,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,CAAC;QAC3B,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,GAAG,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBACvC,IAAI,OAAO,GAAG,aAAa,EAAE,CAAC;wBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,sCAAsC,OAAO,IAAI,CAClD,CAAC;oBACJ,CAAC;oBACD,OAAO,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAEvC,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,6CAA6C,WAAW,MAAM;wBAC5D,cAAc,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CACnC,CAAC;oBACF,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,aAAa,EAAE,CAAC;oBACvC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,8CAA8C,aAAa,MAAM;wBAC/D,cAAc,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CACnC,CAAC;oBACF,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;gBAED,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAC5C,CAAC,CAAC;YACF,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,SAAiB,EACjB,UAAkB;QAElB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,oDAAoD,SAAS,gBAAgB,UAAU,EAAE,CAC1F,CAAC;QAEF,qCAAqC;QACrC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CACT,2CAA2C,SAAS,mBAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAC7G,CAAC;YACF,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACvB,wBAAwB,EAAE,UAAU;SACrC,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,gBAAgB,GACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB;YACnC,IAAI,GAAG,EAGJ,CAAC;QACN,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACvB,gBAAgB;SACjB,CAAC,CAAC;QAEH,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC3B,IAAI,EAAE,kBAAkB;gBACxB,SAAS;gBACT,UAAU;gBACV,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CACT,0BAA0B,UAAU,2CAA2C,CAChF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,+BAA+B,CAC1C,OAKC,EACD,IAAkB,EAClB,MAAc;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,2DAA2D,OAAO,CAAC,SAAS,cAAc,OAAO,CAAC,QAAQ,EAAE,CAC7G,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,iCAAiC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAClE,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,uEAAuE,OAAO,CAAC,SAAS,EAAE,CAC3F,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CACT,8CAA8C,cAAc,CAAC,SAAS,SAAS,OAAO,CAAC,SAAS,EAAE,CACnG,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,0CAA0C;QAC1C,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC;QAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QACzC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,2CAA2C,UAAU,GAAG,CAAC,CAAC;QAEtE,MAAM,eAAe,GAAG,sBAAsB,CAC5C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,gBAAgB,CACtB,CAAC;QAEF,wDAAwD;QACxD,MAAM,gBAAgB,GAAG;YACvB,IAAI,EAAE,WAAoB;YAC1B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,WAAoB;oBAC1B,UAAU;oBACV,QAAQ;oBACR,KAAK,EAAE,QAAQ;iBAChB;aACF;SACF,CAAC;QAEF,4DAA4D;QAC5D,IAAI,iBAAiB,CAAC;QAEtB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,qCAAqC;YACrC,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/D,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,QAAoB,EACpB,QAAQ,EACR,IAAI,CAAC,KAAK,CACX,CAAC;YACF,MAAM,CAAC,IAAI,CACT,gDAAgD,QAAQ,gBAAgB,UAAU,eAAe,SAAS,EAAE,CAC7G,CAAC;YACF,KAAK,eAAe,CAAC;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAoB;gBAC1B,UAAU;gBACV,IAAI,EAAE,aAAa;gBACnB,SAAS;aACe,CAAC,CAAC;YAC5B,iCAAiC;YACjC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACrD,KAAK,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACrC,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,cAAc,CAC1B,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,iEAAiE;YACjE,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACrB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CACT,6CAA6C,oBAAoB,CAAC,IAAI,EAAE,CACzE,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC5C,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC7B,CAAC;gBAEF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9B,iBAAiB,GAAG;wBAClB,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,aAAsB;gCAC5B,UAAU;gCACV,QAAQ;gCACR,MAAM,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;6BACtD;yBACF;qBACF,CAAC;oBACF,sEAAsE;oBACtE,MAAM,MAAM,GAAG,aAAa,CAAC,QAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChE,KAAK,eAAe,CAAC;wBACnB,IAAI,EAAE,aAAa;wBACnB,UAAU;wBACV,QAAQ;wBACR,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CACT,qBAAqB,QAAQ,sBAAsB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAC1E,CAAC;oBACF,iBAAiB,GAAG;wBAClB,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,aAAsB;gCAC5B,UAAU;gCACV,QAAQ;gCACR,MAAM,EAAE;oCACN,IAAI,EAAE,YAAqB;oCAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;iCACvC;gCACD,OAAO,EAAE,IAAI;6BACd;yBACF;qBACF,CAAC;oBAEF,yEAAyE;oBACzE,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACjD,KAAK,eAAe,CAAC;wBACnB,IAAI,EAAE,YAAY;wBAClB,UAAU;wBACV,QAAQ;wBACR,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;wBAC3B,SAAS;qBACV,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,6CAA6C;gBAC7C,iBAAiB,GAAG;oBAClB,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,YAAqB;4BAC3B,UAAU;4BACV,QAAQ;4BACR,MAAM,EAAE;gCACN,IAAI,EAAE,YAAqB;gCAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;6BAC/B;4BACD,OAAO,EAAE,IAAI;yBACd;qBACF;iBACF,CAAC;gBACF,yEAAyE;gBACzE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC1C,KAAK,eAAe,CAAC;oBACnB,IAAI,EAAE,YAAY;oBAClB,UAAU;oBACV,QAAQ;oBACR,KAAK,EACH,OAAO,YAAY,KAAK,QAAQ;wBAC9B,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;oBAClC,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,IAAI,2CAA2C,CAAC;YAErE,iBAAiB,GAAG;gBAClB,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,aAAsB;wBAC5B,UAAU;wBACV,QAAQ;wBACR,MAAM,EAAE;4BACN,IAAI,EAAE,YAAqB;4BAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,sBAAsB,UAAU,EAAE,EAAE;yBACrD;wBACD,OAAO,EAAE,IAAI;qBACd;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,QAAQ,iDAAiD,CAC/E,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,iBAAiB,CACnC,mBAAmB,EACnB,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,EAClC,SAAS,EACT,SAAS,CACV,CAAC;QACF,MAAM,kBAAkB,GAAG,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAC5D,SAAS,EACT,kBAAkB,EAClB,SAAS,EAAE,gBAAgB,CAC5B,CAAC;QAEF,MAAM,gBAAgB,GAAG;YACvB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE;gBACjB,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC;gBAClB,gBAAgB,EAAE,CAAC;aACpB;YACD,kBAAkB,EAAE;gBAClB,UAAU,EAAE,CAAC;gBACb,eAAe,EAAE,CAAC;aACnB;SACF,CAAC;QAEF,MAAM,OAAO,CAAC,WAAW,CACvB,gBAAgC,EAChC,gBAAgB,CACjB,CAAC;QACF,MAAM,OAAO,CAAC,WAAW,CACvB,iBAAiC,EACjC,gBAAgB,CACjB,CAAC;QAEF,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,qBAAqB,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CACT,4EAA4E,CAC7E,CAAC;YAEF,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAS;gBAC5D,MAAM;gBACN,KAAK,EAAE,IAAI,EAAE,6DAA6D;gBAC1E,mBAAmB,EAAE,IAAI,EAAE,mCAAmC;aAC/D,CAAC,CAAC;YAEH,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT,4EAA4E,CAC7E,CAAC;gBACF,iEAAiE;gBACjE,8CAA8C;gBAC9C,OAAO;YACT,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,wDAAwD;QACxD,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAsB;YACzC,MAAM,EAAE,OAAO,CAAC,QAAQ;gBACtB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,iEAAiE,QAAQ,yBAAyB;YACtG,aAAa,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,EAAE;aACjB;YACD,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE;YACjC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS;YACvC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW;YACpC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc;YACjD,oFAAoF;YACpF,gBAAgB,EAAE;gBAChB,IAAI,EAAE,0BAA0B;gBAChC,mBAAmB,EAAE,OAAO,CAAC,SAAS;gBACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;aACvD;SACF,CAAC;QAEF,MAAM,YAAY,GAAG,cAAc,CAAwB,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,KAAK,YAAY,CAAiB;YAChC,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,eAAe;YACxB,IAAI;YACJ,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEM,mBAAmB,CAAC,IAAkB,EAAE,MAAc;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,8BAA8B,MAAM,oCAAoC,CACzE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,qCAAqC,cAAc,IAAI,SAAS,SAAS,MAAM,EAAE,CAClF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,IAAI;YACJ,MAAM;SACP,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;QAE1D,wDAAwD;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,uDAAuD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CACtG,CAAC;YACF,KAAK,IAAI,CAAC,IAAI,CAAC,oBAAoB,CACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CACvC,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;YACpD,mFAAmF;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;YAChE,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,wEAAwE,OAAO,CAAC,QAAQ,EAAE,CAC3F,CAAC;YACF,oEAAoE;YACpE,mEAAmE;YACnE,sEAAsE;YACtE,KAAK,IAAI,CAAC,IAAI;iBACX,uBAAuB,CAAC;gBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC3C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,SAAS;gBACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;aACvC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,0DAA0D,KAAK,EAAE,CAClE,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,uEAAuE;YACvE,2EAA2E;YAC3E,KAAK,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC9D,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,iEAAiE,EACjE,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,sBAAsB,CAAC,MAAc;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAEhD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,+CAA+C,MAAM,EAAE,CACxD,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,+CAA+C,MAAM,sCAAsC,aAAa,EAAE,CAC3G,CAAC;YACF,OAAO,CAAC,mDAAmD;QAC7D,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,sBAAsB,CAAC,KAAY;QACxC,gEAAgE;QAChE,MAAM,kBAAkB,GAAG;YACzB,GAAG,KAAK,EAAE,qEAAqE;YAC/E,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,6CAA6C,KAAK,CAAC,OAAO,EAAE,CAC7D,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,iBAAiB,EAAE;gBACjB,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;gBACpC,kBAAkB;aACnB;SACF,CAAC,CAAC,CAAC;QAEJ,oEAAoE;QACpE,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAEM,kBAAkB,CAAC,SAA2B;QACnD,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ;QAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAE5C,MAAM,gBAAgB,GAAG;YACvB,GAAG,SAAS;YACZ,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAC5C,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;YACpD,SAAS,EAAE;gBACT,GAAG,SAAS,CAAC,SAAS;gBACtB,cAAc,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc;oBACjD,EAAE,KAAK,CAAC,IAAI,CAAC;qBACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACX,IAAI,CAAC,IAAI,CAAC;aACd;SACyB,CAAC;QAE7B,+DAA+D;QAC/D,MAAM,aAAa,GAAqB;YACtC,GAAG,gBAAgB;YACnB,KAAK,EAAE,YAAY,CAAC,gBAAgB,CAAC;SACtC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,oBAAoB;YACpB,MAAM,aAAa,GAAuB;gBACxC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;gBAChC,aAAa;aACd,CAAC;YAEF,kCAAkC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAEpD,oCAAoC;YACpC,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAE3D,OAAO;gBACL,GAAG,OAAO;gBACV,aAAa,EAAE,UAAU;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAEM,uBAAuB,CAAC,EAAU;QACvC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,aAAa,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAC3B;SACF,CAAC,CAAC,CAAC;QAEJ,+DAA+D;QAC/D,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAEM,gBAAgB,CAAC,QAAyB;QAC/C,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ;QAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAE5C,+EAA+E;QAC/E,MAAM,SAAS,GAAG;YAChB,GAAG,QAAQ;YACX,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3C,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;SACrD,CAAC;QAEF,+DAA+D;QAC/D,MAAM,aAAa,GAAoB;YACrC,GAAG,SAAS;YACZ,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC;SAC/B,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,kBAAkB;YAClB,MAAM,WAAW,GAAsB;gBACrC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;gBAC9B,aAAa;aACd,CAAC;YAEF,kCAAkC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAElD,oCAAoC;YACpC,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAE3D,OAAO;gBACL,GAAG,OAAO;gBACV,WAAW,EAAE,UAAU;aACxB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB,CAAC,KAAa,EAAE,SAAuB;QAC9D,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ;QAC5C,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAE5C,uEAAuE;QACvE,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxD,GAAG,GAAG;YACN,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;SAC1E,CAAC,CAAC,CAAC;QAEJ,MAAM,aAAa,GAAG;YACpB,GAAG,SAAS;YACZ,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC5C,QAAQ,EAAE,eAAe;SAC1B,CAAC;QAEF,MAAM,kBAAkB,GAAG;YACzB,GAAG,aAAa;YAChB,KAAK;YACL,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAC5C,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;SACrD,CAAC;QAEF,+DAA+D;QAC/D,MAAM,cAAc,GAAG;YACrB,GAAG,kBAAkB;YACrB,KAAK,EAAE,YAAY,CAAC,kBAAkB,CAAC;SACxC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,qBAAqB;YACrB,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;YAE1E,kCAAkC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAErD,oCAAoC;YACpC,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAE3D,OAAO;gBACL,GAAG,OAAO;gBACV,aAAa,EAAE,UAAU;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wBAAwB,CAAC,MAAe;QAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YAEjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,cAAc,GAAG,cAAc,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,CAChE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,EAAE,CAAC;YACtB,CAAC;YACD,OAAO;gBACL,GAAG,OAAO;gBACV,aAAa,EAAE,cAAc;aAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,+DAA+D;QAC/D,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAEM,4BAA4B;QACjC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,iBAAiB,EAAE,EAAE;SACtB,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAEtE,oEAAoE;QACpE,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,0BAA0B,CACrC,OAAuE,EACvE,IAAkB;QAElB,KAAK,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc,EAAE,cAAc;YAC9B,QAAQ,EAAE,EAAE,EAAE,yEAAyE;SACxF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,qBAAqB,CAAC,OASlC;QACC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,wDAAwD,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,KAAK,EAAE,CACnG,CAAC;QAEF,8CAA8C;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,iEAAiE,CAAC,CAAC,OAAO,CAAC,GAAG,eAAe,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,EAAE,CACxH,CAAC;QAEF,wEAAwE;QACxE,gFAAgF;QAChF,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAExB,CAAC;QACd,IAAI,UAAkB,CAAC;QACvB,IAAI,eAAuB,CAAC;QAE5B,IAAI,gBAAgB,EAAE,CAAC;YACrB,6BAA6B;YAC7B,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,gBAAgB,CAAC;YAErB,kEAAkE;YAClE,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACxC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,YAAY,CAAC;gBAC1B,eAAe,GAAG,iBAAiB,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,UAAU,GAAG,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,gCAAgC,CACjC,CAAC;YACF,eAAe,GAAG,iBAAiB,CAAC;QACtC,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACrB,0CAA0C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CACnF,CAAC;QAEF,gDAAgD;QAChD,yFAAyF;QACzF,MAAM,gBAAgB,GAAG,iBAAiB,CACxC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,EAC9C,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EACnB,OAAO,CAAC,SAAS,EACjB,SAAS,CACV,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,YAAY;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,6DAA6D;QAC7D,MAAM,gBAAgB,GACpB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC;QAChE,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC;QAE/D,MAAM,gBAAgB,GACpB,gBAAgB,KAAK,SAAS;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB;gBACjC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB;oBAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B;wBACzC,OAAO,CAAC,GAAG,CAAC,wBAAwB;wBACpC,SAAS;oBACX,CAAC,CAAC,SAAS,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,0CACE,gBAAgB,IAAI,8BACtB,uBAAuB,OAAO,CAAC,OAAO,EAAE,iBAAiB,IAAI,MAAM,yBAAyB,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAC9H,CAAC;QACF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,sCAAsC,EACtC,OAAO,CAAC,OAAO,CAChB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CACnD,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb;gBACE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,gBAAgB;gBAChB,gBAAgB;gBAChB,kBAAkB;gBAClB,mBAAmB,EAAE,OAAO,CAAC,OAAO,EAAE,mBAAmB;gBACzD,GAAG,OAAO,CAAC,OAAO;aACnB,CACF,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,qDAAqD,OAAO,CAAC,QAAQ,WAAW,OAAO,CAAC,KAAK,WAAW,MAAM,CAAC,YAAY,YAAY,MAAM,CAAC,MAAM,EAAE,CACvJ,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,yCAAyC,MAAM,CAAC,KAAK,CAAC,EAAE,EACxD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,uBAAuB;YACvB,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACrC,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,MAAkB;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,OAAO;YACV,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC;SACtD,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,mDAAmD,EACnD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC5C,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CACxB,WAAmB,EACnB,SAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CACtB,OAAkC;QAElC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,2CAA2C,OAAO,CAAC,IAAI,EAAE,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC;QAC9D,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ;YAChB,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK;gBAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC5B,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,MAAM;oBAC9B,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,SAAS,CAAC,CAAC;QAEnB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,CAAC,WAAW,GAAG,CAC5D,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,KAAK,KAAK;YAC3B,CAAC,CAAC,eAAe,CAAC,GAAG;YACrB,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,MAAM;gBAC9B,CAAC,CAAC,eAAe,CAAC,IAAI;gBACtB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC;QAEpC,IAAI,aAAiC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACpE,MAAM,SAAS,GAAG,MAAa,CAAC;gBAChC,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;oBACzC,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,WAAW;oBACX,QAAQ;oBACR,UAAU,EAAE,cAAc,CAAC,aAAa;oBACxC,aAAa,EAAE,iBAAiB,CAAC,KAAK;iBACvC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,aAAa;gBACX,OAAO,WAAW,EAAE,EAAE,KAAK,QAAQ;oBACjC,CAAC,CAAC,WAAW,CAAC,EAAE;oBAChB,CAAC,CAAC,OAAO,WAAW,EAAE,IAAI,EAAE,EAAE,KAAK,QAAQ;wBACzC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;wBACrB,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,oDAAoD,EACpD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CACpB,+DAA+D,EAC/D,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YACF,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,IAAI;YACxB,WAAW,EAAE;gBACX,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,KAAK,EAAE,OAAO,CAAC,WAAW;gBAC1B,QAAQ;aACT;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,cAAsB,EACtB,QAAgB,EAChB,aAAqB,EACrB,UAAkB;QAElB,yHAAyH;QACzH,6DAA6D;QAC7D,MAAM,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAEnE,+EAA+E;QAC/E,yFAAyF;QACzF,0FAA0F;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,8EAA8E,CAC/E,CAAC;YACF,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;gBAChD,aAAa;gBACb,QAAQ;gBACR,UAAU;gBACV,SAAS;gBACT,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;gBAC1C,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAClD,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;gBACxB,GAAG;gBACH,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,oFAAoF,QAAQ,uBAAuB,CACpH,CAAC;gBACF,OAAO,CAAC,gCAAgC;YAC1C,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,MAAM,MAAM,GACV,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBAC1B,CAAC,CAAC,mCAAmC;oBACrC,CAAC,CAAC,+BAA+B,CAAC;gBACtC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,mDAAmD,MAAM,iBAAiB,QAAQ,6BAA6B,CAChH,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yDAAyD;YACzD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,4FAA4F,EAC5F,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;QACJ,CAAC;QAED,qDAAqD;QACrD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE;YAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,6DAA6D,cAAc,EAAE,CAC9E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACnB,uEAAuE,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,MAAiB;QAC5C,KAAK,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,KAAK,IAAI,CAAC,gBAAgB,CAAC;gBACzB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI;aAC5C,CAAC,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,oEAAoE;QACpE,sEAAsE;IACxE,CAAC;IAEM,MAAM;QACX,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI;YACzC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,YAAY;YACjD,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,IAAI,CAC1C,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,YAAY,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,YAAY;QACjB,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,aAAa;YAClD,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,aAAa;YAClD,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,cAAc;YACnD,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,gBAAgB,CACtD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,2BAA2B;QACtC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,qCAAqC;YACrC,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,yBAAyB;QAC/B,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,6BAA6B,CAAC;YACpD,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC;YAC/C,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gCAAgC;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,sBAAsB,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpE,OAAO,CACL,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CACxE,CAAC;IACJ,CAAC;IAEM,gBAAgB,CAAC,aAAwC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAEM,oBAAoB,CAAC,iBAAoC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QACjE,kDAAkD;QAClD,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAEM,aAAa,CAAC,MAAqB;QACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,sBAAsB,CAC5B,QAA4B;QAE5B,MAAM,qBAAqB,GAAG,CAAC,QAA+B,EAAE,EAAE;YAChE,uEAAuE;YACvE,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;YAElE,wDAAwD;YACxD,8DAA8D;YAC9D,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC;gBACtC,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,YAAY,GAAiB;gBACjC,SAAS,EAAE,CAAC;gBACZ,GAAG,QAAQ,EAAE,YAAY;aAC1B,CAAC;YAEF,0DAA0D;YAC1D,IAAI,YAAY,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,8EAA8E;QAC9E,oEAAoE;QACpE,MAAM,gBAAgB,GACpB,QAAQ,EAAE,sBAAsB,IAAI,QAAQ,EAAE,QAAQ,KAAK,WAAW;YACpE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ;gBAC/B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,SAAS,CAAC;QAElB,OAAO;YACL,SAAS,EAAE;gBACT,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS;gBACrC,KAAK,EAAE,qBAAqB,CAAC,WAAW,CAAC;aAC1C;YACD,KAAK,EAAE;gBACL,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK;gBACjC,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC;gBACrC,gBAAgB;aACjB;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const content = "# SQL Database Integrations\n\nReference documentation for working with SQL databases in Superblocks APIs.\n\n## Supported Databases\n\n- PostgreSQL, MySQL, MariaDB, MSSQL\n- Snowflake, Redshift, BigQuery, Athena\n- Databricks, SingleStore, Lakebase\n- CockroachDB, YugabyteDB, OracleDB\n\n## SQL Block Classes\n\n```typescript\n// Available SQL integrations\nimport {\n PostgreSQL,\n MySQL,\n MariaDB,\n MSSQL,\n Snowflake,\n Redshift,\n BigQuery,\n Athena,\n Databricks,\n SingleStore,\n OracleDB,\n} from \"@superblocksteam/library\";\n```\n\n## Basic Usage\n\n```typescript\nnew PostgreSQL(\"get_users\", \"postgres-integration-id\", {\n statement: \"SELECT * FROM users WHERE active = true LIMIT 100\",\n});\n```\n\n## Parameterized Queries\n\n### SQL Security Priority\n\n**ALWAYS prefer parameterized queries over string interpolation for user input values.**\n\nUse `parameters: \"[var1, var2]\"` with the database-specific SQL placeholders:\n\n| Database | Placeholder Syntax | Example |\n| ------------------------------------------- | ---------------------- | ------------------------------------------- |\n| PostgreSQL, Redshift, CockroachDB | `$1`, `$2`, `$3` | `WHERE id = $1 AND status = $2` |\n| MySQL, MariaDB, Snowflake, BigQuery, Athena | `?`, `?`, `?` | `WHERE id = ? AND status = ?` |\n| MSSQL | `@PARAM_1`, `@PARAM_2` | `WHERE id = @PARAM_1 AND status = @PARAM_2` |\n| Databricks | `:PARAM_1`, `:PARAM_2` | `WHERE id = :PARAM_1 AND status = :PARAM_2` |\n| OracleDB | `:1`, `:2`, `:3` | `WHERE id = :1 AND status = :2` |\n\nOnly use binding functions for truly dynamic SQL elements like table/column names.\n\n### Parameters Syntax vs Statement Syntax\n\n**Important:** `parameters` is a JavaScript expression string that gets evaluated directly. Do NOT use `${}` interpolation or binding functions.\n\n```typescript\n// \u274C WRONG - Don't use ${} interpolation in parameters\nparameters: \"[${build_query.output.userId}, ${searchTerm}]\";\n\n// \u274C WRONG - Don't use binding functions for parameters\nparameters: ({ build_query }) => JSON.stringify(build_query.output.params);\n\n// \u2705 CORRECT - Write expressions directly (they get evaluated as JS)\nparameters: \"[build_query.output.userId, searchTerm, limit]\";\n\n// \u2705 CORRECT - Reference block output array directly\nparameters: \"build_query.output.params\";\n```\n\nThis is different from `statement`, where binding functions with `${}` ARE used to interpolate values into SQL.\n\n### String Interpolation (Alternative)\n\nFor simpler cases, string interpolation also works:\n\n```typescript\n// \u2705 CORRECT - String interpolation for WHERE clauses\nnew PostgreSQL(\"search\", \"postgres-id\", {\n statement: ({ searchTerm, limit }: { searchTerm: string; limit: number }) =>\n `SELECT * FROM users WHERE name ILIKE '%${searchTerm}%' LIMIT ${limit}`,\n});\n\n// \u2705 CORRECT - For INSERT statements\nnew PostgreSQL(\"insert_user\", \"postgres-id\", {\n statement: ({ name, email }: { name: string; email: string }) =>\n `INSERT INTO users (name, email) VALUES ('${name}', '${email}') RETURNING *`,\n});\n```\n\n### Dynamic SQL with Optional Filters\n\nUse the `parameters` array with the \"OR NULL\" pattern for optional filters:\n\n- `WHERE (column = $1 OR $1::type IS NULL)` makes the condition a no-op when parameter is null\n- Cast parameters to their type when checking for NULL (PostgreSQL can't infer types from NULL values)\n- Always pass all parameters, using null for unused filters\n- NEVER interpolate user values directly into SQL strings\n\n## Best Practices\n\n### 1. ONE Query Per Block Rule\n\nEach SQL block (PostgreSQL, Snowflake, MySQL, MicrosoftSql, Databricks) can execute **ONLY ONE SQL query**.\n\n\u274C **WRONG - Multiple queries in one block:**\n\n```sql\nUPDATE users SET status = 'active';\nDELETE FROM logs WHERE created < '2023-01-01';\nINSERT INTO audit VALUES ('done');\n```\n\n\u2705 **CORRECT - One query per block:**\n\n```typescript\n(new PostgreSQL(\"update_status\", \"postgres-id\", {\n statement: \"UPDATE users SET status = 'active'\",\n}),\n new PostgreSQL(\"clean_logs\", \"postgres-id\", {\n statement: \"DELETE FROM logs WHERE created < '2023-01-01'\",\n }));\n```\n\n### 2. Use Meaningful Block Names\n\n```typescript\n// \u2705 GOOD\nnew PostgreSQL(\"fetch_active_users\", \"pg-id\", { ... })\nnew PostgreSQL(\"insert_order_item\", \"pg-id\", { ... })\n\n// \u274C BAD\nnew PostgreSQL(\"query1\", \"pg-id\", { ... })\nnew PostgreSQL(\"sql\", \"pg-id\", { ... })\n```\n\n### 3. Always Specify Columns\n\n```typescript\n// \u2705 PREFERRED - Explicit columns\nSELECT id, name, email, created_at FROM users\n\n// \u26A0\uFE0F AVOID - Select all\nSELECT * FROM users\n```\n\n### 4. Always Add Defensive Row Limits\n\nAlways include a row limit clause to prevent runaway queries. Use 100 as the default unless user specifies otherwise.\n\nDifferent SQL dialects have different syntax:\n\n- **MySQL/PostgreSQL/SQLite**: `LIMIT N`\n- **SQL Server**: `SELECT TOP N`\n- **ANSI SQL (SQL Server, Oracle, DB2)**: `OFFSET 0 ROWS FETCH NEXT N ROWS ONLY`\n\n```sql\n-- \u2705 PostgreSQL/MySQL\nSELECT * FROM orders ORDER BY created_at DESC LIMIT 100;\n\n-- \u2705 SQL Server\nSELECT TOP 100 * FROM orders ORDER BY created_at DESC;\n\n-- \u2705 ANSI SQL (SQL Server with ORDER BY)\nSELECT * FROM orders ORDER BY created_at DESC OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY;\n\n-- \u274C Avoid unlimited queries\nSELECT * FROM orders ORDER BY created_at DESC; -- Can timeout or crash\n```\n\n### 5. Sort, Don't Filter by Date (Default)\n\nDo NOT add automatic date filters (e.g., \"last 90 days\") unless the user explicitly requests them. This is a common cause of unexpected empty SQL results.\n\n```sql\n-- \u2705 Default approach\nSELECT * FROM orders ORDER BY created_at DESC LIMIT 100;\n\n-- \u274C Avoid automatic filtering\nSELECT * FROM orders WHERE created_at >= CURRENT_DATE - INTERVAL '90 days'; -- Can return empty results\n```\n\nOnly add date WHERE clauses when users explicitly ask for time-based filtering.\n\n### 6. Handle NULL Values\n\n```typescript\n// \u2705 Use COALESCE for default values\nSELECT COALESCE(description, 'No description') as description FROM products\n\n// \u2705 Use IS NULL / IS NOT NULL\nSELECT * FROM users WHERE deleted_at IS NULL\n```\n\n## Database-Specific Notes\n\n### PostgreSQL\n\n```typescript\n// Array operations\nnew PostgreSQL(\"array_query\", \"pg-id\", {\n statement: ({ tags }: { tags: string[] }) =>\n `SELECT * FROM posts WHERE tags && ARRAY[${tags.map((t) => `'${t}'`).join(\",\")}]`,\n});\n\n// JSON operations\nnew PostgreSQL(\"json_query\", \"pg-id\", {\n statement: \"SELECT data->>'name' as name FROM json_data\",\n});\n```\n\n- Use schema-qualified names: `schema.table` or `\"schema\".\"table\"`\n- Case sensitivity: Unquoted identifiers are lowercase\n- Use `::type` for type casting\n\n### Snowflake\n\n```typescript\n// Use QUALIFY for window function filtering\nnew Snowflake(\"ranked_query\", \"snowflake-id\", {\n statement: `\n SELECT *, ROW_NUMBER() OVER (PARTITION BY category ORDER BY sales DESC) as rank\n FROM products\n QUALIFY rank <= 3\n `,\n});\n```\n\n**Snowflake Two-Part Naming:** Snowflake uses `schema.table`\n\nWhen you see Snowflake metadata where tables have a `schema` property, **you MUST qualify table names**:\n\n```sql\n-- If table has schema property \"MASTERDATA\"\nSELECT * FROM MASTERDATA.PRODUCTLINE -- \u2705 Fully qualified\nSELECT * FROM PRODUCTLINE -- \u274C Will fail if no default schema\n```\n\n**Rule**: If a table object has a non-empty `schema` property, use `{schema}.{name}` format in your SQL queries.\n\n### Databricks\n\n**Databricks Three-Part Naming:** Databricks uses `catalog.schema.table`\n\nWhen you see Databricks metadata like:\n\n- `uber.default.orders` - Use the FULL path: `uber.default.orders`\n- `production.analytics.users` - Use: `production.analytics.users`\n\n```sql\n-- Metadata shows: uber.default.orders\nSELECT * FROM uber.default.orders -- \u2705 Full path\nSELECT * FROM uber.orders -- \u274C Missing schema part\nSELECT * FROM orders -- \u274C Missing catalog and schema\n```\n\n**Note:** The word \"default\" in Databricks paths is NOT optional - it's the actual schema name. Always include all three parts exactly as shown in the metadata.\n\n### BigQuery\n\n```typescript\n// Use backticks for table names\nnew BigQuery(\"query\", \"bq-id\", {\n statement: \"SELECT * FROM \\`project.dataset.table\\` LIMIT 100\",\n});\n```\n\n## Common Patterns\n\n### Pagination\n\n```typescript\nnew PostgreSQL(\"paginated_fetch\", \"pg-id\", {\n statement: ({ page, pageSize }: { page: number; pageSize: number }) =>\n `SELECT * FROM orders ORDER BY created_at DESC LIMIT ${pageSize} OFFSET ${(page - 1) * pageSize}`,\n});\n```\n\n### Search with Multiple Conditions\n\n```typescript\nnew PostgreSQL(\"advanced_search\", \"pg-id\", {\n statement: ({\n name,\n status,\n minAmount,\n }: {\n name?: string;\n status?: string;\n minAmount?: number;\n }) => {\n const conditions = [\"1=1\"];\n if (name) conditions.push(`name ILIKE '%${name}%'`);\n if (status) conditions.push(`status = '${status}'`);\n if (minAmount !== undefined) conditions.push(`amount >= ${minAmount}`);\n return `SELECT * FROM orders WHERE ${conditions.join(\" AND \")} LIMIT 100`;\n },\n});\n```\n\n### Batch Insert\n\n```typescript\nnew PostgreSQL(\"batch_insert\", \"pg-id\", {\n statement: ({ items }: { items: Array<{ name: string; value: number }> }) => {\n const values = items\n .map((item) => `('${item.name}', ${item.value})`)\n .join(\", \");\n return `INSERT INTO items (name, value) VALUES ${values} RETURNING *`;\n },\n});\n```\n\n### Upsert (Insert or Update)\n\n```typescript\n// PostgreSQL\nnew PostgreSQL(\"upsert_user\", \"pg-id\", {\n statement: ({\n id,\n name,\n email,\n }: {\n id: string;\n name: string;\n email: string;\n }) =>\n `INSERT INTO users (id, name, email) \n VALUES ('${id}', '${name}', '${email}')\n ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name, email = EXCLUDED.email\n RETURNING *`,\n});\n```\n\n## Error Handling\n\nSQL errors are returned in the block's output. Common errors:\n\n- Syntax errors in SQL\n- Table/column doesn't exist\n- Constraint violations\n- Connection timeouts\n\nFor critical operations, wrap in TryCatch:\n\n```typescript\nnew TryCatch(\"safe_delete\", {\n try: [\n new PostgreSQL(\"delete_record\", \"pg-id\", {\n statement: ({ id }: { id: string }) =>\n `DELETE FROM sensitive_data WHERE id = '${id}'`,\n }),\n ],\n catch: [\n new JavaScript(\"log_error\", {\n fn: ({ deleteError }) => ({\n success: false,\n error: deleteError.value.message,\n }),\n }),\n ],\n variables: { error: \"deleteError\" },\n});\n```\n";
1
+ export declare const content = "# SQL Database Integrations\n\nReference documentation for working with SQL databases in Superblocks APIs.\n\n## Supported Databases\n\n- PostgreSQL, MySQL, MariaDB, MSSQL\n- Snowflake, Redshift, BigQuery, Athena\n- Databricks, SingleStore, Lakebase\n- CockroachDB, YugabyteDB, OracleDB\n\n## SQL Block Classes\n\n```typescript\n// Available SQL integrations\nimport {\n PostgreSQL,\n MySQL,\n MariaDB,\n MSSQL,\n Snowflake,\n Redshift,\n BigQuery,\n Athena,\n Databricks,\n SingleStore,\n OracleDB,\n} from \"@superblocksteam/library\";\n```\n\n## Basic Usage\n\n```typescript\nnew PostgreSQL(\"get_users\", \"postgres-integration-id\", {\n statement: \"SELECT * FROM users WHERE active = true LIMIT 100\",\n});\n```\n\n## Parameterized Queries\n\n### SQL Security Priority\n\n**ALWAYS prefer parameterized queries over string interpolation for user input values.**\n\nUse `parameters: \"[var1, var2]\"` with the database-specific SQL placeholders:\n\n| Database | Placeholder Syntax | Example |\n| ------------------------------------------- | ---------------------- | ------------------------------------------- |\n| PostgreSQL, Redshift, CockroachDB | `$1`, `$2`, `$3` | `WHERE id = $1 AND status = $2` |\n| MySQL, MariaDB, Snowflake, BigQuery, Athena | `?`, `?`, `?` | `WHERE id = ? AND status = ?` |\n| MSSQL | `@PARAM_1`, `@PARAM_2` | `WHERE id = @PARAM_1 AND status = @PARAM_2` |\n| Databricks | `:PARAM_1`, `:PARAM_2` | `WHERE id = :PARAM_1 AND status = :PARAM_2` |\n| OracleDB | `:1`, `:2`, `:3` | `WHERE id = :1 AND status = :2` |\n\nOnly use binding functions for truly dynamic SQL elements like table/column names.\n\n### Parameters Syntax vs Statement Syntax\n\n**Important:** `parameters` is a JavaScript expression string that gets evaluated directly. Do NOT use `${}` interpolation or binding functions.\n\n```typescript\n// \u274C WRONG - Don't use ${} interpolation in parameters\nparameters: \"[${build_query.output.userId}, ${searchTerm}]\";\n\n// \u274C WRONG - Don't use binding functions for parameters\nparameters: ({ build_query }) => JSON.stringify(build_query.output.params);\n\n// \u2705 CORRECT - Write expressions directly (they get evaluated as JS)\nparameters: \"[build_query.output.userId, searchTerm, limit]\";\n\n// \u2705 CORRECT - Reference block output array directly\nparameters: \"build_query.output.params\";\n```\n\nThis is different from `statement`, where binding functions with `${}` ARE used to interpolate values into SQL.\n\n### String Interpolation (Alternative)\n\nFor simpler cases, string interpolation also works:\n\n```typescript\n// \u2705 CORRECT - String interpolation for WHERE clauses\nnew PostgreSQL(\"search\", \"postgres-id\", {\n statement: ({ searchTerm, limit }: { searchTerm: string; limit: number }) =>\n `SELECT * FROM users WHERE name ILIKE '%${searchTerm}%' LIMIT ${limit}`,\n});\n\n// \u2705 CORRECT - For INSERT statements\nnew PostgreSQL(\"insert_user\", \"postgres-id\", {\n statement: ({ name, email }: { name: string; email: string }) =>\n `INSERT INTO users (name, email) VALUES ('${name}', '${email}') RETURNING *`,\n});\n```\n\n### Dynamic SQL with Optional Filters\n\nUse the `parameters` array with the \"OR NULL\" pattern for optional filters:\n\n- `WHERE (column = $1 OR $1::type IS NULL)` makes the condition a no-op when parameter is null\n- Cast parameters to their type when checking for NULL (PostgreSQL can't infer types from NULL values)\n- Always pass all parameters, using null for unused filters\n- NEVER interpolate user values directly into SQL strings\n\n## Best Practices\n\n### 1. ONE Query Per Block Rule\n\nEach SQL block (PostgreSQL, Snowflake, MySQL, MicrosoftSql, Databricks) can execute **ONLY ONE SQL query**.\n\n\u274C **WRONG - Multiple queries in one block:**\n\n```sql\nUPDATE users SET status = 'active';\nDELETE FROM logs WHERE created < '2023-01-01';\nINSERT INTO audit VALUES ('done');\n```\n\n\u2705 **CORRECT - One query per block:**\n\n```typescript\n(new PostgreSQL(\"update_status\", \"postgres-id\", {\n statement: \"UPDATE users SET status = 'active'\",\n}),\n new PostgreSQL(\"clean_logs\", \"postgres-id\", {\n statement: \"DELETE FROM logs WHERE created < '2023-01-01'\",\n }));\n```\n\n### 2. Use Meaningful Block Names\n\n```typescript\n// \u2705 GOOD\nnew PostgreSQL(\"fetch_active_users\", \"pg-id\", { ... })\nnew PostgreSQL(\"insert_order_item\", \"pg-id\", { ... })\n\n// \u274C BAD\nnew PostgreSQL(\"query1\", \"pg-id\", { ... })\nnew PostgreSQL(\"sql\", \"pg-id\", { ... })\n```\n\n### 3. Always Specify Columns\n\n```typescript\n// \u2705 PREFERRED - Explicit columns\nSELECT id, name, email, created_at FROM users\n\n// \u26A0\uFE0F AVOID - Select all\nSELECT * FROM users\n```\n\n### 4. Always Add Defensive Row Limits\n\nAlways include a row limit clause to prevent runaway queries. Use 100 as the default unless user specifies otherwise.\n\nDifferent SQL dialects have different syntax:\n\n- **MySQL/PostgreSQL/SQLite**: `LIMIT N`\n- **SQL Server**: `SELECT TOP N`\n- **ANSI SQL (SQL Server, Oracle, DB2)**: `OFFSET 0 ROWS FETCH NEXT N ROWS ONLY`\n\n```sql\n-- \u2705 PostgreSQL/MySQL\nSELECT * FROM orders ORDER BY created_at DESC LIMIT 100;\n\n-- \u2705 SQL Server\nSELECT TOP 100 * FROM orders ORDER BY created_at DESC;\n\n-- \u2705 ANSI SQL (SQL Server with ORDER BY)\nSELECT * FROM orders ORDER BY created_at DESC OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY;\n\n-- \u274C Avoid unlimited queries\nSELECT * FROM orders ORDER BY created_at DESC; -- Can timeout or crash\n```\n\n### 5. Sort, Don't Filter by Date (Default)\n\nDo NOT add automatic date filters (e.g., \"last 90 days\") unless the user explicitly requests them. This is a common cause of unexpected empty SQL results.\n\n```sql\n-- \u2705 Default approach\nSELECT * FROM orders ORDER BY created_at DESC LIMIT 100;\n\n-- \u274C Avoid automatic filtering\nSELECT * FROM orders WHERE created_at >= CURRENT_DATE - INTERVAL '90 days'; -- Can return empty results\n```\n\nOnly add date WHERE clauses when users explicitly ask for time-based filtering.\n\n### 6. Handle NULL Values\n\n```typescript\n// \u2705 Use COALESCE for default values\nSELECT COALESCE(description, 'No description') as description FROM products\n\n// \u2705 Use IS NULL / IS NOT NULL\nSELECT * FROM users WHERE deleted_at IS NULL\n```\n\n## Database-Specific Notes\n\n### PostgreSQL\n\n```typescript\n// Array operations\nnew PostgreSQL(\"array_query\", \"pg-id\", {\n statement: ({ tags }: { tags: string[] }) =>\n `SELECT * FROM posts WHERE tags && ARRAY[${tags.map((t) => `'${t}'`).join(\",\")}]`,\n});\n\n// JSON operations\nnew PostgreSQL(\"json_query\", \"pg-id\", {\n statement: \"SELECT data->>'name' as name FROM json_data\",\n});\n```\n\n- Use schema-qualified names: `schema.table` or `\"schema\".\"table\"`\n- Case sensitivity: Unquoted identifiers are lowercase\n- Use `::type` for type casting\n\n#### Custom Type Casts (Enums, Composite Types)\n\n**When casting parameters, always use the actual column type \u2014 not `text` or other generic types.**\n\nPostgreSQL columns can use custom types such as enums (`billing_plan_enum`, `order_status_enum`) or composite types. When `grepMetadata` reports a column type that is not a built-in type, you **must** use that exact type in SQL casts. Casting to `text` or `text[]` will fail with an `operator does not exist` error.\n\n**Rule:** Before writing any `::type` cast, check the actual column type via `grepMetadata`. If the column type is a custom type (e.g., `billing_plan_enum`), cast to that type, not `text`.\n\n```sql\n-- grepMetadata shows: billing.plan has type \"billing_plan_enum\"\n\n-- \u2705 CORRECT - Cast to the actual column type\nWHERE bf.plan = ANY($3::billing_plan_enum[])\n\n-- \u274C WRONG - Casting to text[] for an enum column\nWHERE bf.plan = ANY($3::text[])\n-- ERROR: operator does not exist: billing_plan_enum = text\n```\n\nThis applies to all custom types, not just enums:\n\n```sql\n-- Column type is \"order_status_enum\"\nWHERE o.status = ANY($1::order_status_enum[]) -- \u2705\nWHERE o.status = ANY($1::text[]) -- \u274C\n\n-- Column type is \"priority_level\" (custom enum)\nWHERE t.priority = $2::priority_level -- \u2705\nWHERE t.priority = $2::text -- \u274C\n```\n\n**Why this matters:** PostgreSQL does not implicitly cast between custom types and `text`. Even though enum values look like strings and `SELECT DISTINCT` returns them as plain strings, the column's actual type must be used in parameter casts. The `grepMetadata` tool returns the real type name \u2014 always use it.\n\n### Snowflake\n\n```typescript\n// Use QUALIFY for window function filtering\nnew Snowflake(\"ranked_query\", \"snowflake-id\", {\n statement: `\n SELECT *, ROW_NUMBER() OVER (PARTITION BY category ORDER BY sales DESC) as rank\n FROM products\n QUALIFY rank <= 3\n `,\n});\n```\n\n**Snowflake Two-Part Naming:** Snowflake uses `schema.table`\n\nWhen you see Snowflake metadata where tables have a `schema` property, **you MUST qualify table names**:\n\n```sql\n-- If table has schema property \"MASTERDATA\"\nSELECT * FROM MASTERDATA.PRODUCTLINE -- \u2705 Fully qualified\nSELECT * FROM PRODUCTLINE -- \u274C Will fail if no default schema\n```\n\n**Rule**: If a table object has a non-empty `schema` property, use `{schema}.{name}` format in your SQL queries.\n\n### Databricks\n\n**Databricks Three-Part Naming:** Databricks uses `catalog.schema.table`\n\nWhen you see Databricks metadata like:\n\n- `uber.default.orders` - Use the FULL path: `uber.default.orders`\n- `production.analytics.users` - Use: `production.analytics.users`\n\n```sql\n-- Metadata shows: uber.default.orders\nSELECT * FROM uber.default.orders -- \u2705 Full path\nSELECT * FROM uber.orders -- \u274C Missing schema part\nSELECT * FROM orders -- \u274C Missing catalog and schema\n```\n\n**Note:** The word \"default\" in Databricks paths is NOT optional - it's the actual schema name. Always include all three parts exactly as shown in the metadata.\n\n### BigQuery\n\n```typescript\n// Use backticks for table names\nnew BigQuery(\"query\", \"bq-id\", {\n statement: \"SELECT * FROM \\`project.dataset.table\\` LIMIT 100\",\n});\n```\n\n## Common Patterns\n\n### Pagination\n\n```typescript\nnew PostgreSQL(\"paginated_fetch\", \"pg-id\", {\n statement: ({ page, pageSize }: { page: number; pageSize: number }) =>\n `SELECT * FROM orders ORDER BY created_at DESC LIMIT ${pageSize} OFFSET ${(page - 1) * pageSize}`,\n});\n```\n\n### Search with Multiple Conditions\n\n```typescript\nnew PostgreSQL(\"advanced_search\", \"pg-id\", {\n statement: ({\n name,\n status,\n minAmount,\n }: {\n name?: string;\n status?: string;\n minAmount?: number;\n }) => {\n const conditions = [\"1=1\"];\n if (name) conditions.push(`name ILIKE '%${name}%'`);\n if (status) conditions.push(`status = '${status}'`);\n if (minAmount !== undefined) conditions.push(`amount >= ${minAmount}`);\n return `SELECT * FROM orders WHERE ${conditions.join(\" AND \")} LIMIT 100`;\n },\n});\n```\n\n### Batch Insert\n\n```typescript\nnew PostgreSQL(\"batch_insert\", \"pg-id\", {\n statement: ({ items }: { items: Array<{ name: string; value: number }> }) => {\n const values = items\n .map((item) => `('${item.name}', ${item.value})`)\n .join(\", \");\n return `INSERT INTO items (name, value) VALUES ${values} RETURNING *`;\n },\n});\n```\n\n### Upsert (Insert or Update)\n\n```typescript\n// PostgreSQL\nnew PostgreSQL(\"upsert_user\", \"pg-id\", {\n statement: ({\n id,\n name,\n email,\n }: {\n id: string;\n name: string;\n email: string;\n }) =>\n `INSERT INTO users (id, name, email) \n VALUES ('${id}', '${name}', '${email}')\n ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name, email = EXCLUDED.email\n RETURNING *`,\n});\n```\n\n## Error Handling\n\nSQL errors are returned in the block's output. Common errors:\n\n- Syntax errors in SQL\n- Table/column doesn't exist\n- Constraint violations\n- Connection timeouts\n\nFor critical operations, wrap in TryCatch:\n\n```typescript\nnew TryCatch(\"safe_delete\", {\n try: [\n new PostgreSQL(\"delete_record\", \"pg-id\", {\n statement: ({ id }: { id: string }) =>\n `DELETE FROM sensitive_data WHERE id = '${id}'`,\n }),\n ],\n catch: [\n new JavaScript(\"log_error\", {\n fn: ({ deleteError }) => ({\n success: false,\n error: deleteError.value.message,\n }),\n }),\n ],\n variables: { error: \"deleteError\" },\n});\n```\n";
2
2
  //# sourceMappingURL=sql-databases.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-databases.generated.d.ts","sourceRoot":"","sources":["../../../../../../src/ai-service/skills/system/superblocks-api/references/sql-databases.generated.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,+7VAgXnB,CAAC"}
1
+ {"version":3,"file":"sql-databases.generated.d.ts","sourceRoot":"","sources":["../../../../../../src/ai-service/skills/system/superblocks-api/references/sql-databases.generated.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,ynZAiZnB,CAAC"}
@@ -219,6 +219,39 @@ new PostgreSQL("json_query", "pg-id", {
219
219
  - Case sensitivity: Unquoted identifiers are lowercase
220
220
  - Use \`::type\` for type casting
221
221
 
222
+ #### Custom Type Casts (Enums, Composite Types)
223
+
224
+ **When casting parameters, always use the actual column type — not \`text\` or other generic types.**
225
+
226
+ PostgreSQL columns can use custom types such as enums (\`billing_plan_enum\`, \`order_status_enum\`) or composite types. When \`grepMetadata\` reports a column type that is not a built-in type, you **must** use that exact type in SQL casts. Casting to \`text\` or \`text[]\` will fail with an \`operator does not exist\` error.
227
+
228
+ **Rule:** Before writing any \`::type\` cast, check the actual column type via \`grepMetadata\`. If the column type is a custom type (e.g., \`billing_plan_enum\`), cast to that type, not \`text\`.
229
+
230
+ \`\`\`sql
231
+ -- grepMetadata shows: billing.plan has type "billing_plan_enum"
232
+
233
+ -- ✅ CORRECT - Cast to the actual column type
234
+ WHERE bf.plan = ANY($3::billing_plan_enum[])
235
+
236
+ -- ❌ WRONG - Casting to text[] for an enum column
237
+ WHERE bf.plan = ANY($3::text[])
238
+ -- ERROR: operator does not exist: billing_plan_enum = text
239
+ \`\`\`
240
+
241
+ This applies to all custom types, not just enums:
242
+
243
+ \`\`\`sql
244
+ -- Column type is "order_status_enum"
245
+ WHERE o.status = ANY($1::order_status_enum[]) -- ✅
246
+ WHERE o.status = ANY($1::text[]) -- ❌
247
+
248
+ -- Column type is "priority_level" (custom enum)
249
+ WHERE t.priority = $2::priority_level -- ✅
250
+ WHERE t.priority = $2::text -- ❌
251
+ \`\`\`
252
+
253
+ **Why this matters:** PostgreSQL does not implicitly cast between custom types and \`text\`. Even though enum values look like strings and \`SELECT DISTINCT\` returns them as plain strings, the column's actual type must be used in parameter casts. The \`grepMetadata\` tool returns the real type name — always use it.
254
+
222
255
  ### Snowflake
223
256
 
224
257
  \`\`\`typescript
@@ -1 +1 @@
1
- {"version":3,"file":"sql-databases.generated.js","sourceRoot":"","sources":["../../../../../../src/ai-service/skills/system/superblocks-api/references/sql-databases.generated.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,mDAAmD;AAEnD,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgXtB,CAAC"}
1
+ {"version":3,"file":"sql-databases.generated.js","sourceRoot":"","sources":["../../../../../../src/ai-service/skills/system/superblocks-api/references/sql-databases.generated.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,mDAAmD;AAEnD,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiZtB,CAAC"}