@aeolus-fleet/common 0.17.3 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/LICENSE +201 -0
  2. package/dist/fleet/index.d.ts +17 -8
  3. package/dist/fleet/index.js +12 -5
  4. package/dist/fleet/index.js.map +1 -1
  5. package/dist/fleet/mcp-url.d.ts +7 -0
  6. package/dist/fleet/mcp-url.js +10 -0
  7. package/dist/fleet/mcp-url.js.map +1 -0
  8. package/dist/schemas/console.d.ts +2 -1
  9. package/dist/schemas/crew-request.d.ts +152 -0
  10. package/dist/schemas/crew-request.js +102 -0
  11. package/dist/schemas/crew-request.js.map +1 -0
  12. package/dist/schemas/fleet.d.ts +59 -4
  13. package/dist/schemas/fleet.js +9 -11
  14. package/dist/schemas/fleet.js.map +1 -1
  15. package/dist/schemas/follow.d.ts +5 -0
  16. package/dist/schemas/history.d.ts +37 -3
  17. package/dist/schemas/history.js +6 -0
  18. package/dist/schemas/history.js.map +1 -1
  19. package/dist/schemas/index.d.ts +1 -0
  20. package/dist/schemas/index.js +1 -0
  21. package/dist/schemas/index.js.map +1 -1
  22. package/dist/schemas/report.d.ts +77 -1
  23. package/dist/schemas/report.js +49 -2
  24. package/dist/schemas/report.js.map +1 -1
  25. package/dist/trierarch/configuration.js +1 -1
  26. package/dist/trierarch/configuration.js.map +1 -1
  27. package/dist/trierarch/crew-settings.d.ts +36 -0
  28. package/dist/trierarch/crew-settings.js +36 -0
  29. package/dist/trierarch/crew-settings.js.map +1 -0
  30. package/dist/trierarch/index.d.ts +2 -1
  31. package/dist/trierarch/index.js +2 -1
  32. package/dist/trierarch/index.js.map +1 -1
  33. package/dist/trierarch/report-details.d.ts +32 -0
  34. package/dist/trierarch/report-details.js +30 -0
  35. package/dist/trierarch/report-details.js.map +1 -0
  36. package/package.json +4 -2
  37. package/dist/trierarch/protocol.d.ts +0 -130
  38. package/dist/trierarch/protocol.js +0 -109
  39. package/dist/trierarch/protocol.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The details of a trierarch's report (docs/trierarch.md, "What a trierarch
