@erenthedeveloper0/zen-openapi 0.1.0-alpha.1
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/LICENSE +9 -0
- package/README.md +76 -0
- package/dist/diff.d.ts +37 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +320 -0
- package/dist/diff.js.map +1 -0
- package/dist/document.d.ts +75 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +689 -0
- package/dist/document.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin.d.ts +29 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +84 -0
- package/dist/plugin.js.map +1 -0
- package/dist/schema.d.ts +103 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +434 -0
- package/dist/schema.js.map +1 -0
- package/dist/types.d.ts +154 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/ui.d.ts +19 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +192 -0
- package/dist/ui.js.map +1 -0
- package/package.json +65 -0
- package/src/diff.ts +439 -0
- package/src/document.ts +882 -0
- package/src/index.ts +20 -0
- package/src/plugin.ts +135 -0
- package/src/schema.ts +497 -0
- package/src/types.ts +166 -0
- package/src/ui.ts +198 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@erenthedeveloper0/zen-openapi` — `AppGraph → OpenAPI 3.1`, plus breaking-change detection.
|
|
3
|
+
*
|
|
4
|
+
* rfcs/0001 §29. Depends on `@erenthedeveloper0/zen-core` and nothing else — in particular not
|
|
5
|
+
* on the router, which is why param-type schemas arrive through the frozen
|
|
6
|
+
* graph rather than through a second copy of the built-in table (§24.3).
|
|
7
|
+
*/
|
|
8
|
+
export { openapiDocument, pathVariants, type OpenApiOptions, type OpenApiResult, type PathVariant } from './document.ts';
|
|
9
|
+
export { openapiPlugin, type OpenApiPluginOptions } from './plugin.ts';
|
|
10
|
+
export { renderReference } from './ui.ts';
|
|
11
|
+
export { diffDocuments, type ApiChange, type ChangeKind, type DiffResult, } from './diff.ts';
|
|
12
|
+
export { Components, canonical, declaredName, isObjectShape, projectSchema, sanitizeName, type DocDiagnostic, type ProjectOptions, } from './schema.ts';
|
|
13
|
+
export type * from './types.ts';
|
|
14
|
+
export { DOC_META_KEYS } from './types.ts';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AACxH,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EACL,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,GAChE,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAC/E,KAAK,aAAa,EAAE,KAAK,cAAc,GACxC,MAAM,aAAa,CAAA;AACpB,mBAAmB,YAAY,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@erenthedeveloper0/zen-openapi` — `AppGraph → OpenAPI 3.1`, plus breaking-change detection.
|
|
3
|
+
*
|
|
4
|
+
* rfcs/0001 §29. Depends on `@erenthedeveloper0/zen-core` and nothing else — in particular not
|
|
5
|
+
* on the router, which is why param-type schemas arrive through the frozen
|
|
6
|
+
* graph rather than through a second copy of the built-in table (§24.3).
|
|
7
|
+
*/
|
|
8
|
+
export { openapiDocument, pathVariants } from "./document.js";
|
|
9
|
+
export { openapiPlugin } from "./plugin.js";
|
|
10
|
+
export { renderReference } from "./ui.js";
|
|
11
|
+
export { diffDocuments, } from "./diff.js";
|
|
12
|
+
export { Components, canonical, declaredName, isObjectShape, projectSchema, sanitizeName, } from "./schema.js";
|
|
13
|
+
export { DOC_META_KEYS } from "./types.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAA6D,MAAM,eAAe,CAAA;AACxH,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EACL,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,GAEhF,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Plugin } from '@erenthedeveloper0/zen-core';
|
|
2
|
+
import { type OpenApiOptions, type OpenApiResult } from './document.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Serve the generated document — rfcs/0001 §29.2.
|
|
5
|
+
*
|
|
6
|
+
* The document is built **once, in `onBoot`, from the frozen graph**, and what
|
|
7
|
+
* the endpoint serves is a pre-encoded string. Nothing here runs per request
|
|
8
|
+
* except an ETag comparison: the documentation costs one string in memory and
|
|
9
|
+
* zero work on the hot path, which is the whole reason it is architecture (§29.1)
|
|
10
|
+
* rather than a middleware that walks a registry.
|
|
11
|
+
*/
|
|
12
|
+
export interface OpenApiPluginOptions extends OpenApiOptions {
|
|
13
|
+
/** Where the JSON document is served. `false` disables the endpoint. */
|
|
14
|
+
readonly json?: string | false | undefined;
|
|
15
|
+
/** Where the reference viewer is served. `false` disables it. */
|
|
16
|
+
readonly ui?: string | false | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Turn generator warnings into a boot failure.
|
|
19
|
+
*
|
|
20
|
+
* Worth switching on in CI once an API is public: "this route has no response
|
|
21
|
+
* schema" is a documentation hole *and* a missing serializer contract, and the
|
|
22
|
+
* cheapest moment to notice either is before the process starts.
|
|
23
|
+
*/
|
|
24
|
+
readonly strict?: boolean | undefined;
|
|
25
|
+
/** Receives the finished document — how `zen openapi --out` will write it. */
|
|
26
|
+
readonly onDocument?: ((result: OpenApiResult) => void | Promise<void>) | undefined;
|
|
27
|
+
}
|
|
28
|
+
export declare const openapiPlugin: Plugin<OpenApiPluginOptions, {}>;
|
|
29
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAE/E,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAIxF;;;;;;;;GAQG;AAEH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,wEAAwE;IACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IAC1C,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IACxC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;CACpF;AASD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CA6DzD,CAAA"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { BootError, definePlugin } from '@erenthedeveloper0/zen-core';
|
|
2
|
+
import { openapiDocument } from "./document.js";
|
|
3
|
+
import { renderReference } from "./ui.js";
|
|
4
|
+
export const openapiPlugin = definePlugin({
|
|
5
|
+
name: 'openapi',
|
|
6
|
+
version: '0.1.0',
|
|
7
|
+
setup(app, options) {
|
|
8
|
+
const jsonPath = options.json === undefined ? '/openapi.json' : options.json;
|
|
9
|
+
const uiPath = options.ui === undefined ? '/docs' : options.ui;
|
|
10
|
+
const served = { result: null, json: '{}', etag: '', html: '' };
|
|
11
|
+
if (jsonPath !== false) {
|
|
12
|
+
app.route({
|
|
13
|
+
method: 'GET',
|
|
14
|
+
path: jsonPath,
|
|
15
|
+
name: 'openapi.json',
|
|
16
|
+
// Excluded from the document it serves. A docs endpoint that documents
|
|
17
|
+
// itself is noise in every generated client.
|
|
18
|
+
meta: { hidden: true },
|
|
19
|
+
handler: (ctx) => {
|
|
20
|
+
if (ctx.headers['if-none-match'] === served.etag)
|
|
21
|
+
return ctx.empty(304);
|
|
22
|
+
return ctx.text(served.json, {
|
|
23
|
+
media: 'application/json; charset=utf-8',
|
|
24
|
+
headers: { etag: served.etag, 'cache-control': 'no-cache' },
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (uiPath !== false) {
|
|
30
|
+
app.route({
|
|
31
|
+
method: 'GET',
|
|
32
|
+
path: uiPath,
|
|
33
|
+
name: 'openapi.ui',
|
|
34
|
+
meta: { hidden: true },
|
|
35
|
+
handler: (ctx) => ctx.html(served.html),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
app.onBoot(async (graph) => {
|
|
39
|
+
const result = openapiDocument(graph, options);
|
|
40
|
+
served.result = result;
|
|
41
|
+
served.json = JSON.stringify(result.document, null, 2);
|
|
42
|
+
served.etag = weakEtag(served.json);
|
|
43
|
+
served.html = uiPath === false
|
|
44
|
+
? ''
|
|
45
|
+
: renderReference(result.document, { jsonPath: jsonPath === false ? null : jsonPath });
|
|
46
|
+
if (options.strict === true && result.diagnostics.length > 0) {
|
|
47
|
+
throw new BootError(result.diagnostics.map(toBootDiagnostic));
|
|
48
|
+
}
|
|
49
|
+
await options.onDocument?.(result);
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
exports: {
|
|
53
|
+
/** The finished document, once `ready()` has run. */
|
|
54
|
+
document: () => served.result?.document ?? null,
|
|
55
|
+
diagnostics: () => served.result?.diagnostics ?? [],
|
|
56
|
+
json: () => served.json,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
function toBootDiagnostic(diagnostic) {
|
|
62
|
+
return {
|
|
63
|
+
severity: diagnostic.severity === 'info' ? 'warning' : diagnostic.severity,
|
|
64
|
+
code: diagnostic.code,
|
|
65
|
+
message: diagnostic.message,
|
|
66
|
+
hint: diagnostic.hint,
|
|
67
|
+
locations: [diagnostic.where],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* FNV-1a over the document string. Weak, and correctly labelled `W/`: the
|
|
72
|
+
* document is regenerated on every boot and two boots of the same code produce
|
|
73
|
+
* byte-identical output (every map is emitted sorted), so this is a content
|
|
74
|
+
* hash, not a resource version.
|
|
75
|
+
*/
|
|
76
|
+
function weakEtag(body) {
|
|
77
|
+
let hash = 0x811c9dc5;
|
|
78
|
+
for (let i = 0; i < body.length; i++) {
|
|
79
|
+
hash ^= body.charCodeAt(i);
|
|
80
|
+
hash = Math.imul(hash, 0x01000193);
|
|
81
|
+
}
|
|
82
|
+
return `W/"${body.length.toString(36)}-${(hash >>> 0).toString(36)}"`;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { JsonSchema } from '@erenthedeveloper0/zen-core';
|
|
2
|
+
import type { OpenApiSchema } from './types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* JSON Schema → OpenAPI 3.1 Schema Object — rfcs/0001 §29.2, §29.3.
|
|
5
|
+
*
|
|
6
|
+
* Two things happen here, and only one of them is mechanical.
|
|
7
|
+
*
|
|
8
|
+
* The mechanical part is hoisting `$defs` into `components.schemas`, rewriting
|
|
9
|
+
* local `$ref`s, and up-converting the OpenAPI 3.0 spellings (`nullable`) that
|
|
10
|
+
* real converters still emit.
|
|
11
|
+
*
|
|
12
|
+
* The load-bearing part is **closure**. Zen's serializer inverts JSON Schema's
|
|
13
|
+
* default: an object with no `additionalProperties` drops undeclared keys rather
|
|
14
|
+
* than passing them through (§13.3.1). A document generated from the raw schema
|
|
15
|
+
* would therefore describe an endpoint that permits fields the wire will never
|
|
16
|
+
* carry — documentation that is wrong in the one direction that matters, since a
|
|
17
|
+
* client author would write code to read a field that can never arrive. So
|
|
18
|
+
* response schemas are projected *closed*, mirroring `serializer-ir.ts` node for
|
|
19
|
+
* node, and `test/openapi.test.ts` proves the two agree by running values
|
|
20
|
+
* through the real compiled serializer.
|
|
21
|
+
*
|
|
22
|
+
* Request schemas are **not** closed. There the validator is the authority, the
|
|
23
|
+
* validator is the user's Standard Schema library, and its converter's output is
|
|
24
|
+
* the honest description of what it accepts.
|
|
25
|
+
*/
|
|
26
|
+
export interface DocDiagnostic {
|
|
27
|
+
readonly severity: 'error' | 'warning' | 'info';
|
|
28
|
+
readonly code: string;
|
|
29
|
+
readonly message: string;
|
|
30
|
+
/** Where the problem is, in human terms: `GET /users/:id → response 200`. */
|
|
31
|
+
readonly where: string;
|
|
32
|
+
readonly hint?: string | undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Deduplication runs in three passes, cheapest and most authoritative first:
|
|
36
|
+
* schema *identity* (the same imported object used by four routes is one
|
|
37
|
+
* component), then a *declared* name (`$id` / `title`), then *structural*
|
|
38
|
+
* equality. The third pass is a backstop, not the strategy — two schemas that
|
|
39
|
+
* happen to have the same shape today are not necessarily the same concept, so
|
|
40
|
+
* structural merging only ever fires for schemas that had no name to begin with.
|
|
41
|
+
*/
|
|
42
|
+
export declare class Components {
|
|
43
|
+
#private;
|
|
44
|
+
/**
|
|
45
|
+
* Claim a name for a shape that is already projected.
|
|
46
|
+
*
|
|
47
|
+
* `key` is the identity the caller wants deduplicated on, and it is a
|
|
48
|
+
* parameter rather than always the shape for a reason: two *named* schemas
|
|
49
|
+
* that happen to look alike today are not the same concept, so the caller
|
|
50
|
+
* folds the name into the key and they stay separate. Anonymous schemas pass
|
|
51
|
+
* the shape and do collapse. Different keys wanting the same name get `Name2`.
|
|
52
|
+
*/
|
|
53
|
+
claim(preferred: string, schema: OpenApiSchema, key: string, variant?: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Reserve a name for a shape that cannot be projected yet — a `$def` whose body
|
|
56
|
+
* may refer back to itself, or refer to a sibling def not yet visited. Keyed on
|
|
57
|
+
* the *raw* schema so recursion terminates.
|
|
58
|
+
*
|
|
59
|
+
* The reservation is provisional: the same concept can arrive twice, once as a
|
|
60
|
+
* converter's `$defs` entry and once as an inline titled object, and which one
|
|
61
|
+
* is seen first depends on route order. `fill` reconciles that.
|
|
62
|
+
*/
|
|
63
|
+
reserve(preferred: string, rawKey: string, variant?: string): {
|
|
64
|
+
readonly name: string;
|
|
65
|
+
readonly fresh: boolean;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Attach a body to a reserved name — and collapse it onto an existing
|
|
69
|
+
* component if it turns out to be the same concept under the same name.
|
|
70
|
+
*
|
|
71
|
+
* This is the fix for a bug the first real application found: Zod hoists a
|
|
72
|
+
* schema carrying an `id` into `$defs` when it is nested, and emits it inline
|
|
73
|
+
* when it is not, so `PublicUser` arrived by both routes and the document
|
|
74
|
+
* published `PublicUser` *and* `PublicUser2`. Two names for one type in a
|
|
75
|
+
* generated client is exactly the drift this subsystem exists to prevent.
|
|
76
|
+
*/
|
|
77
|
+
fill(name: string, schema: OpenApiSchema): void;
|
|
78
|
+
/** `duplicate → canonical`, for the final `$ref` rewrite. Empty in the common case. */
|
|
79
|
+
aliases(): ReadonlyMap<string, string>;
|
|
80
|
+
has(name: string): boolean;
|
|
81
|
+
get size(): number;
|
|
82
|
+
/** Sorted, because a document that reorders itself between runs cannot be diffed. */
|
|
83
|
+
toRecord(): Record<string, OpenApiSchema>;
|
|
84
|
+
}
|
|
85
|
+
export declare function sanitizeName(raw: string): string;
|
|
86
|
+
/**
|
|
87
|
+
* Key-sorted JSON. Used for structural identity, so it must be stable across
|
|
88
|
+
* runs and across property insertion order — `{a,b}` and `{b,a}` are one shape.
|
|
89
|
+
*/
|
|
90
|
+
export declare function canonical(value: unknown): string;
|
|
91
|
+
export interface ProjectOptions {
|
|
92
|
+
readonly components: Components;
|
|
93
|
+
/** True for responses: apply Zen's drop-by-default (§13.3.1). */
|
|
94
|
+
readonly closed: boolean;
|
|
95
|
+
readonly diagnostics: DocDiagnostic[];
|
|
96
|
+
readonly where: string;
|
|
97
|
+
}
|
|
98
|
+
export declare function projectSchema(raw: JsonSchema, options: ProjectOptions): OpenApiSchema;
|
|
99
|
+
/** Mirrors `Builder#byType`/`#inferShape`: when does the IR build an object node? */
|
|
100
|
+
export declare function isObjectShape(node: JsonSchema): boolean;
|
|
101
|
+
/** A component name to suggest for a schema that carries one. */
|
|
102
|
+
export declare function declaredName(schema: JsonSchema): string | null;
|
|
103
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,6BAA6B,CAAA;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAMD;;;;;;;GAOG;AACH,qBAAa,UAAU;;IASrB;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAmBtF;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE;IAShH;;;;;;;;;OASG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAY/C,uFAAuF;IACvF,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qFAAqF;IACrF,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAgC1C;AAmBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOhD;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AASD,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAErF;AAuPD,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAOvD;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAQ9D"}
|