@effect/openapi-generator 4.0.0-beta.66 → 4.0.0-beta.67

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 (41) hide show
  1. package/dist/HttpApiTransformer.d.ts +31 -0
  2. package/dist/HttpApiTransformer.d.ts.map +1 -1
  3. package/dist/HttpApiTransformer.js +20 -0
  4. package/dist/HttpApiTransformer.js.map +1 -1
  5. package/dist/JsonSchemaGenerator.d.ts +10 -0
  6. package/dist/JsonSchemaGenerator.d.ts.map +1 -1
  7. package/dist/JsonSchemaGenerator.js +30 -0
  8. package/dist/JsonSchemaGenerator.js.map +1 -1
  9. package/dist/OpenApiGenerator.d.ts +38 -0
  10. package/dist/OpenApiGenerator.d.ts.map +1 -1
  11. package/dist/OpenApiGenerator.js +25 -0
  12. package/dist/OpenApiGenerator.js.map +1 -1
  13. package/dist/OpenApiPatch.d.ts +26 -21
  14. package/dist/OpenApiPatch.d.ts.map +1 -1
  15. package/dist/OpenApiPatch.js +25 -20
  16. package/dist/OpenApiPatch.js.map +1 -1
  17. package/dist/OpenApiTransformer.d.ts +63 -0
  18. package/dist/OpenApiTransformer.d.ts.map +1 -1
  19. package/dist/OpenApiTransformer.js +63 -0
  20. package/dist/OpenApiTransformer.js.map +1 -1
  21. package/dist/ParsedOperation.d.ts +51 -0
  22. package/dist/ParsedOperation.d.ts.map +1 -1
  23. package/dist/ParsedOperation.js +3 -0
  24. package/dist/ParsedOperation.js.map +1 -1
  25. package/dist/Utils.d.ts +28 -0
  26. package/dist/Utils.d.ts.map +1 -1
  27. package/dist/Utils.js +38 -0
  28. package/dist/Utils.js.map +1 -1
  29. package/dist/main.d.ts +7 -0
  30. package/dist/main.d.ts.map +1 -1
  31. package/dist/main.js +17 -0
  32. package/dist/main.js.map +1 -1
  33. package/package.json +5 -5
  34. package/src/HttpApiTransformer.ts +31 -0
  35. package/src/JsonSchemaGenerator.ts +30 -0
  36. package/src/OpenApiGenerator.ts +38 -0
  37. package/src/OpenApiPatch.ts +26 -21
  38. package/src/OpenApiTransformer.ts +63 -0
  39. package/src/ParsedOperation.ts +51 -0
  40. package/src/Utils.ts +38 -0
  41. package/src/main.ts +17 -0
@@ -1,6 +1,37 @@
1
+ /**
2
+ * Renders parsed OpenAPI operations into generated Effect HttpApi source code.
3
+ *
4
+ * This module maps normalized OpenAPI metadata, tags, request bodies,
5
+ * responses, and security requirements into import declarations, HttpApi
6
+ * groups, endpoint definitions, schema annotations, and middleware classes.
7
+ * The rendered TypeScript can be emitted by the OpenAPI generator as an
8
+ * executable Effect `HttpApi` module.
9
+ *
10
+ * @since 4.0.0
11
+ */
1
12
  import type { ParsedOpenApi } from "./ParsedOperation.ts";
13
+ /**
14
+ * Render the import declarations required by generated HttpApi source.
15
+ *
16
+ * The schema namespace import is named by the caller so generated code can
17
+ * avoid collisions with symbols already present in the output module. Multipart
18
+ * support is included only when the parsed OpenAPI document needs it.
19
+ *
20
+ * @category code generation
21
+ * @since 4.0.0
22
+ */
2
23
  export declare const imports: (importName: string, options?: {
3
24
  readonly multipart?: boolean | undefined;
4
25
  }) => string;
26
+ /**
27
+ * Convert a parsed OpenAPI document into Effect HttpApi source code.
28
+ *
29
+ * The generated implementation contains security declarations, reusable
30
+ * middleware classes, HttpApi groups, endpoint definitions, and OpenAPI
31
+ * annotations derived from the parsed operation metadata.
32
+ *
33
+ * @category code generation
34
+ * @since 4.0.0
35
+ */
5
36
  export declare const toImplementation: (_importName: string, name: string, parsed: ParsedOpenApi) => string;
6
37
  //# sourceMappingURL=HttpApiTransformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiTransformer.d.ts","sourceRoot":"","sources":["../src/HttpApiTransformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,sBAAsB,CAAA;AAmB7B,eAAO,MAAM,OAAO,GAClB,YAAY,MAAM,EAClB,UAAU;IACR,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACzC,KACA,MAKW,CAAA;AAEd,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EACnB,MAAM,MAAM,EACZ,QAAQ,aAAa,KACpB,MAqBF,CAAA"}
