@warlock.js/cascade 4.0.92 → 4.0.93

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 (269) hide show
  1. package/cjs/contracts/database-driver.contract.d.ts +118 -0
  2. package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
  3. package/cjs/contracts/migration-driver.contract.d.ts +14 -0
  4. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
  5. package/cjs/contracts/query-builder.contract.d.ts +410 -1
  6. package/cjs/contracts/query-builder.contract.d.ts.map +1 -1
  7. package/cjs/data-source/data-source-registry.d.ts +4 -0
  8. package/cjs/data-source/data-source-registry.d.ts.map +1 -1
  9. package/cjs/data-source/data-source-registry.js +7 -0
  10. package/cjs/data-source/data-source-registry.js.map +1 -1
  11. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  12. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  13. package/{esm/drivers/mongo → cjs/drivers/mongodb}/mongodb-driver.d.ts +49 -0
  14. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  15. package/cjs/drivers/{mongo → mongodb}/mongodb-driver.js +125 -8
  16. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -0
  17. package/cjs/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
  18. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  19. package/cjs/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
  20. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  21. package/cjs/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
  22. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  23. package/cjs/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
  24. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  25. package/cjs/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
  26. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  27. package/cjs/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +220 -14
  28. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  29. package/{esm/drivers/mongo/mongo-query-operations.d.ts → cjs/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
  30. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  31. package/cjs/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
  32. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  33. package/cjs/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
  34. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  35. package/cjs/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
  36. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  37. package/cjs/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
  38. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  39. package/cjs/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
  40. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  41. package/{esm/drivers/mongo → cjs/drivers/mongodb}/types.d.ts +2 -2
  42. package/cjs/drivers/mongodb/types.d.ts.map +1 -0
  43. package/cjs/drivers/postgres/index.d.ts +16 -0
  44. package/cjs/drivers/postgres/index.d.ts.map +1 -0
  45. package/cjs/drivers/postgres/postgres-blueprint.d.ts +64 -0
  46. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  47. package/cjs/drivers/postgres/postgres-blueprint.js +121 -0
  48. package/cjs/drivers/postgres/postgres-blueprint.js.map +1 -0
  49. package/cjs/drivers/postgres/postgres-dialect.d.ts +135 -0
  50. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  51. package/cjs/drivers/postgres/postgres-dialect.js +245 -0
  52. package/cjs/drivers/postgres/postgres-dialect.js.map +1 -0
  53. package/cjs/drivers/postgres/postgres-driver.d.ts +360 -0
  54. package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -0
  55. package/cjs/drivers/postgres/postgres-driver.js +763 -0
  56. package/cjs/drivers/postgres/postgres-driver.js.map +1 -0
  57. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +297 -0
  58. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  59. package/cjs/drivers/postgres/postgres-migration-driver.js +578 -0
  60. package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -0
  61. package/cjs/drivers/postgres/postgres-query-builder.d.ts +824 -0
  62. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  63. package/cjs/drivers/postgres/postgres-query-builder.js +1800 -0
  64. package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -0
  65. package/cjs/drivers/postgres/postgres-query-parser.d.ts +308 -0
  66. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  67. package/cjs/drivers/postgres/postgres-query-parser.js +706 -0
  68. package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -0
  69. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  70. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  71. package/cjs/drivers/postgres/postgres-sync-adapter.js +197 -0
  72. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  73. package/cjs/drivers/postgres/types.d.ts +142 -0
  74. package/cjs/drivers/postgres/types.d.ts.map +1 -0
  75. package/cjs/drivers/sql/index.d.ts +10 -0
  76. package/cjs/drivers/sql/index.d.ts.map +1 -0
  77. package/cjs/drivers/sql/sql-dialect.contract.d.ts +203 -0
  78. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  79. package/cjs/drivers/sql/sql-types.d.ts +202 -0
  80. package/cjs/drivers/sql/sql-types.d.ts.map +1 -0
  81. package/cjs/index.d.ts +9 -6
  82. package/cjs/index.d.ts.map +1 -1
  83. package/cjs/index.js +1 -1
  84. package/cjs/migration/migration-runner.d.ts.map +1 -1
  85. package/cjs/migration/migration-runner.js +3 -0
  86. package/cjs/migration/migration-runner.js.map +1 -1
  87. package/cjs/model/model.d.ts +236 -1
  88. package/cjs/model/model.d.ts.map +1 -1
  89. package/cjs/model/model.js +203 -4
  90. package/cjs/model/model.js.map +1 -1
  91. package/cjs/relations/helpers.d.ts +156 -0
  92. package/cjs/relations/helpers.d.ts.map +1 -0
  93. package/cjs/relations/helpers.js +197 -0
  94. package/cjs/relations/helpers.js.map +1 -0
  95. package/cjs/relations/index.d.ts +33 -0
  96. package/cjs/relations/index.d.ts.map +1 -0
  97. package/cjs/relations/pivot-operations.d.ts +160 -0
  98. package/cjs/relations/pivot-operations.d.ts.map +1 -0
  99. package/cjs/relations/pivot-operations.js +293 -0
  100. package/cjs/relations/pivot-operations.js.map +1 -0
  101. package/cjs/relations/relation-loader.d.ts +194 -0
  102. package/cjs/relations/relation-loader.d.ts.map +1 -0
  103. package/cjs/relations/relation-loader.js +466 -0
  104. package/cjs/relations/relation-loader.js.map +1 -0
  105. package/cjs/relations/types.d.ts +280 -0
  106. package/cjs/relations/types.d.ts.map +1 -0
  107. package/cjs/sync/model-sync-operation.js +1 -1
  108. package/cjs/sync/model-sync-operation.js.map +1 -1
  109. package/cjs/utils/connect-to-database.d.ts.map +1 -1
  110. package/cjs/utils/connect-to-database.js +15 -3
  111. package/cjs/utils/connect-to-database.js.map +1 -1
  112. package/cjs/utils/define-model.d.ts +51 -29
  113. package/cjs/utils/define-model.d.ts.map +1 -1
  114. package/cjs/validation/rules/database-model-rule.js +1 -1
  115. package/cjs/validation/rules/database-model-rule.js.map +1 -1
  116. package/esm/contracts/database-driver.contract.d.ts +118 -0
  117. package/esm/contracts/database-driver.contract.d.ts.map +1 -1
  118. package/esm/contracts/migration-driver.contract.d.ts +14 -0
  119. package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
  120. package/esm/contracts/query-builder.contract.d.ts +410 -1
  121. package/esm/contracts/query-builder.contract.d.ts.map +1 -1
  122. package/esm/data-source/data-source-registry.d.ts +4 -0
  123. package/esm/data-source/data-source-registry.d.ts.map +1 -1
  124. package/esm/data-source/data-source-registry.js +7 -0
  125. package/esm/data-source/data-source-registry.js.map +1 -1
  126. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  127. package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  128. package/{cjs/drivers/mongo → esm/drivers/mongodb}/mongodb-driver.d.ts +49 -0
  129. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  130. package/esm/drivers/{mongo → mongodb}/mongodb-driver.js +121 -4
  131. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
  132. package/esm/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
  133. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  134. package/esm/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
  135. package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  136. package/esm/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
  137. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  138. package/esm/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
  139. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  140. package/esm/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
  141. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  142. package/esm/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +218 -12
  143. package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  144. package/{cjs/drivers/mongo/mongo-query-operations.d.ts → esm/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
  145. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  146. package/esm/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
  147. package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  148. package/esm/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
  149. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  150. package/esm/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
  151. package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  152. package/esm/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
  153. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  154. package/esm/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
  155. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  156. package/{cjs/drivers/mongo → esm/drivers/mongodb}/types.d.ts +2 -2
  157. package/esm/drivers/mongodb/types.d.ts.map +1 -0
  158. package/esm/drivers/postgres/index.d.ts +16 -0
  159. package/esm/drivers/postgres/index.d.ts.map +1 -0
  160. package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
  161. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  162. package/esm/drivers/postgres/postgres-blueprint.js +121 -0
  163. package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
  164. package/esm/drivers/postgres/postgres-dialect.d.ts +135 -0
  165. package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  166. package/esm/drivers/postgres/postgres-dialect.js +245 -0
  167. package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
  168. package/esm/drivers/postgres/postgres-driver.d.ts +360 -0
  169. package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
  170. package/esm/drivers/postgres/postgres-driver.js +763 -0
  171. package/esm/drivers/postgres/postgres-driver.js.map +1 -0
  172. package/esm/drivers/postgres/postgres-migration-driver.d.ts +297 -0
  173. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  174. package/esm/drivers/postgres/postgres-migration-driver.js +578 -0
  175. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
  176. package/esm/drivers/postgres/postgres-query-builder.d.ts +824 -0
  177. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  178. package/esm/drivers/postgres/postgres-query-builder.js +1800 -0
  179. package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
  180. package/esm/drivers/postgres/postgres-query-parser.d.ts +308 -0
  181. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  182. package/esm/drivers/postgres/postgres-query-parser.js +706 -0
  183. package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
  184. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  185. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  186. package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
  187. package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  188. package/esm/drivers/postgres/types.d.ts +142 -0
  189. package/esm/drivers/postgres/types.d.ts.map +1 -0
  190. package/esm/drivers/sql/index.d.ts +10 -0
  191. package/esm/drivers/sql/index.d.ts.map +1 -0
  192. package/esm/drivers/sql/sql-dialect.contract.d.ts +203 -0
  193. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  194. package/esm/drivers/sql/sql-types.d.ts +202 -0
  195. package/esm/drivers/sql/sql-types.d.ts.map +1 -0
  196. package/esm/index.d.ts +9 -6
  197. package/esm/index.d.ts.map +1 -1
  198. package/esm/index.js +1 -1
  199. package/esm/migration/migration-runner.d.ts.map +1 -1
  200. package/esm/migration/migration-runner.js +3 -0
  201. package/esm/migration/migration-runner.js.map +1 -1
  202. package/esm/model/model.d.ts +236 -1
  203. package/esm/model/model.d.ts.map +1 -1
  204. package/esm/model/model.js +203 -4
  205. package/esm/model/model.js.map +1 -1
  206. package/esm/relations/helpers.d.ts +156 -0
  207. package/esm/relations/helpers.d.ts.map +1 -0
  208. package/esm/relations/helpers.js +197 -0
  209. package/esm/relations/helpers.js.map +1 -0
  210. package/esm/relations/index.d.ts +33 -0
  211. package/esm/relations/index.d.ts.map +1 -0
  212. package/esm/relations/pivot-operations.d.ts +160 -0
  213. package/esm/relations/pivot-operations.d.ts.map +1 -0
  214. package/esm/relations/pivot-operations.js +293 -0
  215. package/esm/relations/pivot-operations.js.map +1 -0
  216. package/esm/relations/relation-loader.d.ts +194 -0
  217. package/esm/relations/relation-loader.d.ts.map +1 -0
  218. package/esm/relations/relation-loader.js +466 -0
  219. package/esm/relations/relation-loader.js.map +1 -0
  220. package/esm/relations/types.d.ts +280 -0
  221. package/esm/relations/types.d.ts.map +1 -0
  222. package/esm/sync/model-sync-operation.js +1 -1
  223. package/esm/sync/model-sync-operation.js.map +1 -1
  224. package/esm/utils/connect-to-database.d.ts.map +1 -1
  225. package/esm/utils/connect-to-database.js +15 -3
  226. package/esm/utils/connect-to-database.js.map +1 -1
  227. package/esm/utils/define-model.d.ts +51 -29
  228. package/esm/utils/define-model.d.ts.map +1 -1
  229. package/esm/validation/rules/database-model-rule.js +1 -1
  230. package/esm/validation/rules/database-model-rule.js.map +1 -1
  231. package/package.json +4 -4
  232. package/cjs/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
  233. package/cjs/drivers/mongo/mongo-id-generator.js.map +0 -1
  234. package/cjs/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
  235. package/cjs/drivers/mongo/mongo-migration-driver.js.map +0 -1
  236. package/cjs/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
  237. package/cjs/drivers/mongo/mongo-query-builder.js.map +0 -1
  238. package/cjs/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
  239. package/cjs/drivers/mongo/mongo-query-operations.js.map +0 -1
  240. package/cjs/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
  241. package/cjs/drivers/mongo/mongo-query-parser.js.map +0 -1
  242. package/cjs/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
  243. package/cjs/drivers/mongo/mongo-sync-adapter.js.map +0 -1
  244. package/cjs/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
  245. package/cjs/drivers/mongo/mongodb-blueprint.js.map +0 -1
  246. package/cjs/drivers/mongo/mongodb-driver.d.ts.map +0 -1
  247. package/cjs/drivers/mongo/mongodb-driver.js.map +0 -1
  248. package/cjs/drivers/mongo/types.d.ts.map +0 -1
  249. package/esm/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
  250. package/esm/drivers/mongo/mongo-id-generator.js.map +0 -1
  251. package/esm/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
  252. package/esm/drivers/mongo/mongo-migration-driver.js.map +0 -1
  253. package/esm/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
  254. package/esm/drivers/mongo/mongo-query-builder.js.map +0 -1
  255. package/esm/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
  256. package/esm/drivers/mongo/mongo-query-operations.js.map +0 -1
  257. package/esm/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
  258. package/esm/drivers/mongo/mongo-query-parser.js.map +0 -1
  259. package/esm/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
  260. package/esm/drivers/mongo/mongo-sync-adapter.js.map +0 -1
  261. package/esm/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
  262. package/esm/drivers/mongo/mongodb-blueprint.js.map +0 -1
  263. package/esm/drivers/mongo/mongodb-driver.d.ts.map +0 -1
  264. package/esm/drivers/mongo/mongodb-driver.js.map +0 -1
  265. package/esm/drivers/mongo/types.d.ts.map +0 -1
  266. /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
  267. /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
  268. /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
  269. /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-query-builder.js","sources":["../../../src/drivers/postgres/postgres-query-builder.ts"],"sourcesContent":[null],"names":["dataSourceRegistry","PostgresQueryParser","getModelFromRegistry"],"mappings":"0MAAA;;;;;;;;AAQG;AA0BH;;;;;;;;;;;;;;;;;AAiBG;MACU,oBAAoB,CAAA;AA0Db,IAAA,KAAA,CAAA;AAzDlB;;AAEG;IACI,UAAU,GAA8B,EAAE,CAAC;AAElD;;AAEG;AACa,IAAA,UAAU,CAAa;AAEvC;;AAEG;AACI,IAAA,eAAe,CAA6C;AAEnE;;AAEG;AACK,IAAA,gBAAgB,CAAyC;AAEjE;;AAEG;AACK,IAAA,iBAAiB,CAAkE;AAE3F;;AAEG;AACK,IAAA,eAAe,CAAkE;AAEzF;;AAEG;AACI,IAAA,mBAAmB,CAAsC;AAEhE;;AAEG;AACI,IAAA,oBAAoB,CAAmC;AAE9D;;AAEG;AACI,IAAA,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEhD;;AAEG;IACI,aAAa,GAAG,KAAK,CAAC;AAE7B;;;;;AAKG;IACH,WACkB,CAAA,KAAa,EAC7B,UAAuB,EAAA;QADP,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAIA,qCAAkB,CAAC,GAAG,EAAG,CAAC;KAC3D;AAED;;AAEG;AACH,IAAA,IAAY,MAAM,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAwB,CAAC;KACjD;AAED;;;;;AAKG;IACK,YAAY,CAAC,IAAqC,EAAE,IAA6B,EAAA;QACvF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;KACtC;AAED;;;;AAIG;IACI,KAAK,GAAA;AACV,QAAA,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACzC,QAAA,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAC9C,QAAA,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACtD,QAAA,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACxD,MAAM,CAAC,oBAAoB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACjE,QAAA,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AAC1C,QAAA,OAAO,MAAc,CAAC;KACvB;;;;AAMD;;;;;AAKG;AACI,IAAA,OAAO,CAAC,QAAmD,EAAA;AAChE,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;AAKG;AACI,IAAA,UAAU,CAAC,QAA+C,EAAA;AAC/D,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;AACjC,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;AACpC,SAAC,CAAC;KACH;AAED;;;;;AAKG;AACI,IAAA,WAAW,CAChB,QAAwE,EAAA;AAExE,QAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;AAClC,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACrC,SAAC,CAAC;KACH;AAED;;;;;AAKG;AACI,IAAA,SAAS,CACd,QAAwE,EAAA;AAExE,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;AAChC,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;AACnC,SAAC,CAAC;KACH;;;;AAMD;;;;;AAKG;IACI,kBAAkB,CAAC,GAAG,UAAoB,EAAA;AAC/C,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACI,mBAAmB,GAAA;QACxB,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAI;AAC3C,gBAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,aAAC,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;AAKG;AACI,IAAA,KAAK,CAAC,SAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC9C,SAAA;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,CAAA,WAAA,CAAa,CAAC,CAAC;AACzD,SAAA;QAED,aAAa,CAAC,IAA0C,CAAC,CAAC;AAC1D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACK,kBAAkB,GAAA;QACxB,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,aAAa,EAAE;YACnD,OAAO;AACR,SAAA;QAED,MAAM,SAAS,GAA8B,EAAE,CAAC;QAChD,MAAM,QAAQ,GAA8B,EAAE,CAAC;AAE/C,QAAA,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YACnE,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvC,SAAS;AACV,aAAA;AAED,YAAA,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,QAAQ,CAAC,WAAiD,CAAC,CAAC;YAE5D,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,SAAS,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAC3C,aAAA;AAAM,iBAAA;gBACL,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAC1C,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC3B;IAaM,KAAK,CAAC,GAAG,IAAe,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;;AAEjC,gBAAA,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5E,gBAAA,IAAI,CAAC,CAAC,CAAsB,CAAC,WAAiD,CAAC,CAAC;;AAEjF,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;AAChE,aAAA;AAAM,iBAAA,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;;AAEtC,gBAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAgB,CAAC,EAAE;AACjE,oBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;AAClE,iBAAA;AACF,aAAA;AACF,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/E,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IASM,OAAO,CAAC,GAAG,IAAe,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjF,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,QAAQ,CAAC,UAAyB,EAAE,QAAoB,EAAA;QAC7D,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,UAAU,CAAC,UAAyB,EAAE,QAAoB,EAAA;QAC/D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1D,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;AACI,IAAA,WAAW,CAAC,KAAa,EAAE,QAAuB,EAAE,MAAc,EAAA;AACvE,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,KAAa,EAAE,QAAuB,EAAE,MAAc,EAAA;AACzE,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAChE,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,YAAY,CACjB,WAA0E,EAAA;QAE1E,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACzC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,mBAAmB,CAAC,KAAa,EAAE,WAAmB,EAAE,WAAmB,EAAA;AAChF,QAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACzF,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;IACI,SAAS,CAAC,KAAa,EAAE,KAAoB,EAAA;QAClD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACjD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,eAAe,CAAC,KAAa,EAAE,KAAoB,EAAA;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACrC;AAED;;AAEG;IACI,eAAe,CAAC,KAAa,EAAE,KAAoB,EAAA;QACxD,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,cAAc,CAAC,KAAa,EAAE,KAAoB,EAAA;QACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACtD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,SAAS,CAAC,KAAa,EAAE,KAAa,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5E,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAA;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC5B,UAAU,EAAE,CAAoB,iBAAA,EAAA,KAAK,CAAO,KAAA,CAAA;YAC5C,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,UAAU,CAAC,KAAa,EAAE,KAAa,EAAA;AAC5C,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC5B,UAAU,EAAE,CAAsB,mBAAA,EAAA,KAAK,CAAO,KAAA,CAAA;YAC9C,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,SAAS,CAAC,KAAa,EAAE,KAAa,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC5B,UAAU,EAAE,CAAqB,kBAAA,EAAA,KAAK,CAAO,KAAA,CAAA;YAC7C,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;IACI,iBAAiB,CAAC,IAAY,EAAE,KAAc,EAAA;QACnD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,sBAAsB,CAAC,IAAY,EAAE,KAAc,EAAA;QACxD,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,oBAAoB,CAAC,IAAY,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC5B,UAAU,EAAE,CAAG,EAAA,IAAI,CAAc,YAAA,CAAA;AACjC,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,eAAe,CAAC,IAAY,EAAE,QAAuB,EAAE,KAAa,EAAA;AACzE,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,YAAA,UAAU,EAAE,CAAA,mBAAA,EAAsB,IAAI,CAAA,EAAA,EAAK,QAAQ,CAAI,EAAA,CAAA;YACvD,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC5B,UAAU,EAAE,CAAgB,aAAA,EAAA,IAAI,CAAa,WAAA,CAAA;AAC7C,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,iBAAiB,CAAC,IAAY,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC5B,UAAU,EAAE,CAAgB,aAAA,EAAA,IAAI,CAAc,YAAA,CAAA;AAC9C,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,gBAAgB,CAAC,KAAa,EAAE,QAAuB,EAAE,KAAa,EAAA;AAC3E,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,YAAA,UAAU,EAAE,CAAA,aAAA,EAAgB,KAAK,CAAA,KAAA,EAAQ,QAAQ,CAAI,EAAA,CAAA;YACrD,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;AACI,IAAA,OAAO,CAAC,KAAsB,EAAA;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAChC;AAED;;AAEG;AACI,IAAA,QAAQ,CAAC,MAA8B,EAAA;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACnC;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,KAAa,EAAA;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAClC;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,KAAa,EAAA;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAClC;AAED;;AAEG;IACI,aAAa,CAAC,MAAyB,EAAE,KAAa,EAAA;AAC3D,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,eAAe,CAAC,MAAyB,EAAE,KAAa,EAAA;;QAE7D,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,WAAW,CAAC,KAAa,EAAE,KAAa,EAAA;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACzC;AAED;;AAEG;AACI,IAAA,QAAQ,CAAC,QAA0B,EAAA;;AAExC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAA0B,EAAA;;AAE1C,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;IACI,OAAO,CAAC,KAAa,EAAE,MAAiB,EAAA;QAC7C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,UAAU,CAAC,KAAa,EAAE,MAAiB,EAAA;QAChD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,YAAY,CAAC,KAAa,EAAA;QAC/B,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,YAAY,CAAC,KAAa,EAAE,KAAyB,EAAA;QAC1D,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,eAAe,CAAC,KAAa,EAAE,KAAyB,EAAA;QAC7D,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;IACI,SAAS,CAAC,KAAa,EAAE,OAAwB,EAAA;AACtD,QAAA,MAAM,UAAU,GAAG,OAAO,YAAY,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;AACxE,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,YAAY,CAAC,KAAa,EAAE,OAAwB,EAAA;AACzD,QAAA,MAAM,UAAU,GAAG,OAAO,YAAY,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;AACxE,QAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AAClE,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,eAAe,CAAC,KAAa,EAAE,KAAsB,EAAA;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAG,EAAA,KAAK,CAAG,CAAA,CAAA,CAAC,CAAC;KAC3C;AAED;;AAEG;IACI,kBAAkB,CAAC,KAAa,EAAE,KAAsB,EAAA;QAC7D,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAG,EAAA,KAAK,CAAG,CAAA,CAAA,CAAC,CAAC;KAC9C;AAED;;AAEG;IACI,aAAa,CAAC,KAAa,EAAE,KAAsB,EAAA;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAI,CAAA,EAAA,KAAK,CAAE,CAAA,CAAC,CAAC;KAC3C;AAED;;AAEG;IACI,gBAAgB,CAAC,KAAa,EAAE,KAAsB,EAAA;QAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAI,CAAA,EAAA,KAAK,CAAE,CAAA,CAAC,CAAC;KAC9C;AAED;;AAEG;IACI,gBAAgB,CAAC,KAAa,EAAE,KAAmB,EAAA;QACxD,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,mBAAmB,CAAC,KAAa,EAAE,KAAmB,EAAA;;QAE3D,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC;KACb;AAWM,IAAA,WAAW,CAAC,KAAgC,EAAA;AACjD,QAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;;AAE/B,YAAA,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7E,KAAK,CAAC,WAAiD,CAAC,CAAC;AACzD,YAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;AACxE,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAOM,IAAA,cAAc,CAAC,KAAgC,EAAA;AACpD,QAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAC/B,YAAA,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7E,KAAK,CAAC,WAAiD,CAAC,CAAC;AACzD,YAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3E,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAOM,IAAA,SAAS,CAAC,KAAa,EAAE,GAAG,IAAe,EAAA;AAChD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,GAAI,IAAI,CAAC,CAAC,CAAY,GAAG,GAAG,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,GAAI,IAAI,CAAC,CAAC,CAAY,GAAI,IAAI,CAAC,CAAC,CAAY,CAAC;QAC3E,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAyB,EAAE,IAAI,CAAC,CAAC;KACtE;AAED;;AAEG;IACI,UAAU,CAAC,KAAa,EAAE,OAAqB,EAAA;;AAEpD,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAClD,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,aAAA;AACF,SAAA;;;AAGD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,kBAAkB,CAAC,KAAa,EAAE,KAAc,EAAE,GAAY,EAAA;AACnE,QAAA,IAAI,GAAG,EAAE;;AAEP,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAc,YAAA,CAAA;AACvE,gBAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/C,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAA,QAAA,EAAW,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAG,CAAA,CAAA;gBACpE,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,qBAAqB,CAAC,KAAa,EAAE,KAAc,EAAE,GAAY,EAAA;AACtE,QAAA,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAA,KAAA,EAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAe,aAAA,CAAA;AAC7E,gBAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/C,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAA,aAAA,EAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAI,EAAA,CAAA;gBAC1E,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,oBAAoB,CAAC,KAAa,EAAE,KAAc,EAAE,GAAY,EAAA;AACrE,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/D,QAAA,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAI,CAAA,EAAA,WAAW,mBAAmB,WAAW,CAAA,kBAAA,EAAqB,WAAW,CAAW,SAAA,CAAA;AACpG,gBAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/C,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAA,SAAA,EAAY,WAAW,CAAA,kBAAA,EAAqB,WAAW,CAAe,aAAA,CAAA;gBAClF,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,wBAAwB,CAAC,KAAa,EAAE,KAAc,EAAE,GAAY,EAAA;AACzE,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/D,QAAA,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAS,MAAA,EAAA,WAAW,oBAAoB,WAAW,CAAA,kBAAA,EAAqB,WAAW,CAAW,SAAA,CAAA;AAC1G,gBAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/C,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAA,cAAA,EAAiB,WAAW,CAAA,mBAAA,EAAsB,WAAW,CAAe,aAAA,CAAA;gBACxF,QAAQ,EAAE,CAAC,KAAK,CAAC;AAClB,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAWM,IAAI,CAAC,GAAG,IAAe,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AACxB,gBAAA,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACtB,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC;AAC/D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAOM,QAAQ,CAAC,GAAG,IAAe,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACtB,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC;AACnE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAOM,SAAS,CAAC,GAAG,IAAe,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC7B,gBAAA,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACtB,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC;AACpE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAOM,SAAS,CAAC,GAAG,IAAe,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC7B,gBAAA,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACtB,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC;AACpE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAOM,QAAQ,CAAC,GAAG,IAAe,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACd,gBAAA,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACtB,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC;AACnE,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,OAAO,CAAC,UAAyB,EAAE,QAAoB,EAAA;QAC5D,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC;KACb;IAYM,MAAM,CAAC,GAAG,IAAe,EAAA;;AAE9B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/C,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClD,SAAA;;aAEI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AACpF,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClD,SAAA;;AAEI,aAAA;AACH,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAc,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AACrD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAA;;AAE1C,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,SAAS,CAAC,UAAyB,EAAE,QAAoB,EAAA;QAC9D,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,aAAa,CAClB,WAAsF,EAAA;AAEtF,QAAA,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,SAAS,CAAC,UAAyB,EAAE,KAAa,EAAA;AACvD,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC;AACxE,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,YAAY,CAAC,UAAyB,EAAE,KAAa,EAAA;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;KAC1C;AAED;;AAEG;AACI,IAAA,eAAe,CACpB,KAAa,EACb,SAAqE,EACrE,KAAa,EAAA;QAEb,MAAM,IAAI,GAAG,CAAA,EAAG,SAAS,CAAC,WAAW,EAAE,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,CAAC;AACpD,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,YAAY,CAAC,KAAa,EAAE,KAAa,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,CAAG,EAAA,KAAK,CAAc,YAAA,CAAA,EAAE,CAAC,CAAC;KAC5D;AAED;;AAEG;IACI,WAAW,CAAC,KAAa,EAAE,KAAa,EAAA;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;KACpD;AAED;;AAEG;AACI,IAAA,UAAU,CACf,KAAoE,EACpE,SAAkC,EAClC,KAAa,EAAA;QAEb,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAQ,KAAA,EAAA,CAAC,CAAC,IAAI,CAAA,MAAA,EAAS,CAAC,CAAC,IAAI,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7E,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,CAAA,KAAA,EAAQ,QAAQ,CAAS,MAAA,EAAA,SAAS,CAAM,IAAA,CAAA,EAAE,CAAC,CAAC;KAC9E;AAED;;AAEG;AACI,IAAA,UAAU,CACf,SAAwB,EACxB,SAAkC,EAClC,SAAkC,EAClC,KAAa,EAAA;QAEb,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,CAAC,KAAK,GAAG,CAAA,UAAA,EAAa,SAAS,CAAS,MAAA,EAAA,SAAS,CAAS,MAAA,EAAA,SAAS,CAAM,IAAA,CAAA;AAC1E,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,sBAAsB,CAAC,QAAuD,EAAA;;AAEnF,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,UAAU,CAAC,IAAY,EAAE,KAAc,EAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACxB,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,QAAA,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAA,EAAG,MAAM,CAAA,IAAA,EAAO,QAAQ,CAAG,CAAA,CAAA,GAAG,MAAM,CAAC;QAC7D,OAAO,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAClE;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,IAAY,EAAE,UAAyB,EAAE,KAAa,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,UAAU,EAAE,CAAC,CAAC;KAChD;AAED;;AAEG;AACI,IAAA,YAAY,CAAC,IAAY,EAAA;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9B;AAED;;AAEG;IACI,YAAY,CAAC,MAAqC,EAAE,KAAa,EAAA;QACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,cAAc,CAAC,MAAqC,EAAE,KAAa,EAAA;QACxE,MAAM,IAAI,GAAG,CAAA,SAAA,EAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;KAC1C;AAED;;AAEG;AACI,IAAA,YAAY,CAAC,IAAmB,EAAA;QACrC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,QAAQ,CAAC,MAAgB,EAAA;QAC9B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,CAChE,CAAC;AACF,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,SAAS,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;AAED;;AAEG;IACI,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;AAED;;AAEG;AACI,IAAA,cAAc,CAAC,MAA0B,EAAA;AAC9C,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAClC,QAAA,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,MAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC;KACb;IAWM,OAAO,CAAC,GAAG,IAAe,EAAA;AAC/B,QAAA,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC/B,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AAC/E,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAmC,CAAC,EAAE;gBAC1F,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AACpD,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,WAAW,CAAC,KAAa,EAAA;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACpC;AAED;;AAEG;IACI,UAAU,CAAC,UAAyB,EAAE,QAAoB,EAAA;QAC/D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC1D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,KAAa,EAAA;QAChC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1B;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,CAAC,MAAM,GAAG,WAAW,EAAA;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;KAC3C;AAED;;AAEG;IACI,MAAM,CAAC,MAAM,GAAG,WAAW,EAAA;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACpC;;;;AAMD;;AAEG;AACI,IAAA,KAAK,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,IAAI,CAAC,KAAa,EAAA;QACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,MAAM,CAAC,KAAa,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;AAED;;AAEG;AACI,IAAA,IAAI,CAAC,KAAa,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC1B;AAED;;AAEG;IACI,MAAM,CAAC,KAAe,EAAE,MAAgB,EAAA;;AAE7C,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;AACI,IAAA,OAAO,CAAC,KAAmB,EAAA;AAChC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACzC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,UAAU,CAAC,UAAyB,EAAE,QAAoB,EAAA;QAC/D,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC;KACb;IAQM,MAAM,CAAC,GAAG,IAAe,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;AACrC,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,gBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClF,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvF,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE;AAC3E,oBAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,iBAAA;AACF,aAAA;AACF,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAChF,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,SAAS,CAAC,UAAyB,EAAE,QAAoB,EAAA;QAC9D,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;AACI,IAAA,MAAM,GAAG,GAAA;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;;QAG1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnC,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,IAAIC,uCAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;AAC5B,SAAA,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAU,GAAG,EAAE,MAAM,CAAC,CAAC;AAE7D,YAAA,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;;YAG1B,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YAE3D,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAoB,EAAE,EAAE,CAAC,CAAC;AACxD,aAAA;YAED,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,eAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAc,CAAC;AACvF,aAAA;;AAGD,YAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAoB,EAAE,EAAE,CAAC,CAAC;AACtD,aAAA;;AAGD,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAErB,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACnD,YAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC3C,YAAA,MAAM,KAAK,CAAC;AACb,SAAA;KACF;AAED;;AAEG;IACK,kBAAkB,GAAA;QACxB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEvE,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3D,YAAA,IAAI,CAAC,WAAW;gBAAE,SAAS;;AAG3B,YAAA,MAAM,YAAY,GAChB,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;AACnC,kBAAEC,kCAAoB,CAAC,WAAW,CAAC,KAAK,CAAC;AACzC,kBAAE,WAAW,CAAC,KAAK,CAAC;AAExB,YAAA,IAAI,CAAC,YAAY;gBAAE,SAAS;AAE5B,YAAA,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;AACxC,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;;AAG3B,YAAA,IAAI,UAAkB,CAAC;AACvB,YAAA,IAAI,YAAoB,CAAC;AAEzB,YAAA,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE;gBACpC,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,CAAG,EAAA,YAAY,IAAI,CAAC;AAC3D,gBAAA,YAAY,GAAG,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC;AAC7C,aAAA;AAAM,iBAAA;;AAEL,gBAAA,UAAU,GAAG,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC;AAC1C,gBAAA,YAAY,GAAG,WAAW,CAAC,UAAU,IAAI,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,aAAA;;AAGD,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAC5B,gBAAA,KAAK,EAAE,YAAY;gBACnB,KAAK;gBACL,UAAU;gBACV,YAAY;AACb,aAAA,CAAC,CAAC;;AAGH,YAAA,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE;gBACxC,KAAK;gBACL,YAAY;AACZ,gBAAA,KAAK,EAAE,YAAY;AACpB,aAAA,CAAC,CAAC;AACJ,SAAA;KACF;AAED;;;AAGG;AACK,IAAA,yBAAyB,CAAC,OAAc,EAAA;AAC9C,QAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;AAEtD,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC;AAAE,YAAA,OAAO,MAAM,CAAC;QAEjD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAI;YAChC,MAAM,YAAY,GAAwB,EAAE,CAAC;YAE7C,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;AACvD,gBAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;;AAGhC,gBAAA,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;;AAGvC,gBAAA,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;;gBAG1B,IACE,WAAW,KAAK,IAAI;qBACnB,OAAO,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,EACxF;AACA,oBAAA,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AACnC,iBAAA;AAAM,qBAAA;AACL,oBAAA,YAAY,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;AAC1C,iBAAA;AACF,aAAA;AAED,YAAA,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,MAAM,CAAC;KACf;AAED;;AAEG;IACK,qBAAqB,CAC3B,OAAc,EACd,UAA4C,EAAA;QAE5C,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEvE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;YAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,YAAY;gBAAE,OAAO;AAE1B,YAAA,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBAC/D,IAAI,IAAI,KAAK,IAAI,EAAE;;AAEhB,oBAAA,KAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;oBACpC,IAAK,KAAa,CAAC,eAAe,EAAE;wBACjC,KAAa,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACxD,qBAAA;oBACD,SAAS;AACV,iBAAA;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAoB,CAAC,YAAY,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,WAAW;oBAAE,SAAS;;AAG3B,gBAAA,MAAM,YAAY,GAChB,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;AACnC,sBAAEA,kCAAoB,CAAC,WAAW,CAAC,KAAK,CAAC;AACzC,sBAAE,WAAW,CAAC,KAAK,CAAC;AAExB,gBAAA,IAAI,YAAY,EAAE;AAChB,oBAAA,MAAM,eAAe,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAC/C,oBAAA,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC;AAE7B,oBAAA,KAAa,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC;oBAC/C,IAAK,KAAa,CAAC,eAAe,EAAE;wBACjC,KAAa,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;AACnE,qBAAA;AACF,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;AAChB,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAW,CAAC;AACnD,QAAA,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;KAC3B;AAED;;AAEG;AACI,IAAA,MAAM,IAAI,GAAA;AACf,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAW,CAAC;AACrE,QAAA,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;KAC3B;AAED;;AAEG;IACI,MAAM,MAAM,CAAc,KAAc,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC5B,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,GAAG,EAAW,CAAC;KAC5B;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAW,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACrC,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACf;AAED;;AAEG;IACI,MAAM,OAAO,CAAc,QAA0C,EAAA;AAC1E,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAW,CAAC;AAC3C,QAAA,OAAO,MAAM,KAAK,MAAM,QAAQ,EAAE,CAAC,CAAC;KACrC;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,KAAK,EAAW,CAAC;KAC9B;AAED;;AAEG;IACI,MAAM,UAAU,CAAc,QAAuB,EAAA;AAC1D,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAW,CAAC;QAC3C,OAAO,MAAM,IAAK,QAA+B,CAAC;KACnD;AAED;;AAEG;IACI,MAAM,IAAI,CAAc,EAAmB,EAAA;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAW,CAAC;KAC9C;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;;AAG1B,QAAA,MAAM,QAAQ,GAA8B;AAC1C,YAAA,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxF,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE;SACnE,CAAC;AAEF,QAAA,MAAM,MAAM,GAAG,IAAID,uCAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,UAAU,EAAE,QAAQ;AACrB,SAAA,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAEvC,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAoB,GAAG,EAAE,MAAM,CAAC,CAAC;AAEvE,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;KACnD;AAED;;AAEG;IACI,MAAM,GAAG,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAO,IAAA,EAAA,KAAK,CAAU,QAAA,CAAA,CAAC,CAAC,KAAK,EAAmB,CAAC;QACrF,OAAO,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;KACvC;AAED;;AAEG;IACI,MAAM,GAAG,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAO,IAAA,EAAA,KAAK,CAAU,QAAA,CAAA,CAAC,CAAC,KAAK,EAAmB,CAAC;QACrF,OAAO,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;KACvC;AAED;;AAEG;IACI,MAAM,GAAG,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAO,IAAA,EAAA,KAAK,CAAU,QAAA,CAAA,CAAC,CAAC,KAAK,EAAmB,CAAC;QACrF,OAAO,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;KACvC;AAED;;AAEG;IACI,MAAM,GAAG,CAAC,KAAa,EAAA;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAO,IAAA,EAAA,KAAK,CAAU,QAAA,CAAA,CAAC,CAAC,KAAK,EAAmB,CAAC;QACrF,OAAO,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;KACvC;AAED;;AAEG;IACI,MAAM,QAAQ,CAAoB,KAAa,EAAA;AACpD,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,EAA8B,CAAC;AAC7D,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;KACzC;AAED;;AAEG;IACI,MAAM,KAAK,CAAC,KAAa,EAAA;AAC9B,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAA2B,CAAC;AAC1E,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;KACzC;AAED;;AAEG;IACI,MAAM,KAAK,CAAoB,KAAa,EAAA;AACjD,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAA2B,CAAC;AAC3E,QAAA,OAAO,MAAM,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC;KAChC;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO,KAAK,GAAG,CAAC,CAAC;KAClB;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;QACpB,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KAC/B;AAED;;AAEG;IACI,MAAM,aAAa,CAAC,KAAa,EAAA;AACtC,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAkB,eAAA,EAAA,KAAK,CAAY,UAAA,CAAA,CAAC,CAAC,KAAK,EAE1E,CAAC;QACL,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;KAC3C;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,CAAC,KAAa,EAAE,MAAM,GAAG,CAAC,EAAA;QAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAQ,KAAA,EAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA,gBAAA,EAAmB,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAc,WAAA,EAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;AAC7R,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAyB,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAC/F,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;KACrC;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,CAAC,KAAa,EAAE,MAAM,GAAG,CAAC,EAAA;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;KACvC;AAED;;AAEG;AACI,IAAA,MAAM,aAAa,CAAC,KAAa,EAAE,MAAM,GAAG,CAAC,EAAA;QAClD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,CAAU,OAAA,EAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAmB,gBAAA,EAAA,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA,CAAE,CAAC;AACrO,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACvE,QAAA,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;KAC7B;AAED;;AAEG;AACI,IAAA,MAAM,aAAa,CAAC,KAAa,EAAE,MAAM,GAAG,CAAC,EAAA;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC;KAC3C;;;;AAMD;;AAEG;AACI,IAAA,MAAM,KAAK,CAAC,IAAY,EAAE,QAA0B,EAAA;QACzD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC;AAEnB,QAAA,OAAO,OAAO,EAAE;AACd,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;AAC7B,iBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACvB,KAAK,CAAC,IAAI,CAAC;AACX,iBAAA,GAAG,EAAE,CAAC;AAET,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,MAAM;AACP,aAAA;YAED,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAEzD,IAAI,cAAc,KAAK,KAAK,EAAE;gBAC5B,MAAM;AACP,aAAA;AAED,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;AAChC,YAAA,UAAU,EAAE,CAAC;AACd,SAAA;KACF;AAED;;AAEG;IACI,MAAM,QAAQ,CAAC,OAA0B,EAAA;AAC9C,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;AAC/B,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAEhC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AACtC,YAAA,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,KAAK,EAAE;AACb,SAAA,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;AACJ,YAAA,UAAU,EAAE;gBACV,KAAK;gBACL,IAAI;gBACJ,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,aAAA;SACF,CAAC;KACH;AAED;;AAEG;IACI,MAAM,cAAc,CACzB,OAAgC,EAAA;AAEhC,QAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;AAErE,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,QAAQ,GAAG,SAAS,KAAK,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtC,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,SAAS,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACxD,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEhC,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAElD,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;AACvC,QAAA,IAAI,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;QAEvD,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,YAAA,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AACvB,SAAA;AAED,QAAA,IAAI,UAA+B,CAAC;AACpC,QAAA,IAAI,UAA+B,CAAC;QACpC,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,MAAM,SAAS,GAAI,IAAI,CAAC,CAAC,CAA6B,CAAC,MAAM,CAAC,CAAC;AAC/D,YAAA,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAA6B,CAAC,MAAM,CAAC,CAAC;YAE5E,IAAI,SAAS,KAAK,MAAM,EAAE;gBACxB,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5C,gBAAA,IAAI,MAAM,EAAE;oBACV,OAAO,GAAG,IAAI,CAAC;oBACf,UAAU,GAAG,SAAS,CAAC;AACxB,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;gBAC7C,OAAO,GAAG,OAAO,CAAC;AAClB,gBAAA,IAAI,MAAM,EAAE;oBACV,UAAU,GAAG,QAAQ,CAAC;AACvB,iBAAA;AACF,aAAA;AACF,SAAA;QAED,OAAO;YACL,IAAI;AACJ,YAAA,UAAU,EAAE;gBACV,OAAO;gBACP,OAAO;gBACP,UAAU;gBACV,UAAU;AACX,aAAA;SACF,CAAC;KACH;;;;AAMD;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3C,QAAA,MAAM,SAAS,GAAG,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAI,CAAA,EAAA,GAAG,EAAE,CAAC;AAC1F,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC1D,QAAA,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;KAC7B;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC/B;AAED;;AAEG;IACI,MAAM,MAAM,CAAC,MAA+B,EAAA;QACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9E,OAAO,MAAM,CAAC,aAAa,CAAC;KAC7B;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,CAAC,GAAG,MAAgB,EAAA;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAsB,EAAE,CAAC;AACxC,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,SAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC,aAAa,CAAC;KAC7B;;;;AAMD;;AAEG;IACI,KAAK,GAAA;QACV,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAIA,uCAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;AAC5B,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;KACvB;AAED;;AAEG;IACI,MAAM,GAAA;QACX,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,CAAA,EAAG,GAAG,CAAA,iBAAA,EAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA,CAAE,CAAC;KAC3D;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,CAA2C,wCAAA,EAAA,GAAG,EAAE,CAAC;AACpE,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,CAAC;KACpB;;;;AAMD;;AAEG;AACI,IAAA,GAAG,CAAC,OAAqC,EAAA;;AAE9C,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,MAAM,CAAI,SAAiB,EAAE,GAAG,KAAgB,EAAA;;;AAGrD,QAAA,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,CAAA,0CAAA,CAA4C,CAAC,CAAC;KACtF;AAED;;AAEG;AACI,IAAA,GAAG,CAAC,QAAiC,EAAA;QAC1C,QAAQ,CAAC,IAAI,CAAC,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,IAAI,CACT,SAAsB,EACtB,QAA2C,EAC3C,SAAmC,EAAA;AAEnC,QAAA,IAAI,SAAS,EAAE;AACb,YAAA,QAAQ,CAAC,IAAI,EAAE,SAAc,CAAC,CAAC;AAChC,SAAA;AAAM,aAAA,IAAI,SAAS,EAAE;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC;AACjB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;;;;AAMD;;AAEG;IACK,WAAW,GAAA;AACjB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACrC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC/D,CAAC;AAEF,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChC,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,IAAIA,uCAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,UAAU,EAAE,QAAQ;AACrB,SAAA,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO;AACL,YAAA,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE;YACpC,MAAM;SACP,CAAC;KACH;;;;AAMD;;AAEG;AACI,IAAA,kBAAkB,GACvB,IAAI,GAAG,EAAE,CAAC;AAEZ;;AAEG;IACI,cAAc,GAAa,EAAE,CAAC;AAErC;;AAEG;AACI,IAAA,aAAa,GAClB,IAAI,GAAG,EAAE,CAAC;AAEZ;;AAEG;AACI,IAAA,mBAAmB,CAAuB;AAEjD;;AAEG;AACI,IAAA,UAAU,CAAO;AAExB;;;;;;;;AAQG;IACI,QAAQ,CAAC,GAAG,SAAmB,EAAA;AACpC,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,CAAC;AACjD,YAAA,IAAI,GAAG,EAAE;AACP,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;oBAC/B,KAAK,EAAE,CAAQ,KAAA,EAAA,QAAQ,CAAE,CAAA;oBACzB,IAAI,EAAE,GAAG,CAAC,IAAI;AACf,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;;;;;;AAUG;IACI,IAAI,CACT,GAAG,IAIA,EAAA;AAEH,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpB,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;;gBAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5B,gBAAA,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;oBACjC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC1C,CAAC,EAAE,CAAC;AACL,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxC,iBAAA;AACF,aAAA;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;AAClD,gBAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC9C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACzC,iBAAA;AACF,aAAA;;AAEF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;AAGG;IACI,SAAS,CAAC,GAAG,SAAmB,EAAA;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;;AAKG;AACI,IAAA,GAAG,CAAC,QAAgB,EAAE,QAAiB,EAAE,KAAc,EAAA;;AAE5D,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACI,QAAQ,CAAC,QAAgB,EAAE,QAA+C,EAAA;;QAE/E,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;AAGG;AACI,IAAA,UAAU,CAAC,QAAgB,EAAA;;QAEhC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;IACI,eAAe,CAAC,QAAgB,EAAE,QAA+C,EAAA;;QAEtF,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7D,QAAA,OAAO,IAAI,CAAC;KACb;AACF"}
@@ -0,0 +1,308 @@
1
+ /**
2
+ * PostgreSQL Query Parser
3
+ *
4
+ * Translates Cascade query operations into PostgreSQL SQL queries.
5
+ * Mirrors the MongoQueryParser pattern but generates SQL instead
6
+ * of MongoDB aggregation pipelines.
7
+ *
8
+ * @module cascade/drivers/postgres
9
+ */
10
+ import type { SqlDialectContract } from "../sql/sql-dialect.contract";
11
+ import type { SqlQueryResult } from "../sql/sql-types";
12
+ /**
13
+ * Operation types supported by the query parser.
14
+ */
15
+ export type PostgresOperationType = "where" | "orWhere" | "whereRaw" | "orWhereRaw" | "whereIn" | "whereNotIn" | "whereNull" | "whereNotNull" | "whereBetween" | "whereNotBetween" | "whereLike" | "whereNotLike" | "whereColumn" | "orWhereColumn" | "whereExists" | "whereNotExists" | "whereDate" | "whereDateBefore" | "whereDateAfter" | "whereDateBetween" | "whereJsonContains" | "whereJsonDoesntContain" | "whereFullText" | "select" | "selectRaw" | "deselect" | "join" | "leftJoin" | "rightJoin" | "innerJoin" | "fullJoin" | "crossJoin" | "joinRaw" | "orderBy" | "orderByRaw" | "groupBy" | "having" | "havingRaw" | "limit" | "offset" | "has" | "whereHas" | "doesntHave" | "whereDoesntHave" | "selectRelatedColumns" | "distinct";
16
+ /**
17
+ * Internal operation representation.
18
+ */
19
+ export type PostgresParserOperation = {
20
+ /** Operation type */
21
+ readonly type: PostgresOperationType;
22
+ /** Operation data/parameters */
23
+ readonly data: Record<string, unknown>;
24
+ };
25
+ /**
26
+ * Parser configuration options.
27
+ */
28
+ export type PostgresParserOptions = {
29
+ /** Target table name */
30
+ readonly table: string;
31
+ /** Table alias (optional) */
32
+ readonly alias?: string;
33
+ /** Operations to parse */
34
+ readonly operations: PostgresParserOperation[];
35
+ /** SQL dialect for syntax generation */
36
+ readonly dialect?: SqlDialectContract;
37
+ /** Factory for creating sub-parsers (for nested queries) */
38
+ readonly createSubParser?: (table: string) => PostgresQueryParser;
39
+ };
40
+ /**
41
+ * PostgreSQL Query Parser.
42
+ *
43
+ * Converts a list of query operations into a SQL query string with parameters.
44
+ * Handles SELECT, WHERE, JOIN, ORDER BY, GROUP BY, LIMIT/OFFSET clauses.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const parser = new PostgresQueryParser({
49
+ * table: 'users',
50
+ * operations: [
51
+ * { type: 'where', data: { field: 'name', operator: '=', value: 'Alice' } },
52
+ * { type: 'orderBy', data: { field: 'createdAt', direction: 'desc' } },
53
+ * { type: 'limit', data: { value: 10 } }
54
+ * ]
55
+ * });
56
+ *
57
+ * const { sql, params } = parser.parse();
58
+ * // sql: 'SELECT * FROM "users" WHERE "name" = $1 ORDER BY "createdAt" DESC LIMIT 10'
59
+ * // params: ['Alice']
60
+ * ```
61
+ */
62
+ export declare class PostgresQueryParser {
63
+ /**
64
+ * Target table name.
65
+ */
66
+ private readonly table;
67
+ /**
68
+ * Table alias.
69
+ */
70
+ private readonly alias?;
71
+ /**
72
+ * Operations to process.
73
+ */
74
+ private readonly operations;
75
+ /**
76
+ * SQL dialect for syntax.
77
+ */
78
+ private readonly dialect;
79
+ /**
80
+ * Current parameter index (1-based for PostgreSQL).
81
+ */
82
+ private paramIndex;
83
+ /**
84
+ * Collected parameters.
85
+ */
86
+ private readonly params;
87
+ /**
88
+ * SELECT columns.
89
+ */
90
+ private selectColumns;
91
+ /**
92
+ * Deselected (excluded) columns.
93
+ */
94
+ private deselectColumns;
95
+ /**
96
+ * Raw SELECT expressions.
97
+ */
98
+ private selectRaw;
99
+ /**
100
+ * WHERE clauses.
101
+ */
102
+ private whereClauses;
103
+ /**
104
+ * JOIN clauses.
105
+ */
106
+ private joinClauses;
107
+ /**
108
+ * ORDER BY clauses.
109
+ */
110
+ private orderClauses;
111
+ /**
112
+ * GROUP BY columns.
113
+ */
114
+ private groupColumns;
115
+ /**
116
+ * HAVING clauses.
117
+ */
118
+ private havingClauses;
119
+ /**
120
+ * LIMIT value.
121
+ */
122
+ private limitValue?;
123
+ /**
124
+ * OFFSET value.
125
+ */
126
+ private offsetValue?;
127
+ /**
128
+ * DISTINCT flag.
129
+ */
130
+ private isDistinct;
131
+ /**
132
+ * Tracked joined tables (for table reference detection).
133
+ */
134
+ private readonly joinedTables;
135
+ /**
136
+ * Create a new query parser.
137
+ *
138
+ * @param options - Parser configuration
139
+ */
140
+ constructor(options: PostgresParserOptions);
141
+ /**
142
+ * Parse all operations and build the SQL query.
143
+ *
144
+ * @returns Object with SQL string and parameter values
145
+ */
146
+ parse(): SqlQueryResult;
147
+ /**
148
+ * Get a formatted string representation of the query.
149
+ *
150
+ * @returns Formatted SQL with parameters
151
+ */
152
+ toPrettyString(): string;
153
+ /**
154
+ * Process a single operation.
155
+ *
156
+ * @param operation - The operation to process
157
+ */
158
+ private processOperation;
159
+ /**
160
+ * Build the final SQL query from collected clauses.
161
+ *
162
+ * @returns Complete SQL query string
163
+ */
164
+ private buildSql;
165
+ /**
166
+ * Build the SELECT clause.
167
+ *
168
+ * @returns SELECT clause string
169
+ */
170
+ private buildSelectClause;
171
+ /**
172
+ * Add a placeholder and parameter.
173
+ *
174
+ * @param value - Parameter value
175
+ * @returns Placeholder string ($1, $2, etc.)
176
+ */
177
+ private addParam;
178
+ /**
179
+ * Process a basic WHERE operation.
180
+ */
181
+ private processWhere;
182
+ /**
183
+ * Process a raw WHERE operation.
184
+ */
185
+ private processWhereRaw;
186
+ /**
187
+ * Process WHERE IN / NOT IN.
188
+ */
189
+ private processWhereIn;
190
+ /**
191
+ * Process WHERE NULL / NOT NULL.
192
+ */
193
+ private processWhereNull;
194
+ /**
195
+ * Process WHERE BETWEEN / NOT BETWEEN.
196
+ */
197
+ private processWhereBetween;
198
+ /**
199
+ * Process WHERE LIKE / NOT LIKE.
200
+ */
201
+ private processWhereLike;
202
+ /**
203
+ * Process WHERE column comparison.
204
+ */
205
+ private processWhereColumn;
206
+ /**
207
+ * Process WHERE JSON contains.
208
+ */
209
+ private processWhereJsonContains;
210
+ /**
211
+ * Process full-text search WHERE.
212
+ */
213
+ private processWhereFullText;
214
+ /**
215
+ * Process SELECT operation.
216
+ */
217
+ private processSelect;
218
+ /**
219
+ * Process raw SELECT expression.
220
+ */
221
+ private processSelectRaw;
222
+ /**
223
+ * Process DESELECT operation.
224
+ */
225
+ private processDeselect;
226
+ /**
227
+ * Process SELECT for related columns (joinWith).
228
+ * Uses row_to_json to package all related columns into a single JSON column.
229
+ * Also ensures main table columns are selected.
230
+ */
231
+ private processSelectRelatedColumns;
232
+ /**
233
+ * Process JOIN operation with smart field detection.
234
+ *
235
+ * Handles both regular columns and JSONB nested paths:
236
+ * - "id" → "table"."id" (auto-prefixed)
237
+ * - "users.id" → "users"."id" (explicit table)
238
+ * - "createdBy.id" → "table"."createdBy"->>'id' (JSONB path)
239
+ * - "posts.createdBy.id" → "posts"."createdBy"->>'id' (JSONB with table)
240
+ */
241
+ private processJoin;
242
+ /**
243
+ * Parse a join field with smart detection for table prefixes and JSONB paths.
244
+ *
245
+ * @param field - The field string (e.g., "id", "users.id", "createdBy.id")
246
+ * @param defaultTable - Default table to use if no prefix
247
+ * @param tableAlias - Table alias to use if provided
248
+ * @returns Properly quoted SQL expression
249
+ */
250
+ private parseJoinField;
251
+ /**
252
+ * Check if a string is a table reference (main table or join table).
253
+ */
254
+ private isTableReference;
255
+ /**
256
+ * Build a JSONB path expression.
257
+ *
258
+ * @param table - Table name
259
+ * @param column - JSONB column name
260
+ * @param path - Array of nested keys
261
+ * @returns PostgreSQL JSONB path expression
262
+ *
263
+ * @example
264
+ * buildJsonbPath("posts", "createdBy", ["id"])
265
+ * // Returns: ("posts"."createdBy"->>'id')::integer
266
+ *
267
+ * buildJsonbPath("posts", "createdBy", ["address", "city"])
268
+ * // Returns: "posts"."createdBy"->'address'->>'city'
269
+ */
270
+ private buildJsonbPath;
271
+ /**
272
+ * Process CROSS JOIN operation.
273
+ */
274
+ private processCrossJoin;
275
+ /**
276
+ * Process raw JOIN expression.
277
+ */
278
+ private processJoinRaw;
279
+ /**
280
+ * Process ORDER BY operation.
281
+ */
282
+ private processOrderBy;
283
+ /**
284
+ * Process raw ORDER BY expression.
285
+ */
286
+ private processOrderByRaw;
287
+ /**
288
+ * Process GROUP BY operation.
289
+ */
290
+ private processGroupBy;
291
+ /**
292
+ * Process HAVING operation.
293
+ */
294
+ private processHaving;
295
+ /**
296
+ * Process raw HAVING expression.
297
+ */
298
+ private processHavingRaw;
299
+ /**
300
+ * Add a WHERE clause with boolean operator.
301
+ */
302
+ private addWhereClause;
303
+ /**
304
+ * Map Cascade operators to SQL operators.
305
+ */
306
+ private mapOperator;
307
+ }
308
+ //# sourceMappingURL=postgres-query-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-query-parser.d.ts","sourceRoot":"","sources":["../../../src/drivers/postgres/postgres-query-parser.ts"],"names":[],"mappings":"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"}