@yume-chan/adb 0.0.24 → 1.1.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.
Files changed (171) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/README.md +4 -1
  3. package/esm/adb.d.ts +13 -7
  4. package/esm/adb.d.ts.map +1 -1
  5. package/esm/adb.js +3 -0
  6. package/esm/adb.js.map +1 -1
  7. package/esm/banner.d.ts +7 -6
  8. package/esm/banner.d.ts.map +1 -1
  9. package/esm/banner.js +6 -7
  10. package/esm/banner.js.map +1 -1
  11. package/esm/commands/framebuffer.d.ts +63 -34
  12. package/esm/commands/framebuffer.d.ts.map +1 -1
  13. package/esm/commands/framebuffer.js +35 -33
  14. package/esm/commands/framebuffer.js.map +1 -1
  15. package/esm/commands/reverse.d.ts +12 -12
  16. package/esm/commands/reverse.d.ts.map +1 -1
  17. package/esm/commands/reverse.js +39 -30
  18. package/esm/commands/reverse.js.map +1 -1
  19. package/esm/commands/subprocess/protocols/none.d.ts.map +1 -1
  20. package/esm/commands/subprocess/protocols/none.js +3 -5
  21. package/esm/commands/subprocess/protocols/none.js.map +1 -1
  22. package/esm/commands/subprocess/protocols/shell.d.ts +20 -12
  23. package/esm/commands/subprocess/protocols/shell.d.ts.map +1 -1
  24. package/esm/commands/subprocess/protocols/shell.js +16 -21
  25. package/esm/commands/subprocess/protocols/shell.js.map +1 -1
  26. package/esm/commands/subprocess/protocols/types.d.ts +6 -6
  27. package/esm/commands/subprocess/protocols/types.d.ts.map +1 -1
  28. package/esm/commands/sync/list.d.ts +49 -27
  29. package/esm/commands/sync/list.d.ts.map +1 -1
  30. package/esm/commands/sync/list.js +9 -9
  31. package/esm/commands/sync/list.js.map +1 -1
  32. package/esm/commands/sync/pull.d.ts +7 -6
  33. package/esm/commands/sync/pull.d.ts.map +1 -1
  34. package/esm/commands/sync/pull.js +3 -5
  35. package/esm/commands/sync/pull.js.map +1 -1
  36. package/esm/commands/sync/push.d.ts +22 -16
  37. package/esm/commands/sync/push.d.ts.map +1 -1
  38. package/esm/commands/sync/push.js +12 -16
  39. package/esm/commands/sync/push.js.map +1 -1
  40. package/esm/commands/sync/request.d.ts +19 -17
  41. package/esm/commands/sync/request.d.ts.map +1 -1
  42. package/esm/commands/sync/request.js +14 -18
  43. package/esm/commands/sync/request.js.map +1 -1
  44. package/esm/commands/sync/response.d.ts +18 -18
  45. package/esm/commands/sync/response.d.ts.map +1 -1
  46. package/esm/commands/sync/response.js +20 -19
  47. package/esm/commands/sync/response.js.map +1 -1
  48. package/esm/commands/sync/socket.d.ts +1 -1
  49. package/esm/commands/sync/socket.js +2 -2
  50. package/esm/commands/sync/socket.js.map +1 -1
  51. package/esm/commands/sync/stat.d.ts +75 -51
  52. package/esm/commands/sync/stat.d.ts.map +1 -1
  53. package/esm/commands/sync/stat.js +73 -67
  54. package/esm/commands/sync/stat.js.map +1 -1
  55. package/esm/commands/sync/sync.d.ts +14 -14
  56. package/esm/commands/sync/sync.d.ts.map +1 -1
  57. package/esm/commands/sync/sync.js +4 -7
  58. package/esm/commands/sync/sync.js.map +1 -1
  59. package/esm/commands/tcpip.d.ts +0 -1
  60. package/esm/commands/tcpip.d.ts.map +1 -1
  61. package/esm/commands/tcpip.js +8 -8
  62. package/esm/commands/tcpip.js.map +1 -1
  63. package/esm/daemon/auth.d.ts +8 -7
  64. package/esm/daemon/auth.d.ts.map +1 -1
  65. package/esm/daemon/auth.js +7 -8
  66. package/esm/daemon/auth.js.map +1 -1
  67. package/esm/daemon/crypto.d.ts +1 -1
  68. package/esm/daemon/crypto.d.ts.map +1 -1
  69. package/esm/daemon/crypto.js +1 -0
  70. package/esm/daemon/crypto.js.map +1 -1
  71. package/esm/daemon/device.d.ts +2 -2
  72. package/esm/daemon/device.d.ts.map +1 -1
  73. package/esm/daemon/dispatcher.js +6 -6
  74. package/esm/daemon/dispatcher.js.map +1 -1
  75. package/esm/daemon/packet.d.ts +46 -30
  76. package/esm/daemon/packet.d.ts.map +1 -1
  77. package/esm/daemon/packet.js +24 -21
  78. package/esm/daemon/packet.js.map +1 -1
  79. package/esm/daemon/socket.d.ts +1 -6
  80. package/esm/daemon/socket.d.ts.map +1 -1
  81. package/esm/daemon/socket.js +4 -27
  82. package/esm/daemon/socket.js.map +1 -1
  83. package/esm/daemon/transport.d.ts +14 -14
  84. package/esm/daemon/transport.d.ts.map +1 -1
  85. package/esm/daemon/transport.js +6 -8
  86. package/esm/daemon/transport.js.map +1 -1
  87. package/esm/device-observer.d.ts +10 -0
  88. package/esm/device-observer.d.ts.map +1 -0
  89. package/esm/device-observer.js +2 -0
  90. package/esm/device-observer.js.map +1 -0
  91. package/esm/features.d.ts +12 -11
  92. package/esm/features.d.ts.map +1 -1
  93. package/esm/features.js +11 -12
  94. package/esm/features.js.map +1 -1
  95. package/esm/index.d.ts +1 -0
  96. package/esm/index.d.ts.map +1 -1
  97. package/esm/index.js +1 -0
  98. package/esm/index.js.map +1 -1
  99. package/esm/server/client.d.ts +33 -35
  100. package/esm/server/client.d.ts.map +1 -1
  101. package/esm/server/client.js +136 -201
  102. package/esm/server/client.js.map +1 -1
  103. package/esm/server/index.d.ts +2 -0
  104. package/esm/server/index.d.ts.map +1 -1
  105. package/esm/server/index.js +2 -0
  106. package/esm/server/index.js.map +1 -1
  107. package/esm/server/observer.d.ts +8 -0
  108. package/esm/server/observer.d.ts.map +1 -0
  109. package/esm/server/observer.js +106 -0
  110. package/esm/server/observer.js.map +1 -0
  111. package/esm/server/stream.d.ts +19 -0
  112. package/esm/server/stream.d.ts.map +1 -0
  113. package/esm/server/stream.js +77 -0
  114. package/esm/server/stream.js.map +1 -0
  115. package/esm/server/transport.d.ts +3 -4
  116. package/esm/server/transport.d.ts.map +1 -1
  117. package/esm/server/transport.js +16 -16
  118. package/esm/server/transport.js.map +1 -1
  119. package/esm/utils/base64.d.ts.map +1 -1
  120. package/esm/utils/base64.js +19 -16
  121. package/esm/utils/base64.js.map +1 -1
  122. package/esm/utils/index.d.ts +1 -0
  123. package/esm/utils/index.d.ts.map +1 -1
  124. package/esm/utils/index.js +1 -0
  125. package/esm/utils/index.js.map +1 -1
  126. package/esm/utils/no-op.d.ts.map +1 -1
  127. package/esm/utils/no-op.js +1 -0
  128. package/esm/utils/no-op.js.map +1 -1
  129. package/esm/utils/ref.d.ts +18 -0
  130. package/esm/utils/ref.d.ts.map +1 -0
  131. package/esm/utils/ref.js +29 -0
  132. package/esm/utils/ref.js.map +1 -0
  133. package/package.json +13 -16
  134. package/src/adb.ts +13 -7
  135. package/src/banner.ts +8 -6
  136. package/src/commands/framebuffer.ts +44 -35
  137. package/src/commands/reverse.ts +49 -31
  138. package/src/commands/subprocess/protocols/none.ts +3 -5
  139. package/src/commands/subprocess/protocols/shell.ts +26 -24
  140. package/src/commands/subprocess/protocols/types.ts +6 -6
  141. package/src/commands/sync/list.ts +20 -13
  142. package/src/commands/sync/pull.ts +8 -7
  143. package/src/commands/sync/push.ts +20 -16
  144. package/src/commands/sync/request.ts +18 -19
  145. package/src/commands/sync/response.ts +28 -29
  146. package/src/commands/sync/socket.ts +2 -2
  147. package/src/commands/sync/stat.ts +93 -71
  148. package/src/commands/sync/sync.ts +4 -8
  149. package/src/commands/tcpip.ts +8 -8
  150. package/src/daemon/auth.ts +11 -9
  151. package/src/daemon/crypto.ts +2 -0
  152. package/src/daemon/device.ts +2 -2
  153. package/src/daemon/dispatcher.ts +6 -6
  154. package/src/daemon/packet.ts +37 -25
  155. package/src/daemon/socket.ts +4 -27
  156. package/src/daemon/transport.ts +36 -35
  157. package/src/device-observer.ts +10 -0
  158. package/src/features.ts +13 -11
  159. package/src/index.ts +1 -0
  160. package/src/server/client.ts +181 -242
  161. package/src/server/index.ts +2 -0
  162. package/src/server/observer.ts +144 -0
  163. package/src/server/stream.ts +100 -0
  164. package/src/server/transport.ts +18 -17
  165. package/src/utils/base64.ts +26 -18
  166. package/src/utils/index.ts +1 -0
  167. package/src/utils/no-op.ts +1 -0
  168. package/src/utils/ref.ts +37 -0
  169. package/tsconfig.build.json +1 -12
  170. package/tsconfig.build.tsbuildinfo +1 -1
  171. package/CHANGELOG.json +0 -298
