@aaronsb/kg-cli 0.6.6 → 0.7.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 (96) hide show
  1. package/dist/api/client.d.ts +127 -1
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +147 -0
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/cli/batch.d.ts +8 -0
  6. package/dist/cli/batch.d.ts.map +1 -0
  7. package/dist/cli/batch.js +225 -0
  8. package/dist/cli/batch.js.map +1 -0
  9. package/dist/cli/commands.d.ts.map +1 -1
  10. package/dist/cli/commands.js +8 -0
  11. package/dist/cli/commands.js.map +1 -1
  12. package/dist/cli/concept.d.ts +9 -0
  13. package/dist/cli/concept.d.ts.map +1 -0
  14. package/dist/cli/concept.js +336 -0
  15. package/dist/cli/concept.js.map +1 -0
  16. package/dist/cli/edge.d.ts +9 -0
  17. package/dist/cli/edge.d.ts.map +1 -0
  18. package/dist/cli/edge.js +364 -0
  19. package/dist/cli/edge.js.map +1 -0
  20. package/dist/cli/jobs.js +111 -3
  21. package/dist/cli/jobs.js.map +1 -1
  22. package/dist/cli/storage.d.ts +10 -0
  23. package/dist/cli/storage.d.ts.map +1 -0
  24. package/dist/cli/storage.js +260 -0
  25. package/dist/cli/storage.js.map +1 -0
  26. package/dist/cli/vocabulary/index.d.ts.map +1 -1
  27. package/dist/cli/vocabulary/index.js +1 -0
  28. package/dist/cli/vocabulary/index.js.map +1 -1
  29. package/dist/cli/vocabulary/similarity.d.ts +1 -0
  30. package/dist/cli/vocabulary/similarity.d.ts.map +1 -1
  31. package/dist/cli/vocabulary/similarity.js +60 -9
  32. package/dist/cli/vocabulary/similarity.js.map +1 -1
  33. package/dist/lib/interactive.d.ts +84 -0
  34. package/dist/lib/interactive.d.ts.map +1 -0
  35. package/dist/lib/interactive.js +296 -0
  36. package/dist/lib/interactive.js.map +1 -0
  37. package/dist/lib/validation.d.ts +106 -0
  38. package/dist/lib/validation.d.ts.map +1 -0
  39. package/dist/lib/validation.js +354 -0
  40. package/dist/lib/validation.js.map +1 -0
  41. package/dist/mcp/formatters/concept.d.ts +24 -0
  42. package/dist/mcp/formatters/concept.d.ts.map +1 -0
  43. package/dist/mcp/formatters/concept.js +243 -0
  44. package/dist/mcp/formatters/concept.js.map +1 -0
  45. package/dist/mcp/formatters/document.d.ts +25 -0
  46. package/dist/mcp/formatters/document.d.ts.map +1 -0
  47. package/dist/mcp/formatters/document.js +178 -0
  48. package/dist/mcp/formatters/document.js.map +1 -0
  49. package/dist/mcp/formatters/epistemic.d.ts +16 -0
  50. package/dist/mcp/formatters/epistemic.d.ts.map +1 -0
  51. package/dist/mcp/formatters/epistemic.js +269 -0
  52. package/dist/mcp/formatters/epistemic.js.map +1 -0
  53. package/dist/mcp/formatters/graph.d.ts +63 -0
  54. package/dist/mcp/formatters/graph.d.ts.map +1 -0
  55. package/dist/mcp/formatters/graph.js +220 -0
  56. package/dist/mcp/formatters/graph.js.map +1 -0
  57. package/dist/mcp/formatters/index.d.ts +18 -0
  58. package/dist/mcp/formatters/index.d.ts.map +1 -0
  59. package/dist/mcp/formatters/index.js +63 -0
  60. package/dist/mcp/formatters/index.js.map +1 -0
  61. package/dist/mcp/formatters/ingest.d.ts +16 -0
  62. package/dist/mcp/formatters/ingest.d.ts.map +1 -0
  63. package/dist/mcp/formatters/ingest.js +169 -0
  64. package/dist/mcp/formatters/ingest.js.map +1 -0
  65. package/dist/mcp/formatters/job.d.ts +13 -0
  66. package/dist/mcp/formatters/job.d.ts.map +1 -0
  67. package/dist/mcp/formatters/job.js +204 -0
  68. package/dist/mcp/formatters/job.js.map +1 -0
  69. package/dist/mcp/formatters/source.d.ts +19 -0
  70. package/dist/mcp/formatters/source.d.ts.map +1 -0
  71. package/dist/mcp/formatters/source.js +182 -0
  72. package/dist/mcp/formatters/source.js.map +1 -0
  73. package/dist/mcp/formatters/system.d.ts +10 -0
  74. package/dist/mcp/formatters/system.d.ts.map +1 -0
  75. package/dist/mcp/formatters/system.js +152 -0
  76. package/dist/mcp/formatters/system.js.map +1 -0
  77. package/dist/mcp/formatters/utils.d.ts +17 -0
  78. package/dist/mcp/formatters/utils.d.ts.map +1 -0
  79. package/dist/mcp/formatters/utils.js +55 -0
  80. package/dist/mcp/formatters/utils.js.map +1 -0
  81. package/dist/mcp/graph-operations.d.ts +242 -0
  82. package/dist/mcp/graph-operations.d.ts.map +1 -0
  83. package/dist/mcp/graph-operations.js +532 -0
  84. package/dist/mcp/graph-operations.js.map +1 -0
  85. package/dist/mcp-server.js +460 -32
  86. package/dist/mcp-server.js.map +1 -1
  87. package/dist/types/index.d.ts +153 -0
  88. package/dist/types/index.d.ts.map +1 -1
  89. package/dist/version.d.ts +3 -3
  90. package/dist/version.js +3 -3
  91. package/dist/version.js.map +1 -1
  92. package/package.json +1 -1
  93. package/dist/mcp/formatters.d.ts +0 -100
  94. package/dist/mcp/formatters.d.ts.map +0 -1
  95. package/dist/mcp/formatters.js +0 -1411
  96. package/dist/mcp/formatters.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * Shared utilities for MCP formatters
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatGroundingStrength = formatGroundingStrength;
7
+ exports.formatGroundingWithConfidence = formatGroundingWithConfidence;
8
+ /**
9
+ * Format grounding strength as text (token-efficient)
10
+ * This is the fallback when grounding_display is not available.
11
+ */
12
+ function formatGroundingStrength(grounding) {
13
+ const groundingValue = grounding.toFixed(3);
14
+ const percentValue = grounding * 100;
15
+ // Use ≈ symbol when value is very close to zero but not exactly zero
16
+ const groundingPercent = (Math.abs(percentValue) < 0.1 && percentValue !== 0)
17
+ ? `≈${percentValue >= 0 ? '0' : '-0'}`
18
+ : percentValue.toFixed(0);
19
+ let level;
20
+ if (grounding >= 0.7)
21
+ level = 'Strong';
22
+ else if (grounding >= 0.3)
23
+ level = 'Moderate';
24
+ else if (grounding >= 0)
25
+ level = 'Weak';
26
+ else if (grounding >= -0.3)
27
+ level = 'Negative';
28
+ else
29
+ level = 'Contradicted';
30
+ return `${level} (${groundingValue}, ${groundingPercent}%)`;
31
+ }
32
+ /**
33
+ * Format grounding with confidence-awareness (grounding × confidence two-dimensional model)
34
+ *
35
+ * Uses grounding_display when available (categorical label from API).
36
+ * Includes numeric confidence_score alongside the label for quantitative insight.
37
+ * Falls back to raw grounding score display for backwards compatibility.
38
+ */
39
+ function formatGroundingWithConfidence(grounding, groundingDisplay, confidenceScore = null) {
40
+ // Format confidence score as percentage if available
41
+ const confScoreStr = confidenceScore !== undefined && confidenceScore !== null
42
+ ? ` [${(confidenceScore * 100).toFixed(0)}% conf]`
43
+ : '';
44
+ // If we have a grounding_display label from the API, use it directly
45
+ if (groundingDisplay) {
46
+ return `${groundingDisplay}${confScoreStr}`;
47
+ }
48
+ // Fall back to raw grounding score display if available
49
+ if (grounding !== undefined && grounding !== null) {
50
+ return formatGroundingStrength(grounding);
51
+ }
52
+ // No grounding information available
53
+ return 'Unexplored';
54
+ }
55
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/formatters/utils.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAMH,0DAiBC;AASD,sEAsBC;AApDD;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,SAAS,GAAG,GAAG,CAAC;IAErC,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,YAAY,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;QACtC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,KAAa,CAAC;IAClB,IAAI,SAAS,IAAI,GAAG;QAAE,KAAK,GAAG,QAAQ,CAAC;SAClC,IAAI,SAAS,IAAI,GAAG;QAAE,KAAK,GAAG,UAAU,CAAC;SACzC,IAAI,SAAS,IAAI,CAAC;QAAE,KAAK,GAAG,MAAM,CAAC;SACnC,IAAI,SAAS,IAAI,CAAC,GAAG;QAAE,KAAK,GAAG,UAAU,CAAC;;QAC1C,KAAK,GAAG,cAAc,CAAC;IAE5B,OAAO,GAAG,KAAK,KAAK,cAAc,KAAK,gBAAgB,IAAI,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAC3C,SAAoC,EACpC,gBAA2C,EAC3C,kBAA6C,IAAI;IAEjD,qDAAqD;IACrD,MAAM,YAAY,GAAG,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI;QAC5E,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAClD,CAAC,CAAC,EAAE,CAAC;IAEP,qEAAqE;IACrE,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,GAAG,gBAAgB,GAAG,YAAY,EAAE,CAAC;IAC9C,CAAC;IAED,wDAAwD;IACxD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,qCAAqC;IACrC,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * GraphOperationExecutor - Handles graph CRUD operations for MCP tool
3
+ * ADR-089 Phase 3a refactoring: Extracted from mcp-server.ts handler
4
+ */
5
+ import type { KnowledgeGraphClient } from '../api/client';
6
+ import type { MatchingMode, ConceptCRUDResponse, EdgeResponse, ConceptListCRUDResponse, EdgeListResponse } from '../types';
7
+ /**
8
+ * Entity types for graph operations.
9
+ */
10
+ export type GraphEntity = 'concept' | 'edge';
11
+ /**
12
+ * Action types for graph operations.
13
+ */
14
+ export type GraphAction = 'create' | 'edit' | 'delete' | 'list';
15
+ /**
16
+ * Base operation result with status.
17
+ */
18
+ export interface OperationResult {
19
+ success: boolean;
20
+ error?: string;
21
+ }
22
+ /**
23
+ * Result from concept create/edit/delete operations.
24
+ */
25
+ export interface ConceptOperationResult extends OperationResult {
26
+ data?: ConceptCRUDResponse & {
27
+ from_label?: string;
28
+ to_label?: string;
29
+ };
30
+ }
31
+ /**
32
+ * Result from edge create/edit/delete operations.
33
+ */
34
+ export interface EdgeOperationResult extends OperationResult {
35
+ data?: EdgeResponse & {
36
+ from_label?: string;
37
+ to_label?: string;
38
+ };
39
+ }
40
+ /**
41
+ * Result from concept list operation.
42
+ */
43
+ export interface ConceptListResult extends OperationResult {
44
+ data?: ConceptListCRUDResponse;
45
+ }
46
+ /**
47
+ * Result from edge list operation.
48
+ */
49
+ export interface EdgeListResult extends OperationResult {
50
+ data?: EdgeListResponse;
51
+ }
52
+ /**
53
+ * Parameters for creating a concept.
54
+ */
55
+ export interface CreateConceptParams {
56
+ label: string;
57
+ ontology: string;
58
+ description?: string;
59
+ search_terms?: string[];
60
+ matching_mode?: MatchingMode;
61
+ }
62
+ /**
63
+ * Parameters for creating an edge.
64
+ */
65
+ export interface CreateEdgeParams {
66
+ from_concept_id?: string;
67
+ from_label?: string;
68
+ to_concept_id?: string;
69
+ to_label?: string;
70
+ relationship_type: string;
71
+ category?: string;
72
+ confidence?: number;
73
+ }
74
+ /**
75
+ * Parameters for editing a concept.
76
+ */
77
+ export interface EditConceptParams {
78
+ concept_id: string;
79
+ label?: string;
80
+ description?: string;
81
+ search_terms?: string[];
82
+ }
83
+ /**
84
+ * Parameters for editing an edge.
85
+ */
86
+ export interface EditEdgeParams {
87
+ from_concept_id?: string;
88
+ from_label?: string;
89
+ to_concept_id?: string;
90
+ to_label?: string;
91
+ relationship_type: string;
92
+ confidence?: number;
93
+ category?: string;
94
+ }
95
+ /**
96
+ * Parameters for deleting a concept.
97
+ */
98
+ export interface DeleteConceptParams {
99
+ concept_id: string;
100
+ cascade?: boolean;
101
+ }
102
+ /**
103
+ * Parameters for deleting an edge.
104
+ */
105
+ export interface DeleteEdgeParams {
106
+ from_concept_id?: string;
107
+ from_label?: string;
108
+ to_concept_id?: string;
109
+ to_label?: string;
110
+ relationship_type: string;
111
+ }
112
+ /**
113
+ * Parameters for listing concepts.
114
+ */
115
+ export interface ListConceptsParams {
116
+ ontology?: string;
117
+ label_contains?: string;
118
+ creation_method?: string;
119
+ offset?: number;
120
+ limit?: number;
121
+ }
122
+ /**
123
+ * Parameters for listing edges.
124
+ */
125
+ export interface ListEdgesParams {
126
+ from_concept_id?: string;
127
+ from_label?: string;
128
+ to_concept_id?: string;
129
+ to_label?: string;
130
+ relationship_type?: string;
131
+ category?: string;
132
+ source?: string;
133
+ offset?: number;
134
+ limit?: number;
135
+ }
136
+ /**
137
+ * Queue operation definition.
138
+ */
139
+ export interface QueueOperation {
140
+ op: GraphAction;
141
+ entity: GraphEntity;
142
+ label?: string;
143
+ ontology?: string;
144
+ description?: string;
145
+ search_terms?: string[];
146
+ matching_mode?: MatchingMode;
147
+ concept_id?: string;
148
+ cascade?: boolean;
149
+ label_contains?: string;
150
+ creation_method?: string;
151
+ from_concept_id?: string;
152
+ from_label?: string;
153
+ to_concept_id?: string;
154
+ to_label?: string;
155
+ relationship_type?: string;
156
+ category?: string;
157
+ confidence?: number;
158
+ source?: string;
159
+ offset?: number;
160
+ limit?: number;
161
+ }
162
+ /**
163
+ * Result from a single queue operation.
164
+ */
165
+ export interface QueueOperationResult {
166
+ index: number;
167
+ status: 'ok' | 'error';
168
+ op: string;
169
+ entity: string;
170
+ label?: string;
171
+ id?: string;
172
+ relationship?: string;
173
+ count?: number;
174
+ total?: number;
175
+ matched_existing?: boolean;
176
+ concepts?: Array<{
177
+ id: string;
178
+ label: string;
179
+ }>;
180
+ edges?: Array<{
181
+ from: string;
182
+ type: string;
183
+ to: string;
184
+ }>;
185
+ error?: string;
186
+ }
187
+ /**
188
+ * Result from queue execution.
189
+ */
190
+ export interface QueueExecutionResult {
191
+ results: QueueOperationResult[];
192
+ stopIndex: number;
193
+ successCount: number;
194
+ errorCount: number;
195
+ }
196
+ /**
197
+ * Executes graph CRUD operations with semantic resolution support.
198
+ */
199
+ export declare class GraphOperationExecutor {
200
+ private client;
201
+ constructor(client: KnowledgeGraphClient);
202
+ /**
203
+ * Resolve a concept label to its ID using semantic search.
204
+ * @param label - The concept label to resolve
205
+ * @returns The concept ID
206
+ * @throws Error if no confident match found
207
+ */
208
+ resolveConceptByLabel(label: string): Promise<string>;
209
+ /**
210
+ * Resolve concept ID from params, using label resolution if needed.
211
+ * @param id - Explicit concept ID (optional)
212
+ * @param label - Concept label for resolution (optional)
213
+ * @param fieldName - Name of the field for error messages
214
+ * @param throwOnMissing - Whether to throw if neither ID nor label provided
215
+ * @returns The resolved concept ID or undefined
216
+ */
217
+ resolveConceptId(id: string | undefined, label: string | undefined, fieldName: string, throwOnMissing?: boolean): Promise<string | undefined>;
218
+ /**
219
+ * Resolve concept ID for list operations (silently skip on error).
220
+ */
221
+ resolveConceptIdForList(id: string | undefined, label: string | undefined): Promise<string | undefined>;
222
+ createConcept(params: CreateConceptParams): Promise<ConceptOperationResult>;
223
+ createEdge(params: CreateEdgeParams): Promise<EdgeOperationResult>;
224
+ listConcepts(params: ListConceptsParams): Promise<ConceptListResult>;
225
+ listEdges(params: ListEdgesParams): Promise<EdgeListResult>;
226
+ editConcept(params: EditConceptParams): Promise<ConceptOperationResult>;
227
+ editEdge(params: EditEdgeParams): Promise<EdgeOperationResult>;
228
+ deleteConcept(params: DeleteConceptParams): Promise<ConceptOperationResult>;
229
+ deleteEdge(params: DeleteEdgeParams): Promise<EdgeOperationResult>;
230
+ /**
231
+ * Execute a queue of operations sequentially.
232
+ * @param operations - Array of operations to execute
233
+ * @param continueOnError - Whether to continue after errors
234
+ * @returns Queue execution result with all operation results
235
+ */
236
+ executeQueue(operations: QueueOperation[], continueOnError?: boolean): Promise<QueueExecutionResult>;
237
+ /**
238
+ * Execute a single queue operation.
239
+ */
240
+ private executeSingleOperation;
241
+ }
242
+ //# sourceMappingURL=graph-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-operations.d.ts","sourceRoot":"","sources":["../../src/mcp/graph-operations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AA+BlB;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,IAAI,CAAC,EAAE,mBAAmB,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,IAAI,CAAC,EAAE,YAAY,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IAEpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IAEf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,oBAAoB;IAIxC;;;;;OAKG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB3D;;;;;;;OAOG;IACG,gBAAgB,CACpB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,OAAc,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAa9B;;OAEG;IACG,uBAAuB,CAC3B,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAiBxB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyB3E,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0ClE,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiBpE,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA8B3D,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0BvE,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkD9D,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAc3E,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmCxE;;;;;OAKG;IACG,YAAY,CAChB,UAAU,EAAE,cAAc,EAAE,EAC5B,eAAe,GAAE,OAAe,GAC/B,OAAO,CAAC,oBAAoB,CAAC;IAsDhC;;OAEG;YACW,sBAAsB;CAwMrC"}