4
+ * reports"; decision 0028): what its machine can do, read from its local
5
+ * configuration and what runs. The trierarch plugin places crew requests
6
+ * from them. No entry per ship: each crew request carries its own status.
7
+ * Every object refuses unknown fields.
8
+ */
9
+ export declare const trierarchReportDetailsSchema: z.ZodObject<{
10
+ harnesses: z.ZodArray<z.ZodObject<{
11
+ harness: z.ZodString;
12
+ options: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
13
+ flags: z.ZodArray<z.ZodString>;
14
+ }, z.core.$strict>>;
15
+ workspaces: z.ZodObject<{
16
+ repositories: z.ZodArray<z.ZodString>;
17
+ folders: z.ZodArray<z.ZodString>;
18
+ }, z.core.$strict>;
19
+ caps: z.ZodObject<{
20
+ ships: z.ZodInt;
21
+ running: z.ZodInt;
22
+ }, z.core.$strict>;
23
+ kept: z.ZodArray<z.ZodObject<{
24
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
25
+ path: z.ZodString;
26
+ }, z.core.$strict>>;
27
+ orphans: z.ZodArray<z.ZodObject<{
28
+ path: z.ZodString;
29
+ }, z.core.$strict>>;
30
+ version: z.ZodString;
31
+ }, z.core.$strict>;
32
+ export type TrierarchReportDetails = z.infer<typeof trierarchReportDetailsSchema>;
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import { idSchema } from '../ids/index.js';
3
+ import { harnessSchema } from '../schemas/ship.js';
4
+ import { trierarchNameSchema } from './names.js';
5
+ /**
6
+ * The details of a trierarch's report (docs/trierarch.md, "What a trierarch
7
+ * reports"; decision 0028): what its machine can do, read from its local
8
+ * configuration and what runs. The trierarch plugin places crew requests
9
+ * from them. No entry per ship: each crew request carries its own status.
10
+ * Every object refuses unknown fields.
11
+ */
12
+ export const trierarchReportDetailsSchema = z.strictObject({
13
+ harnesses: z.array(z.strictObject({
14
+ harness: harnessSchema,
15
+ /** The JSON Schema a crew request's options for this harness are checked against. */
16
+ options: z.record(z.string(), z.json()),
17
+ /** The flags every launch of this harness gets, as the configuration makes them. */
18
+ flags: z.array(z.string()),
19
+ })),
20
+ workspaces: z.strictObject({ repositories: z.array(trierarchNameSchema), folders: z.array(trierarchNameSchema) }),
21
+ /** How many ships the machine crews at most, and how many sessions run at once. */
22
+ caps: z.strictObject({ ships: z.int().positive(), running: z.int().positive() }),
23
+ /** Worktrees kept because they had changes. */
24
+ kept: z.array(z.strictObject({ shipId: idSchema('ship'), path: z.string().min(1) })),
25
+ /** Worktrees under the trierarch's root with no assigned request: reported, never deleted. */
26
+ orphans: z.array(z.strictObject({ path: z.string().min(1) })),
27
+ /** The trierarch's own version. */
28
+ version: z.string().min(1),
29
+ });
30
+ //# sourceMappingURL=report-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-details.js","sourceRoot":"","sources":["../../src/trierarch/report-details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,YAAY,CAAC;IACzD,SAAS,EAAE,CAAC,CAAC,KAAK,CAChB,CAAC,CAAC,YAAY,CAAC;QACb,OAAO,EAAE,aAAa;QACtB,qFAAqF;QACrF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,oFAAoF;QACpF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC3B,CAAC,CACH;IACD,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjH,mFAAmF;IACnF,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAChF,+CAA+C;IAC/C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF,8FAA8F;IAC9F,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,mCAAmC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeolus-fleet/common",
3
- "version": "0.17.3",
3
+ "version": "0.19.0",
4
4
  "description": "Aeolus shared schemas, prefixed ids and types.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -24,7 +24,9 @@
24
24
  ],
25
25
  "scripts": {
26
26
  "build": "tsc --project tsconfig.build.json",
27
- "typecheck": "tsc --project tsconfig.json"
27
+ "typecheck": "tsc --project tsconfig.json",
28
+ "prepack": "cp ../../LICENSE LICENSE",
29
+ "postpack": "rm LICENSE"
28
30
  },
