opc-agent 4.2.0 → 4.2.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.
Files changed (119) hide show
  1. package/.opc/memory.db +0 -0
  2. package/COMPETITIVE-GAP.md +92 -92
  3. package/CONTRIBUTING.md +36 -36
  4. package/README.md +290 -290
  5. package/README.zh-CN.md +269 -269
  6. package/STUDIO-REWRITE-TASK.md +76 -0
  7. package/dist/channels/telegram.d.ts +5 -0
  8. package/dist/channels/telegram.d.ts.map +1 -1
  9. package/dist/channels/telegram.js +108 -0
  10. package/dist/channels/telegram.js.map +1 -1
  11. package/dist/channels/voice.d.ts +71 -97
  12. package/dist/channels/voice.d.ts.map +1 -1
  13. package/dist/channels/voice.js +369 -347
  14. package/dist/channels/voice.js.map +1 -1
  15. package/dist/channels/web.d.ts.map +1 -1
  16. package/dist/channels/web.js +8 -2
  17. package/dist/channels/web.js.map +1 -1
  18. package/dist/channels/wechat.js +6 -6
  19. package/dist/cli/chat.d.ts +4 -1
  20. package/dist/cli/chat.d.ts.map +1 -1
  21. package/dist/cli/chat.js +680 -73
  22. package/dist/cli/chat.js.map +1 -1
  23. package/dist/cli/setup.js +1 -1
  24. package/dist/cli/setup.js.map +1 -1
  25. package/dist/cli.js +373 -280
  26. package/dist/cli.js.map +1 -1
  27. package/dist/core/a2a-http.d.ts +75 -0
  28. package/dist/core/a2a-http.d.ts.map +1 -0
  29. package/dist/core/a2a-http.js +217 -0
  30. package/dist/core/a2a-http.js.map +1 -0
  31. package/dist/core/a2a.d.ts +2 -0
  32. package/dist/core/a2a.d.ts.map +1 -1
  33. package/dist/core/a2a.js +6 -1
  34. package/dist/core/a2a.js.map +1 -1
  35. package/dist/core/agent.d.ts +1 -0
  36. package/dist/core/agent.d.ts.map +1 -1
  37. package/dist/core/agent.js +3 -0
  38. package/dist/core/agent.js.map +1 -1
  39. package/dist/core/gateway-registry.d.ts +116 -0
  40. package/dist/core/gateway-registry.d.ts.map +1 -0
  41. package/dist/core/gateway-registry.js +280 -0
  42. package/dist/core/gateway-registry.js.map +1 -0
  43. package/dist/core/model-recommender.d.ts +40 -0
  44. package/dist/core/model-recommender.d.ts.map +1 -0
  45. package/dist/core/model-recommender.js +186 -0
  46. package/dist/core/model-recommender.js.map +1 -0
  47. package/dist/core/priority-queue.d.ts +100 -0
  48. package/dist/core/priority-queue.d.ts.map +1 -0
  49. package/dist/core/priority-queue.js +181 -0
  50. package/dist/core/priority-queue.js.map +1 -0
  51. package/dist/core/runtime.d.ts.map +1 -1
  52. package/dist/core/runtime.js +192 -22
  53. package/dist/core/runtime.js.map +1 -1
  54. package/dist/deploy/index.js +56 -56
  55. package/dist/doctor.d.ts +1 -0
  56. package/dist/doctor.d.ts.map +1 -1
  57. package/dist/doctor.js +155 -10
  58. package/dist/doctor.js.map +1 -1
  59. package/dist/index.d.ts +10 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +24 -13
  62. package/dist/index.js.map +1 -1
  63. package/dist/memory/deepbrain.d.ts +1 -1
  64. package/dist/memory/deepbrain.d.ts.map +1 -1
  65. package/dist/memory/deepbrain.js +95 -4
  66. package/dist/memory/deepbrain.js.map +1 -1
  67. package/dist/memory/evolve-engine.d.ts +113 -0
  68. package/dist/memory/evolve-engine.d.ts.map +1 -0
  69. package/dist/memory/evolve-engine.js +549 -0
  70. package/dist/memory/evolve-engine.js.map +1 -0
  71. package/dist/memory/index.d.ts +2 -0
  72. package/dist/memory/index.d.ts.map +1 -1
  73. package/dist/memory/index.js +3 -1
  74. package/dist/memory/index.js.map +1 -1
  75. package/dist/memory/sqlite-store.d.ts +40 -0
  76. package/dist/memory/sqlite-store.d.ts.map +1 -0
  77. package/dist/memory/sqlite-store.js +269 -0
  78. package/dist/memory/sqlite-store.js.map +1 -0
  79. package/dist/memory/user-profiler.d.ts +8 -0
  80. package/dist/memory/user-profiler.d.ts.map +1 -1
  81. package/dist/memory/user-profiler.js +89 -0
  82. package/dist/memory/user-profiler.js.map +1 -1
  83. package/dist/scheduler/cron-engine.d.ts.map +1 -1
  84. package/dist/scheduler/cron-engine.js +3 -36
  85. package/dist/scheduler/cron-engine.js.map +1 -1
  86. package/dist/scheduler/proactive.d.ts +62 -0
  87. package/dist/scheduler/proactive.d.ts.map +1 -0
  88. package/dist/scheduler/proactive.js +185 -0
  89. package/dist/scheduler/proactive.js.map +1 -0
  90. package/dist/skills/auto-learn.d.ts.map +1 -1
  91. package/dist/skills/auto-learn.js +65 -11
  92. package/dist/skills/auto-learn.js.map +1 -1
  93. package/dist/skills/builtin/index.d.ts.map +1 -1
  94. package/dist/skills/builtin/index.js +163 -30
  95. package/dist/skills/builtin/index.js.map +1 -1
  96. package/dist/skills/types.d.ts +1 -1
  97. package/dist/skills/types.d.ts.map +1 -1
  98. package/dist/skills/types.js +1 -0
  99. package/dist/skills/types.js.map +1 -1
  100. package/dist/studio/server.d.ts +1 -0
  101. package/dist/studio/server.d.ts.map +1 -1
  102. package/dist/studio/server.js +148 -17
  103. package/dist/studio/server.js.map +1 -1
  104. package/dist/studio-ui/index.html +867 -2630
  105. package/dist/ui/components.js +105 -105
  106. package/examples/README.md +22 -22
  107. package/examples/basic-agent.ts +90 -90
  108. package/examples/brain-integration.ts +71 -71
  109. package/examples/multi-channel.ts +74 -74
  110. package/install.ps1 +127 -127
  111. package/install.sh +154 -154
  112. package/models.json +164 -164
  113. package/package.json +5 -2
  114. package/scripts/install.ps1 +31 -31
  115. package/scripts/install.sh +40 -40
  116. package/templates/ecommerce-assistant/README.md +45 -45
  117. package/templates/ecommerce-assistant/oad.yaml +47 -47
  118. package/templates/tech-support/README.md +43 -43
  119. package/templates/tech-support/oad.yaml +45 -45
