@simplysm/sd-cli 13.0.11 → 13.0.13

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 (160) hide show
  1. package/README.md +42 -2
  2. package/dist/builders/BaseBuilder.d.ts +15 -4
  3. package/dist/builders/BaseBuilder.d.ts.map +1 -1
  4. package/dist/builders/BaseBuilder.js +50 -0
  5. package/dist/builders/BaseBuilder.js.map +1 -1
  6. package/dist/builders/DtsBuilder.d.ts.map +1 -1
  7. package/dist/builders/DtsBuilder.js +2 -39
  8. package/dist/builders/DtsBuilder.js.map +1 -1
  9. package/dist/builders/LibraryBuilder.d.ts.map +1 -1
  10. package/dist/builders/LibraryBuilder.js +2 -39
  11. package/dist/builders/LibraryBuilder.js.map +1 -1
  12. package/dist/builders/types.d.ts +2 -2
  13. package/dist/builders/types.d.ts.map +1 -1
  14. package/dist/capacitor/capacitor.d.ts.map +1 -1
  15. package/dist/capacitor/capacitor.js +2 -1
  16. package/dist/capacitor/capacitor.js.map +1 -1
  17. package/dist/commands/add-client.d.ts.map +1 -1
  18. package/dist/commands/add-client.js +1 -9
  19. package/dist/commands/add-client.js.map +1 -1
  20. package/dist/commands/add-server.d.ts.map +1 -1
  21. package/dist/commands/add-server.js +1 -9
  22. package/dist/commands/add-server.js.map +1 -1
  23. package/dist/commands/build.d.ts +1 -2
  24. package/dist/commands/build.d.ts.map +1 -1
  25. package/dist/commands/build.js +12 -311
  26. package/dist/commands/build.js.map +1 -1
  27. package/dist/commands/dev.d.ts +1 -1
  28. package/dist/commands/dev.d.ts.map +1 -1
  29. package/dist/commands/dev.js +11 -432
  30. package/dist/commands/dev.js.map +1 -1
  31. package/dist/commands/device.d.ts.map +1 -1
  32. package/dist/commands/device.js +17 -32
  33. package/dist/commands/device.js.map +1 -1
  34. package/dist/commands/init.d.ts.map +1 -1
  35. package/dist/commands/init.js +1 -9
  36. package/dist/commands/init.js.map +1 -1
  37. package/dist/commands/lint.d.ts +1 -1
  38. package/dist/commands/lint.d.ts.map +1 -1
  39. package/dist/commands/lint.js +71 -118
  40. package/dist/commands/lint.js.map +2 -2
  41. package/dist/commands/publish.d.ts.map +1 -1
  42. package/dist/commands/publish.js +47 -69
  43. package/dist/commands/publish.js.map +1 -1
  44. package/dist/commands/typecheck.d.ts +1 -1
  45. package/dist/commands/typecheck.d.ts.map +1 -1
  46. package/dist/commands/typecheck.js +11 -24
  47. package/dist/commands/typecheck.js.map +1 -1
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +4 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/infra/ResultCollector.d.ts +1 -1
  53. package/dist/infra/ResultCollector.d.ts.map +1 -1
  54. package/dist/infra/ResultCollector.js +1 -1
  55. package/dist/infra/ResultCollector.js.map +1 -1
  56. package/dist/orchestrators/BuildOrchestrator.d.ts +53 -0
  57. package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -0
  58. package/dist/orchestrators/BuildOrchestrator.js +338 -0
  59. package/dist/orchestrators/BuildOrchestrator.js.map +6 -0
  60. package/dist/orchestrators/DevOrchestrator.d.ts +64 -0
  61. package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -0
  62. package/dist/orchestrators/DevOrchestrator.js +524 -0
  63. package/dist/orchestrators/DevOrchestrator.js.map +6 -0
  64. package/dist/orchestrators/WatchOrchestrator.d.ts +1 -1
  65. package/dist/orchestrators/WatchOrchestrator.d.ts.map +1 -1
  66. package/dist/orchestrators/WatchOrchestrator.js +30 -21
  67. package/dist/orchestrators/WatchOrchestrator.js.map +1 -1
  68. package/dist/orchestrators/index.d.ts +2 -0
  69. package/dist/orchestrators/index.d.ts.map +1 -1
  70. package/dist/orchestrators/index.js +4 -0
  71. package/dist/orchestrators/index.js.map +1 -1
  72. package/dist/sd-cli-entry.js +14 -14
  73. package/dist/sd-cli-entry.js.map +1 -1
  74. package/dist/sd-cli.js +6 -4
  75. package/dist/sd-cli.js.map +1 -1
  76. package/dist/utils/esbuild-config.d.ts +8 -0
  77. package/dist/utils/esbuild-config.d.ts.map +1 -1
  78. package/dist/utils/esbuild-config.js +23 -28
  79. package/dist/utils/esbuild-config.js.map +1 -1
  80. package/dist/utils/output-utils.d.ts +0 -1
  81. package/dist/utils/output-utils.d.ts.map +1 -1
  82. package/dist/utils/output-utils.js +1 -1
  83. package/dist/utils/output-utils.js.map +1 -1
  84. package/dist/utils/package-utils.d.ts +5 -1
  85. package/dist/utils/package-utils.d.ts.map +1 -1
  86. package/dist/utils/package-utils.js +12 -0
  87. package/dist/utils/package-utils.js.map +1 -1
  88. package/dist/utils/rebuild-manager.d.ts +15 -0
  89. package/dist/utils/rebuild-manager.d.ts.map +1 -0
  90. package/dist/utils/rebuild-manager.js +50 -0
  91. package/dist/utils/rebuild-manager.js.map +6 -0
  92. package/dist/utils/replace-deps.d.ts.map +1 -1
  93. package/dist/utils/replace-deps.js +7 -13
  94. package/dist/utils/replace-deps.js.map +1 -1
  95. package/dist/utils/vite-config.d.ts.map +1 -1
  96. package/dist/utils/vite-config.js +61 -7
  97. package/dist/utils/vite-config.js.map +1 -1
  98. package/dist/utils/worker-events.d.ts +5 -4
  99. package/dist/utils/worker-events.d.ts.map +1 -1
  100. package/dist/utils/worker-events.js +4 -0
  101. package/dist/utils/worker-events.js.map +1 -1
  102. package/dist/utils/worker-utils.d.ts +13 -0
  103. package/dist/utils/worker-utils.d.ts.map +1 -0
  104. package/dist/utils/worker-utils.js +15 -0
  105. package/dist/utils/worker-utils.js.map +6 -0
  106. package/dist/workers/client.worker.d.ts.map +1 -1
  107. package/dist/workers/client.worker.js +2 -14
  108. package/dist/workers/client.worker.js.map +1 -1
  109. package/dist/workers/library.worker.d.ts.map +1 -1
  110. package/dist/workers/library.worker.js +14 -16
  111. package/dist/workers/library.worker.js.map +1 -1
  112. package/dist/workers/server-runtime.worker.d.ts.map +1 -1
  113. package/dist/workers/server-runtime.worker.js +11 -11
  114. package/dist/workers/server-runtime.worker.js.map +1 -1
  115. package/dist/workers/server.worker.d.ts.map +1 -1
  116. package/dist/workers/server.worker.js +2 -14
  117. package/dist/workers/server.worker.js.map +1 -1
  118. package/package.json +4 -5
  119. package/src/builders/BaseBuilder.ts +71 -4
  120. package/src/builders/DtsBuilder.ts +2 -49
  121. package/src/builders/LibraryBuilder.ts +2 -51
  122. package/src/builders/types.ts +2 -2
  123. package/src/capacitor/capacitor.ts +2 -1
  124. package/src/commands/add-client.ts +1 -14
  125. package/src/commands/add-server.ts +1 -13
  126. package/src/commands/build.ts +13 -443
  127. package/src/commands/dev.ts +12 -582
  128. package/src/commands/device.ts +17 -34
  129. package/src/commands/init.ts +1 -13
  130. package/src/commands/lint.ts +85 -146
  131. package/src/commands/publish.ts +58 -76
  132. package/src/commands/typecheck.ts +13 -46
  133. package/src/index.ts +1 -0
  134. package/src/infra/ResultCollector.ts +2 -2
  135. package/src/orchestrators/BuildOrchestrator.ts +499 -0
  136. package/src/orchestrators/DevOrchestrator.ts +703 -0
  137. package/src/orchestrators/WatchOrchestrator.ts +42 -25
  138. package/src/orchestrators/index.ts +2 -0
  139. package/src/sd-cli-entry.ts +14 -14
  140. package/src/sd-cli.ts +6 -4
  141. package/src/utils/esbuild-config.ts +31 -33
  142. package/src/utils/output-utils.ts +1 -2
  143. package/src/utils/package-utils.ts +16 -1
  144. package/src/utils/rebuild-manager.ts +65 -0
  145. package/src/utils/replace-deps.ts +25 -23
  146. package/src/utils/vite-config.ts +115 -9
  147. package/src/utils/worker-events.ts +13 -5
  148. package/src/utils/worker-utils.ts +26 -0
  149. package/src/workers/client.worker.ts +3 -19
  150. package/src/workers/library.worker.ts +16 -22
  151. package/src/workers/server-runtime.worker.ts +16 -17
  152. package/src/workers/server.worker.ts +2 -19
  153. package/templates/add-client/__CLIENT__/package.json.hbs +1 -1
  154. package/templates/add-server/__SERVER__/package.json.hbs +2 -2
  155. package/templates/init/package.json.hbs +3 -3
  156. package/dist/utils/listr-manager.d.ts +0 -37
  157. package/dist/utils/listr-manager.d.ts.map +0 -1
  158. package/dist/utils/listr-manager.js +0 -59
  159. package/dist/utils/listr-manager.js.map +0 -6
  160. package/src/utils/listr-manager.ts +0 -89
