@modularizer/plat 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/README.md +574 -0
  2. package/bin/z2.js +5 -0
  3. package/dist/args/coerce.d.ts +54 -0
  4. package/dist/args/coerce.d.ts.map +1 -0
  5. package/dist/args/coerce.js +236 -0
  6. package/dist/args/coerce.js.map +1 -0
  7. package/dist/args/index.d.ts +2 -0
  8. package/dist/args/index.d.ts.map +1 -0
  9. package/dist/args/index.js +2 -0
  10. package/dist/args/index.js.map +1 -0
  11. package/dist/args/scalars.d.ts +87 -0
  12. package/dist/args/scalars.d.ts.map +1 -0
  13. package/dist/args/scalars.js +22 -0
  14. package/dist/args/scalars.js.map +1 -0
  15. package/dist/args/validate.d.ts +23 -0
  16. package/dist/args/validate.d.ts.map +1 -0
  17. package/dist/args/validate.js +185 -0
  18. package/dist/args/validate.js.map +1 -0
  19. package/dist/args/z2.d.ts +27 -0
  20. package/dist/args/z2.d.ts.map +1 -0
  21. package/dist/args/z2.js +24 -0
  22. package/dist/args/z2.js.map +1 -0
  23. package/dist/cli/commands/api-proxy.d.ts +9 -0
  24. package/dist/cli/commands/api-proxy.d.ts.map +1 -0
  25. package/dist/cli/commands/api-proxy.js +292 -0
  26. package/dist/cli/commands/api-proxy.js.map +1 -0
  27. package/dist/cli/commands/env.d.ts +32 -0
  28. package/dist/cli/commands/env.d.ts.map +1 -0
  29. package/dist/cli/commands/env.js +157 -0
  30. package/dist/cli/commands/env.js.map +1 -0
  31. package/dist/cli/commands/gen.d.ts +2 -0
  32. package/dist/cli/commands/gen.d.ts.map +1 -0
  33. package/dist/cli/commands/gen.js +88 -0
  34. package/dist/cli/commands/gen.js.map +1 -0
  35. package/dist/cli/commands/init-project.d.ts +9 -0
  36. package/dist/cli/commands/init-project.d.ts.map +1 -0
  37. package/dist/cli/commands/init-project.js +143 -0
  38. package/dist/cli/commands/init-project.js.map +1 -0
  39. package/dist/cli/commands/jwt-cmd.d.ts +10 -0
  40. package/dist/cli/commands/jwt-cmd.d.ts.map +1 -0
  41. package/dist/cli/commands/jwt-cmd.js +33 -0
  42. package/dist/cli/commands/jwt-cmd.js.map +1 -0
  43. package/dist/cli/commands/run.d.ts +5 -0
  44. package/dist/cli/commands/run.d.ts.map +1 -0
  45. package/dist/cli/commands/run.js +31 -0
  46. package/dist/cli/commands/run.js.map +1 -0
  47. package/dist/cli/commands/serve.d.ts +2 -0
  48. package/dist/cli/commands/serve.d.ts.map +1 -0
  49. package/dist/cli/commands/serve.js +43 -0
  50. package/dist/cli/commands/serve.js.map +1 -0
  51. package/dist/cli/commands/watch.d.ts +5 -0
  52. package/dist/cli/commands/watch.d.ts.map +1 -0
  53. package/dist/cli/commands/watch.js +119 -0
  54. package/dist/cli/commands/watch.js.map +1 -0
  55. package/dist/cli/index.d.ts +11 -0
  56. package/dist/cli/index.d.ts.map +1 -0
  57. package/dist/cli/index.js +11 -0
  58. package/dist/cli/index.js.map +1 -0
  59. package/dist/cli/jwt-helper.d.ts +32 -0
  60. package/dist/cli/jwt-helper.d.ts.map +1 -0
  61. package/dist/cli/jwt-helper.js +84 -0
  62. package/dist/cli/jwt-helper.js.map +1 -0
  63. package/dist/cli/proxy.d.ts +40 -0
  64. package/dist/cli/proxy.d.ts.map +1 -0
  65. package/dist/cli/proxy.js +171 -0
  66. package/dist/cli/proxy.js.map +1 -0
  67. package/dist/cli/runtime.d.ts +17 -0
  68. package/dist/cli/runtime.d.ts.map +1 -0
  69. package/dist/cli/runtime.js +286 -0
  70. package/dist/cli/runtime.js.map +1 -0
  71. package/dist/cli/spec-source.d.ts +13 -0
  72. package/dist/cli/spec-source.d.ts.map +1 -0
  73. package/dist/cli/spec-source.js +207 -0
  74. package/dist/cli/spec-source.js.map +1 -0
  75. package/dist/cli/z2.d.ts +7 -0
  76. package/dist/cli/z2.d.ts.map +1 -0
  77. package/dist/cli/z2.js +93 -0
  78. package/dist/cli/z2.js.map +1 -0
  79. package/dist/client/file-transport-plugin.d.ts +25 -0
  80. package/dist/client/file-transport-plugin.d.ts.map +1 -0
  81. package/dist/client/file-transport-plugin.js +80 -0
  82. package/dist/client/file-transport-plugin.js.map +1 -0
  83. package/dist/client/http-transport-plugin.d.ts +27 -0
  84. package/dist/client/http-transport-plugin.d.ts.map +1 -0
  85. package/dist/client/http-transport-plugin.js +48 -0
  86. package/dist/client/http-transport-plugin.js.map +1 -0
  87. package/dist/client/index.d.ts +6 -0
  88. package/dist/client/index.d.ts.map +1 -0
  89. package/dist/client/index.js +6 -0
  90. package/dist/client/index.js.map +1 -0
  91. package/dist/client/openapi-client.d.ts +332 -0
  92. package/dist/client/openapi-client.d.ts.map +1 -0
  93. package/dist/client/openapi-client.js +879 -0
  94. package/dist/client/openapi-client.js.map +1 -0
  95. package/dist/client/proxy.d.ts +5 -0
  96. package/dist/client/proxy.d.ts.map +1 -0
  97. package/dist/client/proxy.js +353 -0
  98. package/dist/client/proxy.js.map +1 -0
  99. package/dist/client/request-builder.d.ts +4 -0
  100. package/dist/client/request-builder.d.ts.map +1 -0
  101. package/dist/client/request-builder.js +88 -0
  102. package/dist/client/request-builder.js.map +1 -0
  103. package/dist/client/rpc-transport-plugin.d.ts +17 -0
  104. package/dist/client/rpc-transport-plugin.d.ts.map +1 -0
  105. package/dist/client/rpc-transport-plugin.js +69 -0
  106. package/dist/client/rpc-transport-plugin.js.map +1 -0
  107. package/dist/client/tools.d.ts +69 -0
  108. package/dist/client/tools.d.ts.map +1 -0
  109. package/dist/client/tools.js +122 -0
  110. package/dist/client/tools.js.map +1 -0
  111. package/dist/client/transport-plugin.d.ts +62 -0
  112. package/dist/client/transport-plugin.d.ts.map +1 -0
  113. package/dist/client/transport-plugin.js +40 -0
  114. package/dist/client/transport-plugin.js.map +1 -0
  115. package/dist/index.d.ts +9 -0
  116. package/dist/index.d.ts.map +1 -0
  117. package/dist/index.js +8 -0
  118. package/dist/index.js.map +1 -0
  119. package/dist/logging.d.ts +9 -0
  120. package/dist/logging.d.ts.map +1 -0
  121. package/dist/logging.js +29 -0
  122. package/dist/logging.js.map +1 -0
  123. package/dist/rpc.d.ts +39 -0
  124. package/dist/rpc.d.ts.map +1 -0
  125. package/dist/rpc.js +2 -0
  126. package/dist/rpc.js.map +1 -0
  127. package/dist/server/auth/index.d.ts +4 -0
  128. package/dist/server/auth/index.d.ts.map +1 -0
  129. package/dist/server/auth/index.js +2 -0
  130. package/dist/server/auth/index.js.map +1 -0
  131. package/dist/server/auth/jwt.d.ts +27 -0
  132. package/dist/server/auth/jwt.d.ts.map +1 -0
  133. package/dist/server/auth/jwt.js +95 -0
  134. package/dist/server/auth/jwt.js.map +1 -0
  135. package/dist/server/cache/index.d.ts +2 -0
  136. package/dist/server/cache/index.d.ts.map +1 -0
  137. package/dist/server/cache/index.js +2 -0
  138. package/dist/server/cache/index.js.map +1 -0
  139. package/dist/server/cache/utils.d.ts +30 -0
  140. package/dist/server/cache/utils.d.ts.map +1 -0
  141. package/dist/server/cache/utils.js +116 -0
  142. package/dist/server/cache/utils.js.map +1 -0
  143. package/dist/server/call-sessions.d.ts +50 -0
  144. package/dist/server/call-sessions.d.ts.map +1 -0
  145. package/dist/server/call-sessions.js +90 -0
  146. package/dist/server/call-sessions.js.map +1 -0
  147. package/dist/server/config/bucket.d.ts +9 -0
  148. package/dist/server/config/bucket.d.ts.map +1 -0
  149. package/dist/server/config/bucket.js +57 -0
  150. package/dist/server/config/bucket.js.map +1 -0
  151. package/dist/server/config/defaults.d.ts +3 -0
  152. package/dist/server/config/defaults.d.ts.map +1 -0
  153. package/dist/server/config/defaults.js +29 -0
  154. package/dist/server/config/defaults.js.map +1 -0
  155. package/dist/server/config/index.d.ts +5 -0
  156. package/dist/server/config/index.d.ts.map +1 -0
  157. package/dist/server/config/index.js +5 -0
  158. package/dist/server/config/index.js.map +1 -0
  159. package/dist/server/config/logger.d.ts +3 -0
  160. package/dist/server/config/logger.d.ts.map +1 -0
  161. package/dist/server/config/logger.js +2 -0
  162. package/dist/server/config/logger.js.map +1 -0
  163. package/dist/server/config/types.d.ts +198 -0
  164. package/dist/server/config/types.d.ts.map +1 -0
  165. package/dist/server/config/types.js +2 -0
  166. package/dist/server/config/types.js.map +1 -0
  167. package/dist/server/core.d.ts +42 -0
  168. package/dist/server/core.d.ts.map +1 -0
  169. package/dist/server/core.js +202 -0
  170. package/dist/server/core.js.map +1 -0
  171. package/dist/server/env.d.ts +39 -0
  172. package/dist/server/env.d.ts.map +1 -0
  173. package/dist/server/env.js +66 -0
  174. package/dist/server/env.js.map +1 -0
  175. package/dist/server/file-queue-protocol-plugin.d.ts +7 -0
  176. package/dist/server/file-queue-protocol-plugin.d.ts.map +1 -0
  177. package/dist/server/file-queue-protocol-plugin.js +150 -0
  178. package/dist/server/file-queue-protocol-plugin.js.map +1 -0
  179. package/dist/server/file-queue.d.ts +25 -0
  180. package/dist/server/file-queue.d.ts.map +1 -0
  181. package/dist/server/file-queue.js +2 -0
  182. package/dist/server/file-queue.js.map +1 -0
  183. package/dist/server/help.d.ts +19 -0
  184. package/dist/server/help.d.ts.map +1 -0
  185. package/dist/server/help.js +91 -0
  186. package/dist/server/help.js.map +1 -0
  187. package/dist/server/index.d.ts +29 -0
  188. package/dist/server/index.d.ts.map +1 -0
  189. package/dist/server/index.js +29 -0
  190. package/dist/server/index.js.map +1 -0
  191. package/dist/server/operation-registry.d.ts +9 -0
  192. package/dist/server/operation-registry.d.ts.map +1 -0
  193. package/dist/server/operation-registry.js +16 -0
  194. package/dist/server/operation-registry.js.map +1 -0
  195. package/dist/server/param-aliases.d.ts +40 -0
  196. package/dist/server/param-aliases.d.ts.map +1 -0
  197. package/dist/server/param-aliases.js +112 -0
  198. package/dist/server/param-aliases.js.map +1 -0
  199. package/dist/server/protocol-plugin.d.ts +72 -0
  200. package/dist/server/protocol-plugin.d.ts.map +1 -0
  201. package/dist/server/protocol-plugin.js +2 -0
  202. package/dist/server/protocol-plugin.js.map +1 -0
  203. package/dist/server/rate-limit/index.d.ts +2 -0
  204. package/dist/server/rate-limit/index.d.ts.map +1 -0
  205. package/dist/server/rate-limit/index.js +2 -0
  206. package/dist/server/rate-limit/index.js.map +1 -0
  207. package/dist/server/rate-limit/utils.d.ts +27 -0
  208. package/dist/server/rate-limit/utils.d.ts.map +1 -0
  209. package/dist/server/rate-limit/utils.js +126 -0
  210. package/dist/server/rate-limit/utils.js.map +1 -0
  211. package/dist/server/routing.d.ts +39 -0
  212. package/dist/server/routing.d.ts.map +1 -0
  213. package/dist/server/routing.js +70 -0
  214. package/dist/server/routing.js.map +1 -0
  215. package/dist/server/rpc-protocol-plugin.d.ts +12 -0
  216. package/dist/server/rpc-protocol-plugin.d.ts.map +1 -0
  217. package/dist/server/rpc-protocol-plugin.js +134 -0
  218. package/dist/server/rpc-protocol-plugin.js.map +1 -0
  219. package/dist/server/server.d.ts +143 -0
  220. package/dist/server/server.d.ts.map +1 -0
  221. package/dist/server/server.js +1161 -0
  222. package/dist/server/server.js.map +1 -0
  223. package/dist/server/token-limit/index.d.ts +2 -0
  224. package/dist/server/token-limit/index.d.ts.map +1 -0
  225. package/dist/server/token-limit/index.js +2 -0
  226. package/dist/server/token-limit/index.js.map +1 -0
  227. package/dist/server/token-limit/utils.d.ts +44 -0
  228. package/dist/server/token-limit/utils.d.ts.map +1 -0
  229. package/dist/server/token-limit/utils.js +260 -0
  230. package/dist/server/token-limit/utils.js.map +1 -0
  231. package/dist/server/tools.d.ts +51 -0
  232. package/dist/server/tools.d.ts.map +1 -0
  233. package/dist/server/tools.js +225 -0
  234. package/dist/server/tools.js.map +1 -0
  235. package/dist/server/transports.d.ts +25 -0
  236. package/dist/server/transports.d.ts.map +1 -0
  237. package/dist/server/transports.js +2 -0
  238. package/dist/server/transports.js.map +1 -0
  239. package/dist/spec/decorators.d.ts +41 -0
  240. package/dist/spec/decorators.d.ts.map +1 -0
  241. package/dist/spec/decorators.js +93 -0
  242. package/dist/spec/decorators.js.map +1 -0
  243. package/dist/spec/index.d.ts +3 -0
  244. package/dist/spec/index.d.ts.map +1 -0
  245. package/dist/spec/index.js +3 -0
  246. package/dist/spec/index.js.map +1 -0
  247. package/dist/spec/metadata.d.ts +5 -0
  248. package/dist/spec/metadata.d.ts.map +1 -0
  249. package/dist/spec/metadata.js +37 -0
  250. package/dist/spec/metadata.js.map +1 -0
  251. package/dist/types/client.d.ts +81 -0
  252. package/dist/types/client.d.ts.map +1 -0
  253. package/dist/types/client.js +14 -0
  254. package/dist/types/client.js.map +1 -0
  255. package/dist/types/endpoints.d.ts +76 -0
  256. package/dist/types/endpoints.d.ts.map +1 -0
  257. package/dist/types/endpoints.js +2 -0
  258. package/dist/types/endpoints.js.map +1 -0
  259. package/dist/types/errors.d.ts +86 -0
  260. package/dist/types/errors.d.ts.map +1 -0
  261. package/dist/types/errors.js +153 -0
  262. package/dist/types/errors.js.map +1 -0
  263. package/dist/types/http.d.ts +80 -0
  264. package/dist/types/http.d.ts.map +1 -0
  265. package/dist/types/http.js +61 -0
  266. package/dist/types/http.js.map +1 -0
  267. package/dist/types/index.d.ts +9 -0
  268. package/dist/types/index.d.ts.map +1 -0
  269. package/dist/types/index.js +9 -0
  270. package/dist/types/index.js.map +1 -0
  271. package/dist/types/openapi.d.ts +220 -0
  272. package/dist/types/openapi.d.ts.map +1 -0
  273. package/dist/types/openapi.js +11 -0
  274. package/dist/types/openapi.js.map +1 -0
  275. package/dist/types/opts.d.ts +46 -0
  276. package/dist/types/opts.d.ts.map +1 -0
  277. package/dist/types/opts.js +2 -0
  278. package/dist/types/opts.js.map +1 -0
  279. package/dist/types/plugins.d.ts +93 -0
  280. package/dist/types/plugins.d.ts.map +1 -0
  281. package/dist/types/plugins.js +5 -0
  282. package/dist/types/plugins.js.map +1 -0
  283. package/dist/types/tools.d.ts +52 -0
  284. package/dist/types/tools.d.ts.map +1 -0
  285. package/dist/types/tools.js +2 -0
  286. package/dist/types/tools.js.map +1 -0
  287. package/package.json +84 -0