1
+ {"version":3,"file":"HttpApiTransformer.d.ts","sourceRoot":"","sources":["../src/HttpApiTransformer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,sBAAsB,CAAA;AAmB7B;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAClB,YAAY,MAAM,EAClB,UAAU;IACR,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACzC,KACA,MAKW,CAAA;AAEd;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,aAAa,MAAM,EACnB,MAAM,MAAM,EACZ,QAAQ,aAAa,KACpB,MAqBF,CAAA"}
@@ -1,6 +1,26 @@
1
1
  import * as Utils from "./Utils.js";
2
2
  const fallbackGroupIdentifier = "default";
3
+ /**
4
+ * Render the import declarations required by generated HttpApi source.
5
+ *
6
+ * The schema namespace import is named by the caller so generated code can
7
+ * avoid collisions with symbols already present in the output module. Multipart
8
+ * support is included only when the parsed OpenAPI document needs it.
9
+ *
10
+ * @category code generation
11
+ * @since 4.0.0
12
+ */
3
13
  export const imports = (importName, options) => [`import * as ${importName} from "effect/Schema"`, ...(options?.multipart === true ? [`import { Multipart } from "effect/unstable/http"`] : []), `import { HttpApi, HttpApiEndpoint, HttpApiGroup, HttpApiMiddleware, HttpApiSchema, HttpApiSecurity, OpenApi } from "effect/unstable/httpapi"`].join("\n");
14
+ /**
15
+ * Convert a parsed OpenAPI document into Effect HttpApi source code.
16
+ *
17
+ * The generated implementation contains security declarations, reusable
18
+ * middleware classes, HttpApi groups, endpoint definitions, and OpenAPI
19
+ * annotations derived from the parsed operation metadata.
20
+ *
21
+ * @category code generation
22
+ * @since 4.0.0
23
+ */
4
24
  export const toImplementation = (_importName, name, parsed) => {
5
25
  const security = buildSecurityRenderModel(parsed);
6
26
  const groups = groupOperations(parsed);
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiTransformer.js","names":["Utils","fallbackGroupIdentifier","imports","importName","options","multipart","join","toImplementation","_importName","name","parsed","security","buildSecurityRenderModel","groups","groupOperations","groupSources","map","group","renderGroup","endpointMiddlewares","metadataAnnotations","renderApiAnnotations","apiValue","JSON","stringify","annotation","length","constName","securityDeclarations","middlewareDeclarations","tagMetadata","Map","tags","tag","byIdentifier","operation","operations","identifier","topLevel","existing","get","push","set","metadata","allocateName","makeNameAllocator","values","baseName","ensureIdentifier","source","allocateEndpointName","endpointSources","renderEndpoint","id","toOperationKey","description","undefined","externalDocs","endpointName","pathSchema","querySchema","headersSchema","payload","renderPayload","success","renderResponseSet","responses","error","endpoint","method","toHttpApiPath","path","annotations","operationId","summary","deprecated","out","middleware","methodSupportsBody","payloads","requestBodyRepresentable","schema","renderMediaSchema","requestBody","required","unshift","joinSchemas","target","rendered","response","status","toStatus","isSuccess","isEmpty","media","representable","applyStatus","schemas","encoding","contentType","title","version","license","servers","schemeDeclarations","middlewareNames","securityScheme","securitySchemes","declarationName","renderSecurityScheme","effectiveSecurity","some","requirement","Object","keys","operationMiddlewareNames","seenOrSchemes","Set","andRequirements","schemes","schemeName","has","add","sort","orSchemeNames","Array","from","className","getOrSecurityMiddlewareName","seenAndRequirements","key","getAndSecurityMiddlewareName","getSecurityMiddlewareBaseName","securityEntries","joiner","head","tail","scheme","type","in","bearerFormat","replace","test","Number","value","fallback","sanitized","used","base","candidate","index"],"sources":["../src/HttpApiTransformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiTransformer.js","names":["Utils","fallbackGroupIdentifier","imports","importName","options","multipart","join","toImplementation","_importName","name","parsed","security","buildSecurityRenderModel","groups","groupOperations","groupSources","map","group","renderGroup","endpointMiddlewares","metadataAnnotations","renderApiAnnotations","apiValue","JSON","stringify","annotation","length","constName","securityDeclarations","middlewareDeclarations","tagMetadata","Map","tags","tag","byIdentifier","operation","operations","identifier","topLevel","existing","get","push","set","metadata","allocateName","makeNameAllocator","values","baseName","ensureIdentifier","source","allocateEndpointName","endpointSources","renderEndpoint","id","toOperationKey","description","undefined","externalDocs","endpointName","pathSchema","querySchema","headersSchema","payload","renderPayload","success","renderResponseSet","responses","error","endpoint","method","toHttpApiPath","path","annotations","operationId","summary","deprecated","out","middleware","methodSupportsBody","payloads","requestBodyRepresentable","schema","renderMediaSchema","requestBody","required","unshift","joinSchemas","target","rendered","response","status","toStatus","isSuccess","isEmpty","media","representable","applyStatus","schemas","encoding","contentType","title","version","license","servers","schemeDeclarations","middlewareNames","securityScheme","securitySchemes","declarationName","renderSecurityScheme","effectiveSecurity","some","requirement","Object","keys","operationMiddlewareNames","seenOrSchemes","Set","andRequirements","schemes","schemeName","has","add","sort","orSchemeNames","Array","from","className","getOrSecurityMiddlewareName","seenAndRequirements","key","getAndSecurityMiddlewareName","getSecurityMiddlewareBaseName","securityEntries","joiner","head","tail","scheme","type","in","bearerFormat","replace","test","Number","value","fallback","sanitized","used","base","candidate","index"],"sources":["../src/HttpApiTransformer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,16 @@ interface GenerateHttpApiOptions extends GenerateOptions {
9
9
  readonly files: string;
10
10
  } | undefined;
11
11
  }
12
+ /**
13
+ * Create a stateful JSON Schema code generator for OpenAPI-derived schemas.
14
+ *
15
+ * Schemas registered with the returned generator are converted into TypeScript
16
+ * type aliases and Effect Schema runtime declarations, with reusable OpenAPI
17
+ * component definitions supplied at generation time.
18
+ *
19
+ * @category code generation
20
+ * @since 4.0.0
21
+ */
12
22
  export declare function make(): {
13
23
  readonly addSchema: (name: string, schema: JsonSchema.JsonSchema) => string;
14
24
  readonly generate: (source: Source, components: JsonSchema.Definitions, typeOnly: boolean, options?: GenerateOptions) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonSchemaGenerator.d.ts","sourceRoot":"","sources":["../src/JsonSchemaGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAI/C,KAAK,MAAM,GAAG,aAAa,GAAG,aAAa,CAAA;AAE3C,UAAU,eAAe;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;CACtF;AAED,UAAU,sBAAuB,SAAQ,eAAe;IACtD,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB,GAAG,SAAS,CAAA;CACd;AAED,wBAAgB,IAAI;+BAGO,MAAM,UAAU,UAAU,CAAC,UAAU,KAAG,MAAM;gCAS7D,MAAM,cACF,UAAU,CAAC,WAAW,YACxB,OAAO,YACP,eAAe;uCA0DjB,MAAM,cACF,UAAU,CAAC,WAAW,YACxB,sBAAsB;EA8FnC"}
1
+ {"version":3,"file":"JsonSchemaGenerator.d.ts","sourceRoot":"","sources":["../src/JsonSchemaGenerator.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAI/C,KAAK,MAAM,GAAG,aAAa,GAAG,aAAa,CAAA;AAE3C,UAAU,eAAe;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;CACtF;AAED,UAAU,sBAAuB,SAAQ,eAAe;IACtD,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KACvB,GAAG,SAAS,CAAA;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI;+BAGO,MAAM,UAAU,UAAU,CAAC,UAAU,KAAG,MAAM;gCAS7D,MAAM,cACF,UAAU,CAAC,WAAW,YACxB,OAAO,YACP,eAAe;uCA0DjB,MAAM,cACF,UAAU,CAAC,WAAW,YACxB,sBAAsB;EA8FnC"}
@@ -1,7 +1,37 @@
1
+ /**
2
+ * Generate TypeScript source for JSON Schema declarations extracted from
3
+ * OpenAPI documents.
4
+ *
5
+ * This module is the schema-rendering stage of the OpenAPI generator. Callers
6
+ * register named OpenAPI 3.0 or 3.1 schemas, provide the reusable component
7
+ * definitions for the document, and receive source text containing exported
8
+ * TypeScript aliases plus Effect Schema runtime values. The generator first
9
+ * normalizes OpenAPI-specific schema shapes into Effect's JSON Schema model,
10
+ * then delegates recursive analysis and runtime expression construction to
11
+ * `SchemaRepresentation`.
12
+ *
13
+ * The renderer keeps the emitted module usable for both human maintainers and
14
+ * automated code-generation consumers by grouping recursive declarations,
15
+ * reusable references, and locally registered schemas. It also contains the
16
+ * HttpApi-specific multipart file substitutions that map generated schemas to
17
+ * Effect's multipart runtime types.
18
+ *
19
+ * @since 4.0.0
20
+ */
1
21
  import * as Arr from "effect/Array";
2
22
  import * as JsonSchema from "effect/JsonSchema";
3
23
  import * as Rec from "effect/Record";
4
24
  import * as SchemaRepresentation from "effect/SchemaRepresentation";
25
+ /**
26
+ * Create a stateful JSON Schema code generator for OpenAPI-derived schemas.
27
+ *
28
+ * Schemas registered with the returned generator are converted into TypeScript
29
+ * type aliases and Effect Schema runtime declarations, with reusable OpenAPI
30
+ * component definitions supplied at generation time.
31
+ *
32
+ * @category code generation
33
+ * @since 4.0.0
34
+ */
5
35
  export function make() {
6
36
  const store = {};
7
37
  function addSchema(name, schema) {
@@ -1 +1 @@
1
- {"version":3,"file":"JsonSchemaGenerator.js","names":["Arr","JsonSchema","Rec","SchemaRepresentation","make","store","addSchema","name","schema","Error","generate","source","components","typeOnly","options","generated","makeCodeDocument","undefined","nonRecursiveReferences","codeDocument","references","nonRecursives","recursiveReferences","Object","entries","recursives","map","$ref","code","renderSchemaTypeAndRuntime","recursiveDeclarations","push","recursivelyForwardReferenced","collectForwardReferencedRecursives","recursiveInternalNames","makeRecursiveInternalNameMap","nameMap","has","internalName","get","renderRecursiveReferenceDeclaration","runtime","codes","i","render","generateHttpApi","multipartSchemaRefs","schemas","definitions","js","fromSchemaOpenApi","isArrayNonEmpty","multiDocument","fromJsonSchemaMultiDocument","dialect","onEnter","out","type","additionalProperties","toCodeDocument","jsonSchema","fromSchemaOpenApi3_1","fromSchemaOpenApi3_0","singleFile","join","files","strings","Type","title","as","length","tokenPattern","recursiveNames","Set","referenced","token","matchAll","identifier","add","existingNames","usedNames","internalNames","Map","candidate","set"],"sources":["../src/JsonSchemaGenerator.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,GAAG,MAAM,eAAe;AACpC,OAAO,KAAKC,oBAAoB,MAAM,6BAA6B;AAenE,OAAM,SAAUC,IAAIA,CAAA;EAClB,MAAMC,KAAK,GAA0C,EAAE;EAEvD,SAASC,SAASA,CAACC,IAAY,EAAEC,MAA6B;IAC5D,IAAID,IAAI,IAAIF,KAAK,EAAE;MACjB,MAAM,IAAII,KAAK,CAAC,UAAUF,IAAI,iBAAiB,CAAC;IAClD;IACAF,KAAK,CAACE,IAAI,CAAC,GAAGC,MAAM;IACpB,OAAOD,IAAI;EACb;EAEA,SAASG,QAAQA,CACfC,MAAc,EACdC,UAAkC,EAClCC,QAAiB,EACjBC,OAAyB;IAEzB,MAAMC,SAAS,GAAGC,gBAAgB,CAACL,MAAM,EAAEC,UAAU,EAAEE,OAAO,CAAC;IAC/D,IAAIC,SAAS,KAAKE,SAAS,EAAE;MAC3B,OAAO,EAAE;IACX;IAEA,MAAMC,sBAAsB,GAAGH,SAAS,CAACI,YAAY,CAACC,UAAU,CAACC,aAAa;IAC9E,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,OAAO,CAACT,SAAS,CAACI,YAAY,CAACC,UAAU,CAACK,UAAU,CAAC;IAExF,MAAMJ,aAAa,GAAGH,sBAAsB,CAACQ,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC;IAAI,CAAE,KAC9DC,0BAA0B,CAACF,IAAI,EAAEC,IAAI,EAAEf,QAAQ,CAAC,CACjD;IAED,MAAMiB,qBAAqB,GAAkB,EAAE;IAC/C,MAAML,UAAU,GAAkB,EAAE;IAEpC,IAAIZ,QAAQ,EAAE;MACZ,KAAK,MAAM,CAACc,IAAI,EAAEC,IAAI,CAAC,IAAIN,mBAAmB,EAAE;QAC9CG,UAAU,CAACM,IAAI,CAACF,0BAA0B,CAACF,IAAI,EAAEC,IAAI,EAAE,IAAI,CAAC,CAAC;MAC/D;IACF,CAAC,MAAM;MACL,MAAMI,4BAA4B,GAAGC,kCAAkC,CACrEf,sBAAsB,EACtBI,mBAAmB,CACpB;MACD,MAAMY,sBAAsB,GAAGC,4BAA4B,CACzDH,4BAA4B,EAC5B,CACE,GAAGd,sBAAsB,CAACQ,GAAG,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAI,CAAC,EACjD,GAAGL,mBAAmB,CAACI,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,CAAC,EAC5C,GAAGZ,SAAS,CAACqB,OAAO,CACrB,CACF;MAED,KAAK,MAAM,CAACT,IAAI,EAAEC,IAAI,CAAC,IAAIN,mBAAmB,EAAE;QAC9C,IAAIU,4BAA4B,CAACK,GAAG,CAACV,IAAI,CAAC,EAAE;UAC1C,MAAMW,YAAY,GAAGJ,sBAAsB,CAACK,GAAG,CAACZ,IAAI,CAAE;UACtDG,qBAAqB,CAACC,IAAI,CAACS,mCAAmC,CAACb,IAAI,EAAEC,IAAI,EAAEU,YAAY,CAAC,CAAC;UACzFb,UAAU,CAACM,IAAI,CAAC,SAASO,YAAY,MAAMV,IAAI,CAACa,OAAO,EAAE,CAAC;UAC1D;QACF;QAEAhB,UAAU,CAACM,IAAI,CAACF,0BAA0B,CAACF,IAAI,EAAEC,IAAI,EAAE,KAAK,CAAC,CAAC;MAChE;IACF;IAEA,MAAMc,KAAK,GAAG3B,SAAS,CAACI,YAAY,CAACuB,KAAK,CAAChB,GAAG,CAAC,CAACE,IAAI,EAAEe,CAAC,KACrDd,0BAA0B,CAACd,SAAS,CAACqB,OAAO,CAACO,CAAC,CAAC,EAAEf,IAAI,EAAEf,QAAQ,CAAC,CACjE;IAED,OAAO+B,MAAM,CAAC,wBAAwB,EAAEd,qBAAqB,CAAC,GAC5Dc,MAAM,CAAC,2BAA2B,EAAEvB,aAAa,CAAC,GAClDuB,MAAM,CAAC,uBAAuB,EAAEnB,UAAU,CAAC,GAC3CmB,MAAM,CAAC,SAAS,EAAEF,KAAK,CAAC;EAC5B;EAEA,SAASG,eAAeA,CACtBlC,MAAc,EACdC,UAAkC,EAClCE,OAAgC;IAEhC,MAAMC,SAAS,GAAGC,gBAAgB,CAACL,MAAM,EAAEC,UAAU,EAAEE,OAAO,CAAC;IAC/D,IAAIC,SAAS,KAAKE,SAAS,EAAE;MAC3B,OAAO,EAAE;IACX;IAEA,MAAMC,sBAAsB,GAAGH,SAAS,CAACI,YAAY,CAACC,UAAU,CAACC,aAAa;IAC9E,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,OAAO,CAACT,SAAS,CAACI,YAAY,CAACC,UAAU,CAACK,UAAU,CAAC;IAExF,MAAMJ,aAAa,GAAGH,sBAAsB,CAACQ,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC;IAAI,CAAE,KAC9DC,0BAA0B,CAACF,IAAI,EAAEC,IAAI,EAAE,KAAK,EAAEd,OAAO,EAAEgC,mBAAmB,CAAC,CAC5E;IAED,MAAMd,4BAA4B,GAAGC,kCAAkC,CAACf,sBAAsB,EAAEI,mBAAmB,CAAC;IACpH,MAAMY,sBAAsB,GAAGC,4BAA4B,CACzDH,4BAA4B,EAC5B,CACE,GAAGd,sBAAsB,CAACQ,GAAG,CAAC,CAAC;MAAEC;IAAI,CAAE,KAAKA,IAAI,CAAC,EACjD,GAAGL,mBAAmB,CAACI,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,CAAC,EAC5C,GAAGZ,SAAS,CAACqB,OAAO,CACrB,CACF;IAED,MAAMN,qBAAqB,GAAkB,EAAE;IAC/C,MAAML,UAAU,GAAkB,EAAE;IAEpC,KAAK,MAAM,CAACE,IAAI,EAAEC,IAAI,CAAC,IAAIN,mBAAmB,EAAE;MAC9C,IAAIU,4BAA4B,CAACK,GAAG,CAACV,IAAI,CAAC,EAAE;QAC1C,MAAMW,YAAY,GAAGJ,sBAAsB,CAACK,GAAG,CAACZ,IAAI,CAAE;QACtDG,qBAAqB,CAACC,IAAI,CAACS,mCAAmC,CAACb,IAAI,EAAEC,IAAI,EAAEU,YAAY,CAAC,CAAC;QACzFb,UAAU,CAACM,IAAI,CAAC,SAASO,YAAY,MAAMV,IAAI,CAACa,OAAO,EAAE,CAAC;QAC1D;MACF;MAEAhB,UAAU,CAACM,IAAI,CAACF,0BAA0B,CAACF,IAAI,EAAEC,IAAI,EAAE,KAAK,EAAEd,OAAO,EAAEgC,mBAAmB,CAAC,CAAC;IAC9F;IAEA,MAAMJ,KAAK,GAAG3B,SAAS,CAACI,YAAY,CAACuB,KAAK,CAAChB,GAAG,CAAC,CAACE,IAAI,EAAEe,CAAC,KACrDd,0BAA0B,CAACd,SAAS,CAACqB,OAAO,CAACO,CAAC,CAAC,EAAEf,IAAI,EAAE,KAAK,EAAEd,OAAO,EAAEgC,mBAAmB,CAAC,CAC5F;IAED,OAAOF,MAAM,CAAC,wBAAwB,EAAEd,qBAAqB,CAAC,GAC5Dc,MAAM,CAAC,2BAA2B,EAAEvB,aAAa,CAAC,GAClDuB,MAAM,CAAC,uBAAuB,EAAEnB,UAAU,CAAC,GAC3CmB,MAAM,CAAC,SAAS,EAAEF,KAAK,CAAC;EAC5B;EAEA,SAAS1B,gBAAgBA,CACvBL,MAAc,EACdC,UAAkC,EAClCE,OAAyB;IAKzB,MAAMsB,OAAO,GAAkB,EAAE;IACjC,MAAMW,OAAO,GAAiC,EAAE;IAEhD,MAAMC,WAAW,GAA2B9C,GAAG,CAACwB,GAAG,CACjDd,UAAU,EACTqC,EAAE,IAAKC,iBAAiB,CAACvC,MAAM,EAAEsC,EAAE,CAAC,CAACzC,MAAM,CAC7C;IAED,KAAK,MAAM,CAACD,IAAI,EAAE0C,EAAE,CAAC,IAAI1B,MAAM,CAACC,OAAO,CAACnB,KAAK,CAAC,EAAE;MAC9C+B,OAAO,CAACL,IAAI,CAACxB,IAAI,CAAC;MAClBwC,OAAO,CAAChB,IAAI,CAACmB,iBAAiB,CAACvC,MAAM,EAAEsC,EAAE,CAAC,CAACzC,MAAM,CAAC;IACpD;IAEA,IAAI,CAACR,GAAG,CAACmD,eAAe,CAACJ,OAAO,CAAC,EAAE;MACjC;IACF;IAEA,MAAMK,aAAa,GAAuCjD,oBAAoB,CAACkD,2BAA2B,CAAC;MACzGC,OAAO,EAAE,eAAe;MACxBP,OAAO;MACPC;KACD,EAAE;MACDO,OAAOA,CAACN,EAAE;QACR,MAAMO,GAAG,GAAG;UAAE,GAAGP;QAAE,CAAE;QACrB,IAAIO,GAAG,CAACC,IAAI,KAAK,QAAQ,IAAID,GAAG,CAACE,oBAAoB,KAAKzC,SAAS,EAAE;UACnEuC,GAAG,CAACE,oBAAoB,GAAG,KAAK;QAClC;QACA,OAAO5C,OAAO,EAAEyC,OAAO,GAAGC,GAAG,CAAC,IAAIA,GAAG;MACvC;KACD,CAAC;IAEF,OAAO;MACLpB,OAAO;MACPjB,YAAY,EAAEhB,oBAAoB,CAACwD,cAAc,CAACP,aAAa;KAChE;EACH;EAEA,OAAO;IAAE9C,SAAS;IAAEI,QAAQ;IAAEmC;EAAe,CAAW;AAC1D;AAEA,SAASK,iBAAiBA,CAACvC,MAAc,EAAEiD,UAAiC;EAC1E,QAAQjD,MAAM;IACZ,KAAK,aAAa;MAChB,OAAOV,UAAU,CAAC4D,oBAAoB,CAACD,UAAU,CAAC;IACpD,KAAK,aAAa;MAChB,OAAO3D,UAAU,CAAC6D,oBAAoB,CAACF,UAAU,CAAC;EACtD;AACF;AAEA,SAAS/B,0BAA0BA,CACjCF,IAAY,EACZC,IAA+B,EAC/Bf,QAAiB,EACjBiC,mBAGC;EAED,IAAI,CAACjC,QAAQ,IAAIiC,mBAAmB,KAAK7B,SAAS,EAAE;IAClD,IAAIU,IAAI,KAAKmB,mBAAmB,CAACiB,UAAU,EAAE;MAC3C,OAAO,CACL,eAAepC,IAAI,4BAA4B,EAC/C,gBAAgBA,IAAI,+BAA+B,CACpD,CAACqC,IAAI,CAAC,IAAI,CAAC;IACd;IACA,IAAIrC,IAAI,KAAKmB,mBAAmB,CAACmB,KAAK,EAAE;MACtC,OAAO,CACL,eAAetC,IAAI,2CAA2C,EAC9D,gBAAgBA,IAAI,0BAA0B,CAC/C,CAACqC,IAAI,CAAC,IAAI,CAAC;IACd;EACF;EAEA,MAAME,OAAO,GAAG,CAAC,eAAevC,IAAI,MAAMC,IAAI,CAACuC,IAAI,EAAE,CAAC;EACtD,IAAI,CAACtD,QAAQ,EAAE;IACbqD,OAAO,CAACnC,IAAI,CAAC,gBAAgBJ,IAAI,MAAMC,IAAI,CAACa,OAAO,EAAE,CAAC;EACxD;EACA,OAAOyB,OAAO,CAACF,IAAI,CAAC,IAAI,CAAC;AAC3B;AAEA,SAASxB,mCAAmCA,CAC1Cb,IAAY,EACZC,IAA+B,EAC/BU,YAAoB;EAEpB,OAAO,CACL,eAAeX,IAAI,MAAMC,IAAI,CAACuC,IAAI,EAAE,EACpC,gBAAgBxC,IAAI,sCAAsCA,IAAI,QAAQW,YAAY,GAAG,CACtF,CAAC0B,IAAI,CAAC,IAAI,CAAC;AACd;AAEA,SAASpB,MAAMA,CAACwB,KAAa,EAAEC,EAAyB;EACtD,IAAIA,EAAE,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAC9B,OAAO,KAAK,GAAGF,KAAK,GAAG,IAAI,GAAGC,EAAE,CAACL,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;AACpD;AAEA,MAAMO,YAAY,GAAG,2BAA2B;AAEhD,SAAStC,kCAAkCA,CACzCZ,aAGE,EACFI,UAAuE;EAEvE,MAAM+C,cAAc,GAAG,IAAIC,GAAG,CAAChD,UAAU,CAACC,GAAG,CAAC,CAAC,CAACnB,IAAI,CAAC,KAAKA,IAAI,CAAC,CAAC;EAChE,MAAMmE,UAAU,GAAG,IAAID,GAAG,EAAU;EAEpC,KAAK,MAAM;IAAE7C;EAAI,CAAE,IAAIP,aAAa,EAAE;IACpC,KAAK,MAAMsD,KAAK,IAAI/C,IAAI,CAACa,OAAO,CAACmC,QAAQ,CAACL,YAAY,CAAC,EAAE;MACvD,MAAMM,UAAU,GAAGF,KAAK,CAAC,CAAC,CAAC;MAC3B,IAAIH,cAAc,CAACnC,GAAG,CAACwC,UAAU,CAAC,EAAE;QAClCH,UAAU,CAACI,GAAG,CAACD,UAAU,CAAC;MAC5B;IACF;EACF;EAEA,OAAOH,UAAU;AACnB;AAEA,SAASvC,4BAA4BA,CACnCqC,cAAmC,EACnCO,aAAoC;EAEpC,MAAMC,SAAS,GAAG,IAAIP,GAAG,CAACM,aAAa,CAAC;EACxC,MAAME,aAAa,GAAG,IAAIC,GAAG,EAAkB;EAE/C,KAAK,MAAM3E,IAAI,IAAIiE,cAAc,EAAE;IACjC,IAAIW,SAAS,GAAG,eAAe5E,IAAI,EAAE;IACrC,OAAOyE,SAAS,CAAC3C,GAAG,CAAC8C,SAAS,CAAC,EAAE;MAC/BA,SAAS,GAAG,IAAIA,SAAS,EAAE;IAC7B;IACAH,SAAS,CAACF,GAAG,CAACK,SAAS,CAAC;IACxBF,aAAa,CAACG,GAAG,CAAC7E,IAAI,EAAE4E,SAAS,CAAC;EACpC;EAEA,OAAOF,aAAa;AACtB","ignoreList":[]}
1
+ {"version":3,"file":"JsonSchemaGenerator.js","names":["Arr","JsonSchema","Rec","SchemaRepresentation","make","store","addSchema","name","schema","Error","generate","source","components","typeOnly","options","generated","makeCodeDocument","undefined","nonRecursiveReferences","codeDocument","references","nonRecursives","recursiveReferences","Object","entries","recursives","map","$ref","code","renderSchemaTypeAndRuntime","recursiveDeclarations","push","recursivelyForwardReferenced","collectForwardReferencedRecursives","recursiveInternalNames","makeRecursiveInternalNameMap","nameMap","has","internalName","get","renderRecursiveReferenceDeclaration","runtime","codes","i","render","generateHttpApi","multipartSchemaRefs","schemas","definitions","js","fromSchemaOpenApi","isArrayNonEmpty","multiDocument","fromJsonSchemaMultiDocument","dialect","onEnter","out","type","additionalProperties","toCodeDocument","jsonSchema","fromSchemaOpenApi3_1","fromSchemaOpenApi3_0","singleFile","join","files","strings","Type","title","as","length","tokenPattern","recursiveNames","Set","referenced","token","matchAll","identifier","add","existingNames","usedNames","internalNames","Map","candidate","set"],"sources":["../src/JsonSchemaGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,15 @@
1
+ /**
2
+ * The `OpenApiGenerator` module orchestrates converting OpenAPI and Swagger
3
+ * documents into generated Effect source.
4
+ *
5
+ * It normalizes Swagger 2.0 input, resolves local references, builds the
6
+ * parsed operation model, registers request and response schemas, applies
7
+ * HttpApi-specific adaptations such as multipart helpers and security metadata,
8
+ * emits warnings for unsupported or lossy OpenAPI features, and then delegates
9
+ * final rendering to the HttpClient or HttpApi code generators.
10
+ *
11
+ * @since 4.0.0
12
+ */
1
13
  import * as Context from "effect/Context";
2
14
  import * as Effect from "effect/Effect";
3
15
  import type * as JsonSchema from "effect/JsonSchema";
@@ -6,10 +18,24 @@ import type { OpenAPISpec, OpenAPISpecMethodName } from "effect/unstable/httpapi
6
18
  declare const OpenApiGenerator_base: Context.ServiceClass<OpenApiGenerator, "OpenApiGenerator", {
7
19
  readonly generate: (spec: OpenAPISpec, options: OpenApiGenerateOptions) => Effect.Effect<string>;
8
20
  }>;
21
+ /**
22
+ * Service for turning OpenAPI or Swagger specifications into generated Effect
23
+ * HTTP client or HttpApi source code.
24
+ */
9
25
  export declare class OpenApiGenerator extends OpenApiGenerator_base {
10
26
  }
27
+ /**
28
+ * Output targets supported by the OpenAPI generator.
29
+ */
11
30
  export type OpenApiGeneratorFormat = "httpclient" | "httpclient-type-only" | "httpapi";
31
+ /**
32
+ * Stable identifiers for non-fatal OpenAPI generation warnings.
33
+ */
12
34
  export type OpenApiGeneratorWarningCode = "cookie-parameter-dropped" | "additional-tags-dropped" | "sse-operation-skipped" | "response-headers-ignored" | "optional-request-body-approximated" | "default-response-remapped" | "security-and-downgraded" | "no-body-method-request-body-skipped" | "naming-collision";
35
+ /**
36
+ * Describes a non-fatal issue encountered while mapping an OpenAPI operation to
37
+ * generated Effect source.
38
+ */
13
39
  export interface OpenApiGeneratorWarning {
14
40
  readonly code: OpenApiGeneratorWarningCode;
15
41
  readonly message: string;
@@ -17,6 +43,9 @@ export interface OpenApiGeneratorWarning {
17
43
  readonly method?: OpenAPISpecMethodName | undefined;
18
44
  readonly operationId?: string | undefined;
19
45
  }
46
+ /**
47
+ * Options that control one OpenAPI generation run.
48
+ */
20
49
  export interface OpenApiGenerateOptions {
21
50
  /**
22
51
  * The name to give to the generated output.
@@ -35,10 +64,19 @@ export interface OpenApiGenerateOptions {
35
64
  */
36
65
  readonly onWarning?: ((warning: OpenApiGeneratorWarning) => void) | undefined;
37
66
  }
67
+ /**
68
+ * Constructs the OpenAPI generator service implementation.
69
+ */
38
70
  export declare const make: Effect.Effect<{
39
71
  readonly generate: (_: OpenAPISpec, options: OpenApiGenerateOptions) => Effect.Effect<string, never, never>;
40
72
  }, never, never>;
73
+ /**
74
+ * Layer providing an OpenAPI generator for Schema-backed HTTP client and HttpApi output.
75
+ */
41
76
  export declare const layerTransformerSchema: Layer.Layer<OpenApiGenerator>;
77
+ /**
78
+ * Layer providing an OpenAPI generator for type-only HTTP client output.
79
+ */
42
80
  export declare const layerTransformerTs: Layer.Layer<OpenApiGenerator>;
43
81
  export {};
44
82
  //# sourceMappingURL=OpenApiGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiGenerator.d.ts","sourceRoot":"","sources":["../src/OpenApiGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,EAAyB,WAAW,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;;uBAUzF,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AAFpG,qBAAa,gBAAiB,SAAQ,qBAGf;CAAG;AAE1B,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,sBAAsB,GAAG,SAAS,CAAA;AAEtF,MAAM,MAAM,2BAA2B,GACnC,0BAA0B,GAC1B,yBAAyB,GACzB,uBAAuB,GACvB,0BAA0B,GAC1B,oCAAoC,GACpC,2BAA2B,GAC3B,yBAAyB,GACzB,qCAAqC,GACrC,kBAAkB,CAAA;AAEtB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IACrF;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAC9E;AAkBD,eAAO,MAAM,IAAI;;gBA4Ef,CAAA;AAq2BF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAwC,CAAA;AAEzG,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAwC,CAAA"}
1
+ {"version":3,"file":"OpenApiGenerator.d.ts","sourceRoot":"","sources":["../src/OpenApiGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,EAAyB,WAAW,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;;uBAczF,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AANpG;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGf;CAAG;AAE1B;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,sBAAsB,GAAG,SAAS,CAAA;AAEtF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GACnC,0BAA0B,GAC1B,yBAAyB,GACzB,uBAAuB,GACvB,0BAA0B,GAC1B,oCAAoC,GACpC,2BAA2B,GAC3B,yBAAyB,GACzB,qCAAqC,GACrC,kBAAkB,CAAA;AAEtB;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAA;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IACrF;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAC9E;AAkBD;;GAEG;AACH,eAAO,MAAM,IAAI;;gBA4Ef,CAAA;AAq2BF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAwC,CAAA;AAEzG;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAwC,CAAA"}
@@ -1,3 +1,15 @@
1
+ /**
2
+ * The `OpenApiGenerator` module orchestrates converting OpenAPI and Swagger
3
+ * documents into generated Effect source.
4
+ *
5
+ * It normalizes Swagger 2.0 input, resolves local references, builds the
6
+ * parsed operation model, registers request and response schemas, applies
7
+ * HttpApi-specific adaptations such as multipart helpers and security metadata,
8
+ * emits warnings for unsupported or lossy OpenAPI features, and then delegates
9
+ * final rendering to the HttpClient or HttpApi code generators.
10
+ *
11
+ * @since 4.0.0
12
+ */
1
13
  import * as Context from "effect/Context";
2
14
  import * as Effect from "effect/Effect";
3
15
  import * as Layer from "effect/Layer";
@@ -9,8 +21,15 @@ import * as JsonSchemaGenerator from "./JsonSchemaGenerator.js";
9
21
  import * as OpenApiTransformer from "./OpenApiTransformer.js";
10
22
  import * as ParsedOperation from "./ParsedOperation.js";
11
23
  import * as Utils from "./Utils.js";
24
+ /**
25
+ * Service for turning OpenAPI or Swagger specifications into generated Effect
26
+ * HTTP client or HttpApi source code.
27
+ */
12
28
  export class OpenApiGenerator extends /*#__PURE__*/Context.Service()("OpenApiGenerator") {}
13
29
  const methodNames = ["get", "put", "post", "delete", "options", "head", "patch", "trace"];
30
+ /**
31
+ * Constructs the OpenAPI generator service implementation.
32
+ */
14
33
  export const make = /*#__PURE__*/Effect.gen(function* () {
15
34
  const generate = Effect.fn(function* (spec, options) {
16
35
  const generator = JsonSchemaGenerator.make();
@@ -711,7 +730,13 @@ const warnForOperation = (emitWarning, operation, warning) => {
711
730
  function getDialect(spec) {
712
731
  return spec.openapi.trim().startsWith("3.0") ? "openapi-3.0" : "openapi-3.1";
713
732
  }
733
+ /**
734
+ * Layer providing an OpenAPI generator for Schema-backed HTTP client and HttpApi output.
735
+ */
714
736
  export const layerTransformerSchema = /*#__PURE__*/Layer.effect(OpenApiGenerator, make);
737
+ /**
738
+ * Layer providing an OpenAPI generator for type-only HTTP client output.
739
+ */
715
740
  export const layerTransformerTs = /*#__PURE__*/Layer.effect(OpenApiGenerator, make);
716
741
  const isSwaggerSpec = spec => "swagger" in spec;
717
742
  const convertSwaggerSpec = /*#__PURE__*/Effect.fn(spec => Effect.callback(resume => {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiGenerator.js","names":["Context","Effect","Layer","Predicate","String","SwaggerToOpenApi","HttpApiTransformer","JsonSchemaGenerator","OpenApiTransformer","ParsedOperation","Utils","OpenApiGenerator","Service","methodNames","make","gen","generate","fn","spec","options","generator","openApiTransformer","emitWarning","makeWarningEmitter","isSwaggerSpec","convertSwaggerSpec","resolveRef","ref","parts","split","slice","current","part","multipartSchemaRefs","format","makeHttpApiMultipartSchemaRefs","components","schemas","undefined","parsed","parseOpenApi","importName","source","getDialect","generation","generateHttpApi","withHttpApiMultipartSchemas","onEnter","needsMultipartImport","includes","stripMargin","imports","multipart","toImplementation","name","toTypes","effect","_","provideServiceEffect","sync","makeTransformerTs","makeTransformerSchema","warning","onWarning","operations","reservedSchemaNames","Set","Object","keys","isHttpApi","securitySchemes","parseSecuritySchemes","addSchema","baseName","schema","operation","candidate","index","has","warnForOperation","code","message","add","path","methods","entries","paths","method","isUndefined","id","operationId","camelize","toUpperCase","description","nonEmptyString","summary","pathIds","pathTemplate","processPath","op","makeDeepMutable","tags","length","join","metadata","deprecated","externalDocs","effectiveSecurity","cloneSecurityRequirements","security","warnForAndSecurityRequirements","schemaId","identifier","pathParameters","isObject","Array","isArray","parameters","resolveOperationParameters","parameter","parsedParameter","in","required","push","query","header","cookie","requestBody","resolveReference","methodSupportsRequestBody","resolvedResponses","responses","map","status","response","hasExplicitSuccessResponse","some","test","Number","hasSuccessfulSseResponse","validParameters","filter","combinedParameterSchema","buildParameterSchema","added","spreadElementsInto","urlParams","headers","cookies","params","paramsOptional","optional","pathParameterSchema","pathSchema","queryParameterSchema","querySchema","querySchemaOptional","headerParameterSchema","headersSchema","headersSchemaOptional","isNotUndefined","content","requestSchemaNames","Map","contentTypes","payload","set","transformMultipartSchema","payloadFormData","payloadFormUrlEncoded","representableRequestBody","contentType","mediaType","encoding","getRequestMediaTypeEncoding","schemaName","get","mediaTypeToSuffix","requestBodyRepresentable","defaultSchema","parsedStatus","remapDefaultResponseStatusForHttpApi","representable","jsonSchemaName","jsonResponseSchema","getResponseMediaTypeEncoding","isEmptyResponse","parsedResponse","hasHeaders","isEmpty","defaultResponse","statusLower","toLowerCase","statusMajorNumber","isNaN","successSchemas","errorSchemas","sseResponseSchema","sseSchema","binaryResponse","voidSchemas","size","title","info","version","license","servers","tag","isOpenApiParameter","operationParameters","resolved","key","delete","values","onAdded","type","properties","additionalProperties","paramSchema","propertySchema","adjustedName","normalized","suffix","definitions","names","allocate","base","singleFile","files","toDefinitionRef","replaceAll","items","$ref","singleFileRef","filesRef","cache","stack","visit","value","startsWith","cached","transformed","resolveSchemaReference","isMultipartBinaryFile","out","isMultipartBinaryFiles","seen","contentEncoding","isJsonMediaType","endsWith","isTextMediaType","isBinaryMediaType","input","requirement","fromEntries","scopes","scheme","normalizedScheme","bearerFormat","schemes","remappedStatus","statusCode","openapi","trim","layerTransformerSchema","layerTransformerTs","callback","resume","convertObj","laxDefaults","laxurls","patch","warnOnly","err","result","die","succeed","pipe","withSpan","replace"],"sources":["../src/OpenApiGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiGenerator.js","names":["Context","Effect","Layer","Predicate","String","SwaggerToOpenApi","HttpApiTransformer","JsonSchemaGenerator","OpenApiTransformer","ParsedOperation","Utils","OpenApiGenerator","Service","methodNames","make","gen","generate","fn","spec","options","generator","openApiTransformer","emitWarning","makeWarningEmitter","isSwaggerSpec","convertSwaggerSpec","resolveRef","ref","parts","split","slice","current","part","multipartSchemaRefs","format","makeHttpApiMultipartSchemaRefs","components","schemas","undefined","parsed","parseOpenApi","importName","source","getDialect","generation","generateHttpApi","withHttpApiMultipartSchemas","onEnter","needsMultipartImport","includes","stripMargin","imports","multipart","toImplementation","name","toTypes","effect","_","provideServiceEffect","sync","makeTransformerTs","makeTransformerSchema","warning","onWarning","operations","reservedSchemaNames","Set","Object","keys","isHttpApi","securitySchemes","parseSecuritySchemes","addSchema","baseName","schema","operation","candidate","index","has","warnForOperation","code","message","add","path","methods","entries","paths","method","isUndefined","id","operationId","camelize","toUpperCase","description","nonEmptyString","summary","pathIds","pathTemplate","processPath","op","makeDeepMutable","tags","length","join","metadata","deprecated","externalDocs","effectiveSecurity","cloneSecurityRequirements","security","warnForAndSecurityRequirements","schemaId","identifier","pathParameters","isObject","Array","isArray","parameters","resolveOperationParameters","parameter","parsedParameter","in","required","push","query","header","cookie","requestBody","resolveReference","methodSupportsRequestBody","resolvedResponses","responses","map","status","response","hasExplicitSuccessResponse","some","test","Number","hasSuccessfulSseResponse","validParameters","filter","combinedParameterSchema","buildParameterSchema","added","spreadElementsInto","urlParams","headers","cookies","params","paramsOptional","optional","pathParameterSchema","pathSchema","queryParameterSchema","querySchema","querySchemaOptional","headerParameterSchema","headersSchema","headersSchemaOptional","isNotUndefined","content","requestSchemaNames","Map","contentTypes","payload","set","transformMultipartSchema","payloadFormData","payloadFormUrlEncoded","representableRequestBody","contentType","mediaType","encoding","getRequestMediaTypeEncoding","schemaName","get","mediaTypeToSuffix","requestBodyRepresentable","defaultSchema","parsedStatus","remapDefaultResponseStatusForHttpApi","representable","jsonSchemaName","jsonResponseSchema","getResponseMediaTypeEncoding","isEmptyResponse","parsedResponse","hasHeaders","isEmpty","defaultResponse","statusLower","toLowerCase","statusMajorNumber","isNaN","successSchemas","errorSchemas","sseResponseSchema","sseSchema","binaryResponse","voidSchemas","size","title","info","version","license","servers","tag","isOpenApiParameter","operationParameters","resolved","key","delete","values","onAdded","type","properties","additionalProperties","paramSchema","propertySchema","adjustedName","normalized","suffix","definitions","names","allocate","base","singleFile","files","toDefinitionRef","replaceAll","items","$ref","singleFileRef","filesRef","cache","stack","visit","value","startsWith","cached","transformed","resolveSchemaReference","isMultipartBinaryFile","out","isMultipartBinaryFiles","seen","contentEncoding","isJsonMediaType","endsWith","isTextMediaType","isBinaryMediaType","input","requirement","fromEntries","scopes","scheme","normalizedScheme","bearerFormat","schemes","remappedStatus","statusCode","openapi","trim","layerTransformerSchema","layerTransformerTs","callback","resume","convertObj","laxDefaults","laxurls","patch","warnOnly","err","result","die","succeed","pipe","withSpan","replace"],"sources":["../src/OpenApiGenerator.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;AAYA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAOC,gBAAgB,MAAM,iBAAiB;AAC9C,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAC7D,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B;AAC/D,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAC7D,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AACvD,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;;AAIA,OAAM,MAAOC,gBAAiB,sBAAQX,OAAO,CAACY,OAAO,EAGlD,CAAC,kBAAkB,CAAC;AA4DvB,MAAMC,WAAW,GAAyC,CACxD,KAAK,EACL,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,OAAO,CACR;AAED;;;AAGA,OAAO,MAAMC,IAAI,gBAAGb,MAAM,CAACc,GAAG,CAAC,aAAS;EACtC,MAAMC,QAAQ,GAAGf,MAAM,CAACgB,EAAE,CACxB,WAAUC,IAAiB,EAAEC,OAA+B;IAC1D,MAAMC,SAAS,GAAGb,mBAAmB,CAACO,IAAI,EAAE;IAC5C,MAAMO,kBAAkB,GAAG,OAAOb,kBAAkB,CAACA,kBAAkB;IACvE,MAAMc,WAAW,GAAGC,kBAAkB,CAACJ,OAAO,CAAC;IAE/C;IACA,IAAIK,aAAa,CAACN,IAAI,CAAC,EAAE;MACvBA,IAAI,GAAG,OAAOO,kBAAkB,CAACP,IAAI,CAAC;IACxC;IAEA,SAASQ,UAAUA,CAACC,GAAW;MAC7B,MAAMC,KAAK,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;MACrC,IAAIC,OAAO,GAAQb,IAAI;MACvB,KAAK,MAAMc,IAAI,IAAIJ,KAAK,EAAE;QACxBG,OAAO,GAAGA,OAAO,CAACC,IAAI,CAAC;MACzB;MACA,OAAOD,OAAO;IAChB;IAEA,MAAME,mBAAmB,GAAGd,OAAO,CAACe,MAAM,KAAK,SAAS,GACpDC,8BAA8B,CAACjB,IAAI,CAACkB,UAAU,EAAEC,OAAO,IAAI,EAAE,CAAC,GAC9DC,SAAS;IAEb,MAAMC,MAAM,GAAGC,YAAY,CAACtB,IAAI,EAAEE,SAAS,EAAEM,UAAU,EAAEP,OAAO,CAACe,MAAM,EAAEZ,WAAW,EAAEW,mBAAmB,CAAC;IAE1G;IACA,MAAMQ,UAAU,GAAG,QAAQ;IAC3B,MAAMC,MAAM,GAAGC,UAAU,CAACzB,IAAI,CAAC;IAC/B,MAAM0B,UAAU,GAAGzB,OAAO,CAACe,MAAM,KAAK,SAAS,GAC3Cd,SAAS,CAACyB,eAAe,CACzBH,MAAM,EACNI,2BAA2B,CAAC5B,IAAI,CAACkB,UAAU,EAAEC,OAAO,IAAI,EAAE,EAAEJ,mBAAmB,CAAC,EAChF;MACEc,OAAO,EAAE5B,OAAO,CAAC4B,OAAO;MACxBd;KACD,CACF,GACCb,SAAS,CAACJ,QAAQ,CAClB0B,MAAM,EACNxB,IAAI,CAACkB,UAAU,EAAEC,OAAO,IAAI,EAAE,EAC9BlB,OAAO,CAACe,MAAM,KAAK,sBAAsB,EACzC;MACEa,OAAO,EAAE5B,OAAO,CAAC4B;KAClB,CACF;IAEH,IAAI5B,OAAO,CAACe,MAAM,KAAK,SAAS,EAAE;MAChC,MAAMc,oBAAoB,GAAGJ,UAAU,CAACK,QAAQ,CAAC,YAAY,CAAC;MAC9D,OAAO7C,MAAM,CAAC8C,WAAW,CACvB,IAAI5C,kBAAkB,CAAC6C,OAAO,CAACV,UAAU,EAAE;QAAEW,SAAS,EAAEJ;MAAoB,CAAE,CAAC;cAC3EJ,UAAU;cACVtC,kBAAkB,CAAC+C,gBAAgB,CAACZ,UAAU,EAAEtB,OAAO,CAACmC,IAAI,EAAEf,MAAM,CAAC,EAAE,CAC5E;IACH;IAEA,OAAOnC,MAAM,CAAC8C,WAAW,CACvB,IAAI7B,kBAAkB,CAAC8B,OAAO,CAACV,UAAU,EAAEF,MAAM,CAAC;YAC9CK,UAAU;YACVvB,kBAAkB,CAACgC,gBAAgB,CAACZ,UAAU,EAAEtB,OAAO,CAACmC,IAAI,EAAEf,MAAM,CAAC;;YAErElB,kBAAkB,CAACkC,OAAO,CAACd,UAAU,EAAEtB,OAAO,CAACmC,IAAI,EAAEf,MAAM,CAAC,EAAE,CACnE;EACH,CAAC,EACD,CAACiB,MAAM,EAAEC,CAAC,EAAEtC,OAAO,KACjBlB,MAAM,CAACyD,oBAAoB,CACzBF,MAAM,EACNhD,kBAAkB,CAACA,kBAAkB,EACrCW,OAAO,CAACe,MAAM,KAAK,sBAAsB,GACrCjC,MAAM,CAAC0D,IAAI,CAACnD,kBAAkB,CAACoD,iBAAiB,CAAC,GACjD3D,MAAM,CAAC0D,IAAI,CAACnD,kBAAkB,CAACqD,qBAAqB,CAAC,CAC1D,CACJ;EAED,OAAO;IAAE7C;EAAQ,CAAW;AAC9B,CAAC,CAAC;AAIF,MAAMO,kBAAkB,GAAIJ,OAA+B,IAAsB2C,OAAO,IAAI;EAC1F3C,OAAO,CAAC4C,SAAS,GAAGD,OAAO,CAAC;AAC9B,CAAC;AAED,MAAMtB,YAAY,GAAGA,CACnBtB,IAAiB,EACjBE,SAAsD,EACtDM,UAAoC,EACpCQ,MAA8B,EAC9BZ,WAA2B,EAC3BW,mBAA2D,KAC1B;EACjC,MAAM+B,UAAU,GAA2C,EAAE;EAC7D,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAASC,MAAM,CAACC,IAAI,CAAClD,IAAI,CAACkB,UAAU,EAAEC,OAAO,IAAI,EAAE,CAAC,CAAC;EACxF,MAAMgC,SAAS,GAAGnC,MAAM,KAAK,SAAS;EACtC,MAAMoC,eAAe,GAAGD,SAAS,GAAGE,oBAAoB,CAACrD,IAAI,EAAEQ,UAAU,CAAC,GAAG,EAAE;EAE/E,MAAM8C,SAAS,GAAGA,CAChBC,QAAgB,EAChBC,MAA6B,EAC7BC,SAA0C,KAChC;IACV,IAAIC,SAAS,GAAGH,QAAQ;IACxB,IAAII,KAAK,GAAG,CAAC;IACb,OAAOZ,mBAAmB,CAACa,GAAG,CAACF,SAAS,CAAC,EAAE;MACzCA,SAAS,GAAG,GAAGH,QAAQ,GAAGI,KAAK,EAAE;MACjCA,KAAK,IAAI,CAAC;IACZ;IACA,IAAID,SAAS,KAAKH,QAAQ,EAAE;MAC1BM,gBAAgB,CAACzD,WAAW,EAAEqD,SAAS,EAAE;QACvCK,IAAI,EAAE,kBAAkB;QACxBC,OAAO,EAAE,gBAAgBR,QAAQ,wDAAwDG,SAAS;OACnG,CAAC;IACJ;IACAX,mBAAmB,CAACiB,GAAG,CAACN,SAAS,CAAC;IAClC,OAAOxD,SAAS,CAACoD,SAAS,CAACI,SAAS,EAAEF,MAAM,CAAC;EAC/C,CAAC;EAED,KAAK,MAAM,CAACS,IAAI,EAAEC,OAAO,CAAC,IAAIjB,MAAM,CAACkB,OAAO,CAACnE,IAAI,CAACoE,KAAK,CAAC,EAAE;IACxD,KAAK,MAAMC,MAAM,IAAI1E,WAAW,EAAE;MAChC,MAAM8D,SAAS,GAAGS,OAAO,CAACG,MAAM,CAAC;MAEjC,IAAIpF,SAAS,CAACqF,WAAW,CAACb,SAAS,CAAC,EAAE;QACpC;MACF;MAEA,MAAMc,EAAE,GAAGd,SAAS,CAACe,WAAW,GAC5BhF,KAAK,CAACiF,QAAQ,CAAChB,SAAS,CAACe,WAAW,CAAC,GACrC,GAAGH,MAAM,CAACK,WAAW,EAAE,GAAGT,IAAI,EAAE;MAEpC,MAAMU,WAAW,GAAGnF,KAAK,CAACoF,cAAc,CAACnB,SAAS,CAACkB,WAAW,CAAC,IAAInF,KAAK,CAACoF,cAAc,CAACnB,SAAS,CAACoB,OAAO,CAAC;MAE1G,MAAM;QAAEC,OAAO;QAAEC;MAAY,CAAE,GAAGC,WAAW,CAACf,IAAI,CAAC;MAEnD,MAAMgB,EAAE,GAAG1F,eAAe,CAAC2F,eAAe,CAAC;QACzCX,EAAE;QACFF,MAAM;QACNM,WAAW;QACXG,OAAO;QACPC;OACD,CAAC;MACFE,EAAE,CAAChB,IAAI,GAAGA,IAAI;MACdgB,EAAE,CAACT,WAAW,GAAGhF,KAAK,CAACoF,cAAc,CAACnB,SAAS,CAACe,WAAW,CAAC;MAC5DS,EAAE,CAACE,IAAI,GAAG,CAAC,IAAI1B,SAAS,CAAC0B,IAAI,IAAI,EAAE,CAAC,CAAC;MACrC,IAAIhC,SAAS,IAAI8B,EAAE,CAACE,IAAI,CAACC,MAAM,GAAG,CAAC,EAAE;QACnCvB,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;UAChCnB,IAAI,EAAE,yBAAyB;UAC/BC,OAAO,EAAE,oBAAoBkB,EAAE,CAACE,IAAI,CAACvE,KAAK,CAAC,CAAC,CAAC,CAACyE,IAAI,CAAC,IAAI,CAAC,wCACtDJ,EAAE,CAACE,IAAI,CAAC,CAAC,CACX;SACD,CAAC;MACJ;MACAF,EAAE,CAACK,QAAQ,GAAG;QACZT,OAAO,EAAErF,KAAK,CAACoF,cAAc,CAACnB,SAAS,CAACoB,OAAO,CAAC;QAChDF,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAACnB,SAAS,CAACkB,WAAW,CAAC;QACxDY,UAAU,EAAE9B,SAAS,CAAC8B,UAAU,KAAK,IAAI;QACzCC,YAAY,EAAE/B,SAAS,CAAC+B;OACzB;MACDP,EAAE,CAACQ,iBAAiB,GAAGC,yBAAyB,CAACjC,SAAS,CAACkC,QAAQ,IAAI3F,IAAI,CAAC2F,QAAQ,IAAI,EAAE,CAAC;MAC3F,IAAIxC,SAAS,EAAE;QACbyC,8BAA8B,CAACxF,WAAW,EAAE6E,EAAE,CAAC;MACjD;MAEA,MAAMY,QAAQ,GAAGrG,KAAK,CAACsG,UAAU,CAACrC,SAAS,CAACe,WAAW,IAAIP,IAAI,CAAC;MAEhE,MAAM8B,cAAc,GAAG9G,SAAS,CAAC+G,QAAQ,CAAC9B,OAAO,CAAC,IAAI+B,KAAK,CAACC,OAAO,CAAEhC,OAAe,CAACiC,UAAU,CAAC,GAC3FjC,OAAe,CAACiC,UAAoC,GACrD/E,SAAS;MACb,MAAM+E,UAAU,GAAGC,0BAA0B,CAC3CL,cAAc,EACdE,KAAK,CAACC,OAAO,CAACzC,SAAS,CAAC0C,UAAU,CAAC,GAAG1C,SAAS,CAAC0C,UAAU,GAAG/E,SAAS,EACtEZ,UAAU,CACX;MACD,KAAK,MAAM6F,SAAS,IAAIF,UAAU,EAAE;QAClC,MAAMG,eAAe,GAA6C;UAChElE,IAAI,EAAEiE,SAAS,CAACjE,IAAI;UACpBmE,EAAE,EAAEF,SAAS,CAACE,EAAE;UAChBC,QAAQ,EAAEH,SAAS,CAACG,QAAQ,KAAK,IAAI;UACrC7B,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAACyB,SAAS,CAAC1B,WAAW,CAAC;UACxDnB,MAAM,EAAE6C,SAAS,CAAC7C;SACnB;QACD,QAAQ6C,SAAS,CAACE,EAAE;UAClB,KAAK,MAAM;YAAE;cACXtB,EAAE,CAACkB,UAAU,CAAClC,IAAI,CAACwC,IAAI,CAACH,eAAe,CAAC;cACxC;YACF;UACA,KAAK,OAAO;YAAE;cACZrB,EAAE,CAACkB,UAAU,CAACO,KAAK,CAACD,IAAI,CAACH,eAAe,CAAC;cACzC;YACF;UACA,KAAK,QAAQ;YAAE;cACbrB,EAAE,CAACkB,UAAU,CAACQ,MAAM,CAACF,IAAI,CAACH,eAAe,CAAC;cAC1C;YACF;UACA,KAAK,QAAQ;YAAE;cACbrB,EAAE,CAACkB,UAAU,CAACS,MAAM,CAACH,IAAI,CAACH,eAAe,CAAC;cAC1CzC,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;gBAChCnB,IAAI,EAAE,0BAA0B;gBAChCC,OAAO,EACL,qBAAqBsC,SAAS,CAACjE,IAAI;eACtC,CAAC;cACF;YACF;QACF;MACF;MAEA,MAAMyE,WAAW,GAAGC,gBAAgB,CAACrD,SAAS,CAACoD,WAAW,EAAErG,UAAU,CAAC;MACvE,IAAI2C,SAAS,IAAI,CAAC4D,yBAAyB,CAAC9B,EAAE,CAACZ,MAAM,CAAC,IAAIpF,SAAS,CAAC+G,QAAQ,CAACa,WAAW,CAAC,EAAE;QACzFhD,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;UAChCnB,IAAI,EAAE,qCAAqC;UAC3CC,OAAO,EAAE,iCAAiCkB,EAAE,CAACZ,MAAM,CAACK,WAAW,EAAE;SAClE,CAAC;QACF;MACF;MAEA,MAAMsC,iBAAiB,GAAG/D,MAAM,CAACkB,OAAO,CAACV,SAAS,CAACwD,SAAS,IAAI,EAAE,CAAC,CAACC,GAAG,CACrE,CAAC,CAACC,MAAM,EAAEC,QAAQ,CAAC,KAAK,CAACD,MAAM,EAAEL,gBAAgB,CAACM,QAAQ,EAAE5G,UAAU,CAAC,CAAU,CAClF;MACD,MAAM6G,0BAA0B,GAAGL,iBAAiB,CAACM,IAAI,CAAC,CAAC,CAACH,MAAM,CAAC,KAAI;QACrE,IAAI,CAAC,SAAS,CAACI,IAAI,CAACJ,MAAM,CAAC,EAAE;UAC3B,OAAO,KAAK;QACd;QACA,OAAOK,MAAM,CAACL,MAAM,CAAC,GAAG,GAAG;MAC7B,CAAC,CAAC;MAEF,IAAIhE,SAAS,IAAIsE,wBAAwB,CAACT,iBAAiB,EAAEK,0BAA0B,CAAC,EAAE;QACxFxD,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;UAChCnB,IAAI,EAAE,uBAAuB;UAC7BC,OAAO,EACL;SACH,CAAC;QACF;MACF;MAEA,MAAM2D,eAAe,GAAGvB,UAAU,CAACwB,MAAM,CAAEtB,SAAS,IAAKA,SAAS,CAACE,EAAE,KAAK,MAAM,IAAIF,SAAS,CAACE,EAAE,KAAK,QAAQ,CAAC;MAE9G,MAAMqB,uBAAuB,GAAGC,oBAAoB,CAACH,eAAe,EAAE,CAACrB,SAAS,EAAEyB,KAAK,KAAI;QACzF,IAAIzB,SAAS,CAACE,EAAE,KAAK,OAAO,EAAE;UAC5B/G,KAAK,CAACuI,kBAAkB,CAACD,KAAK,EAAE7C,EAAE,CAAC+C,SAAS,CAAC;QAC/C,CAAC,MAAM,IAAI3B,SAAS,CAACE,EAAE,KAAK,QAAQ,EAAE;UACpC/G,KAAK,CAACuI,kBAAkB,CAACD,KAAK,EAAE7C,EAAE,CAACgD,OAAO,CAAC;QAC7C,CAAC,MAAM,IAAI5B,SAAS,CAACE,EAAE,KAAK,QAAQ,EAAE;UACpC/G,KAAK,CAACuI,kBAAkB,CAACD,KAAK,EAAE7C,EAAE,CAACiD,OAAO,CAAC;QAC7C;MACF,CAAC,CAAC;MAEF,IAAIN,uBAAuB,KAAKxG,SAAS,EAAE;QACzC6D,EAAE,CAACkD,MAAM,GAAG7E,SAAS,CAAC,GAAGuC,QAAQ,QAAQ,EAAE+B,uBAAuB,CAACpE,MAAM,EAAEyB,EAAE,CAAC;QAC9EA,EAAE,CAACmD,cAAc,GAAGR,uBAAuB,CAACS,QAAQ;MACtD;MAEA,IAAIlF,SAAS,EAAE;QACb,MAAMmF,mBAAmB,GAAGT,oBAAoB,CAAC5C,EAAE,CAACkB,UAAU,CAAClC,IAAI,CAAC;QACpE,IAAIqE,mBAAmB,KAAKlH,SAAS,EAAE;UACrC6D,EAAE,CAACsD,UAAU,GAAGjF,SAAS,CAAC,GAAGuC,QAAQ,YAAY,EAAEyC,mBAAmB,CAAC9E,MAAM,EAAEyB,EAAE,CAAC;QACpF;QAEA,MAAMuD,oBAAoB,GAAGX,oBAAoB,CAAC5C,EAAE,CAACkB,UAAU,CAACO,KAAK,CAAC;QACtE,IAAI8B,oBAAoB,KAAKpH,SAAS,EAAE;UACtC6D,EAAE,CAACwD,WAAW,GAAGnF,SAAS,CAAC,GAAGuC,QAAQ,OAAO,EAAE2C,oBAAoB,CAAChF,MAAM,EAAEyB,EAAE,CAAC;UAC/EA,EAAE,CAACyD,mBAAmB,GAAGF,oBAAoB,CAACH,QAAQ;QACxD;QAEA,MAAMM,qBAAqB,GAAGd,oBAAoB,CAAC5C,EAAE,CAACkB,UAAU,CAACQ,MAAM,CAAC;QACxE,IAAIgC,qBAAqB,KAAKvH,SAAS,EAAE;UACvC6D,EAAE,CAAC2D,aAAa,GAAGtF,SAAS,CAAC,GAAGuC,QAAQ,SAAS,EAAE8C,qBAAqB,CAACnF,MAAM,EAAEyB,EAAE,CAAC;UACpFA,EAAE,CAAC4D,qBAAqB,GAAGF,qBAAqB,CAACN,QAAQ;QAC3D;MACF;MAEA,IAAIpJ,SAAS,CAAC6J,cAAc,CAACjC,WAAW,CAAC,IAAI5H,SAAS,CAAC+G,QAAQ,CAACa,WAAW,CAAC,EAAE;QAC5E,MAAMkC,OAAO,GAAG9J,SAAS,CAAC+G,QAAQ,CAACa,WAAW,CAACkC,OAAO,CAAC,GACnDlC,WAAW,CAACkC,OAA8B,GAC1C,EAAE;QACN,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,EAAkB;QACpDhE,EAAE,CAAC4B,WAAW,GAAG;UACfL,QAAQ,EAAEK,WAAW,CAACL,QAAQ,KAAK,IAAI;UACvC0C,YAAY,EAAEjG,MAAM,CAACC,IAAI,CAAC6F,OAAO;SAClC;QACD,IAAI5F,SAAS,IAAI0D,WAAW,CAACL,QAAQ,KAAK,KAAK,EAAE;UAC/C3C,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;YAChCnB,IAAI,EAAE,oCAAoC;YAC1CC,OAAO,EAAE;WACV,CAAC;QACJ;QAEA,IAAI9E,SAAS,CAAC6J,cAAc,CAACC,OAAO,CAAC,kBAAkB,CAAC,EAAEvF,MAAM,CAAC,EAAE;UACjEyB,EAAE,CAACkE,OAAO,GAAG7F,SAAS,CAAC,GAAGuC,QAAQ,aAAa,EAAEkD,OAAO,CAAC,kBAAkB,CAAC,CAACvF,MAAM,EAAEyB,EAAE,CAAC;UACxF+D,kBAAkB,CAACI,GAAG,CAAC,kBAAkB,EAAEnE,EAAE,CAACkE,OAAO,CAAC;QACxD;QAEA,IAAIlK,SAAS,CAAC6J,cAAc,CAACC,OAAO,CAAC,qBAAqB,CAAC,EAAEvF,MAAM,CAAC,EAAE;UACpEyB,EAAE,CAACkE,OAAO,GAAG7F,SAAS,CACpB,GAAGuC,QAAQ,iBAAiB,EAC5BwD,wBAAwB,CAACN,OAAO,CAAC,qBAAqB,CAAC,CAACvF,MAAM,EAAEzC,mBAAmB,EAAEP,UAAU,CAAC,EAChGyE,EAAE,CACH;UACDA,EAAE,CAACqE,eAAe,GAAG,IAAI;UACzBN,kBAAkB,CAACI,GAAG,CAAC,qBAAqB,EAAEnE,EAAE,CAACkE,OAAO,CAAC;QAC3D;QAEA,IAAIlK,SAAS,CAAC6J,cAAc,CAACC,OAAO,CAAC,mCAAmC,CAAC,EAAEvF,MAAM,CAAC,EAAE;UAClFyB,EAAE,CAACkE,OAAO,GAAG7F,SAAS,CACpB,GAAGuC,QAAQ,uBAAuB,EAClCkD,OAAO,CAAC,mCAAmC,CAAC,CAACvF,MAAM,EACnDyB,EAAE,CACH;UACDA,EAAE,CAACsE,qBAAqB,GAAG,IAAI;UAC/BP,kBAAkB,CAACI,GAAG,CAAC,mCAAmC,EAAEnE,EAAE,CAACkE,OAAO,CAAC;QACzE;QAEA,IAAIhG,SAAS,EAAE;UACb,MAAMqG,wBAAwB,GAA0D,EAAE;UAC1F,KAAK,MAAM,CAACC,WAAW,EAAEC,SAAS,CAAC,IAAIzG,MAAM,CAACkB,OAAO,CAAC4E,OAAO,CAAC,EAAE;YAC9D,IAAI,CAAC9J,SAAS,CAAC+G,QAAQ,CAAC0D,SAAS,CAAC,IAAIzK,SAAS,CAACqF,WAAW,CAACoF,SAAS,CAAClG,MAAM,CAAC,EAAE;cAC7E;YACF;YACA,MAAMmG,QAAQ,GAAGC,2BAA2B,CAACH,WAAW,CAAC;YACzD,IAAIE,QAAQ,KAAKvI,SAAS,EAAE;cAC1B;YACF;YACA,IAAIyI,UAAU,GAAGb,kBAAkB,CAACc,GAAG,CAACL,WAAW,CAAC;YACpD,IAAII,UAAU,KAAKzI,SAAS,EAAE;cAC5B,MAAMoC,MAAM,GAAGmG,QAAQ,KAAK,WAAW,GACnCN,wBAAwB,CAACK,SAAS,CAAClG,MAA+B,EAAEzC,mBAAmB,EAAEP,UAAU,CAAC,GACpGkJ,SAAS,CAAClG,MAA+B;cAC7CqG,UAAU,GAAGvG,SAAS,CACpB,GAAGuC,QAAQ,UAAUkE,iBAAiB,CAACN,WAAW,CAAC,EAAE,EACrDjG,MAAM,EACNyB,EAAE,CACH;cACD+D,kBAAkB,CAACI,GAAG,CAACK,WAAW,EAAEI,UAAU,CAAC;YACjD;YACAL,wBAAwB,CAAC/C,IAAI,CAAC;cAC5BgD,WAAW;cACXE,QAAQ;cACRnG,MAAM,EAAEqG;aACT,CAAC;UACJ;UACA5E,EAAE,CAAC+E,wBAAwB,GAAGR,wBAAwB;QACxD;MACF;MAEA,IAAIS,aAAiC;MACrC,KAAK,MAAM,CAAC9C,MAAM,EAAEC,QAAQ,CAAC,IAAIJ,iBAAiB,EAAE;QAClD,IAAI,CAAC/H,SAAS,CAAC+G,QAAQ,CAACoB,QAAQ,CAAC,EAAE;UACjC;QACF;QAEA,MAAM8C,YAAY,GAAG/G,SAAS,GAC1BgH,oCAAoC,CAAChD,MAAM,EAAEE,0BAA0B,CAAC,GACxEF,MAAM;QACV,IAAIhE,SAAS,IAAIgE,MAAM,KAAK,SAAS,EAAE;UACrCtD,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;YAChCnB,IAAI,EAAE,2BAA2B;YACjCC,OAAO,EAAE,2CAA2CmG,YAAY;WACjE,CAAC;QACJ;QAEA,MAAMnB,OAAO,GAAG9J,SAAS,CAAC+G,QAAQ,CAACoB,QAAQ,CAAC2B,OAAO,CAAC,GAChD3B,QAAQ,CAAC2B,OAA8B,GACvC3H,SAAS;QACb,IAAI+B,SAAS,IAAIlE,SAAS,CAAC6J,cAAc,CAAC1B,QAAQ,CAACa,OAAO,CAAC,EAAE;UAC3DpE,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;YAChCnB,IAAI,EAAE,0BAA0B;YAChCC,OAAO,EAAE,8BAA8BoD,MAAM;WAC9C,CAAC;QACJ;QACA,MAAMiD,aAAa,GAA0D,EAAE;QAE/E,IAAIC,cAAkC;QACtC,MAAMC,kBAAkB,GAAGvB,OAAO,GAAG,kBAAkB,CAAC,EAAEvF,MAAM;QAChE,IAAIvE,SAAS,CAAC6J,cAAc,CAACwB,kBAAkB,CAAC,EAAE;UAChDD,cAAc,GAAG/G,SAAS,CAAC,GAAGuC,QAAQ,GAAGsB,MAAM,EAAE,EAAEmD,kBAAkB,EAAErF,EAAE,CAAC;UAC1E,IAAI9B,SAAS,EAAE;YACbiH,aAAa,CAAC3D,IAAI,CAAC;cACjBgD,WAAW,EAAE,kBAAkB;cAC/BE,QAAQ,EAAE,MAAM;cAChBnG,MAAM,EAAE6G;aACT,CAAC;UACJ;QACF;QAEA,IAAIlH,SAAS,EAAE;UACb,KAAK,MAAM,CAACsG,WAAW,EAAEC,SAAS,CAAC,IAAIzG,MAAM,CAACkB,OAAO,CAAC4E,OAAO,IAAI,EAAE,CAAC,EAAE;YACpE,IAAIU,WAAW,KAAK,kBAAkB,EAAE;cACtC;YACF;YACA,IAAI,CAACxK,SAAS,CAAC+G,QAAQ,CAAC0D,SAAS,CAAC,IAAIzK,SAAS,CAACqF,WAAW,CAACoF,SAAS,CAAClG,MAAM,CAAC,EAAE;cAC7E;YACF;YACA,MAAMmG,QAAQ,GAAGY,4BAA4B,CAACd,WAAW,CAAC;YAC1D,IAAIE,QAAQ,KAAKvI,SAAS,EAAE;cAC1B;YACF;YACA,MAAMyI,UAAU,GAAGvG,SAAS,CAC1B,GAAGuC,QAAQ,GAAGsB,MAAM,GAAG4C,iBAAiB,CAACN,WAAW,CAAC,EAAE,EACvDC,SAAS,CAAClG,MAA+B,EACzCyB,EAAE,CACH;YACDmF,aAAa,CAAC3D,IAAI,CAAC;cACjBgD,WAAW;cACXE,QAAQ;cACRnG,MAAM,EAAEqG;aACT,CAAC;UACJ;QACF;QAEA,MAAMW,eAAe,GAAGvL,SAAS,CAACqF,WAAW,CAACyE,OAAO,CAAC,IAAI9F,MAAM,CAACC,IAAI,CAAC6F,OAAO,CAAC,CAAC3D,MAAM,KAAK,CAAC;QAC3F,MAAMqF,cAAc,GAAG;UACrBtD,MAAM,EAAE+C,YAAY;UACpBvF,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAACwC,QAAQ,CAACzC,WAAW,CAAC;UACvDuE,YAAY,EAAEjK,SAAS,CAAC6J,cAAc,CAACC,OAAO,CAAC,GAAG9F,MAAM,CAACC,IAAI,CAAC6F,OAAO,CAAC,GAAG,EAAE;UAC3E2B,UAAU,EAAEzL,SAAS,CAAC6J,cAAc,CAAC1B,QAAQ,CAACa,OAAO,CAAC;UACtD0C,OAAO,EAAEH,eAAe;UACxBJ;SACD;QACDnF,EAAE,CAACgC,SAAS,CAACR,IAAI,CAACgE,cAAc,CAAC;QACjC,IAAItD,MAAM,KAAK,SAAS,EAAE;UACxBlC,EAAE,CAAC2F,eAAe,GAAGH,cAAc;QACrC;QAEA,IAAIxL,SAAS,CAAC6J,cAAc,CAACuB,cAAc,CAAC,EAAE;UAC5C,MAAMR,UAAU,GAAGQ,cAAc;UAEjC,IAAIlD,MAAM,KAAK,SAAS,IAAI,CAAChE,SAAS,EAAE;YACtC8G,aAAa,GAAGJ,UAAU;YAC1B;UACF;UAEA,MAAMgB,WAAW,GAAGX,YAAY,CAACY,WAAW,EAAE;UAC9C,MAAMC,iBAAiB,GAAGvD,MAAM,CAAC0C,YAAY,CAAC,CAAC,CAAC,CAAC;UACjD,IAAI1C,MAAM,CAACwD,KAAK,CAACD,iBAAiB,CAAC,EAAE;YACnC;UACF;UACA,IAAIA,iBAAiB,GAAG,CAAC,EAAE;YACzB9F,EAAE,CAACgG,cAAc,CAAC7B,GAAG,CAACyB,WAAW,EAAEhB,UAAU,CAAC;UAChD,CAAC,MAAM;YACL5E,EAAE,CAACiG,YAAY,CAAC9B,GAAG,CAACyB,WAAW,EAAEhB,UAAU,CAAC;UAC9C;QACF;QAEA,MAAMsB,iBAAiB,GAAGpC,OAAO,GAAG,mBAAmB,CAAC,EAAEvF,MAAM;QAChE,IAAIvE,SAAS,CAACqF,WAAW,CAACW,EAAE,CAACmG,SAAS,CAAC,IAAInM,SAAS,CAAC6J,cAAc,CAACqC,iBAAiB,CAAC,EAAE;UACtF,MAAMJ,iBAAiB,GAAGvD,MAAM,CAAC0C,YAAY,CAAC,CAAC,CAAC,CAAC;UACjD,IAAI,CAAC1C,MAAM,CAACwD,KAAK,CAACD,iBAAiB,CAAC,IAAIA,iBAAiB,GAAG,CAAC,EAAE;YAC7D9F,EAAE,CAACmG,SAAS,GAAG9H,SAAS,CAAC,GAAGuC,QAAQ,GAAGsB,MAAM,KAAK,EAAEgE,iBAAiB,EAAElG,EAAE,CAAC;UAC5E;QACF;QAEA,IAAIhG,SAAS,CAAC6J,cAAc,CAACC,OAAO,GAAG,0BAA0B,CAAC,CAAC,EAAE;UACnE,MAAMgC,iBAAiB,GAAGvD,MAAM,CAAC0C,YAAY,CAAC,CAAC,CAAC,CAAC;UACjD,IAAI,CAAC1C,MAAM,CAACwD,KAAK,CAACD,iBAAiB,CAAC,IAAIA,iBAAiB,GAAG,CAAC,EAAE;YAC7D9F,EAAE,CAACoG,cAAc,GAAG,IAAI;UAC1B;QACF;QAEA,IAAIb,eAAe,EAAE;UACnB,IAAIN,YAAY,KAAK,SAAS,EAAE;YAC9BjF,EAAE,CAACqG,WAAW,CAACtH,GAAG,CAACkG,YAAY,CAACY,WAAW,EAAE,CAAC;UAChD;QACF;MACF;MAEA,IAAI,CAAC3H,SAAS,IAAI8B,EAAE,CAACgG,cAAc,CAACM,IAAI,KAAK,CAAC,IAAItM,SAAS,CAAC6J,cAAc,CAACmB,aAAa,CAAC,EAAE;QACzFhF,EAAE,CAACgG,cAAc,CAAC7B,GAAG,CAAC,KAAK,EAAEa,aAAa,CAAC;QAC3CpG,gBAAgB,CAACzD,WAAW,EAAE6E,EAAE,EAAE;UAChCnB,IAAI,EAAE,2BAA2B;UACjCC,OAAO,EAAE;SACV,CAAC;MACJ;MAEAjB,UAAU,CAAC2D,IAAI,CAACxB,EAAE,CAAC;IACrB;EACF;EAEA,OAAO;IACLK,QAAQ,EAAE;MACRkG,KAAK,EAAExL,IAAI,CAACyL,IAAI,CAACD,KAAK;MACtBE,OAAO,EAAE1L,IAAI,CAACyL,IAAI,CAACC,OAAO;MAC1B7G,OAAO,EAAErF,KAAK,CAACoF,cAAc,CAAC5E,IAAI,CAACyL,IAAI,CAAC5G,OAAO,CAAC;MAChDF,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAAC5E,IAAI,CAACyL,IAAI,CAAC9G,WAAW,CAAC;MACxDgH,OAAO,EAAE3L,IAAI,CAACyL,IAAI,CAACE,OAAO;MAC1BC,OAAO,EAAE5L,IAAI,CAAC4L;KACf;IACDzG,IAAI,EAAE,CAACnF,IAAI,CAACmF,IAAI,IAAI,EAAE,EAAE+B,GAAG,CAAE2E,GAAG,KAAM;MACpCzJ,IAAI,EAAEyJ,GAAG,CAACzJ,IAAI;MACduC,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAACiH,GAAG,CAAClH,WAAW,CAAC;MAClDa,YAAY,EAAEqG,GAAG,CAACrG;KACnB,CAAC,CAAC;IACHpC,eAAe;IACfN;GACD;AACH,CAAC;AAUD,MAAMgJ,kBAAkB,GAAIzF,SAAkB,IAAmC;EAC/E,IAAI,CAACpH,SAAS,CAAC+G,QAAQ,CAACK,SAAS,CAAC,EAAE;IAClC,OAAO,KAAK;EACd;EACA,OACE,OAAOA,SAAS,CAACjE,IAAI,KAAK,QAAQ,KACjCiE,SAAS,CAACE,EAAE,KAAK,MAAM,IAAIF,SAAS,CAACE,EAAE,KAAK,OAAO,IAAIF,SAAS,CAACE,EAAE,KAAK,QAAQ,IAAIF,SAAS,CAACE,EAAE,KAAK,QAAQ,CAAC;AAEnH,CAAC;AAED,MAAMH,0BAA0B,GAAGA,CACjCL,cAAkD,EAClDgG,mBAAuD,EACvDvL,UAAoC,KACT;EAC3B,MAAMwL,QAAQ,GAAG,IAAI/C,GAAG,EAA4B;EACpD,MAAMjF,GAAG,GAAIqC,SAAkB,IAAU;IACvC,MAAMxF,OAAO,GAAGiG,gBAAgB,CAACT,SAAS,EAAE7F,UAAU,CAAC;IACvD,IAAI,CAACsL,kBAAkB,CAACjL,OAAO,CAAC,EAAE;MAChC;IACF;IAEA,MAAMoL,GAAG,GAAG,GAAGpL,OAAO,CAAC0F,EAAE,IAAI1F,OAAO,CAACuB,IAAI,EAAE;IAC3C,IAAI4J,QAAQ,CAACpI,GAAG,CAACqI,GAAG,CAAC,EAAE;MACrBD,QAAQ,CAACE,MAAM,CAACD,GAAG,CAAC;IACtB;IACAD,QAAQ,CAAC5C,GAAG,CAAC6C,GAAG,EAAEpL,OAAO,CAAC;EAC5B,CAAC;EAED,KAAK,MAAMwF,SAAS,IAAIN,cAAc,IAAI,EAAE,EAAE;IAC5C/B,GAAG,CAACqC,SAAS,CAAC;EAChB;EAEA,KAAK,MAAMA,SAAS,IAAI0F,mBAAmB,IAAI,EAAE,EAAE;IACjD/H,GAAG,CAACqC,SAAS,CAAC;EAChB;EAEA,OAAO,CAAC,GAAG2F,QAAQ,CAACG,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED,MAAMtE,oBAAoB,GAAGA,CAQ3B1B,UAAoC,EACpCiG,OAA4E,KAI9D;EACd,IAAIjG,UAAU,CAACf,MAAM,KAAK,CAAC,EAAE;IAC3B;EACF;EAEA,MAAM5B,MAAM,GAAG;IACb6I,IAAI,EAAE,QAA2B;IACjCC,UAAU,EAAE,EAA2C;IACvD9F,QAAQ,EAAE,EAAmB;IAC7B+F,oBAAoB,EAAE;GACvB;EAED,KAAK,MAAMlG,SAAS,IAAIF,UAAU,EAAE;IAClC,MAAMqG,WAAW,GAAGnG,SAAS,CAAC7C,MAAa;IAC3C,MAAMsE,KAAK,GAAkB,EAAE;IAC/B,IACE7I,SAAS,CAAC+G,QAAQ,CAACwG,WAAW,CAAC,IAC/B,YAAY,IAAIA,WAAW,IAC3BvN,SAAS,CAAC+G,QAAQ,CAACwG,WAAW,CAACF,UAAU,CAAC,EAC1C;MACA,MAAM9F,QAAQ,GAAG,UAAU,IAAIgG,WAAW,GACtCA,WAAW,CAAChG,QAAyB,GACrC,EAAE;MAEN,KAAK,MAAM,CAACpE,IAAI,EAAEqK,cAAc,CAAC,IAAIxJ,MAAM,CAACkB,OAAO,CAACqI,WAAW,CAACF,UAAU,CAAC,EAAE;QAC3E,MAAMI,YAAY,GAAG,GAAGrG,SAAS,CAACjE,IAAI,IAAIA,IAAI,GAAG;QACjDoB,MAAM,CAAC8I,UAAU,CAACI,YAAY,CAAC,GAAGD,cAAuC;QACzE,IAAIjG,QAAQ,CAACzE,QAAQ,CAACK,IAAI,CAAC,EAAE;UAC3BoB,MAAM,CAACgD,QAAQ,CAACC,IAAI,CAACiG,YAAY,CAAC;QACpC;QACA5E,KAAK,CAACrB,IAAI,CAACiG,YAAY,CAAC;MAC1B;IACF,CAAC,MAAM;MACLlJ,MAAM,CAAC8I,UAAU,CAACjG,SAAS,CAACjE,IAAI,CAAC,GAAGiE,SAAS,CAAC7C,MAA+B;MAC7E,IAAI6C,SAAS,CAACG,QAAQ,EAAE;QACtBhD,MAAM,CAACgD,QAAQ,CAACC,IAAI,CAACJ,SAAS,CAACjE,IAAI,CAAC;MACtC;MACA0F,KAAK,CAACrB,IAAI,CAACJ,SAAS,CAACjE,IAAI,CAAC;IAC5B;IAEAgK,OAAO,GAAG/F,SAAS,EAAEyB,KAAK,CAAC;EAC7B;EAEA,OAAO;IACLtE,MAAM;IACN6E,QAAQ,EAAE7E,MAAM,CAACgD,QAAQ,CAACpB,MAAM,KAAK;GACtC;AACH,CAAC;AAED,MAAM2E,iBAAiB,GAAIN,WAAmB,IAAY;EACxD,MAAMkD,UAAU,GAAGlD,WAAW,CAACqB,WAAW,EAAE;EAC5C,QAAQ6B,UAAU;IAChB,KAAK,kBAAkB;MACrB,OAAO,MAAM;IACf,KAAK,qBAAqB;MACxB,OAAO,UAAU;IACnB,KAAK,mCAAmC;MACtC,OAAO,gBAAgB;IACzB,KAAK,YAAY;MACf,OAAO,MAAM;IACf,KAAK,0BAA0B;MAC7B,OAAO,QAAQ;EACnB;EACA,MAAMC,MAAM,GAAGpN,KAAK,CAACsG,UAAU,CAAC2D,WAAW,CAAC;EAC5C,OAAOmD,MAAM,CAACxH,MAAM,GAAG,CAAC,GAAGwH,MAAM,GAAG,MAAM;AAC5C,CAAC;AAED,MAAM3L,8BAA8B,GAAI4L,WAAmC,IAAgC;EACzG,MAAMC,KAAK,GAAG,IAAI9J,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC2J,WAAW,CAAC,CAAC;EAC/C,MAAME,QAAQ,GAAIC,IAAY,IAAY;IACxC,IAAItJ,SAAS,GAAGsJ,IAAI;IACpB,IAAIrJ,KAAK,GAAG,CAAC;IACb,OAAOmJ,KAAK,CAAClJ,GAAG,CAACF,SAAS,CAAC,EAAE;MAC3BA,SAAS,GAAG,GAAGsJ,IAAI,GAAGrJ,KAAK,EAAE;MAC7BA,KAAK,IAAI,CAAC;IACZ;IACAmJ,KAAK,CAAC9I,GAAG,CAACN,SAAS,CAAC;IACpB,OAAOA,SAAS;EAClB,CAAC;EACD,OAAO;IACLuJ,UAAU,EAAEF,QAAQ,CAAC,8BAA8B,CAAC;IACpDG,KAAK,EAAEH,QAAQ,CAAC,yBAAyB;GAC1C;AACH,CAAC;AAED,MAAMI,eAAe,GAAI/K,IAAY,IAAa,WAAWA,IAAI,CAACgL,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAACA,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE;AAE/G,MAAMxL,2BAA2B,GAAGA,CAClCiL,WAAmC,EACnC9L,mBAA2D,KACjC;EAC1B,IAAIA,mBAAmB,KAAKK,SAAS,EAAE;IACrC,OAAOyL,WAAW;EACpB;EACA,OAAO;IACL,GAAGA,WAAW;IACd,CAAC9L,mBAAmB,CAACkM,UAAU,GAAG;MAChCZ,IAAI,EAAE,QAAQ;MACdrL,MAAM,EAAE;KACT;IACD,CAACD,mBAAmB,CAACmM,KAAK,GAAG;MAC3Bb,IAAI,EAAE,OAAO;MACbgB,KAAK,EAAE;QACLC,IAAI,EAAEH,eAAe,CAACpM,mBAAmB,CAACkM,UAAU;;;GAGzD;AACH,CAAC;AAED,MAAM5D,wBAAwB,GAAGA,CAC/B7F,MAA6B,EAC7BzC,mBAA2D,EAC3DP,UAAoC,KACX;EACzB,IAAIO,mBAAmB,KAAKK,SAAS,EAAE;IACrC,OAAOoC,MAAM;EACf;EAEA,MAAM+J,aAAa,GAAGJ,eAAe,CAACpM,mBAAmB,CAACkM,UAAU,CAAC;EACrE,MAAMO,QAAQ,GAAGL,eAAe,CAACpM,mBAAmB,CAACmM,KAAK,CAAC;EAC3D,MAAMO,KAAK,GAAG,IAAIxE,GAAG,EAAmB;EACxC,MAAMyE,KAAK,GAAG,IAAI1K,GAAG,EAAU;EAE/B,MAAM2K,KAAK,GAAIC,KAAc,IAAa;IACxC,IAAI3H,KAAK,CAACC,OAAO,CAAC0H,KAAK,CAAC,EAAE;MACxB,OAAOA,KAAK,CAAC1G,GAAG,CAACyG,KAAK,CAAC;IACzB;IACA,IAAI,CAAC1O,SAAS,CAAC+G,QAAQ,CAAC4H,KAAK,CAAC,EAAE;MAC9B,OAAOA,KAAK;IACd;IAEA,IAAI,OAAOA,KAAK,CAACN,IAAI,KAAK,QAAQ,IAAIM,KAAK,CAACN,IAAI,CAACO,UAAU,CAAC,uBAAuB,CAAC,EAAE;MACpF,MAAMC,MAAM,GAAGL,KAAK,CAAC3D,GAAG,CAAC8D,KAAK,CAACN,IAAI,CAAC;MACpC,IAAIQ,MAAM,KAAK1M,SAAS,EAAE;QACxB,OAAO0M,MAAM;MACf;MACA,IAAIJ,KAAK,CAAC9J,GAAG,CAACgK,KAAK,CAACN,IAAI,CAAC,EAAE;QACzB,OAAOM,KAAK;MACd;MACAF,KAAK,CAAC1J,GAAG,CAAC4J,KAAK,CAACN,IAAI,CAAC;MACrB,MAAMS,WAAW,GAAGJ,KAAK,CAACK,sBAAsB,CAACJ,KAAK,CAACN,IAAI,EAAE9M,UAAU,CAAC,CAAC;MACzEkN,KAAK,CAACxB,MAAM,CAAC0B,KAAK,CAACN,IAAI,CAAC;MACxBG,KAAK,CAACrE,GAAG,CAACwE,KAAK,CAACN,IAAI,EAAES,WAAW,CAAC;MAClC,OAAOA,WAAW;IACpB;IAEA,IAAIE,qBAAqB,CAACL,KAAK,CAAC,EAAE;MAChC,OAAO;QAAEN,IAAI,EAAEC;MAAa,CAAE;IAChC;IAEA,MAAMW,GAAG,GAA4B,EAAE;IACvC,KAAK,MAAM,CAACjC,GAAG,EAAEpL,OAAO,CAAC,IAAIoC,MAAM,CAACkB,OAAO,CAACyJ,KAAK,CAAC,EAAE;MAClDM,GAAG,CAACjC,GAAG,CAAC,GAAG0B,KAAK,CAAC9M,OAAO,CAAC;IAC3B;IAEA,IAAIsN,sBAAsB,CAACD,GAAG,EAAEX,aAAa,CAAC,EAAE;MAC9C,OAAO;QAAED,IAAI,EAAEE;MAAQ,CAAE;IAC3B;IAEA,OAAOU,GAAG;EACZ,CAAC;EAED,OAAOP,KAAK,CAACnK,MAAM,CAA0B;AAC/C,CAAC;AAED,MAAMwK,sBAAsB,GAAGA,CAACvN,GAAW,EAAED,UAAoC,KAAa;EAC5F,IAAIK,OAAO,GAAY;IAAEyM,IAAI,EAAE7M;EAAG,CAAE;EACpC,MAAM2N,IAAI,GAAG,IAAIpL,GAAG,EAAU;EAC9B,OAAO/D,SAAS,CAAC+G,QAAQ,CAACnF,OAAO,CAAC,IAAI,OAAOA,OAAO,CAACyM,IAAI,KAAK,QAAQ,EAAE;IACtE,IAAIc,IAAI,CAACxK,GAAG,CAAC/C,OAAO,CAACyM,IAAI,CAAC,EAAE;MAC1B,OAAOzM,OAAO;IAChB;IACAuN,IAAI,CAACpK,GAAG,CAACnD,OAAO,CAACyM,IAAI,CAAC;IACtBzM,OAAO,GAAGL,UAAU,CAACK,OAAO,CAACyM,IAAI,CAAC;EACpC;EACA,OAAOzM,OAAO;AAChB,CAAC;AAED,MAAMoN,qBAAqB,GAAIL,KAAc,IAC3C3O,SAAS,CAAC+G,QAAQ,CAAC4H,KAAK,CAAC,IACzBA,KAAK,CAACvB,IAAI,KAAK,QAAQ,KAEpB,OAAOuB,KAAK,CAAC5M,MAAM,KAAK,QAAQ,IAAI4M,KAAK,CAAC5M,MAAM,CAAC8J,WAAW,EAAE,KAAK,QAAQ,IAC3E,OAAO8C,KAAK,CAACS,eAAe,KAAK,QAAQ,IAAIT,KAAK,CAACS,eAAe,CAACvD,WAAW,EAAE,KAAK,QAAS,CAChG;AAEH,MAAMqD,sBAAsB,GAAGA,CAACP,KAA8B,EAAEL,aAAqB,KAAa;EAChG,IAAIK,KAAK,CAACvB,IAAI,KAAK,OAAO,EAAE;IAC1B,OAAO,KAAK;EACd;EACA,MAAMgB,KAAK,GAAGO,KAAK,CAACP,KAAK;EACzB,OAAOY,qBAAqB,CAACZ,KAAK,CAAC,IAAKpO,SAAS,CAAC+G,QAAQ,CAACqH,KAAK,CAAC,IAAIA,KAAK,CAACC,IAAI,KAAKC,aAAc;AACpG,CAAC;AAED,MAAMe,eAAe,GAAI7E,WAAmB,IAC1CA,WAAW,KAAK,kBAAkB,IACjCA,WAAW,CAACoE,UAAU,CAAC,cAAc,CAAC,IAAIpE,WAAW,CAAC8E,QAAQ,CAAC,OAAO,CAAE;AAE3E,MAAMC,eAAe,GAAI/E,WAAmB,IAAcA,WAAW,CAACoE,UAAU,CAAC,OAAO,CAAC;AAEzF,MAAMY,iBAAiB,GAAIhF,WAAmB,IAC5CA,WAAW,KAAK,0BAA0B,IACzCA,WAAW,CAACoE,UAAU,CAAC,cAAc,CAAC,KAAKpE,WAAW,CAAC1H,QAAQ,CAAC,QAAQ,CAAC,IAAI0H,WAAW,CAAC8E,QAAQ,CAAC,eAAe,CAAC,CAAE;AAEvH,MAAM3E,2BAA2B,GAC/BH,WAAmB,IAC6C;EAChE,MAAMkD,UAAU,GAAGlD,WAAW,CAACqB,WAAW,EAAE;EAC5C,IAAIwD,eAAe,CAAC3B,UAAU,CAAC,EAAE;IAC/B,OAAO,MAAM;EACf;EACA,IAAIA,UAAU,KAAK,qBAAqB,EAAE;IACxC,OAAO,WAAW;EACpB;EACA,IAAIA,UAAU,KAAK,mCAAmC,EAAE;IACtD,OAAO,kBAAkB;EAC3B;EACA,IAAI6B,eAAe,CAAC7B,UAAU,CAAC,EAAE;IAC/B,OAAO,MAAM;EACf;EACA,IAAI8B,iBAAiB,CAAC9B,UAAU,CAAC,EAAE;IACjC,OAAO,QAAQ;EACjB;EACA;AACF,CAAC;AAED,MAAMpC,4BAA4B,GAChCd,WAAmB,IAC6C;EAChE,MAAMkD,UAAU,GAAGlD,WAAW,CAACqB,WAAW,EAAE;EAC5C,IAAIwD,eAAe,CAAC3B,UAAU,CAAC,EAAE;IAC/B,OAAO,MAAM;EACf;EACA,IAAIA,UAAU,KAAK,mCAAmC,EAAE;IACtD,OAAO,kBAAkB;EAC3B;EACA,IAAI6B,eAAe,CAAC7B,UAAU,CAAC,EAAE;IAC/B,OAAO,MAAM;EACf;EACA,IAAI8B,iBAAiB,CAAC9B,UAAU,CAAC,EAAE;IACjC,OAAO,QAAQ;EACjB;EACA;AACF,CAAC;AAED,MAAM7F,gBAAgB,GAAGA,CAAC4H,KAAc,EAAElO,UAAoC,KAAS;EACrF,IAAIK,OAAO,GAAG6N,KAAK;EACnB,OAAOzP,SAAS,CAAC+G,QAAQ,CAACnF,OAAO,CAAC,IAAI,OAAOA,OAAO,CAACyM,IAAI,KAAK,QAAQ,EAAE;IACtEzM,OAAO,GAAGL,UAAU,CAACK,OAAO,CAACyM,IAAI,CAAC;EACpC;EACA,OAAOzM,OAAO;AAChB,CAAC;AAED,MAAM6E,yBAAyB,GAC7BC,QAA8D,IAE9DA,QAAQ,CAACuB,GAAG,CAAEyH,WAAW,IACvB1L,MAAM,CAAC2L,WAAW,CAChB3L,MAAM,CAACkB,OAAO,CAACwK,WAAW,CAAC,CAACzH,GAAG,CAAC,CAAC,CAAC9E,IAAI,EAAEyM,MAAM,CAAC,KAAK,CAACzM,IAAI,EAAE,CAAC,GAAGyM,MAAM,CAAC,CAAC,CAAC,CACzE,CACF;AAEH,MAAMxL,oBAAoB,GAAGA,CAC3BrD,IAAiB,EACjBQ,UAAoC,KACkB;EACtD,MAAM4C,eAAe,GAAGpD,IAAI,CAACkB,UAAU,EAAEkC,eAAe,IAAI,EAAE;EAC9D,MAAM/B,MAAM,GAAuD,EAAE;EAErE,KAAK,MAAM,CAACe,IAAI,EAAEwL,KAAK,CAAC,IAAI3K,MAAM,CAACkB,OAAO,CAACf,eAAe,CAAC,EAAE;IAC3D,MAAM0L,MAAM,GAAGhI,gBAAgB,CAAC8G,KAAK,EAAEpN,UAAU,CAAsC;IACvF,IAAI,CAACvB,SAAS,CAAC+G,QAAQ,CAAC8I,MAAM,CAAC,EAAE;MAC/B;IACF;IAEA,IAAIA,MAAM,CAACzC,IAAI,KAAK,MAAM,EAAE;MAC1B,MAAM0C,gBAAgB,GAAGD,MAAM,CAACA,MAAM,CAAChE,WAAW,EAAE;MACpD,IAAIiE,gBAAgB,KAAK,OAAO,EAAE;QAChC1N,MAAM,CAACoF,IAAI,CAAC;UACVrE,IAAI;UACJiK,IAAI,EAAE,OAAO;UACb1H,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAACkK,MAAM,CAACnK,WAAW,CAAC;UACrDqK,YAAY,EAAE5N,SAAS;UACvB6K,GAAG,EAAE7K,SAAS;UACdmF,EAAE,EAAEnF;SACL,CAAC;MACJ,CAAC,MAAM,IAAI2N,gBAAgB,KAAK,QAAQ,EAAE;QACxC1N,MAAM,CAACoF,IAAI,CAAC;UACVrE,IAAI;UACJiK,IAAI,EAAE,QAAQ;UACd1H,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAACkK,MAAM,CAACnK,WAAW,CAAC;UACrDqK,YAAY,EAAExP,KAAK,CAACoF,cAAc,CAACkK,MAAM,CAACE,YAAY,CAAC;UACvD/C,GAAG,EAAE7K,SAAS;UACdmF,EAAE,EAAEnF;SACL,CAAC;MACJ;MACA;IACF;IAEA,IACE0N,MAAM,CAACzC,IAAI,KAAK,QAAQ,KACvByC,MAAM,CAACvI,EAAE,KAAK,QAAQ,IAAIuI,MAAM,CAACvI,EAAE,KAAK,OAAO,IAAIuI,MAAM,CAACvI,EAAE,KAAK,QAAQ,CAAC,IAC3E,OAAOuI,MAAM,CAAC1M,IAAI,KAAK,QAAQ,EAC/B;MACAf,MAAM,CAACoF,IAAI,CAAC;QACVrE,IAAI;QACJiK,IAAI,EAAE,QAAQ;QACd1H,WAAW,EAAEnF,KAAK,CAACoF,cAAc,CAACkK,MAAM,CAACnK,WAAW,CAAC;QACrDqK,YAAY,EAAE5N,SAAS;QACvB6K,GAAG,EAAE6C,MAAM,CAAC1M,IAAI;QAChBmE,EAAE,EAAEuI,MAAM,CAACvI;OACZ,CAAC;IACJ;EACF;EAEA,OAAOlF,MAAM;AACf,CAAC;AAED,MAAMuE,8BAA8B,GAAGA,CACrCxF,WAA2B,EAC3BqD,SAA0C,KAClC;EACR,IAAIA,SAAS,CAACgC,iBAAiB,CAAC6B,IAAI,CAAEqH,WAAW,IAAK1L,MAAM,CAACC,IAAI,CAACyL,WAAW,CAAC,CAACvJ,MAAM,KAAK,CAAC,CAAC,EAAE;IAC5F;EACF;EACA,KAAK,MAAMuJ,WAAW,IAAIlL,SAAS,CAACgC,iBAAiB,EAAE;IACrD,MAAMwJ,OAAO,GAAGhM,MAAM,CAACC,IAAI,CAACyL,WAAW,CAAC;IACxC,IAAIM,OAAO,CAAC7J,MAAM,IAAI,CAAC,EAAE;MACvB;IACF;IACAvB,gBAAgB,CAACzD,WAAW,EAAEqD,SAAS,EAAE;MACvCK,IAAI,EAAE,yBAAyB;MAC/BC,OAAO,EAAE,0CACPkL,OAAO,CAAC5J,IAAI,CAAC,IAAI,CACnB;KACD,CAAC;EACJ;AACF,CAAC;AAED,MAAMoC,wBAAwB,GAAGA,CAC/BR,SAAoD,EACpDI,0BAAmC,KACxB;EACX,KAAK,MAAM,CAACF,MAAM,EAAEC,QAAQ,CAAC,IAAIH,SAAS,EAAE;IAC1C,IAAI,CAAChI,SAAS,CAAC+G,QAAQ,CAACoB,QAAQ,CAAC,EAAE;MACjC;IACF;IACA,MAAM2B,OAAO,GAAG9J,SAAS,CAAC+G,QAAQ,CAACoB,QAAQ,CAAC2B,OAAO,CAAC,GAChD3B,QAAQ,CAAC2B,OAA8B,GACvC3H,SAAS;IACb,IAAInC,SAAS,CAACqF,WAAW,CAACyE,OAAO,GAAG,mBAAmB,CAAC,EAAEvF,MAAM,CAAC,EAAE;MACjE;IACF;IAEA,MAAM0L,cAAc,GAAG/E,oCAAoC,CAAChD,MAAM,EAAEE,0BAA0B,CAAC;IAC/F,MAAM8H,UAAU,GAAG3H,MAAM,CAAC0H,cAAc,CAAC;IACzC,IAAI,CAAC1H,MAAM,CAACwD,KAAK,CAACmE,UAAU,CAAC,IAAIA,UAAU,GAAG,GAAG,EAAE;MACjD,OAAO,IAAI;IACb;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAED,MAAMhF,oCAAoC,GAAGA,CAAChD,MAAc,EAAEE,0BAAmC,KAC/FF,MAAM,KAAK,SAAS,GAAIE,0BAA0B,GAAG,KAAK,GAAG,KAAK,GAAIF,MAAM;AAE9E,MAAMJ,yBAAyB,GAAI1C,MAA6B,IAC9DA,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,SAAS,IAAIA,MAAM,KAAK,OAAO;AAErF,MAAMR,gBAAgB,GAAGA,CACvBzD,WAA2B,EAC3BqD,SAA0C,EAC1Cb,OAGC,KACO;EACRxC,WAAW,CAAC;IACV,GAAGwC,OAAO;IACVqB,IAAI,EAAER,SAAS,CAACQ,IAAI;IACpBI,MAAM,EAAEZ,SAAS,CAACY,MAAM;IACxBG,WAAW,EAAEf,SAAS,CAACe;GACxB,CAAC;AACJ,CAAC;AAED,SAAS/C,UAAUA,CAACzB,IAAiB;EACnC,OAAOA,IAAI,CAACoP,OAAO,CAACC,IAAI,EAAE,CAACxB,UAAU,CAAC,KAAK,CAAC,GAAG,aAAa,GAAG,aAAa;AAC9E;AAEA;;;AAGA,OAAO,MAAMyB,sBAAsB,gBAAkCtQ,KAAK,CAACsD,MAAM,CAAC7C,gBAAgB,EAAEG,IAAI,CAAC;AAEzG;;;AAGA,OAAO,MAAM2P,kBAAkB,gBAAkCvQ,KAAK,CAACsD,MAAM,CAAC7C,gBAAgB,EAAEG,IAAI,CAAC;AAErG,MAAMU,aAAa,GAAIN,IAAiB,IAAK,SAAS,IAAIA,IAAI;AAE9D,MAAMO,kBAAkB,gBAAGxB,MAAM,CAACgB,EAAE,CAAEC,IAAiB,IACrDjB,MAAM,CAACyQ,QAAQ,CAAeC,MAAM,IAAI;EACtCtQ,gBAAgB,CAACuQ,UAAU,CACzB1P,IAAW,EACX;IAAE2P,WAAW,EAAE,IAAI;IAAEC,OAAO,EAAE,IAAI;IAAEC,KAAK,EAAE,IAAI;IAAEC,QAAQ,EAAE;EAAI,CAAE,EACjE,CAACC,GAAG,EAAEC,MAAM,KAAI;IACd,IAAID,GAAG,EAAE;MACPN,MAAM,CAAC1Q,MAAM,CAACkR,GAAG,CAACF,GAAG,CAAC,CAAC;IACzB,CAAC,MAAM;MACLN,MAAM,CAAC1Q,MAAM,CAACmR,OAAO,CAACF,MAAM,CAACZ,OAAc,CAAC,CAAC;IAC/C;EACF,CAAC,CACF;AACH,CAAC,CAAC,CAACe,IAAI,CAACpR,MAAM,CAACqR,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CACvD;AAED,MAAMpL,WAAW,GAAIf,IAAY,IAG7B;EACF,MAAMa,OAAO,GAAkB,EAAE;EACjCb,IAAI,GAAGA,IAAI,CAACoM,OAAO,CAAC,YAAY,EAAE,CAAC9N,CAAC,EAAEH,IAAI,KAAI;IAC5C,MAAMmC,EAAE,GAAG/E,KAAK,CAACiF,QAAQ,CAACrC,IAAI,CAAC;IAC/B0C,OAAO,CAAC2B,IAAI,CAAClC,EAAE,CAAC;IAChB,OAAO,IAAI,GAAGA,EAAE,GAAG,GAAG;EACxB,CAAC,CAAC;EACF,MAAMQ,YAAY,GAAG,GAAG,GAAGd,IAAI,GAAG,GAAG;EACrC,OAAO;IAAEa,OAAO;IAAEC;EAAY,CAAW;AAC3C,CAAC","ignoreList":[]}