@semacode/cli 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/AGENTS.md +272 -0
  2. package/LICENSE +22 -0
  3. package/README.md +2 -2
  4. package/SEMA_BRIEF.curto.txt +9 -0
  5. package/SEMA_BRIEF.md +49 -0
  6. package/SEMA_BRIEF.micro.txt +7 -0
  7. package/SEMA_INDEX.json +546 -0
  8. package/dist/cpp-symbols.d.ts +10 -0
  9. package/dist/cpp-symbols.js.map +1 -0
  10. package/dist/dotnet-http.d.ts +23 -0
  11. package/dist/dotnet-http.js.map +1 -0
  12. package/dist/drift.d.ts +118 -0
  13. package/dist/drift.js.map +1 -0
  14. package/dist/go-http.d.ts +23 -0
  15. package/dist/go-http.js.map +1 -0
  16. package/dist/importador.d.ts +29 -0
  17. package/dist/importador.js.map +1 -0
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/java-http.d.ts +23 -0
  21. package/dist/java-http.js.map +1 -0
  22. package/dist/lua-symbols.d.ts +8 -0
  23. package/dist/lua-symbols.js.map +1 -0
  24. package/dist/projeto.d.ts +48 -0
  25. package/dist/projeto.js.map +1 -0
  26. package/dist/python-http.d.ts +23 -0
  27. package/dist/python-http.js.map +1 -0
  28. package/dist/rust-http.d.ts +23 -0
  29. package/dist/rust-http.js.map +1 -0
  30. package/dist/tipos.d.ts +3 -0
  31. package/dist/tipos.js.map +1 -0
  32. package/dist/typescript-http.d.ts +35 -0
  33. package/dist/typescript-http.js.map +1 -0
  34. package/docs/AGENT_STARTER.md +102 -0
  35. package/docs/como-ensinar-a-sema-para-ia.md +149 -0
  36. package/docs/fluxo-pratico-ia-sema.md +177 -0
  37. package/docs/instalacao-e-primeiro-uso.md +196 -0
  38. package/docs/integracao-com-ia.md +228 -0
  39. package/docs/pagamento-ponta-a-ponta.md +155 -0
  40. package/docs/prompt-base-ia-sema.md +104 -0
  41. package/docs/sintaxe.md +361 -0
  42. package/exemplos/agendamento.sema +106 -0
  43. package/exemplos/assinatura.sema +136 -0
  44. package/exemplos/auditoria.sema +88 -0
  45. package/exemplos/autenticacao.sema +125 -0
  46. package/exemplos/automacao.sema +107 -0
  47. package/exemplos/cadastro_usuario.sema +54 -0
  48. package/exemplos/calculadora.sema +78 -0
  49. package/exemplos/crud_simples.sema +89 -0
  50. package/exemplos/estoque.sema +126 -0
  51. package/exemplos/exportacao.sema +94 -0
  52. package/exemplos/fila.sema +131 -0
  53. package/exemplos/integracao_externa.sema +94 -0
  54. package/exemplos/multi_tenant.sema +140 -0
  55. package/exemplos/notificacao.sema +98 -0
  56. package/exemplos/operacao_estrategia.sema +402 -0
  57. package/exemplos/pagamento.sema +222 -0
  58. package/exemplos/pagamento_dominio.sema +35 -0
  59. package/exemplos/pedido.sema +119 -0
  60. package/exemplos/permissao.sema +121 -0
  61. package/exemplos/relatorio.sema +93 -0
  62. package/exemplos/testes_embutidos.sema +45 -0
  63. package/exemplos/tratamento_erro.sema +157 -0
  64. package/exemplos/upload_arquivo.sema +93 -0
  65. package/exemplos/webhook.sema +96 -0
  66. package/llms-full.txt +34 -0
  67. package/llms.txt +17 -0
  68. package/node_modules/@sema/gerador-css/dist/index.d.ts +3 -0
  69. package/node_modules/@sema/gerador-css/dist/index.js +592 -0
  70. package/node_modules/@sema/gerador-css/dist/index.js.map +1 -0
  71. package/node_modules/@sema/gerador-css/package.json +7 -0
  72. package/node_modules/@sema/gerador-dart/dist/index.d.ts +3 -0
  73. package/node_modules/@sema/gerador-dart/dist/index.js +44 -0
  74. package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -0
  75. package/node_modules/@sema/gerador-dart/package.json +7 -0
  76. package/node_modules/@sema/gerador-html/dist/index.d.ts +3 -0
  77. package/node_modules/@sema/gerador-html/dist/index.js +163 -0
  78. package/node_modules/@sema/gerador-html/dist/index.js.map +1 -0
  79. package/node_modules/@sema/gerador-html/package.json +7 -0
  80. package/node_modules/@sema/gerador-javascript/dist/index.d.ts +3 -0
  81. package/node_modules/@sema/gerador-javascript/dist/index.js +421 -0
  82. package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -0
  83. package/node_modules/@sema/gerador-javascript/package.json +7 -0
  84. package/node_modules/@sema/gerador-lua/dist/index.d.ts +3 -0
  85. package/node_modules/@sema/gerador-lua/dist/index.js +328 -0
  86. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -0
  87. package/node_modules/@sema/gerador-lua/package.json +7 -0
  88. package/node_modules/@sema/gerador-python/dist/index.d.ts +6 -0
  89. package/node_modules/@sema/gerador-python/dist/index.js +628 -0
  90. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -0
  91. package/node_modules/@sema/gerador-python/package.json +7 -0
  92. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +6 -0
  93. package/node_modules/@sema/gerador-typescript/dist/index.js +656 -0
  94. package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -0
  95. package/node_modules/@sema/gerador-typescript/package.json +7 -0
  96. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +122 -0
  97. package/node_modules/@sema/nucleo/dist/ast/tipos.js +2 -0
  98. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +1 -0
  99. package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +21 -0
  100. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +12 -0
  101. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +1 -0
  102. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +9 -0
  103. package/node_modules/@sema/nucleo/dist/formatador/index.js +445 -0
  104. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -0
  105. package/node_modules/@sema/nucleo/dist/index.d.ts +34 -0
  106. package/node_modules/@sema/nucleo/dist/index.js +95 -0
  107. package/node_modules/@sema/nucleo/dist/index.js.map +1 -0
  108. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +5 -0
  109. package/node_modules/@sema/nucleo/dist/ir/conversor.js +781 -0
  110. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -0
  111. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +285 -0
  112. package/node_modules/@sema/nucleo/dist/ir/modelos.js +2 -0
  113. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +1 -0
  114. package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +7 -0
  115. package/node_modules/@sema/nucleo/dist/lexer/lexer.js +122 -0
  116. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +1 -0
  117. package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +8 -0
  118. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +46 -0
  119. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -0
  120. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +9 -0
  121. package/node_modules/@sema/nucleo/dist/parser/parser.js +656 -0
  122. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -0
  123. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +57 -0
  124. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1497 -0
  125. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -0
  126. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +104 -0
  127. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +445 -0
  128. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -0
  129. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +91 -0
  130. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +258 -0
  131. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +1 -0
  132. package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +2 -0
  133. package/node_modules/@sema/nucleo/dist/util/arquivos.js +25 -0
  134. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +1 -0
  135. package/node_modules/@sema/nucleo/package.json +7 -0
  136. package/node_modules/@sema/padroes/dist/index.d.ts +23 -0
  137. package/node_modules/@sema/padroes/dist/index.js +210 -0
  138. package/node_modules/@sema/padroes/dist/index.js.map +1 -0
  139. package/node_modules/@sema/padroes/package.json +7 -0
  140. package/package.json +33 -21
  141. package/src/cpp-symbols.ts +0 -82
  142. package/src/dotnet-http.ts +0 -355
  143. package/src/drift.ts +0 -2455
  144. package/src/go-http.ts +0 -118
  145. package/src/importador.ts +0 -3448
  146. package/src/index.ts +0 -4470
  147. package/src/java-http.ts +0 -247
  148. package/src/projeto.ts +0 -810
  149. package/src/python-http.ts +0 -258
  150. package/src/rust-http.ts +0 -125
  151. package/src/tipos.ts +0 -22
  152. package/src/typescript-http.ts +0 -1076
  153. package/tsconfig.json +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAGjB,MAAM,0BAA0B,CAAC;AA4DlC,MAAM,MAAM;IAI0B;IAH5B,MAAM,GAAG,CAAC,CAAC;IACX,YAAY,GAAkB,EAAE,CAAC;IAEzC,YAAoC,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEhD,QAAQ;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IACrD,CAAC;IAEO,KAAK;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;IACnC,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAE,CAAC;IACpD,CAAC;IAEO,OAAO;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,YAAY;QAClB,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,SAAS,GAAG,CAAC;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,CAAC;IAEO,kBAAkB,CAAC,OAAe;QACxC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,KAAK,GAAG,CAAC;IAC7C,CAAC;IAEO,6BAA6B,CAAC,OAAe;QACnD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,CAAC;IAChG,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,KAAK,GAAG;eACrC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC;IAChG,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;QAED,OAAO;YACL,MAAM;YACN,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,aAAa;YACb,OAAO;YACP,QAAQ;YACR,OAAO;YACP,SAAS;YACT,MAAM;YACN,UAAU;YACV,UAAU;YACV,MAAM;YACN,OAAO;YACP,OAAO;YACP,OAAO;YACP,UAAU;YACV,WAAW;YACX,YAAY;YACZ,OAAO;YACP,OAAO;YACP,OAAO;YACP,MAAM;YACN,QAAQ;SACT,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,QAAgB;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,aAAa,KAAK,gBAAgB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC3G,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,YAAY,CAAC,IAAmB,EAAE,QAAgB;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,2BAA2B,IAAI,IAAI,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,QAAgB,EAAE,SAA0B,EAAE,QAAiB;QACnG,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,gBAAgB,CACd,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,EACT,sDAAsD,EACtD,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,iDAAiD,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;YACxG,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC,KAAK,CAAC;QACxF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,QAAsC,CAAC;QAC3C,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,IAAI,IAAkC,CAAC;QACvC,IAAI,QAAsC,CAAC;QAC3C,IAAI,KAAmC,CAAC;QAExC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM;YACR,CAAC;YAED,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;gBACpB,KAAK,KAAK;oBACR,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;wBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC3B,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBACvC,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;wBACxC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;wBAC/C,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;wBACxC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;wBAC/C,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;wBAC7B,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;wBAClC,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;wBAC7B,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;wBAC7B,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;wBAC7B,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;wBAC/B,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAChD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAChD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC5C,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC5C,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC;wBAClD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;wBAClD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC9C,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC;wBAClD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;wBAClD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACjD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;wBAC/B,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACrC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;wBACzC,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;gBACR;oBACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACrD,MAAM;YACV,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,2CAA2C,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAE/F,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,KAAK;YACL,KAAK;YACL,KAAK;YACL,MAAM;YACN,OAAO;YACP,OAAO;YACP,KAAK;YACL,KAAK;YACL,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,MAAM;YACN,KAAK;YACL,MAAM;YACN,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;SAC3B,CAAC;IACJ,CAAC;IAEO,QAAQ;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QACtF,IAAI,MAAM,GAAqB,MAAM,CAAC;QACtC,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC;QAE7B,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,iBAAiB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC/D,MAAM,GAAG,iBAAiB,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QACjC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;IACtE,CAAC;IAEO,SAAS;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,KAAK,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;IAC1H,CAAC;IAEO,WAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC,KAAK,CAAC;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;IAC5H,CAAC;IAEO,SAAS;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,KAAK,CAAC;QACtF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,IAAkC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC/B,MAAM;YACR,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAClC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;IAC3E,CAAC;IAEO,SAAS;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,KAAK,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,CAAC,YAA0B,EAAgC,EAAE,CAC7E,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;QAElI,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI;YACJ,KAAK;YACL,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC3B,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC;YAC/B,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC;YAC/B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC;YAC/B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC;YACjC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC;YACnC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC;YAC/B,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;SAClF,CAAC;IACJ,CAAC;IAEO,SAAS;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,KAAK,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC;QAC/I,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;IACpI,CAAC;IAEO,UAAU;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC,KAAK,CAAC;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC;QAC/I,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;IACrI,CAAC;IAEO,UAAU;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,IAAwB,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChF,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI;YACJ,KAAK;YACL,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;SAChH,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,SAAiB;QACjD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,8BAA8B,SAAS,GAAG,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,eAAe,CAAC,SAAyE,CAAC,CAAC;IACzG,CAAC;IAEO,kBAAkB,CAAC,YAA2C;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,IAAwB,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,8BAA8B,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,YAAY,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAqC,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9K,CAAC;IAEO,sBAAsB;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,8BAA8B,IAAI,GAAG,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClF,CAAC;IAEO,eAAe,CACrB,YAA8C,EAC9C,IAAa,EACb,YAAuC;QAEvC,MAAM,MAAM,GAAG,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAChE,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC/B,MAAM;YACR,CAAC;YAED,IAAI,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAqB,CAAC,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QACxF,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,YAAY;YACZ,IAAI;YACJ,MAAM;YACN,MAAM;YACN,MAAM;YACN,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;SAC3B,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,2CAA2C,CAAC,CAAC;QACrE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YAC/G,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,gBAAgB,IAAI,CAAC,CAAC;oBACtB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;oBACrD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,MAAM,iBAAiB,GACrB,gBAAgB,KAAK,CAAC;uBACnB,UAAU,CAAC,MAAM,GAAG,CAAC;uBACrB,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE1C,IAAI,iBAAiB,EAAE,CAAC;oBACtB,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,KAAK,GAAG,UAAU;aACnB,IAAI,CAAC,GAAG,CAAC;aACT,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC;aACvC,IAAI,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI;YACJ,KAAK;YACL,aAAa;YACb,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;SAC1D,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YAC/G,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,mBAA4B;YAClC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;YACjC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;SAC1D,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,GACR,SAAS,CAAC,IAAI,KAAK,OAAO;YACxB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK;YACtB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,+CAA+C,CAAC,CAAC,KAAK,CAAC;QAChG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,8CAA8C,CAAC,CAAC;QACxE,IAAI,KAAmC,CAAC;QACxC,IAAI,IAAkC,CAAC;QACvC,IAAI,MAAoC,CAAC;QACzC,IAAI,KAAmC,CAAC;QACxC,IAAI,IAAkC,CAAC;QACvC,IAAI,QAAsC,CAAC;QAE3C,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC/B,MAAM;YACR,CAAC;YACD,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,OAAO;oBACV,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,OAAO;oBACV,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAC/C,MAAM;gBACR;oBACE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM;YACV,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;QAC1F,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,MAAM;YACN,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;SAC3B,CAAC;IACJ,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC;QACV,KAAK,YAAY;YACf,OAAO,IAAI,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACP,OAAO,MAAM,CAAC;QAChB,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAe;IACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { type Diagnostico } from "../diagnosticos/index.js";
