claude-flow 2.0.0-alpha.65 → 2.0.0-alpha.67

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 (112) hide show
  1. package/.claude/cache/agent-pool.json +33 -0
  2. package/.claude/cache/memory-optimization.json +19 -0
  3. package/.claude/cache/neural-optimization.json +25 -0
  4. package/.claude/cache/optimized-hooks.json +19 -0
  5. package/.claude/cache/parallel-processing.json +26 -0
  6. package/.claude/optimized-settings.json +270 -0
  7. package/.claude/settings-enhanced.json +278 -0
  8. package/.claude/settings.json +105 -8
  9. package/CHANGELOG.md +40 -0
  10. package/bin/claude-flow +1 -1
  11. package/dist/cli/simple-commands/hive-mind.js +1 -1
  12. package/dist/cli/simple-commands/hive-mind.js.map +1 -1
  13. package/dist/cli/simple-commands/hooks.js +6 -4
  14. package/dist/cli/simple-commands/hooks.js.map +1 -1
  15. package/dist/providers/anthropic-provider.d.ts +27 -0
  16. package/dist/providers/anthropic-provider.d.ts.map +1 -0
  17. package/dist/providers/anthropic-provider.js +247 -0
  18. package/dist/providers/anthropic-provider.js.map +1 -0
  19. package/dist/providers/base-provider.d.ts +134 -0
  20. package/dist/providers/base-provider.d.ts.map +1 -0
  21. package/dist/providers/base-provider.js +407 -0
  22. package/dist/providers/base-provider.js.map +1 -0
  23. package/dist/providers/cohere-provider.d.ts +28 -0
  24. package/dist/providers/cohere-provider.d.ts.map +1 -0
  25. package/dist/providers/cohere-provider.js +407 -0
  26. package/dist/providers/cohere-provider.js.map +1 -0
  27. package/dist/providers/google-provider.d.ts +23 -0
  28. package/dist/providers/google-provider.d.ts.map +1 -0
  29. package/dist/providers/google-provider.js +362 -0
  30. package/dist/providers/google-provider.js.map +1 -0
  31. package/dist/providers/index.d.ts +14 -0
  32. package/dist/providers/index.d.ts.map +1 -0
  33. package/dist/providers/index.js +18 -0
  34. package/dist/providers/index.js.map +1 -0
  35. package/dist/providers/ollama-provider.d.ts +23 -0
  36. package/dist/providers/ollama-provider.d.ts.map +1 -0
  37. package/dist/providers/ollama-provider.js +374 -0
  38. package/dist/providers/ollama-provider.js.map +1 -0
  39. package/dist/providers/openai-provider.d.ts +23 -0
  40. package/dist/providers/openai-provider.d.ts.map +1 -0
  41. package/dist/providers/openai-provider.js +349 -0
  42. package/dist/providers/openai-provider.js.map +1 -0
  43. package/dist/providers/provider-manager.d.ts +139 -0
  44. package/dist/providers/provider-manager.d.ts.map +1 -0
  45. package/dist/providers/provider-manager.js +513 -0
  46. package/dist/providers/provider-manager.js.map +1 -0
  47. package/dist/providers/types.d.ts +356 -0
  48. package/dist/providers/types.d.ts.map +1 -0
  49. package/dist/providers/types.js +61 -0
  50. package/dist/providers/types.js.map +1 -0
  51. package/dist/providers/utils.d.ts +37 -0
  52. package/dist/providers/utils.d.ts.map +1 -0
  53. package/dist/providers/utils.js +322 -0
  54. package/dist/providers/utils.js.map +1 -0
  55. package/dist/services/agentic-flow-hooks/hook-manager.d.ts +70 -0
  56. package/dist/services/agentic-flow-hooks/hook-manager.d.ts.map +1 -0
  57. package/dist/services/agentic-flow-hooks/hook-manager.js +512 -0
  58. package/dist/services/agentic-flow-hooks/hook-manager.js.map +1 -0
  59. package/dist/services/agentic-flow-hooks/index.d.ts +36 -0
  60. package/dist/services/agentic-flow-hooks/index.d.ts.map +1 -0
  61. package/dist/services/agentic-flow-hooks/index.js +325 -0
  62. package/dist/services/agentic-flow-hooks/index.js.map +1 -0
  63. package/dist/services/agentic-flow-hooks/llm-hooks.d.ts +33 -0
  64. package/dist/services/agentic-flow-hooks/llm-hooks.d.ts.map +1 -0
  65. package/dist/services/agentic-flow-hooks/llm-hooks.js +415 -0
  66. package/dist/services/agentic-flow-hooks/llm-hooks.js.map +1 -0
  67. package/dist/services/agentic-flow-hooks/memory-hooks.d.ts +45 -0
  68. package/dist/services/agentic-flow-hooks/memory-hooks.d.ts.map +1 -0
  69. package/dist/services/agentic-flow-hooks/memory-hooks.js +532 -0
  70. package/dist/services/agentic-flow-hooks/memory-hooks.js.map +1 -0
  71. package/dist/services/agentic-flow-hooks/neural-hooks.d.ts +39 -0
  72. package/dist/services/agentic-flow-hooks/neural-hooks.d.ts.map +1 -0
  73. package/dist/services/agentic-flow-hooks/neural-hooks.js +561 -0
  74. package/dist/services/agentic-flow-hooks/neural-hooks.js.map +1 -0
  75. package/dist/services/agentic-flow-hooks/performance-hooks.d.ts +33 -0
  76. package/dist/services/agentic-flow-hooks/performance-hooks.d.ts.map +1 -0
  77. package/dist/services/agentic-flow-hooks/performance-hooks.js +621 -0
  78. package/dist/services/agentic-flow-hooks/performance-hooks.js.map +1 -0
  79. package/dist/services/agentic-flow-hooks/types.d.ts +379 -0
  80. package/dist/services/agentic-flow-hooks/types.d.ts.map +1 -0
  81. package/dist/services/agentic-flow-hooks/types.js +8 -0
  82. package/dist/services/agentic-flow-hooks/types.js.map +1 -0
  83. package/dist/services/agentic-flow-hooks/workflow-hooks.d.ts +39 -0
  84. package/dist/services/agentic-flow-hooks/workflow-hooks.d.ts.map +1 -0
  85. package/dist/services/agentic-flow-hooks/workflow-hooks.js +742 -0
  86. package/dist/services/agentic-flow-hooks/workflow-hooks.js.map +1 -0
  87. package/package.json +2 -2
  88. package/scripts/install-arm64.js +78 -0
  89. package/scripts/optimize-performance.js +400 -0
  90. package/scripts/performance-monitor.js +263 -0
  91. package/src/cli/help-text.js +1 -1
  92. package/src/cli/simple-cli.js +1 -1
  93. package/src/cli/simple-commands/hive-mind.js +1 -1
  94. package/src/cli/simple-commands/hooks.js +8 -6
  95. package/src/providers/anthropic-provider.ts +282 -0
  96. package/src/providers/base-provider.ts +560 -0
  97. package/src/providers/cohere-provider.ts +521 -0
  98. package/src/providers/google-provider.ts +477 -0
  99. package/src/providers/index.ts +21 -0
  100. package/src/providers/ollama-provider.ts +489 -0
  101. package/src/providers/openai-provider.ts +476 -0
  102. package/src/providers/provider-manager.ts +654 -0
  103. package/src/providers/types.ts +531 -0
  104. package/src/providers/utils.ts +376 -0
  105. package/src/services/agentic-flow-hooks/hook-manager.ts +701 -0
  106. package/src/services/agentic-flow-hooks/index.ts +386 -0
  107. package/src/services/agentic-flow-hooks/llm-hooks.ts +557 -0
  108. package/src/services/agentic-flow-hooks/memory-hooks.ts +710 -0
  109. package/src/services/agentic-flow-hooks/neural-hooks.ts +758 -0
  110. package/src/services/agentic-flow-hooks/performance-hooks.ts +827 -0
  111. package/src/services/agentic-flow-hooks/types.ts +503 -0
  112. package/src/services/agentic-flow-hooks/workflow-hooks.ts +1026 -0
