@ductape/sdk 0.0.4-v5 → 0.0.4-v50

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 (337) hide show
  1. package/README.md +1 -1
  2. package/dist/api/services/appApi.service.d.ts +48 -2
  3. package/dist/api/services/appApi.service.js +101 -2
  4. package/dist/api/services/appApi.service.js.map +1 -1
  5. package/dist/api/services/pricingApi.service.d.ts +10 -0
  6. package/dist/api/services/pricingApi.service.js +34 -0
  7. package/dist/api/services/pricingApi.service.js.map +1 -0
  8. package/dist/api/services/processorApi.service.d.ts +12 -2
  9. package/dist/api/services/processorApi.service.js +12 -2
  10. package/dist/api/services/processorApi.service.js.map +1 -1
  11. package/dist/api/services/productsApi.service.d.ts +40 -1
  12. package/dist/api/services/productsApi.service.js +105 -1
  13. package/dist/api/services/productsApi.service.js.map +1 -1
  14. package/dist/api/services/userApi.service.js +1 -0
  15. package/dist/api/services/userApi.service.js.map +1 -1
  16. package/dist/api/services/workspaceApi.service.js +1 -0
  17. package/dist/api/services/workspaceApi.service.js.map +1 -1
  18. package/dist/api/services/workspaceSecretsApi.service.d.ts +75 -0
  19. package/dist/api/services/workspaceSecretsApi.service.js +62 -0
  20. package/dist/api/services/workspaceSecretsApi.service.js.map +1 -0
  21. package/dist/api/urls.d.ts +6 -1
  22. package/dist/api/urls.js +12 -2
  23. package/dist/api/urls.js.map +1 -1
  24. package/dist/api/utils/cache.utils.d.ts +1 -1
  25. package/dist/api/utils/cache.utils.js +10 -4
  26. package/dist/api/utils/cache.utils.js.map +1 -1
  27. package/dist/api/utils/strings.utils.d.ts +2 -0
  28. package/dist/api/utils/strings.utils.js +14 -0
  29. package/dist/api/utils/strings.utils.js.map +1 -1
  30. package/dist/apps/services/app.service.d.ts +51 -33
  31. package/dist/apps/services/app.service.js +488 -244
  32. package/dist/apps/services/app.service.js.map +1 -1
  33. package/dist/apps/validators/joi-validators/create.appAction.validator.d.ts +1 -2
  34. package/dist/apps/validators/joi-validators/create.appAction.validator.js +21 -2
  35. package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +1 -1
  36. package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +1 -2
  37. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +2 -15
  38. package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
  39. package/dist/apps/validators/joi-validators/update.appAction.validator.js +11 -1
  40. package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
  41. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.d.ts +1 -1
  42. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js +34 -1
  43. package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js.map +1 -1
  44. package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +1 -2
  45. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +2 -14
  46. package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
  47. package/dist/clients/pricing.client.d.ts +3 -0
  48. package/dist/clients/pricing.client.js +33 -0
  49. package/dist/clients/pricing.client.js.map +1 -0
  50. package/dist/database/adapters/base.adapter.d.ts +176 -0
  51. package/dist/database/adapters/base.adapter.js +31 -0
  52. package/dist/database/adapters/base.adapter.js.map +1 -0
  53. package/dist/database/adapters/dynamodb.adapter.d.ts +91 -0
  54. package/dist/database/adapters/dynamodb.adapter.js +1608 -0
  55. package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
  56. package/dist/database/adapters/mongodb.adapter.d.ts +71 -0
  57. package/dist/database/adapters/mongodb.adapter.js +1072 -0
  58. package/dist/database/adapters/mongodb.adapter.js.map +1 -0
  59. package/dist/database/adapters/mysql.adapter.d.ts +146 -0
  60. package/dist/database/adapters/mysql.adapter.js +1492 -0
  61. package/dist/database/adapters/mysql.adapter.js.map +1 -0
  62. package/dist/database/adapters/postgresql.adapter.d.ts +147 -0
  63. package/dist/database/adapters/postgresql.adapter.js +1603 -0
  64. package/dist/database/adapters/postgresql.adapter.js.map +1 -0
  65. package/dist/database/database.service.d.ts +232 -0
  66. package/dist/database/database.service.js +802 -0
  67. package/dist/database/database.service.js.map +1 -0
  68. package/dist/database/index.d.ts +18 -0
  69. package/dist/database/index.js +98 -0
  70. package/dist/database/index.js.map +1 -0
  71. package/dist/database/types/aggregation.types.d.ts +261 -0
  72. package/dist/database/types/aggregation.types.js +21 -0
  73. package/dist/database/types/aggregation.types.js.map +1 -0
  74. package/dist/database/types/connection.types.d.ts +132 -0
  75. package/dist/database/types/connection.types.js +6 -0
  76. package/dist/database/types/connection.types.js.map +1 -0
  77. package/dist/database/types/database.types.d.ts +175 -0
  78. package/dist/database/types/database.types.js +75 -0
  79. package/dist/database/types/database.types.js.map +1 -0
  80. package/dist/database/types/index.d.ts +12 -0
  81. package/dist/database/types/index.js +37 -0
  82. package/dist/database/types/index.js.map +1 -0
  83. package/dist/database/types/index.types.d.ts +220 -0
  84. package/dist/database/types/index.types.js +27 -0
  85. package/dist/database/types/index.types.js.map +1 -0
  86. package/dist/database/types/migration.types.d.ts +205 -0
  87. package/dist/database/types/migration.types.js +44 -0
  88. package/dist/database/types/migration.types.js.map +1 -0
  89. package/dist/database/types/query.types.d.ts +305 -0
  90. package/dist/database/types/query.types.js +57 -0
  91. package/dist/database/types/query.types.js.map +1 -0
  92. package/dist/database/types/result.types.d.ts +220 -0
  93. package/dist/database/types/result.types.js +6 -0
  94. package/dist/database/types/result.types.js.map +1 -0
  95. package/dist/database/types/schema.types.d.ts +190 -0
  96. package/dist/database/types/schema.types.js +69 -0
  97. package/dist/database/types/schema.types.js.map +1 -0
  98. package/dist/database/utils/helpers.d.ts +66 -0
  99. package/dist/database/utils/helpers.js +501 -0
  100. package/dist/database/utils/helpers.js.map +1 -0
  101. package/dist/database/utils/migration.utils.d.ts +151 -0
  102. package/dist/database/utils/migration.utils.js +476 -0
  103. package/dist/database/utils/migration.utils.js.map +1 -0
  104. package/dist/database/utils/transaction.d.ts +64 -0
  105. package/dist/database/utils/transaction.js +130 -0
  106. package/dist/database/utils/transaction.js.map +1 -0
  107. package/dist/database/validators/connection.validator.d.ts +20 -0
  108. package/dist/database/validators/connection.validator.js +267 -0
  109. package/dist/database/validators/connection.validator.js.map +1 -0
  110. package/dist/database/validators/query.validator.d.ts +31 -0
  111. package/dist/database/validators/query.validator.js +305 -0
  112. package/dist/database/validators/query.validator.js.map +1 -0
  113. package/dist/database/validators/schema.validator.d.ts +31 -0
  114. package/dist/database/validators/schema.validator.js +334 -0
  115. package/dist/database/validators/schema.validator.js.map +1 -0
  116. package/dist/graph/adapters/arangodb.adapter.d.ts +80 -0
  117. package/dist/graph/adapters/arangodb.adapter.js +1393 -0
  118. package/dist/graph/adapters/arangodb.adapter.js.map +1 -0
  119. package/dist/graph/adapters/base.adapter.d.ts +228 -0
  120. package/dist/graph/adapters/base.adapter.js +38 -0
  121. package/dist/graph/adapters/base.adapter.js.map +1 -0
  122. package/dist/graph/adapters/index.d.ts +10 -0
  123. package/dist/graph/adapters/index.js +23 -0
  124. package/dist/graph/adapters/index.js.map +1 -0
  125. package/dist/graph/adapters/memgraph.adapter.d.ts +85 -0
  126. package/dist/graph/adapters/memgraph.adapter.js +1491 -0
  127. package/dist/graph/adapters/memgraph.adapter.js.map +1 -0
  128. package/dist/graph/adapters/neo4j.adapter.d.ts +88 -0
  129. package/dist/graph/adapters/neo4j.adapter.js +1861 -0
  130. package/dist/graph/adapters/neo4j.adapter.js.map +1 -0
  131. package/dist/graph/adapters/neptune.adapter.d.ts +87 -0
  132. package/dist/graph/adapters/neptune.adapter.js +1430 -0
  133. package/dist/graph/adapters/neptune.adapter.js.map +1 -0
  134. package/dist/graph/graph.service.d.ts +278 -0
  135. package/dist/graph/graph.service.js +687 -0
  136. package/dist/graph/graph.service.js.map +1 -0
  137. package/dist/graph/index.d.ts +11 -0
  138. package/dist/graph/index.js +42 -0
  139. package/dist/graph/index.js.map +1 -0
  140. package/dist/graph/types/connection.types.d.ts +158 -0
  141. package/dist/graph/types/connection.types.js +43 -0
  142. package/dist/graph/types/connection.types.js.map +1 -0
  143. package/dist/graph/types/graph.types.d.ts +144 -0
  144. package/dist/graph/types/graph.types.js +84 -0
  145. package/dist/graph/types/graph.types.js.map +1 -0
  146. package/dist/graph/types/index.d.ts +11 -0
  147. package/dist/graph/types/index.js +35 -0
  148. package/dist/graph/types/index.js.map +1 -0
  149. package/dist/graph/types/node.types.d.ts +193 -0
  150. package/dist/graph/types/node.types.js +49 -0
  151. package/dist/graph/types/node.types.js.map +1 -0
  152. package/dist/graph/types/path.types.d.ts +224 -0
  153. package/dist/graph/types/path.types.js +38 -0
  154. package/dist/graph/types/path.types.js.map +1 -0
  155. package/dist/graph/types/query.types.d.ts +247 -0
  156. package/dist/graph/types/query.types.js +23 -0
  157. package/dist/graph/types/query.types.js.map +1 -0
  158. package/dist/graph/types/relationship.types.d.ts +224 -0
  159. package/dist/graph/types/relationship.types.js +35 -0
  160. package/dist/graph/types/relationship.types.js.map +1 -0
  161. package/dist/graph/types/result.types.d.ts +237 -0
  162. package/dist/graph/types/result.types.js +7 -0
  163. package/dist/graph/types/result.types.js.map +1 -0
  164. package/dist/graph/validators/index.d.ts +81 -0
  165. package/dist/graph/validators/index.js +243 -0
  166. package/dist/graph/validators/index.js.map +1 -0
  167. package/dist/imports/imports.service.d.ts +3 -3
  168. package/dist/imports/imports.service.js +7 -7
  169. package/dist/imports/imports.service.js.map +1 -1
  170. package/dist/imports/imports.types.d.ts +8 -0
  171. package/dist/imports/repos/postmanV21.repo.d.ts +1 -1
  172. package/dist/imports/repos/postmanV21.repo.js +29 -2
  173. package/dist/imports/repos/postmanV21.repo.js.map +1 -1
  174. package/dist/index.d.ts +1244 -150
  175. package/dist/index.js +1309 -209
  176. package/dist/index.js.map +1 -1
  177. package/dist/inputs/inputs.service.js +2 -2
  178. package/dist/inputs/inputs.service.js.map +1 -1
  179. package/dist/inputs/utils/inputs.utils.create.js +1 -1
  180. package/dist/inputs/utils/inputs.utils.create.js.map +1 -1
  181. package/dist/logs/logs.types.d.ts +5 -0
  182. package/dist/logs/logs.types.js +1 -0
  183. package/dist/logs/logs.types.js.map +1 -1
  184. package/dist/parsers/index.d.ts +3 -0
  185. package/dist/parsers/index.js +27 -0
  186. package/dist/parsers/index.js.map +1 -0
  187. package/dist/parsers/pipelines/postman.pipelines.d.ts +15 -0
  188. package/dist/parsers/pipelines/postman.pipelines.js +103 -0
  189. package/dist/parsers/pipelines/postman.pipelines.js.map +1 -0
  190. package/dist/parsers/types/postman.types.d.ts +200 -0
  191. package/dist/parsers/types/postman.types.js +3 -0
  192. package/dist/parsers/types/postman.types.js.map +1 -0
  193. package/dist/parsers/utils/postman.utils.d.ts +12 -0
  194. package/dist/parsers/utils/postman.utils.js +116 -0
  195. package/dist/parsers/utils/postman.utils.js.map +1 -0
  196. package/dist/parsers/validators/postman-auth.validators.d.ts +10 -0
  197. package/dist/parsers/validators/postman-auth.validators.js +127 -0
  198. package/dist/parsers/validators/postman-auth.validators.js.map +1 -0
  199. package/dist/parsers/validators/postman-request.validators.d.ts +13 -0
  200. package/dist/parsers/validators/postman-request.validators.js +139 -0
  201. package/dist/parsers/validators/postman-request.validators.js.map +1 -0
  202. package/dist/parsers/validators/postman-response.validators.d.ts +13 -0
  203. package/dist/parsers/validators/postman-response.validators.js +150 -0
  204. package/dist/parsers/validators/postman-response.validators.js.map +1 -0
  205. package/dist/parsers/validators/postman-variable.validators.d.ts +14 -0
  206. package/dist/parsers/validators/postman-variable.validators.js +163 -0
  207. package/dist/parsers/validators/postman-variable.validators.js.map +1 -0
  208. package/dist/pricing/pricing.repo.d.ts +0 -0
  209. package/dist/pricing/pricing.repo.js +1 -0
  210. package/dist/pricing/pricing.repo.js.map +1 -0
  211. package/dist/pricing/pricing.service.d.ts +24 -0
  212. package/dist/pricing/pricing.service.js +51 -0
  213. package/dist/pricing/pricing.service.js.map +1 -0
  214. package/dist/pricing/pricing.types.d.ts +76 -0
  215. package/dist/pricing/pricing.types.js +21 -0
  216. package/dist/pricing/pricing.types.js.map +1 -0
  217. package/dist/pricing/utils/string.utils.d.ts +1 -0
  218. package/dist/pricing/utils/string.utils.js +9 -0
  219. package/dist/pricing/utils/string.utils.js.map +1 -0
  220. package/dist/processor/repos/sms.repo.d.ts +4 -4
  221. package/dist/processor/repos/sms.repo.js +23 -10
  222. package/dist/processor/repos/sms.repo.js.map +1 -1
  223. package/dist/processor/services/messagebrokers/kafka.service.js +0 -2
  224. package/dist/processor/services/messagebrokers/kafka.service.js.map +1 -1
  225. package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +9 -1
  226. package/dist/processor/services/messagebrokers/rabbitmq.service.js +40 -11
  227. package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +1 -1
  228. package/dist/processor/services/processor.service.d.ts +38 -10
  229. package/dist/processor/services/processor.service.js +533 -248
  230. package/dist/processor/services/processor.service.js.map +1 -1
  231. package/dist/processor/services/request.service.d.ts +36 -0
  232. package/dist/processor/services/request.service.js +304 -0
  233. package/dist/processor/services/request.service.js.map +1 -0
  234. package/dist/processor/types/request.types.d.ts +14 -0
  235. package/dist/processor/types/request.types.js +3 -0
  236. package/dist/processor/types/request.types.js.map +1 -0
  237. package/dist/processor/utils/processor.utils.d.ts +3 -0
  238. package/dist/processor/utils/processor.utils.js +84 -22
  239. package/dist/processor/utils/processor.utils.js.map +1 -1
  240. package/dist/processor/utils/request.utils.d.ts +20 -0
  241. package/dist/processor/utils/request.utils.js +113 -0
  242. package/dist/processor/utils/request.utils.js.map +1 -0
  243. package/dist/products/services/products.service.d.ts +114 -77
  244. package/dist/products/services/products.service.js +805 -362
  245. package/dist/products/services/products.service.js.map +1 -1
  246. package/dist/products/services/utils/crypt.utils.d.ts +1 -0
  247. package/dist/products/services/utils/crypt.utils.js +17 -0
  248. package/dist/products/services/utils/crypt.utils.js.map +1 -0
  249. package/dist/products/services/utils/functions.utils.d.ts +13 -0
  250. package/dist/products/services/utils/functions.utils.js +289 -0
  251. package/dist/products/services/utils/functions.utils.js.map +1 -0
  252. package/dist/products/services/utils/objects.utils.d.ts +13 -0
  253. package/dist/products/services/utils/objects.utils.js +89 -0
  254. package/dist/products/services/utils/objects.utils.js.map +1 -0
  255. package/dist/products/services/utils/string.utils.d.ts +12 -0
  256. package/dist/products/services/utils/string.utils.js +168 -0
  257. package/dist/products/services/utils/string.utils.js.map +1 -0
  258. package/dist/products/utils/string.utils.d.ts +1 -1
  259. package/dist/products/utils/string.utils.js +14 -2
  260. package/dist/products/utils/string.utils.js.map +1 -1
  261. package/dist/products/validators/index.d.ts +4 -1
  262. package/dist/products/validators/index.js +7 -1
  263. package/dist/products/validators/index.js.map +1 -1
  264. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.d.ts +15 -4
  265. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js +501 -109
  266. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js.map +1 -1
  267. package/dist/products/validators/joi-validators/create.productEnv.validator.js +1 -0
  268. package/dist/products/validators/joi-validators/create.productEnv.validator.js.map +1 -1
  269. package/dist/products/validators/joi-validators/create.productGraph.validator.d.ts +3 -0
  270. package/dist/products/validators/joi-validators/create.productGraph.validator.js +82 -0
  271. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -0
  272. package/dist/products/validators/joi-validators/create.productGraphAction.validator.d.ts +14 -0
  273. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js +696 -0
  274. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js.map +1 -0
  275. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.d.ts +4 -0
  276. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js +58 -0
  277. package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +1 -0
  278. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
  279. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
  280. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +9 -4
  281. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
  282. package/dist/products/validators/joi-validators/create.productNotification.validator.js +5 -2
  283. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
  284. package/dist/products/validators/joi-validators/create.userAuth.validator.js +1 -0
  285. package/dist/products/validators/joi-validators/create.userAuth.validator.js.map +1 -1
  286. package/dist/products/validators/joi-validators/update.dataValue.validator.js +1 -0
  287. package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +1 -1
  288. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.d.ts +6 -0
  289. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js +28 -26
  290. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js.map +1 -1
  291. package/dist/products/validators/joi-validators/update.productEnv.validator.js +3 -0
  292. package/dist/products/validators/joi-validators/update.productEnv.validator.js.map +1 -1
  293. package/dist/products/validators/joi-validators/update.productGraph.validator.d.ts +3 -0
  294. package/dist/products/validators/joi-validators/update.productGraph.validator.js +87 -0
  295. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -0
  296. package/dist/products/validators/joi-validators/update.productGraphAction.validator.d.ts +7 -0
  297. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js +72 -0
  298. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js.map +1 -0
  299. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js +1 -0
  300. package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js.map +1 -1
  301. package/dist/products/validators/joi-validators/update.userAuth.validator.js +1 -0
  302. package/dist/products/validators/joi-validators/update.userAuth.validator.js.map +1 -1
  303. package/dist/test/test.health.d.ts +1 -0
  304. package/dist/test/test.health.js +49 -0
  305. package/dist/test/test.health.js.map +1 -0
  306. package/dist/test/test.import.js +51 -4
  307. package/dist/test/test.import.js.map +1 -1
  308. package/dist/test/test.imports.js +22 -7
  309. package/dist/test/test.imports.js.map +1 -1
  310. package/dist/test/test.notifiers.d.ts +1 -0
  311. package/dist/test/test.notifiers.js +85 -0
  312. package/dist/test/test.notifiers.js.map +1 -0
  313. package/dist/test/test.processor.js +30 -115
  314. package/dist/test/test.processor.js.map +1 -1
  315. package/dist/test/test.products.d.ts +1 -0
  316. package/dist/test/test.products.js +49 -0
  317. package/dist/test/test.products.js.map +1 -0
  318. package/dist/types/appBuilder.types.d.ts +5 -12
  319. package/dist/types/enums.d.ts +4 -1
  320. package/dist/types/enums.js +3 -0
  321. package/dist/types/enums.js.map +1 -1
  322. package/dist/types/index.types.d.ts +4 -0
  323. package/dist/types/pricing.types.d.ts +4 -0
  324. package/dist/types/pricing.types.js +3 -0
  325. package/dist/types/pricing.types.js.map +1 -0
  326. package/dist/types/processor.types.d.ts +67 -11
  327. package/dist/types/processor.types.js.map +1 -1
  328. package/dist/types/productsBuilder.types.d.ts +132 -14
  329. package/dist/types/productsBuilder.types.js +69 -4
  330. package/dist/types/productsBuilder.types.js.map +1 -1
  331. package/dist/types/request-tracker.interface.d.ts +0 -0
  332. package/dist/types/request-tracker.interface.js +1 -0
  333. package/dist/types/request-tracker.interface.js.map +1 -0
  334. package/dist/utils/constants.d.ts +1 -0
  335. package/dist/utils/constants.js +5 -0
  336. package/dist/utils/constants.js.map +1 -0
  337. package/package.json +17 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/database/database.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,2DASgC;AAqDhC,sEAAkE;AAClE,gEAA4D;AAC5D,4DAAwD;AACxD,kEAA8D;AAC9D,6FAAmE;AACnE,sDAA+C;AAC/C,0EAA6F;AAC7F,wEAA+C;AAC/C,mDAAmE;AACnE,+BAAoC;AAepC;;GAEG;AACH,MAAa,eAAe;IAO1B,YAAY,MAA8B;QALlC,gBAAW,GAA6B,IAAI,GAAG,EAAE,CAAC;QAClD,aAAQ,GAA2C,IAAI,GAAG,EAAE,CAAC;QAE7D,qBAAgB,GAAoC,IAAI,CAAC;QAG/D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,IAAI,qBAAO,CAAC,UAAU,CAAC;QACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAAY,CAAC,UAAU,EAAE,IAAI,sCAAiB,EAAE,CAAC,CAAC;QAEpE,2BAA2B;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAAY,CAAC,OAAO,EAAE,IAAI,gCAAc,EAAE,CAAC,CAAC;QAE9D,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAAY,CAAC,KAAK,EAAE,IAAI,4BAAY,EAAE,CAAC,CAAC;QAE1D,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,6BAAY,CAAC,QAAQ,EAAE,IAAI,kCAAe,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,IAAkB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,gBAAgB,EAClC,4CAA4C,IAAI,EAAE,CACnD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,MAAgC;;QAEhC,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,cAAc,GAAG,IAAI,0BAAc,CAAC;gBACxC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,QAAQ,EAAE,IAAI,CAAC,WAAW;aAC3B,CAAC,CAAC;YAEH,gCAAgC;YAChC,MAAM,cAAc,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE5D,mCAAmC;YACnC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAErE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,gBAAgB,EAClC,aAAa,MAAM,CAAC,QAAQ,2BAA2B,MAAM,CAAC,OAAO,GAAG,CACzE,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7E,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,gBAAgB,EAClC,gBAAgB,MAAM,CAAC,GAAG,6BAA6B,MAAM,CAAC,QAAQ,GAAG,CAC1E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;gBAC9B,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,gBAAgB,EAClC,8CAA8C,MAAM,CAAC,QAAQ,qBAAqB,MAAM,CAAC,GAAG,GAAG,CAChG,CAAC;YACJ,CAAC;YAED,uDAAuD;YACvD,MAAM,QAAQ,GAAoB,IAAI,CAAC,kBAAkB,CACvD,SAAS,CAAC,cAAc,EACxB,QAAQ,CAAC,IAAI,EACb,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,QAAQ,CAChB,CAAC;YAEF,wCAAwC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,4CAA4C;YAC5C,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAC3E,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAErD,IAAI,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACjC,CAAC;YAED,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAEhD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,8BAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,gBAAgB,EAClC,yCAAyC,KAAK,CAAC,OAAO,EAAE,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,aAAqB,EACrB,MAAc,EACd,GAAW,EACX,YAAoB;QAEpB,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,WAAW,GAAiC;gBAChD,UAAU,EAAE,6BAAY,CAAC,UAAU;gBACnC,QAAQ,EAAE,6BAAY,CAAC,UAAU;gBACjC,KAAK,EAAE,6BAAY,CAAC,KAAK;gBACzB,OAAO,EAAE,6BAAY,CAAC,OAAO;gBAC7B,KAAK,EAAE,6BAAY,CAAC,OAAO;gBAC3B,QAAQ,EAAE,6BAAY,CAAC,QAAQ;aAChC,CAAC;YAEF,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,kDAAkD;YAClD,IAAI,UAAU,KAAK,6BAAY,CAAC,OAAO,EAAE,CAAC;gBACxC,mGAAmG;gBACnG,OAAO;oBACL,IAAI,EAAE,6BAAY,CAAC,OAAO;oBAC1B,GAAG;oBACH,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE;wBACP,gBAAgB,EAAE,aAAa;wBAC/B,GAAG,EAAE,aAAa;qBACnB;iBACF,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,KAAK,6BAAY,CAAC,QAAQ,EAAE,CAAC;gBAChD,8DAA8D;gBAC9D,+EAA+E;gBAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC5B,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;gBACrE,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC;gBAC7E,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;gBAEvE,OAAO;oBACL,IAAI,EAAE,6BAAY,CAAC,QAAQ;oBAC3B,GAAG;oBACH,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE;wBACP,MAAM;wBACN,WAAW;wBACX,eAAe;wBACf,YAAY;qBACb;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,uGAAuG;gBACvG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;gBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAE1D,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,GAAG;oBACH,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY;oBAC/C,OAAO,kBACL,IAAI,EAAE,GAAG,CAAC,QAAQ,EAClB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,6BAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC1F,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS,EAC/B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS,EACnC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS,IAChC,UAAU,CACd;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,gBAAgB,EAClC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAuB;QAC7C,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,oCAAoC;YACpC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,OAA8D;QAE9D,2CAA2C;QAC3C,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvD,OAAO;gBACL,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,gBAAgB,EAClC,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG;YAC7C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO;YACzD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ;SAC7D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,MAAkD;QAElD,2CAA2C;QAC3C,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,kCAAkC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAExE,qCAAqC;QACrC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC;QAED,wBAAwB;QACxB,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAEhD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAgC;QAC5C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,sCAAsC;QACtC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,OAAO,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAgC;QAC/C,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEvC,wCAAwC;YACxC,IACE,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;gBAChD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;gBAClD,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EACxC,CAAC;gBACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAgC;QACnD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,gEAAgE;IAEhE;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAgC,EAChC,OAA6B;QAE7B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,MAAsD,EACtD,QAAgC;QAEhC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,0DAA0D;IAE1D;;OAEG;IACH,KAAK,CAAC,KAAK,CAAU,OAAsB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,KAAK,CAAI,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAU,OAAuB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAU,OAAuB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAU,OAAuB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAU,OAAuB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAU,OAAyB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,UAAU,CAAI,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,gEAAgE;IAEhE;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAsB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAoB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAoB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAoB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAoB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAA0B;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,2DAA2D;IAE3D;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,MAAgC,EAChC,MAAoB,EACpB,OAA6B;QAE7B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,MAAgC,EAChC,SAAiB;QAEjB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,MAAgC,EAChC,SAAiB,EACjB,WAAgC,EAChC,OAA4B;QAE5B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAAgC,EAChC,SAAiB;QAEjB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAgC;QAC/C,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAgC,EAAE,SAAiB;QACnE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,0DAA0D;IAE1D;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA4B;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAA0B;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA4B;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAgC,EAChC,SAAiB,EACjB,SAAkB;QAElB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,8DAA8D;IAE9D;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,SAA+B,EAC/B,OAAmC;QAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,SAA+B,EAC/B,OAAmC;QAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAmC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAAoF;QAEpF,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvD,uDAAuD;QACvD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAE1D,+BAA+B;QAC/B,MAAM,iBAAiB,GAAG,iBAAiB;aACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE;YACpC,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC,CAAC,CAAC;QAEN,6BAA6B;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhE,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,MAAM;YAC/B,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,OAAO,EAAE,iBAAiB,CAAC,MAAM;YACjC,MAAM,EAAE,CAAC,EAAE,mDAAmD;YAC9D,WAAW;YACX,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED,mEAAmE;IAEnE;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,CAAU,OAMtB;QACC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAA,SAAM,GAAE,CAAC;QAC3B,IAAI,UAAU,GAAuB,IAAI,CAAC;QAC1C,IAAI,UAAU,GAAG,OAAO,CAAC;QAEzB,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,cAAc,GAAG,IAAI,0BAAc,CAAC;gBACxC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,QAAQ,EAAE,IAAI,CAAC,WAAW;gBAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACvC,CAAC,CAAC;YAEH,yBAAyB;YACzB,MAAM,cAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrD,UAAU,GAAG,OAAO,CAAC,CAAC,2CAA2C;YAEjE,qDAAqD;YACrD,UAAU,GAAG,IAAI,sBAAW,CAAC;gBAC3B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,UAAU,EAAE,cAAc,CAAC,cAAc,EAAE;gBAC3C,QAAQ,EAAE,IAAI,CAAC,WAAW;gBAC1B,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,aAAa,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAEzE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,WAAW,EAC7B,oBAAoB,aAAa,2BAA2B,OAAO,GAAG,CACvE,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,MAAM,gBAAgB,GAA6B;gBACjD,OAAO;gBACP,GAAG;gBACH,QAAQ;aACT,CAAC;YACF,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAE3E,oDAAoD;YACpD,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEnE,+BAA+B;YAC/B,IAAI,MAAS,CAAC;YACd,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtB,oDAAoD;gBACpD,KAAK,2CAAmB,CAAC,KAAK,CAAC;gBAC/B,KAAK,2CAAmB,CAAC,IAAI;oBAC3B,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAI,UAAU,kBACxC,KAAK,EAAE,QAAQ,CAAC,SAAS,IACtB,cAAc,EACjB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;oBAC9B,MAAM;gBAER,wDAAwD;gBACxD,KAAK,2CAAmB,CAAC,MAAM,CAAC;gBAChC,KAAK,2CAAmB,CAAC,MAAM;oBAC7B,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE;wBAC3C,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,KAAK;wBAClC,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;oBAC9B,MAAM;gBAER,KAAK,2CAAmB,CAAC,MAAM;oBAC7B,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE;wBAC3C,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,KAAK;wBAClC,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;oBAC9B,MAAM;gBAER,KAAK,2CAAmB,CAAC,MAAM;oBAC7B,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE;wBAC3C,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;oBAC9B,MAAM;gBAER,KAAK,2CAAmB,CAAC,MAAM;oBAC7B,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAI,UAAU,EAAE;wBAC3C,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,KAAK;wBAClC,aAAa,EAAE,cAAc,CAAC,aAAa,IAAI,cAAc,CAAC,YAAY,IAAI,EAAE;wBAChF,aAAa,EAAE,cAAc,CAAC,aAAa;wBAC3C,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;oBAC9B,MAAM;gBAER,yBAAyB;gBACzB,KAAK,2CAAmB,CAAC,KAAK;oBAC5B,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;wBACvC,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;wBAC7B,QAAQ,EAAE,cAAc,CAAC,QAAQ;qBAClC,CAAM,CAAC;oBACR,MAAM;gBAER,KAAK,2CAAmB,CAAC,GAAG;oBAC1B,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;wBACrC,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,MAAM,EAAE,cAAc,CAAC,MAAM;wBAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;qBAC5B,CAAM,CAAC;oBACR,MAAM;gBAER,KAAK,2CAAmB,CAAC,OAAO;oBAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;wBACrC,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,MAAM,EAAE,cAAc,CAAC,MAAM;wBAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;qBAC5B,CAAM,CAAC;oBACR,MAAM;gBAER,KAAK,2CAAmB,CAAC,OAAO;oBAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;wBACrC,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,MAAM,EAAE,cAAc,CAAC,MAAM;wBAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;qBAC5B,CAAM,CAAC;oBACR,MAAM;gBAER,KAAK,2CAAmB,CAAC,OAAO;oBAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;wBACrC,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,MAAM,EAAE,cAAc,CAAC,MAAM;wBAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;qBAC5B,CAAM,CAAC;oBACR,MAAM;gBAER,KAAK,2CAAmB,CAAC,QAAQ;oBAC/B,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE;wBACzC,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,EAAE;wBACrC,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;wBAC7B,OAAO,EAAE,cAAc,CAAC,OAAO;wBAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;qBAC9B,CAAM,CAAC;oBACR,MAAM;gBAER,KAAK,2CAAmB,CAAC,SAAS;oBAChC,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE;wBAC3C,KAAK,EAAE,QAAQ,CAAC,SAAS;wBACzB,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,EAAE;wBAC3C,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,OAAO,EAAE,cAAc,CAAC,OAAO;wBAC/B,MAAM,EAAE,cAAc,CAAC,MAAM;qBAC9B,CAAM,CAAC;oBACR,MAAM;gBAER,gBAAgB;gBAChB,KAAK,2CAAmB,CAAC,OAAO;oBAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAI,UAAU,EAAE;wBAC/C,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,GAAG;wBACjD,MAAM,EAAE,cAAc,CAAC,MAAM;wBAC7B,WAAW,EAAE,cAAc,CAAC,WAAW;qBACxC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;oBAC9B,MAAM;gBAER;oBACE,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,WAAW,EAC7B,4BAA4B,QAAQ,CAAC,IAAI,EAAE,CAC5C,CAAC;YACN,CAAC;YAED,kCAAkC;YAClC,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,GAAG,CAAC;oBACb,UAAU,EAAE,SAAS;oBACrB,WAAW,EAAE,UAAU;oBACvB,GAAG;oBACH,IAAI,EAAE,0BAAa,CAAC,SAAS;oBAC7B,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,2BAAc,CAAC,OAAO;oBAC9B,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;oBACf,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE;iBACjE,CAAC,CAAC;gBACH,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,0CAA0C;YAClF,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,kCAAkC;YAClC,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,GAAG,CAAC;oBACb,UAAU,EAAE,SAAS;oBACrB,WAAW,EAAE,UAAU;oBACvB,GAAG;oBACH,IAAI,EAAE,0BAAa,CAAC,SAAS;oBAC7B,MAAM,EAAE,GAAG,QAAQ,IAAI,SAAS,EAAE;oBAClC,MAAM,EAAE,2BAAc,CAAC,IAAI;oBAC3B,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;oBACf,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;iBAC5D,CAAC,CAAC;gBACH,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,0CAA0C;YAClF,CAAC;YAED,IAAI,KAAK,YAAY,8BAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,8BAAa,CACrB,kCAAiB,CAAC,WAAW,EAC7B,sCAAsC,KAAK,CAAC,OAAO,EAAE,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,MAA8B,EAC9B,KAA0B;QAE1B,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE/B,4CAA4C;QAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAAC,WAAM,CAAC;gBACP,mDAAmD;gBACnD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvD,qCAAqC;QACrC,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAgB,EAAE,MAA2B;QACzE,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC1D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,GAAQ,EAAE,MAA2B;QACjE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,wCAAwC;YACxC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACnE,CAAC;YACD,4BAA4B;YAC5B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,4DAA4D;IAE5D;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7E,UAAU,CAAC,UAAU,EAAE,CACxB,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF;AAx9BD,0CAw9BC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Database module index