2
+ import type { ModuloAst } from "../ast/tipos.js";
3
+ export interface SimboloSemantico {
4
+ nome: string;
5
+ categoria: "tipo" | "entity" | "enum" | "task" | "flow" | "route" | "state" | "worker" | "evento" | "fila" | "cron" | "webhook" | "cache" | "storage" | "policy";
6
+ }
7
+ export interface CampoSemantico {
8
+ nome: string;
9
+ tipo: string;
10
+ modificadores: string[];
11
+ }
12
+ export interface ErroSemanticoTask {
13
+ codigo: string;
14
+ mensagem: string;
15
+ categoria?: string;
16
+ recuperabilidade?: string;
17
+ acaoChamador?: string;
18
+ impactaEstado?: boolean;
19
+ requerCompensacao?: boolean;
20
+ }
21
+ export interface ResumoTaskSemantico {
22
+ input: CampoSemantico[];
23
+ output: CampoSemantico[];
24
+ errors: ErroSemanticoTask[];
25
+ guarantees: string[];
26
+ implementacoes: ImplementacaoTaskSemantica[];
27
+ }
28
+ export interface InteropSemantico {
29
+ origem: "ts" | "py" | "dart" | "cs" | "java" | "go" | "rust" | "cpp";
30
+ caminho: string;
31
+ }
32
+ export interface ImplementacaoTaskSemantica {
33
+ origem: "ts" | "py" | "dart" | "cs" | "java" | "go" | "rust" | "cpp";
34
+ caminho: string;
35
+ }
36
+ export interface ContextoSemantico {
37
+ modulo: string;
38
+ simbolos: Map<string, SimboloSemantico>;
39
+ tiposConhecidos: Set<string>;
40
+ tasksConhecidas: Set<string>;
41
+ tarefasDetalhadas: Map<string, ResumoTaskSemantico>;
42
+ statesConhecidos: Map<string, {
43
+ transicoes: Set<string>;
44
+ }>;
45
+ modulosImportados: string[];
46
+ interoperabilidades: InteropSemantico[];
47
+ enumsConhecidos: Map<string, Set<string>>;
48
+ }
49
+ export interface ResultadoSemantico {
50
+ contexto: ContextoSemantico;
51
+ diagnosticos: Diagnostico[];
52
+ }
53
+ export interface OpcoesAnaliseSemantica {
54
+ contextosModulos?: Map<string, ContextoSemantico>;
55
+ }
56
+ export declare function criarContextoLocal(modulo: ModuloAst): ContextoSemantico;
57
+ export declare function analisarSemantica(modulo: ModuloAst, opcoes?: OpcoesAnaliseSemantica): ResultadoSemantico;