@yume-chan/scrcpy 0.0.18 → 0.0.20

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 (288) hide show
  1. package/CHANGELOG.json +33 -0
  2. package/CHANGELOG.md +18 -1
  3. package/README.md +157 -183
  4. package/bin/scrcpy-server +0 -0
  5. package/bin/version.d.ts +1 -1
  6. package/bin/version.js +1 -1
  7. package/esm/codec/av1.d.ts +33 -0
  8. package/esm/codec/av1.d.ts.map +1 -0
  9. package/esm/codec/av1.js +35 -0
  10. package/esm/codec/av1.js.map +1 -0
  11. package/esm/codec/h264.d.ts +78 -0
  12. package/esm/codec/h264.d.ts.map +1 -0
  13. package/esm/codec/h264.js +256 -0
  14. package/esm/codec/h264.js.map +1 -0
  15. package/esm/codec/h265.d.ts +490 -0
  16. package/esm/codec/h265.d.ts.map +1 -0
  17. package/esm/codec/h265.js +1098 -0
  18. package/esm/codec/h265.js.map +1 -0
  19. package/esm/codec/index.d.ts +5 -0
  20. package/esm/codec/index.d.ts.map +1 -0
  21. package/esm/codec/index.js +5 -0
  22. package/esm/codec/index.js.map +1 -0
  23. package/esm/codec/nalu.d.ts +44 -0
  24. package/esm/codec/nalu.d.ts.map +1 -0
  25. package/esm/codec/nalu.js +310 -0
  26. package/esm/codec/nalu.js.map +1 -0
  27. package/esm/control/back-or-screen-on.d.ts +2 -2
  28. package/esm/control/back-or-screen-on.d.ts.map +1 -1
  29. package/esm/control/back-or-screen-on.js +1 -1
  30. package/esm/control/basic.d.ts +5 -0
  31. package/esm/control/basic.d.ts.map +1 -0
  32. package/esm/control/basic.js +3 -0
  33. package/esm/control/basic.js.map +1 -0
  34. package/esm/control/hover-helper.d.ts +17 -17
  35. package/esm/control/hover-helper.d.ts.map +1 -1
  36. package/esm/control/hover-helper.js +43 -43
  37. package/esm/control/hover-helper.js.map +1 -1
  38. package/esm/control/index.d.ts +13 -11
  39. package/esm/control/index.d.ts.map +1 -1
  40. package/esm/control/index.js +13 -11
  41. package/esm/control/index.js.map +1 -1
  42. package/esm/control/inject-keycode.d.ts +193 -60
  43. package/esm/control/inject-keycode.d.ts.map +1 -1
  44. package/esm/control/inject-keycode.js +198 -61
  45. package/esm/control/inject-keycode.js.map +1 -1
  46. package/esm/control/inject-scroll.d.ts +2 -2
  47. package/esm/control/inject-scroll.d.ts.map +1 -1
  48. package/esm/control/inject-scroll.js +1 -1
  49. package/esm/control/inject-text.d.ts +7 -8
  50. package/esm/control/inject-text.d.ts.map +1 -1
  51. package/esm/control/inject-text.js +5 -6
  52. package/esm/control/inject-text.js.map +1 -1
  53. package/esm/control/inject-touch.d.ts +32 -37
  54. package/esm/control/inject-touch.d.ts.map +1 -1
  55. package/esm/control/inject-touch.js +35 -62
  56. package/esm/control/inject-touch.js.map +1 -1
  57. package/esm/control/rotate-device.d.ts +4 -6
  58. package/esm/control/rotate-device.d.ts.map +1 -1
  59. package/esm/control/rotate-device.js +2 -4
  60. package/esm/control/rotate-device.js.map +1 -1
  61. package/esm/control/serializer.d.ts +25 -33
  62. package/esm/control/serializer.d.ts.map +1 -1
  63. package/esm/control/serializer.js +53 -78
  64. package/esm/control/serializer.js.map +1 -1
  65. package/esm/control/set-clipboard.d.ts +2 -2
  66. package/esm/control/set-clipboard.d.ts.map +1 -1
  67. package/esm/control/set-clipboard.js +1 -1
  68. package/esm/control/set-screen-power-mode.d.ts +10 -11
  69. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  70. package/esm/control/set-screen-power-mode.js +10 -11
  71. package/esm/control/set-screen-power-mode.js.map +1 -1
  72. package/esm/control/type.d.ts +28 -14
  73. package/esm/control/type.d.ts.map +1 -1
  74. package/esm/control/type.js +40 -18
  75. package/esm/control/type.js.map +1 -1
  76. package/esm/control/writer.d.ts +28 -0
  77. package/esm/control/writer.d.ts.map +1 -0
  78. package/esm/control/writer.js +53 -0
  79. package/esm/control/writer.js.map +1 -0
  80. package/esm/device-message/ack-clipboard.d.ts +8 -8
  81. package/esm/device-message/ack-clipboard.d.ts.map +1 -1
  82. package/esm/device-message/ack-clipboard.js +5 -5
  83. package/esm/device-message/clipboard.d.ts +9 -9
  84. package/esm/device-message/clipboard.d.ts.map +1 -1
  85. package/esm/device-message/clipboard.js +6 -6
  86. package/esm/device-message/index.d.ts +4 -4
  87. package/esm/device-message/index.js +4 -4
  88. package/esm/device-message/stream.d.ts +7 -7
  89. package/esm/device-message/stream.d.ts.map +1 -1
  90. package/esm/device-message/stream.js +34 -19
  91. package/esm/device-message/stream.js.map +1 -1
  92. package/esm/device-message/type.d.ts +4 -4
  93. package/esm/device-message/type.js +6 -6
  94. package/esm/index.d.ts +4 -5
  95. package/esm/index.d.ts.map +1 -1
  96. package/esm/index.js +4 -5
  97. package/esm/index.js.map +1 -1
  98. package/esm/options/1_16/codec-options.d.ts +19 -19
  99. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  100. package/esm/options/1_16/codec-options.js +25 -25
  101. package/esm/options/1_16/codec-options.js.map +1 -1
  102. package/esm/options/1_16/float-to-uint16.d.ts +5 -0
  103. package/esm/options/1_16/float-to-uint16.d.ts.map +1 -0
  104. package/esm/options/1_16/float-to-uint16.js +27 -0
  105. package/esm/options/1_16/float-to-uint16.js.map +1 -0
  106. package/esm/options/1_16/index.d.ts +6 -4
  107. package/esm/options/1_16/index.d.ts.map +1 -1
  108. package/esm/options/1_16/index.js +6 -4
  109. package/esm/options/1_16/index.js.map +1 -1
  110. package/esm/options/1_16/init.d.ts +66 -0
  111. package/esm/options/1_16/init.d.ts.map +1 -0
  112. package/esm/options/1_16/init.js +16 -0
  113. package/esm/options/1_16/init.js.map +1 -0
  114. package/esm/options/1_16/message.d.ts +32 -0
  115. package/esm/options/1_16/message.d.ts.map +1 -0
  116. package/esm/options/1_16/message.js +37 -0
  117. package/esm/options/1_16/message.js.map +1 -0
  118. package/esm/options/1_16/options.d.ts +48 -93
  119. package/esm/options/1_16/options.d.ts.map +1 -1
  120. package/esm/options/1_16/options.js +152 -189
  121. package/esm/options/1_16/options.js.map +1 -1
  122. package/esm/options/1_16/scroll.d.ts +26 -26
  123. package/esm/options/1_16/scroll.d.ts.map +1 -1
  124. package/esm/options/1_16/scroll.js +54 -55
  125. package/esm/options/1_16/scroll.js.map +1 -1
  126. package/esm/options/1_17.d.ts +33 -0
  127. package/esm/options/1_17.d.ts.map +1 -0
  128. package/esm/options/1_17.js +42 -0
  129. package/esm/options/1_17.js.map +1 -0
  130. package/esm/options/1_18.d.ts +59 -19
  131. package/esm/options/1_18.d.ts.map +1 -1
  132. package/esm/options/1_18.js +78 -45
  133. package/esm/options/1_18.js.map +1 -1
  134. package/esm/options/1_21.d.ts +41 -20
  135. package/esm/options/1_21.d.ts.map +1 -1
  136. package/esm/options/1_21.js +51 -36
  137. package/esm/options/1_21.js.map +1 -1
  138. package/esm/options/1_22/index.d.ts +3 -2
  139. package/esm/options/1_22/index.d.ts.map +1 -1
  140. package/esm/options/1_22/index.js +3 -2
  141. package/esm/options/1_22/index.js.map +1 -1
  142. package/esm/options/1_22/init.d.ts +17 -0
  143. package/esm/options/1_22/init.d.ts.map +1 -0
  144. package/esm/options/1_22/init.js +2 -0
  145. package/esm/options/1_22/init.js.map +1 -0
  146. package/esm/options/1_22/options.d.ts +35 -28
  147. package/esm/options/1_22/options.d.ts.map +1 -1
  148. package/esm/options/1_22/options.js +36 -25
  149. package/esm/options/1_22/options.js.map +1 -1
  150. package/esm/options/1_22/scroll.d.ts +16 -16
  151. package/esm/options/1_22/scroll.d.ts.map +1 -1
  152. package/esm/options/1_22/scroll.js +14 -14
  153. package/esm/options/1_23.d.ts +36 -11
  154. package/esm/options/1_23.d.ts.map +1 -1
  155. package/esm/options/1_23.js +44 -34
  156. package/esm/options/1_23.js.map +1 -1
  157. package/esm/options/1_24.d.ts +34 -8
  158. package/esm/options/1_24.d.ts.map +1 -1
  159. package/esm/options/1_24.js +22 -12
  160. package/esm/options/1_24.js.map +1 -1
  161. package/esm/options/1_25/index.d.ts +2 -2
  162. package/esm/options/1_25/index.js +2 -2
  163. package/esm/options/1_25/options.d.ts +10 -5
  164. package/esm/options/1_25/options.d.ts.map +1 -1
  165. package/esm/options/1_25/options.js +21 -7
  166. package/esm/options/1_25/options.js.map +1 -1
  167. package/esm/options/1_25/scroll.d.ts +19 -18
  168. package/esm/options/1_25/scroll.d.ts.map +1 -1
  169. package/esm/options/1_25/scroll.js +33 -32
  170. package/esm/options/1_25/scroll.js.map +1 -1
  171. package/esm/options/2_0.d.ts +91 -0
  172. package/esm/options/2_0.d.ts.map +1 -0
  173. package/esm/options/2_0.js +244 -0
  174. package/esm/options/2_0.js.map +1 -0
  175. package/esm/options/codec.d.ts +52 -0
  176. package/esm/options/codec.d.ts.map +1 -0
  177. package/esm/options/codec.js +26 -0
  178. package/esm/options/codec.js.map +1 -0
  179. package/esm/options/index.d.ts +12 -8
  180. package/esm/options/index.d.ts.map +1 -1
  181. package/esm/options/index.js +12 -8
  182. package/esm/options/index.js.map +1 -1
  183. package/esm/options/latest.d.ts +12 -0
  184. package/esm/options/latest.d.ts.map +1 -0
  185. package/esm/options/latest.js +8 -0
  186. package/esm/options/latest.js.map +1 -0
  187. package/esm/options/types.d.ts +86 -46
  188. package/esm/options/types.d.ts.map +1 -1
  189. package/esm/options/types.js +69 -17
  190. package/esm/options/types.js.map +1 -1
  191. package/package.json +10 -16
  192. package/src/codec/av1.ts +33 -0
  193. package/src/codec/h264.ts +317 -0
  194. package/src/codec/h265.ts +1375 -0
  195. package/src/codec/index.ts +4 -0
  196. package/src/codec/nalu.ts +373 -0
  197. package/src/control/back-or-screen-on.ts +1 -1
  198. package/src/control/basic.ts +3 -0
  199. package/src/control/hover-helper.ts +2 -4
  200. package/src/control/index.ts +2 -0
  201. package/src/control/inject-keycode.ts +194 -51
  202. package/src/control/inject-scroll.ts +1 -1
  203. package/src/control/inject-text.ts +6 -9
  204. package/src/control/inject-touch.ts +16 -55
  205. package/src/control/rotate-device.ts +3 -7
  206. package/src/control/serializer.ts +49 -105
  207. package/src/control/set-clipboard.ts +1 -1
  208. package/src/control/set-screen-power-mode.ts +6 -9
  209. package/src/control/type.ts +32 -0
  210. package/src/control/writer.ts +87 -0
  211. package/src/device-message/ack-clipboard.ts +1 -1
  212. package/src/device-message/clipboard.ts +1 -1
  213. package/src/device-message/stream.ts +32 -12
  214. package/src/index.ts +4 -5
  215. package/src/options/1_16/codec-options.ts +5 -8
  216. package/src/options/1_16/float-to-uint16.ts +33 -0
  217. package/src/options/1_16/index.ts +3 -1
  218. package/src/options/1_16/init.ts +80 -0
  219. package/src/options/1_16/message.ts +55 -0
  220. package/src/options/1_16/options.ts +152 -256
  221. package/src/options/1_16/scroll.ts +2 -5
  222. package/src/options/1_17.ts +66 -0
  223. package/src/options/1_18.ts +106 -42
  224. package/src/options/1_21.ts +51 -30
  225. package/src/options/1_22/index.ts +1 -0
  226. package/src/options/1_22/init.ts +19 -0
  227. package/src/options/1_22/options.ts +40 -46
  228. package/src/options/1_22/scroll.ts +2 -2
  229. package/src/options/1_23.ts +33 -23
  230. package/src/options/1_24.ts +25 -11
  231. package/src/options/1_25/options.ts +25 -6
  232. package/src/options/1_25/scroll.ts +5 -7
  233. package/src/options/2_0.ts +342 -0
  234. package/src/options/codec.ts +98 -0
  235. package/src/options/index.ts +7 -3
  236. package/src/options/latest.ts +14 -0
  237. package/src/options/types.ts +158 -48
  238. package/tsconfig.build.json +9 -1
  239. package/tsconfig.build.tsbuildinfo +1 -1
  240. package/esm/adb/client.d.ts +0 -41
  241. package/esm/adb/client.d.ts.map +0 -1
  242. package/esm/adb/client.js +0 -243
  243. package/esm/adb/client.js.map +0 -1
  244. package/esm/adb/connection.d.ts +0 -47
  245. package/esm/adb/connection.d.ts.map +0 -1
  246. package/esm/adb/connection.js +0 -110
  247. package/esm/adb/connection.js.map +0 -1
  248. package/esm/adb/index.d.ts +0 -4
  249. package/esm/adb/index.d.ts.map +0 -1
  250. package/esm/adb/index.js +0 -4
  251. package/esm/adb/index.js.map +0 -1
  252. package/esm/adb/options/1_16.d.ts +0 -8
  253. package/esm/adb/options/1_16.d.ts.map +0 -1
  254. package/esm/adb/options/1_16.js +0 -20
  255. package/esm/adb/options/1_16.js.map +0 -1
  256. package/esm/adb/options/1_22.d.ts +0 -8
  257. package/esm/adb/options/1_22.d.ts.map +0 -1
  258. package/esm/adb/options/1_22.js +0 -17
  259. package/esm/adb/options/1_22.js.map +0 -1
  260. package/esm/adb/options/index.d.ts +0 -4
  261. package/esm/adb/options/index.d.ts.map +0 -1
  262. package/esm/adb/options/index.js +0 -4
  263. package/esm/adb/options/index.js.map +0 -1
  264. package/esm/adb/options/types.d.ts +0 -24
  265. package/esm/adb/options/types.d.ts.map +0 -1
  266. package/esm/adb/options/types.js +0 -37
  267. package/esm/adb/options/types.js.map +0 -1
  268. package/esm/codec.d.ts +0 -34
  269. package/esm/codec.d.ts.map +0 -1
  270. package/esm/codec.js +0 -37
  271. package/esm/codec.js.map +0 -1
  272. package/esm/options/1_16/h264-configuration.d.ts +0 -49
  273. package/esm/options/1_16/h264-configuration.d.ts.map +0 -1
  274. package/esm/options/1_16/h264-configuration.js +0 -414
  275. package/esm/options/1_16/h264-configuration.js.map +0 -1
  276. package/esm/options/1_16/sps.d.ts +0 -22
  277. package/esm/options/1_16/sps.d.ts.map +0 -1
  278. package/esm/options/1_16/sps.js +0 -263
  279. package/esm/options/1_16/sps.js.map +0 -1
  280. package/src/adb/client.ts +0 -345
  281. package/src/adb/connection.ts +0 -192
  282. package/src/adb/index.ts +0 -3
  283. package/src/adb/options/1_16.ts +0 -30
  284. package/src/adb/options/1_22.ts +0 -26
  285. package/src/adb/options/index.ts +0 -3
  286. package/src/adb/options/types.ts +0 -75
  287. package/src/codec.ts +0 -35
  288. package/src/options/1_16/h264-configuration.ts +0 -485