@@ -1,319 +1,20 @@
1
- import path from "path";
2
- import ts from "typescript";
3
- import { Listr } from "listr2";
4
- import { Worker, fsRm } from "@simplysm/core-node";
5
- import "@simplysm/core-common";
6
- import { consola, LogLevels } from "consola";
7
- import { loadSdConfig } from "../utils/sd-config.js";
8
- import { getVersion } from "../utils/build-env.js";
9
- import { setupReplaceDeps } from "../utils/replace-deps.js";
10
- import { deserializeDiagnostic } from "../utils/typecheck-serialization.js";
11
- import { runLint } from "./lint.js";
12
- import { Capacitor } from "../capacitor/capacitor.js";
13
- import { Electron } from "../electron/electron.js";
14
- import { copySrcFiles } from "../utils/copy-src.js";
15
- function classifyPackages(packages, targets) {
16
- const buildPackages = [];
17
- const clientPackages = [];
18
- const serverPackages = [];
19
- for (const [name, config] of Object.entries(packages)) {
20
- if (config == null) continue;
21
- if (config.target === "scripts") continue;
22
- if (targets.length > 0 && !targets.includes(name)) continue;
23
- if (config.target === "client") {
24
- clientPackages.push({ name, config });
25
- } else if (config.target === "server") {
26
- serverPackages.push({ name, config });
27
- } else {
28
- buildPackages.push({ name, config });
29
- }
30
- }
31
- return { buildPackages, clientPackages, serverPackages };
32
- }
33
- async function cleanDistFolders(cwd, packageNames) {
34
- await Promise.all(packageNames.map((name) => fsRm(path.join(cwd, "packages", name, "dist"))));
35
- }
1
+ import { BuildOrchestrator } from "../orchestrators/BuildOrchestrator.js";
36
2
  async function runBuild(options) {
37
- const { targets } = options;
38
- const cwd = process.cwd();
39
- const logger = consola.withTag("sd:cli:build");
40
- logger.debug("\uBE4C\uB4DC \uC2DC\uC791", { targets });
41
- let sdConfig;
42
- try {
43
- sdConfig = await loadSdConfig({ cwd, dev: false, opt: options.options });
44
- logger.debug("sd.config.ts \uB85C\uB4DC \uC644\uB8CC");
45
- } catch (err) {
46
- consola.error(`sd.config.ts \uB85C\uB4DC \uC2E4\uD328: ${err instanceof Error ? err.message : err}`);
47
- process.exitCode = 1;
48
- return;
49
- }
50
- if (sdConfig.replaceDeps != null) {
51
- await setupReplaceDeps(cwd, sdConfig.replaceDeps);
52
- }
53
- const version = await getVersion(cwd);
54
- const baseEnv = { VER: version, DEV: "false" };
55
- const { buildPackages, clientPackages, serverPackages } = classifyPackages(sdConfig.packages, targets);
56
- const allPackageNames = [
57
- ...buildPackages.map((p) => p.name),
58
- ...clientPackages.map((p) => p.name),
59
- ...serverPackages.map((p) => p.name)
60
- ];
61
- if (allPackageNames.length === 0) {
62
- process.stdout.write("\u2714 \uBE4C\uB4DC\uD560 \uD328\uD0A4\uC9C0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.\n");
63
- return;
64
- }
65
- logger.debug("\uD328\uD0A4\uC9C0 \uBD84\uB958 \uC644\uB8CC", {
66
- buildPackages: buildPackages.map((p) => p.name),
67
- clientPackages: clientPackages.map((p) => p.name),
68
- serverPackages: serverPackages.map((p) => p.name)
69
- });
70
- const results = [];
71
- const state = { hasError: false };
72
- const libraryWorkerPath = import.meta.resolve("../workers/library.worker");
73
- const serverWorkerPath = import.meta.resolve("../workers/server.worker");
74
- const clientWorkerPath = import.meta.resolve("../workers/client.worker");
75
- const dtsWorkerPath = import.meta.resolve("../workers/dts.worker");
76
- const fileCache = /* @__PURE__ */ new Map();
77
- const formatHost = {
78
- getCanonicalFileName: (f) => f,
79
- getCurrentDirectory: () => cwd,
80
- getNewLine: () => ts.sys.newLine
3
+ const orchestratorOptions = {
4
+ targets: options.targets,
5
+ options: options.options
81
6
  };
82
- const lintOptions = {
83
- targets: allPackageNames.map((name) => `packages/${name}`),
84
- fix: false,
85
- timing: false
86
- };
87
- const mainListr = new Listr(
88
- [
89
- {
90
- title: "Lint",
91
- task: async () => {
92
- await runLint(lintOptions);
93
- if (process.exitCode === 1) {
94
- state.hasError = true;
95
- }
96
- }
97
- },
98
- {
99
- title: "Clean",
100
- task: async () => {
101
- await cleanDistFolders(cwd, allPackageNames);
102
- }
103
- },
104
- {
105
- title: "Build",
106
- task: (_, task) => {
107
- const buildTasks = [];
108
- for (const { name, config } of buildPackages) {
109
- const pkgDir = path.join(cwd, "packages", name);
110
- const env = config.target === "node" ? "node" : "browser";
111
- buildTasks.push({
112
- title: `${name} (${config.target})`,
113
- task: async () => {
114
- const libraryWorker = Worker.create(libraryWorkerPath);
115
- const dtsWorker = Worker.create(dtsWorkerPath);
116
- try {
117
- const [buildResult, dtsResult] = await Promise.all([
118
- // JS 빌드
119
- libraryWorker.build({ name, config, cwd, pkgDir }),
120
- // DTS 생성
121
- dtsWorker.buildDts({ name, cwd, pkgDir, env, emit: true })
122
- ]);
123
- results.push({
124
- name,
125
- target: config.target,
126
- type: "js",
127
- success: buildResult.success,
128
- errors: buildResult.errors
129
- });
130
- if (!buildResult.success) state.hasError = true;
131
- const diagnostics = dtsResult.diagnostics.map((d) => deserializeDiagnostic(d, fileCache));
132
- results.push({
133
- name,
134
- target: config.target,
135
- type: "dts",
136
- success: dtsResult.success,
137
- errors: dtsResult.errors,
138
- diagnostics
139
- });
140
- if (!dtsResult.success) state.hasError = true;
141
- } finally {
142
- await Promise.all([libraryWorker.terminate(), dtsWorker.terminate()]);
143
- }
144
- if (config.copySrc != null && config.copySrc.length > 0) {
145
- await copySrcFiles(pkgDir, config.copySrc);
146
- }
147
- }
148
- });
149
- }
150
- for (const { name, config } of clientPackages) {
151
- const pkgDir = path.join(cwd, "packages", name);
152
- buildTasks.push({
153
- title: `${name} (client)`,
154
- task: async () => {
155
- const clientWorker = Worker.create(clientWorkerPath);
156
- const dtsWorker = Worker.create(dtsWorkerPath);
157
- try {
158
- const clientConfig = {
159
- ...config,
160
- env: { ...baseEnv, ...config.env }
161
- };
162
- const [clientResult, dtsResult] = await Promise.all([
163
- // Vite production 빌드
164
- clientWorker.build({ name, config: clientConfig, cwd, pkgDir }),
165
- // typecheck (dts 없이)
166
- dtsWorker.buildDts({
167
- name,
168
- cwd,
169
- pkgDir,
170
- env: "browser",
171
- emit: false
172
- })
173
- ]);
174
- results.push({
175
- name,
176
- target: "client",
177
- type: "vite",
178
- success: clientResult.success,
179
- errors: clientResult.errors
180
- });
181
- if (!clientResult.success) state.hasError = true;
182
- const diagnostics = dtsResult.diagnostics.map((d) => deserializeDiagnostic(d, fileCache));
183
- results.push({
184
- name,
185
- target: "client",
186
- type: "dts",
187
- success: dtsResult.success,
188
- errors: dtsResult.errors,
189
- diagnostics
190
- });
191
- if (!dtsResult.success) state.hasError = true;
192
- } finally {
193
- await Promise.all([clientWorker.terminate(), dtsWorker.terminate()]);
194
- }
195
- if (config.capacitor != null) {
196
- const outPath = path.join(pkgDir, "dist");
197
- try {
198
- const cap = await Capacitor.create(pkgDir, config.capacitor);
199
- await cap.initialize();
200
- await cap.build(outPath);
201
- results.push({
202
- name,
203
- target: "client",
204
- type: "capacitor",
205
- success: true
206
- });
207
- } catch (err) {
208
- results.push({
209
- name,
210
- target: "client",
211
- type: "capacitor",
212
- success: false,
213
- errors: [err instanceof Error ? err.message : String(err)]
214
- });
215
- state.hasError = true;
216
- }
217
- }
218
- if (config.electron != null) {
219
- const outPath = path.join(pkgDir, "dist");
220
- try {
221
- const electron = await Electron.create(pkgDir, config.electron);
222
- await electron.initialize();
223
- await electron.build(outPath);
224
- results.push({
225
- name,
226
- target: "client",
227
- type: "electron",
228
- success: true
229
- });
230
- } catch (err) {
231
- results.push({
232
- name,
233
- target: "client",
234
- type: "electron",
235
- success: false,
236
- errors: [err instanceof Error ? err.message : String(err)]
237
- });
238
- state.hasError = true;
239
- }
240
- }
241
- }
242
- });
243
- }
244
- for (const { name, config } of serverPackages) {
245
- const pkgDir = path.join(cwd, "packages", name);
246
- buildTasks.push({
247
- title: `${name} (server)`,
248
- task: async () => {
249
- const serverWorker = Worker.create(serverWorkerPath);
250
- try {
251
- const buildResult = await serverWorker.build({
252
- name,
253
- cwd,
254
- pkgDir,
255
- env: { ...baseEnv, ...config.env },
256
- configs: config.configs,
257
- externals: config.externals,
258
- pm2: config.pm2,
259
- packageManager: config.packageManager
260
- });
261
- results.push({
262
- name,
263
- target: "server",
264
- type: "js",
265
- success: buildResult.success,
266
- errors: buildResult.errors
267
- });
268
- if (!buildResult.success) state.hasError = true;
269
- } finally {
270
- await serverWorker.terminate();
271
- }
272
- }
273
- });
274
- }
275
- return task.newListr(buildTasks, { concurrent: true, exitOnError: false });
276
- }
277
- }
278
- ],
279
- {
280
- concurrent: false,
281
- exitOnError: false,
282
- renderer: consola.level >= LogLevels.debug ? "verbose" : "default"
283
- }
284
- );
7
+ const orchestrator = new BuildOrchestrator(orchestratorOptions);
285
8
  try {
286
- await mainListr.run();
287
- } catch {
288
- }
289
- const allDiagnostics = [];
290
- for (const result of results) {
291
- if (!result.success) {
292
- const typeLabel = result.type === "dts" ? "dts" : result.target;
293
- const errorLines = [`${result.name} (${typeLabel})`];
294
- if (result.errors != null) {
295
- for (const error of result.errors) {
296
- for (const line of error.split("\n")) {
297
- errorLines.push(` \u2192 ${line}`);
298
- }
299
- }
300
- }
301
- consola.error(errorLines.join("\n"));
9
+ await orchestrator.initialize();
10
+ const hasError = await orchestrator.start();
11
+ if (hasError) {
12
+ process.exitCode = 1;
302
13
  }
303
- if (result.diagnostics != null) {
304
- allDiagnostics.push(...result.diagnostics);
305
- }
306
- }
307
- if (allDiagnostics.length > 0) {
308
- const uniqueDiagnostics = ts.sortAndDeduplicateDiagnostics(allDiagnostics);
309
- const message = ts.formatDiagnosticsWithColorAndContext(uniqueDiagnostics, formatHost);
310
- process.stdout.write(message);
311
- }
312
- if (state.hasError) {
313
- logger.error("\uBE4C\uB4DC \uC2E4\uD328");
14
+ } catch {
314
15
  process.exitCode = 1;
315
- } else {
316
- logger.info("\uBE4C\uB4DC \uC644\uB8CC");
16
+ } finally {
17
+ await orchestrator.shutdown();
317
18
  }
318
19
  }
319
20
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/build.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA,SAAS,yBAAwD;AAyBjE,eAAsB,SAAS,SAAsC;AACnE,QAAM,sBAAgD;AAAA,IACpD,SAAS,QAAQ;AAAA,IACjB,SAAS,QAAQ;AAAA,EACnB;AAEA,QAAM,eAAe,IAAI,kBAAkB,mBAAmB;AAE9D,MAAI;AACF,UAAM,aAAa,WAAW;AAC9B,UAAM,WAAW,MAAM,aAAa,MAAM;AAC1C,QAAI,UAAU;AACZ,cAAQ,WAAW;AAAA,IACrB;AAAA,EACF,QAAQ;AACN,YAAQ,WAAW;AAAA,EACrB,UAAE;AACA,UAAM,aAAa,SAAS;AAAA,EAC9B;AACF;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Dev 명령 옵션
2
+ * Dev 명령 옵션 (하위 호환성)
3
3
  */
4
4
  export interface DevOptions {
5
5
  /** dev할 패키지 필터 (빈 배열이면 모든 패키지) */
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAiBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiiB/D"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/D"}