@yume-chan/scrcpy 0.0.23 → 0.0.24
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/CHANGELOG.json +21 -0
- package/CHANGELOG.md +11 -1
- package/LICENSE +1 -1
- package/esm/codec/av1.d.ts +364 -0
- package/esm/codec/av1.d.ts.map +1 -1
- package/esm/codec/av1.js +591 -0
- package/esm/codec/av1.js.map +1 -1
- package/esm/codec/nalu.d.ts +0 -9
- package/esm/codec/nalu.d.ts.map +1 -1
- package/esm/codec/nalu.js +56 -129
- package/esm/codec/nalu.js.map +1 -1
- package/esm/control/{basic.d.ts → empty.d.ts} +2 -2
- package/esm/control/empty.d.ts.map +1 -0
- package/esm/control/empty.js +3 -0
- package/esm/control/empty.js.map +1 -0
- package/esm/control/index.d.ts +1 -1
- package/esm/control/index.js +1 -1
- package/esm/control/rotate-device.js +2 -2
- package/esm/control/serializer.d.ts +2 -0
- package/esm/control/serializer.d.ts.map +1 -1
- package/esm/control/serializer.js +10 -4
- package/esm/control/serializer.js.map +1 -1
- package/esm/control/type.js +1 -1
- package/esm/control/type.js.map +1 -1
- package/esm/control/writer.d.ts +4 -1
- package/esm/control/writer.d.ts.map +1 -1
- package/esm/control/writer.js +12 -2
- package/esm/control/writer.js.map +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +1 -1
- package/esm/options/1_16/float.d.ts +6 -0
- package/esm/options/1_16/float.d.ts.map +1 -0
- package/esm/options/1_16/{float-to-uint16.js → float.js} +7 -6
- package/esm/options/1_16/float.js.map +1 -0
- package/esm/options/1_16/index.d.ts +1 -1
- package/esm/options/1_16/index.d.ts.map +1 -1
- package/esm/options/1_16/index.js +1 -1
- package/esm/options/1_16/index.js.map +1 -1
- package/esm/options/1_16/message.d.ts +4 -0
- package/esm/options/1_16/message.d.ts.map +1 -1
- package/esm/options/1_16/message.js +7 -4
- package/esm/options/1_16/message.js.map +1 -1
- package/esm/options/1_16/options.d.ts +13 -4
- package/esm/options/1_16/options.d.ts.map +1 -1
- package/esm/options/1_16/options.js +43 -15
- package/esm/options/1_16/options.js.map +1 -1
- package/esm/options/1_17.d.ts +2 -3
- package/esm/options/1_17.d.ts.map +1 -1
- package/esm/options/1_17.js +3 -6
- package/esm/options/1_17.js.map +1 -1
- package/esm/options/1_18.d.ts +2 -3
- package/esm/options/1_18.d.ts.map +1 -1
- package/esm/options/1_18.js +4 -24
- package/esm/options/1_18.js.map +1 -1
- package/esm/options/1_21.d.ts +9 -4
- package/esm/options/1_21.d.ts.map +1 -1
- package/esm/options/1_21.js +30 -7
- package/esm/options/1_21.js.map +1 -1
- package/esm/options/1_22/options.d.ts +2 -3
- package/esm/options/1_22/options.d.ts.map +1 -1
- package/esm/options/1_22/options.js +4 -7
- package/esm/options/1_22/options.js.map +1 -1
- package/esm/options/1_23.d.ts +2 -3
- package/esm/options/1_23.d.ts.map +1 -1
- package/esm/options/1_23.js +4 -7
- package/esm/options/1_23.js.map +1 -1
- package/esm/options/1_24.d.ts +2 -3
- package/esm/options/1_24.d.ts.map +1 -1
- package/esm/options/1_24.js +3 -6
- package/esm/options/1_24.js.map +1 -1
- package/esm/options/1_25/options.d.ts +2 -3
- package/esm/options/1_25/options.d.ts.map +1 -1
- package/esm/options/1_25/options.js +3 -6
- package/esm/options/1_25/options.js.map +1 -1
- package/esm/options/1_25/scroll.d.ts +3 -2
- package/esm/options/1_25/scroll.d.ts.map +1 -1
- package/esm/options/1_25/scroll.js +8 -7
- package/esm/options/1_25/scroll.js.map +1 -1
- package/esm/options/2_0.d.ts +10 -8
- package/esm/options/2_0.d.ts.map +1 -1
- package/esm/options/2_0.js +68 -74
- package/esm/options/2_0.js.map +1 -1
- package/esm/options/2_1.d.ts +4 -5
- package/esm/options/2_1.d.ts.map +1 -1
- package/esm/options/2_1.js +3 -6
- package/esm/options/2_1.js.map +1 -1
- package/esm/options/2_2.d.ts +4 -5
- package/esm/options/2_2.d.ts.map +1 -1
- package/esm/options/2_2.js +3 -6
- package/esm/options/2_2.js.map +1 -1
- package/esm/options/2_3.d.ts +59 -0
- package/esm/options/2_3.d.ts.map +1 -0
- package/esm/options/2_3.js +47 -0
- package/esm/options/2_3.js.map +1 -0
- package/esm/options/codec.d.ts +1 -0
- package/esm/options/codec.d.ts.map +1 -1
- package/esm/options/codec.js +1 -0
- package/esm/options/codec.js.map +1 -1
- package/esm/options/index.d.ts +1 -0
- package/esm/options/index.d.ts.map +1 -1
- package/esm/options/index.js +1 -0
- package/esm/options/index.js.map +1 -1
- package/esm/options/latest.d.ts +4 -4
- package/esm/options/latest.js +2 -2
- package/esm/options/types.d.ts +30 -32
- package/esm/options/types.d.ts.map +1 -1
- package/esm/options/types.js +77 -26
- package/esm/options/types.js.map +1 -1
- package/package.json +11 -11
- package/src/codec/av1.ts +670 -0
- package/src/codec/nalu.ts +67 -154
- package/src/control/empty.ts +3 -0
- package/src/control/index.ts +1 -1
- package/src/control/rotate-device.ts +2 -2
- package/src/control/serializer.ts +12 -4
- package/src/control/type.ts +1 -1
- package/src/control/writer.ts +16 -6
- package/src/index.ts +0 -1
- package/src/options/1_16/{float-to-uint16.ts → float.ts} +8 -6
- package/src/options/1_16/index.ts +1 -1
- package/src/options/1_16/message.ts +8 -4
- package/src/options/1_16/options.ts +68 -28
- package/src/options/1_17.ts +3 -9
- package/src/options/1_18.ts +3 -36
- package/src/options/1_21.ts +40 -11
- package/src/options/1_22/options.ts +4 -10
- package/src/options/1_23.ts +4 -10
- package/src/options/1_24.ts +3 -9
- package/src/options/1_25/options.ts +3 -9
- package/src/options/1_25/scroll.ts +10 -11
- package/src/options/2_0.ts +87 -92
- package/src/options/2_1.ts +3 -9
- package/src/options/2_2.ts +3 -9
- package/src/options/2_3.ts +70 -0
- package/src/options/codec.ts +6 -0
- package/src/options/index.ts +1 -0
- package/src/options/latest.ts +4 -4
- package/src/options/types.ts +89 -98
- package/tsconfig.build.tsbuildinfo +1 -1
- package/esm/control/basic.d.ts.map +0 -1
- package/esm/control/basic.js +0 -3
- package/esm/control/basic.js.map +0 -1
- package/esm/device-message/ack-clipboard.d.ts +0 -9
- package/esm/device-message/ack-clipboard.d.ts.map +0 -1
- package/esm/device-message/ack-clipboard.js +0 -6
- package/esm/device-message/ack-clipboard.js.map +0 -1
- package/esm/device-message/clipboard.d.ts +0 -10
- package/esm/device-message/clipboard.d.ts.map +0 -1
- package/esm/device-message/clipboard.js +0 -7
- package/esm/device-message/clipboard.js.map +0 -1
- package/esm/device-message/index.d.ts +0 -5
- package/esm/device-message/index.d.ts.map +0 -1
- package/esm/device-message/index.js +0 -5
- package/esm/device-message/index.js.map +0 -1
- package/esm/device-message/stream.d.ts +0 -8
- package/esm/device-message/stream.d.ts.map +0 -1
- package/esm/device-message/stream.js +0 -35
- package/esm/device-message/stream.js.map +0 -1
- package/esm/device-message/type.d.ts +0 -5
- package/esm/device-message/type.d.ts.map +0 -1
- package/esm/device-message/type.js +0 -7
- package/esm/device-message/type.js.map +0 -1
- package/esm/options/1_16/float-to-uint16.d.ts +0 -5
- package/esm/options/1_16/float-to-uint16.d.ts.map +0 -1
- package/esm/options/1_16/float-to-uint16.js.map +0 -1
- package/src/control/basic.ts +0 -3
- package/src/device-message/ack-clipboard.ts +0 -10
- package/src/device-message/clipboard.ts +0 -11
- package/src/device-message/index.ts +0 -4
- package/src/device-message/stream.ts +0 -49
- package/src/device-message/type.ts +0 -5
package/esm/codec/nalu.js
CHANGED
|
@@ -76,128 +76,15 @@ export function* annexBSplitNalu(buffer) {
|
|
|
76
76
|
}
|
|
77
77
|
yield buffer.subarray(start, buffer.length);
|
|
78
78
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Remove emulation prevention bytes from a H.264/H.265 NAL Unit.
|
|
81
|
-
*
|
|
82
|
-
* The input is not modified.
|
|
83
|
-
* If the input doesn't contain any emulation prevention bytes,
|
|
84
|
-
* the input is returned as-is.
|
|
85
|
-
* Otherwise, a new `Uint8Array` is created and returned.
|
|
86
|
-
*/
|
|
87
|
-
export function naluRemoveEmulation(buffer) {
|
|
88
|
-
// output will be created when first emulation prevention byte is found
|
|
89
|
-
let output;
|
|
90
|
-
let outputOffset = 0;
|
|
91
|
-
let zeroCount = 0;
|
|
92
|
-
let inEmulation = false;
|
|
93
|
-
let i = 0;
|
|
94
|
-
scan: for (; i < buffer.length; i += 1) {
|
|
95
|
-
const byte = buffer[i];
|
|
96
|
-
if (byte === 0x00) {
|
|
97
|
-
zeroCount += 1;
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
// Current byte is not zero
|
|
101
|
-
const prevZeroCount = zeroCount;
|
|
102
|
-
zeroCount = 0;
|
|
103
|
-
if (prevZeroCount < 2) {
|
|
104
|
-
// zero or one `0x00`s are acceptable
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
if (byte === 0x01) {
|
|
108
|
-
// Unexpected start code
|
|
109
|
-
throw new Error("Invalid data");
|
|
110
|
-
}
|
|
111
|
-
if (prevZeroCount > 2) {
|
|
112
|
-
// Too much `0x00`s
|
|
113
|
-
throw new Error("Invalid data");
|
|
114
|
-
}
|
|
115
|
-
switch (byte) {
|
|
116
|
-
case 0x02:
|
|
117
|
-
// Didn't find why, but 7.4.1 NAL unit semantics forbids `0x000002` appearing in NAL units
|
|
118
|
-
throw new Error("Invalid data");
|
|
119
|
-
case 0x03:
|
|
120
|
-
// `0x000003` is the "emulation_prevention_three_byte"
|
|
121
|
-
// `0x00000300`, `0x00000301`, `0x00000302` and `0x00000303` represent
|
|
122
|
-
// `0x000000`, `0x000001`, `0x000002` and `0x000003` respectively
|
|
123
|
-
inEmulation = true;
|
|
124
|
-
// Create output and copy the data before the emulation prevention byte
|
|
125
|
-
// Output size is unknown, so we use the input size as an upper bound
|
|
126
|
-
output = new Uint8Array(buffer.length - 1);
|
|
127
|
-
output.set(buffer.subarray(0, i));
|
|
128
|
-
outputOffset = i;
|
|
129
|
-
i += 1;
|
|
130
|
-
break scan;
|
|
131
|
-
default:
|
|
132
|
-
// `0x000004` or larger are as-is
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
if (!output) {
|
|
137
|
-
return buffer;
|
|
138
|
-
}
|
|
139
|
-
// Continue at the byte after the emulation prevention byte
|
|
140
|
-
for (; i < buffer.length; i += 1) {
|
|
141
|
-
const byte = buffer[i];
|
|
142
|
-
output[outputOffset] = byte;
|
|
143
|
-
outputOffset += 1;
|
|
144
|
-
if (inEmulation) {
|
|
145
|
-
if (byte > 0x03) {
|
|
146
|
-
// `0x00000304` or larger are invalid
|
|
147
|
-
throw new Error("Invalid data");
|
|
148
|
-
}
|
|
149
|
-
// `00000300000300` results in `0000000000` (both `0x03` are removed)
|
|
150
|
-
// which means the `0x00` after `0x03` also counts
|
|
151
|
-
if (byte === 0x00) {
|
|
152
|
-
zeroCount += 1;
|
|
153
|
-
}
|
|
154
|
-
inEmulation = false;
|
|
155
|
-
continue;
|
|
156
|
-
}
|
|
157
|
-
if (byte === 0x00) {
|
|
158
|
-
zeroCount += 1;
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
|
-
const prevZeroCount = zeroCount;
|
|
162
|
-
zeroCount = 0;
|
|
163
|
-
if (prevZeroCount < 2) {
|
|
164
|
-
// zero or one `0x00`s are acceptable
|
|
165
|
-
continue;
|
|
166
|
-
}
|
|
167
|
-
if (byte === 0x01) {
|
|
168
|
-
// Unexpected start code
|
|
169
|
-
throw new Error("Invalid data");
|
|
170
|
-
}
|
|
171
|
-
if (prevZeroCount > 2) {
|
|
172
|
-
// Too much `0x00`s
|
|
173
|
-
throw new Error("Invalid data");
|
|
174
|
-
}
|
|
175
|
-
switch (byte) {
|
|
176
|
-
case 0x02:
|
|
177
|
-
// Didn't find why, but 7.4.1 NAL unit semantics forbids `0x000002` appearing in NAL units
|
|
178
|
-
throw new Error("Invalid data");
|
|
179
|
-
case 0x03:
|
|
180
|
-
// `0x000003` is the "emulation_prevention_three_byte"
|
|
181
|
-
// `0x00000300`, `0x00000301`, `0x00000302` and `0x00000303` represent
|
|
182
|
-
// `0x000000`, `0x000001`, `0x000002` and `0x000003` respectively
|
|
183
|
-
inEmulation = true;
|
|
184
|
-
// Remove the emulation prevention byte
|
|
185
|
-
outputOffset -= 1;
|
|
186
|
-
break;
|
|
187
|
-
default:
|
|
188
|
-
// `0x000004` or larger are as-is
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
return output.subarray(0, outputOffset);
|
|
193
|
-
}
|
|
194
79
|
export class NaluSodbBitReader {
|
|
195
80
|
#nalu;
|
|
81
|
+
// logical length is `#byteLength * 8 + (7 - #stopBitIndex)`
|
|
196
82
|
#byteLength;
|
|
197
83
|
#stopBitIndex;
|
|
198
84
|
#zeroCount = 0;
|
|
199
|
-
|
|
200
|
-
#
|
|
85
|
+
// logical position is `#bytePosition * 8 + (7 - #bitPosition)`
|
|
86
|
+
#bytePosition = 0;
|
|
87
|
+
#bitPosition = 7;
|
|
201
88
|
#byte = 0;
|
|
202
89
|
get byteLength() {
|
|
203
90
|
return this.#byteLength;
|
|
@@ -212,11 +99,12 @@ export class NaluSodbBitReader {
|
|
|
212
99
|
return this.#bitPosition;
|
|
213
100
|
}
|
|
214
101
|
get ended() {
|
|
215
|
-
return (this.#bytePosition
|
|
216
|
-
this.#bitPosition
|
|
102
|
+
return (this.#bytePosition >= this.#byteLength &&
|
|
103
|
+
this.#bitPosition <= this.#stopBitIndex);
|
|
217
104
|
}
|
|
218
105
|
constructor(nalu) {
|
|
219
106
|
this.#nalu = nalu;
|
|
107
|
+
// Search for the last bit being `1`, also known as the stop bit
|
|
220
108
|
for (let i = nalu.length - 1; i >= 0; i -= 1) {
|
|
221
109
|
if (this.#nalu[i] === 0) {
|
|
222
110
|
continue;
|
|
@@ -226,21 +114,27 @@ export class NaluSodbBitReader {
|
|
|
226
114
|
if (((byte >> j) & 1) === 1) {
|
|
227
115
|
this.#byteLength = i;
|
|
228
116
|
this.#stopBitIndex = j;
|
|
229
|
-
this.#
|
|
117
|
+
this.#loadByte();
|
|
230
118
|
return;
|
|
231
119
|
}
|
|
232
120
|
}
|
|
233
121
|
}
|
|
234
122
|
throw new Error("Stop bit not found");
|
|
235
123
|
}
|
|
236
|
-
#
|
|
124
|
+
#loadByte() {
|
|
237
125
|
this.#byte = this.#nalu[this.#bytePosition];
|
|
126
|
+
// If the current sequence is `0x000003`, skip to the next byte.
|
|
127
|
+
// `annexBSplitNalu` had validated the input, so skip the check here
|
|
238
128
|
if (this.#zeroCount === 2 && this.#byte === 3) {
|
|
239
129
|
this.#zeroCount = 0;
|
|
240
130
|
this.#bytePosition += 1;
|
|
241
|
-
|
|
131
|
+
// Call `#loadByte` again, because if the next byte is `0x00`,
|
|
132
|
+
// it need to be counted in `#zeroCount` as well.
|
|
133
|
+
this.#loadByte();
|
|
242
134
|
return;
|
|
243
135
|
}
|
|
136
|
+
// `0x00000301` becomes `0x000001`, so only the `0x03` byte needs to be skipped
|
|
137
|
+
// All `0x00` bytes are returned as-is
|
|
244
138
|
if (this.#byte === 0) {
|
|
245
139
|
this.#zeroCount += 1;
|
|
246
140
|
}
|
|
@@ -249,16 +143,16 @@ export class NaluSodbBitReader {
|
|
|
249
143
|
}
|
|
250
144
|
}
|
|
251
145
|
next() {
|
|
252
|
-
if (this.#bitPosition === -1) {
|
|
253
|
-
this.#bitPosition = 7;
|
|
254
|
-
this.#bytePosition += 1;
|
|
255
|
-
this.#readByte();
|
|
256
|
-
}
|
|
257
146
|
if (this.ended) {
|
|
258
147
|
throw new Error("Bit index out of bounds");
|
|
259
148
|
}
|
|
260
149
|
const value = (this.#byte >> this.#bitPosition) & 1;
|
|
261
150
|
this.#bitPosition -= 1;
|
|
151
|
+
if (this.#bitPosition < 0) {
|
|
152
|
+
this.#bytePosition += 1;
|
|
153
|
+
this.#bitPosition = 7;
|
|
154
|
+
this.#loadByte();
|
|
155
|
+
}
|
|
262
156
|
return value;
|
|
263
157
|
}
|
|
264
158
|
read(length) {
|
|
@@ -271,10 +165,43 @@ export class NaluSodbBitReader {
|
|
|
271
165
|
}
|
|
272
166
|
return result;
|
|
273
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Throws an error if the current position is invalid for `skip`.
|
|
170
|
+
*
|
|
171
|
+
* Usually it will throw if `ended` is `true`,
|
|
172
|
+
* except when the bit position is at the stop bit,
|
|
173
|
+
* in which case `ended` will be `true`, but it won't throw.
|
|
174
|
+
* `skip` can skip all remaining bits, and stop at the end position.
|
|
175
|
+
* The next `next` call will throw since there is no more bits to read.
|
|
176
|
+
*/
|
|
177
|
+
#checkSkipPosition() {
|
|
178
|
+
if (this.#bytePosition >= this.#byteLength &&
|
|
179
|
+
this.#bitPosition < this.#stopBitIndex) {
|
|
180
|
+
throw new Error("Bit index out of bounds");
|
|
181
|
+
}
|
|
182
|
+
}
|
|
274
183
|
skip(length) {
|
|
275
|
-
|
|
276
|
-
this
|
|
184
|
+
if (length <= this.#bitPosition + 1) {
|
|
185
|
+
this.#bitPosition -= length;
|
|
186
|
+
this.#checkSkipPosition();
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
// Because of emulation prevention bytes,
|
|
190
|
+
// we don't know how many bits are left in the NAL,
|
|
191
|
+
// nor how many bits should be skipped.
|
|
192
|
+
// So we need to check each byte.
|
|
193
|
+
length -= this.#bitPosition + 1;
|
|
194
|
+
this.#bytePosition += 1;
|
|
195
|
+
this.#bitPosition = 7;
|
|
196
|
+
this.#loadByte();
|
|
197
|
+
this.#checkSkipPosition();
|
|
198
|
+
for (; length >= 8; length -= 8) {
|
|
199
|
+
this.#bytePosition += 1;
|
|
200
|
+
this.#loadByte();
|
|
201
|
+
this.#checkSkipPosition();
|
|
277
202
|
}
|
|
203
|
+
this.#bitPosition = 7 - length;
|
|
204
|
+
this.#checkSkipPosition();
|
|
278
205
|
}
|
|
279
206
|
decodeExponentialGolombNumber() {
|
|
280
207
|
let length = 0;
|
package/esm/codec/nalu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nalu.js","sourceRoot":"","sources":["../../src/codec/nalu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,SAAS,CAAC,CAAC,eAAe,CAAC,MAAkB;IAC/C,iDAAiD;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,4CAA4C;IAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QAExB,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;gBACd,qCAAqC;gBACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,WAAW,GAAG,KAAK,CAAC;YACpB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,SAAS,IAAI,CAAC,CAAC;YACf,SAAS;QACb,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC;QAChC,SAAS,GAAG,CAAC,CAAC;QAEd,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,6BAA6B;YAC7B,gDAAgD;YAChD,sBAAsB;YACtB,IAAI,aAAa,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtC,gCAAgC;gBAChC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,SAAS;YACb,CAAC;YAED,4BAA4B;YAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACpB,qCAAqC;YACrC,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,yBAAyB;YACzB,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;YAEhD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS;QACb,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACpB,mBAAmB;YACnB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI;gBACL,0FAA0F;gBAC1F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACpC,KAAK,IAAI;gBACL,sDAAsD;gBACtD,sEAAsE;gBACtE,iEAAiE;gBACjE,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACV;gBACI,iCAAiC;gBACjC,MAAM;QACd,CAAC;IACL,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"nalu.js","sourceRoot":"","sources":["../../src/codec/nalu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,SAAS,CAAC,CAAC,eAAe,CAAC,MAAkB;IAC/C,iDAAiD;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,4CAA4C;IAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QAExB,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;gBACd,qCAAqC;gBACrC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,WAAW,GAAG,KAAK,CAAC;YACpB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,SAAS,IAAI,CAAC,CAAC;YACf,SAAS;QACb,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC;QAChC,SAAS,GAAG,CAAC,CAAC;QAEd,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,6BAA6B;YAC7B,gDAAgD;YAChD,sBAAsB;YACtB,IAAI,aAAa,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtC,gCAAgC;gBAChC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,SAAS;YACb,CAAC;YAED,4BAA4B;YAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACpB,qCAAqC;YACrC,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,yBAAyB;YACzB,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC;YAEhD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS;QACb,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACpB,mBAAmB;YACnB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,CAAC;QAED,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,IAAI;gBACL,0FAA0F;gBAC1F,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACpC,KAAK,IAAI;gBACL,sDAAsD;gBACtD,sEAAsE;gBACtE,iEAAiE;gBACjE,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACV;gBACI,iCAAiC;gBACjC,MAAM;QACd,CAAC;IACL,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,OAAO,iBAAiB;IACjB,KAAK,CAAa;IAC3B,4DAA4D;IACnD,WAAW,CAAS;IACpB,aAAa,CAAS;IAE/B,UAAU,GAAG,CAAC,CAAC;IAEf,+DAA+D;IAC/D,aAAa,GAAG,CAAC,CAAC;IAClB,YAAY,GAAG,CAAC,CAAC;IACjB,KAAK,GAAG,CAAC,CAAC;IAEV,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,CACH,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW;YACtC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAC1C,CAAC;IACN,CAAC;IAED,YAAY,IAAgB;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,gEAAgE;QAChE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,SAAS;YACb,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;oBACvB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,OAAO;gBACX,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS;QACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAE,CAAC;QAE7C,gEAAgE;QAChE,oEAAoE;QACpE,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YACxB,8DAA8D;YAC9D,iDAAiD;YACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QAED,+EAA+E;QAC/E,sCAAsC;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAc;QACf,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,kBAAkB;QACd,IACI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW;YACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,EACxC,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAc;QACf,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QAED,yCAAyC;QACzC,mDAAmD;QACnD,uCAAuC;QACvC,iCAAiC;QAEjC,MAAM,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,OAAO,MAAM,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,6BAA6B;QACzB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK;QACD,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,IAAI,EAAE,IAAI,CAAC,KAAK;SACnB,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,KAKR;QACG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,MAAc;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Struct } from "@yume-chan/struct";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const EmptyControlMessage: Struct<{
|
|
3
3
|
type: number;
|
|
4
4
|
}, never, Record<never, never>, undefined>;
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=empty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../src/control/empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,eAAO,MAAM,mBAAmB;;0CAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../src/control/empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC"}
|
package/esm/control/index.d.ts
CHANGED
package/esm/control/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export const ScrcpyRotateDeviceControlMessage =
|
|
1
|
+
import { EmptyControlMessage } from "./empty.js";
|
|
2
|
+
export const ScrcpyRotateDeviceControlMessage = EmptyControlMessage;
|
|
3
3
|
//# sourceMappingURL=rotate-device.js.map
|
|
@@ -3,6 +3,7 @@ import type { AndroidKeyEventAction } from "./inject-keycode.js";
|
|
|
3
3
|
import { ScrcpyInjectKeyCodeControlMessage } from "./inject-keycode.js";
|
|
4
4
|
import type { ScrcpyInjectScrollControlMessage } from "./inject-scroll.js";
|
|
5
5
|
import type { ScrcpyInjectTouchControlMessage } from "./inject-touch.js";
|
|
6
|
+
import type { ScrcpySetClipboardControlMessage } from "./set-clipboard.js";
|
|
6
7
|
import type { AndroidScreenPowerMode } from "./set-screen-power-mode.js";
|
|
7
8
|
export declare class ScrcpyControlMessageSerializer {
|
|
8
9
|
#private;
|
|
@@ -23,5 +24,6 @@ export declare class ScrcpyControlMessageSerializer {
|
|
|
23
24
|
expandSettingPanel(): Uint8Array;
|
|
24
25
|
collapseNotificationPanel(): Uint8Array;
|
|
25
26
|
rotateDevice(): Uint8Array;
|
|
27
|
+
setClipboard(message: Omit<ScrcpySetClipboardControlMessage, "type">): Uint8Array | [Uint8Array, Promise<void>];
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=serializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAOzE,qBAAa,8BAA8B;;gBAK3B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAM1C,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;IAStE,UAAU,CAAC,IAAI,EAAE,MAAM;IAOvB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IASlE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IASpE,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAO5C,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;IAS/C,uBAAuB;IAQvB,kBAAkB;IAQlB,yBAAyB;IAQzB,YAAY;
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EAEhB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAOzE,qBAAa,8BAA8B;;gBAK3B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAM1C,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;IAStE,UAAU,CAAC,IAAI,EAAE,MAAM;IAOvB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IASlE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IASpE,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAO5C,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;IAS/C,uBAAuB;IAQvB,kBAAkB;IAQlB,yBAAyB;IAQzB,YAAY;IAMZ,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;CAMvE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EmptyControlMessage } from "./empty.js";
|
|
2
2
|
import { ScrcpyInjectKeyCodeControlMessage } from "./inject-keycode.js";
|
|
3
3
|
import { ScrcpyInjectTextControlMessage } from "./inject-text.js";
|
|
4
4
|
import { ScrcpyRotateDeviceControlMessage } from "./rotate-device.js";
|
|
@@ -47,17 +47,17 @@ export class ScrcpyControlMessageSerializer {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
expandNotificationPanel() {
|
|
50
|
-
return
|
|
50
|
+
return EmptyControlMessage.serialize({
|
|
51
51
|
type: this.#typeValues.get(ScrcpyControlMessageType.ExpandNotificationPanel),
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
expandSettingPanel() {
|
|
55
|
-
return
|
|
55
|
+
return EmptyControlMessage.serialize({
|
|
56
56
|
type: this.#typeValues.get(ScrcpyControlMessageType.ExpandSettingPanel),
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
collapseNotificationPanel() {
|
|
60
|
-
return
|
|
60
|
+
return EmptyControlMessage.serialize({
|
|
61
61
|
type: this.#typeValues.get(ScrcpyControlMessageType.CollapseNotificationPanel),
|
|
62
62
|
});
|
|
63
63
|
}
|
|
@@ -66,5 +66,11 @@ export class ScrcpyControlMessageSerializer {
|
|
|
66
66
|
type: this.#typeValues.get(ScrcpyControlMessageType.RotateDevice),
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
|
+
setClipboard(message) {
|
|
70
|
+
return this.#options.serializeSetClipboardControlMessage({
|
|
71
|
+
...message,
|
|
72
|
+
type: this.#typeValues.get(ScrcpyControlMessageType.SetClipboard),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
69
75
|
}
|
|
70
76
|
//# sourceMappingURL=serializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/control/serializer.ts"],"names":[],"mappings":"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"}
|
package/esm/control/type.js
CHANGED
|
@@ -29,7 +29,7 @@ export class ScrcpyControlMessageTypeValue {
|
|
|
29
29
|
get(type) {
|
|
30
30
|
const value = this.#types.indexOf(type);
|
|
31
31
|
if (value === -1) {
|
|
32
|
-
throw new
|
|
32
|
+
throw new TypeError("Invalid or unsupported control message type");
|
|
33
33
|
}
|
|
34
34
|
return value;
|
|
35
35
|
}
|
package/esm/control/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/control/type.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,6IAA6I;AAI7I,sFAAsF;AACtF,MAAM,CAAN,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAChC,yFAAa,CAAA;IACb,mFAAU,CAAA;IACV,qFAAW,CAAA;IACX,uFAAY,CAAA;IACZ,2FAAc,CAAA;IACd,6GAAuB,CAAA;IACvB,mGAAkB,CAAA;IAClB,iHAAyB,CAAA;IACzB,uFAAY,CAAA;IACZ,uFAAY,CAAA;IACZ,oGAAkB,CAAA;IAClB,wFAAY,CAAA;AAChB,CAAC,EAbW,wBAAwB,KAAxB,wBAAwB,QAanC;AAED;;;;GAIG;AACH,MAAM,OAAO,6BAA6B;IACtC,MAAM,CAAsC;IAE5C,YAAY,OAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,IAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/control/type.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,6IAA6I;AAI7I,sFAAsF;AACtF,MAAM,CAAN,IAAY,wBAaX;AAbD,WAAY,wBAAwB;IAChC,yFAAa,CAAA;IACb,mFAAU,CAAA;IACV,qFAAW,CAAA;IACX,uFAAY,CAAA;IACZ,2FAAc,CAAA;IACd,6GAAuB,CAAA;IACvB,mGAAkB,CAAA;IAClB,iHAAyB,CAAA;IACzB,uFAAY,CAAA;IACZ,uFAAY,CAAA;IACZ,oGAAkB,CAAA;IAClB,wFAAY,CAAA;AAChB,CAAC,EAbW,wBAAwB,KAAxB,wBAAwB,QAanC;AAED;;;;GAIG;AACH,MAAM,OAAO,6BAA6B;IACtC,MAAM,CAAsC;IAE5C,YAAY,OAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,IAA8B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,eAAe,CACX,OAAwB,EACxB,IAAe;QAEd,OAAa,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,OAAY,CAAC;IACxB,CAAC;CACJ"}
|
package/esm/control/writer.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WritableStreamDefaultWriter } from "@yume-chan/stream-extra";
|
|
2
|
+
import { Consumable } from "@yume-chan/stream-extra";
|
|
2
3
|
import type { ScrcpyOptions } from "../options/index.js";
|
|
3
4
|
import type { AndroidKeyEventAction, ScrcpyInjectKeyCodeControlMessage } from "./inject-keycode.js";
|
|
4
5
|
import type { ScrcpyInjectScrollControlMessage } from "./inject-scroll.js";
|
|
5
6
|
import type { ScrcpyInjectTouchControlMessage } from "./inject-touch.js";
|
|
7
|
+
import type { ScrcpySetClipboardControlMessage } from "./set-clipboard.js";
|
|
6
8
|
import type { AndroidScreenPowerMode } from "./set-screen-power-mode.js";
|
|
7
9
|
export declare class ScrcpyControlMessageWriter {
|
|
8
10
|
#private;
|
|
@@ -24,6 +26,7 @@ export declare class ScrcpyControlMessageWriter {
|
|
|
24
26
|
expandSettingPanel(): Promise<void>;
|
|
25
27
|
collapseNotificationPanel(): Promise<void>;
|
|
26
28
|
rotateDevice(): Promise<void>;
|
|
29
|
+
setClipboard(message: Omit<ScrcpySetClipboardControlMessage, "type">): Promise<void>;
|
|
27
30
|
releaseLock(): void;
|
|
28
31
|
close(): Promise<void>;
|
|
29
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EACR,qBAAqB,EACrB,iCAAiC,EACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,qBAAa,0BAA0B;;gBAK/B,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAC3D,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAM5B,KAAK,CAAC,OAAO,EAAE,UAAU;IAIzB,aAAa,CACf,OAAO,EAAE,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;IAKtD,UAAU,CAAC,IAAI,EAAE,MAAM;IAI7B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IAIxE;;OAEG;IACG,YAAY,CACd,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAQrD,cAAc,CAAC,MAAM,EAAE,qBAAqB;IAO5C,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;IAI/C,uBAAuB;IAIvB,kBAAkB;IAIlB,yBAAyB;IAIzB,YAAY;IAIZ,YAAY,CACd,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAW3D,WAAW;IAIL,KAAK;CAGd"}
|
package/esm/control/writer.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Consumable } from "@yume-chan/stream-extra";
|
|
2
2
|
import { ScrcpyControlMessageSerializer } from "./serializer.js";
|
|
3
3
|
export class ScrcpyControlMessageWriter {
|
|
4
4
|
#writer;
|
|
@@ -8,7 +8,7 @@ export class ScrcpyControlMessageWriter {
|
|
|
8
8
|
this.#serializer = new ScrcpyControlMessageSerializer(options);
|
|
9
9
|
}
|
|
10
10
|
async write(message) {
|
|
11
|
-
await
|
|
11
|
+
await Consumable.WritableStream.write(this.#writer, message);
|
|
12
12
|
}
|
|
13
13
|
async injectKeyCode(message) {
|
|
14
14
|
await this.write(this.#serializer.injectKeyCode(message));
|
|
@@ -52,6 +52,16 @@ export class ScrcpyControlMessageWriter {
|
|
|
52
52
|
async rotateDevice() {
|
|
53
53
|
await this.write(this.#serializer.rotateDevice());
|
|
54
54
|
}
|
|
55
|
+
async setClipboard(message) {
|
|
56
|
+
const result = this.#serializer.setClipboard(message);
|
|
57
|
+
if (result instanceof Uint8Array) {
|
|
58
|
+
await this.write(result);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
await this.write(result[0]);
|
|
62
|
+
await result[1];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
55
65
|
releaseLock() {
|
|
56
66
|
this.#writer.releaseLock();
|
|
57
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/control/writer.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
CHANGED
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
package/esm/index.js
CHANGED
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { NumberFieldVariant } from "@yume-chan/struct";
|
|
2
|
+
import { NumberFieldDefinition } from "@yume-chan/struct";
|
|
3
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
4
|
+
export declare const ScrcpyUnsignedFloatNumberVariant: NumberFieldVariant;
|
|
5
|
+
export declare const ScrcpyUnsignedFloatFieldDefinition: NumberFieldDefinition<NumberFieldVariant, number>;
|
|
6
|
+
//# sourceMappingURL=float.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"float.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/float.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED,eAAO,MAAM,gCAAgC,EAAE,kBAc9C,CAAC;AAEF,eAAO,MAAM,kCAAkC,mDAE9C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getUint16 } from "@yume-chan/no-data-view";
|
|
2
|
+
import { NumberFieldDefinition } from "@yume-chan/struct";
|
|
2
3
|
export function clamp(value, min, max) {
|
|
3
4
|
if (value < min) {
|
|
4
5
|
return min;
|
|
@@ -8,11 +9,11 @@ export function clamp(value, min, max) {
|
|
|
8
9
|
}
|
|
9
10
|
return value;
|
|
10
11
|
}
|
|
11
|
-
export const
|
|
12
|
+
export const ScrcpyUnsignedFloatNumberVariant = {
|
|
12
13
|
size: 2,
|
|
13
14
|
signed: false,
|
|
14
15
|
deserialize(array, littleEndian) {
|
|
15
|
-
const value =
|
|
16
|
+
const value = getUint16(array, 0, littleEndian);
|
|
16
17
|
// https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/server/src/main/java/com/genymobile/scrcpy/Binary.java#L22
|
|
17
18
|
return value === 0xffff ? 1 : value / 0x10000;
|
|
18
19
|
},
|
|
@@ -20,8 +21,8 @@ export const ScrcpyFloatToUint16NumberType = {
|
|
|
20
21
|
// https://github.com/Genymobile/scrcpy/blob/1f138aef41de651668043b32c4effc2d4adbfc44/app/src/util/binary.h#L51
|
|
21
22
|
value = clamp(value, -1, 1);
|
|
22
23
|
value = value === 1 ? 0xffff : value * 0x10000;
|
|
23
|
-
|
|
24
|
+
dataView.setUint16(offset, value, littleEndian);
|
|
24
25
|
},
|
|
25
26
|
};
|
|
26
|
-
export const
|
|
27
|
-
//# sourceMappingURL=float
|
|
27
|
+
export const ScrcpyUnsignedFloatFieldDefinition = new NumberFieldDefinition(ScrcpyUnsignedFloatNumberVariant);
|
|
28
|
+
//# sourceMappingURL=float.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"float.js","sourceRoot":"","sources":["../../../src/options/1_16/float.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACzD,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACd,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAuB;IAChE,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,KAAK;IACb,WAAW,CAAC,KAAK,EAAE,YAAY;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAChD,gJAAgJ;QAChJ,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;IAClD,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY;QAC3C,+GAA+G;QAC/G,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,IAAI,qBAAqB,CACvE,gCAAgC,CACnC,CAAC"}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/options/1_16/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
@@ -29,4 +29,8 @@ export declare const ScrcpySetClipboardControlMessage1_15: Struct<{
|
|
|
29
29
|
content: string;
|
|
30
30
|
}, "length", Record<never, never>, undefined>;
|
|
31
31
|
export type ScrcpySetClipboardControlMessage1_15 = (typeof ScrcpySetClipboardControlMessage1_15)["TInit"];
|
|
32
|
+
export declare const ScrcpyClipboardDeviceMessage: Struct<{
|
|
33
|
+
length: number;
|
|
34
|
+
content: string;
|
|
35
|
+
}, "length", Record<never, never>, undefined>;
|
|
32
36
|
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +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"}
|
|
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;AAE3D,eAAO,MAAM,4BAA4B;;;6CAEQ,CAAC"}
|