spiceflow 1.1.17 → 1.2.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 (47) hide show
  1. package/README.md +236 -3
  2. package/dist/client/types.d.ts +1 -1
  3. package/dist/client/types.d.ts.map +1 -1
  4. package/dist/client.test.js +36 -1
  5. package/dist/client.test.js.map +1 -1
  6. package/dist/index.d.ts +2 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/mcp-transport.d.ts +45 -0
  10. package/dist/mcp-transport.d.ts.map +1 -0
  11. package/dist/mcp-transport.js +107 -0
  12. package/dist/mcp-transport.js.map +1 -0
  13. package/dist/mcp.d.ts +36 -0
  14. package/dist/mcp.d.ts.map +1 -0
  15. package/dist/mcp.js +211 -0
  16. package/dist/mcp.js.map +1 -0
  17. package/dist/mcp.test.d.ts +2 -0
  18. package/dist/mcp.test.d.ts.map +1 -0
  19. package/dist/mcp.test.js +224 -0
  20. package/dist/mcp.test.js.map +1 -0
  21. package/dist/openapi.d.ts +14 -27
  22. package/dist/openapi.d.ts.map +1 -1
  23. package/dist/openapi.js +101 -49
  24. package/dist/openapi.js.map +1 -1
  25. package/dist/openapi.test.js +242 -18
  26. package/dist/openapi.test.js.map +1 -1
  27. package/dist/spiceflow.d.ts +5 -3
  28. package/dist/spiceflow.d.ts.map +1 -1
  29. package/dist/spiceflow.js +42 -10
  30. package/dist/spiceflow.js.map +1 -1
  31. package/dist/spiceflow.test.js +21 -3
  32. package/dist/spiceflow.test.js.map +1 -1
  33. package/dist/types.d.ts +7 -13
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/types.js.map +1 -1
  36. package/package.json +15 -2
  37. package/src/client/types.ts +3 -5
  38. package/src/client.test.ts +45 -2
  39. package/src/index.ts +2 -1
  40. package/src/mcp-transport.ts +148 -0
  41. package/src/mcp.test.ts +273 -0
  42. package/src/mcp.ts +270 -0
  43. package/src/openapi.test.ts +238 -18
  44. package/src/openapi.ts +136 -66
  45. package/src/spiceflow.test.ts +27 -3
  46. package/src/spiceflow.ts +83 -13
  47. package/src/types.ts +129 -140
package/dist/openapi.js CHANGED
@@ -12,8 +12,20 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { isZodSchema, Spiceflow } from './spiceflow.js';
13
13
  let excludeMethods = ['OPTIONS'];
14
14
  import deepClone from 'lodash.clonedeep';
15
+ import { z } from 'zod';
15
16
  import zodToJsonSchema from 'zod-to-json-schema';
16
- export const toOpenAPIPath = (path) => path
17
+ const extractParamNames = (path) => {
18
+ return path.split('/').reduce((params, segment) => {
19
+ if (segment.startsWith(':')) {
20
+ let param = segment.slice(1);
21
+ if (param.endsWith('?'))
22
+ param = param.slice(0, -1);
23
+ params.push(param);
24
+ }
25
+ return params;
26
+ }, []);
27
+ };
28
+ const toOpenAPIPath = (path) => path
17
29
  .split('/')