@@ -1,15 +1,22 @@
1
1
  // cspell: ignore killforward
2
- import { AutoDisposable } from "@yume-chan/event";
3
2
  import { BufferedReadableStream } from "@yume-chan/stream-extra";
4
- import Struct, { ExactReadableEndedError, encodeUtf8 } from "@yume-chan/struct";
3
+ import { encodeUtf8, ExactReadableEndedError, string, struct, } from "@yume-chan/struct";
5
4
  import { hexToNumber, sequenceEqual } from "../utils/index.js";
6
- const AdbReverseStringResponse = new Struct()
7
- .string("length", { length: 4 })
8
- .string("content", { lengthField: "length", lengthFieldRadix: 16 });
5
+ const AdbReverseStringResponse = struct({
6
+ length: string(4),
7
+ content: string({
8
+ field: "length",
9
+ convert(value) {
10
+ return Number.parseInt(value, 16);
11
+ },
12
+ back(value) {
13
+ return value.toString(16).padStart(4, "0");
14
+ },
15
+ }),
16
+ }, { littleEndian: true });
9
17
  export class AdbReverseError extends Error {
10
18
  constructor(message) {
11
19
  super(message);
12
- Object.setPrototypeOf(this, new.target.prototype);
13
20
  }
14
21
  }
15
22
  export class AdbReverseNotSupportedError extends AdbReverseError {
@@ -17,18 +24,20 @@ export class AdbReverseNotSupportedError extends AdbReverseError {
17
24
  super("ADB reverse tunnel is not supported on this device when connected wirelessly.");
18
25
  }
19
26
  }