@@ -35,6 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.TelegramChannel = void 0;
37
37
  const index_1 = require("./index");
38
+ const voice_1 = require("./voice");
39
+ const path = __importStar(require("path"));
38
40
  class TelegramChannel extends index_1.BaseChannel {
39
41
  type = 'telegram';
40
42
  token;
@@ -57,6 +59,9 @@ class TelegramChannel extends index_1.BaseChannel {
57
59
  server = null;
58
60
  // Stream handler — set by runtime when provider supports streaming
59
61
  streamHandler;
62
+ // Voice processor for STT/TTS
63
+ voice = null;
64
+ voiceReply = false;
60
65
  constructor(config = {}) {
61
66
  super();
62
67
  this.token = config.token ?? process.env.TELEGRAM_BOT_TOKEN ?? '';
@@ -72,6 +77,17 @@ class TelegramChannel extends index_1.BaseChannel {
72
77
  this.requireMention = config.requireMention ?? false;
73
78
  if (config.botUsername)
74
79
  this.botUsername = config.botUsername.replace('@', '').toLowerCase();
80
+ // Initialize voice processor
81
+ try {
82
+ const voiceConfig = {};
83
+ if (process.env.OPENAI_API_KEY)
84
+ voiceConfig.openaiApiKey = process.env.OPENAI_API_KEY;
85
+ if (process.env.OPENAI_BASE_URL)
86
+ voiceConfig.openaiBaseUrl = process.env.OPENAI_BASE_URL;
87
+ this.voice = new voice_1.VoiceProcessor(voiceConfig);
88
+ this.voiceReply = config.voiceReply !== false; // default: reply with voice when user sends voice
89
+ }
90
+ catch { /* voice not available, silent fallback */ }
75
91
  }
76
92
  setStreamHandler(handler) {
77
93
  this.streamHandler = handler;
@@ -215,6 +231,59 @@ class TelegramChannel extends index_1.BaseChannel {
215
231
  }
216
232
  // Extract text from various message types
217
233
  const text = message.text || message.caption;
234
+ // Handle voice messages — STT transcription
235
+ if (!text && (message.voice || message.audio) && this.voice?.isSTTAvailable()) {
236
+ try {
237
+ const fileId = message.voice?.file_id || message.audio?.file_id;
238
+ if (fileId) {
239
+ // Get file path from Telegram
240
+ const fileInfo = await this.apiCall('getFile', { file_id: fileId });
241
+ const filePath = fileInfo?.result?.file_path;
242
+ if (filePath) {
243
+ const downloadUrl = `https://api.telegram.org/file/bot${this.token}/${filePath}`;
244
+ const localPath = path.join('.opc/voice-tmp', `voice-${Date.now()}.ogg`);
245
+ await this.voice.downloadFile(downloadUrl, localPath);
246
+ // Transcribe
247
+ const transcribedText = await this.voice.speechToText(localPath);
248
+ if (transcribedText) {
249
+ // Send transcription as a quiet indicator
250
+ await this.apiCall('sendMessage', {
251
+ chat_id: message.chat.id,
252
+ text: `🎤 <i>${transcribedText}</i>`,
253
+ parse_mode: 'HTML',
254
+ reply_to_message_id: message.message_id,
255
+ });
256
+ // Process as normal text message, mark as voice for reply handling
257
+ const voiceMsg = {
258
+ id: `tg_${message.message_id}`,
259
+ role: 'user',
260
+ content: transcribedText,
261
+ timestamp: message.date * 1000,
262
+ metadata: {
263
+ sessionId: this.getSessionId(message),
264
+ chatId: message.chat.id,
265
+ userId: message.from?.id,
266
+ username: message.from?.username,
267
+ firstName: message.from?.first_name,
268
+ lastName: message.from?.last_name,
269
+ platform: 'telegram',
270
+ chatType: message.chat.type,
271
+ messageThreadId: message.message_thread_id,
272
+ replyToMessageId: message.message_id,
273
+ isVoice: true,
274
+ },
275
+ };
276
+ this.handler(voiceMsg);
277
+ return;
278
+ }
279
+ }
280
+ }
281
+ }
282
+ catch (err) {
283
+ console.error('[Telegram] Voice STT failed:', err.message);
284
+ // Fall through — if STT fails, ignore the voice message gracefully
285
+ }
286
+ }
218
287
  if (!text)
219
288
  return;
220
289
  // Group mention filtering
@@ -436,6 +505,45 @@ class TelegramChannel extends index_1.BaseChannel {
436
505
  async sendMessage(chatId, text) {
437
506
  await this.sendFormattedMessage(chatId, text);
438
507
  }
508
+ /** Send a voice message (TTS) alongside or instead of text */
509
+ async sendVoiceMessage(chatId, text, replyTo) {
510
+ if (!this.voice || !this.voice.isTTSAvailable())
511
+ return false;
512
+ try {
513
+ // Generate audio
514
+ const audioPath = await this.voice.textToSpeech(text.substring(0, 500)); // TTS limit
515
+ if (!audioPath)
516
+ return false;
517
+ // Send voice via Telegram multipart upload
518
+ const audioData = (await Promise.resolve().then(() => __importStar(require('fs')))).readFileSync(audioPath);
519
+ const boundary = '----OPCVoice' + Date.now();
520
+ const parts = [];
521
+ parts.push(Buffer.from(`--${boundary}\r\nContent-Disposition: form-data; name="chat_id"\r\n\r\n${chatId}\r\n`));
522
+ if (replyTo) {
523
+ parts.push(Buffer.from(`--${boundary}\r\nContent-Disposition: form-data; name="reply_to_message_id"\r\n\r\n${replyTo}\r\n`));
524
+ }
525
+ parts.push(Buffer.from(`--${boundary}\r\nContent-Disposition: form-data; name="voice"; filename="reply.ogg"\r\nContent-Type: audio/ogg\r\n\r\n`));
526
+ parts.push(audioData);
527
+ parts.push(Buffer.from(`\r\n--${boundary}--\r\n`));
528
+ const body = Buffer.concat(parts);
529
+ const url = `https://api.telegram.org/bot${this.token}/sendVoice`;
530
+ const response = await fetch(url, {
531
+ method: 'POST',
532
+ headers: { 'Content-Type': `multipart/form-data; boundary=${boundary}` },
533
+ body,
534
+ });
535
+ // Cleanup temp file
536
+ try {
537
+ (await Promise.resolve().then(() => __importStar(require('fs')))).unlinkSync(audioPath);
538
+ }
539
+ catch { /* ignore */ }
540
+ return response.ok;
541
+ }
542
+ catch (err) {
543
+ console.error('[Telegram] TTS reply failed:', err.message);
544
+ return false;
545
+ }
546
+ }
439
547
  // ─── Reactions ──────────────────────────────────────────
440
548
  async setReaction(chatId, messageId, emoji) {
441
549
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/channels/telegram.ts"],"names":[],"mappings":"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"}
@@ -1,102 +1,76 @@
1
- import { BaseChannel } from './index';
2
- export interface STTProvider {
3
- name: string;
4
- transcribe(audio: Buffer, options?: STTOptions): Promise<string>;
5
- }
6
- export interface TTSProvider {
7
- name: string;
8
- synthesize(text: string, options?: TTSOptions): Promise<Buffer>;
9
- }
10
- export interface STTOptions {
11
- language?: string;
12
- model?: string;
13
- }
14
- export interface TTSOptions {
15
- voice?: string;
16
- speed?: number;
17
- language?: string;
18
- }
19
- export interface VoiceChannelConfig {
20
- sttProvider?: STTProvider;
21
- ttsProvider?: TTSProvider;
22
- sampleRate?: number;
23
- language?: string;
24
- }
1
+ /**
2
+ * Voice processing module — STT (Speech-to-Text) and TTS (Text-to-Speech)
3
+ *
4
+ * STT providers:
5
+ * 1. Edge STT (free, via edge-stt or Whisper local)
6
+ * 2. Volcano Engine / Doubao STT (best Chinese, ~¥0.01/req)
7
+ * 3. OpenAI Whisper API ($0.006/min)
8
+ * 4. Local Whisper (free, needs model download)
9
+ *
10
+ * TTS providers:
11
+ * 1. edge-tts (free, Microsoft voices, excellent Chinese)
12
+ * 2. Volcano Engine TTS (Doubao voices)
13
+ * 3. OpenAI TTS ($0.015/1K chars)
14
+ *
15
+ * Default: Whisper API for STT + edge-tts for TTS (best quality/cost ratio)
16
+ */
25
17
  export interface VoiceConfig {
26
- sttProvider: 'whisper' | 'web-speech' | 'deepgram';
27
- ttsProvider: 'edge-tts' | 'openai-tts' | 'elevenlabs';
28
- sttApiKey?: string;
29
- ttsApiKey?: string;
30
- voice?: string;
31
- language?: string;
32
- }
33
- export declare class WhisperSTTProvider implements STTProvider {
34
- name: string;
35
- private apiKey;
36
- constructor(apiKey: string);
37
- transcribe(audio: Buffer, options?: STTOptions): Promise<string>;
38
- }
39
- export declare class DeepgramSTTProvider implements STTProvider {
40
- name: string;
41
- private apiKey;
42
- constructor(apiKey: string);
43
- transcribe(audio: Buffer, options?: STTOptions): Promise<string>;
44
- }
45
- export declare class EdgeTTSProvider implements TTSProvider {
46
- name: string;
47
- private defaultVoice;
48
- constructor(voice?: string);
49
- synthesize(text: string, options?: TTSOptions): Promise<Buffer>;
50
- }
51
- export declare class OpenAITTSProvider implements TTSProvider {
52
- name: string;
53
- private apiKey;
54
- private defaultVoice;
55
- constructor(apiKey: string, voice?: string);
56
- synthesize(text: string, options?: TTSOptions): Promise<Buffer>;
57
- }
58
- export declare class ElevenLabsTTSProvider implements TTSProvider {
59
- name: string;
60
- private apiKey;
61
- private defaultVoice;
62
- constructor(apiKey: string, voice?: string);
63
- synthesize(text: string, options?: TTSOptions): Promise<Buffer>;
18
+ sttProvider: 'whisper-api' | 'whisper-local' | 'volcano' | 'azure' | 'none';
19
+ ttsProvider: 'edge-tts' | 'volcano' | 'openai-tts' | 'azure' | 'none';
20
+ /** OpenAI API key for Whisper */
21
+ openaiApiKey?: string;
22
+ /** OpenAI base URL */
23
+ openaiBaseUrl?: string;
24
+ /** Volcano Engine credentials */
25
+ volcanoAppId?: string;
26
+ volcanoToken?: string;
27
+ volcanoCluster?: string;
28
+ /** Azure Speech credentials */
29
+ azureSpeechKey?: string;
30
+ azureSpeechRegion?: string;
31
+ /** Whisper model for local inference */
32
+ whisperModel?: string;
33
+ /** TTS voice name */
34
+ ttsVoice?: string;
35
+ /** TTS language */
36
+ ttsLang?: string;
37
+ /** Temp directory for audio files */
38
+ tempDir?: string;
39
+ /** Ollama base URL for local Whisper */
40
+ ollamaUrl?: string;
64
41
  }
65
- export declare function createVoiceProviders(config: VoiceConfig): {
66
- stt?: STTProvider;
67
- tts?: TTSProvider;
68
- };
69
- export declare class VoiceChannel extends BaseChannel {
70
- type: string;
42
+ export declare class VoiceProcessor {
71
43
  private config;
72
- private logger;
73
- private running;
74
- private conversationActive;
75
- constructor(config?: VoiceChannelConfig);
76
- start(): Promise<void>;
77
- stop(): Promise<void>;
78
- isRunning(): boolean;
79
- /** Transcribe audio to text */
80
- transcribe(audio: Buffer, format?: string): Promise<string>;
81
- /** Synthesize text to audio */
82
- synthesize(text: string, voice?: string): Promise<Buffer>;
83
- /** Start real-time conversation mode */
84
- startConversation(onMessage: (text: string) => Promise<string>): Promise<void>;
85
- /** Process a single turn in conversation mode */
86
- processConversationTurn(audio: Buffer, onMessage: (text: string) => Promise<string>): Promise<{
87
- text: string;
88
- response: string;
89
- audioResponse?: Buffer;
90
- }>;
91
- stopConversation(): void;
92
- isConversationActive(): boolean;
93
- /** Process audio input: STT → Agent → TTS */
94
- processAudio(audio: Buffer): Promise<{
95
- text: string;
96
- response: string;
97
- audioResponse?: Buffer;
98
- }>;
99
- setSTTProvider(provider: STTProvider): void;
100
- setTTSProvider(provider: TTSProvider): void;
44
+ constructor(config?: Partial<VoiceConfig>);
45
+ /**
46
+ * Convert speech audio to text (STT)
47
+ * @param audioPath Path to audio file (.ogg, .mp3, .wav, .m4a)
48
+ * @returns Transcribed text
49
+ */
50
+ speechToText(audioPath: string): Promise<string>;
51
+ /**
52
+ * Convert text to speech audio (TTS)
53
+ * @param text Text to convert
54
+ * @returns Path to generated audio file (.mp3)
55
+ */
56
+ textToSpeech(text: string): Promise<string>;
57
+ /** Check if voice processing is available */
58
+ isSTTAvailable(): boolean;
59
+ isTTSAvailable(): boolean;
60
+ private whisperApiSTT;
61
+ private whisperLocalSTT;
62
+ private volcanoSTT;
63
+ private azureSTT;
64
+ private edgeTTS;
65
+ private openaiTTS;
66
+ private volcanoTTS;
67
+ private azureTTS;
68
+ private checkEdgeTTS;
69
+ private checkOllamaWhisper;
70
+ /** Download a file from URL to local path */
71
+ downloadFile(url: string, destPath: string): Promise<void>;
72
+ /** Cleanup temp files */
73
+ cleanup(): void;
101
74
  }
75
+ export declare function createVoiceProcessor(config?: Partial<VoiceConfig>): VoiceProcessor;
102
76
  //# sourceMappingURL=voice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/channels/voice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/channels/voice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5E,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IACtE,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2BD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAWzC;;;;OAIG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAetD;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAejD,6CAA6C;IAC7C,cAAc,IAAI,OAAO;IAiBzB,cAAc,IAAI,OAAO;YAQX,aAAa;YA+Cb,eAAe;YAgBf,UAAU;YA8CV,QAAQ;YA6BR,OAAO;YAmBP,SAAS;YA2BT,UAAU;YAqCV,QAAQ;IA6BtB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,kBAAkB;IAS1B,6CAA6C;IACvC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhE,yBAAyB;IACzB,OAAO,IAAI,IAAI;CAehB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,cAAc,CAElF"}