@hyzyn/dsh-tty 0.20.1 → 0.21.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.
package/lib/sftp.js CHANGED
@@ -53,6 +53,22 @@ export function assertRemovableRemotePath(raw) {
53
53
  }
54
54
  /** OpenSSH 等 server 的 readdir 会带回 '.'/'..':目录列表与递归删除都要跳过。 */
55
55
  const DOT_ENTRIES = new Set(['.', '..']);
56
+ /**
57
+ * SFTP 失败文案:`<动作> <对象>: <原因>`。
58
+ *
59
+ * 为什么必须带对象(D59):agent 常把 sftp_list 当「这个路径存不存在」的探测用,
60
+ * 批量调用时只看到「读取目录失败: No such file」根本判断不出是哪一条失败——只能靠
61
+ * 事件序号回推。path / from→to 就在各调用点作用域里,没有理由不带。
62
+ *
63
+ * ssh2 把 SFTP 状态码挂在 `err.code` 上(SFTP.js `err.code = errorCode`):
64
+ * NO_SUCH_FILE / PERMISSION_DENIED 单独点明,省得调用方从英文 errno 里猜语义。
65
+ */
66
+ function sftpFail(action, target, error, note = '') {
67
+ const code = typeof error === 'object' && error !== null ? error.code : undefined;
68
+ const reason = error instanceof Error ? error.message : String(error);
69
+ const detail = code === 2 ? '不存在(NO_SUCH_FILE)' : code === 3 ? '权限不足(PERMISSION_DENIED)' : reason;
70
+ return new Error(`${action} ${target}: ${detail}${note}`);
71
+ }
56
72
  /** 远程路径拼接(POSIX 语义;本机路径拼接用 node:path)。 */