@@ -1,5 +1,7 @@
1
- export * from "./codec-options.js";
2
- export * from "./h264-configuration.js";
3
- export * from "./options.js";
4
- export * from "./scroll.js";
1
+ export * from "./codec-options.js";
2
+ export * from "./float-to-uint16.js";
3
+ export * from "./init.js";
4
+ export * from "./message.js";
5
+ export * from "./options.js";
6
+ export * from "./scroll.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,5 +1,7 @@
1
- export * from "./codec-options.js";
2
- export * from "./h264-configuration.js";
3
- export * from "./options.js";
4
- export * from "./scroll.js";
1
+ export * from "./codec-options.js";
2
+ export * from "./float-to-uint16.js";
3
+ export * from "./init.js";
4
+ export * from "./message.js";
5
+ export * from "./options.js";
6
+ export * from "./scroll.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { CodecOptions } from "./codec-options.js";
2
+ export declare enum ScrcpyLogLevel1_16 {
3
+ Debug = "debug",
4
+ Info = "info",
5
+ Warn = "warn",
6
+ Error = "error"
7
+ }
8
+ export declare enum ScrcpyVideoOrientation1_16 {
9
+ Unlocked = -1,
10
+ Portrait = 0,
11
+ Landscape = 1,
12
+ PortraitFlipped = 2,
13
+ LandscapeFlipped = 3
14
+ }
15
+ export interface ScrcpyOptionsInit1_16 {
16
+ logLevel?: ScrcpyLogLevel1_16;
17
+ /**
18
+ * The maximum value of both width and height.
19
+ */
20
+ maxSize?: number;
21
+ bitRate?: number;
22
+ /**
23
+ * 0 for unlimited.
24
+ *
25
+ * @default 0
26
+ */
27
+ maxFps?: number;
28
+ /**
29
+ * The orientation of the video stream.
30
+ *
31
+ * It will not keep the device screen in specific orientation,
32
+ * only the captured video will in this orientation.
33
+ */
34
+ lockVideoOrientation?: ScrcpyVideoOrientation1_16;
35
+ /**
36
+ * Use ADB forward tunnel instead of reverse tunnel.
37
+ *
38
+ * This option is mainly used for working around the bug that on Android <9,
39
+ * ADB daemon can't create reverse tunnels if connected wirelessly (ADB over WiFi).
40
+ *
41
+ * When using `AdbScrcpyClient`, it can detect this situation and enable this option automatically.
42
+ */
43
+ tunnelForward?: boolean;
44
+ crop?: string | undefined;
45
+ /**
46
+ * Send PTS so that the client may record properly
47
+ *
48
+ * Note: When `sendFrameMeta: false` is specified,
49
+ * the video stream will not contain `configuration` typed packets,
50
+ * which means it can't be decoded by the companion decoders.
51
+ * It's still possible to record the stream into a file,
52
+ * or to decode it with a more tolerant decoder like FFMpeg.
53
+ *
54
+ * @default true
55
+ */
56
+ sendFrameMeta?: boolean;
57
+ /**
58
+ * @default true
59
+ */
60
+ control?: boolean;
61
+ displayId?: number;
62
+ showTouches?: boolean;
63
+ stayAwake?: boolean;
64
+ codecOptions?: CodecOptions;
65
+ }
66
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,oBAAY,kBAAkB;IAC1B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED,oBAAY,0BAA0B;IAClC,QAAQ,KAAK;IACb,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,eAAe,IAAI;IACnB,gBAAgB,IAAI;CACvB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAElD;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B"}
@@ -0,0 +1,16 @@
1
+ export var ScrcpyLogLevel1_16;
2
+ (function (ScrcpyLogLevel1_16) {
3
+ ScrcpyLogLevel1_16["Debug"] = "debug";
4
+ ScrcpyLogLevel1_16["Info"] = "info";
5
+ ScrcpyLogLevel1_16["Warn"] = "warn";
6
+ ScrcpyLogLevel1_16["Error"] = "error";
7
+ })(ScrcpyLogLevel1_16 = ScrcpyLogLevel1_16 || (ScrcpyLogLevel1_16 = {}));
8
+ export var ScrcpyVideoOrientation1_16;
9
+ (function (ScrcpyVideoOrientation1_16) {
10
+ ScrcpyVideoOrientation1_16[ScrcpyVideoOrientation1_16["Unlocked"] = -1] = "Unlocked";
11
+ ScrcpyVideoOrientation1_16[ScrcpyVideoOrientation1_16["Portrait"] = 0] = "Portrait";
12
+ ScrcpyVideoOrientation1_16[ScrcpyVideoOrientation1_16["Landscape"] = 1] = "Landscape";
13
+ ScrcpyVideoOrientation1_16[ScrcpyVideoOrientation1_16["PortraitFlipped"] = 2] = "PortraitFlipped";
14
+ ScrcpyVideoOrientation1_16[ScrcpyVideoOrientation1_16["LandscapeFlipped"] = 3] = "LandscapeFlipped";
15
+ })(ScrcpyVideoOrientation1_16 = ScrcpyVideoOrientation1_16 || (ScrcpyVideoOrientation1_16 = {}));
16
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/options/1_16/init.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,qCAAe,CAAA;AACnB,CAAC,EALW,kBAAkB,GAAlB,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,0BAMX;AAND,WAAY,0BAA0B;IAClC,oFAAa,CAAA;IACb,mFAAY,CAAA;IACZ,qFAAa,CAAA;IACb,iGAAmB,CAAA;IACnB,mGAAoB,CAAA;AACxB,CAAC,EANW,0BAA0B,GAA1B,0BAA0B,KAA1B,0BAA0B,QAMrC"}
@@ -0,0 +1,32 @@
1
+ import Struct from "@yume-chan/struct";
2
+ import type { AndroidMotionEventAction } from "../../control/index.js";
3
+ import { ScrcpyControlMessageType } from "../../control/index.js";
4
+ export declare const SCRCPY_CONTROL_MESSAGE_TYPES_1_16: readonly ScrcpyControlMessageType[];
5
+ export declare const ScrcpyMediaStreamRawPacket: Struct<{
6
+ pts: bigint;
7
+ size: number;
8
+ data: Uint8Array;
9
+ }, "size", Record<never, never>, undefined>;
10
+ export declare const SCRCPY_MEDIA_PACKET_FLAG_CONFIG: bigint;
11
+ export declare const ScrcpyInjectTouchControlMessage1_16: Struct<{
12
+ type: number;
13
+ action: AndroidMotionEventAction;
14
+ pointerId: bigint;
15
+ pointerX: number;
16
+ pointerY: number;
17
+ screenWidth: number;
18
+ screenHeight: number;
19
+ pressure: number;
20
+ buttons: number;
21
+ }, never, Record<never, never>, undefined>;
22
+ export type ScrcpyInjectTouchControlMessage1_16 = (typeof ScrcpyInjectTouchControlMessage1_16)["TInit"];
23
+ export declare const ScrcpyBackOrScreenOnControlMessage1_16: Struct<{
24
+ type: number;
25
+ }, never, Record<never, never>, undefined>;
26
+ export declare const ScrcpySetClipboardControlMessage1_15: Struct<{
27
+ type: number;
28
+ length: number;
29
+ content: string;
30
+ }, "length", Record<never, never>, undefined>;
31
+ export type ScrcpySetClipboardControlMessage1_15 = (typeof ScrcpySetClipboardControlMessage1_15)["TInit"];
32
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/message.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAEH,wBAAwB,EAC3B,MAAM,wBAAwB,CAAC;AAIhC,eAAO,MAAM,iCAAiC,EAAE,SAAS,wBAAwB,EAa5E,CAAC;AAEN,eAAO,MAAM,0BAA0B;;;;2CAGS,CAAC;AAEjD,eAAO,MAAM,+BAA+B,QAAY,CAAC;AAEzD,eAAO,MAAM,mCAAmC;;;;;;;;;;0CAS1B,CAAC;AAEvB,MAAM,MAAM,mCAAmC,GAC3C,CAAC,OAAO,mCAAmC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE1D,eAAO,MAAM,sCAAsC;;0CAAsB,CAAC;AAE1E,eAAO,MAAM,oCAAoC;;;;6CAGA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,CAAC,OAAO,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import Struct, { placeholder } from "@yume-chan/struct";
2
+ import { BasicControlMessage, ScrcpyControlMessageType, } from "../../control/index.js";
3
+ import { ScrcpyFloatToUint16FieldDefinition } from "./float-to-uint16.js";
4
+ export const SCRCPY_CONTROL_MESSAGE_TYPES_1_16 = [
5
+ /* 0 */ ScrcpyControlMessageType.InjectKeyCode,
6
+ /* 1 */ ScrcpyControlMessageType.InjectText,
7
+ /* 2 */ ScrcpyControlMessageType.InjectTouch,
8
+ /* 3 */ ScrcpyControlMessageType.InjectScroll,
9
+ /* 4 */ ScrcpyControlMessageType.BackOrScreenOn,
10
+ /* 5 */ ScrcpyControlMessageType.ExpandNotificationPanel,
11
+ /* 6 */ ScrcpyControlMessageType.CollapseNotificationPanel,
12
+ /* 7 */ ScrcpyControlMessageType.GetClipboard,
13
+ /* 8 */ ScrcpyControlMessageType.SetClipboard,
14
+ /* 9 */ ScrcpyControlMessageType.SetScreenPowerMode,
15
+ /* 10 */ ScrcpyControlMessageType.RotateDevice,
16
+ ];
17
+ export const ScrcpyMediaStreamRawPacket = new Struct()
18
+ .uint64("pts")
19
+ .uint32("size")
20
+ .uint8Array("data", { lengthField: "size" });
21
+ export const SCRCPY_MEDIA_PACKET_FLAG_CONFIG = 1n << 63n;
22
+ export const ScrcpyInjectTouchControlMessage1_16 = new Struct()
23
+ .uint8("type")
24
+ .uint8("action", placeholder())
25
+ .uint64("pointerId")
26
+ .uint32("pointerX")
27
+ .uint32("pointerY")
28
+ .uint16("screenWidth")
29
+ .uint16("screenHeight")
30
+ .field("pressure", ScrcpyFloatToUint16FieldDefinition)
31
+ .uint32("buttons");
32
+ export const ScrcpyBackOrScreenOnControlMessage1_16 = BasicControlMessage;
33
+ export const ScrcpySetClipboardControlMessage1_15 = new Struct()
34
+ .uint8("type")
35
+ .uint32("length")
36
+ .string("content", { lengthField: "length" });
37
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/options/1_16/message.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EACH,mBAAmB,EACnB,wBAAwB,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAE1E,MAAM,CAAC,MAAM,iCAAiC,GAC1C;IACI,QAAQ,CAAC,wBAAwB,CAAC,aAAa;IAC/C,QAAQ,CAAC,wBAAwB,CAAC,UAAU;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,WAAW;IAC7C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,cAAc;IAChD,QAAQ,CAAC,wBAAwB,CAAC,uBAAuB;IACzD,QAAQ,CAAC,wBAAwB,CAAC,yBAAyB;IAC3D,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,YAAY;IAC9C,QAAQ,CAAC,wBAAwB,CAAC,kBAAkB;IACpD,QAAQ,CAAC,wBAAwB,CAAC,YAAY;CACjD,CAAC;AAEN,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,MAAM,EAAE;KACjD,MAAM,CAAC,KAAK,CAAC;KACb,MAAM,CAAC,MAAM,CAAC;KACd,UAAU,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,IAAI,GAAG,CAAC;AAEzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,MAAM,EAAE;KAC1D,KAAK,CAAC,MAAM,CAAC;KACb,KAAK,CAAC,QAAQ,EAAE,WAAW,EAA4B,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC;KACnB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,cAAc,CAAC;KACtB,KAAK,CAAC,UAAU,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,SAAS,CAAC,CAAC;AAKvB,MAAM,CAAC,MAAM,sCAAsC,GAAG,mBAAmB,CAAC;AAE1E,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,MAAM,EAAE;KAC3D,KAAK,CAAC,MAAM,CAAC;KACb,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC"}
@@ -1,94 +1,49 @@
1
- import { TransformStream } from "@yume-chan/stream-extra";
2
- import Struct from "@yume-chan/struct";
3
- import { ScrcpyControlMessageType, type ScrcpyBackOrScreenOnControlMessage, type ScrcpySetClipboardControlMessage } from "../../control/index.js";
4
- import { type ScrcpyOptions, type ScrcpyVideoStreamPacket } from "../types.js";
5
- import { CodecOptions } from "./codec-options.js";
6
- import { type ScrcpyScrollController } from "./scroll.js";
7
- export declare enum ScrcpyLogLevel {
8
- Verbose = "verbose",
9
- Debug = "debug",
10
- Info = "info",
11
- Warn = "warn",
12
- Error = "error"
13
- }
14
- export declare enum ScrcpyVideoOrientation {
15
- Initial = -2,
16
- Unlocked = -1,
17
- Portrait = 0,
18
- Landscape = 1,
19
- PortraitFlipped = 2,
20
- LandscapeFlipped = 3
21
- }
22
- export interface ScrcpyOptionsInit1_16 {
23
- logLevel: ScrcpyLogLevel;
24
- /**
25
- * The maximum value of both width and height.
26
- */
27
- maxSize: number;
28
- bitRate: number;
29
- /**
30
- * 0 for unlimited.
31
- *
32
- * @default 0
33
- */
34
- maxFps: number;
35
- /**
36
- * The orientation of the video stream.
37
- *
38
- * It will not keep the device screen in specific orientation,
39
- * only the captured video will in this orientation.
40
- */
41
- lockVideoOrientation: ScrcpyVideoOrientation;
42
- tunnelForward: boolean;
43
- crop: string;
44
- /**
45
- * Send PTS so that the client may record properly
46
- *
47
- * Note: When `sendFrameMeta: false` is specified,
48
- * `onChangeEncoding` event won't fire and `onVideoData` event doesn't
49
- * merge sps/pps frame and first video frame. Which means you can't use
50
- * the shipped decoders to render the video
51
- * (You can still record the stream into a file).
52
- *
53
- * @default true
54
- */
55
- sendFrameMeta: boolean;
56
- /**
57
- * @default true
58
- */
59
- control: boolean;
60
- displayId: number;
61
- showTouches: boolean;
62
- stayAwake: boolean;
63
- codecOptions: CodecOptions;
64
- encoderName: string;
65
- }
66
- export declare const VideoPacket: Struct<{
67
- pts: bigint;
68
- size: number;
69
- data: Uint8Array;
70
- }, "size", Record<never, never>, undefined>;
71
- export declare const NO_PTS: bigint;
72
- export declare const ScrcpyBackOrScreenOnControlMessage1_16: Struct<{
73
- type: ScrcpyControlMessageType.BackOrScreenOn;
74
- }, never, Record<never, never>, undefined>;
75
- export declare const ScrcpySetClipboardControlMessage1_15: Struct<{
76
- type: ScrcpyControlMessageType.SetClipboard;
77
- length: number;
78
- content: string;
79
- }, "length", Record<never, never>, undefined>;
80
- export type ScrcpySetClipboardControlMessage1_15 = typeof ScrcpySetClipboardControlMessage1_15["TInit"];
81
- export declare class ScrcpyOptions1_16<T extends ScrcpyOptionsInit1_16 = ScrcpyOptionsInit1_16> implements ScrcpyOptions<T> {
82
- value: Partial<T>;
83
- constructor(value: Partial<ScrcpyOptionsInit1_16>);
84
- protected getArgumentOrder(): (keyof T)[];
85
- getDefaultValue(): T;
86
- formatServerArguments(): string[];
87
- getOutputEncoderNameRegex(): RegExp;
88
- createVideoStreamTransformer(): TransformStream<Uint8Array, ScrcpyVideoStreamPacket>;
89
- getControlMessageTypes(): ScrcpyControlMessageType[];
90
- serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
91
- serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
92
- getScrollController(): ScrcpyScrollController;
93
- }
1
+ import type { ReadableStream } from "@yume-chan/stream-extra";
2
+ import { TransformStream } from "@yume-chan/stream-extra";
3
+ import type { AsyncExactReadable, ValueOrPromise } from "@yume-chan/struct";
4
+ import type { ScrcpyBackOrScreenOnControlMessage, ScrcpyControlMessageType, ScrcpyInjectTouchControlMessage, ScrcpySetClipboardControlMessage } from "../../control/index.js";
5
+ import type { ScrcpyMediaStreamPacket, ScrcpyVideoStream } from "../codec.js";
6
+ import type { ScrcpyDisplay, ScrcpyEncoder, ScrcpyOptions } from "../types.js";
7
+ import { CodecOptions } from "./codec-options.js";
8
+ import type { ScrcpyOptionsInit1_16 } from "./init.js";
9
+ import { ScrcpyLogLevel1_16, ScrcpyVideoOrientation1_16 } from "./init.js";
10
+ import type { ScrcpyScrollController } from "./scroll.js";
11
+ export declare class ScrcpyOptions1_16 implements ScrcpyOptions<ScrcpyOptionsInit1_16> {
12
+ static readonly DEFAULTS: {
13
+ readonly logLevel: ScrcpyLogLevel1_16.Debug;
14
+ readonly maxSize: 0;
15
+ readonly bitRate: 8000000;
16
+ readonly maxFps: 0;
17
+ readonly lockVideoOrientation: ScrcpyVideoOrientation1_16.Unlocked;
18
+ readonly tunnelForward: false;
19
+ readonly crop: undefined;
20
+ readonly sendFrameMeta: true;
21
+ readonly control: true;
22
+ readonly displayId: 0;
23
+ readonly showTouches: false;
24
+ readonly stayAwake: false;
25
+ readonly codecOptions: CodecOptions;
26
+ };
27
+ static readonly SERIALIZE_ORDER: readonly ["logLevel", "maxSize", "bitRate", "maxFps", "lockVideoOrientation", "tunnelForward", "crop", "sendFrameMeta", "control", "displayId", "showTouches", "stayAwake", "codecOptions"];
28
+ static serialize<T>(options: T, order: readonly (keyof T)[]): string[];
29
+ static parseCString(stream: AsyncExactReadable, maxLength: number): Promise<string>;
30
+ static parseUint16BE(stream: AsyncExactReadable): Promise<number>;
31
+ static parseUint32BE(stream: AsyncExactReadable): Promise<number>;
32
+ value: Required<ScrcpyOptionsInit1_16>;
33
+ readonly defaults: Required<ScrcpyOptionsInit1_16>;
34
+ readonly controlMessageTypes: readonly ScrcpyControlMessageType[];
35
+ constructor(init: ScrcpyOptionsInit1_16);
36
+ serialize(): string[];
37
+ setListEncoders(): void;
38
+ setListDisplays(): void;
39
+ parseEncoder(): ScrcpyEncoder | undefined;
40
+ parseDisplay(line: string): ScrcpyDisplay | undefined;
41
+ parseVideoStreamMetadata(stream: ReadableStream<Uint8Array>): ValueOrPromise<ScrcpyVideoStream>;
42
+ parseAudioStreamMetadata(): never;
43
+ createMediaStreamTransformer(): TransformStream<Uint8Array, ScrcpyMediaStreamPacket>;
44
+ serializeInjectTouchControlMessage(message: ScrcpyInjectTouchControlMessage): Uint8Array;
45
+ serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array | undefined;
46
+ serializeSetClipboardControlMessage(message: ScrcpySetClipboardControlMessage): Uint8Array;
47
+ createScrollController(): ScrcpyScrollController;
48
+ }
94
49
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAEH,wBAAwB,EACxB,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACxC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC/B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,aAAa,CAAC;AAErB,oBAAY,cAAc;IACtB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED,oBAAY,sBAAsB;IAC9B,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,eAAe,IAAI;IACnB,gBAAgB,IAAI;CACvB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,oBAAoB,EAAE,sBAAsB,CAAC;IAE7C,aAAa,EAAE,OAAO,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;OAUG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,OAAO,CAAC;IAErB,SAAS,EAAE,OAAO,CAAC;IAEnB,YAAY,EAAE,YAAY,CAAC;IAE3B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,WAAW;;;;2CAGwB,CAAC;AAEjD,eAAO,MAAM,MAAM,QAA0B,CAAC;AAE9C,eAAO,MAAM,sCAAsC;;0CAGlD,CAAC;AAEF,eAAO,MAAM,oCAAoC;;;;6CAGA,CAAC;AAElD,MAAM,MAAM,oCAAoC,GAC5C,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAC;AAEzD,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,YAAW,aAAa,CAAC,CAAC,CAAC;IAElB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEN,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAkBxD,SAAS,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;IAmBlC,eAAe,IAAI,CAAC;IAmBpB,qBAAqB,IAAI,MAAM,EAAE;IAOjC,yBAAyB,IAAI,MAAM;IAInC,4BAA4B,IAAI,eAAe,CAClD,UAAU,EACV,uBAAuB,CAC1B;IAuGM,sBAAsB,IAAI,wBAAwB,EAAE;IAgBpD,qCAAqC,CACxC,OAAO,EAAE,kCAAkC;IASxC,mCAAmC,CACtC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIN,mBAAmB,IAAI,sBAAsB;CAGvD"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGH,eAAe,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,KAAK,EACR,kCAAkC,EAClC,wBAAwB,EACxB,+BAA+B,EAC/B,gCAAgC,EACnC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACR,uBAAuB,EACvB,iBAAiB,EAEpB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAS3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,qBAAa,iBAAkB,YAAW,aAAa,CAAC,qBAAqB,CAAC;IAC1E,gBAAuB,QAAQ;;;;;;;;;;;;;;MAcsB;IAErD,gBAAuB,eAAe,8LAcwB;WAEhD,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE;WAI9C,YAAY,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;WAME,aAAa,CAC7B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;WAKE,aAAa,CAC7B,MAAM,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;IAKX,KAAK,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE9C,SAAgB,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAC1B;IAE/B,SAAgB,mBAAmB,EAAE,SAAS,wBAAwB,EAAE,CAClC;gBAEnB,IAAI,EAAE,qBAAqB;IAIvC,SAAS,IAAI,MAAM,EAAE;IAOrB,eAAe,IAAI,IAAI;IAIvB,eAAe,IAAI,IAAI;IAOvB,YAAY,IAAI,aAAa,GAAG,SAAS;IAIzC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAWrD,wBAAwB,CAC3B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,iBAAiB,CAAC;IAgB7B,wBAAwB,IAAI,KAAK;IAIjC,4BAA4B,IAAI,eAAe,CAClD,UAAU,EACV,uBAAuB,CAC1B;IAwCM,kCAAkC,CACrC,OAAO,EAAE,+BAA+B,GACzC,UAAU;IAIN,qCAAqC,CACxC,OAAO,EAAE,kCAAkC;IASxC,mCAAmC,CACtC,OAAO,EAAE,gCAAgC,GAC1C,UAAU;IAIN,sBAAsB,IAAI,sBAAsB;CAG1D"}