3
+ * Exports the main database service and all types
4
+ */
5
+ export { DatabaseService } from './database.service';
6
+ export * from './types';
7
+ export { BaseDatabaseAdapter } from './adapters/base.adapter';
8
+ export { PostgreSQLAdapter } from './adapters/postgresql.adapter';
9
+ export { MongoDBAdapter } from './adapters/mongodb.adapter';
10
+ export { MySQLAdapter } from './adapters/mysql.adapter';
11
+ export { DynamoDBAdapter } from './adapters/dynamodb.adapter';
12
+ export { Transaction, Savepoint, TransactionFactory } from './utils/transaction';
13
+ export { generateMigrationTag, generateMigrationTimestamp, createMigration, createTable, dropTable, addColumn, dropColumn, modifyColumn, renameColumn, addIndex, dropIndex, addConstraint, dropConstraint, rawSql, createTableMigration, addColumnMigration, addIndexMigration, SchemaHelpers, generateMigrationFileContent, generateMigrationTemplate, } from './utils/migration.utils';
14
+ export { mapColumnTypeToNative, buildWhereClause, buildMongoQuery, escapeIdentifier, escapeValue, formatDatabaseError, isConnectionError, isDuplicateKeyError, isForeignKeyError, retryOperation, sanitizeTableName, camelToSnake, snakeToCamel, deepClone, } from './utils/helpers';
15
+ export { validateConnection, assertValidConnection } from './validators/connection.validator';
16
+ export type { IValidationResult } from './validators/connection.validator';
17
+ export { validateTableSchema, validateColumnDefinition, validateIndexDefinition, assertValidTableSchema, assertValidColumn, assertValidIndex, } from './validators/schema.validator';
18
+ export { validateQueryOptions, validateInsertData, validateUpdateData, assertValidQueryOptions, assertValidInsertData, assertValidUpdateData, } from './validators/query.validator';
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * Database module index
4
+ * Exports the main database service and all types
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.assertValidColumn = exports.assertValidTableSchema = exports.validateIndexDefinition = exports.validateColumnDefinition = exports.validateTableSchema = exports.assertValidConnection = exports.validateConnection = exports.deepClone = exports.snakeToCamel = exports.camelToSnake = exports.sanitizeTableName = exports.retryOperation = exports.isForeignKeyError = exports.isDuplicateKeyError = exports.isConnectionError = exports.formatDatabaseError = exports.escapeValue = exports.escapeIdentifier = exports.buildMongoQuery = exports.buildWhereClause = exports.mapColumnTypeToNative = exports.generateMigrationTemplate = exports.generateMigrationFileContent = exports.SchemaHelpers = exports.addIndexMigration = exports.addColumnMigration = exports.createTableMigration = exports.rawSql = exports.dropConstraint = exports.addConstraint = exports.dropIndex = exports.addIndex = exports.renameColumn = exports.modifyColumn = exports.dropColumn = exports.addColumn = exports.dropTable = exports.createTable = exports.createMigration = exports.generateMigrationTimestamp = exports.generateMigrationTag = exports.TransactionFactory = exports.Savepoint = exports.Transaction = exports.DynamoDBAdapter = exports.MySQLAdapter = exports.MongoDBAdapter = exports.PostgreSQLAdapter = exports.BaseDatabaseAdapter = exports.DatabaseService = void 0;
22
+ exports.assertValidUpdateData = exports.assertValidInsertData = exports.assertValidQueryOptions = exports.validateUpdateData = exports.validateInsertData = exports.validateQueryOptions = exports.assertValidIndex = void 0;
23
+ // Export main service
24
+ var database_service_1 = require("./database.service");
25
+ Object.defineProperty(exports, "DatabaseService", { enumerable: true, get: function () { return database_service_1.DatabaseService; } });
26
+ // Export all types
27
+ __exportStar(require("./types"), exports);
28
+ // Export adapters (for advanced usage)
29
+ var base_adapter_1 = require("./adapters/base.adapter");
30
+ Object.defineProperty(exports, "BaseDatabaseAdapter", { enumerable: true, get: function () { return base_adapter_1.BaseDatabaseAdapter; } });
31
+ var postgresql_adapter_1 = require("./adapters/postgresql.adapter");
32
+ Object.defineProperty(exports, "PostgreSQLAdapter", { enumerable: true, get: function () { return postgresql_adapter_1.PostgreSQLAdapter; } });
33
+ var mongodb_adapter_1 = require("./adapters/mongodb.adapter");
34
+ Object.defineProperty(exports, "MongoDBAdapter", { enumerable: true, get: function () { return mongodb_adapter_1.MongoDBAdapter; } });
35
+ var mysql_adapter_1 = require("./adapters/mysql.adapter");
36
+ Object.defineProperty(exports, "MySQLAdapter", { enumerable: true, get: function () { return mysql_adapter_1.MySQLAdapter; } });
37
+ var dynamodb_adapter_1 = require("./adapters/dynamodb.adapter");
38
+ Object.defineProperty(exports, "DynamoDBAdapter", { enumerable: true, get: function () { return dynamodb_adapter_1.DynamoDBAdapter; } });
39
+ // Export utilities
40
+ var transaction_1 = require("./utils/transaction");
41
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
42
+ Object.defineProperty(exports, "Savepoint", { enumerable: true, get: function () { return transaction_1.Savepoint; } });
43
+ Object.defineProperty(exports, "TransactionFactory", { enumerable: true, get: function () { return transaction_1.TransactionFactory; } });
44
+ var migration_utils_1 = require("./utils/migration.utils");
45
+ Object.defineProperty(exports, "generateMigrationTag", { enumerable: true, get: function () { return migration_utils_1.generateMigrationTag; } });
46
+ Object.defineProperty(exports, "generateMigrationTimestamp", { enumerable: true, get: function () { return migration_utils_1.generateMigrationTimestamp; } });
47
+ Object.defineProperty(exports, "createMigration", { enumerable: true, get: function () { return migration_utils_1.createMigration; } });
48
+ Object.defineProperty(exports, "createTable", { enumerable: true, get: function () { return migration_utils_1.createTable; } });
49
+ Object.defineProperty(exports, "dropTable", { enumerable: true, get: function () { return migration_utils_1.dropTable; } });
50
+ Object.defineProperty(exports, "addColumn", { enumerable: true, get: function () { return migration_utils_1.addColumn; } });
51
+ Object.defineProperty(exports, "dropColumn", { enumerable: true, get: function () { return migration_utils_1.dropColumn; } });
52
+ Object.defineProperty(exports, "modifyColumn", { enumerable: true, get: function () { return migration_utils_1.modifyColumn; } });
53
+ Object.defineProperty(exports, "renameColumn", { enumerable: true, get: function () { return migration_utils_1.renameColumn; } });
54
+ Object.defineProperty(exports, "addIndex", { enumerable: true, get: function () { return migration_utils_1.addIndex; } });
55
+ Object.defineProperty(exports, "dropIndex", { enumerable: true, get: function () { return migration_utils_1.dropIndex; } });
56
+ Object.defineProperty(exports, "addConstraint", { enumerable: true, get: function () { return migration_utils_1.addConstraint; } });
57
+ Object.defineProperty(exports, "dropConstraint", { enumerable: true, get: function () { return migration_utils_1.dropConstraint; } });
58
+ Object.defineProperty(exports, "rawSql", { enumerable: true, get: function () { return migration_utils_1.rawSql; } });
59
+ Object.defineProperty(exports, "createTableMigration", { enumerable: true, get: function () { return migration_utils_1.createTableMigration; } });
60
+ Object.defineProperty(exports, "addColumnMigration", { enumerable: true, get: function () { return migration_utils_1.addColumnMigration; } });
61
+ Object.defineProperty(exports, "addIndexMigration", { enumerable: true, get: function () { return migration_utils_1.addIndexMigration; } });
62
+ Object.defineProperty(exports, "SchemaHelpers", { enumerable: true, get: function () { return migration_utils_1.SchemaHelpers; } });
63
+ Object.defineProperty(exports, "generateMigrationFileContent", { enumerable: true, get: function () { return migration_utils_1.generateMigrationFileContent; } });
64
+ Object.defineProperty(exports, "generateMigrationTemplate", { enumerable: true, get: function () { return migration_utils_1.generateMigrationTemplate; } });
65
+ var helpers_1 = require("./utils/helpers");
66
+ Object.defineProperty(exports, "mapColumnTypeToNative", { enumerable: true, get: function () { return helpers_1.mapColumnTypeToNative; } });
67
+ Object.defineProperty(exports, "buildWhereClause", { enumerable: true, get: function () { return helpers_1.buildWhereClause; } });
68
+ Object.defineProperty(exports, "buildMongoQuery", { enumerable: true, get: function () { return helpers_1.buildMongoQuery; } });
69
+ Object.defineProperty(exports, "escapeIdentifier", { enumerable: true, get: function () { return helpers_1.escapeIdentifier; } });
70
+ Object.defineProperty(exports, "escapeValue", { enumerable: true, get: function () { return helpers_1.escapeValue; } });
71
+ Object.defineProperty(exports, "formatDatabaseError", { enumerable: true, get: function () { return helpers_1.formatDatabaseError; } });
72
+ Object.defineProperty(exports, "isConnectionError", { enumerable: true, get: function () { return helpers_1.isConnectionError; } });
73
+ Object.defineProperty(exports, "isDuplicateKeyError", { enumerable: true, get: function () { return helpers_1.isDuplicateKeyError; } });
74
+ Object.defineProperty(exports, "isForeignKeyError", { enumerable: true, get: function () { return helpers_1.isForeignKeyError; } });
75
+ Object.defineProperty(exports, "retryOperation", { enumerable: true, get: function () { return helpers_1.retryOperation; } });
76
+ Object.defineProperty(exports, "sanitizeTableName", { enumerable: true, get: function () { return helpers_1.sanitizeTableName; } });
77
+ Object.defineProperty(exports, "camelToSnake", { enumerable: true, get: function () { return helpers_1.camelToSnake; } });
78
+ Object.defineProperty(exports, "snakeToCamel", { enumerable: true, get: function () { return helpers_1.snakeToCamel; } });
79
+ Object.defineProperty(exports, "deepClone", { enumerable: true, get: function () { return helpers_1.deepClone; } });
80
+ // Export validators
81
+ var connection_validator_1 = require("./validators/connection.validator");
82
+ Object.defineProperty(exports, "validateConnection", { enumerable: true, get: function () { return connection_validator_1.validateConnection; } });
83
+ Object.defineProperty(exports, "assertValidConnection", { enumerable: true, get: function () { return connection_validator_1.assertValidConnection; } });
84
+ var schema_validator_1 = require("./validators/schema.validator");
85
+ Object.defineProperty(exports, "validateTableSchema", { enumerable: true, get: function () { return schema_validator_1.validateTableSchema; } });
86
+ Object.defineProperty(exports, "validateColumnDefinition", { enumerable: true, get: function () { return schema_validator_1.validateColumnDefinition; } });
87
+ Object.defineProperty(exports, "validateIndexDefinition", { enumerable: true, get: function () { return schema_validator_1.validateIndexDefinition; } });
88
+ Object.defineProperty(exports, "assertValidTableSchema", { enumerable: true, get: function () { return schema_validator_1.assertValidTableSchema; } });
89
+ Object.defineProperty(exports, "assertValidColumn", { enumerable: true, get: function () { return schema_validator_1.assertValidColumn; } });
90
+ Object.defineProperty(exports, "assertValidIndex", { enumerable: true, get: function () { return schema_validator_1.assertValidIndex; } });
91
+ var query_validator_1 = require("./validators/query.validator");
92
+ Object.defineProperty(exports, "validateQueryOptions", { enumerable: true, get: function () { return query_validator_1.validateQueryOptions; } });
93
+ Object.defineProperty(exports, "validateInsertData", { enumerable: true, get: function () { return query_validator_1.validateInsertData; } });
94
+ Object.defineProperty(exports, "validateUpdateData", { enumerable: true, get: function () { return query_validator_1.validateUpdateData; } });
95
+ Object.defineProperty(exports, "assertValidQueryOptions", { enumerable: true, get: function () { return query_validator_1.assertValidQueryOptions; } });
96
+ Object.defineProperty(exports, "assertValidInsertData", { enumerable: true, get: function () { return query_validator_1.assertValidInsertData; } });
97
+ Object.defineProperty(exports, "assertValidUpdateData", { enumerable: true, get: function () { return query_validator_1.assertValidUpdateData; } });
98
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;AAEH,sBAAsB;AACtB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AAExB,mBAAmB;AACnB,0CAAwB;AAExB,uCAAuC;AACvC,wDAA8D;AAArD,mHAAA,mBAAmB,OAAA;AAC5B,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,gEAA8D;AAArD,mHAAA,eAAe,OAAA;AAExB,mBAAmB;AACnB,mDAAiF;AAAxE,0GAAA,WAAW,OAAA;AAAE,wGAAA,SAAS,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AACnD,2DAqBiC;AApB/B,uHAAA,oBAAoB,OAAA;AACpB,6HAAA,0BAA0B,OAAA;AAC1B,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,4GAAA,SAAS,OAAA;AACT,4GAAA,SAAS,OAAA;AACT,6GAAA,UAAU,OAAA;AACV,+GAAA,YAAY,OAAA;AACZ,+GAAA,YAAY,OAAA;AACZ,2GAAA,QAAQ,OAAA;AACR,4GAAA,SAAS,OAAA;AACT,gHAAA,aAAa,OAAA;AACb,iHAAA,cAAc,OAAA;AACd,yGAAA,MAAM,OAAA;AACN,uHAAA,oBAAoB,OAAA;AACpB,qHAAA,kBAAkB,OAAA;AAClB,oHAAA,iBAAiB,OAAA;AACjB,gHAAA,aAAa,OAAA;AACb,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AAE3B,2CAeyB;AAdvB,gHAAA,qBAAqB,OAAA;AACrB,2GAAA,gBAAgB,OAAA;AAChB,0GAAA,eAAe,OAAA;AACf,2GAAA,gBAAgB,OAAA;AAChB,sGAAA,WAAW,OAAA;AACX,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,8GAAA,mBAAmB,OAAA;AACnB,4GAAA,iBAAiB,OAAA;AACjB,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA;AACjB,uGAAA,YAAY,OAAA;AACZ,uGAAA,YAAY,OAAA;AACZ,oGAAA,SAAS,OAAA;AAGX,oBAAoB;AACpB,0EAA8F;AAArF,0HAAA,kBAAkB,OAAA;AAAE,6HAAA,qBAAqB,OAAA;AAElD,kEAOuC;AANrC,uHAAA,mBAAmB,OAAA;AACnB,4HAAA,wBAAwB,OAAA;AACxB,2HAAA,uBAAuB,OAAA;AACvB,0HAAA,sBAAsB,OAAA;AACtB,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA;AAElB,gEAOsC;AANpC,uHAAA,oBAAoB,OAAA;AACpB,qHAAA,kBAAkB,OAAA;AAClB,qHAAA,kBAAkB,OAAA;AAClB,0HAAA,uBAAuB,OAAA;AACvB,wHAAA,qBAAqB,OAAA;AACrB,wHAAA,qBAAqB,OAAA"}
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Aggregation type definitions for database operations
3
+ */
4
+ import { WhereClause, IOrderBy } from './query.types';
5
+ /**
6
+ * Aggregation function types
7
+ */
8
+ export declare enum AggregationFunction {
9
+ COUNT = "count",
10
+ SUM = "sum",
11
+ AVG = "avg",
12
+ MIN = "min",
13
+ MAX = "max",
14
+ GROUP_CONCAT = "group_concat",// MySQL
15
+ STRING_AGG = "string_agg",// PostgreSQL
16
+ ARRAY_AGG = "array_agg"
17
+ }
18
+ /**
19
+ * Aggregation operation format
20
+ * Use like: { $COUNT: '*' } or { $SUM: 'column_name' }
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * operations: {
25
+ * total_orders: { $COUNT: '*' },
26
+ * total_revenue: { $SUM: 'total' },
27
+ * avg_order_value: { $AVG: 'total' },
28
+ * min_order: { $MIN: 'total' },
29
+ * max_order: { $MAX: 'total' },
30
+ * }
31
+ * ```
32
+ */
33
+ export interface ISimplifiedAggregation {
34
+ /** Count - use '*' for all rows or column name for non-null values */
35
+ $COUNT?: string;
36
+ /** Sum of column values */
37
+ $SUM?: string;
38
+ /** Average of column values */
39
+ $AVG?: string;
40
+ /** Minimum value */
41
+ $MIN?: string;
42
+ /** Maximum value */
43
+ $MAX?: string;
44
+ /** Group concatenation (MySQL) */
45
+ $GROUP_CONCAT?: string;
46
+ /** String aggregation (PostgreSQL) */
47
+ $STRING_AGG?: string;
48
+ /** Array aggregation */
49
+ $ARRAY_AGG?: string;
50
+ }
51
+ /**
52
+ * Aggregation operation input type
53
+ */
54
+ export type AggregationOperationInput = ISimplifiedAggregation;
55
+ /**
56
+ * Count options
57
+ */
58
+ export interface ICountOptions {
59
+ /** Table/Collection name */
60
+ table: string;
61
+ /** Environment slug (optional if connection is already established) */
62
+ env?: string;
63
+ /** Product tag (optional if connection is already established) */
64
+ product?: string;
65
+ /** Database tag (optional if connection is already established) */
66
+ database?: string;
67
+ /** Where clause */
68
+ where?: WhereClause;
69
+ /** Column to count (default: '*') */
70
+ column?: string;
71
+ /** Count distinct values only */
72
+ distinct?: boolean;
73
+ }
74
+ /**
75
+ * Sum options
76
+ */
77
+ export interface ISumOptions {
78
+ /** Table/Collection name */
79
+ table: string;
80
+ /** Environment slug (optional if connection is already established) */
81
+ env?: string;
82
+ /** Product tag (optional if connection is already established) */
83
+ product?: string;
84
+ /** Database tag (optional if connection is already established) */
85
+ database?: string;
86
+ /** Column to sum */
87
+ column: string;
88
+ /** Where clause */
89
+ where?: WhereClause;
90
+ }
91
+ /**
92
+ * Average options
93
+ */
94
+ export interface IAvgOptions {
95
+ /** Table/Collection name */
96
+ table: string;
97
+ /** Environment slug (optional if connection is already established) */
98
+ env?: string;
99
+ /** Product tag (optional if connection is already established) */
100
+ product?: string;
101
+ /** Database tag (optional if connection is already established) */
102
+ database?: string;
103
+ /** Column to average */
104
+ column: string;
105
+ /** Where clause */
106
+ where?: WhereClause;
107
+ }
108
+ /**
109
+ * Min options
110
+ */
111
+ export interface IMinOptions {
112
+ /** Table/Collection name */
113
+ table: string;
114
+ /** Environment slug (optional if connection is already established) */
115
+ env?: string;
116
+ /** Product tag (optional if connection is already established) */
117
+ product?: string;
118
+ /** Database tag (optional if connection is already established) */
119
+ database?: string;
120
+ /** Column to find minimum */
121
+ column: string;
122
+ /** Where clause */
123
+ where?: WhereClause;
124
+ }
125
+ /**
126
+ * Max options
127
+ */
128
+ export interface IMaxOptions {
129
+ /** Table/Collection name */
130
+ table: string;
131
+ /** Environment slug (optional if connection is already established) */
132
+ env?: string;
133
+ /** Product tag (optional if connection is already established) */
134
+ product?: string;
135
+ /** Database tag (optional if connection is already established) */
136
+ database?: string;
137
+ /** Column to find maximum */
138
+ column: string;
139
+ /** Where clause */
140
+ where?: WhereClause;
141
+ }
142
+ /**
143
+ * Group by options
144
+ */
145
+ export interface IGroupByOptions {
146
+ /** Table/Collection name */
147
+ table: string;
148
+ /** Environment slug (optional if connection is already established) */
149
+ env?: string;
150
+ /** Product tag (optional if connection is already established) */
151
+ product?: string;
152
+ /** Database tag (optional if connection is already established) */
153
+ database?: string;
154
+ /** Columns to group by */
155
+ groupBy: string[];
156
+ /**
157
+ * Aggregation operations
158
+ * @example
159
+ * ```typescript
160
+ * aggregate: {
161
+ * total_sales: { $SUM: 'amount' },
162
+ * order_count: { $COUNT: '*' },
163
+ * avg_amount: { $AVG: 'amount' },
164
+ * }
165
+ * ```
166
+ */
167
+ aggregate?: Record<string, AggregationOperationInput>;
168
+ /** Where clause (applied before grouping) */
169
+ where?: WhereClause;
170
+ /** Having clause (applied after grouping) */
171
+ having?: WhereClause;
172
+ /** Order by */
173
+ orderBy?: IOrderBy | IOrderBy[];
174
+ /** Limit results */
175
+ limit?: number;
176
+ /** Offset */
177
+ offset?: number;
178
+ }
179
+ /**
180
+ * Aggregate options (multiple aggregations)
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * const stats = await db.aggregate({
185
+ * table: 'orders',
186
+ * operations: {
187
+ * total_orders: { $COUNT: '*' },
188
+ * total_revenue: { $SUM: 'total' },
189
+ * avg_order_value: { $AVG: 'total' },
190
+ * min_order: { $MIN: 'total' },
191
+ * max_order: { $MAX: 'total' },
192
+ * },
193
+ * where: { status: 'completed' },
194
+ * });
195
+ * ```
196
+ */
197
+ export interface IAggregateOptions {
198
+ /** Table/Collection name */
199
+ table: string;
200
+ /** Environment slug (optional if connection is already established) */
201
+ env?: string;
202
+ /** Product tag (optional if connection is already established) */
203
+ product?: string;
204
+ /** Database tag (optional if connection is already established) */
205
+ database?: string;
206
+ /**
207
+ * Aggregation operations
208
+ * @example
209
+ * ```typescript
210
+ * operations: {
211
+ * total_orders: { $COUNT: '*' },
212
+ * total_revenue: { $SUM: 'total' },
213
+ * avg_order_value: { $AVG: 'total' },
214
+ * }
215
+ * ```
216
+ */
217
+ operations: Record<string, AggregationOperationInput>;
218
+ /** Where clause */
219
+ where?: WhereClause;
220
+ /** Group by columns (optional) */
221
+ groupBy?: string[];
222
+ /** Having clause */
223
+ having?: WhereClause;
224
+ }
225
+ /**
226
+ * Aggregation result for a single operation
227
+ */
228
+ export interface IAggregationResult {
229
+ /** Result value */
230
+ value: number | string | null;
231
+ /** Column that was aggregated */
232
+ column?: string;
233
+ /** Function used */
234
+ function: AggregationFunction;
235
+ }
236
+ /**
237
+ * Group by result
238
+ */
239
+ export interface IGroupByResult {
240
+ /** Grouped columns and their values */
241
+ groupedBy: Record<string, any>;
242
+ /** Aggregated values */
243
+ aggregates: Record<string, number | string | null>;
244
+ }
245
+ /**
246
+ * Statistics result (multiple aggregations)
247
+ */
248
+ export interface IStatisticsResult {
249
+ /** Count */
250
+ count?: number;
251
+ /** Sum */
252
+ sum?: number;
253
+ /** Average */
254
+ avg?: number;
255
+ /** Minimum */
256
+ min?: number | string;
257
+ /** Maximum */
258
+ max?: number | string;
259
+ /** Additional custom aggregations */
260
+ [key: string]: any;
261
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Aggregation type definitions for database operations
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AggregationFunction = void 0;
7
+ /**
8
+ * Aggregation function types
9
+ */
10
+ var AggregationFunction;
11
+ (function (AggregationFunction) {
12
+ AggregationFunction["COUNT"] = "count";
13
+ AggregationFunction["SUM"] = "sum";
14
+ AggregationFunction["AVG"] = "avg";
15
+ AggregationFunction["MIN"] = "min";
16
+ AggregationFunction["MAX"] = "max";
17
+ AggregationFunction["GROUP_CONCAT"] = "group_concat";
18
+ AggregationFunction["STRING_AGG"] = "string_agg";
19
+ AggregationFunction["ARRAY_AGG"] = "array_agg";
20
+ })(AggregationFunction || (exports.AggregationFunction = AggregationFunction = {}));
21
+ //# sourceMappingURL=aggregation.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregation.types.js","sourceRoot":"","sources":["../../../src/database/types/aggregation.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH;;GAEG;AACH,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,oDAA6B,CAAA;IAC7B,gDAAyB,CAAA;IACzB,8CAAuB,CAAA;AACzB,CAAC,EATW,mBAAmB,mCAAnB,mBAAmB,QAS9B"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Connection configuration types for different database systems
3
+ */
4
+ import { DatabaseType } from './database.types';
5
+ /**
6
+ * Base connection configuration
7
+ */
8
+ export interface IBaseConnectionConfig {
9
+ /** Database type */
10
+ type: DatabaseType;
11
+ /** Environment slug */
12
+ env: string;
13
+ /** Optional connection tag */
14
+ connectionTag?: string;
15
+ }
16
+ /**
17
+ * Product-based connection configuration
18
+ * Connects using a configured database in a product
19
+ */
20
+ export interface IProductConnectionConfig {
21
+ /** Environment slug */
22
+ env: string;
23
+ /** Product tag */
24
+ product: string;
25
+ /** Database tag within the product */
26
+ database: string;
27
+ }
28
+ /**
29
+ * PostgreSQL connection configuration
30
+ */
31
+ export interface IPostgreSQLConfig extends IBaseConnectionConfig {
32
+ type: DatabaseType.POSTGRESQL;
33
+ host: string;
34
+ port?: number;
35
+ database: string;
36
+ user: string;
37
+ password: string;
38
+ ssl?: boolean | {
39
+ [key: string]: any;
40
+ };
41
+ poolSize?: number;
42
+ connectionTimeout?: number;
43
+ }
44
+ /**
45
+ * MySQL connection configuration
46
+ */
47
+ export interface IMySQLConfig extends IBaseConnectionConfig {
48
+ type: DatabaseType.MYSQL;
49
+ host: string;
50
+ port?: number;
51
+ database: string;
52
+ user: string;
53
+ password: string;
54
+ ssl?: boolean | {
55
+ [key: string]: any;
56
+ };
57
+ poolSize?: number;
58
+ connectionTimeout?: number;
59
+ charset?: string;
60
+ }
61
+ /**
62
+ * MongoDB connection configuration
63
+ */
64
+ export interface IMongoDBConfig extends IBaseConnectionConfig {
65
+ type: DatabaseType.MONGODB;
66
+ uri: string;
67
+ database: string;
68
+ options?: {
69
+ useNewUrlParser?: boolean;
70
+ useUnifiedTopology?: boolean;
71
+ poolSize?: number;
72
+ serverSelectionTimeoutMS?: number;
73
+ [key: string]: any;
74
+ };
75
+ }
76
+ /**
77
+ * DynamoDB connection configuration
78
+ */
79
+ export interface IDynamoDBConfig extends IBaseConnectionConfig {
80
+ type: DatabaseType.DYNAMODB;
81
+ region: string;
82
+ accessKeyId: string;
83
+ secretAccessKey: string;
84
+ endpoint?: string;
85
+ options?: {
86
+ maxRetries?: number;
87
+ httpOptions?: {
88
+ timeout?: number;
89
+ };
90
+ [key: string]: any;
91
+ };
92
+ }
93
+ /**
94
+ * SQLite connection configuration
95
+ */
96
+ export interface ISQLiteConfig extends IBaseConnectionConfig {
97
+ type: DatabaseType.SQLITE;
98
+ filename: string;
99
+ mode?: number;
100
+ options?: {
101
+ readonly?: boolean;
102
+ fileMustExist?: boolean;
103
+ timeout?: number;
104
+ [key: string]: any;
105
+ };
106
+ }
107
+ /**
108
+ * Union type for all connection configurations
109
+ */
110
+ export type DatabaseConnectionConfig = IPostgreSQLConfig | IMySQLConfig | IMongoDBConfig | IDynamoDBConfig | ISQLiteConfig | IProductConnectionConfig;
111
+ /**
112
+ * Connection pool configuration
113
+ */
114
+ export interface IConnectionPoolConfig {
115
+ min?: number;
116
+ max?: number;
117
+ idleTimeoutMillis?: number;
118
+ connectionTimeoutMillis?: number;
119
+ }
120
+ /**
121
+ * Connection options
122
+ */
123
+ export interface IConnectionOptions {
124
+ /** Auto-retry connection on failure */
125
+ autoRetry?: boolean;
126
+ /** Max retry attempts */
127
+ maxRetries?: number;
128
+ /** Retry delay in milliseconds */
129
+ retryDelay?: number;
130
+ /** Connection pool configuration */
131
+ pool?: IConnectionPoolConfig;
132
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Connection configuration types for different database systems
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=connection.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.types.js","sourceRoot":"","sources":["../../../src/database/types/connection.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}