57
73
  function joinRemotePath(base, name) {
58
74
  return (base.endsWith('/') ? base : base + '/') + name;
@@ -198,7 +214,7 @@ export class SftpManager {
198
214
  catch (error) {
199
215
  // 请求的根目录读不到(不存在/权限)→ 明确报错;子目录失败记入 errors 继续
200
216
  if (isRoot)
201
- throw new Error(`读取目录失败: ${error instanceof Error ? error.message : String(error)}`);
217
+ throw sftpFail('读取目录失败', dir, error);
202
218
  errors.push({ path: dir, message: error instanceof Error ? error.message : String(error) });
203
219
  return;
204
220
  }
@@ -238,7 +254,7 @@ export class SftpManager {
238
254
  async rename(spec, from, to) {
239
255
  const sftp = await this.acquire(spec);
240
256
  await new Promise((resolve, reject) => {
241
- sftp.rename(from.trim(), to.trim(), (error) => (error != null ? reject(new Error(`重命名失败: ${error.message}`)) : resolve()));
257
+ sftp.rename(from.trim(), to.trim(), (error) => (error != null ? reject(sftpFail('重命名失败', `${from.trim()} → ${to.trim()}`, error)) : resolve()));
242
258
  });
243
259
  }
244
260
  /**
@@ -285,7 +301,7 @@ export class SftpManager {
285
301
  const target = path.trim();
286
302
  if (append) {
287
303
  const stream = sftp.createWriteStream(target, { flags: 'a' });
288
- const done = this.streamDone(stream, () => { });
304
+ const done = this.streamDone(stream, () => { }, target);
289
305
  done.catch(() => { });
290
306
  return { stream, done, writePath: target };
291
307
  }
@@ -308,7 +324,7 @@ export class SftpManager {
308
324
  stream.on('error', (error) => {
309
325
  settled = true;
310
326
  dropPart();
311
- reject(new Error(`上传写入失败: ${error.message}`));
327
+ reject(sftpFail('上传写入失败', target, error));
312
328
  });
313
329
  stream.on('close', () => {
314
330
  if (settled)
@@ -364,10 +380,10 @@ export class SftpManager {
364
380
  }
365
381
  }
366
382
  /** WriteStream 的 done Promise(close 即 resolve,error reject);onClose 钩子供覆盖写路径塞落盘逻辑。 */
367
- streamDone(stream, onClose) {
383
+ streamDone(stream, onClose, target) {
368
384
  return new Promise((resolve, reject) => {
369
385
  stream.on('error', (error) => {
370
- reject(new Error(`上传写入失败: ${error.message}`));
386
+ reject(sftpFail('上传写入失败', target, error));
371
387
  });
372
388
  stream.on('close', () => {
373
389
  onClose();
@@ -782,7 +798,7 @@ export class SftpManager {
782
798
  /* -------------------------------------------------------------- */
783
799
  realpath(sftp, path) {
784
800
  return new Promise((resolve, reject) => {
785
- sftp.realpath(path, (error, absPath) => (error !== undefined ? reject(new Error(`realpath 失败: ${error.message}`)) : resolve(absPath)));
801
+ sftp.realpath(path, (error, absPath) => (error !== undefined ? reject(sftpFail('realpath 失败', path, error)) : resolve(absPath)));
786
802
  });
787
803
  }
788
804
  /** stat 的静默版:路径不存在等错误一律回 null(mkdir -p 的逐级探测用)。 */
@@ -793,21 +809,21 @@ export class SftpManager {
793
809
  }
794
810
  mkdirOne(sftp, path) {
795
811
  return new Promise((resolve, reject) => {
796
- sftp.mkdir(path, (error) => (error != null ? reject(new Error(`创建目录失败: ${error.message}`)) : resolve()));
812
+ sftp.mkdir(path, (error) => (error != null ? reject(sftpFail('创建目录失败', path, error)) : resolve()));
797
813
  });
798
814
  }
799
815
  readdir(sftp, path) {
800
816
  return new Promise((resolve, reject) => {
801
- sftp.readdir(path, (error, list) => (error !== undefined ? reject(new Error(`读取目录失败: ${error.message}`)) : resolve(list)));
817
+ sftp.readdir(path, (error, list) => (error !== undefined ? reject(sftpFail('读取目录失败', path, error)) : resolve(list)));
802
818
  });
803
819
  }
804
820
  async removeEntry(sftp, path, recursive) {
805
821
  const stats = await new Promise((resolve, reject) => {
806
- sftp.lstat(path, (error, stats) => (error !== undefined ? reject(new Error(`删除失败: ${error.message}`)) : resolve(stats)));
822
+ sftp.lstat(path, (error, stats) => (error !== undefined ? reject(sftpFail('删除失败', path, error)) : resolve(stats)));
807
823
  });
808
824
  if (!stats.isDirectory()) {
809
825
  await new Promise((resolve, reject) => {
810
- sftp.unlink(path, (error) => (error != null ? reject(new Error(`删除失败: ${error.message}`)) : resolve()));
826
+ sftp.unlink(path, (error) => (error != null ? reject(sftpFail('删除失败', path, error)) : resolve()));
811
827
  });
812
828
  return;
813
829
  }
@@ -815,7 +831,7 @@ export class SftpManager {
815
831
  await new Promise((resolve, reject) => {
816
832
  // 不预设原因:非空与权限拒绝在 SFTP 层都是笼统的 Failure,把两种可能
817
833
  // 一并列出让用户自行分辨(此前一律归因为「非空」误导权限问题)
818
- sftp.rmdir(path, (error) => (error != null ? reject(new Error(`删除目录失败: ${error.message}(目录非空时需 recursive:true;若非此原因,多为账号对该目录无写权限)`)) : resolve()));
834
+ sftp.rmdir(path, (error) => (error != null ? reject(sftpFail('删除目录失败', path, error, '(目录非空时需 recursive:true;若非此原因,多为账号对该目录无写权限)')) : resolve()));
819
835
  });
820
836
  return;
821
837
  }
@@ -827,7 +843,7 @@ export class SftpManager {
827
843
  await this.removeEntry(sftp, base + child.filename, true);
828
844
  }
829
845
  await new Promise((resolve, reject) => {
830
- sftp.rmdir(path, (error) => (error != null ? reject(new Error(`删除目录失败: ${error.message}`)) : resolve()));
846
+ sftp.rmdir(path, (error) => (error != null ? reject(sftpFail('删除目录失败', path, error)) : resolve()));
831
847
  });
832
848
  }
833
849
  }
package/lib/sftp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sftp.js","sourceRoot":"","sources":["../src/sftp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sftp.js","sourceRoot":"","sources":["../src/sftp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACrG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAG5E,sCAAsC;AACtC,MAAM,YAAY,GAAG,OAAO,CAAA;AAC5B,YAAY;AACZ,MAAM,aAAa,GAAG,MAAM,CAAA;AAE5B,wDAAwD;AACxD,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IACvB,IAAI,IAAI,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IACjD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACjG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAA;IAChF,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,6DAA6D;AAC7D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;AAExC;;;;;;;;;GASG;AACH,SAAS,QAAQ,CAAC,MAAc,EAAE,MAAc,EAAE,KAAc,EAAE,IAAI,GAAG,EAAE;IACzE,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IACzG,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAA;IACjG,OAAO,IAAI,KAAK,CAAC,GAAG,MAAM,IAAI,MAAM,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED,0CAA0C;AAC1C,SAAS,cAAc,CAAC,IAAY,EAAE,IAAY;IAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA;AACxD,CAAC;AAwFD,SAAS,eAAe,CAAC,OAA6B;IACpD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI;QAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;AAC1E,CAAC;AAED,iDAAiD;AACjD,MAAM,qBAAsB,SAAQ,KAAK;IACvC;QACE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAUD,SAAS,WAAW,CAAC,IAAa;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,OAAO,WAAW;IAMH;IACA;IANF,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC/C,OAAO,GAA0B,IAAI,CAAA;IAC5B,IAAI,GAAG,IAAI,GAAG,EAAwD,CAAA;IAEvF,YACmB,MAAkB,EAClB,KAAmB;QADnB,WAAM,GAAN,MAAM,CAAY;QAClB,UAAK,GAAL,KAAK,CAAc;IACnC,CAAC;IAEJ,0BAA0B;IAC1B,UAAU;QACR,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,4BAA4B;QAC5B,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAAE,KAAK,CAAC,MAAM,EAAE,CAAA;QAC3D,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAED,oEAAoE;IACpE,iEAAiE;IACjE,oEAAoE;IAEpE,qDAAqD;IACrD,KAAK,CAAC,IAAI,CAAC,IAAa,EAAE,IAAY;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,MAAM,QAAQ,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC1E,mEAAmE;QACnE,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClG,MAAM,OAAO,GAAoB,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACtC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;YAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI;SAC5C,CAAC,CAAC,CAAA;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACtD,IAAI,QAAQ,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAA;YACnC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,IAAa,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAI,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACjC,OAAM;QACR,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC,CAAA;QAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM,CAAC,aAAa;QAC/C,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjD,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;QAC3C,CAAC,CAAA;QACD,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAClC,OAAM;YACR,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACpD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,IAAI,QAAQ,CAAC,WAAW,EAAE;wBAAE,OAAM;oBAClC,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,WAAW,CAAC,CAAA;gBAChD,CAAC;gBACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,MAAM,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;oBACvB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;wBAClC,OAAM;oBACR,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;oBAC1B,CAAC;oBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;oBACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE;wBAAE,OAAM;gBACnD,CAAC;gBACD,MAAM,UAAU,CAAA;YAClB,CAAC;QACH,CAAC,CAAA;QACD,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,IAAa,EAAE,IAAY,EAAE,UAAsD,EAAE;QAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,QAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,UAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3H,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAClH,MAAM,OAAO,GAAoB,EAAE,CAAA;QACnC,MAAM,MAAM,GAA6C,EAAE,CAAA;QAC3D,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,MAAM,GAAG,KAAK,EAAiB,EAAE;YAC/E,IAAI,IAAyC,CAAA;YAC7C,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4CAA4C;gBAC5C,IAAI,MAAM;oBAAE,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC3F,OAAM;YACR,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjB,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClF,IAAI,QAAQ,KAAK,CAAC;oBAAE,OAAO,QAAQ,CAAA;gBACnC,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC7C,CAAC,CAAC,CAAA;YACF,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;oBACjC,SAAS,GAAG,IAAI,CAAA;oBAChB,OAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;gBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAA;gBAC7C,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ;oBACzE,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,KAAK;oBACL,KAAK;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;oBAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI;iBAC5C,CAAC,CAAA;gBACF,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,IAAI,KAAK,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;wBACzB,SAAS,GAAG,IAAI,CAAA;wBAChB,SAAQ;oBACV,CAAC;oBACD,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC5F,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,IAAY,EAAE,EAAU;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACjJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,IAAY,EAAE,SAAkB;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,IAAa,EAAE,IAAY,EAAE,OAA6B;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxI,CAAC,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,kCAAkC,CAAC,CAAA;QACrF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5D,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,IAAY,EAAE,MAAM,GAAG,KAAK;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,MAAM,CAAC,CAAA;YACtD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACpB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;QAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,MAAM,aAAa,UAAU,EAAE,EAAE,CAAA;QACrD,iDAAiD;QACjD,sDAAsD;QACtD,yCAAyC;QACzC,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,OAAO,GAAG,KAAK,CAAA;YACnB,MAAM,QAAQ,GAAG,GAAS,EAAE;gBAC1B,+BAA+B;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC1E,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAA;YACD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClC,OAAO,GAAG,IAAI,CAAA;gBACd,QAAQ,EAAE,CAAA;gBACV,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;YAC3C,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,IAAI,OAAO;oBAAE,OAAM;gBACnB,OAAO,GAAG,IAAI,CAAA;gBACd,+CAA+C;gBAC/C,wDAAwD;gBACxD,oDAAoD;gBACpD,qDAAqD;gBACrD,yCAAyC;gBACzC,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAClC,QAAQ,EAAE,CAAA;oBACV,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAA;oBAC9C,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;oBAC1E,QAAQ,EAAE,CAAA;oBACV,MAAM,CAAC,KAAK,CAAC,CAAA;gBACf,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,+CAA+C;QAC/C,4CAA4C;QAC5C,iDAAiD;QACjD,gDAAgD;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACpB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,IAAiB,EAAE,MAAc;QAC5D,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YAC3B,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAA;YAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAsC,CAAC,OAAO,EAAE,EAAE;gBAC9E,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC3F,CAAC,CAAC,CAAA;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,SAAQ;gBAChD,MAAM,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;gBACvD,IAAI,GAAG,GAAG,aAAa;oBAAE,SAAQ;gBACjC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;YAC9H,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,aAAa;QACf,CAAC;IACH,CAAC;IAED,sFAAsF;IAC9E,UAAU,CAAC,MAAmB,EAAE,OAAmB,EAAE,MAAc;QACzE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;YAC3C,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,OAAO,EAAE,CAAA;gBACT,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,IAAiB,EAAE,IAAY,EAAE,EAAU;QACjE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAA;YACrC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,QAAQ,EAAE,CAAA;gBACV,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,uDAAuD;gBACvD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAoB,EAAE,EAAE;oBAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1C,OAAO,EAAE,CAAA;wBACT,OAAM;oBACR,CAAC;oBACD,QAAQ,EAAE,CAAA;gBACZ,CAAC,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,EAAE,CAAA;YACZ,CAAC;YACD,SAAS,QAAQ;gBACf,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE;oBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE;wBACpC,IAAI,WAAW,IAAI,IAAI;4BAAE,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;;4BAC7F,OAAO,EAAE,CAAA;oBAChB,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,oEAAoE;IACpE,mDAAmD;IACnD,oEAAoE;IAEpE;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CAAC,IAAa,EAAE,SAAiB,EAAE,UAAkB,EAAE,OAA6B,EAAE,KAAK,GAAG,CAAC;QAClH,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,IAAI,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAClE,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QACF,eAAe,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,IAAI,KAAK,IAAI,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAA;YAClE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/D,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,KAAK,CAAC,cAAc,EAAE;oBAAE,SAAQ;gBACpC,eAAe,CAAC,OAAO,CAAC,CAAA;gBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC1H,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5B,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QAClF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yCAAyC;YACzC,mDAAmD;YACnD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;gBAC7C,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC9F,CAAC;QACD,MAAM,IAAI,CAAA;IACZ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,IAAa,EAAE,UAAkB,EAAE,SAAiB,EAAE,OAA6B,EAAE,KAAK,GAAG,CAAC;QAClH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;QAChC,IAAI,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC/D,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC9E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACpI,CAAC,CAAC,CAAA;QACF,eAAe,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YACnD,IAAI,KAAK,IAAI,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,MAAM,CAAC,CAAA;YACtE,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBACzC,mCAAmC;gBACnC,iCAAiC;gBACjC,IAAI,KAAK,CAAC,SAAS;oBAAE,SAAQ;gBAC7B,eAAe,CAAC,OAAO,CAAC,CAAA;gBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC3H,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;YACvC,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;gBACtC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAChD,iBAAiB;gBACnB,CAAC,CAAC,CAAA;gBACF,MAAM,IAAI,qBAAqB,EAAE,CAAA;YACnC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC9F,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,WAAW,CAAC,MAA6B,EAAE,IAA2B,EAAE,OAAwC;QAC5H,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,CAAC;YAC7F,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC5B,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAA;QAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;YAC/B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,WAAW,GAAwB,IAAI,CAAA;QAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YAC7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,GAAS,EAAE;oBACvB,KAAK,CAAC,OAAO,EAAE,CAAA;gBACjB,CAAC,CAAA;gBACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBACvD,WAAW,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;gBAAS,CAAC;YACT,WAAW,EAAE,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,iBAAiB,CAAC,IAAa,EAAE,IAAY;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,aAAa,CAAC,IAAa,EAAE,SAAwB,EAAE,SAAiB,EAAE,UAAkB,EAAE,OAA6B,EAAE,KAAK,GAAG,CAAC;QAClJ,IAAI,CAAC;YACH,IAAI,KAAK,IAAI,GAAG;gBAAE,OAAO,CAAC,CAAA;YAC1B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;gBACpC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC7D,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;gBACpE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC7B,IAAI,KAAK,CAAC,cAAc,EAAE;wBAAE,SAAQ;oBACpC,eAAe,CAAC,OAAO,CAAC,CAAA;oBACxB,KAAK,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACjJ,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAA8B,CAAC,OAAO,EAAE,EAAE;gBACvE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC3F,CAAC,CAAC,CAAA;YACF,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAA;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;YACxD,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAqB,EAAE,CAAC,CAAC,CAAA;YAChG,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,SAAS;oBAAE,SAAQ;gBAC5D,eAAe,CAAC,OAAO,CAAC,CAAA;gBACxB,KAAK,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACjJ,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,qBAAqB;gBAAE,MAAM,KAAK,CAAA;YACvD,+BAA+B;YAC/B,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,aAAa,CAAC,IAAa,EAAE,SAAwB,EAAE,SAAiB,EAAE,UAAkB;QAC1F,MAAM,GAAG,GAAoB;YAC3B,EAAE,EAAE,UAAU,EAAE;YAChB,SAAS;YACT,SAAS;YACT,UAAU;YACV,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,SAAS;SACjB,CAAA;QACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAChE,MAAM,OAAO,GAAwB;YACnC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;YACpB,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,GAAG,CAAC,KAAK,IAAI,KAAK,CAAA;YACpB,CAAC;SACF,CAAA;QACD,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;gBACrF,IAAI,SAAS,KAAK,IAAI;oBAAE,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;;oBACnF,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;gBACrE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAA;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAA;gBAC5D,GAAG,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACpE,CAAC;oBAAS,CAAC;gBACT,iCAAiC;gBACjC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAA;YAC9D,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QACJ,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,sCAAsC;IACtC,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAA;IAC/B,CAAC;IAED,yDAAyD;IACzD,cAAc,CAAC,EAAU;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACzC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,EAAE,CAAA;QACjD,OAAO,KAAK,CAAC,GAAG,CAAA;IAClB,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,oEAAoE;IAEpE,8CAA8C;IACtC,KAAK,CAAC,OAAO,CAAC,IAAa;QACjC,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC9B,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAA;QACzB,IAAI,IAAiB,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;YACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YAC1G,qDAAqD;YACrD,qDAAqD;YACrD,IAAK,aAA2C,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACtE,MAAM,QAAQ,GAAI,aAAuC,CAAC,QAAQ,IAAI,EAAE,CAAA;gBACxE,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;oBAClF,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACtB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,OAAO,GAAG,KAAK,CAAA;gBACnB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACpB,OAAO,GAAG,IAAI,CAAA;oBACd,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;oBAChC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,GAAG,IAAI,CAAA;wBACd,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,EAAE,CAAA;wBACzC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,YAAY,MAAM,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;oBACxE,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;oBACrE,CAAC;gBACH,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACpB,uBAAuB;oBACvB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;oBACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;wBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACxE,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACnE,CAAC;YACH,CAAC,CAAC,CAAA;YACF,IAAI,GAAG,MAAM,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;oBAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;wBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;;wBAC9F,OAAO,CAAC,OAAO,CAAC,CAAA;gBACvB,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,EAAE,CAAA;YACZ,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,MAAM,KAAK,CAAC,CAAA;QAC/C,MAAM,EAAE,GAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAC7E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAM;QACjC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,KAAK,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACxD,IAAI,GAAG,GAAG,EAAE,CAAC,QAAQ,GAAG,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBAC7D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,aAAa,CAAC,CAAA;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAA;IACxB,CAAC;IAEO,KAAK,CAAC,EAAe;QAC3B,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,6DAA6D;IAC7D,oEAAoE;IAE5D,QAAQ,CAAC,IAAiB,EAAE,IAAY;QAC9C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAClI,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,mDAAmD;IAC3C,SAAS,CAAC,IAAiB,EAAE,IAAY;QAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,QAAQ,CAAC,IAAiB,EAAE,IAAY;QAC9C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACpG,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,OAAO,CAAC,IAAiB,EAAE,IAAY;QAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAiB,EAAE,IAAY,EAAE,SAAkB;QAC3E,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACpH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YACnG,CAAC,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,2CAA2C;gBAC3C,iCAAiC;gBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,4CAA4C,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAClJ,CAAC,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAA;QACnD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,SAAQ;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC3D,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACpG,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
package/lib/tunnels.d.ts CHANGED
@@ -25,6 +25,8 @@ export interface TunnelStatus {
25
25
  enabled: boolean;
26
26
  state: TunnelState;
27
27
  error: string | null;
28
+ /** 人工介入级故障(本地监听失败 / 连接簿缺失):不会自动重试,改配置后重建(D58)。 */
29
+ fatal: boolean;
28
30
  /** 规则的人类可读形式:`本机:5432 → db:5432` / `远程:8080 → 本机:3000` */
29
31
  rule: string;
30
32
  /** 当前活跃连接数 */
package/lib/tunnels.js CHANGED
@@ -20,6 +20,22 @@
20
20
  import net from 'node:net';
21
21
  import { Client } from 'ssh2';
22
22
  import { applyHostKeyPolicy, buildConnectConfig, classifyError } from './ssh.js';
23
+ /**
24
+ * 本地监听失败的文案(D58 补充):`EADDRINUSE` 在多 profile 场景下**几乎总是**
25
+ * 「另一个 profile 的宿主进程还占着这个端口」——端口转发是**机器级**资源,而配置是按
26
+ * profile 各存一份(复制 profile 会把隧道一起拷走,见 Profile 管理)。原样回一句
27
+ * `listen EADDRINUSE` 只会让人去翻 `lsof`,这里把原因与两条出路直接写出来。
28
+ */
29
+ function localListenFailureMessage(port, error) {
30
+ const head = `本地监听 127.0.0.1:${String(port)} 失败: ${error.message}`;
31
+ if (error.code === 'EADDRINUSE') {
32
+ return `${head} —— 该端口已被占用。端口转发是机器级资源,最常见的原因是**另一个 DSH profile 的宿主进程**还在运行同一条隧道(每个 profile 的隧道配置各自独立,复制 profile 会一并拷走)。两条出路:在本 profile 关掉这条隧道,或把它换成一个没被占用的 localPort。`;
33
+ }
34
+ if (error.code === 'EACCES') {
35
+ return `${head} —— 1024 以下的端口需要特权;换一个 ≥1024 的 localPort。`;
36
+ }
37
+ return head;
38
+ }
23
39
  const MAX_RETRY_DELAY_MS = 15_000;
24
40
  function signatureOf(spec) {
25
41
  return JSON.stringify(spec);
@@ -85,6 +101,7 @@ export class TunnelManager {
85
101
  enabled: rt.spec.enabled,
86
102
  state: rt.state,
87
103
  error: rt.error,
104
+ fatal: rt.fatal,
88
105
  rule: ruleOf(rt.spec),
89
106
  connections: rt.connections,
90
107
  totalConnections: rt.totalConnections,
@@ -103,7 +120,7 @@ export class TunnelManager {
103
120
  if (rt.spec.direction === 'local') {
104
121
  const server = net.createServer((socket) => this.onLocalConnection(rt, socket));
105
122
  server.on('error', (error) => {
106
- this.failTunnel(rt, `本地监听 127.0.0.1:${String(rt.spec.localPort ?? 0)} 失败: ${error.message}`);
123
+ this.failTunnel(rt, localListenFailureMessage(rt.spec.localPort ?? 0, error));
107
124
  });
108
125
  server.listen(rt.spec.localPort ?? 0, '127.0.0.1', () => {
109
126
  this.logger.info(`[dsh-tty] 隧道 ${rt.spec.name} 监听 127.0.0.1:${String(rt.spec.localPort ?? 0)}`);
@@ -168,6 +185,15 @@ export class TunnelManager {
168
185
  * 收敛成 scheduleRetry / failTunnel,调用方不必关心返回的 Promise。
169
186
  */
170
187
  async connectTunnel(rt) {
188
+ /*
189
+ * fatal 之后不得再进入(D58,补完 D53):本地监听失败 / 连接簿缺失是人工介入级,
190
+ * 重试一百次也是同一结果。真正把生产打穿的那条路径是**定时器重入**(见
191
+ * scheduleRetry 的 timer 回调),入口这一道是纵深防御——挡住任何新增调用方把
192
+ * error 态刷回 connecting(那会让面板与 agent 永远以为「还在连」)。
193
+ * fatal 只在 reconcile 按新签名重建运行时归零,所以这里不会挡住「改配置后恢复」。
194
+ */
195
+ if (rt.dead || rt.fatal)
196
+ return;
171
197
  const spec = rt.spec;
172
198
  const book = this.resolveBook(spec.bookName);
173
199
  if (book === undefined) {
@@ -382,7 +408,11 @@ export class TunnelManager {
382
408
  this.logger.warn(`[dsh-tty] 隧道 ${rt.spec.name} 将在 ${String(delay)}ms 后重连(第 ${String(rt.retryAttempt)} 次):${message}`);
383
409
  const timer = setTimeout(() => {
384
410
  rt.retryTimer = null;
385
- if (!rt.dead && rt.spec.enabled)
411
+ // fatal 必须一起挡(D58):定时器可能在 fatal **之前**就排好了——凭据解析失败
412
+ // 先发生(非 fatal,排 1s 定时器)、本地监听 EADDRINUSE 后到(fatal)。放它进来
413
+ // 会把 error 覆写成 connecting,而随后的失败又都被本方法的 fatal 短路挡住,
414
+ // 于是状态永久卡在 connecting、还挂着那条致命错误(生产实测的顺序)。
415
+ if (!rt.dead && !rt.fatal && rt.spec.enabled)
386
416
  void this.connectTunnel(rt);
387
417
  }, delay);
388
418
  timer.unref?.();
@@ -1 +1 @@
1
- {"version":3,"file":"tunnels.js","sourceRoot":"","sources":["../src/tunnels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnels.js","sourceRoot":"","sources":["../src/tunnels.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyzyn/dsh-tty",
3
- "version": "0.20.1",
3
+ "version": "0.21.0",
4
4
  "description": "DSH Web GUI 的终端面板插件:侧边栏「终端」大弹窗,xterm.js + PTY 全交互终端(路线1),ssh2 原生 SSH 远程连接(方案 C),tmux 会话持久化(0.10.0),连接栏扩展点 ttyConnbar(0.13.0)、终端服务 ttyTerminal(0.14.0 open / 0.15.0 mount 就地嵌入)、面板内挂载位 ttyPanel(0.16.0 右侧 dock)、服务器状态条(0.17.0:按标签可见性采端主机 CPU / 内存 / 磁盘 / 在线时长 / TCP / 网速 / 温度,SSH 走同连接的非 PTY exec channel、本地走 os/proc,best-effort、不碰 PTY 流)、连接密码存入官方凭据存储(0.18.0:字段里只留 env: 引用、引用名按资源身份派生、候选来自凭据存储 ∪ 连接簿;设置卡片的连接编辑与连接对话框共用同一套表单)、Windows 宿主支持(0.18.1:默认 shell = %COMSPEC%、不做 POSIX 包装层、PowerShell 走 -NoLogo/-Command;shell 集成 / tmux / 状态条三项在 Windows 本地不适用,README 有完整边界)。",
5
5
  "keywords": [
6
6
  "dsh",
@@ -33,28 +33,30 @@
33
33
  "./package.json": "./package.json"
34
34
  },
35
35
  "dsh": {
36
+ "manifestVersion": 1,
36
37
  "bundle": {
37
38
  "patch": "./cordis.patch.yml"
38
39
  },
39
40
  "engines": {
40
- "dsh": ">=0.1.2-rc.1"
41
+ "dsh": ">=0.1.7-rc.2"
41
42
  },
42
43
  "client": {
43
44
  "platform": "web"
44
45
  }
45
46
  },
46
47
  "dependencies": {
47
- "@deepseek-ai/schemastery": "^3.18.2",
48
- "@hyzyn/dsh-kit": "0.4.1",
48
+ "@deepseek-ai/schemastery": "^3.18.4",
49
+ "@hyzyn/dsh-kit": "0.4.2",
49
50
  "@xterm/headless": "^5.5.0",
50
51
  "ssh2": "^1.17.0",
51
52
  "ws": "^8.18.0"
52
53
  },
53
54
  "peerDependencies": {
54
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1"
55
+ "@deepseek-ai/dsh": "^0.1.7-rc.2",
56
+ "@deepseek-ai/dsh-tools": "^0.1.7-rc.2"
55
57
  },
56
58
  "devDependencies": {
57
- "@deepseek-ai/cordis": "^4.0.2",
59
+ "@deepseek-ai/cordis": "^4.0.4",
58
60
  "@deepseek-ai/dsh-host-webserver": "0.1.2-rc.1",
59
61
  "@deepseek-ai/dsh-subprocess": "0.1.2-rc.1",
60
62
  "@deepseek-ai/dsh-subprocess-local": "0.1.2-rc.1",
@@ -90,6 +92,11 @@
90
92
  "publishConfig": {
91
93
  "access": "public"
92
94
  },
95
+ "peerDependenciesMeta": {
96
+ "@deepseek-ai/dsh": {
97
+ "optional": true
98
+ }
99
+ },
93
100
  "scripts": {
94
101
  "build": "tsc -p tsconfig.json && node scripts/build-client.mjs",
95
102
  "typecheck": "tsc --noEmit && node ../../scripts/client-lint.mjs",
@@ -136,8 +136,15 @@ async function run() {
136
136
  const app = new Context()
137
137
  const wsFiber = app.plugin(WebServerRuntime, { host: '127.0.0.1', port: 0 })
138
138
  const subFiber = app.plugin(LocalSubprocessRuntime)
139
- // 最小 settings 服务 stub:让插件的 settings 注入回调触发,并可手动派发
140
- // settings/updated 事件(与 dsh-settings 的 dispatch 方式一致)来测配置热生效。
139
+ // 最小 settings 服务 stub(DSH ≥0.1.7 的 SettingsForms:describe / update /
140
+ // configure):让插件的 settings 注入回调触发;配置热生效经 loader 的
141
+ // volatile-update 事件派发(见 emitSettingsUpdated)。
142
+ let settingsValue = {}
143
+ /** 派发 loader 的 volatile-update:真实宿主在 settings.update 之后由 loader 发出。 */
144
+ const emitVolatile = () => {
145
+ const args = ['loader/volatile-update', [], {}, 'test']
146
+ for (const cb of app.events.dispatch('emit', args)) cb(...args)
147
+ }
141
148
  const toolDefs = []
142
149
  /** 输出契约违约(§B33:返回值与声明的 output.schema 不符,真实宿主会直接判工具错)。 */
143
150
  const outputViolations = []
@@ -145,7 +152,15 @@ async function run() {
145
152
  const stubFiber = app.plugin({
146
153
  name: 'settings-stub',
147
154
  apply: (ctx) => {
148
- ctx.provide('settings', { register: () => ({ get: () => ({}), update: async () => {} }) })
155
+ ctx.provide('settings', {
156
+ describe: () => [{ ns: 'tty', value: settingsValue }],
157
+ update: async (ns, patch) => {
158
+ if (ns !== 'tty') throw new Error('未知的 entry: ' + ns)
159
+ settingsValue = { ...settingsValue, ...patch }
160
+ emitVolatile()
161
+ },
162
+ configure: () => () => {},
163
+ })
149
164
  ctx.provide('tools', {
150
165
  register: (definition) => {
151
166
  // 输出契约看门狗(§B33):把 execute 的返回值按**声明的 output.schema**
@@ -202,9 +217,10 @@ async function run() {
202
217
  },
203
218
  })
204
219
  await stubFiber.await()
220
+ /** 模拟「外部改了本 entry 的配置」:更新 stub 值再派发 loader 的 volatile-update。 */
205
221
  const emitSettingsUpdated = (ns, next) => {
206
- const args = ['settings/updated', ns, next, {}, 'test']
207
- for (const cb of app.events.dispatch('emit', args)) cb(...args)
222
+ if (ns === 'tty') settingsValue = { ...next }
223
+ emitVolatile()
208
224
  }
209
225
  const pluginFiber = app.plugin({ name, inject, apply }, { maxSessions: 2, term: 'xterm-256color', colorTerm: 'truecolor' })
210
226
  await wsFiber.await()
@@ -278,7 +294,18 @@ async function run() {
278
294
  if (/sid 已存在/.test(s.state.errors[0])) pass('B3 同 sid 二次 spawn 被拒')
279
295
  else fail('B3 同 sid 二次 spawn 被拒', s.state.errors[0])
280
296
  s.client.send(JSON.stringify({ t: 'kill', sid: 'tab-a' }))
281
- await s.waitFor(() => s.state.exited !== null, 10000, 'exit')
297
+ try {
298
+ await s.waitFor(() => s.state.exited !== null, 10000, 'exit')
299
+ } catch (error) {
300
+ // 诊断(CI 上 Linux 专属复现):区分「kill 没生效(服务端仍列着它)」与
301
+ // 「会话已消失、只是 exit 帧没发(PTY 句柄的 done 未兑现)」。
302
+ s.client.send(JSON.stringify({ t: 'sessions' }))
303
+ await sleep(500)
304
+ const sessionsFrame = [...s.state.frames].reverse().find((f) => f.t === 'sessions')
305
+ console.error(' [diag] 收到的帧类型=' + JSON.stringify(s.state.frames.map((f) => f.t)))
306
+ console.error(' [diag] 服务端会话清单=' + JSON.stringify(sessionsFrame?.list ?? null))
307
+ throw error
308
+ }
282
309
  s.client.close()
283
310
  }
284
311
 
@@ -1187,9 +1214,11 @@ async function run() {
1187
1214
  execFile(file, args, { timeout: 5000 }, (error, stdout, stderr) => resolve({ error, stdout: String(stdout), stderr: String(stderr) }))
1188
1215
  })
1189
1216
  })
1217
+ let tmuxListError = null
1190
1218
  const tmuxList = async () => {
1191
1219
  const out = await execFileP('tmux', ['-L', 'dsh-tty', 'list-sessions', '-F', '#{session_name}'])
1192
- return out.error !== null && out.error !== undefined ? [] : out.stdout.trim().split('\n').filter(Boolean)
1220
+ tmuxListError = out.error === null || out.error === undefined ? null : (out.stderr || String(out.error))
1221
+ return tmuxListError !== null ? [] : out.stdout.trim().split('\n').filter(Boolean)
1193
1222
  }
1194
1223
  const post = async (body) => {
1195
1224
  const res = await fetch(`http://127.0.0.1:${port}/api/dsh-tty/config`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(body) })
@@ -1274,8 +1303,18 @@ async function run() {
1274
1303
  await post({ reconnectGraceSec: 1 })
1275
1304
  const w1 = openSession(port)
1276
1305
  await w1.open()
1306
+ const cfgBefore = await (await fetch(`http://127.0.0.1:${port}/api/dsh-tty/config`)).json()
1277
1307
  w1.client.send(JSON.stringify({ t: 'spawn', sid: 'b26a', cols: 80, rows: 24, persist: true, persistName: 'b26resume' }))
1278
1308
  await w1.waitFor(() => w1.state.ready, 10000, 'b26a ready')
1309
+ {
1310
+ const readyFrame = w1.state.frames.find((f) => f.t === 'ready' && f.sid === 'b26a')
1311
+ const listedAfterSpawn = await tmuxList()
1312
+ console.error(' [diag] persistence=' + String(cfgBefore?.config?.persistence)
1313
+ + ' ready.persist=' + String(readyFrame?.persist)
1314
+ + ' tmuxAfterSpawn=' + JSON.stringify(listedAfterSpawn)
1315
+ + ' TMPDIR=' + JSON.stringify(process.env.TMPDIR ?? null)
1316
+ + ' tmuxListError=' + JSON.stringify(tmuxListError))
1317
+ }
1279
1318
  w1.client.send(JSON.stringify({ t: 'input', sid: 'b26a', d: 'printf "B26MARK-%s\\n" resume\n' }))
1280
1319
  await w1.waitFor(() => /B26MARK-resume/.test(w1.state.text), 10000, '标记输出')
1281
1320
  // 异常断开 → 孤儿 → 保活 1s + 回收器扫描(≤10s)只杀 PTY;tmux 会话应存活
@@ -12,6 +12,8 @@
12
12
  * node scripts/preview.mjs --list # 列出场景
13
13
  * node scripts/preview.mjs --build # 顺带重建 client.js(默认不重建,产物落后直接报错)
14
14
  * node scripts/preview.mjs --theme=light # 浅色主题
15
+ * node scripts/preview.mjs --width=560 # 压窄视口走查窄容器排版(默认 1680)
16
+ * PREVIEW_CHROME_ARGS=--no-sandbox node scripts/preview.mjs # 受限沙箱 / CI 里 Chrome 起不来时
15
17
  *
16
18
  * 需要本机有 Chrome/Chromium(默认找 playwright 缓存的 Chrome for Testing,
17
19
  * 也可用 CHROME_PATH 指定)。
@@ -37,6 +39,18 @@ const wantBuild = flags.has('--build')
37
39
  /** 输出子目录:--out=shots-light 之类,便于并排比较明暗主题。 */
38
40
  const outName = (argv.find((a) => a.startsWith('--out=')) || '--out=shots').split('=')[1]
39
41
  const shotsDir = join(previewDir, outName)
42
+ /**
43
+ * 视口宽度(默认 1680)。真实宿主里这张卡片常挂在窄容器里(插件管理页 / 侧栏),
44
+ * 1680px 的宽视口会把「一行塞不塞得下」这类排版问题盖掉——走查窄排版时用
45
+ * `--width=560` 之类显式压窄。
46
+ */
47
+ const viewportWidth = Number((argv.find((a) => a.startsWith('--width=')) || '--width=1680').split('=')[1]) || 1680
48
+ /**
49
+ * 额外 Chrome 参数(空格分隔)。受限环境(文件沙箱 / CI 容器)里 Chrome 自己的
50
+ * sandbox 起不来,CDP 会一直卡在 `Page.enable` 直到超时——此时用
51
+ * `PREVIEW_CHROME_ARGS=--no-sandbox`。刻意不做默认:那会削弱所有调用方的隔离。
52
+ */
53
+ const extraChromeArgs = (process.env.PREVIEW_CHROME_ARGS ?? '').split(' ').filter((a) => a !== '')
40
54
 
41
55
  /* ------------------------------- 场景清单 ------------------------------- */
42
56
 
@@ -331,6 +345,7 @@ async function launchChrome() {
331
345
  '--disable-webgl',
332
346
  '--force-color-profile=srgb',
333
347
  '--font-render-hinting=none',
348
+ ...extraChromeArgs,
334
349
  'about:blank',
335
350
  ], { stdio: ['ignore', 'ignore', 'pipe'] })
336
351
 
@@ -475,7 +490,7 @@ async function main() {
475
490
  await ensureVendor()
476
491
  log('启动 headless Chrome(' + theme + ' 主题)')
477
492
  const { child, cdp, userDataDir } = await launchChrome()
478
- await cdp.send('Emulation.setDeviceMetricsOverride', { width: 1680, height: 1050, deviceScaleFactor: 2, mobile: false })
493
+ await cdp.send('Emulation.setDeviceMetricsOverride', { width: viewportWidth, height: 1050, deviceScaleFactor: 2, mobile: false })
479
494
  let failed = 0
480
495
  try {
481
496
  for (const name of wanted) {
@@ -24,7 +24,9 @@ async function run() {
24
24
  const stubFiber = app.plugin({
25
25
  name: 'settings-stub',
26
26
  apply: (ctx) => {
27
- ctx.provide('settings', { register: () => ({ get: () => ({}), update: async () => {} }) })
27
+ // DSH ≥0.1.7 的 settings 服务(SettingsForms):describe / update / configure。
28
+ // 本用例不测配置持久化,空 describe 即可(插件的 settings effect 拿到空值)。
29
+ ctx.provide('settings', { describe: () => [], update: async () => {}, configure: () => () => {} })
28
30
  ctx.provide('tools', { register: () => () => {} })
29
31
  // 与真实契约同形(section/context 返回注销器):插件热应用时会调用重建
30
32
  ctx.provide('systemPrompt', {