@alpacakit/channels 0.1.0-beta.36 → 0.1.0-beta.39
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/README.md +204 -723
- package/dist/binding-compiler.d.ts +12 -2
- package/dist/binding-compiler.d.ts.map +1 -1
- package/dist/binding-compiler.js +25 -0
- package/dist/cli-coercion.d.ts +1 -1
- package/dist/cli-coercion.d.ts.map +1 -1
- package/dist/cli-coercion.js +14 -29
- package/dist/cli-compiler.d.ts +4 -17
- package/dist/cli-compiler.d.ts.map +1 -1
- package/dist/cli-compiler.js +78 -39
- package/dist/cli-help-projection.d.ts.map +1 -1
- package/dist/cli-help-projection.js +41 -36
- package/dist/cli-model.d.ts +50 -65
- package/dist/cli-model.d.ts.map +1 -1
- package/dist/cli-model.js +26 -34
- package/dist/cli-tree.d.ts +6 -3
- package/dist/cli-tree.d.ts.map +1 -1
- package/dist/cli-tree.js +161 -387
- package/dist/cli.d.ts +1 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -5
- package/dist/codecs.d.ts +20 -18
- package/dist/codecs.d.ts.map +1 -1
- package/dist/codecs.js +21 -31
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +8 -3
- package/dist/definition-error.d.ts +5 -0
- package/dist/definition-error.d.ts.map +1 -0
- package/dist/definition-error.js +8 -0
- package/dist/factory.d.ts +25 -11
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +28 -18
- package/dist/http-compiler.d.ts +15 -0
- package/dist/http-compiler.d.ts.map +1 -0
- package/dist/http-compiler.js +37 -0
- package/dist/http-model.d.ts +42 -0
- package/dist/http-model.d.ts.map +1 -0
- package/dist/http-model.js +20 -0
- package/dist/http-tree.d.ts +7 -0
- package/dist/http-tree.d.ts.map +1 -0
- package/dist/http-tree.js +181 -0
- package/dist/http.d.ts +3 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +2 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/input-compiler.d.ts +13 -0
- package/dist/input-compiler.d.ts.map +1 -0
- package/dist/input-compiler.js +122 -0
- package/dist/introspection.d.ts +1 -1
- package/dist/introspection.d.ts.map +1 -1
- package/dist/introspection.js +30 -16
- package/dist/mcp.d.ts +25 -24
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +87 -65
- package/dist/model.d.ts +44 -42
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +44 -9
- package/dist/owned.d.ts +12 -0
- package/dist/owned.d.ts.map +1 -0
- package/dist/owned.js +61 -0
- package/dist/registration.d.ts +41 -0
- package/dist/registration.d.ts.map +1 -0
- package/dist/registration.js +14 -0
- package/dist/runtime.d.ts +2 -35
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +2 -127
- package/dist/schema.d.ts +11 -8
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +110 -47
- package/dist/string-coercion.d.ts +4 -0
- package/dist/string-coercion.d.ts.map +1 -0
- package/dist/string-coercion.js +24 -0
- package/dist/tree-internal.d.ts +4 -2
- package/dist/tree-internal.d.ts.map +1 -1
- package/dist/tree-internal.js +5 -2
- package/dist/values.d.ts +1 -6
- package/dist/values.d.ts.map +1 -1
- package/dist/values.js +1 -6
- package/examples/README.md +28 -0
- package/examples/book-search.ts +151 -0
- package/examples/greeting.ts +193 -0
- package/package.json +9 -4
- package/dist/cli-application.d.ts +0 -40
- package/dist/cli-application.d.ts.map +0 -1
- package/dist/cli-application.js +0 -90
- package/dist/cli-executor.d.ts +0 -25
- package/dist/cli-executor.d.ts.map +0 -1
- package/dist/cli-executor.js +0 -44
- package/dist/cli-presentation.d.ts +0 -32
- package/dist/cli-presentation.d.ts.map +0 -1
- package/dist/cli-presentation.js +0 -293
- package/dist/cli-result-envelope.d.ts +0 -104
- package/dist/cli-result-envelope.d.ts.map +0 -1
- package/dist/cli-result-envelope.js +0 -137
- package/dist/cli-schema.d.ts +0 -4
- package/dist/cli-schema.d.ts.map +0 -1
- package/dist/cli-schema.js +0 -7
package/dist/cli-model.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type CLI_BOOLEAN_MODE, CLI_HELP_USAGE_KIND, type CLI_OPTION_KIND, CLI_OPTION_VALUE_MODE } from "./cli-values.js";
|
|
2
2
|
import type { ParameterRequirementDescription } from "./introspection.js";
|
|
3
|
-
import type { ChannelSegmentOverride, EntryChannelBinding,
|
|
3
|
+
import type { ChannelSegmentOverride, EntryChannelBinding, RawValueMap, ValueShape } from "./model.js";
|
|
4
|
+
import type { InputPlan, Registration } from "./registration.js";
|
|
4
5
|
import { CHANNEL } from "./values.js";
|
|
5
6
|
export declare const CLI_ARG_KIND: {
|
|
6
7
|
readonly option: "option";
|
|
@@ -10,14 +11,6 @@ export declare const CLI_VALUE_COERCION: {
|
|
|
10
11
|
readonly json: "json";
|
|
11
12
|
readonly jsonOrString: "json_or_string";
|
|
12
13
|
};
|
|
13
|
-
export declare const CLI_ROUTER_RESULT_KIND: {
|
|
14
|
-
readonly resolved: "resolved";
|
|
15
|
-
readonly unknownCommand: "unknown_command";
|
|
16
|
-
readonly incompleteCommand: "incomplete_command";
|
|
17
|
-
readonly invalidInput: "invalid_input";
|
|
18
|
-
readonly invalidParameter: "invalid_parameter";
|
|
19
|
-
readonly internalError: "internal_error";
|
|
20
|
-
};
|
|
21
14
|
export type CliBooleanMode = (typeof CLI_BOOLEAN_MODE)[keyof typeof CLI_BOOLEAN_MODE];
|
|
22
15
|
export type CliOptionValueMode = (typeof CLI_OPTION_VALUE_MODE)[keyof typeof CLI_OPTION_VALUE_MODE];
|
|
23
16
|
export type CliValueCoercion = (typeof CLI_VALUE_COERCION)[keyof typeof CLI_VALUE_COERCION];
|
|
@@ -131,11 +124,11 @@ type CliOptionParameterName<Bindings extends readonly CliArgBindingInput[]> = Ex
|
|
|
131
124
|
export declare function bindCliEntry<const Bindings extends readonly CliArgBindingInput[]>(binding: {
|
|
132
125
|
readonly parameters: Bindings;
|
|
133
126
|
readonly help?: CliCommandHelpInput<CliOptionParameterName<Bindings>>;
|
|
134
|
-
}): EntryChannelBinding<typeof CHANNEL.cli, Bindings[number]["parameterName"]
|
|
127
|
+
}): EntryChannelBinding<typeof CHANNEL.cli, CliEntryBinding<Bindings[number]["parameterName"]>>;
|
|
135
128
|
export declare function overrideCliSegment(segment: {
|
|
136
129
|
readonly token: string;
|
|
137
130
|
readonly help?: CliGroupHelpInput;
|
|
138
|
-
}): ChannelSegmentOverride
|
|
131
|
+
}): ChannelSegmentOverride<typeof CHANNEL.cli, CliSegment>;
|
|
139
132
|
type CliHelpOptionBase = {
|
|
140
133
|
readonly parameterName: string;
|
|
141
134
|
readonly flags: readonly CliOptionFlag[];
|
|
@@ -181,64 +174,56 @@ export type CliHelpSurface = {
|
|
|
181
174
|
readonly examples: readonly CliHelpExample[];
|
|
182
175
|
readonly subcommandHint: string | null;
|
|
183
176
|
};
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
readonly
|
|
187
|
-
|
|
188
|
-
readonly
|
|
189
|
-
|
|
190
|
-
readonly path: CliCommandPath;
|
|
191
|
-
readonly withDescription: boolean;
|
|
177
|
+
type CliParameterBase = {
|
|
178
|
+
readonly parameterName: string;
|
|
179
|
+
readonly description: string;
|
|
180
|
+
readonly requirement: ParameterRequirementDescription;
|
|
181
|
+
readonly shape: ValueShape;
|
|
182
|
+
readonly coercion: CliValueCoercion | null;
|
|
192
183
|
};
|
|
193
|
-
export type
|
|
194
|
-
|
|
195
|
-
readonly
|
|
196
|
-
readonly
|
|
184
|
+
export type CliParameterView = (CliParameterBase & {
|
|
185
|
+
readonly kind: typeof CLI_ARG_KIND.option;
|
|
186
|
+
readonly optionKind: typeof CLI_OPTION_KIND.booleanFlag;
|
|
187
|
+
readonly flags: readonly CliOptionFlag[];
|
|
188
|
+
readonly negativeFlags: readonly CliLongOptionFlag[];
|
|
189
|
+
readonly valueName: null;
|
|
190
|
+
readonly valueMode: null;
|
|
191
|
+
}) | (CliParameterBase & {
|
|
192
|
+
readonly kind: typeof CLI_ARG_KIND.option;
|
|
193
|
+
readonly optionKind: typeof CLI_OPTION_KIND.value;
|
|
194
|
+
readonly flags: readonly CliOptionFlag[];
|
|
195
|
+
readonly negativeFlags: readonly [];
|
|
196
|
+
readonly valueName: string;
|
|
197
|
+
readonly valueMode: CliOptionValueMode;
|
|
198
|
+
}) | (CliParameterBase & {
|
|
199
|
+
readonly kind: typeof CLI_ARG_KIND.positional;
|
|
200
|
+
readonly valueName: string;
|
|
201
|
+
readonly variadic: boolean;
|
|
202
|
+
});
|
|
203
|
+
export type CliInputPlan<Values extends RawValueMap, Input> = InputPlan<Values, Input> & {
|
|
204
|
+
readonly parseOptions: (raw: RawValueMap) => Input;
|
|
197
205
|
};
|
|
198
|
-
export type
|
|
199
|
-
readonly endpoint: EntryTreeEndpoint;
|
|
206
|
+
export type CliRegistration<Values extends RawValueMap, Input, Context, Output> = Omit<Registration<Values, Input, Context, Output>, "binding" | "input" | "parameters"> & {
|
|
200
207
|
readonly path: CliCommandPath;
|
|
201
|
-
|
|
202
|
-
readonly
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
readonly
|
|
207
|
-
readonly
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
readonly kind: typeof CLI_ROUTER_RESULT_KIND.unknownCommand;
|
|
211
|
-
readonly path: readonly string[];
|
|
208
|
+
readonly binding: EntryChannelBinding<typeof CHANNEL.cli, CliEntryBinding>;
|
|
209
|
+
readonly parameters: readonly CliParameterView[];
|
|
210
|
+
readonly input: CliInputPlan<Values, Input>;
|
|
211
|
+
};
|
|
212
|
+
export interface CliRegistrationCollection<Context, Output> {
|
|
213
|
+
readonly length: number;
|
|
214
|
+
readonly forEach: (visit: <Values extends RawValueMap, Input>(item: CliRegistration<Values, Input, Context, Output>) => void) => void;
|
|
215
|
+
}
|
|
216
|
+
export type CliCommandNode<Context, Output> = {
|
|
212
217
|
readonly token: string;
|
|
213
|
-
|
|
214
|
-
readonly
|
|
215
|
-
readonly
|
|
216
|
-
} | {
|
|
217
|
-
readonly kind: typeof CLI_ROUTER_RESULT_KIND.invalidInput;
|
|
218
|
-
readonly path: readonly string[];
|
|
219
|
-
readonly issues: readonly string[];
|
|
220
|
-
} | {
|
|
221
|
-
readonly kind: typeof CLI_ROUTER_RESULT_KIND.invalidParameter;
|
|
222
|
-
readonly path: readonly string[];
|
|
223
|
-
readonly parameterName: string;
|
|
224
|
-
readonly issues: readonly string[];
|
|
225
|
-
} | {
|
|
226
|
-
readonly kind: typeof CLI_ROUTER_RESULT_KIND.internalError;
|
|
227
|
-
readonly path: readonly string[];
|
|
228
|
-
readonly error: unknown;
|
|
229
|
-
};
|
|
230
|
-
export type CliResolvedEndpointResult<Endpoint extends EntryTreeEndpoint> = Omit<Extract<CliRouterResult, {
|
|
231
|
-
readonly kind: typeof CLI_ROUTER_RESULT_KIND.resolved;
|
|
232
|
-
}>, "endpoint" | "projection"> & {
|
|
233
|
-
readonly endpoint: Endpoint;
|
|
234
|
-
readonly projection: ReturnType<Endpoint["entry"]["project"]>;
|
|
235
|
-
};
|
|
236
|
-
export declare function isCliResolvedEndpoint<const Endpoint extends EntryTreeEndpoint>(result: CliRouterResult, endpoint: Endpoint): result is CliResolvedEndpointResult<Endpoint>;
|
|
237
|
-
export interface CliRouter {
|
|
218
|
+
readonly path: CliCommandPath;
|
|
219
|
+
readonly description: string;
|
|
220
|
+
readonly documentation: import("./model.js").CommandDocumentation;
|
|
238
221
|
readonly help: CliHelpSurface;
|
|
239
|
-
readonly
|
|
240
|
-
readonly
|
|
241
|
-
|
|
242
|
-
|
|
222
|
+
readonly commands: CliRegistrationCollection<Context, Output>;
|
|
223
|
+
readonly children: readonly CliCommandNode<Context, Output>[];
|
|
224
|
+
};
|
|
225
|
+
export type CliCommandTree<Context, Output> = {
|
|
226
|
+
readonly root: CliCommandNode<Context, Output>;
|
|
227
|
+
};
|
|
243
228
|
export {};
|
|
244
229
|
//# sourceMappingURL=cli-model.d.ts.map
|
package/dist/cli-model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-model.d.ts","sourceRoot":"","sources":["../src/cli-model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,KAAK,eAAe,EACpB,qBAAqB,EAGtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"cli-model.d.ts","sourceRoot":"","sources":["../src/cli-model.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-model.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CLI_HELP_USAGE_KIND, CLI_OPTION_VALUE_MODE, defaultCliOptionFlag, defaultCliValueName, } from "./cli-values.js";
|
|
2
|
+
import { ownedArray, ownedRecord } from "./owned.js";
|
|
2
3
|
import { createChannelSegmentOverride, createEntryChannelBinding, PAYLOAD_KIND, registerChannelPayload, } from "./tree-internal.js";
|
|
3
4
|
import { CHANNEL } from "./values.js";
|
|
4
5
|
export const CLI_ARG_KIND = {
|
|
@@ -9,80 +10,71 @@ export const CLI_VALUE_COERCION = {
|
|
|
9
10
|
json: "json",
|
|
10
11
|
jsonOrString: "json_or_string",
|
|
11
12
|
};
|
|
12
|
-
export const CLI_ROUTER_RESULT_KIND = {
|
|
13
|
-
resolved: "resolved",
|
|
14
|
-
unknownCommand: "unknown_command",
|
|
15
|
-
incompleteCommand: "incomplete_command",
|
|
16
|
-
invalidInput: "invalid_input",
|
|
17
|
-
invalidParameter: "invalid_parameter",
|
|
18
|
-
internalError: "internal_error",
|
|
19
|
-
};
|
|
20
13
|
export function bindCliEntry(binding) {
|
|
21
|
-
const payload = {
|
|
22
|
-
parameters: binding.parameters.map(normalizeCliArgBinding),
|
|
14
|
+
const payload = ownedRecord({
|
|
15
|
+
parameters: ownedArray(binding.parameters.map(normalizeCliArgBinding)),
|
|
23
16
|
help: normalizeCliCommandHelp(binding.help),
|
|
24
|
-
};
|
|
17
|
+
});
|
|
25
18
|
registerChannelPayload(PAYLOAD_KIND.cliBinding, payload);
|
|
26
19
|
return createEntryChannelBinding(CHANNEL.cli, payload);
|
|
27
20
|
}
|
|
28
21
|
export function overrideCliSegment(segment) {
|
|
29
|
-
const payload = {
|
|
22
|
+
const payload = ownedRecord({
|
|
30
23
|
token: segment.token,
|
|
31
24
|
help: normalizeCliGroupHelp(segment.help),
|
|
32
|
-
};
|
|
25
|
+
});
|
|
33
26
|
registerChannelPayload(PAYLOAD_KIND.cliSegment, payload);
|
|
34
27
|
return createChannelSegmentOverride(CHANNEL.cli, payload);
|
|
35
28
|
}
|
|
36
29
|
function normalizeCliArgBinding(input) {
|
|
37
30
|
if (input.kind === CLI_ARG_KIND.option) {
|
|
38
|
-
return {
|
|
31
|
+
return ownedRecord({
|
|
39
32
|
kind: input.kind,
|
|
40
33
|
parameterName: input.parameterName,
|
|
41
|
-
flags: input.flags ?? [defaultCliOptionFlag(input.parameterName)],
|
|
34
|
+
flags: ownedArray(input.flags ?? [defaultCliOptionFlag(input.parameterName)]),
|
|
42
35
|
valueName: input.valueName ?? defaultCliValueName(input.parameterName),
|
|
43
36
|
valueNameAuthored: input.valueName !== undefined,
|
|
44
37
|
coercion: input.coercion ?? null,
|
|
45
38
|
booleanMode: input.booleanMode ?? null,
|
|
46
39
|
negated: input.negated ?? false,
|
|
47
40
|
repeatable: input.repeatMode === CLI_OPTION_VALUE_MODE.commaOrRepeat,
|
|
48
|
-
};
|
|
41
|
+
});
|
|
49
42
|
}
|
|
50
|
-
return {
|
|
43
|
+
return ownedRecord({
|
|
51
44
|
kind: input.kind,
|
|
52
45
|
parameterName: input.parameterName,
|
|
53
46
|
valueName: input.valueName ?? defaultCliValueName(input.parameterName),
|
|
54
47
|
coercion: input.coercion ?? null,
|
|
55
48
|
variadic: input.variadic ?? false,
|
|
56
|
-
};
|
|
49
|
+
});
|
|
57
50
|
}
|
|
58
51
|
function normalizeCliCommandHelp(input) {
|
|
59
|
-
return {
|
|
52
|
+
return ownedRecord({
|
|
60
53
|
usage: input?.usages === undefined
|
|
61
|
-
? { kind: CLI_HELP_USAGE_KIND.derived }
|
|
62
|
-
: {
|
|
54
|
+
? ownedRecord({ kind: CLI_HELP_USAGE_KIND.derived })
|
|
55
|
+
: ownedRecord({
|
|
56
|
+
kind: CLI_HELP_USAGE_KIND.authored,
|
|
57
|
+
values: ownedArray(input.usages),
|
|
58
|
+
}),
|
|
63
59
|
examples: normalizeCliHelpExamples(input?.examples),
|
|
64
|
-
optionSections: (input?.optionSections ?? []).map((section) => ({
|
|
60
|
+
optionSections: ownedArray((input?.optionSections ?? []).map((section) => ownedRecord({
|
|
65
61
|
heading: section.heading,
|
|
66
62
|
description: section.description ?? null,
|
|
67
|
-
parameterNames: section.parameterNames,
|
|
68
|
-
})),
|
|
69
|
-
};
|
|
63
|
+
parameterNames: ownedArray(section.parameterNames),
|
|
64
|
+
}))),
|
|
65
|
+
});
|
|
70
66
|
}
|
|
71
67
|
function normalizeCliGroupHelp(input) {
|
|
72
|
-
return {
|
|
68
|
+
return ownedRecord({
|
|
73
69
|
subcommandHint: input?.subcommandHint ?? null,
|
|
74
70
|
examples: normalizeCliHelpExamples(input?.examples),
|
|
75
|
-
};
|
|
71
|
+
});
|
|
76
72
|
}
|
|
77
73
|
function normalizeCliHelpExamples(examples) {
|
|
78
|
-
return (examples ?? []).map((example) => ({
|
|
74
|
+
return ownedArray((examples ?? []).map((example) => ownedRecord({
|
|
79
75
|
title: example.title,
|
|
80
76
|
useWhen: example.useWhen,
|
|
81
77
|
command: example.command,
|
|
82
|
-
expectedResult: example.expectedResult ?? [],
|
|
83
|
-
}));
|
|
84
|
-
}
|
|
85
|
-
export function isCliResolvedEndpoint(result, endpoint) {
|
|
86
|
-
return (result.kind === CLI_ROUTER_RESULT_KIND.resolved &&
|
|
87
|
-
result.endpoint === endpoint);
|
|
78
|
+
expectedResult: ownedArray(example.expectedResult ?? []),
|
|
79
|
+
})));
|
|
88
80
|
}
|
package/dist/cli-tree.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import type
|
|
3
|
-
|
|
1
|
+
import { type CliCommandTree } from "./cli-model.js";
|
|
2
|
+
import { type ContextFor, type EndpointForChannel, type EndpointsOfSource, type EntryTreeSource, type OutputFor } from "./registration.js";
|
|
3
|
+
import { CHANNEL } from "./values.js";
|
|
4
|
+
type CliEndpointFor<Source extends EntryTreeSource> = EndpointForChannel<EndpointsOfSource<Source>, typeof CHANNEL.cli>;
|
|
5
|
+
export declare function collectCliCommands<const Source extends EntryTreeSource>(source: Source): CliCommandTree<ContextFor<CliEndpointFor<Source>>, OutputFor<CliEndpointFor<Source>>>;
|
|
6
|
+
export {};
|
|
4
7
|
//# sourceMappingURL=cli-tree.d.ts.map
|
package/dist/cli-tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-tree.d.ts","sourceRoot":"","sources":["../src/cli-tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-tree.d.ts","sourceRoot":"","sources":["../src/cli-tree.ts"],"names":[],"mappings":"AAWA,OAAO,EAIL,KAAK,cAAc,EAMpB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,SAAS,EAEf,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtC,KAAK,cAAc,CAAC,MAAM,SAAS,eAAe,IAAI,kBAAkB,CACtE,iBAAiB,CAAC,MAAM,CAAC,EACzB,OAAO,OAAO,CAAC,GAAG,CACnB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,MAAM,SAAS,eAAe,EACrE,MAAM,EAAE,MAAM,GACb,cAAc,CACf,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAClC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAClC,CAgBA"}
|