@dogsbay/format-openapi 0.2.0-beta.12 → 0.2.0-beta.121
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.
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -0
- package/dist/cli.js.map +1 -1
- package/dist/code-samples.js +10 -0
- package/dist/code-samples.js.map +1 -1
- package/dist/core.d.ts +112 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +1225 -0
- package/dist/core.js.map +1 -0
- package/dist/embed.d.ts +30 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/embed.js +135 -0
- package/dist/embed.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/parse.d.ts +10 -6
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +87 -423
- package/dist/parse.js.map +1 -1
- package/dist/spec-path.d.ts +34 -0
- package/dist/spec-path.d.ts.map +1 -0
- package/dist/spec-path.js +69 -0
- package/dist/spec-path.js.map +1 -0
- package/package.json +23 -8
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AAGxE,eAAO,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AAGxE,eAAO,MAAM,MAAM,EAAE,YAoBpB,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -10,6 +10,9 @@ export const plugin = {
|
|
|
10
10
|
return parseOpenApiSpec(source, {
|
|
11
11
|
hrefPrefix: typeof opts.hrefPrefix === "string" ? opts.hrefPrefix : undefined,
|
|
12
12
|
section: typeof opts.section === "string" ? opts.section : undefined,
|
|
13
|
+
reservedSlugs: Array.isArray(opts.reservedSlugs)
|
|
14
|
+
? opts.reservedSlugs.filter((s) => typeof s === "string")
|
|
15
|
+
: undefined,
|
|
13
16
|
});
|
|
14
17
|
},
|
|
15
18
|
};
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;IACzD,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,EAAE;IAEjB,KAAK,CAAC,MAAM,CACV,MAAc,EACd,IAA6B;QAE7B,OAAO,gBAAgB,CAAC,MAAM,EAAE;YAC9B,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC7E,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;IACzD,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,EAAE;IAEjB,KAAK,CAAC,MAAM,CACV,MAAc,EACd,IAA6B;QAE7B,OAAO,gBAAgB,CAAC,MAAM,EAAE;YAC9B,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC7E,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACpE,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC9C,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;gBACtE,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/code-samples.js
CHANGED
|
@@ -39,6 +39,16 @@ function readVendorSamples(operation) {
|
|
|
39
39
|
sample.label = entry.label;
|
|
40
40
|
samples.push(sample);
|
|
41
41
|
}
|
|
42
|
+
// A `label` only disambiguates when it VARIES across samples (e.g. "Sync" vs
|
|
43
|
+
// "Async" for two Python samples). Speakeasy sets every sample's label to the
|
|
44
|
+
// SDK method name (e.g. "banPartner"), which is identical across languages and
|
|
45
|
+
// makes every tab read the same — drop it so the tab falls back to the
|
|
46
|
+
// language name (Python, Go, …), the API-docs convention.
|
|
47
|
+
const distinctLabels = new Set(samples.map((s) => s.label));
|
|
48
|
+
if (samples.length > 1 && distinctLabels.size === 1) {
|
|
49
|
+
for (const s of samples)
|
|
50
|
+
delete s.label;
|
|
51
|
+
}
|
|
42
52
|
return samples;
|
|
43
53
|
}
|
|
44
54
|
function generateCodeSamples(method, path, baseUrl) {
|
package/dist/code-samples.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-samples.js","sourceRoot":"","sources":["../src/code-samples.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,MAAM,UAAU,kBAAkB,CAChC,SAAc,EACd,MAAc,EACd,IAAY,EACZ,OAAe;IAEf,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAc;IACvC,MAAM,GAAG,GACP,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC;IACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI;YAC1C,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ;gBACpD,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;YAAE,SAAS;QACjC,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9C,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAc,EACd,IAAY,EACZ,OAAe;IAEf,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,QAAQ,EAAE,MAAM;YAChB,IAAI,EACF,KAAK,KAAK,KAAK;gBACb,CAAC,CAAC,SAAS,GAAG,uCAAuC;gBACrD,CAAC,CAAC,WAAW,KAAK,KAAK,GAAG,iFAAiF;SAChH;QACD;YACE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EACF,KAAK,KAAK,KAAK;gBACb,CAAC,CAAC,+CAA+C,GAAG,4BAA4B;gBAChF,CAAC,CAAC,0CAA0C,MAAM,WAAW,GAAG,4CAA4C;SACjH;QACD;YACE,QAAQ,EAAE,YAAY;YACtB,IAAI,EACF,KAAK,KAAK,KAAK;gBACb,CAAC,CAAC,iCAAiC,GAAG,0CAA0C;gBAChF,CAAC,CAAC,iCAAiC,GAAG,oBAAoB,KAAK,+HAA+H;SACnM;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"code-samples.js","sourceRoot":"","sources":["../src/code-samples.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,MAAM,UAAU,kBAAkB,CAChC,SAAc,EACd,MAAc,EACd,IAAY,EACZ,OAAe;IAEf,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAc;IACvC,MAAM,GAAG,GACP,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC;IACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI;YAC1C,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ;gBACpD,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;YAAE,SAAS;QACjC,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9C,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,uEAAuE;IACvE,0DAA0D;IAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAc,EACd,IAAY,EACZ,OAAe;IAEf,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEnC,OAAO;QACL;YACE,QAAQ,EAAE,MAAM;YAChB,IAAI,EACF,KAAK,KAAK,KAAK;gBACb,CAAC,CAAC,SAAS,GAAG,uCAAuC;gBACrD,CAAC,CAAC,WAAW,KAAK,KAAK,GAAG,iFAAiF;SAChH;QACD;YACE,QAAQ,EAAE,QAAQ;YAClB,IAAI,EACF,KAAK,KAAK,KAAK;gBACb,CAAC,CAAC,+CAA+C,GAAG,4BAA4B;gBAChF,CAAC,CAAC,0CAA0C,MAAM,WAAW,GAAG,4CAA4C;SACjH;QACD;YACE,QAAQ,EAAE,YAAY;YACtB,IAAI,EACF,KAAK,KAAK,KAAK;gBACb,CAAC,CAAC,iCAAiC,GAAG,0CAA0C;gBAChF,CAAC,CAAC,iCAAiC,GAAG,oBAAoB,KAAK,+HAA+H;SACnM;KACF,CAAC;AACJ,CAAC"}
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { ExportPage, Heading, NavItem, TreeNode } from "@dogsbay/types";
|
|
2
|
+
export { findSpec, specCandidates, type SpecLookup } from "./spec-path.js";
|
|
3
|
+
export interface ParseOpenApiOptions {
|
|
4
|
+
/** When the importer wants nav hrefs to start with this prefix. */
|
|
5
|
+
hrefPrefix?: string;
|
|
6
|
+
/** Sub-path within the namespace for emitted pages, e.g. "api". */
|
|
7
|
+
section?: string;
|
|
8
|
+
/**
|
|
9
|
+
* First URL segments the site already uses for something else: the
|
|
10
|
+
* source's own `/<name>/` prefix, the base path, taxonomy indexes. A tag
|
|
11
|
+
* (or untagged operation) with one of these slugs is renamed (`api-2`),
|
|
12
|
+
* because a site-root link to `/api/list-things` on a source published
|
|
13
|
+
* under `/api/` reads as already prefixed and is never rewritten.
|
|
14
|
+
*/
|
|
15
|
+
reservedSlugs?: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A dereferenced spec (`prepareSpec`) as a page per operation, a page per tag
|
|
19
|
+
* and an info page, with their nav: for a spec that IS the source.
|
|
20
|
+
*/
|
|
21
|
+
export declare function specToPages(spec: any, options?: ParseOpenApiOptions): {
|
|
22
|
+
pages: ExportPage[];
|
|
23
|
+
nav: NavItem[];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Spec text → object. JSON is read natively; YAML needs a parser passed in
|
|
27
|
+
* (`yaml`'s `parse`, js-yaml's `load`), so a host that has one does not
|
|
28
|
+
* bundle a second.
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseSpecText(text: string, parseYaml?: (text: string) => unknown): unknown;
|
|
31
|
+
/**
|
|
32
|
+
* A parsed spec → the dereferenced OpenAPI 3 document every function here
|
|
33
|
+
* reads. Swagger 2.0 is upgraded to OpenAPI 3 first: everything below reads
|
|
34
|
+
* the 3.x shape (`requestBody`, response `content`, `servers`), so a 2.0
|
|
35
|
+
* spec parsed without the upgrade lost every body parameter and response
|
|
36
|
+
* schema while still producing plausible-looking pages. Canonical's Anbox
|
|
37
|
+
* Cloud API specs are 2.0.
|
|
38
|
+
*/
|
|
39
|
+
export declare function prepareSpec(parsed: unknown, label?: string): Promise<any>;
|
|
40
|
+
/**
|
|
41
|
+
* Prepared specs by path, each parsed and dereferenced once however many
|
|
42
|
+
* pages embed it. `read` returns the file's text; failures are cached too,
|
|
43
|
+
* so a broken spec is reported per page without being parsed again.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createSpecCache(read: (path: string) => string | Promise<string>, parseYaml?: (text: string) => unknown): {
|
|
46
|
+
get(path: string): Promise<any>;
|
|
47
|
+
readonly size: number;
|
|
48
|
+
};
|
|
49
|
+
/** What a value over its bound is shown as. */
|
|
50
|
+
export declare const VALUE_TOO_LARGE = "(not shown: too large)";
|
|
51
|
+
/**
|
|
52
|
+
* The summary and description, with a sentence the generator broke in two
|
|
53
|
+
* put back together. drf-yasg makes the summary from a docstring's first
|
|
54
|
+
* LINE and the description from the rest, so a sentence that wraps reads
|
|
55
|
+
* "…retrieve the list of" + a paragraph "activity streams.". A summary with
|
|
56
|
+
* no closing punctuation, followed by a description that starts in lower
|
|
57
|
+
* case, takes the description's first paragraph when that ends the
|
|
58
|
+
* sentence and the summary is long enough to be a wrapped line. Only plain text is moved:
|
|
59
|
+
* the summary is shown as text, so Markdown in the continuation would show
|
|
60
|
+
* its syntax.
|
|
61
|
+
*/
|
|
62
|
+
export declare function summaryAndDescription(summary: string | undefined, description: string | undefined): {
|
|
63
|
+
summary?: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
};
|
|
66
|
+
export interface OpenApiEmbedOptions {
|
|
67
|
+
level?: number;
|
|
68
|
+
/** Ids the page already uses: the embed's headings get others. */
|
|
69
|
+
usedIds?: Iterable<string>;
|
|
70
|
+
/**
|
|
71
|
+
* One operation instead of the whole spec: `:::openapi{spec path method}`,
|
|
72
|
+
* what GitBook's `{% openapi src path method %}` block shows. The tree is
|
|
73
|
+
* that operation's endpoint node alone; no such operation throws.
|
|
74
|
+
*/
|
|
75
|
+
operation?: {
|
|
76
|
+
path: string;
|
|
77
|
+
method: string;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The operation a `:::openapi` directive selects from its props, or why it
|
|
82
|
+
* cannot: `path` and `method` come together or not at all.
|
|
83
|
+
*/
|
|
84
|
+
export declare function directiveOperation(props: Record<string, unknown> | undefined): {
|
|
85
|
+
operation?: {
|
|
86
|
+
path: string;
|
|
87
|
+
method: string;
|
|
88
|
+
};
|
|
89
|
+
} | {
|
|
90
|
+
error: string;
|
|
91
|
+
};
|
|
92
|
+
export interface OpenApiEmbed {
|
|
93
|
+
/** Version line, description, then one section per tag of endpoint nodes. */
|
|
94
|
+
tree: TreeNode[];
|
|
95
|
+
/** One entry per tag section, for the page's table of contents. */
|
|
96
|
+
headings: Heading[];
|
|
97
|
+
operations: number;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* A whole spec as the BODY of one page: what Swagger UI or Redoc show when a
|
|
101
|
+
* page embeds them. The info version and description, then a section per tag
|
|
102
|
+
* (declared order, then first use; untagged operations last, under "Other"),
|
|
103
|
+
* each holding its operations as `endpoint` nodes in document order.
|
|
104
|
+
*
|
|
105
|
+
* `spec` is a dereferenced spec (`prepareSpec`), and is not modified: the
|
|
106
|
+
* nodes are copies, so one parsed spec serves every page that embeds it.
|
|
107
|
+
*
|
|
108
|
+
* `specToPages` is the other shape — a page per operation — for a spec
|
|
109
|
+
* that IS the source. This one is for a spec a prose page points at.
|
|
110
|
+
*/
|
|
111
|
+
export declare function embedSpec(spec: any, options?: OpenApiEmbedOptions): OpenApiEmbed;
|
|
112
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK7E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAY3E,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,GAAG,EACT,OAAO,GAAE,mBAAwB,GAChC;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,GAAG,EAAE,OAAO,EAAE,CAAA;CAAE,CAuDzC;AA4RD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAO1F;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,SAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBnF;AA2ID;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAChD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACpC;IAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAiB5D;AA4BD,+CAA+C;AAC/C,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAmHxD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB5C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAOnJ;AAED,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAoDpF"}
|