18
30
  .map((x) => {
19
31
  if (x.startsWith(':')) {
@@ -25,7 +37,7 @@ export const toOpenAPIPath = (path) => path
25
37
  return x;
26
38
  })
27
39
  .join('/');
28
- export const mapProperties = (name, schema, models) => {
40
+ const mapProperties = (name, schema, models) => {
29
41
  var _a;
30
42
  if (schema === undefined)
31
43
  return [];
@@ -64,8 +76,8 @@ const mapTypesResponse = (types, schema) => {
64
76
  };
65
77
  return responses;
66
78
  };
67
- export const capitalize = (word) => word.charAt(0).toUpperCase() + word.slice(1);
68
- export const generateOperationId = (method, paths) => {
79
+ const capitalize = (word) => word.charAt(0).toUpperCase() + word.slice(1);
80
+ const generateOperationId = (method, paths) => {
69
81
  let operationId = method.toLowerCase();
70
82
  if (paths === '/')
71
83
  return operationId + 'Index';
@@ -79,33 +91,68 @@ export const generateOperationId = (method, paths) => {
79
91
  }
80
92
  return operationId;
81
93
  };
82
- export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
83
- var _a, _b, _c;
84
- if (hook)
85
- hook = deepClone(hook);
86
- // TODO if a route uses an async generator, add text/event-stream. if a roue does not add an explicit schema, use all possible content types
87
- const contentType = (_a = hook === null || hook === void 0 ? void 0 : hook.type) !== null && _a !== void 0 ? _a : [
88
- 'application/json',
89
- // 'multipart/form-data',
90
- // 'text/plain',
91
- ];
92
- path = toOpenAPIPath(path);
93
- const contentTypes = typeof contentType === 'string'
94
- ? [contentType]
95
- : contentType !== null && contentType !== void 0 ? contentType : ['application/json'];
94
+ const registerSchemaPath = ({ schema, route, models, }) => {
95
+ var _a, _b;
96
+ const hook = route.hooks ? deepClone(route.hooks) : undefined;
97
+ let contentTypes = ['application/json'];
98
+ if (isAsyncGenerator(route.handler) && !((_a = route.hooks) === null || _a === void 0 ? void 0 : _a.response)) {
99
+ contentTypes = ['text/event-stream'];
100
+ }
101
+ else if (hook === null || hook === void 0 ? void 0 : hook.type) {
102
+ contentTypes = Array.isArray(hook.type) ? hook.type : [hook.type];
103
+ }
104
+ const path = toOpenAPIPath(route.path);
96
105
  const bodySchema = getJsonSchema(hook === null || hook === void 0 ? void 0 : hook.body);
97
- const paramsSchema = hook === null || hook === void 0 ? void 0 : hook.params;
106
+ let paramsSchema = hook === null || hook === void 0 ? void 0 : hook.params;
107
+ if (route.path.includes(':') && !paramsSchema) {
108
+ const paramNames = extractParamNames(route.path);
109
+ if (paramNames.length) {
110
+ // Create a schema object with string parameters for each URL param
111
+ const paramSchemaObject = {};
112
+ for (const param of paramNames) {
113
+ paramSchemaObject[param] = z.string();
114
+ }
115
+ paramsSchema = z.object(paramSchemaObject);
116
+ }
117
+ }
98
118
  // const headerSchema = hook?.headers
99
119
  const querySchema = hook === null || hook === void 0 ? void 0 : hook.query;
100
120
  let responseSchema = hook === null || hook === void 0 ? void 0 : hook.response;
101
- let openapiResponse = {};
121
+ const defaultResponseSchema = {
122
+ // '500': {
123
+ // description: 'Internal Server Error',
124
+ // content: {
125
+ // 'text/plain': {
126
+ // schema: {
127
+ // type: 'string',
128
+ // },
129
+ // },
130
+ // },
131
+ // },
132
+ '200': {
133
+ description: '',
134
+ content: {
135
+ '*/*': {
136
+ schema: {},
137
+ },
138
+ },
139
+ },
140
+ default: {
141
+ description: '',
142
+ content: {
143
+ '*/*': {
144
+ schema: {},
145
+ },
146
+ },
147
+ },
148
+ };
149
+ let openapiResponse = defaultResponseSchema;
102
150
  if (typeof responseSchema === 'object') {
103
151
  const isStatusMap = Object.keys(responseSchema).every((key) => typeof key === 'number' || Number.isInteger(Number(key)));
104
152
  if (!isStatusMap) {
105
153
  let jsonSchema = getJsonSchema(responseSchema);
106
154
  const { type, properties, required, additionalProperties, patternProperties } = jsonSchema, rest = __rest(jsonSchema, ["type", "properties", "required", "additionalProperties", "patternProperties"]);
107
- openapiResponse = {
108
- '200': Object.assign(Object.assign({}, rest), { description: rest.description || '', content: mapTypesResponse(contentTypes, type === 'object' || type === 'array'
155
+ openapiResponse = Object.assign(Object.assign({}, defaultResponseSchema), { '200': Object.assign(Object.assign({}, rest), { description: rest.description || '', content: mapTypesResponse(contentTypes, type === 'object' || type === 'array'
109
156
  ? {
110
157
  type,
111
158
  properties,
@@ -113,8 +160,7 @@ export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
113
160
  items: jsonSchema.items,
114
161
  required,
115
162
  }
116
- : jsonSchema) }),
117
- };
163
+ : jsonSchema) }) });
118
164
  }
119
165
  else {
120
166
  Object.entries(responseSchema).forEach(([key, value]) => {
@@ -145,28 +191,31 @@ export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
145
191
  if (!(responseSchema in models))
146
192
  return;
147
193
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
148
- const _d = getJsonSchema(models[responseSchema]), { type, properties, required, additionalProperties: _1, patternProperties: _2 } = _d, rest = __rest(_d, ["type", "properties", "required", "additionalProperties", "patternProperties"]);
149
- openapiResponse = {
194
+ const _c = getJsonSchema(models[responseSchema]), { type, properties, required, additionalProperties: _1, patternProperties: _2 } = _c, rest = __rest(_c, ["type", "properties", "required", "additionalProperties", "patternProperties"]);
195
+ openapiResponse = Object.assign(Object.assign({}, defaultResponseSchema), {
150
196
  // @ts-ignore
151
- '200': Object.assign(Object.assign({ description: '' }, rest), { content: mapTypesResponse(contentTypes, responseSchema) }),
152
- };
197
+ '200': Object.assign(Object.assign({ description: '' }, rest), { content: mapTypesResponse(contentTypes, responseSchema) }) });
153
198
  }
154
199
  const parameters = [
155
200
  // ...mapProperties('header', headerSchema, models),
156
201
  ...mapProperties('path', paramsSchema, models),
157
202
  ...mapProperties('query', querySchema, models),
158
203
  ];
159
- schema[path] = Object.assign(Object.assign({}, (schema[path] ? schema[path] : {})), { [method.toLowerCase()]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (paramsSchema || querySchema || bodySchema
160
- ? { parameters }
161
- : {})), (!isObjEmpty(openapiResponse)
204
+ schema[path] = Object.assign(Object.assign({}, ((_b = schema[path]) !== null && _b !== void 0 ? _b : {})), { [route.method.toLowerCase()]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (isAsyncGenerator(route.handler) && {
205
+ 'x-fern-streaming': {
206
+ format: 'sse',
207
+ },
208
+ })), (paramsSchema || querySchema || bodySchema
162
209
  ? {
163
- responses: openapiResponse,
210
+ parameters,
164
211
  }
165
- : {})), { operationId: (_c = (_b = hook === null || hook === void 0 ? void 0 : hook.detail) === null || _b === void 0 ? void 0 : _b.operationId) !== null && _c !== void 0 ? _c : generateOperationId(method, path) }), hook === null || hook === void 0 ? void 0 : hook.detail), (bodySchema
212
+ : {})), (!isObjEmpty(openapiResponse) && {
213
+ responses: openapiResponse,
214
+ })), hook === null || hook === void 0 ? void 0 : hook.detail), (bodySchema
166
215
  ? {
167
216
  requestBody: {
168
217
  required: true,
169
- content: mapTypesResponse(contentTypes, typeof bodySchema === 'string'
218
+ content: mapTypesResponse(hook.bodyType ? [hook.bodyType] : ['application/json'], typeof bodySchema === 'string'
170
219
  ? {
171
220
  $ref: `#/components/schemas/${bodySchema}`,
172
221
  }
@@ -180,7 +229,8 @@ export const registerSchemaPath = ({ schema, path, method, hook, models, }) => {
180
229
  *
181
230
  * @see https://github.com/elysiajs/elysia-swagger
182
231
  */
183
- export const openapi = ({ path = '/openapi', documentation = {}, } = {}) => {
232
+ export const openapi = (_a = {}) => {
233
+ var { path = '/openapi' } = _a, additional = __rest(_a, ["path"]);
184
234
  const schema = {};
185
235
  let totalRoutes = 0;
186
236
  const relativePath = path.startsWith('/') ? path.slice(1) : path;
@@ -200,7 +250,7 @@ export const openapi = ({ path = '/openapi', documentation = {}, } = {}) => {
200
250
  ];
201
251
  totalRoutes = routes.length;
202
252
  routes.forEach((route) => {
203
- var _a, _b, _c, _d;
253
+ var _a, _b, _c;
204
254
  if (((_b = (_a = route.hooks) === null || _a === void 0 ? void 0 : _a.detail) === null || _b === void 0 ? void 0 : _b.hide) === true)
205
255
  return;
206
256
  // TODO: route.hooks?.detail?.hide !== false add ability to hide: false to prevent excluding
@@ -211,35 +261,29 @@ export const openapi = ({ path = '/openapi', documentation = {}, } = {}) => {
211
261
  return;
212
262
  if (route.method === 'ALL') {
213
263
  ALLOWED_METHODS.forEach((method) => {
214
- var _a, _b;
264
+ var _a;
215
265
  registerSchemaPath({
216
266
  schema,
217
- hook: route.hooks,
218
- method,
219
- path: route.path,
267
+ route: Object.assign(Object.assign({}, route), { method }),
220
268
  // @ts-ignore
221
269
  models: (_a = app.definitions) === null || _a === void 0 ? void 0 : _a.type,
222
- contentType: (_b = route.hooks) === null || _b === void 0 ? void 0 : _b.type,
223
270
  });
224
271
  });
225
272
  return;
226
273
  }
227
274
  registerSchemaPath({
228
275
  schema,
229
- hook: route.hooks,
230
- method: route.method,
231
- path: route.path,
276
+ route,
232
277
  // @ts-ignore
233
278
  models: (_c = app.definitions) === null || _c === void 0 ? void 0 : _c.type,
234
- contentType: (_d = route.hooks) === null || _d === void 0 ? void 0 : _d.type,
235
279
  });
236
280
  });
237
281
  }
238
- return Object.assign(Object.assign({ openapi: '3.1.3' }, Object.assign(Object.assign({}, documentation), {
282
+ return Object.assign(Object.assign({ openapi: '3.1.3' }, Object.assign(Object.assign({}, additional), {
239
283
  // tags: documentation.tags?.filter(
240
284
  // (tag) => !excludeTags?.includes(tag?.name),
241
285
  // ),
242
- info: Object.assign({ title: 'Spiceflow Documentation', description: 'Development documentation', version: '0.0.0' }, documentation.info) })), { paths: Object.assign(Object.assign({}, schema), documentation.paths), components: Object.assign(Object.assign({}, documentation.components), { schemas: Object.assign(Object.assign({}, (_a = app.definitions) === null || _a === void 0 ? void 0 : _a.type), (_b = documentation.components) === null || _b === void 0 ? void 0 : _b.schemas) }) });
286
+ info: Object.assign({ title: 'Spiceflow Documentation', description: 'Development documentation', version: '0.0.0' }, additional.info) })), { paths: Object.assign(Object.assign({}, schema), additional.paths), components: Object.assign(Object.assign({}, additional.components), { schemas: Object.assign(Object.assign({}, (_a = app.definitions) === null || _a === void 0 ? void 0 : _a.type), (_b = additional.components) === null || _b === void 0 ? void 0 : _b.schemas) }) });
243
287
  });
244
288
  return app;
245
289
  };
@@ -250,11 +294,19 @@ function getJsonSchema(schema) {
250
294
  if (isZodSchema(schema)) {
251
295
  let fn = (_a = zodToJsonSchema.default) !== null && _a !== void 0 ? _a : zodToJsonSchema;
252
296
  let jsonSchema = fn(schema, {});
253
- return jsonSchema;
297
+ const { $schema } = jsonSchema, rest = __rest(jsonSchema, ["$schema"]);
298
+ return rest;
254
299
  }
255
- return schema;
300
+ const _b = schema, { $schema } = _b, rest = __rest(_b, ["$schema"]);
301
+ return rest;
256
302
  }
257
303
  function isObjEmpty(obj) {
258
304
  return obj === undefined || Object.keys(obj).length === 0;
259
305
  }
306
+ function isAsyncGenerator(fn) {
307
+ var _a;
308
+ return (fn &&
309
+ typeof fn === 'function' &&
310
+ ((_a = fn.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'AsyncGeneratorFunction');
311
+ }
260
312
  //# sourceMappingURL=openapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAiB,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAKtE,IAAI,cAAc,GAAG,CAAC,SAAS,CAAC,CAAA;AAIhC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5C,IAAI;KACD,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAA;IACd,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,CAAC,CAAA;AAEd,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAY,EACZ,MAAuC,EACvC,MAAkC,EAClC,EAAE;;IACF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAEnC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAC5B,IAAI,MAAM,IAAI,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;YACxC,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAA;IAEpD,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAEtC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;;QACvE,MAAM,KAKF,KAAY,EALV,EACJ,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,WAAW,EACX,QAAQ,OAEM,EADX,cAAc,cAJb,mCAKL,CAAe,CAAA;QAChB,OAAO;YACL,aAAa;YACb,WAAW;YACX,QAAQ;YACR,MAAM,kBAAI,IAAI,EAAE,SAAS,IAAK,cAAc,CAAE;YAC9C,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,GAAG;YAET,QAAQ,EAAE,MAAA,MAAA,UAAW,CAAC,QAAQ,0CAAE,QAAQ,CAAC,GAAG,CAAC,mCAAI,KAAK;SACvD,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CACvB,KAAe,EACf,MAMK,EACL,EAAE;IACF,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAEnD,OAAM;IAER,MAAM,SAAS,GAA8C,EAAE,CAAA;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,SAAS,CAAC,IAAI,CAAC,GAAG;YAChB,MAAM,EACJ,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC;oBACE,IAAI,EAAE,wBAAwB,MAAM,EAAE;iBACvC;gBACH,CAAC,mBAAO,MAAc,CAAE;SAC7B,CAAA;IAEH,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CACzC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;IACnE,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAEtC,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,WAAW,GAAG,OAAO,CAAA;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,WAAW,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,MAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,GAQP,EAAE,EAAE;;IACH,IAAI,IAAI;QAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAEhC,4IAA4I;IAC5I,MAAM,WAAW,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI;QAChC,kBAAkB;QAClB,yBAAyB;QACzB,gBAAgB;KACjB,CAAA;IAED,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAE1B,MAAM,YAAY,GAChB,OAAO,WAAW,KAAK,QAAQ;QAC7B,CAAC,CAAC,CAAC,WAAW,CAAC;QACf,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,CAAC,kBAAkB,CAAC,CAAA;IAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;IACjC,qCAAqC;IACrC,MAAM,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA;IAC/B,IAAI,cAAc,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAiC,CAAA;IAC5D,IAAI,eAAe,GAA8B,EAAE,CAAA;IAEnD,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAClE,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;YAC9C,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,KAEf,UAAU,EADT,IAAI,UACL,UAAU,EAPR,+EAOL,CAAa,CAAA;YAEd,eAAe,GAAG;gBAChB,KAAK,kCACA,IAAI,KACP,WAAW,EAAG,IAAI,CAAC,WAAmB,IAAI,EAAE,EAC5C,OAAO,EAAE,gBAAgB,CACvB,YAAY,EACZ,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;wBACnC,CAAC,CAAE;4BACC,IAAI;4BACJ,UAAU;4BACV,iBAAiB;4BACjB,KAAK,EAAE,UAAU,CAAC,KAAK;4BACvB,QAAQ;yBACD;wBACX,CAAC,CAAC,UAAU,CACf,GACF;aACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,cAA4C,CAAC,CAAC,OAAO,CAClE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBAAE,OAAM;oBAE1B,6DAA6D;oBAC7D,MAAM,KAOF,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAP1B,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EAAE,EAAE,EACxB,iBAAiB,EAAE,EAAE,OAES,EAD3B,IAAI,cANH,+EAOL,CAA+B,CAAA;oBAEhC,eAAe,CAAC,GAAG,CAAC,mCACf,IAAI,KACP,WAAW,EAAE,IAAI,CAAC,WAAkB,EACpC,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,GAC/C,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;oBACnC,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,KAEf,MAAM,EADL,IAAI,UACL,MAAM,EAPJ,+EAOL,CAAS,CAAA;oBAEV,eAAe,CAAC,GAAG,CAAC,mCACf,IAAI,KACP,WAAW,EAAE,IAAI,CAAC,WAAkB,IAAI,EAAE,EAC1C,OAAO,EAAE,gBAAgB,CACvB,YAAY,EACZ,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;4BACnC,CAAC,CAAE;gCACC,IAAI;gCACJ,UAAU;gCACV,iBAAiB;gCACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,QAAQ;6BACD;4BACX,CAAC,CAAC,MAAM,CACX,GACF,CAAA;gBACH,CAAC;YACH,CAAC,CACF,CAAA;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC;YAAE,OAAM;QAEvC,6DAA6D;QAC7D,MAAM,KAOF,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAPnC,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EAAE,EAAE,EACxB,iBAAiB,EAAE,EAAE,OAEkB,EADpC,IAAI,cANH,+EAOL,CAAwC,CAAA;QAEzC,eAAe,GAAG;YAChB,aAAa;YACb,KAAK,gCACH,WAAW,EAAE,EAAE,IACZ,IAAI,KAEP,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,GACxD;SACF,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,oDAAoD;QACpD,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;QAC9C,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC;KAC/C,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,mCACP,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KACrC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,0EAClB,CAAC,YAAY,IAAI,WAAW,IAAI,UAAU;YAC5C,CAAC,CAAE,EAAE,UAAU,EAAU;YACzB,CAAC,CAAC,EAAE,CAAsC,GACzC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;YAC9B,CAAC,CAAC;gBACE,SAAS,EAAE,eAAe;aAC3B;YACH,CAAC,CAAC,EAAE,CAAC,KACP,WAAW,EACT,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,WAAW,mCAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAC7D,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,GACZ,CAAC,UAAU;YACZ,CAAC,CAAC;gBACE,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,gBAAgB,CACvB,YAAY,EACZ,OAAO,UAAU,KAAK,QAAQ;wBAC5B,CAAC,CAAC;4BACE,IAAI,EAAE,wBAAwB,UAAU,EAAE;yBAC3C;wBACH,CAAC,CAAE,UAAkB,CACxB;iBACF;aACF;YACH,CAAC,CAAC,IAAI,CAAC,CAC0B,GACtC,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAmC,EACxD,IAAI,GAAG,UAAkB,EACzB,aAAa,GAAG,EAAE,MAahB,EAAE,EAAE,EAAE;IACR,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEhE,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;;QAC9D,IAAI,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;QAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG;gBACtB,KAAK;gBACL,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,OAAO;aACR,CAAA;YACD,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;YAE3B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAoB,EAAE,EAAE;;gBACtC,IAAI,CAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,MAAM,0CAAE,IAAI,MAAK,IAAI;oBAAE,OAAM;gBAC9C,6FAA6F;gBAC7F,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;oBAAE,OAAM;gBACjD,IACE,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;oBAChD,KAAK,CAAC,MAAM,KAAK,KAAK;oBAEtB,OAAM;gBAER,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC3B,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;wBACjC,kBAAkB,CAAC;4BACjB,MAAM;4BACN,IAAI,EAAE,KAAK,CAAC,KAAK;4BACjB,MAAM;4BACN,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,aAAa;4BACb,MAAM,EAAE,MAAA,GAAG,CAAC,WAAW,0CAAE,IAAI;4BAC7B,WAAW,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,IAAI;yBAC/B,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,kBAAkB,CAAC;oBACjB,MAAM;oBACN,IAAI,EAAE,KAAK,CAAC,KAAK;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,aAAa;oBACb,MAAM,EAAE,MAAA,GAAG,CAAC,WAAW,0CAAE,IAAI;oBAC7B,WAAW,EAAE,MAAA,KAAK,CAAC,KAAK,0CAAE,IAAI;iBAC/B,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,8BACL,OAAO,EAAE,OAAO,oCAEX,aAAa;YAChB,oCAAoC;YACpC,+CAA+C;YAC/C,KAAK;YACL,IAAI,kBACF,KAAK,EAAE,yBAAyB,EAChC,WAAW,EAAE,2BAA2B,EACxC,OAAO,EAAE,OAAO,IACb,aAAa,CAAC,IAAI,SAGzB,KAAK,kCACA,MAAM,GACN,aAAa,CAAC,KAAK,GAExB,UAAU,kCACL,aAAa,CAAC,UAAU,KAC3B,OAAO,kCAEF,MAAA,GAAG,CAAC,WAAW,0CAAE,IAAI,GACrB,MAAA,aAAa,CAAC,UAAU,0CAAE,OAAO,OAGZ,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,SAAS,aAAa,CAAC,MAAkB;;IACvC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAgB,CAAA;IACpC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,EAAE,GAAG,MAAA,eAAe,CAAC,OAAO,mCAAI,eAAe,CAAA;QACnD,IAAI,UAAU,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/B,OAAO,UAAiB,CAAA;IAC1B,CAAC;IAED,OAAO,MAAa,CAAA;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,GAAwB;IAC1C,OAAO,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAiB,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAKtE,IAAI,cAAc,GAAG,CAAC,SAAS,CAAC,CAAA;AAIhC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAEhD,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAY,EAAE;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAgB,EAAE,OAAO,EAAE,EAAE;QAC1D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACnD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,IAAI;KACD,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QACxB,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAA;IACd,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC,CAAC;KACD,IAAI,CAAC,GAAG,CAAC,CAAA;AAEd,MAAM,aAAa,GAAG,CACpB,IAAY,EACZ,MAAuC,EACvC,MAAkC,EAClC,EAAE;;IACF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAEnC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAC5B,IAAI,MAAM,IAAI,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;YACxC,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,EAAE,CAAC,CAAA;IAEpD,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAEtC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;;QACvE,MAAM,KAKF,KAAY,EALV,EACJ,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,WAAW,EACX,QAAQ,OAEM,EADX,cAAc,cAJb,mCAKL,CAAe,CAAA;QAChB,OAAO;YACL,aAAa;YACb,WAAW;YACX,QAAQ;YACR,MAAM,kBAAI,IAAI,EAAE,SAAS,IAAK,cAAc,CAAE;YAC9C,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,GAAG;YAET,QAAQ,EAAE,MAAA,MAAA,UAAW,CAAC,QAAQ,0CAAE,QAAQ,CAAC,GAAG,CAAC,mCAAI,KAAK;SACvD,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CACvB,KAAe,EACf,MAMK,EACL,EAAE;IACF,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAEnD,OAAM;IAER,MAAM,SAAS,GAA8C,EAAE,CAAA;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,SAAS,CAAC,IAAI,CAAC,GAAG;YAChB,MAAM,EACJ,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC;oBACE,IAAI,EAAE,wBAAwB,MAAM,EAAE;iBACvC;gBACH,CAAC,mBAAO,MAAc,CAAE;SAC7B,CAAA;IAEH,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAClC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAE9C,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;IAC5D,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAEtC,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,WAAW,GAAG,OAAO,CAAA;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,WAAW,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,MAAM,GAKP,EAAE,EAAE;;IACH,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,IAAI,YAAY,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAEvC,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,CAAA,EAAE,CAAC;QAC9D,YAAY,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;SAAM,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,CAAC;QACtB,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEtC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAA;IAC5C,IAAI,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;IAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,mEAAmE;YACnE,MAAM,iBAAiB,GAAG,EAAE,CAAA;YAC5B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;YACvC,CAAC;YACD,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA;IAC/B,IAAI,cAAc,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAiC,CAAA;IAC5D,MAAM,qBAAqB,GAA8B;QACvD,WAAW;QACX,0CAA0C;QAC1C,eAAe;QACf,sBAAsB;QACtB,kBAAkB;QAClB,0BAA0B;QAC1B,WAAW;QACX,SAAS;QACT,OAAO;QACP,KAAK;QACL,KAAK,EAAE;YACL,WAAW,EAAE,EAAE;YACf,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE;iBACX;aACF;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,EAAE;YACf,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE;iBACX;aACF;SACF;KACF,CAAA;IACD,IAAI,eAAe,GAA8B,qBAAqB,CAAA;IAEtE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAClE,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;YAC9C,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,KAEf,UAAU,EADT,IAAI,UACL,UAAU,EAPR,+EAOL,CAAa,CAAA;YAEd,eAAe,mCACV,qBAAqB,KACxB,KAAK,kCACA,IAAI,KACP,WAAW,EAAG,IAAI,CAAC,WAAmB,IAAI,EAAE,EAC5C,OAAO,EAAE,gBAAgB,CACvB,YAAY,EACZ,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;wBACnC,CAAC,CAAE;4BACC,IAAI;4BACJ,UAAU;4BACV,iBAAiB;4BACjB,KAAK,EAAE,UAAU,CAAC,KAAK;4BACvB,QAAQ;yBACD;wBACX,CAAC,CAAC,UAAU,CACf,MAEJ,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,cAA4C,CAAC,CAAC,OAAO,CAClE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACf,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;wBAAE,OAAM;oBAE1B,6DAA6D;oBAC7D,MAAM,KAOF,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAP1B,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EAAE,EAAE,EACxB,iBAAiB,EAAE,EAAE,OAES,EAD3B,IAAI,cANH,+EAOL,CAA+B,CAAA;oBAEhC,eAAe,CAAC,GAAG,CAAC,mCACf,IAAI,KACP,WAAW,EAAE,IAAI,CAAC,WAAkB,EACpC,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,GAC/C,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;oBACnC,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,KAEf,MAAM,EADL,IAAI,UACL,MAAM,EAPJ,+EAOL,CAAS,CAAA;oBAEV,eAAe,CAAC,GAAG,CAAC,mCACf,IAAI,KACP,WAAW,EAAG,IAAI,CAAC,WAAmB,IAAI,EAAE,EAC5C,OAAO,EAAE,gBAAgB,CACvB,YAAY,EACZ,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;4BACnC,CAAC,CAAE;gCACC,IAAI;gCACJ,UAAU;gCACV,iBAAiB;gCACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,QAAQ;6BACD;4BACX,CAAC,CAAC,MAAM,CACX,GACF,CAAA;gBACH,CAAC;YACH,CAAC,CACF,CAAA;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC;YAAE,OAAM;QAEvC,6DAA6D;QAC7D,MAAM,KAOF,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAPnC,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,oBAAoB,EAAE,EAAE,EACxB,iBAAiB,EAAE,EAAE,OAEkB,EADpC,IAAI,cANH,+EAOL,CAAwC,CAAA;QAEzC,eAAe,mCACV,qBAAqB;YACxB,aAAa;YACb,KAAK,gCACH,WAAW,EAAE,EAAE,IACZ,IAAI,KAEP,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,MAE1D,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,oDAAoD;QACpD,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC;QAC9C,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC;KAC/C,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,mCAEP,CAAC,MAAA,MAAM,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,KACvB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,0EAEzB,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YACrC,kBAAkB,EAAE;gBAClB,MAAM,EAAE,KAAK;aACd;SACF,CAAC,GAGC,CAAC,YAAY,IAAI,WAAW,IAAI,UAAU;YAC3C,CAAC,CAAC;gBACE,UAAU;aACX;YACH,CAAC,CAAC,EAAE,CAAC,GAGJ,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI;YAClC,SAAS,EAAE,eAAe;SAC3B,CAAC,GAMC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,GAGZ,CAAC,UAAU;YACZ,CAAC,CAAC;gBACE,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,gBAAgB,CACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EACtD,OAAO,UAAU,KAAK,QAAQ;wBAC5B,CAAC,CAAC;4BACE,IAAI,EAAE,wBAAwB,UAAU,EAAE;yBAC3C;wBACH,CAAC,CAAE,UAAkB,CACxB;iBACF;aACF;YACH,CAAC,CAAC,IAAI,CAAC,CAC0B,GACtC,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAmC,KAsBpD,EAAE,EAAE,EAAE;QAtB8C,EACxD,IAAI,GAAG,UAAkB,OAqBnB,EApBH,UAAU,cAF2C,QAGzD,CADc;IAqBb,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEhE,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;;QAC9D,IAAI,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;QAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG;gBACtB,KAAK;gBACL,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,OAAO;aACR,CAAA;YACD,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;YAE3B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAoB,EAAE,EAAE;;gBACtC,IAAI,CAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,MAAM,0CAAE,IAAI,MAAK,IAAI;oBAAE,OAAM;gBAC9C,6FAA6F;gBAC7F,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;oBAAE,OAAM;gBACjD,IACE,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;oBAChD,KAAK,CAAC,MAAM,KAAK,KAAK;oBAEtB,OAAM;gBAER,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC3B,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;wBACjC,kBAAkB,CAAC;4BACjB,MAAM;4BACN,KAAK,kCAAO,KAAK,KAAE,MAAM,GAAE;4BAC3B,aAAa;4BACb,MAAM,EAAE,MAAA,GAAG,CAAC,WAAW,0CAAE,IAAI;yBAC9B,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,kBAAkB,CAAC;oBACjB,MAAM;oBACN,KAAK;oBACL,aAAa;oBACb,MAAM,EAAE,MAAA,GAAG,CAAC,WAAW,0CAAE,IAAI;iBAC9B,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,8BACL,OAAO,EAAE,OAAO,oCAEX,UAAU;YACb,oCAAoC;YACpC,+CAA+C;YAC/C,KAAK;YACL,IAAI,kBACF,KAAK,EAAE,yBAAyB,EAChC,WAAW,EAAE,2BAA2B,EACxC,OAAO,EAAE,OAAO,IACb,UAAU,CAAC,IAAI,SAGtB,KAAK,kCACA,MAAM,GACN,UAAU,CAAC,KAAK,GAErB,UAAU,kCACL,UAAU,CAAC,UAAU,KACxB,OAAO,kCAEF,MAAA,GAAG,CAAC,WAAW,0CAAE,IAAI,GACrB,MAAA,UAAU,CAAC,UAAU,0CAAE,OAAO,OAGT,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,SAAS,aAAa,CAAC,MAAkB;;IACvC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAgB,CAAA;IACpC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,EAAE,GAAG,MAAA,eAAe,CAAC,OAAO,mCAAI,eAAe,CAAA;QACnD,IAAI,UAAU,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/B,MAAM,EAAE,OAAO,KAAc,UAAU,EAAnB,IAAI,UAAK,UAAU,EAAjC,WAAoB,CAAa,CAAA;QACvC,OAAO,IAAW,CAAA;IACpB,CAAC;IAED,MAAM,KAAuB,MAAa,EAApC,EAAE,OAAO,OAA2B,EAAtB,IAAI,cAAlB,WAAoB,CAAgB,CAAA;IAC1C,OAAO,IAAW,CAAA;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,GAAwB;IAC1C,OAAO,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAO;;IAC/B,OAAO,CACL,EAAE;QACF,OAAO,EAAE,KAAK,UAAU;QACxB,CAAA,MAAA,EAAE,CAAC,WAAW,0CAAE,IAAI,MAAK,wBAAwB,CAClD,CAAA;AACH,CAAC"}