20
- const AdbReverseErrorResponse = new Struct()
21
- .concat(AdbReverseStringResponse)
22
- .postDeserialize((value) => {
23
- // https://issuetracker.google.com/issues/37066218
24
- // ADB on Android <9 can't create reverse tunnels when connected wirelessly (ADB over Wi-Fi),
25
- // and returns this confusing "more than one device/emulator" error.
26
- if (value.content === "more than one device/emulator") {
27
- throw new AdbReverseNotSupportedError();
28
- }
29
- else {
30
- throw new AdbReverseError(value.content);
31
- }
27
+ const AdbReverseErrorResponse = struct(
28
+ /* #__PURE__ */ (() => AdbReverseStringResponse.fields)(), {
29
+ littleEndian: true,
30
+ postDeserialize: (value) => {
31
+ // https://issuetracker.google.com/issues/37066218
32
+ // ADB on Android <9 can't create reverse tunnels when connected wirelessly (ADB over Wi-Fi),
33
+ // and returns this confusing "more than one device/emulator" error.
34
+ if (value.content === "more than one device/emulator") {
35
+ throw new AdbReverseNotSupportedError();
36
+ }
37
+ else {
38
+ throw new AdbReverseError(value.content);
39
+ }
40
+ },
32
41
  });
33
42
  // Like `hexToNumber`, it's much faster than first converting `buffer` to a string
34
43
  function decimalToNumber(buffer) {
@@ -43,11 +52,10 @@ function decimalToNumber(buffer) {
43
52
  return value;
44
53
  }
45
54
  const OKAY = encodeUtf8("OKAY");
46
- export class AdbReverseCommand extends AutoDisposable {
55
+ export class AdbReverseCommand {
47
56
  adb;
48
57
  #deviceAddressToLocalAddress = new Map();
49
58
  constructor(adb) {
50
- super();
51
59
  this.adb = adb;
52
60
  }
53
61
  async createBufferedStream(service) {
@@ -62,6 +70,9 @@ export class AdbReverseCommand extends AutoDisposable {
62
70
  }
63
71
  return stream;
64
72
  }
73
+ /**
74
+ * Get a list of all reverse port forwarding on the device.
75
+ */
65
76
  async list() {
66
77
  const stream = await this.createBufferedStream("reverse:list-forward");
67
78
  const response = await AdbReverseStringResponse.deserialize(stream);
@@ -75,10 +86,7 @@ export class AdbReverseCommand extends AutoDisposable {
75
86
  // No need to close the stream, device will close it
76
87
  }
77
88
  /**
78
- * Add an already existing reverse tunnel. Depends on the transport type, this may not do anything.
79
- * @param deviceAddress The address to be listened on device by ADB daemon. Or `tcp:0` to choose an available TCP port.
80
- * @param localAddress The address that listens on the local machine.
81
- * @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`.
89
+ * Add a reverse port forwarding for a program that already listens on a port.
82
90
  */
83
91
  async addExternal(deviceAddress, localAddress) {
84
92
  const stream = await this.sendRequest(`reverse:forward:${deviceAddress};${localAddress}`);
@@ -106,12 +114,7 @@ export class AdbReverseCommand extends AutoDisposable {
106
114
  return deviceAddress;
107
115
  }
108
116
  /**
109
- * @param deviceAddress The address to be listened on device by ADB daemon. Or `tcp:0` to choose an available TCP port.
110
- * @param handler A callback to handle incoming connections.
111
- * @param localAddressThe The address that listens on the local machine. May be `undefined` to let the transport choose an appropriate one.
112
- * @returns `tcp:{ACTUAL_LISTENING_PORT}`, If `deviceAddress` is `tcp:0`; otherwise, `deviceAddress`.
113
- * @throws {AdbReverseNotSupportedError} If ADB reverse tunnel is not supported on this device when connected wirelessly.
114
- * @throws {AdbReverseError} If ADB daemon returns an error.
117
+ * Add a reverse port forwarding.
115
118
  */
116
119
  async add(deviceAddress, handler, localAddress) {
117
120
  localAddress = await this.adb.transport.addReverseTunnel(handler, localAddress);
@@ -125,6 +128,9 @@ export class AdbReverseCommand extends AutoDisposable {
125
128
  throw e;
126
129
  }
127
130
  }
131
+ /**
132
+ * Remove a reverse port forwarding.
133
+ */
128
134
  async remove(deviceAddress) {
129
135
  const localAddress = this.#deviceAddressToLocalAddress.get(deviceAddress);
130
136
  if (localAddress) {
@@ -133,6 +139,9 @@ export class AdbReverseCommand extends AutoDisposable {
133
139
  await this.sendRequest(`reverse:killforward:${deviceAddress}`);
134
140
  // No need to close the stream, device will close it
135
141
  }
142
+ /**
143
+ * Remove all reverse port forwarding, including the ones added by other programs.
144
+ */
136
145
  async removeAll() {
137
146
  await this.adb.transport.clearReverseTunnels();
138
147
  this.#deviceAddressToLocalAddress.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../src/commands/reverse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../src/commands/reverse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"none.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,qBAAqB;;IACnE,MAAM,CAAC,WAAW;WAIL,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAM7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAW1C,IAAI,KAAK,IAAI,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAEvD;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAEvC;IAGD;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAEvC;IAGD,IAAI,IAAI,oBAEP;gBAEW,MAAM,EAAE,SAAS;IAa7B,MAAM;IAIA,IAAI;CAGb"}
1
+ {"version":3,"file":"none.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,yBAA0B,YAAW,qBAAqB;;IACnE,MAAM,CAAC,WAAW;WAIL,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAM7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAW1C,IAAI,KAAK,IAAI,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAEvD;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAEvC;IAGD;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAEvC;IAGD,IAAI,IAAI,oBAEP;gBAEW,MAAM,EAAE,SAAS;IAY7B,MAAM;IAIA,IAAI;CAGb"}
@@ -1,5 +1,4 @@
1
1
  import { ReadableStream } from "@yume-chan/stream-extra";
2
- import { unreachable } from "../../../utils/index.js";
3
2
  /**
4
3
  * The legacy shell
5
4
  *
@@ -45,10 +44,9 @@ export class AdbSubprocessNoneProtocol {
45
44
  constructor(socket) {
46
45
  this.#socket = socket;
47
46
  this.#stderr = new ReadableStream({
48
- start: (controller) => {
49
- this.#socket.closed
50
- .then(() => controller.close())
51
- .catch(unreachable);
47
+ start: async (controller) => {
48
+ await this.#socket.closed;
49
+ controller.close();
52
50
  },
53
51
  });
54
52
  this.#exit = socket.closed.then(() => 0);
@@ -1 +1 @@
1
- {"version":3,"file":"none.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IAClC,MAAM,CAAC,WAAW;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QACtC,OAAO,IAAI,yBAAyB,CAChC,MAAM,GAAG,CAAC,YAAY,CAAC,SAAS,OAAO,EAAE,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QACtC,iDAAiD;QACjD,8CAA8C;QAC9C,OAAO,IAAI,yBAAyB,CAChC,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,OAAO,EAAE,CAAC,CAC5C,CAAC;IACN,CAAC;IAEQ,OAAO,CAAY;IAE5B,2CAA2C;IAC3C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,OAAO,CAA6B;IACpC;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAkB;IACvB,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,YAAY,MAAiB;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;YAC9B,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,MAAM;qBACd,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;qBAC9B,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM;QACF,kCAAkC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ"}
1
+ {"version":3,"file":"none.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/none.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAMzD;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IAClC,MAAM,CAAC,WAAW;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QACtC,OAAO,IAAI,yBAAyB,CAChC,MAAM,GAAG,CAAC,YAAY,CAAC,SAAS,OAAO,EAAE,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QACtC,iDAAiD;QACjD,8CAA8C;QAC9C,OAAO,IAAI,yBAAyB,CAChC,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,OAAO,EAAE,CAAC,CAC5C,CAAC;IACN,CAAC;IAEQ,OAAO,CAAY;IAE5B,2CAA2C;IAC3C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,OAAO,CAA6B;IACpC;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAkB;IACvB,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,YAAY,MAAiB;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;YAC9B,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBACxB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM;QACF,kCAAkC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ"}
@@ -2,14 +2,22 @@ import type { ReadableStream } from "@yume-chan/stream-extra";
2
2
  import { MaybeConsumable, WritableStream } from "@yume-chan/stream-extra";
3
3
  import type { Adb, AdbSocket } from "../../../adb.js";
4
4
  import type { AdbSubprocessProtocol } from "./types.js";
5
- export declare enum AdbShellProtocolId {
6
- Stdin = 0,
7
- Stdout = 1,
8
- Stderr = 2,
9
- Exit = 3,
10
- CloseStdin = 4,
11
- WindowSizeChange = 5
12
- }
5
+ export declare const AdbShellProtocolId: {
6
+ readonly Stdin: 0;
7
+ readonly Stdout: 1;
8
+ readonly Stderr: 2;
9
+ readonly Exit: 3;
10
+ readonly CloseStdin: 4;
11
+ readonly WindowSizeChange: 5;
12
+ };
13
+ export type AdbShellProtocolId = (typeof AdbShellProtocolId)[keyof typeof AdbShellProtocolId];
14
+ export declare const AdbShellProtocolPacket: import("@yume-chan/struct").Struct<{
15
+ id: import("@yume-chan/struct").Field<AdbShellProtocolId, never, never>;
16
+ data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, never, never>;
17
+ }, {}, import("@yume-chan/struct").FieldsType<{
18
+ id: import("@yume-chan/struct").Field<AdbShellProtocolId, never, never>;
19
+ data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, never, never>;
20
+ }>>;
13
21
  /**
14
22
  * Shell v2 a.k.a Shell Protocol
15
23
  *
@@ -23,12 +31,12 @@ export declare class AdbSubprocessShellProtocol implements AdbSubprocessProtocol
23
31
  static isSupported(adb: Adb): boolean;
24
32
  static pty(adb: Adb, command: string): Promise<AdbSubprocessShellProtocol>;
25
33
  static raw(adb: Adb, command: string): Promise<AdbSubprocessShellProtocol>;
26
- get stdin(): WritableStream<MaybeConsumable<Uint8Array>>;
27
- get stdout(): ReadableStream<Uint8Array>;
28
- get stderr(): ReadableStream<Uint8Array>;
34
+ get stdin(): WritableStream<MaybeConsumable<Uint8Array<ArrayBufferLike>>>;
35
+ get stdout(): ReadableStream<Uint8Array<ArrayBufferLike>>;
36
+ get stderr(): ReadableStream<Uint8Array<ArrayBufferLike>>;
29
37
  get exit(): Promise<number>;
30
38
  constructor(socket: AdbSocket);
31
39
  resize(rows: number, cols: number): Promise<void>;
32
- kill(): import("@yume-chan/struct").ValueOrPromise<void>;
40
+ kill(): import("@yume-chan/async").MaybePromiseLike<void>;
33
41
  }
34
42
  //# sourceMappingURL=shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAER,cAAc,EAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,eAAe,EAGf,cAAc,EACjB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,oBAAY,kBAAkB;IAC1B,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,gBAAgB,IAAA;CACnB;AAUD;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,qBAAqB;;IACpE,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG;WAId,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAO7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAU1C,IAAI,KAAK,gDAER;IAGD,IAAI,MAAM,+BAET;IAGD,IAAI,MAAM,+BAET;IAGD,IAAI,IAAI,oBAEP;gBAEW,MAAM,EAAE,SAAS;IAkEvB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAYvC,IAAI;CAGP"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAER,cAAc,EAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,eAAe,EAGf,cAAc,EACjB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC1B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAGjE,eAAO,MAAM,sBAAsB;;;;;;GAMlC,CAAC;AAIF;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,qBAAqB;;IACpE,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG;WAId,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;WAO7B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM;IAU1C,IAAI,KAAK,iEAER;IAGD,IAAI,MAAM,gDAET;IAGD,IAAI,MAAM,gDAET;IAGD,IAAI,IAAI,oBAEP;gBAEW,MAAM,EAAE,SAAS;IA8DvB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAYvC,IAAI;CAGP"}
@@ -1,22 +1,21 @@
1
1
  import { PromiseResolver } from "@yume-chan/async";
2
2
  import { MaybeConsumable, PushReadableStream, StructDeserializeStream, WritableStream, } from "@yume-chan/stream-extra";
3
- import Struct, { placeholder } from "@yume-chan/struct";
3
+ import { buffer, struct, u32, u8 } from "@yume-chan/struct";
4
4
  import { AdbFeature } from "../../../features.js";
5
5
  import { encodeUtf8 } from "../../../utils/index.js";
6
- export var AdbShellProtocolId;
7
- (function (AdbShellProtocolId) {
8
- AdbShellProtocolId[AdbShellProtocolId["Stdin"] = 0] = "Stdin";
9
- AdbShellProtocolId[AdbShellProtocolId["Stdout"] = 1] = "Stdout";
10
- AdbShellProtocolId[AdbShellProtocolId["Stderr"] = 2] = "Stderr";
11
- AdbShellProtocolId[AdbShellProtocolId["Exit"] = 3] = "Exit";
12
- AdbShellProtocolId[AdbShellProtocolId["CloseStdin"] = 4] = "CloseStdin";
13
- AdbShellProtocolId[AdbShellProtocolId["WindowSizeChange"] = 5] = "WindowSizeChange";
14
- })(AdbShellProtocolId || (AdbShellProtocolId = {}));
15
- // This packet format is used in both direction.
16
- const AdbShellProtocolPacket = new Struct({ littleEndian: true })
17
- .uint8("id", placeholder())
18
- .uint32("length")
19
- .uint8Array("data", { lengthField: "length" });
6
+ export const AdbShellProtocolId = {
7
+ Stdin: 0,
8
+ Stdout: 1,
9
+ Stderr: 2,
10
+ Exit: 3,
11
+ CloseStdin: 4,
12
+ WindowSizeChange: 5,
13
+ };
14
+ // This packet format is used in both directions.
15
+ export const AdbShellProtocolPacket = struct({
16
+ id: u8(),
17
+ data: buffer(u32),
18
+ }, { littleEndian: true });
20
19
  /**
21
20
  * Shell v2 a.k.a Shell Protocol
22
21
  *
@@ -73,14 +72,10 @@ export class AdbSubprocessShellProtocol {
73
72
  this.#exit.resolve(chunk.data[0]);
74
73
  break;
75
74
  case AdbShellProtocolId.Stdout:
76
- if (!stdoutController.abortSignal.aborted) {
77
- await stdoutController.enqueue(chunk.data);
78
- }
75
+ await stdoutController.enqueue(chunk.data);
79
76
  break;
80
77
  case AdbShellProtocolId.Stderr:
81
- if (!stderrController.abortSignal.aborted) {
82
- await stderrController.enqueue(chunk.data);
83
- }
78
+ await stderrController.enqueue(chunk.data);
84
79
  break;
85
80
  }
86
81
  },
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMnD,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC1B,6DAAK,CAAA;IACL,+DAAM,CAAA;IACN,+DAAM,CAAA;IACN,2DAAI,CAAA;IACJ,uEAAU,CAAA;IACV,mFAAgB,CAAA;AACpB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAED,gDAAgD;AAChD,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAC5D,KAAK,CAAC,IAAI,EAAE,WAAW,EAAsB,CAAC;KAC9C,MAAM,CAAC,QAAQ,CAAC;KAChB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAInD;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA0B;IACnC,MAAM,CAAC,WAAW,CAAC,GAAQ;QACvB,OAAO,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QACtC,iFAAiF;QACjF,OAAO,IAAI,0BAA0B,CACjC,MAAM,GAAG,CAAC,YAAY,CAAC,gBAAgB,OAAO,EAAE,CAAC,CACpD,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAQ,EAAE,OAAe;QACtC,OAAO,IAAI,0BAA0B,CACjC,MAAM,GAAG,CAAC,YAAY,CAAC,gBAAgB,OAAO,EAAE,CAAC,CACpD,CAAC;IACN,CAAC;IAEQ,OAAO,CAAY;IAC5B,OAAO,CAA2D;IAElE,MAAM,CAA8C;IACpD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,CAA6B;IACpC,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,OAAO,CAA6B;IACpC,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEQ,KAAK,GAAG,IAAI,eAAe,EAAU,CAAC;IAC/C,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,YAAY,MAAiB;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,gBAA2D,CAAC;QAChE,IAAI,gBAA2D,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAa,CAAC,UAAU,EAAE,EAAE;YAC7D,gBAAgB,GAAG,UAAU,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAa,CAAC,UAAU,EAAE,EAAE;YAC7D,gBAAgB,GAAG,UAAU,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ;aACV,WAAW,CAAC,IAAI,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;aAChE,MAAM,CACH,IAAI,cAAc,CAAyB;YACvC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnB,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;oBACf,KAAK,kBAAkB,CAAC,IAAI;wBACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;wBACnC,MAAM;oBACV,KAAK,kBAAkB,CAAC,MAAM;wBAC1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACxC,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC/C,CAAC;wBACD,MAAM;oBACV,KAAK,kBAAkB,CAAC,MAAM;wBAC1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;4BACxC,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC/C,CAAC;wBACD,MAAM;gBACd,CAAC;YACL,CAAC;SACJ,CAAC,CACL;aACA,IAAI,CACD,GAAG,EAAE;YACD,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,wDAAwD;YACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CACb,IAAI,KAAK,CAAC,mCAAmC,CAAC,CACjD,CAAC;QACN,CAAC,EACD,CAAC,CAAC,EAAE,EAAE;YACF,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,wDAAwD;YACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CACJ,CAAC;QAEN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,cAAc,CAAa;YACzD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACnB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACpB,sBAAsB,CAAC,SAAS,CAAC;oBAC7B,EAAE,EAAE,kBAAkB,CAAC,KAAK;oBAC5B,IAAI,EAAE,KAAK;iBACd,CAAC,CACL,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,IAAY;QACnC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACpB,sBAAsB,CAAC,SAAS,CAAC;YAC7B,EAAE,EAAE,kBAAkB,CAAC,gBAAgB;YACvC,oEAAoE;YACpE,8DAA8D;YAC9D,8EAA8E;YAC9E,IAAI,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI,IAAI,QAAQ,CAAC;SAC5C,CAAC,CACL,CAAC;IACN,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACJ"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/shell.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import type { MaybePromiseLike } from "@yume-chan/async";
1
2
  import type { MaybeConsumable, ReadableStream, WritableStream } from "@yume-chan/stream-extra";
2
- import type { ValueOrPromise } from "@yume-chan/struct";
3
3
  import type { Adb, AdbSocket } from "../../../adb.js";
4
4
  export interface AdbSubprocessProtocol {
5
5
  /**
@@ -30,19 +30,19 @@ export interface AdbSubprocessProtocol {
30
30
  * Some `AdbSubprocessProtocol`s may not support resizing
31
31
  * and will ignore calls to this method.
32
32
  */
33
- resize(rows: number, cols: number): ValueOrPromise<void>;
33
+ resize(rows: number, cols: number): MaybePromiseLike<void>;
34
34
  /**
35
35
  * Kills the current process.
36
36
  */
37
- kill(): ValueOrPromise<void>;
37
+ kill(): MaybePromiseLike<void>;
38
38
  }
39
39
  export interface AdbSubprocessProtocolConstructor {
40
40
  /** Returns `true` if the `adb` instance supports this shell */
41
- isSupported(adb: Adb): ValueOrPromise<boolean>;
41
+ isSupported(adb: Adb): MaybePromiseLike<boolean>;
42
42
  /** Spawns an executable in PTY (interactive) mode. */
43
- pty(adb: Adb, command: string): ValueOrPromise<AdbSubprocessProtocol>;
43
+ pty(adb: Adb, command: string): MaybePromiseLike<AdbSubprocessProtocol>;
44
44
  /** Spawns an executable and pipe the output. */
45
- raw(adb: Adb, command: string): ValueOrPromise<AdbSubprocessProtocol>;
45
+ raw(adb: Adb, command: string): MaybePromiseLike<AdbSubprocessProtocol>;
46
46
  /** Creates a new `AdbShell` by attaching to an exist `AdbSocket` */
47
47
  new (socket: AdbSocket): AdbSubprocessProtocol;
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACH,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC7C,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/C,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,gDAAgD;IAChD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEtE,oEAAoE;IACpE,KAAK,MAAM,EAAE,SAAS,GAAG,qBAAqB,CAAC;CAClD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/subprocess/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,gCAAgC;IAC7C,+DAA+D;IAC/D,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEjD,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAExE,gDAAgD;IAChD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAExE,oEAAoE;IACpE,KAAK,MAAM,EAAE,SAAS,GAAG,qBAAqB,CAAC;CAClD"}
@@ -1,40 +1,62 @@
1
- import Struct from "@yume-chan/struct";
1
+ import type { StructValue } from "@yume-chan/struct";
2
2
  import type { AdbSyncSocket } from "./socket.js";
3
3
  import type { AdbSyncStat } from "./stat.js";
4
4
  import { AdbSyncStatErrorCode } from "./stat.js";
5
5
  export interface AdbSyncEntry extends AdbSyncStat {
6
6
  name: string;
7
7
  }
8
- export declare const AdbSyncEntryResponse: Struct<{
9
- mode: number;
10
- size: number;
11
- mtime: number;
12
- nameLength: number;
13
- name: string;
14
- }, "nameLength", Record<never, never> & {
8
+ export declare const AdbSyncEntryResponse: import("@yume-chan/struct").Struct<{
9
+ name: import("@yume-chan/struct").Field<string, never, never>;
10
+ mode: import("@yume-chan/struct").NumberField<number>;
11
+ size: import("@yume-chan/struct").NumberField<number>;
12
+ mtime: import("@yume-chan/struct").NumberField<number>;
13
+ }, {
15
14
  readonly type: import("./stat.js").LinuxFileType;
16
15
  readonly permission: number;
17
- }, undefined>;
18
- export type AdbSyncEntryResponse = (typeof AdbSyncEntryResponse)["TDeserializeResult"];
19
- export declare const AdbSyncEntry2Response: Struct<{
20
- error: AdbSyncStatErrorCode;
21
- dev: bigint;
22
- ino: bigint;
23
- mode: number;
24
- nlink: number;
25
- uid: number;
26
- gid: number;
27
- size: bigint;
28
- atime: bigint;
29
- mtime: bigint;
30
- ctime: bigint;
31
- nameLength: number;
32
- name: string;
33
- }, "nameLength", Record<never, never> & {
16
+ }, import("@yume-chan/struct").FieldsType<{
17
+ name: import("@yume-chan/struct").Field<string, never, never>;
18
+ mode: import("@yume-chan/struct").NumberField<number>;
19
+ size: import("@yume-chan/struct").NumberField<number>;
20
+ mtime: import("@yume-chan/struct").NumberField<number>;
21
+ }> & {
22
+ readonly type: import("./stat.js").LinuxFileType;
23
+ readonly permission: number;
24
+ }>;
25
+ export type AdbSyncEntryResponse = StructValue<typeof AdbSyncEntryResponse>;
26
+ export declare const AdbSyncEntry2Response: import("@yume-chan/struct").Struct<{
27
+ name: import("@yume-chan/struct").Field<string, never, never>;
28
+ error: import("@yume-chan/struct").Field<AdbSyncStatErrorCode, never, never>;
29
+ dev: import("@yume-chan/struct").NumberField<bigint>;
30
+ ino: import("@yume-chan/struct").NumberField<bigint>;
31
+ mode: import("@yume-chan/struct").NumberField<number>;
32
+ nlink: import("@yume-chan/struct").NumberField<number>;
33
+ uid: import("@yume-chan/struct").NumberField<number>;
34
+ gid: import("@yume-chan/struct").NumberField<number>;
35
+ size: import("@yume-chan/struct").NumberField<bigint>;
36
+ atime: import("@yume-chan/struct").NumberField<bigint>;
37
+ mtime: import("@yume-chan/struct").NumberField<bigint>;
38
+ ctime: import("@yume-chan/struct").NumberField<bigint>;
39
+ }, {
40
+ readonly type: import("./stat.js").LinuxFileType;
41
+ readonly permission: number;
42
+ }, import("@yume-chan/struct").FieldsType<{
43
+ name: import("@yume-chan/struct").Field<string, never, never>;
44
+ error: import("@yume-chan/struct").Field<AdbSyncStatErrorCode, never, never>;
45
+ dev: import("@yume-chan/struct").NumberField<bigint>;
46
+ ino: import("@yume-chan/struct").NumberField<bigint>;
47
+ mode: import("@yume-chan/struct").NumberField<number>;
48
+ nlink: import("@yume-chan/struct").NumberField<number>;
49
+ uid: import("@yume-chan/struct").NumberField<number>;
50
+ gid: import("@yume-chan/struct").NumberField<number>;
51
+ size: import("@yume-chan/struct").NumberField<bigint>;
52
+ atime: import("@yume-chan/struct").NumberField<bigint>;
53
+ mtime: import("@yume-chan/struct").NumberField<bigint>;
54
+ ctime: import("@yume-chan/struct").NumberField<bigint>;
55
+ }> & {
34
56
  readonly type: import("./stat.js").LinuxFileType;
35
57
  readonly permission: number;
36
- }, undefined>;
37
- export type AdbSyncEntry2Response = (typeof AdbSyncEntry2Response)["TDeserializeResult"];
58
+ }>;
59
+ export type AdbSyncEntry2Response = StructValue<typeof AdbSyncEntry2Response>;
38
60
  export declare function adbSyncOpenDirV2(socket: AdbSyncSocket, path: string): AsyncGenerator<AdbSyncEntry2Response, void, void>;
39
61
  export declare function adbSyncOpenDirV1(socket: AdbSyncSocket, path: string): AsyncGenerator<AdbSyncEntryResponse, void, void>;
40
62
  export declare function adbSyncOpenDir(socket: AdbSyncSocket, path: string, v2: boolean): AsyncGenerator<AdbSyncEntry, void, void>;
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAEH,oBAAoB,EAEvB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;aAGiB,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAC5B,CAAC,OAAO,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAExD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;aAGgB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAC7B,CAAC,OAAO,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAEzD,wBAAuB,gBAAgB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,CAoBnD;AAED,wBAAuB,gBAAgB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAclD;AAED,wBAAuB,cAAc,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,OAAO,GACZ,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAqB1C"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAEH,oBAAoB,EAEvB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC7C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;EAOzB,CAAC;AAET,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAET,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE9E,wBAAuB,gBAAgB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,CAAC,CAoBnD;AAED,wBAAuB,gBAAgB,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,CAclD;AAED,wBAAuB,cAAc,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,OAAO,GACZ,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAqB1C"}
@@ -1,15 +1,15 @@
1
- import Struct from "@yume-chan/struct";
1
+ import { string, struct, u32 } from "@yume-chan/struct";
2
2
  import { AdbSyncRequestId, adbSyncWriteRequest } from "./request.js";
3
3
  import { AdbSyncResponseId, adbSyncReadResponses } from "./response.js";
4
4
  import { AdbSyncLstatResponse, AdbSyncStatErrorCode, AdbSyncStatResponse, } from "./stat.js";
5
- export const AdbSyncEntryResponse = new Struct({ littleEndian: true })
6
- .concat(AdbSyncLstatResponse)
7
- .uint32("nameLength")
8
- .string("name", { lengthField: "nameLength" });
9
- export const AdbSyncEntry2Response = new Struct({ littleEndian: true })
10
- .concat(AdbSyncStatResponse)
11
- .uint32("nameLength")
12
- .string("name", { lengthField: "nameLength" });
5
+ export const AdbSyncEntryResponse = /* #__PURE__ */ (() => struct({
6
+ ...AdbSyncLstatResponse.fields,
7
+ name: string(u32),
8
+ }, { littleEndian: true, extra: AdbSyncLstatResponse.extra }))();
9
+ export const AdbSyncEntry2Response = /* #__PURE__ */ (() => struct({
10
+ ...AdbSyncStatResponse.fields,
11
+ name: string(u32),
12
+ }, { littleEndian: true, extra: AdbSyncStatResponse.extra }))();
13
13
  export async function* adbSyncOpenDirV2(socket, path) {
14
14
  const locked = await socket.lock();
15
15
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sync/list.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import type { ReadableStream } from "@yume-chan/stream-extra";
2
- import Struct from "@yume-chan/struct";
2
+ import type { StructValue } from "@yume-chan/struct";
3
3
  import type { AdbSyncSocket } from "./socket.js";
4
- export declare const AdbSyncDataResponse: Struct<{
5
- dataLength: number;
6
- data: Uint8Array;
7
- }, "dataLength", Record<never, never>, undefined>;
8
- export type AdbSyncDataResponse = (typeof AdbSyncDataResponse)["TDeserializeResult"];
4
+ export declare const AdbSyncDataResponse: import("@yume-chan/struct").Struct<{
5
+ data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, never, never>;
6
+ }, {}, import("@yume-chan/struct").FieldsType<{
7
+ data: import("@yume-chan/struct").Field<Uint8Array<ArrayBufferLike>, never, never>;
8
+ }>>;
9
+ export type AdbSyncDataResponse = StructValue<typeof AdbSyncDataResponse>;
9
10
  export declare function adbSyncPullGenerator(socket: AdbSyncSocket, path: string): AsyncGenerator<Uint8Array, void, void>;
10
11
  export declare function adbSyncPull(socket: AdbSyncSocket, path: string): ReadableStream<Uint8Array>;
11
12
  //# sourceMappingURL=pull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAIvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,mBAAmB;;;iDAEsB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAC3B,CAAC,OAAO,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAEvD,wBAAuB,oBAAoB,CACvC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CA6BxC;AAED,wBAAgB,WAAW,CACvB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,CAAC,CAO5B"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,mBAAmB;;;;GAG/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE1E,wBAAuB,oBAAoB,CACvC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CA6BxC;AAED,wBAAgB,WAAW,CACvB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,CAAC,CAO5B"}
@@ -1,10 +1,8 @@
1
1
  import { PushReadableStream } from "@yume-chan/stream-extra";
2
- import Struct from "@yume-chan/struct";
2
+ import { buffer, struct, u32 } from "@yume-chan/struct";
3
3
  import { AdbSyncRequestId, adbSyncWriteRequest } from "./request.js";
4
- import { AdbSyncResponseId, adbSyncReadResponses } from "./response.js";
5
- export const AdbSyncDataResponse = new Struct({ littleEndian: true })
6
- .uint32("dataLength")
7
- .uint8Array("data", { lengthField: "dataLength" });
4
+ import { adbSyncReadResponses, AdbSyncResponseId } from "./response.js";
5
+ export const AdbSyncDataResponse = struct({ data: buffer(u32) }, { littleEndian: true });
8
6
  export async function* adbSyncPullGenerator(socket, path) {
9
7
  const locked = await socket.lock();
10
8
  let done = false;
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KAChE,MAAM,CAAC,YAAY,CAAC;KACpB,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;AAKvD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACvC,MAAqB,EACrB,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC;QACD,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,oBAAoB,CAC3C,MAAM,EACN,iBAAiB,CAAC,IAAI,EACtB,mBAAmB,CACtB,EAAE,CAAC;YACA,MAAM,MAAM,CAAC,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM,CAAC,CAAC;IACZ,CAAC;YAAS,CAAC;QACP,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,4DAA4D;YAC5D,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,oBAAoB,CAC3C,MAAM,EACN,iBAAiB,CAAC,IAAI,EACtB,mBAAmB,CACtB,EAAE,CAAC;gBACA,KAAK,MAAM,CAAC;YAChB,CAAC;QACL,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CACvB,MAAqB,EACrB,IAAY;IAEZ,sDAAsD;IACtD,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC/C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/sync/pull.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CACrC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EACrB,EAAE,YAAY,EAAE,IAAI,EAAE,CACzB,CAAC;AAIF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACvC,MAAqB,EACrB,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC;QACD,MAAM,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,oBAAoB,CAC3C,MAAM,EACN,iBAAiB,CAAC,IAAI,EACtB,mBAAmB,CACtB,EAAE,CAAC;YACA,MAAM,MAAM,CAAC,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM,CAAC,CAAC;IACZ,CAAC;YAAS,CAAC;QACP,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,4DAA4D;YAC5D,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,oBAAoB,CAC3C,MAAM,EACN,iBAAiB,CAAC,IAAI,EACtB,mBAAmB,CACtB,EAAE,CAAC;gBACA,KAAK,MAAM,CAAC;YAChB,CAAC;QACL,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CACvB,MAAqB,EACrB,IAAY;IAEZ,sDAAsD;IACtD,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QAC/C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}