29
31
  "dependencies": {
30
32
  "zod": "^4.6.5"
@@ -1,130 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * The trierarch protocol (docs/trierarch.md, decision 0027): fleet messages
4
- * to and from a trierarch's ship. Aeolus reads none of them. The core is
5
- * fixed for every dispatcher; each harness's options are open, described by
6
- * the JSON Schema describe answers with. Every message refuses unknown
7
- * fields, so a dispatcher never ignores what a requester meant.
8
- */
9
- /** A message's content type, by convention: `application/vnd.aeolus.trierarch.<name>+json`. */
10
- export declare function trierarchContentType(name: string): string;
11
- /** The longest first prompt, in UTF-8 bytes: 8 KB, given on the first start only. */
12
- export declare const FIRST_PROMPT_MAX_BYTES = 8192;
13
- /** Where an entry stands in the trierarch's loop; running covers idle and busy. */
14
- export declare const TRIERARCH_ENTRY_STATES: readonly ["wanted", "crewing", "running", "restarting", "crashed", "releasing"];
15
- export declare const trierarchEntryStateSchema: z.ZodEnum<{
16
- running: "running";
17
- wanted: "wanted";
18
- crewing: "crewing";
19
- restarting: "restarting";
20
- crashed: "crashed";
21
- releasing: "releasing";
22
- }>;
23
- export type TrierarchEntryState = z.infer<typeof trierarchEntryStateSchema>;
24
- /** A new git worktree of a configured repository, or a configured folder used as it is: named, never a path. */
25
- export declare const trierarchWorkspaceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
26
- kind: z.ZodLiteral<"worktree">;
27
- repository: z.ZodString;
28
- ref: z.ZodOptional<z.ZodString>;
29
- }, z.core.$strict>, z.ZodObject<{
30
- kind: z.ZodLiteral<"folder">;
31
- name: z.ZodString;
32
- }, z.core.$strict>], "kind">;
33
- export type TrierarchWorkspace = z.infer<typeof trierarchWorkspaceSchema>;
34
- export declare const describeCommandSchema: z.ZodObject<{}, z.core.$strict>;
35
- export declare const describedAnswerSchema: z.ZodObject<{
36
- harnesses: z.ZodArray<z.ZodObject<{
37
- harness: z.ZodString;
38
- options: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
39
- flags: z.ZodArray<z.ZodString>;
40
- }, z.core.$strict>>;
41
- workspaces: z.ZodObject<{
42
- repositories: z.ZodArray<z.ZodString>;
43
- folders: z.ZodArray<z.ZodString>;
44
- }, z.core.$strict>;
45
- caps: z.ZodObject<{
46
- ships: z.ZodInt;
47
- running: z.ZodInt;
48
- }, z.core.$strict>;
49
- kept: z.ZodArray<z.ZodObject<{
50
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
51
- path: z.ZodString;
52
- }, z.core.$strict>>;
53
- version: z.ZodString;
54
- }, z.core.$strict>;
55
- export declare const wantCommandSchema: z.ZodObject<{
56
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
57
- harness: z.ZodString;
58
- workspace: z.ZodDiscriminatedUnion<[z.ZodObject<{
59
- kind: z.ZodLiteral<"worktree">;
60
- repository: z.ZodString;
61
- ref: z.ZodOptional<z.ZodString>;
62
- }, z.core.$strict>, z.ZodObject<{
63
- kind: z.ZodLiteral<"folder">;
64
- name: z.ZodString;
65
- }, z.core.$strict>], "kind">;
66
- squadron: z.ZodOptional<z.ZodString>;
67
- firstPrompt: z.ZodOptional<z.ZodString>;
68
- options: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
69
- }, z.core.$strict>;
70
- export type WantCommand = z.infer<typeof wantCommandSchema>;
71
- export declare const wantedAnswerSchema: z.ZodObject<{
72
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
73
- }, z.core.$strict>;
74
- export declare const refusedAnswerSchema: z.ZodObject<{
75
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
76
- field: z.ZodOptional<z.ZodString>;
77
- reason: z.ZodString;
78
- }, z.core.$strict>;
79
- export declare const releaseCommandSchema: z.ZodObject<{
80
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
81
- force: z.ZodOptional<z.ZodBoolean>;
82
- }, z.core.$strict>;
83
- export declare const releasedAnswerSchema: z.ZodObject<{
84
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
85
- workspace: z.ZodEnum<{
86
- kept: "kept";
87
- removed: "removed";
88
- }>;
89
- path: z.ZodOptional<z.ZodString>;
90
- }, z.core.$strict>;
91
- export declare const listCommandSchema: z.ZodObject<{}, z.core.$strict>;
92
- export declare const listedAnswerSchema: z.ZodObject<{
93
- ships: z.ZodArray<z.ZodObject<{
94
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
95
- harness: z.ZodString;
96
- state: z.ZodEnum<{
97
- running: "running";
98
- wanted: "wanted";
99
- crewing: "crewing";
100
- restarting: "restarting";
101
- crashed: "crashed";
102
- releasing: "releasing";
103
- }>;
104
- since: z.ZodISODateTime;
105
- restarts: z.ZodInt;
106
- }, z.core.$strict>>;
107
- kept: z.ZodArray<z.ZodObject<{
108
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
109
- path: z.ZodString;
110
- }, z.core.$strict>>;
111
- orphans: z.ZodArray<z.ZodObject<{
112
- path: z.ZodString;
113
- }, z.core.$strict>>;
114
- }, z.core.$strict>;
115
- export declare const runningNoticeSchema: z.ZodObject<{
116
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
117
- }, z.core.$strict>;
118
- export declare const crashedNoticeSchema: z.ZodObject<{
119
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
120
- exits: z.ZodInt;
121
- }, z.core.$strict>;
122
- export declare const leaseEndedNoticeSchema: z.ZodObject<{
123
- shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
124
- }, z.core.$strict>;
125
- /** The commands, by name: what a requester sends a trierarch. */
126
- export declare const trierarchCommandSchemas: Readonly<Record<string, z.ZodType>>;
127
- /** The answers, by name, each in reply to its command. */
128
- export declare const trierarchAnswerSchemas: Readonly<Record<string, z.ZodType>>;
129
- /** The notices, by name, unasked, to the ship that sent the want. */
130
- export declare const trierarchNoticeSchemas: Readonly<Record<string, z.ZodType>>;
@@ -1,109 +0,0 @@
1
- import { z } from 'zod';
2
- import { idSchema } from '../ids/index.js';
3
- import { shipHandleSchema } from '../schemas/fleet.js';
4
- import { harnessSchema } from '../schemas/ship.js';
5
- import { trierarchNameSchema } from './names.js';
6
- /**
7
- * The trierarch protocol (docs/trierarch.md, decision 0027): fleet messages
8
- * to and from a trierarch's ship. Aeolus reads none of them. The core is
9
- * fixed for every dispatcher; each harness's options are open, described by
10
- * the JSON Schema describe answers with. Every message refuses unknown
11
- * fields, so a dispatcher never ignores what a requester meant.
12
- */
13
- /** A message's content type, by convention: `application/vnd.aeolus.trierarch.<name>+json`. */
14
- export function trierarchContentType(name) {
15
- return `application/vnd.aeolus.trierarch.${name}+json`;
16
- }
17
- /** The longest first prompt, in UTF-8 bytes: 8 KB, given on the first start only. */
18
- export const FIRST_PROMPT_MAX_BYTES = 8192;
19
- const utf8 = new TextEncoder();
20
- /** Where an entry stands in the trierarch's loop; running covers idle and busy. */
21
- export const TRIERARCH_ENTRY_STATES = ['wanted', 'crewing', 'running', 'restarting', 'crashed', 'releasing'];
22
- export const trierarchEntryStateSchema = z.enum(TRIERARCH_ENTRY_STATES);
23
- const shipIdSchema = idSchema('ship');
24
- /** A new git worktree of a configured repository, or a configured folder used as it is: named, never a path. */
25
- export const trierarchWorkspaceSchema = z.discriminatedUnion('kind', [
26
- z.strictObject({ kind: z.literal('worktree'), repository: trierarchNameSchema, ref: z.string().min(1).optional() }),
27
- z.strictObject({ kind: z.literal('folder'), name: trierarchNameSchema }),
28
- ]);
29
- /** A worktree the trierarch kept because it had changes, until a human or a release with force clears it. */
30
- const keptWorktreeSchema = z.strictObject({ shipId: shipIdSchema, path: z.string().min(1) });
31
- export const describeCommandSchema = z.strictObject({});
32
- export const describedAnswerSchema = z.strictObject({
33
- harnesses: z.array(z.strictObject({
34
- harness: harnessSchema,
35
- /** The JSON Schema a want's options are checked against. */
36
- options: z.record(z.string(), z.json()),
37
- /** The flags every launch of this harness gets, as the configuration makes them. */
38
- flags: z.array(z.string()),
39
- })),
40
- workspaces: z.strictObject({ repositories: z.array(trierarchNameSchema), folders: z.array(trierarchNameSchema) }),
41
- caps: z.strictObject({ ships: z.int().positive(), running: z.int().positive() }),
42
- kept: z.array(keptWorktreeSchema),
43
- version: z.string().min(1),
44
- });
45
- export const wantCommandSchema = z.strictObject({
46
- shipId: shipIdSchema,
47
- harness: harnessSchema,
48
- workspace: trierarchWorkspaceSchema,
49
- /** The squadron the ship is a member of, so it checks in at its flagship as a crew line's squadron id does. */
50
- squadron: shipHandleSchema.optional(),
51
- firstPrompt: z
52
- .string()
53
- .min(1)
54
- .refine((prompt) => utf8.encode(prompt).byteLength <= FIRST_PROMPT_MAX_BYTES, `A first prompt is at most ${String(FIRST_PROMPT_MAX_BYTES)} bytes`)
55
- .optional(),
56
- /** Named settings from what describe offers; checked against its JSON Schema by the trierarch. */
57
- options: z.record(z.string(), z.json()),
58
- });
59
- export const wantedAnswerSchema = z.strictObject({ shipId: shipIdSchema });
60
- export const refusedAnswerSchema = z.strictObject({
61
- shipId: shipIdSchema,
62
- /** The field that was refused, such as `options.model`, when one was. */
63
- field: z.string().min(1).optional(),
64
- reason: z.string().min(1),
65
- });
66
- export const releaseCommandSchema = z.strictObject({ shipId: shipIdSchema, force: z.boolean().optional() });
67
- export const releasedAnswerSchema = z.strictObject({
68
- shipId: shipIdSchema,
69
- workspace: z.enum(['removed', 'kept']),
70
- path: z.string().min(1).optional(),
71
- });
72
- export const listCommandSchema = z.strictObject({});
73
- export const listedAnswerSchema = z.strictObject({
74
- ships: z.array(z.strictObject({
75
- shipId: shipIdSchema,
76
- harness: harnessSchema,
77
- state: trierarchEntryStateSchema,
78
- since: z.iso.datetime(),
79
- restarts: z.int().nonnegative(),
80
- })),
81
- kept: z.array(keptWorktreeSchema),
82
- /** Worktrees under the trierarch's root with no entry: reported, never deleted. */
83
- orphans: z.array(z.strictObject({ path: z.string().min(1) })),
84
- });
85
- export const runningNoticeSchema = z.strictObject({ shipId: shipIdSchema });
86
- export const crashedNoticeSchema = z.strictObject({ shipId: shipIdSchema, exits: z.int().positive() });
87
- export const leaseEndedNoticeSchema = z.strictObject({ shipId: shipIdSchema });
88
- /** The commands, by name: what a requester sends a trierarch. */
89
- export const trierarchCommandSchemas = {
90
- describe: describeCommandSchema,
91
- want: wantCommandSchema,
92
- release: releaseCommandSchema,
93
- list: listCommandSchema,
94
- };
95
- /** The answers, by name, each in reply to its command. */
96
- export const trierarchAnswerSchemas = {
97
- described: describedAnswerSchema,
98
- wanted: wantedAnswerSchema,
99
- refused: refusedAnswerSchema,
100
- released: releasedAnswerSchema,
101
- listed: listedAnswerSchema,
102
- };
103
- /** The notices, by name, unasked, to the ship that sent the want. */
104
- export const trierarchNoticeSchemas = {
105
- running: runningNoticeSchema,
106
- crashed: crashedNoticeSchema,
107
- leaseEnded: leaseEndedNoticeSchema,
108
- };
109
- //# sourceMappingURL=protocol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/trierarch/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;GAMG;AAEH,+FAA+F;AAC/F,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,oCAAoC,IAAI,OAAO,CAAC;AACzD,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAE/B,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AACtH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAGxE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEtC,gHAAgH;AAChH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACnE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IACnH,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;CACzE,CAAC,CAAC;AAGH,6GAA6G;AAC7G,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,KAAK,CAChB,CAAC,CAAC,YAAY,CAAC;QACb,OAAO,EAAE,aAAa;QACtB,4DAA4D;QAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,oFAAoF;QACpF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC3B,CAAC,CACH;IACD,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACjH,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,wBAAwB;IACnC,+GAA+G;IAC/G,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,IAAI,sBAAsB,EAAE,6BAA6B,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC;SACjJ,QAAQ,EAAE;IACb,kGAAkG;IAClG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;CACxC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IAChD,MAAM,EAAE,YAAY;IACpB,yEAAyE;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE5G,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IACjD,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,YAAY,CAAC;QACb,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;QACvB,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAChC,CAAC,CACH;IACD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACjC,mFAAmF;IACnF,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEvG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAE/E,iEAAiE;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAwC;IAC1E,QAAQ,EAAE,qBAAqB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,oBAAoB;IAC7B,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAwC;IACzE,SAAS,EAAE,qBAAqB;IAChC,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,oBAAoB;IAC9B,MAAM,EAAE,kBAAkB;CAC3B,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAwC;IACzE,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,UAAU,EAAE,sBAAsB;CACnC,CAAC"}