@@ -0,0 +1,143 @@
1
+ import { Express } from "express";
2
+ import { PLATServerOptions } from "./config";
3
+ import type { PLATServerTransportRuntime } from './protocol-plugin';
4
+ export declare class PLATServer {
5
+ private app;
6
+ private options;
7
+ private logger;
8
+ private routes;
9
+ private registeredMethodNames;
10
+ private registeredControllerNames;
11
+ private tools;
12
+ private operationRegistry;
13
+ private core;
14
+ constructor(options?: PLATServerOptions, ...ControllerClasses: (new () => any)[]);
15
+ /**
16
+ * Setup Express middleware
17
+ */
18
+ private setupMiddleware;
19
+ /**
20
+ * Setup Swagger UI and ReDoc
21
+ */
22
+ private setupDocumentation;
23
+ /**
24
+ * Mount Swagger UI and ReDoc based on current options.
25
+ */
26
+ private mountDocUI;
27
+ /**
28
+ * Setup docs UI after auto-generating the OpenAPI spec.
29
+ * Mounts Swagger UI at /docs and ReDoc at /redoc by default.
30
+ */
31
+ private setupAutoDocumentation;
32
+ /**
33
+ * Reserved method names that conflict with plat system features
34
+ */
35
+ private static readonly RESERVED_METHOD_NAMES;
36
+ private matchesToolQuery;
37
+ /**
38
+ * Extract the prefix from a method name (e.g., 'get' from 'getUser')
39
+ * Finds the longest known prefix or the first camelCase word
40
+ */
41
+ private extractMethodPrefix;
42
+ /**
43
+ * Validate that a method name follows plat style conventions
44
+ *
45
+ * Rules (ENFORCED):
46
+ * - Must start with a lowercase letter
47
+ * - Cannot contain underscores
48
+ * - Must be valid camelCase
49
+ * - Cannot be a reserved name (tools, routes, endpoints, help, openapi)
50
+ * - Cannot match a controller name
51
+ * - Must respect allowedMethodPrefixes/disAllowedMethodPrefixes config
52
+ *
53
+ * Recommendations (NOT enforced):
54
+ * - Use standard prefixes for CRUD: get, list, find, create, update, delete
55
+ * - Use send/do for external I/O operations
56
+ * - Use natural names for action commands (e.g., addToCart, checkout, importFile)
57
+ */
58
+ private validateMethodName;
59
+ /**
60
+ * Register a controller class
61
+ *
62
+ * Extracts all @GET, @POST, etc. decorated methods and sets up routing.
63
+ * In plat, routes are 100% flat: method names become routes at the root level.
64
+ * No path parameters in decorators - all routing is done by method names.
65
+ */
66
+ register(...ControllerClasses: (new () => any)[]): PLATServer;
67
+ /**
68
+ * Add Express middleware
69
+ */
70
+ use(...args: any[]): PLATServer;
71
+ /**
72
+ * Create CORS middleware
73
+ */
74
+ private createCORSMiddleware;
75
+ /**
76
+ * Extract path parameters from a path string
77
+ * e.g., "/users/:id/posts/:postId" -> ["id", "postId"]
78
+ */
79
+ private extractPathParams;
80
+ /**
81
+ * Apply basic JQ-like filtering to JSON
82
+ * Supports: .key, .key.nested, .[index], .*, .[]
83
+ */
84
+ private applyJsonFilter;
85
+ /**
86
+ * Format a single route for display
87
+ * e.g., "GET /users/{id} - list user posts"
88
+ */
89
+ private formatRoute;
90
+ /**
91
+ * Filter routes based on query parameters
92
+ */
93
+ private filterRoutes;
94
+ private setupCallRoutes;
95
+ /**
96
+ * Build error response based on exposure level
97
+ */
98
+ private buildErrorResponse;
99
+ private isDeferredExecutionRequested;
100
+ private attachCallContext;
101
+ private applyResponseHeaders;
102
+ private applyRetryAfterHeaders;
103
+ private executeOperation;
104
+ private resolveOperation;
105
+ private dispatchTransportCall;
106
+ createTransportRuntime(): PLATServerTransportRuntime;
107
+ private serializeRpcValue;
108
+ /**
109
+ * Get the underlying Express app
110
+ */
111
+ getApp(): Express;
112
+ /**
113
+ * Listen on a port
114
+ * Convenience method that starts the server
115
+ */
116
+ /**
117
+ * Auto-generate an OpenAPI 3.1.0 spec from registered tool definitions.
118
+ * Called by listen() when no explicit openapi option was provided.
119
+ */
120
+ private generateOpenAPISpec;
121
+ listen(port?: number, hostOrCallback?: string | (() => void), callbackIfHost?: () => void): PLATServer;
122
+ /**
123
+ * Print startup message with routes and documentation info
124
+ */
125
+ private printStartupMessage;
126
+ }
127
+ /**
128
+ * Create a new plat server
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const server = createServer({
133
+ * errorExposure: 'message',
134
+ * cors: true,
135
+ * onRequest: (req, res, path, method) => console.log(`${method} ${path}`)
136
+ * })
137
+ * server.register(ProductsApi)
138
+ * server.register(OrdersApi)
139
+ * server.listen(3000, () => console.log('Server running'))
140
+ * ```
141
+ */
142
+ export declare function createServer(options?: PLATServerOptions, ...ControllerClasses: (new () => any)[]): PLATServer;
143
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAC,OAAO,EAAkC,MAAM,SAAS,CAAC;AAgB1E,OAAO,EAAsD,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAIjG,OAAO,KAAK,EAAyB,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAa1F,qBAAa,UAAU;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAmE;IACjF,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,yBAAyB,CAAoB;IACrD,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,IAAI,CAAgB;gBAEhB,OAAO,GAAE,iBAAsB,EAAE,GAAG,iBAAiB,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE;IAqDpF;;OAEG;IACH,OAAO,CAAC,eAAe;IAqDvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyI1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAoBlB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAsD;IAEnG,OAAO,CAAC,gBAAgB;IAmBxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IA4D1B;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,iBAAiB,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,UAAU;IAoJ7D;;OAEG;IACH,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU;IAK/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+C5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;IACH,OAAO,CAAC,eAAe;IA8BvB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,eAAe;IA6EvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,sBAAsB;YAoBhB,gBAAgB;IA+M9B,OAAO,CAAC,gBAAgB;YAIV,qBAAqB;IAqBnC,sBAAsB,IAAI,0BAA0B;IAiCpD,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAuD3B,MAAM,CACF,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EACtC,cAAc,CAAC,EAAE,MAAM,IAAI,GAC5B,UAAU;IA2Db;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAgD9B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,UAAU,CAE7G"}