@yoooclaw/phone-notifications 1.12.2 → 1.12.4
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 +3 -4
- package/dist/bin/ntf.cjs +327 -12
- package/dist/bin/ntf.cjs.map +9 -7
- package/dist/cli/doctor/check-local-gateway.d.ts +3 -0
- package/dist/cli/doctor/check-local-gateway.d.ts.map +1 -0
- package/dist/cli/doctor/checkers.d.ts.map +1 -1
- package/dist/env.d.ts +16 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/fs-atomic.d.ts +11 -0
- package/dist/fs-atomic.d.ts.map +1 -0
- package/dist/image/store.d.ts.map +1 -1
- package/dist/index.cjs +2444 -1911
- package/dist/index.cjs.map +38 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/light/sender.d.ts +14 -3
- package/dist/light/sender.d.ts.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/notification/storage.d.ts +4 -3
- package/dist/notification/storage.d.ts.map +1 -1
- package/dist/plugin/auto-update.d.ts +2 -0
- package/dist/plugin/auto-update.d.ts.map +1 -1
- package/dist/plugin/lifecycle.d.ts +7 -14
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/light-control.d.ts.map +1 -1
- package/dist/plugin/light-rules-tools.d.ts.map +1 -1
- package/dist/plugin/notifications.d.ts +1 -0
- package/dist/plugin/notifications.d.ts.map +1 -1
- package/dist/plugin/recordings.d.ts +0 -2
- package/dist/plugin/recordings.d.ts.map +1 -1
- package/dist/plugin/register-guard.d.ts +16 -0
- package/dist/plugin/register-guard.d.ts.map +1 -0
- package/dist/plugin/runtime.d.ts +64 -0
- package/dist/plugin/runtime.d.ts.map +1 -0
- package/dist/plugin/shared-storage.d.ts +31 -0
- package/dist/plugin/shared-storage.d.ts.map +1 -0
- package/dist/plugin/system.d.ts +17 -0
- package/dist/plugin/system.d.ts.map +1 -0
- package/dist/recording/downloader.d.ts +0 -7
- package/dist/recording/downloader.d.ts.map +1 -1
- package/dist/recording/index.d.ts +2 -4
- package/dist/recording/index.d.ts.map +1 -1
- package/dist/recording/result-writer.d.ts +1 -2
- package/dist/recording/result-writer.d.ts.map +1 -1
- package/dist/recording/storage.d.ts +3 -2
- package/dist/recording/storage.d.ts.map +1 -1
- package/dist/system/os-info.d.ts +34 -0
- package/dist/system/os-info.d.ts.map +1 -0
- package/dist/tunnel/connect-status-reporter.d.ts.map +1 -1
- package/dist/tunnel/frame-slimmer.d.ts +97 -2
- package/dist/tunnel/frame-slimmer.d.ts.map +1 -1
- package/dist/tunnel/gateway-target.d.ts +17 -0
- package/dist/tunnel/gateway-target.d.ts.map +1 -0
- package/dist/tunnel/http-proxy.d.ts.map +1 -1
- package/dist/tunnel/proxy.d.ts +20 -1
- package/dist/tunnel/proxy.d.ts.map +1 -1
- package/dist/tunnel/relay-client.d.ts.map +1 -1
- package/dist/tunnel/service.d.ts.map +1 -1
- package/dist/types.d.ts +12 -67
- package/dist/types.d.ts.map +1 -1
- package/dist/update/executor.d.ts +3 -3
- package/dist/update/executor.d.ts.map +1 -1
- package/dist/update/index.d.ts +11 -0
- package/dist/update/index.d.ts.map +1 -1
- package/dist/update/stale-runtime.d.ts +43 -0
- package/dist/update/stale-runtime.d.ts.map +1 -0
- package/openclaw.plugin.json +1 -0
- package/package.json +1 -1
- package/skills/notification-monitor/SKILL.md +2 -2
- package/skills/notification-to-memory/SKILL.md +2 -2
- package/dist/recording/asr.d.ts +0 -119
- package/dist/recording/asr.d.ts.map +0 -1
- package/dist/recording/handler.d.ts +0 -38
- package/dist/recording/handler.d.ts.map +0 -1
- package/dist/recording/whisper-local.d.ts +0 -81
- package/dist/recording/whisper-local.d.ts.map +0 -1
package/dist/recording/asr.d.ts
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ASR 转写调度器(§6 / §7)
|
|
3
|
-
*
|
|
4
|
-
* 按 arc-long-recording §6.2 定义的两层配置结构调度 ASR:
|
|
5
|
-
* - mode = "api":YoooClaw 托管云端 ASR(经 model-proxy 长录音接口调用)
|
|
6
|
-
* - mode = "local":已停用(保留枚举值用于兼容旧客户端,调用时直接返回错误)
|
|
7
|
-
* - mode = "yoooclaw":YoooClaw 自建 ASR(P2,预留接口)
|
|
8
|
-
*
|
|
9
|
-
* 转写流程:
|
|
10
|
-
* 1. 读取录音 OSS URL 与本地文件
|
|
11
|
-
* 2. 调用云端 model-proxy 获取转写文本
|
|
12
|
-
* 3. 将关键点以 [关键点 MM:SS] 内嵌转写文本
|
|
13
|
-
* 4. 自动生成摘要标题(≤ 10 字)
|
|
14
|
-
* 5. 写入 /recordings/transcripts/日期_时间_摘要.md
|
|
15
|
-
*/
|
|
16
|
-
import type { AsrConfig, RecordingMarker, RecordingAsrInitResult, RecordingTranscriptItem } from "../types.js";
|
|
17
|
-
import type { Logger } from "../logger.js";
|
|
18
|
-
export interface TranscriptionResult {
|
|
19
|
-
ok: boolean;
|
|
20
|
-
/** 转写全文 */
|
|
21
|
-
text?: string;
|
|
22
|
-
/** 带时间戳的分段(如 ASR 支持) */
|
|
23
|
-
segments?: TranscriptSegment[];
|
|
24
|
-
/** 自动生成的摘要标题 */
|
|
25
|
-
summary?: string;
|
|
26
|
-
/** 给客户端展示的摘要文本 */
|
|
27
|
-
summaryText?: string;
|
|
28
|
-
/** 分类信息(如会议纪要、采访) */
|
|
29
|
-
category?: string;
|
|
30
|
-
/** 转写来源信息 */
|
|
31
|
-
sourceInfo?: {
|
|
32
|
-
provider: string;
|
|
33
|
-
taskId?: string;
|
|
34
|
-
requestId?: string;
|
|
35
|
-
status?: string;
|
|
36
|
-
};
|
|
37
|
-
/** Provider 原始响应,供后续兼容字段演进 */
|
|
38
|
-
rawResponse?: unknown;
|
|
39
|
-
/** 错误信息 */
|
|
40
|
-
error?: string;
|
|
41
|
-
}
|
|
42
|
-
export interface TranscriptSegment {
|
|
43
|
-
/** 开始时间(毫秒) */
|
|
44
|
-
start_ms: number;
|
|
45
|
-
/** 结束时间(毫秒) */
|
|
46
|
-
end_ms: number;
|
|
47
|
-
/** 文本内容 */
|
|
48
|
-
text: string;
|
|
49
|
-
/** 说话人 ID(如云端 ASR 返回) */
|
|
50
|
-
speaker_id?: number;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* 判断 ASR 是否已配置
|
|
54
|
-
*/
|
|
55
|
-
export declare function isAsrConfigured(config?: AsrConfig): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* 校验客户端下发的 ASR 配置。
|
|
58
|
-
* 返回 undefined 表示配置可用;返回字符串表示错误原因。
|
|
59
|
-
*/
|
|
60
|
-
export declare function validateAsrConfig(config?: AsrConfig): string | undefined;
|
|
61
|
-
/**
|
|
62
|
-
* 显式初始化 ASR 能力。
|
|
63
|
-
* - mode=api:校验插件本地 API Key 是否存在,并返回最终使用的 model-proxy submit-task endpoint
|
|
64
|
-
* - mode=local:按配置预下载模型,并返回本地环境状态
|
|
65
|
-
*/
|
|
66
|
-
export declare function initializeAsr(config: AsrConfig, dataDir: string, logger: Logger): Promise<RecordingAsrInitResult>;
|
|
67
|
-
/**
|
|
68
|
-
* 执行 ASR 转写
|
|
69
|
-
*
|
|
70
|
-
* @param audioFilePath 本地音频文件绝对路径
|
|
71
|
-
* @param config ASR 配置(两层结构:mode + api/local)
|
|
72
|
-
* @param logger 日志
|
|
73
|
-
* @param options 额外上下文(云端 ASR 需要 OSS URL)
|
|
74
|
-
*/
|
|
75
|
-
export declare function transcribeAudio(audioFilePath: string, config: AsrConfig, logger: Logger, options?: {
|
|
76
|
-
audioOssUrl?: string;
|
|
77
|
-
audioDurationMs?: number;
|
|
78
|
-
}): Promise<TranscriptionResult>;
|
|
79
|
-
/**
|
|
80
|
-
* 将转写结果与关键点标记合并,生成最终 Markdown 转写文本
|
|
81
|
-
*
|
|
82
|
-
* @param result 转写结果
|
|
83
|
-
* @param markers 关键点列表
|
|
84
|
-
* @param recordingName 录音名称
|
|
85
|
-
* @param durationSec 录音总时长(秒)
|
|
86
|
-
* @param createdAt 录音创建时间
|
|
87
|
-
*/
|
|
88
|
-
export declare function buildTranscriptMarkdown(result: TranscriptionResult, markers: RecordingMarker[], recordingName: string, durationSec: number, createdAt: string): string;
|
|
89
|
-
/**
|
|
90
|
-
* 从转写文本中提取摘要标题(≤ 10 字)
|
|
91
|
-
*/
|
|
92
|
-
export declare function extractSummary(text: string): string;
|
|
93
|
-
/**
|
|
94
|
-
* 完整的转写工作流:转写 → 生成 Markdown → 写入文件
|
|
95
|
-
*/
|
|
96
|
-
export declare function runTranscriptionWorkflow(params: {
|
|
97
|
-
audioFilePath: string;
|
|
98
|
-
audioOssUrl?: string;
|
|
99
|
-
config: AsrConfig;
|
|
100
|
-
markers: RecordingMarker[];
|
|
101
|
-
recordingName: string;
|
|
102
|
-
durationSec: number;
|
|
103
|
-
createdAt: string;
|
|
104
|
-
transcriptsDir: string;
|
|
105
|
-
transcriptDataDir: string;
|
|
106
|
-
summariesDir: string;
|
|
107
|
-
recordingId: string;
|
|
108
|
-
logger: Logger;
|
|
109
|
-
}): Promise<{
|
|
110
|
-
ok: boolean;
|
|
111
|
-
transcriptFilename?: string;
|
|
112
|
-
transcriptDataFilename?: string;
|
|
113
|
-
summaryFilename?: string;
|
|
114
|
-
transcript?: RecordingTranscriptItem[];
|
|
115
|
-
summary?: string;
|
|
116
|
-
title?: string;
|
|
117
|
-
error?: string;
|
|
118
|
-
}>;
|
|
119
|
-
//# sourceMappingURL=asr.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asr.d.ts","sourceRoot":"","sources":["../../src/recording/asr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 录音同步处理器(§2 阶段 4–5)
|
|
3
|
-
*
|
|
4
|
-
* 统一处理 recordings.sync 请求:
|
|
5
|
-
* 1. 元数据入库
|
|
6
|
-
* 2. 从 OSS 下载音频 + 打点文件
|
|
7
|
-
* 3. 更新状态 → synced
|
|
8
|
-
* 4. 如已配置 ASR → 自动触发转写
|
|
9
|
-
*/
|
|
10
|
-
import type { RecordingMetadata, RecordingSyncResult, AsrConfig, RecordingTranscriptItem, RecordingTransferStatus } from "../types.js";
|
|
11
|
-
import type { Logger } from "../logger.js";
|
|
12
|
-
import { RecordingStorage } from "./storage.js";
|
|
13
|
-
export interface RecordingStatusEvent {
|
|
14
|
-
recordingId: string;
|
|
15
|
-
transfer_status: RecordingTransferStatus;
|
|
16
|
-
audioFile?: string;
|
|
17
|
-
srtFile?: string;
|
|
18
|
-
transcriptDataFile?: string;
|
|
19
|
-
transcriptFile?: string;
|
|
20
|
-
summaryFile?: string;
|
|
21
|
-
transcript?: RecordingTranscriptItem[];
|
|
22
|
-
summary?: string;
|
|
23
|
-
title: string;
|
|
24
|
-
updatedAt: string;
|
|
25
|
-
error?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface RecordingSyncOptions {
|
|
28
|
-
notifyStatus?: (event: RecordingStatusEvent) => void;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 处理 recordings.sync 请求的核心逻辑
|
|
32
|
-
*/
|
|
33
|
-
export declare function handleRecordingSync(recordingId: string, metadata: RecordingMetadata, storage: RecordingStorage, asrConfig: AsrConfig | undefined, logger: Logger, options?: RecordingSyncOptions): Promise<RecordingSyncResult>;
|
|
34
|
-
/**
|
|
35
|
-
* 触发 ASR 转写(可从 sync handler 自动触发或手动重试调用)
|
|
36
|
-
*/
|
|
37
|
-
export declare function triggerTranscription(recordingId: string, storage: RecordingStorage, asrConfig: AsrConfig, logger: Logger, options?: RecordingSyncOptions): Promise<void>;
|
|
38
|
-
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/recording/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKhD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CACtD;AA0HD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA+D9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAmFf"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 本地 Whisper 转写模块(arc-long-recording §6.4)
|
|
3
|
-
*
|
|
4
|
-
* 插件内置 Whisper 推理能力:
|
|
5
|
-
* 1. 自动检测运行环境与硬件配置(§6.4.1)
|
|
6
|
-
* 2. 选择最优推理后端(§6.4.2)
|
|
7
|
-
* 3. 根据可用内存自动选择模型规格(§6.4.3)
|
|
8
|
-
* 4. 首次使用时下载模型文件(§6.4.5)
|
|
9
|
-
* 5. 通过 whisper.cpp CLI 执行本地离线转写
|
|
10
|
-
*/
|
|
11
|
-
import type { WhisperLocalConfig, WhisperModelSize, WhisperModelSource, WhisperEnvironmentInfo } from "../types.js";
|
|
12
|
-
import type { Logger } from "../logger.js";
|
|
13
|
-
import type { TranscriptionResult } from "./asr.js";
|
|
14
|
-
/**
|
|
15
|
-
* 检测运行环境与硬件配置(§6.4.1)
|
|
16
|
-
*
|
|
17
|
-
* 检测操作系统、CPU 架构、GPU、可用内存,
|
|
18
|
-
* 推荐最优推理后端与模型规格。
|
|
19
|
-
*/
|
|
20
|
-
export declare function detectEnvironment(logger: Logger): WhisperEnvironmentInfo;
|
|
21
|
-
/**
|
|
22
|
-
* 根据可用内存自动选择模型规格(§6.4.3)
|
|
23
|
-
*
|
|
24
|
-
* 策略:优先匹配可用内存最大能承载的模型(向下取最近档位)。
|
|
25
|
-
* Apple Silicon CoreML 后端内存效率更高,同档位需求降低 ~30%。
|
|
26
|
-
*/
|
|
27
|
-
export declare function selectModelByMemory(availableGB: number, isAppleSilicon?: boolean): WhisperModelSize;
|
|
28
|
-
/**
|
|
29
|
-
* 解析模型存储目录
|
|
30
|
-
*/
|
|
31
|
-
export declare function resolveModelsDir(dataDir: string): string;
|
|
32
|
-
/**
|
|
33
|
-
* 解析 whisper.cpp 二进制目录
|
|
34
|
-
*/
|
|
35
|
-
export declare function resolveBinDir(dataDir: string): string;
|
|
36
|
-
/**
|
|
37
|
-
* 检查模型文件是否已下载(§6.4.5)
|
|
38
|
-
*/
|
|
39
|
-
export declare function isModelDownloaded(modelsDir: string, modelSize: WhisperModelSize): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* 下载 Whisper 模型文件(§6.4.5)
|
|
42
|
-
*
|
|
43
|
-
* 下载源选择策略:
|
|
44
|
-
* - modelMirrorUrl 存在 → 使用自定义 URL
|
|
45
|
-
* - modelSource = "huggingface" → 直接使用 Hugging Face
|
|
46
|
-
* - modelSource = "domestic" → 直接使用国内镜像(ModelScope)
|
|
47
|
-
* - modelSource = "auto"(默认)→ 先探测 Hugging Face 连通性(5s 超时),
|
|
48
|
-
* 可达则用 HF,不可达则回退国内镜像
|
|
49
|
-
*/
|
|
50
|
-
export declare function downloadModel(modelsDir: string, modelSize: WhisperModelSize, logger: Logger, modelSource?: WhisperModelSource, mirrorUrl?: string): Promise<{
|
|
51
|
-
ok: boolean;
|
|
52
|
-
modelPath: string;
|
|
53
|
-
error?: string;
|
|
54
|
-
}>;
|
|
55
|
-
/**
|
|
56
|
-
* 查找 whisper.cpp CLI 二进制文件
|
|
57
|
-
*
|
|
58
|
-
* 按以下优先级查找:
|
|
59
|
-
* 1. 插件数据目录下的 whisper-bin/
|
|
60
|
-
* 2. 系统 PATH 中的 whisper-cli / whisper-cpp / whisper
|
|
61
|
-
*/
|
|
62
|
-
export declare function findWhisperBinary(dataDir: string, logger: Logger): string | null;
|
|
63
|
-
/**
|
|
64
|
-
* 使用本地 Whisper 执行转写(§6.4)
|
|
65
|
-
*
|
|
66
|
-
* @param audioFilePath 本地音频文件绝对路径
|
|
67
|
-
* @param localConfig 本地 Whisper 配置
|
|
68
|
-
* @param dataDir 插件数据目录(存放模型和二进制)
|
|
69
|
-
* @param logger 日志
|
|
70
|
-
*/
|
|
71
|
-
export declare function transcribeWithWhisperLocal(audioFilePath: string, localConfig: WhisperLocalConfig, dataDir: string, logger: Logger): Promise<TranscriptionResult>;
|
|
72
|
-
/**
|
|
73
|
-
* 获取本地 Whisper 状态信息(供 App 查询环境检测结果)
|
|
74
|
-
*/
|
|
75
|
-
export declare function getWhisperLocalStatus(dataDir: string, logger: Logger): {
|
|
76
|
-
environment: WhisperEnvironmentInfo;
|
|
77
|
-
binaryFound: boolean;
|
|
78
|
-
binaryPath: string | null;
|
|
79
|
-
downloadedModels: WhisperModelSize[];
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=whisper-local.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"whisper-local.d.ts","sourceRoot":"","sources":["../../src/recording/whisper-local.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,UAAU,CAAC;AAwDvE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,CA0CxE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe,GAC9B,gBAAgB,CASlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAYzF;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,kBAAkB,EAChC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC7D;AA+ID;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmChF;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,CA6H9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb;IACD,WAAW,EAAE,sBAAsB,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACtC,CAcA"}
|