@@ -0,0 +1,322 @@
1
+ /**
2
+ * Utility functions for multi-LLM provider system
3
+ */
4
+ import { ProviderManager } from './provider-manager.js';
5
+ /**
6
+ * Create a provider manager with default configuration
7
+ */
8
+ export function createProviderManager(logger, configManager, customConfig) {
9
+ const defaultConfig = getDefaultProviderConfig();
10
+ const config = { ...defaultConfig, ...customConfig };
11
+ // Load provider configs from environment
12
+ config.providers = loadProviderConfigs(config.providers);
13
+ return new ProviderManager(logger, configManager, config);
14
+ }
15
+ /**
16
+ * Get default provider configuration
17
+ */
18
+ export function getDefaultProviderConfig() {
19
+ const defaultProvider = process.env.DEFAULT_LLM_PROVIDER || 'anthropic';
20
+ return {
21
+ defaultProvider,
22
+ providers: {
23
+ anthropic: {
24
+ provider: 'anthropic',
25
+ apiKey: process.env.ANTHROPIC_API_KEY,
26
+ model: 'claude-3-sonnet-20240229',
27
+ temperature: 0.7,
28
+ maxTokens: 4096,
29
+ enableStreaming: true,
30
+ enableCaching: true,
31
+ timeout: 60000,
32
+ retryAttempts: 3,
33
+ },
34
+ openai: {
35
+ provider: 'openai',
36
+ apiKey: process.env.OPENAI_API_KEY,
37
+ model: 'gpt-4-turbo-preview',
38
+ temperature: 0.7,
39
+ maxTokens: 4096,
40
+ enableStreaming: true,
41
+ enableCaching: true,
42
+ timeout: 60000,
43
+ retryAttempts: 3,
44
+ },
45
+ google: {
46
+ provider: 'google',
47
+ apiKey: process.env.GOOGLE_AI_API_KEY,
48
+ model: 'gemini-pro',
49
+ temperature: 0.7,
50
+ maxTokens: 2048,
51
+ enableStreaming: true,
52
+ enableCaching: true,
53
+ timeout: 60000,
54
+ retryAttempts: 3,
55
+ },
56
+ cohere: {
57
+ provider: 'cohere',
58
+ apiKey: process.env.COHERE_API_KEY,
59
+ model: 'command',
60
+ temperature: 0.7,
61
+ maxTokens: 4096,
62
+ enableStreaming: true,
63
+ enableCaching: true,
64
+ timeout: 60000,
65
+ retryAttempts: 3,
66
+ },
67
+ ollama: {
68
+ provider: 'ollama',
69
+ apiUrl: process.env.OLLAMA_API_URL || 'http://localhost:11434',
70
+ model: 'llama-2-7b',
71
+ temperature: 0.7,
72
+ maxTokens: 2048,
73
+ enableStreaming: true,
74
+ enableCaching: false,
75
+ timeout: 120000, // Longer timeout for local models
76
+ retryAttempts: 2,
77
+ },
78
+ },
79
+ fallbackStrategy: getDefaultFallbackStrategy(),
80
+ loadBalancing: {
81
+ enabled: false,
82
+ strategy: 'round-robin',
83
+ },
84
+ costOptimization: {
85
+ enabled: true,
86
+ maxCostPerRequest: 1.0, // $1 max per request
87
+ preferredProviders: ['anthropic', 'openai'],
88
+ },
89
+ caching: {
90
+ enabled: true,
91
+ ttl: 3600, // 1 hour
92
+ maxSize: 100, // 100MB
93
+ strategy: 'lru',
94
+ },
95
+ monitoring: {
96
+ enabled: true,
97
+ metricsInterval: 60000, // 1 minute
98
+ },
99
+ };
100
+ }
101
+ /**
102
+ * Get default fallback strategy
103
+ */
104
+ function getDefaultFallbackStrategy() {
105
+ return {
106
+ name: 'default',
107
+ enabled: true,
108
+ maxAttempts: 3,
109
+ rules: [
110
+ {
111
+ condition: 'rate_limit',
112
+ fallbackProviders: ['openai', 'google', 'cohere', 'ollama'],
113
+ retryOriginal: true,
114
+ retryDelay: 60000, // 1 minute
115
+ },
116
+ {
117
+ condition: 'unavailable',
118
+ fallbackProviders: ['openai', 'google', 'anthropic', 'cohere'],
119
+ retryOriginal: true,
120
+ retryDelay: 30000, // 30 seconds
121
+ },
122
+ {
123
+ condition: 'timeout',
124
+ fallbackProviders: ['anthropic', 'openai', 'cohere'],
125
+ retryOriginal: false,
126
+ },
127
+ {
128
+ condition: 'cost',
129
+ fallbackProviders: ['ollama', 'cohere', 'google'],
130
+ retryOriginal: false,
131
+ },
132
+ {
133
+ condition: 'error',
134
+ errorCodes: ['AUTHENTICATION', 'MODEL_NOT_FOUND'],
135
+ fallbackProviders: [],
136
+ retryOriginal: false, // Don't retry auth errors
137
+ },
138
+ ],
139
+ };
140
+ }
141
+ /**
142
+ * Load provider configurations from environment variables
143
+ */
144
+ function loadProviderConfigs(configs) {
145
+ const loaded = { ...configs };
146
+ // Override with environment variables if present
147
+ for (const [provider, config] of Object.entries(loaded)) {
148
+ const envPrefix = `${provider.toUpperCase()}_`;
149
+ // Check for provider-specific overrides
150
+ if (process.env[`${envPrefix}MODEL`]) {
151
+ config.model = process.env[`${envPrefix}MODEL`];
152
+ }
153
+ if (process.env[`${envPrefix}TEMPERATURE`]) {
154
+ config.temperature = parseFloat(process.env[`${envPrefix}TEMPERATURE`]);
155
+ }
156
+ if (process.env[`${envPrefix}MAX_TOKENS`]) {
157
+ config.maxTokens = parseInt(process.env[`${envPrefix}MAX_TOKENS`], 10);
158
+ }
159
+ if (process.env[`${envPrefix}API_URL`]) {
160
+ config.apiUrl = process.env[`${envPrefix}API_URL`];
161
+ }
162
+ }
163
+ return loaded;
164
+ }
165
+ /**
166
+ * Validate provider configuration
167
+ */
168
+ export function validateProviderConfig(config) {
169
+ const errors = [];
170
+ if (!config.provider) {
171
+ errors.push('Provider name is required');
172
+ }
173
+ if (!config.model) {
174
+ errors.push('Model is required');
175
+ }
176
+ if (config.temperature !== undefined) {
177
+ if (config.temperature < 0 || config.temperature > 2) {
178
+ errors.push('Temperature must be between 0 and 2');
179
+ }
180
+ }
181
+ if (config.maxTokens !== undefined) {
182
+ if (config.maxTokens < 1 || config.maxTokens > 100000) {
183
+ errors.push('Max tokens must be between 1 and 100000');
184
+ }
185
+ }
186
+ if (config.topP !== undefined) {
187
+ if (config.topP < 0 || config.topP > 1) {
188
+ errors.push('Top-p must be between 0 and 1');
189
+ }
190
+ }
191
+ if (config.timeout !== undefined) {
192
+ if (config.timeout < 1000 || config.timeout > 600000) {
193
+ errors.push('Timeout must be between 1000ms and 600000ms');
194
+ }
195
+ }
196
+ return errors;
197
+ }
198
+ /**
199
+ * Get model recommendations based on use case
200
+ */
201
+ export function getModelRecommendations(useCase) {
202
+ const recommendations = {
203
+ 'code-generation': [
204
+ {
205
+ provider: 'anthropic',
206
+ model: 'claude-3-opus-20240229',
207
+ reasoning: 'Best for complex code generation with high accuracy',
208
+ },
209
+ {
210
+ provider: 'openai',
211
+ model: 'gpt-4-turbo-preview',
212
+ reasoning: 'Excellent code generation with function calling support',
213
+ },
214
+ ],
215
+ 'chat': [
216
+ {
217
+ provider: 'anthropic',
218
+ model: 'claude-3-sonnet-20240229',
219
+ reasoning: 'Balanced performance for conversational AI',
220
+ },
221
+ {
222
+ provider: 'openai',
223
+ model: 'gpt-3.5-turbo',
224
+ reasoning: 'Fast and cost-effective for chat applications',
225
+ },
226
+ ],
227
+ 'analysis': [
228
+ {
229
+ provider: 'anthropic',
230
+ model: 'claude-3-opus-20240229',
231
+ reasoning: 'Excellent for deep analysis and reasoning',
232
+ },
233
+ {
234
+ provider: 'google',
235
+ model: 'gemini-pro',
236
+ reasoning: 'Good for data analysis with multimodal support',
237
+ },
238
+ ],
239
+ 'local': [
240
+ {
241
+ provider: 'ollama',
242
+ model: 'llama-2-13b',
243
+ reasoning: 'Good balance of performance and resource usage for local deployment',
244
+ },
245
+ {
246
+ provider: 'ollama',
247
+ model: 'mistral-7b',
248
+ reasoning: 'Fast local model with good performance',
249
+ },
250
+ ],
251
+ 'budget': [
252
+ {
253
+ provider: 'ollama',
254
+ model: 'llama-2-7b',
255
+ reasoning: 'Free local model with no API costs',
256
+ },
257
+ {
258
+ provider: 'google',
259
+ model: 'gemini-pro',
260
+ reasoning: 'Very cost-effective cloud model',
261
+ },
262
+ ],
263
+ };
264
+ return recommendations[useCase] || recommendations['chat'];
265
+ }
266
+ /**
267
+ * Calculate estimated monthly cost based on usage
268
+ */
269
+ export function estimateMonthlyCost(provider, model, estimatedRequests, avgTokensPerRequest) {
270
+ // Get pricing from provider capabilities
271
+ // This is a simplified calculation
272
+ const pricing = getPricing(provider, model);
273
+ if (!pricing) {
274
+ return {
275
+ promptCost: 0,
276
+ completionCost: 0,
277
+ totalCost: 0,
278
+ currency: 'USD',
279
+ };
280
+ }
281
+ const promptTokens = avgTokensPerRequest * 0.7; // Assume 70% prompt
282
+ const completionTokens = avgTokensPerRequest * 0.3; // Assume 30% completion
283
+ const promptCost = (promptTokens * estimatedRequests / 1000) * pricing.promptCostPer1k;
284
+ const completionCost = (completionTokens * estimatedRequests / 1000) * pricing.completionCostPer1k;
285
+ return {
286
+ promptCost,
287
+ completionCost,
288
+ totalCost: promptCost + completionCost,
289
+ currency: pricing.currency,
290
+ };
291
+ }
292
+ /**
293
+ * Get pricing for a specific provider and model
294
+ */
295
+ function getPricing(provider, model) {
296
+ // This would typically come from provider capabilities
297
+ // Simplified for example
298
+ const pricingData = {
299
+ 'anthropic:claude-3-opus-20240229': {
300
+ promptCostPer1k: 0.015,
301
+ completionCostPer1k: 0.075,
302
+ currency: 'USD',
303
+ },
304
+ 'openai:gpt-4-turbo-preview': {
305
+ promptCostPer1k: 0.01,
306
+ completionCostPer1k: 0.03,
307
+ currency: 'USD',
308
+ },
309
+ 'google:gemini-pro': {
310
+ promptCostPer1k: 0.00025,
311
+ completionCostPer1k: 0.0005,
312
+ currency: 'USD',
313
+ },
314
+ 'ollama:llama-2-7b': {
315
+ promptCostPer1k: 0,
316
+ completionCostPer1k: 0,
317
+ currency: 'USD',
318
+ },
319
+ };
320
+ return pricingData[`${provider}:${model}`] || null;
321
+ }
322
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/providers/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Agentic Flow Hook Manager
3
+ *
4
+ * Central manager for all agentic-flow hooks, providing registration,
5
+ * execution, and lifecycle management.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ import type { AgenticHookContext, AgenticHookType, HookFilter, HookHandlerResult, HookPayload, HookPipeline, HookRegistration, HookRegistry } from './types.js';
9
+ export declare class AgenticHookManager extends EventEmitter implements HookRegistry {
10
+ private hooks;
11
+ private pipelines;
12
+ private metrics;
13
+ private activeExecutions;
14
+ constructor();
15
+ /**
16
+ * Register a new hook
17
+ */
18
+ register(registration: HookRegistration): void;
19
+ /**
20
+ * Unregister a hook
21
+ */
22
+ unregister(id: string): void;
23
+ /**
24
+ * Get hooks by type with optional filtering
25
+ */
26
+ getHooks(type: AgenticHookType, filter?: HookFilter): HookRegistration[];
27
+ /**
28
+ * Execute hooks for a given type
29
+ */
30
+ executeHooks(type: AgenticHookType, payload: HookPayload, context: AgenticHookContext): Promise<HookHandlerResult[]>;
31
+ /**
32
+ * Create a new hook pipeline
33
+ */
34
+ createPipeline(config: Partial<HookPipeline>): HookPipeline;
35
+ /**
36
+ * Execute a pipeline
37
+ */
38
+ executePipeline(pipelineId: string, initialPayload: HookPayload, context: AgenticHookContext): Promise<HookHandlerResult[]>;
39
+ /**
40
+ * Get current metrics
41
+ */
42
+ getMetrics(): Record<string, any>;
43
+ private validateRegistration;
44
+ private matchesFilter;
45
+ private createFilterFromPayload;
46
+ private executeHook;
47
+ private retryHook;
48
+ private processSideEffects;
49
+ private processSideEffect;
50
+ private processMemorySideEffect;
51
+ private processNeuralSideEffect;
52
+ private processMetricSideEffect;
53
+ private processNotificationSideEffect;
54
+ private processLogSideEffect;
55
+ private handleHookError;
56
+ private executeStage;
57
+ private updatePipelineMetrics;
58
+ private rollbackPipeline;
59
+ private getTotalHookCount;
60
+ private initializeMetrics;
61
+ private updateMetric;
62
+ private generateExecutionId;
63
+ private generatePipelineId;
64
+ private getCachedResult;
65
+ private cacheResult;
66
+ private withTimeout;
67
+ private delay;
68
+ }
69
+ export declare const agenticHookManager: AgenticHookManager;
70
+ //# sourceMappingURL=hook-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-manager.d.ts","sourceRoot":"","sources":["../../../src/services/agentic-flow-hooks/hook-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,UAAU,EAEV,iBAAiB,EAEjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,YAAY,EAIb,MAAM,YAAY,CAAC;AAQpB,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,YAAY;IAC1E,OAAO,CAAC,KAAK,CAAuD;IACpE,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,gBAAgB,CAA0B;;IAOlD;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAiC9C;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA4B5B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,gBAAgB,EAAE;IAUxE;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAoE/B;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY;IAoB3D;;OAEG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,WAAW,EAC3B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IA4D/B;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAkBjC,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,uBAAuB;YAuBjB,WAAW;YA4DX,SAAS;YAqBT,kBAAkB;YAclB,iBAAiB;YA2BjB,uBAAuB;YASvB,uBAAuB;IASrC,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,6BAA6B;IAIrC,OAAO,CAAC,oBAAoB;YAKd,eAAe;YAkBf,YAAY;IAiC1B,OAAO,CAAC,qBAAqB;YA2Bf,gBAAgB;IAU9B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,WAAW;YAUL,WAAW;IAazB,OAAO,CAAC,KAAK;CAGd;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}